:root{--primary: #2563EB;--primary-hover: #1D4ED8;--accent: #22C55E;--accent-hover: #16A34A;--danger: #EF4444;--danger-hover: #DC2626;--bg-gradient: linear-gradient(135deg, #f0f4f8 0%, #d9e2ec 100%);--card-bg: rgba(255, 255, 255, .6);--card-bg-darkHover: rgba(255, 255, 255, .8);--card-border: rgba(255, 255, 255, .5);--text-main: #102A43;--text-muted: #486581;--text-light: #F0F4F8;--input-bg: rgba(255, 255, 255, .7);--input-border: rgba(255, 255, 255, .4);--border-radius: 20px;--border-radius-sm: 8px;--transition: all .3s cubic-bezier(.25, .8, .25, 1)}body.dark-mode{--bg-gradient: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);--card-bg: rgba(30, 41, 59, .6);--card-bg-darkHover: rgba(30, 41, 59, .8);--card-border: rgba(255, 255, 255, .05);--text-main: #f8fafc;--text-muted: #94a3b8;--input-bg: rgba(15, 23, 42, .5);--input-border: rgba(255, 255, 255, .1)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,sans-serif;background:var(--bg-gradient);color:var(--text-main);min-height:100vh;overflow-x:hidden;transition:background .5s ease,color .5s ease;position:relative;padding-bottom:3rem}h1,h2,h3,h4,h5,h6{font-family:Poppins,sans-serif;color:var(--text-main)}.background-shapes{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:-1;overflow:hidden;pointer-events:none}.shape{position:absolute;filter:blur(100px);border-radius:50%;opacity:.6;animation:float 20s infinite alternate ease-in-out}.shape-1{top:-10%;left:-10%;width:50vw;height:50vw;max-width:500px;max-height:500px;background:var(--primary)}.shape-2{bottom:-10%;right:-10%;width:60vw;height:60vw;max-width:600px;max-height:600px;background:var(--accent);animation-delay:-5s;animation-direction:alternate-reverse}.shape-3{top:40%;left:40%;width:40vw;height:40vw;max-width:400px;max-height:400px;background:#8b5cf6;animation-delay:-10s}@keyframes float{0%{transform:translate(0) scale(1)}33%{transform:translate(30px,-50px) scale(1.1)}66%{transform:translate(-20px,20px) scale(.9)}to{transform:translate(0) scale(1)}}.glass{background:var(--card-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--card-border);box-shadow:0 8px 32px #0000000d}.glass-dark{background:#00000008;border-radius:var(--border-radius);padding:1.5rem;border:1px solid var(--card-border)}body.dark-mode .glass-dark{background:#0003}.container{max-width:1100px;margin:0 auto;padding:2rem 1rem}.text-danger{color:var(--danger)!important}.text-accent{color:var(--accent)!important}button{cursor:pointer;font-family:Poppins,sans-serif;font-weight:500;border:none;outline:none;transition:var(--transition)}.primary-btn{background:var(--primary);color:#fff;padding:.8rem 1.5rem;border-radius:var(--border-radius-sm);font-size:1rem;box-shadow:0 4px 14px #2563eb4d;position:relative;overflow:hidden;display:flex;justify-content:center;align-items:center;gap:.5rem}.primary-btn:hover{background:var(--primary-hover);transform:translateY(-2px);box-shadow:0 8px 24px #2563eb66}.primary-btn:active{transform:translateY(0)}.secondary-btn{background:transparent;color:var(--text-main);border:1px solid var(--input-border);padding:.8rem 1.5rem;border-radius:var(--border-radius-sm);font-size:1rem;display:flex;justify-content:center;align-items:center;gap:.5rem}.secondary-btn:hover{background:var(--card-bg-darkHover);transform:translateY(-2px);box-shadow:0 4px 12px #0000000d}.icon-btn{background:transparent;color:var(--text-main);font-size:1.25rem;padding:.5rem;border-radius:50%;width:44px;height:44px;display:flex;align-items:center;justify-content:center}.icon-btn:hover{background:#102a431a;transform:scale(1.05)}body.dark-mode .icon-btn:hover{background:#ffffff1a}.copy-btn{background:transparent;color:var(--text-muted);font-size:1.1rem;line-height:1;padding:.5rem;position:absolute;right:5px;top:50%;transform:translateY(-50%);border-radius:4px}.copy-btn:hover{color:var(--primary);transform:translateY(-50%) scale(1.1)}.w-full{width:100%}.w-half{width:48%}.mt-2{margin-top:1rem}.mt-4{margin-top:2rem}.navbar{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;position:sticky;top:0;z-index:100;border-radius:0 0 var(--border-radius) var(--border-radius);border-top:none;border-left:none;border-right:none;margin-bottom:2rem}.logo{font-size:1.5rem;font-family:Poppins,sans-serif;font-weight:700;display:flex;align-items:center;gap:.5rem;color:var(--primary)}.hero-section{text-align:center;padding:2rem 1rem 4rem;max-width:800px;margin:0 auto}.hero-title{font-size:2.8rem;line-height:1.2;margin-bottom:1rem;background:linear-gradient(90deg,var(--primary),#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;font-weight:700;letter-spacing:-.5px}.hero-subtitle{font-size:1.15rem;color:var(--text-muted);margin-bottom:2rem;line-height:1.6}.card{border-radius:var(--border-radius);padding:2.5rem;margin-bottom:2rem;transition:var(--transition)}.card:hover{box-shadow:0 15px 40px #00000014;border-color:#2563eb33}.card-header{display:flex;margin-bottom:2rem;justify-content:space-between;align-items:center}.card-header h2{font-size:1.5rem;display:flex;gap:.6rem;align-items:center}.card-header h2 i{color:var(--primary)}.grid{display:grid;grid-template-columns:1fr;gap:2rem}@media(min-width:900px){.grid{grid-template-columns:1fr 1.2fr}}.converter-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem 1.5rem}.input-group{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.input-group label{font-size:.9rem;font-weight:500;color:var(--text-muted)}.input-wrapper{position:relative}input{width:100%;padding:.8rem 3rem .8rem 1rem;border:1px solid var(--input-border);border-radius:var(--border-radius-sm);background:var(--input-bg);color:var(--text-main);font-size:1rem;font-family:Inter,sans-serif;transition:var(--transition);box-shadow:inset 0 2px 4px #00000005}input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px #2563eb26;background:var(--card-bg-darkHover)}input::placeholder,textarea::placeholder{color:var(--text-muted);opacity:.6}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}textarea{width:100%;padding:.8rem 1rem;border:1px solid var(--input-border);border-radius:var(--border-radius-sm);background:var(--input-bg);color:var(--text-main);font-size:1rem;font-family:Inter,sans-serif;transition:var(--transition);resize:vertical}textarea:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 4px #2563eb26;background:var(--card-bg-darkHover)}.estimator-layout{display:flex;flex-direction:column;gap:2rem}.estimator-inputs{flex:1;display:grid;grid-template-columns:1fr;gap:.5rem}@media(min-width:600px){.estimator-inputs{grid-template-columns:1fr 1fr;gap:.5rem 1rem}.estimator-inputs .input-group:nth-child(1),.estimator-inputs .input-group:nth-child(2){grid-column:span 2}}.estimator-summary{flex:1;display:flex;flex-direction:column;gap:1rem}.estimator-summary h3{font-size:1.25rem;margin-bottom:.5rem;padding-bottom:.5rem;border-bottom:1px solid var(--input-border)}.summary-line{display:flex;justify-content:space-between;font-size:1rem;color:var(--text-muted);padding:.25rem 0}.summary-line span:last-child{font-weight:600;color:var(--text-main)}.summary-line.text-danger span:last-child{color:var(--danger)}.summary-total{display:flex;justify-content:space-between;align-items:center;margin-top:1rem;padding-top:1.5rem;border-top:2px dashed var(--input-border);font-size:1.25rem;font-weight:700;color:var(--text-main)}.highlight-total{color:var(--accent)!important;font-size:1.6rem;background:linear-gradient(90deg,var(--accent),#10b981);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.summary-actions{margin-top:1.5rem;display:flex;flex-direction:column;gap:1rem}.action-row{display:flex;justify-content:space-between;gap:1rem}.reveal{opacity:0;transform:translateY(30px);transition:all .8s cubic-bezier(.25,.8,.25,1)}.reveal.active{opacity:1;transform:translateY(0)}.flash-text{animation:flash .4s ease-out}@keyframes flash{0%{color:var(--primary);transform:scale(1.02)}to{transform:scale(1)}}.table-responsive{overflow-x:auto}.estimates-table{width:100%;border-collapse:collapse;min-width:700px}.estimates-table th,.estimates-table td{padding:1rem;text-align:left;border-bottom:1px solid var(--input-border)}.estimates-table th{font-weight:600;color:var(--text-muted);font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.estimates-table td{font-size:.95rem}.estimates-table tbody tr{transition:var(--transition)}.estimates-table tbody tr:hover{background:#00000008}body.dark-mode .estimates-table tbody tr:hover{background:#ffffff08}.empty-state{text-align:center;padding:3rem 2rem;color:var(--text-muted)}.modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0009;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:999;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:var(--transition)}.modal-overlay.active{opacity:1;pointer-events:auto}.modal{width:90%;max-width:550px;padding:2.5rem;border-radius:var(--border-radius);transform:translateY(30px) scale(.95);transition:var(--transition);max-height:90vh;overflow-y:auto;box-shadow:0 25px 50px -12px #00000040}.modal-overlay.active .modal{transform:translateY(0) scale(1)}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.modal-header h3{font-size:1.5rem}.close-modal,.close-view-modal{background:none;border:none;font-size:1.5rem;color:var(--text-muted);cursor:pointer}.close-modal:hover,.close-view-modal:hover{color:var(--danger);transform:rotate(90deg)}.view-detail-row{display:flex;justify-content:space-between;margin-bottom:.8rem;border-bottom:1px solid var(--input-border);padding-bottom:.4rem}.view-detail-row:last-child{border-bottom:none}.view-detail-label{color:var(--text-muted);font-weight:500}.view-detail-value{font-weight:600;text-align:right;max-width:60%;word-break:break-word}@media print{body{background:#fff!important;color:#000!important}.background-shapes,.navbar,.hero-section,#converter,.action-row,.modal-header .close-view-modal,button{display:none!important}#view-modal{position:static;background:transparent;display:block;opacity:1;pointer-events:auto}.modal{box-shadow:none;max-width:100%;border:none;padding:0}}@media(max-width:600px){.converter-grid{grid-template-columns:1fr}.hero-title{font-size:2.2rem}.hero-subtitle{font-size:1rem}.navbar{padding:1rem;margin-bottom:1rem}.card{padding:1.5rem}}
