@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&display=swap";:root{--bg-color:#020617;--bg-grad-1:#7c3aed66;--bg-grad-2:#0ea5e966;--bg-grad-3:#ec489933;--glass-bg:#ffffff08;--glass-border:#ffffff14;--glass-highlight:#ffffff26;--text-main:#f8fafc;--text-muted:#94a3b8;--accent:#38bdf8;--accent-glow:#38bdf866;--panel-shadow:0 25px 50px -12px #00000080;--input-bg:#ffffff14;--input-border:#fff3;--input-text:#fff;--input-focus-bg:#ffffff26;--input-focus-ring:#38bdf826;--input-placeholder:#fff6;--select-bg:#0f172a;--select-text:#fff;--heading-grad-1:#fff;--heading-grad-2:#cbd5e1;--label-color:#e2e8f0;--insight-bg:#ffffff0d;--insight-border:#ffffff1a;--insight-val:#fff;--checkbox-bg:#0003;--checkbox-check:#fff;--line-cost:#fff;--line-muted:#64748b;--total-amount:#fff;--total-shadow:0 0 30px #fff3;--amber-text:#fcd34d;--amber-bg:#fcd34d1a;--blue-text:#60a5fa;--blue-bg:#60a5fa1a;--green-text:#34d399;--green-bg:#34d3991a;--radius-xl:24px;--radius-lg:16px;--radius-md:12px}[data-theme=light]{--bg-color:#f1f5f9;--bg-grad-1:#7c3aed26;--bg-grad-2:#0ea5e926;--bg-grad-3:#ec48991a;--glass-bg:#ffffffa6;--glass-border:#ffffff80;--glass-highlight:#fffc;--text-main:#0f172a;--text-muted:#475569;--accent:#0284c7;--accent-glow:#0284c766;--panel-shadow:0 20px 40px -10px #0000001a;--input-bg:#ffffffe6;--input-border:#00000026;--input-text:#0f172a;--input-focus-bg:#fff;--input-focus-ring:#0284c726;--input-placeholder:#0f172a66;--select-bg:#fff;--select-text:#0f172a;--heading-grad-1:#0f172a;--heading-grad-2:#334155;--label-color:#334155;--insight-bg:#ffffff80;--insight-border:#0000000d;--insight-val:#0f172a;--checkbox-bg:#fffc;--checkbox-check:#fff;--line-cost:#0f172a;--line-muted:#94a3b8;--total-amount:#0f172a;--total-shadow:none;--amber-text:#d97706;--amber-bg:#f59e0b26;--blue-text:#2563eb;--blue-bg:#3b82f626;--green-text:#059669;--green-bg:#10b98126}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);background-image:radial-gradient(circle at 15% 10%, var(--bg-grad-1) 0%, transparent 40%), radial-gradient(circle at 85% 20%, var(--bg-grad-2) 0%, transparent 40%), radial-gradient(circle at 50% 80%, var(--bg-grad-3) 0%, transparent 50%);color:var(--text-main);-webkit-font-smoothing:antialiased;background-attachment:fixed;justify-content:center;min-height:100vh;padding:1vw 5vw;font-family:Outfit,sans-serif;transition:background-color .5s,color .5s;display:flex}.app-container{flex-direction:column;gap:1.5rem;width:100%;max-width:1280px;display:flex}.top-bar{border-bottom:1px solid var(--glass-border);justify-content:space-between;align-items:flex-end;padding-bottom:1rem;animation:.8s ease-out forwards fadeInDown;display:flex}.brand-section{flex-direction:column;align-items:flex-start;gap:.5rem;display:flex}.brand-logo{filter:invert()hue-rotate(180deg)brightness(.8);width:auto;height:48px;transition:filter .5s}[data-theme=light] .brand-logo{filter:brightness(.8)}.brand-section h1{letter-spacing:-.02em;background:linear-gradient(135deg, var(--heading-grad-1) 0%, var(--heading-grad-2) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:.25rem;font-size:2rem;font-weight:700}.brand-section p{color:var(--text-muted);font-size:.875rem;font-weight:300}.meta-info{text-align:right;color:var(--text-muted);flex-direction:column;align-items:flex-end;font-size:.8125rem;font-weight:300;display:flex}.theme-toggle{color:var(--text-muted);cursor:pointer;background:0 0;background:var(--glass-bg);border:none;border:1px solid var(--glass-border);border-radius:50%;justify-content:center;align-items:center;margin-top:.5rem;padding:.5rem;transition:color .2s,transform .2s;display:inline-flex}.theme-toggle:hover{color:var(--text-main);transform:scale(1.05)}.w-5{width:1.25rem}.h-5{height:1.25rem}.main-content{grid-template-columns:1fr 480px;align-items:start;gap:2rem;display:grid}@media (width<=1024px){.main-content{grid-template-columns:1fr}}.glass-panel{background:var(--glass-bg);-webkit-backdrop-filter:blur(24px);border:1px solid var(--glass-border);border-radius:var(--radius-xl);box-shadow:var(--panel-shadow);padding:1.5rem 2rem;transition:background .5s,border-color .5s,box-shadow .5s}.panel-title{color:var(--panel-title-color);align-items:center;gap:.5rem;margin-bottom:1rem;font-size:1rem;font-weight:500;display:flex}.panel-title:before{content:"";background:var(--accent);width:6px;height:6px;box-shadow:0 0 10px var(--accent-glow);border-radius:50%;display:block}.form-section{flex-direction:column;gap:1.25rem;display:flex}.input-row{grid-template-columns:1fr 1fr;gap:1.25rem;display:grid}.form-group{flex-direction:column;gap:.5rem;display:flex}.form-group label{color:var(--label-color);font-size:.875rem;font-weight:400}input[type=number],input[type=text],input[type=email],input[type=password],select{width:100%;color:var(--input-text);background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-md);outline:none;padding:.875rem 1rem;font-family:inherit;font-size:1rem;font-weight:500;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:inset 0 2px 4px #0000000d}select option{background:var(--select-bg);color:var(--select-text)}input[type=number]:focus,select:focus{background:var(--input-focus-bg);border-color:var(--accent);box-shadow:0 0 0 4px var(--input-focus-ring)}input::placeholder{color:var(--input-placeholder)}select:disabled{opacity:.5;cursor:not-allowed}.dimensions-container{grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:.75rem;display:grid}.dim-sep{color:var(--text-muted);padding-top:0;font-weight:400}.section-divider{background:var(--glass-border);height:1px;margin:.5rem 0}.insight-box{background:var(--insight-bg);border:1px solid var(--insight-border);border-radius:var(--radius-md);justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.insight-val{color:var(--insight-val);font-size:1.5rem;font-weight:600}.insight-unit{color:var(--text-muted);font-size:1rem;font-weight:300}.badge{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:2rem;padding:.375rem .875rem;font-size:.8125rem;font-weight:500}.badge.cbm{background:var(--blue-bg);color:var(--blue-text);border:1px solid var(--blue-bg)}.badge.weight{background:var(--green-bg);color:var(--green-text);border:1px solid var(--green-bg)}.checkbox-wrap{cursor:pointer;align-items:center;gap:1rem;padding:.5rem 0;display:flex}.checkbox-wrap input[type=checkbox]{appearance:none;border:1px solid var(--glass-border);background:var(--checkbox-bg);cursor:pointer;border-radius:6px;width:1.5rem;height:1.5rem;transition:all .2s;position:relative}.checkbox-wrap input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent)}.checkbox-wrap input[type=checkbox]:checked:after{content:"✓";color:var(--checkbox-check);font-size:14px;font-weight:700;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.checkbox-label{color:var(--text-main);font-size:1rem;font-weight:400}.results-panel{flex-direction:column;gap:2rem;display:flex;position:sticky;top:3vw}.results-header{margin-bottom:2rem}.results-header h2{color:var(--panel-title-color);margin-bottom:.5rem;font-size:1.5rem;font-weight:600}.results-meta{color:var(--text-muted);font-size:.875rem;font-weight:300}.pricing-lines{flex-direction:column;gap:.875rem;display:flex}.line{justify-content:space-between;align-items:center;font-size:.9375rem;display:flex}.line-name{color:var(--text-muted);font-weight:400}.line-cost{color:var(--line-cost);font-variant-numeric:tabular-nums;font-weight:500}.line.highlight .line-cost{color:var(--amber-text)}.line.muted .line-name,.line.muted .line-cost{color:var(--line-muted)}.total-wrapper{border-top:1px solid var(--glass-border);justify-content:space-between;align-items:flex-end;margin-top:.5rem;padding-top:1.5rem;display:flex}.total-title{color:var(--text-muted);font-size:1rem}.total-amount{color:var(--total-amount);text-shadow:var(--total-shadow);font-variant-numeric:tabular-nums;font-size:2.25rem;font-weight:700;line-height:1}.state-container{text-align:center;height:250px;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;display:flex}.state-icon{opacity:.5;margin-bottom:1rem;font-size:3rem}.loader{border:3px solid var(--glass-border);border-top-color:var(--accent);border-radius:50%;width:40px;height:40px;margin-bottom:1.5rem;animation:1s linear infinite spin}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}.fade-in{animation:.5s ease-out forwards fadeInDown}.terms-mini{color:var(--text-muted);opacity:.6;margin-top:1.5rem;font-size:.6875rem;line-height:1.5}.terms-section{margin-top:.5rem;padding:1.5rem 2rem}.terms-title{color:var(--text-muted);letter-spacing:.05em;text-transform:uppercase;margin-bottom:1rem;font-size:.8125rem;font-weight:600}.terms-list{flex-direction:column;gap:.625rem;list-style:none;display:flex}.terms-list li{color:var(--text-muted);padding-left:1rem;font-size:.8125rem;line-height:1.5;position:relative}.terms-list li:before{content:"•";color:var(--accent);position:absolute;left:0}.terms-list li.terms-highlight{color:var(--text-main);font-weight:600}.login-container{justify-content:center;align-items:center;width:100%;min-height:90vh;display:flex}.auth-card-wrapper{flex-direction:column;gap:1rem;width:100%;max-width:440px;display:flex}.auth-card{padding:2.25rem 2rem;animation:.6s cubic-bezier(.16,1,.3,1) slideUp}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.auth-header{text-align:center;margin-bottom:2rem}.auth-header h2{background:linear-gradient(135deg, var(--heading-grad-1) 0%, var(--heading-grad-2) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:.5rem;font-size:1.75rem;font-weight:700}.auth-header p{color:var(--text-muted);font-size:.875rem;font-weight:300}.auth-card .form-group label{color:var(--label-color);margin-bottom:.5rem;font-weight:500;display:block}.auth-card input{background:var(--input-bg);border-radius:var(--radius-md);padding:1rem;transition:border-color .2s,box-shadow .2s}.auth-card input:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--input-focus-ring)}.auth-btn{background:var(--accent);color:#fff;border-radius:var(--radius-md);cursor:pointer;border:none;width:100%;margin-top:1rem;padding:1rem;font-weight:600;transition:all .3s}.auth-btn:hover{filter:brightness(1.1);box-shadow:0 8px 20px var(--accent-glow);transform:translateY(-1px)}.auth-btn:active{transform:translateY(0)}.auth-error{color:#fca5a5;background:#f871711a;border-left:3px solid #f87171;border-radius:4px;margin:1rem 0;padding:.75rem 1rem;font-size:.8125rem}[data-theme=light] .auth-error{color:#b91c1c;background:#f871710d}.auth-footer{text-align:center;margin-top:2rem}.auth-footer button{color:var(--accent);cursor:pointer;opacity:.8;background:0 0;border:none;font-size:.9375rem;font-weight:500;transition:opacity .2s}.auth-footer button:hover{opacity:1;text-decoration:underline}[data-theme=light] .auth-card input{background:#fff}.auth-success{color:#86efac;background:#22c55e1a;border-left:3px solid #22c55e;border-radius:4px;margin:1rem 0;padding:.75rem 1rem;font-size:.8125rem}[data-theme=light] .auth-success{color:#15803d;background:#22c55e0d}.modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;background:#0009;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-content{animation:.4s cubic-bezier(.16,1,.3,1) modalPop;position:relative}@keyframes modalPop{0%{opacity:0;transform:scale(.9)translateY(20px)}to{opacity:1;transform:scale(1)translateY(0)}}.primary-btn{background:var(--accent);color:#fff;border-radius:var(--radius-md);cursor:pointer;border:none;padding:1rem 1.75rem;font-weight:600;transition:all .2s}.secondary-btn{background:var(--input-bg);color:var(--text-main);border:1px solid var(--glass-border);border-radius:var(--radius-md);cursor:pointer;padding:1rem 1.75rem;font-weight:500}.primary-btn:hover{filter:brightness(1.1);transform:translateY(-1px)}.secondary-btn:hover{background:var(--input-focus-bg)}.primary-btn:disabled{opacity:.6;cursor:not-allowed}.modal-content textarea{background:var(--input-bg);border:1px solid var(--input-border);width:100%;color:var(--input-text);outline:none;font-family:inherit;font-size:.875rem;transition:all .3s}.modal-content textarea:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--input-focus-ring)}
