:root{--bg: #0f172a;--surface: rgba(255, 255, 255, .94);--text: #0f172a;--muted: #64748b;--border: #d1d9e6;--primary: #2563eb;--primary-dark: #1d4ed8;--secondary: #0ea5e9;--danger: #ef4444;--sidebar: #0b1220;--sidebar-hover: #151e32;--shadow: 0 24px 60px rgb(11 18 32 / 12%);--radius: 16px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--text);background:var(--bg)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 0% 0%,rgb(37 99 235 / .4) 0%,transparent 45%),radial-gradient(circle at 100% 0%,rgb(14 165 233 / .35) 0%,transparent 45%),radial-gradient(circle at 100% 100%,rgb(16 185 129 / .25) 0%,transparent 40%),radial-gradient(circle at 30% 70%,rgb(99 102 241 / .3) 0%,transparent 40%),linear-gradient(135deg,#0b1220,#0f172a,#1e293b);background-attachment:fixed;position:relative}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle at 20% 80%,rgb(37 99 235 / .15) 0%,transparent 25%),radial-gradient(circle at 80% 20%,rgb(14 165 233 / .12) 0%,transparent 25%);animation:bgMove 20s ease-in-out infinite;pointer-events:none;z-index:-1}@keyframes bgMove{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}button{font:inherit}.loading-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:var(--muted)}.spinner{width:40px;height:40px;border:3px solid #e2e8f0;border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.app-shell{min-height:100vh;display:grid;place-items:center;padding:48px 20px}.panel{width:min(680px,100%);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:clamp(28px,6vw,56px);box-shadow:var(--shadow)}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:40px 20px;background:radial-gradient(circle at 20% 30%,rgb(37 99 235 / .45) 0%,transparent 35%),radial-gradient(circle at 80% 70%,rgb(14 165 233 / .4) 0%,transparent 35%),radial-gradient(circle at 50% 50%,rgb(99 102 241 / .25) 0%,transparent 50%),linear-gradient(135deg,#0b1220,#0f172a,#1e293b);background-attachment:fixed;position:relative}.auth-shell:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle at 10% 90%,rgb(37 99 235 / .25) 0%,transparent 30%),radial-gradient(circle at 90% 10%,rgb(14 165 233 / .2) 0%,transparent 30%);animation:bgMove 18s ease-in-out infinite;pointer-events:none}.auth-card{width:min(440px,100%);background:#fffffff2;border:1px solid rgba(255,255,255,.7);border-radius:var(--radius);padding:44px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.auth-logo{width:260px;max-width:100%;height:auto;margin-bottom:32px;animation:logoFloat 4s ease-in-out infinite}@keyframes logoFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.auth-card h1{margin:0 0 10px;font-size:1.85rem}.auth-subtitle{margin:0 0 28px;color:var(--muted)}.auth-form{display:flex;flex-direction:column;gap:20px}.field{display:flex;flex-direction:column;gap:7px}.field span{font-size:.85rem;font-weight:600;color:var(--text)}.input,input[type=text],input[type=email],input[type=password],input[type=number],input[type=month],input[type=date],select{padding:12px 16px;border:1px solid var(--border);border-radius:12px;font-size:1rem;background:#fff;color:var(--text);outline:none;transition:border-color .2s,box-shadow .2s,transform .1s}.input:focus,input:focus,select:focus{border-color:var(--primary);box-shadow:0 0 0 4px #2563eb1a}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;border:none;border-radius:12px;font-weight:700;font-size:.95rem;cursor:pointer;transition:transform .15s,box-shadow .2s,filter .15s;box-shadow:0 4px 14px #0b12201a}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.btn-primary{background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#3b82f6,#1e40af);transform:translateY(-2px);box-shadow:0 8px 22px #2563eb59}.btn-secondary{background:#fff;color:var(--primary-dark);border:1px solid var(--border)}.btn-secondary:hover:not(:disabled){background:#eff6ff;color:#1e40af;border-color:var(--primary);transform:translateY(-2px);box-shadow:0 8px 20px #0b12201a}.btn-danger{background:linear-gradient(135deg,#f87171,var(--danger));color:#fff}.btn-danger:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 22px #ef444459}.btn-sm{padding:8px 14px;font-size:.85rem;border-radius:10px}.auth-message{padding:14px;border-radius:12px;background:#eff6ff;color:var(--primary-dark);font-size:.9rem}.auth-toggle{margin-top:20px;text-align:center;font-size:.9rem;color:var(--muted)}.link{background:none;border:none;color:var(--primary-dark);font-weight:600;cursor:pointer;padding:0}.dashboard{min-height:100vh;display:flex}.sidebar{width:270px;background:var(--sidebar);color:#fff;display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0;z-index:20;transform:translate(-100%);transition:transform .25s ease;box-shadow:8px 0 40px #0003}.sidebar-open .sidebar{transform:translate(0)}.sidebar-brand{padding:30px 26px;border-bottom:1px solid rgba(255,255,255,.08);cursor:pointer;transition:opacity .2s}.sidebar-brand:hover{opacity:.85}.sidebar-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000007f;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:15;animation:fadeIn .2s ease}.sidebar-logo{width:190px;height:auto}.sidebar-nav{display:flex;flex-direction:column;padding:18px 14px;gap:8px;flex:1;min-height:0;overflow-y:auto}.sidebar-nav button{display:flex;align-items:center;gap:14px;padding:14px 16px;border:none;border-radius:12px;background:transparent;color:#94a3b8;font-weight:600;text-align:left;cursor:pointer;transition:all .2s}.sidebar-nav button:hover,.sidebar-nav button.active{background:var(--sidebar-hover);color:#fff}.sidebar-nav button.active{background:linear-gradient(135deg,var(--primary),var(--primary-dark));box-shadow:0 4px 18px #2563eb59}.sidebar-nav .icon{font-size:1.1rem;width:24px;text-align:center}.dashboard-body{flex:1;margin-left:0;display:flex;flex-direction:column;min-width:0}.topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 28px;background:#0f172ab8;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.08);box-shadow:0 4px 20px #0003}.topbar .username{color:#fff}.menu-toggle{background:#ffffff1a;border:1px solid rgba(255,255,255,.15);border-radius:12px;width:42px;height:42px;font-size:1.2rem;cursor:pointer;color:#fff;transition:all .15s}.menu-toggle:hover{background:#fff3;transform:scale(1.05)}.user{display:flex;align-items:center;gap:16px}.username{font-weight:700;color:var(--text)}.dashboard-main{flex:1;padding:28px 24px 48px;max-width:1100px;width:100%;margin:0 auto}.tab-content{display:flex;flex-direction:column;gap:24px;animation:fadeIn .3s ease}.tab-content>h2{color:#fff;font-size:1.8rem;font-weight:800;margin:0;text-shadow:0 4px 20px rgb(0 0 0 / 35%)}.tab-content>.hint{color:#cbd5e1;margin:0;text-shadow:0 2px 10px rgb(0 0 0 / 25%)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.welcome-page{align-items:center}.welcome-hero{text-align:center;margin:20px 0 10px}.logo-pulse{display:inline-block;margin-bottom:18px}.logo-pulse img{width:220px;height:auto;animation:pulseGlow 3s ease-in-out infinite}@keyframes pulseGlow{0%,to{filter:drop-shadow(0 8px 20px rgb(37 99 235 / 15%));transform:scale(1)}50%{filter:drop-shadow(0 12px 30px rgb(37 99 235 / 25%));transform:scale(1.03)}}.welcome-hero h1{font-size:2.4rem;margin:0 0 12px;color:#fff;text-shadow:0 4px 20px rgb(0 0 0 / 30%)}.welcome-hero p{color:#cbd5e1;font-size:1.15rem;margin:0;text-shadow:0 2px 10px rgb(0 0 0 / 20%)}.welcome-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;width:100%;max-width:1250px}.welcome-card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;padding:32px 24px;background:#fffffff2;border:1px solid rgba(255,255,255,.7);border-radius:var(--radius);box-shadow:var(--shadow);cursor:pointer;transition:transform .2s,box-shadow .2s,border-color .2s}.welcome-card:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 32px 70px #00000040;border-color:var(--primary);background:linear-gradient(180deg,#fff,#eff6ff)}.welcome-card:hover .welcome-title{color:var(--primary-dark)}.welcome-icon{font-size:2.4rem;width:68px;height:68px;display:grid;place-items:center;background:linear-gradient(135deg,#eff6ff,#f0f9ff);border-radius:18px;box-shadow:0 4px 14px #2563eb1a}.welcome-title{font-size:1.15rem;font-weight:800;color:var(--text)}.welcome-desc{font-size:.88rem;color:var(--muted);line-height:1.4}.welcome-demo{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:40px;width:100%;max-width:1250px;background:#fffffff2;border:1px solid rgba(255,255,255,.7);border-radius:var(--radius);box-shadow:var(--shadow);padding:36px 44px;animation:fadeIn .4s ease}@media(max-width:760px){.welcome-demo{grid-template-columns:1fr}}.demo-badge{display:inline-block;padding:6px 14px;border-radius:999px;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;font-size:.78rem;font-weight:700;letter-spacing:.4px;margin-bottom:14px;box-shadow:0 4px 14px #2563eb59}.demo-text h2{font-size:1.5rem;font-weight:800;color:var(--text);margin:0 0 10px}.demo-text>p{color:var(--muted);line-height:1.6;margin:0 0 16px}.demo-text>p strong{color:var(--text)}.demo-steps{list-style:none;padding:0;margin:0 0 20px;display:flex;flex-direction:column;gap:10px}.demo-steps li{display:flex;align-items:center;gap:12px;color:var(--text);font-size:.95rem;font-weight:600}.step-num{flex:0 0 auto;width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#eff6ff;color:var(--primary);font-size:.85rem;font-weight:800;box-shadow:0 2px 8px #2563eb26}.demo-invoice-wrap{position:relative;display:flex;justify-content:center}.demo-invoice{width:100%;max-width:130px;background:#fff;border-radius:10px;box-shadow:0 24px 50px #0000004d,0 4px 12px #0000001f;padding:8px;animation:demoFloat 4s ease-in-out infinite;transform:rotate(1.5deg)}@keyframes demoFloat{0%,to{transform:rotate(1.5deg) translateY(0)}50%{transform:rotate(1.5deg) translateY(-8px)}}.demo-invoice-head{display:flex;align-items:center;gap:8px;padding-bottom:8px;border-bottom:2px dashed #e2e8f0;margin-bottom:8px}.demo-pdf-tag{padding:4px 7px;border-radius:6px;background:#fee2e2;color:#dc2626;font-size:.62rem;font-weight:800;letter-spacing:1px;flex-shrink:0}.demo-invoice-head strong{display:block;color:var(--text);font-size:.78rem}.demo-invoice-head small{color:var(--muted);font-size:.66rem}.demo-invoice-body{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.demo-invoice-img{display:block;width:100%;height:auto;border-radius:8px;border:1px solid #e2e8f0;box-shadow:0 2px 8px #0f172a14}.demo-scan{display:flex;align-items:center;justify-content:center;gap:8px;font-size:.78rem;font-weight:700;color:var(--primary);padding:4px 8px;animation:fadeIn 1s ease-in-out infinite alternate}.demo-invoice-total{display:flex;justify-content:space-between;align-items:center;gap:6px;background:linear-gradient(135deg,#0f172a,#1e293b);color:#fff;border-radius:8px;padding:8px 10px}.demo-invoice-total span{font-size:.68rem;opacity:.85}.demo-invoice-total strong{font-size:.88rem;white-space:nowrap}.demo-float-badge{position:absolute;bottom:-12px;right:4%;background:#fff;color:var(--text);font-size:.8rem;font-weight:700;padding:8px 14px;border-radius:999px;box-shadow:0 8px 24px #00000040;border:1px solid #e2e8f0;animation:demoFloatBadge 4s ease-in-out infinite}@keyframes demoFloatBadge{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.demo-choice-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a99;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:fadeIn .2s ease}.demo-choice-modal{width:100%;max-width:420px;background:#fff;border-radius:var(--radius);box-shadow:0 32px 80px #0006;padding:28px;display:flex;flex-direction:column;gap:14px;animation:fadeIn .25s ease}.demo-choice-modal h3{margin:0;font-size:1.25rem;font-weight:800;color:var(--text)}.demo-choice-modal .hint{margin:0;color:var(--muted);text-shadow:none}.demo-choice-btn{display:flex;align-items:center;gap:16px;padding:16px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;cursor:pointer;text-align:left;transition:border-color .2s,box-shadow .2s,transform .2s}.demo-choice-btn:hover{border-color:var(--primary);box-shadow:0 8px 24px #2563eb26;transform:translateY(-2px)}.demo-choice-btn .welcome-icon{width:52px;height:52px;font-size:1.6rem}.demo-choice-btn-blue{background:linear-gradient(135deg,#eff6ff,#dbeafe);border:2px solid #2563eb}.demo-choice-btn-blue .welcome-icon{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;box-shadow:0 4px 14px #2563eb59}.demo-choice-btn-blue:hover{border-color:#1d4ed8;box-shadow:0 8px 24px #2563eb40}.demo-choice-btn-blue .demo-choice-text strong{color:#1d4ed8}.demo-choice-btn-green{background:linear-gradient(135deg,#ecfdf5,#d1fae5);border:2px solid #059669}.demo-choice-btn-green .welcome-icon{background:linear-gradient(135deg,#059669,#047857);color:#fff;box-shadow:0 4px 14px #05966959}.demo-choice-btn-green:hover{border-color:#047857;box-shadow:0 8px 24px #05966940}.demo-choice-btn-green .demo-choice-text strong{color:#047857}.demo-choice-text{display:flex;flex-direction:column;gap:2px}.demo-choice-text strong{color:var(--text);font-size:1rem;font-weight:800}.demo-choice-text span{color:var(--muted);font-size:.85rem}.demo-choice-cancel{align-self:center;margin-top:4px}.card{background:var(--surface);border:1px solid rgba(255,255,255,.6);border-radius:var(--radius);padding:28px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.card h2,.card h3{margin:0 0 18px}.card-header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:18px}.card-header h2,.card-header h3{margin:0}.hint{color:var(--muted);margin:0 0 18px}.section-title{margin:26px 0 14px;font-size:1rem;color:var(--muted);border-bottom:1px solid var(--border);padding-bottom:8px}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;margin-bottom:18px}.form-grid.four{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.actions{display:flex;gap:12px;margin-top:8px;flex-wrap:wrap}.banner{padding:14px 18px;border-radius:12px;background:#eff6ff;color:var(--primary-dark);margin-bottom:16px}.banner-error{background:#fef2f2;color:#b91c1c}.result-card{background:#fffffff2}.result-grid{display:flex;flex-direction:column;gap:10px}.result-row{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid #eef2f7}.result-row:last-child{border-bottom:none}.result-row.total{font-size:1.2rem;font-weight:800;color:var(--primary-dark);padding-top:18px;border-top:2px solid #e0f2fe}.tariff-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin:0 0 18px;padding:16px;background:#f8fafc;border-radius:10px;font-size:.95rem}.tariff-summary .source{grid-column:1 / -1;color:var(--muted);font-size:.85rem}.empty{color:var(--muted);text-align:center;padding:24px 0}.admin-tabs{display:flex;flex-wrap:wrap;gap:10px}.admin-tabs button{padding:10px 18px;border-radius:10px;border:1px solid var(--border);background:#fff;color:var(--muted);font-weight:600;cursor:pointer;transition:all .15s}.admin-tabs button.active,.admin-tabs button:hover{background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;border-color:transparent;box-shadow:0 4px 14px #2563eb40}.table-wrap{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-size:.95rem}.data-table th,.data-table td{text-align:left;padding:14px;border-bottom:1px solid var(--border)}.data-table th{font-weight:700;color:var(--muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.5px}.data-table tr:hover td{background:#f8fafc}.data-table tr.blocked td{background:#fff1f2;opacity:.8}.badge{display:inline-block;padding:5px 12px;border-radius:20px;font-size:.75rem;font-weight:700}.badge-admin{background:#e0f2fe;color:var(--primary-dark)}.badge-active{background:#dcfce7;color:#15803d}.badge-blocked{background:#fee2e2;color:#b91c1c}@media(min-width:900px){.sidebar{position:sticky;top:0;height:100vh;flex-shrink:0;transform:translate(0);overflow:hidden}.menu-toggle,.sidebar-overlay{display:none}.dashboard-body{margin-left:0}}.upload-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:36px 24px;border:2px dashed #93c5fd;border-radius:var(--radius);background:linear-gradient(135deg,#eff6ff,#f8fafc);cursor:pointer;text-align:center;transition:border-color .2s,box-shadow .2s,transform .2s}.upload-zone:hover{border-color:var(--primary);box-shadow:0 8px 24px #2563eb26;transform:translateY(-2px)}.upload-zone.drag-over{border-color:var(--primary);border-style:solid;background:linear-gradient(135deg,#dbeafe,#eff6ff);box-shadow:0 0 0 4px #2563eb2e;transform:scale(1.02)}.upload-input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.upload-icon{font-size:2.4rem;line-height:1}.upload-title{font-size:1.1rem;font-weight:800;color:var(--primary-dark)}.upload-hint{font-size:.85rem;color:var(--muted)}.tab-watermark{display:flex;justify-content:center;padding:28px 0 8px;margin-top:auto;pointer-events:none}.tab-watermark img{width:220px;height:auto;opacity:.22;filter:drop-shadow(0 4px 18px rgb(0 0 0 / 25%))}.user-groups{display:flex;flex-direction:column;gap:24px}.user-group{background:#0f172ab8;border:1px solid rgba(255,255,255,.16);border-radius:var(--radius);overflow:hidden;min-width:0}.user-group-header{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:16px 20px;background:#0f172a8c;border:none;border-bottom:1px solid rgba(255,255,255,.08);width:100%;font:inherit;text-align:left;cursor:pointer;transition:background .15s ease}.user-group-header:hover{background:#ffffff1a}.user-group-caret{display:inline-block;color:var(--muted);font-size:1rem;transition:transform .15s ease;flex-shrink:0}.user-group-caret.open{transform:rotate(90deg)}.calc-detail{padding:8px 0 4px;min-width:0}.calc-view-tabs{display:flex;gap:8px;flex-wrap:wrap;padding:10px 16px}.calc-view-tabs button{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#cbd5e1;border-radius:999px;padding:6px 16px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .15s ease}.calc-view-tabs button:hover{color:#fff;border-color:#3b82f680}.calc-view-tabs button.active{background:linear-gradient(135deg,#2563eb,#1d4ed8);border-color:#3b82f6;color:#fff}.calc-detail-group{padding:0 8px 8px;min-width:0}.calc-detail-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:10px 8px;color:#fff;font-weight:700;font-size:.88rem;border-bottom:1px dashed rgba(255,255,255,.12);margin-bottom:8px}.calc-detail-sum{color:#cbd5e1;font-weight:600;font-size:.78rem}.user-group-avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff;display:grid;place-items:center;font-weight:800;font-size:1.1rem;flex-shrink:0}.user-group-info{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.user-group-info strong{color:#fff;font-size:1.05rem}.user-group-info span{color:var(--muted);font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-group-meta{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.user-group-total{color:#fff;font-weight:800;font-size:1.1rem}.calc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;padding:16px}.calc-card{background:#0f172ae6;border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:10px;transition:transform .2s,box-shadow .2s}.calc-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #00000040}.calc-card-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.calc-type{font-size:.72rem;font-weight:700;padding:4px 10px;border-radius:999px;background:#e2e8f0;color:var(--text)}.calc-type.nfree{background:#dbeafe;color:#1d4ed8}.calc-type.free{background:#d1fae5;color:#047857}.calc-date{font-size:.75rem;color:#94a3b8}.calc-card-title{color:#fff;font-weight:700;font-size:.95rem;word-break:break-word}.calc-card-sub{font-size:.8rem;color:#94a3b8}.calc-metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:4px}.calc-metrics>div{background:#ffffff14;border-radius:8px;padding:8px;display:flex;flex-direction:column;gap:2px}.calc-metrics span{font-size:.72rem;color:#94a3b8}.calc-metrics strong{font-size:.85rem;color:#fff;overflow-wrap:anywhere}.calc-card-total{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,#0f172a,#1e293b);color:#fff;border-radius:8px;padding:10px 12px;margin-top:2px}.calc-card-total span{font-size:.75rem;opacity:.85}.calc-card-total strong{font-size:1rem}.calc-tech{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.calc-tech span{font-size:.75rem;color:#cbd5e1;background:#ffffff14;padding:4px 8px;border-radius:6px;overflow-wrap:anywhere}.user-group-info span{color:#cbd5e1}.card-header-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.card-header{flex-wrap:wrap}.admin-search{min-width:220px;padding:9px 14px;border-radius:10px;border:1px solid var(--border);background:#fff;color:var(--text);font-size:.9rem;font-weight:600;outline:none;transition:border-color .15s,box-shadow .15s}.admin-search::placeholder{color:#94a3b8;font-weight:500}.admin-search:focus{border-color:var(--primary);box-shadow:0 0 0 3px #2563eb26}.calc-filterbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:0 16px 6px}.calc-filterbar select{padding:8px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.2);background:#0f172ad9;color:#fff;font-size:.82rem;font-weight:600;cursor:pointer;outline:none}@media(max-width:640px){.card{padding:16px}.admin-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px}.admin-tabs button{padding:9px 6px;font-size:.85rem;text-align:center}.admin-search{min-width:0;width:100%}.calc-grid{grid-template-columns:1fr;padding:8px;gap:10px}.calc-detail-group{padding:0 2px 8px}.user-group-header{padding:12px;gap:10px}.user-group-meta{width:100%;flex-direction:row;justify-content:space-between;align-items:center}.user-group-total{font-size:1rem}.calc-view-tabs{padding:8px 10px}.calc-detail-head{font-size:.82rem}}.bill-page-title{color:#0f172a;font-size:1.15rem;font-weight:700;margin:0 0 8px}.bill-tabs{display:flex;gap:8px;margin:0 0 18px;flex-wrap:wrap}.bill-tab{padding:7px 16px;border-radius:999px;border:1px solid #cbd5e1;background:#f1f5f9;color:#334155;font-size:.8rem;font-weight:600;cursor:pointer;transition:background .2s,color .2s,border-color .2s}.bill-tab:hover{border-color:#94a3b8;color:#0f172a}.bill-tab.active{background:linear-gradient(135deg,var(--primary),#1d4ed8);border-color:transparent;color:#fff;box-shadow:0 4px 14px #2563eb59}.bill-groups{display:flex;flex-direction:column;gap:22px}.bill-group{background:#f8fafc;border:1px solid #e2e8f0;border-radius:var(--radius);overflow:hidden}.bill-group-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 16px;background:#eef2f7;border-bottom:1px solid #e2e8f0;width:100%;border-top:none;border-left:none;border-right:none;font:inherit;text-align:left;cursor:pointer}.bill-group-head:hover{background:#e4eaf2}.bill-group-caret{display:inline-block;color:#64748b;font-size:.9rem;transition:transform .15s ease}.bill-group-caret.open{transform:rotate(90deg)}.bill-year-filter{display:flex;gap:8px;flex-wrap:wrap;margin:4px 0 14px}.bill-year-chip{background:#fff;border:1px solid #cbd5e1;color:#475569;border-radius:999px;padding:6px 16px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .15s ease}.bill-year-chip:hover{border-color:var(--primary);color:var(--primary)}.bill-year-chip.active{background:linear-gradient(135deg,#2563eb,#1d4ed8);border-color:#2563eb;color:#fff;box-shadow:0 3px 10px #2563eb4d}.bill-group-name{color:#0f172a;font-weight:700;font-size:.9rem}.bill-group-meta{display:flex;align-items:center;gap:10px}.bill-group-count{font-size:.72rem;color:#334155;background:#e2e8f0;padding:3px 10px;border-radius:999px}.bill-group-kwh{font-size:.72rem;color:#1d4ed8;font-weight:600}.bill-group-sum{color:#0f172a;font-weight:800;font-size:.9rem}.bill-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;padding:14px}.bill-card{background:#0f172ad9;border:1px solid rgba(255,255,255,.14);border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:10px;cursor:pointer;transition:transform .2s,box-shadow .2s,border-color .2s}.bill-card:hover{transform:translateY(-3px);box-shadow:0 12px 30px #00000040;border-color:#ffffff38}.bill-card-head{display:flex;align-items:center;gap:10px}.bill-card-icon{width:38px;height:38px;border-radius:10px;background:linear-gradient(135deg,#2563eb,#1d4ed8);display:grid;place-items:center;font-size:1.1rem;flex-shrink:0}.bill-card-title{display:flex;flex-direction:column;gap:1px;flex:1;min-width:0}.bill-card-title strong{color:#fff;font-size:.88rem}.bill-card-title span{color:#94a3b8;font-size:.75rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bill-card-total{color:#fff;font-weight:800;font-size:.95rem;text-align:right;white-space:nowrap}.bill-card-body{display:flex;flex-direction:column;gap:4px}.bill-card-row{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:.8rem;padding:5px 0;border-bottom:1px solid rgba(255,255,255,.06)}.bill-card-row:last-child{border-bottom:none}.bill-card-row span{color:#cbd5e1;flex-shrink:0}.bill-card-row strong{color:#fff;font-weight:600;text-align:right}.bill-card-actions{display:flex;gap:8px;margin-top:auto}@media(max-width:720px){.dashboard-main{padding:20px 16px 40px}.topbar{padding:14px 16px}.welcome-hero h1{font-size:1.6rem}}.landing.light{min-height:100vh;background:#f5f8ff;color:#1e293b;opacity:0;transform:translateY(10px);transition:opacity .5s ease,transform .5s ease;overflow-x:hidden;position:relative}.landing.light.show{opacity:1;transform:none}.landing .grad{background:linear-gradient(90deg,#2563eb,#7c3aed,#0891b2);-webkit-background-clip:text;background-clip:text;color:transparent}.landing-blobs{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:0}.blob{position:absolute;border-radius:50%;filter:blur(70px);opacity:.5;animation:blob-float 14s ease-in-out infinite}.blob-1{width:420px;height:420px;background:#3b82f666;top:-120px;right:-80px}.blob-2{width:360px;height:360px;background:#7c3aed47;top:40%;left:-140px;animation-delay:-5s}.blob-3{width:300px;height:300px;background:#06b6d44d;bottom:-100px;right:20%;animation-delay:-9s}@keyframes blob-float{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(26px) scale(1.06)}}.landing-nav,.landing-hero,.landing-section,.landing-stats,.landing-final{position:relative;z-index:1}.landing-nav{display:flex;align-items:center;justify-content:space-between;padding:18px 5%;max-width:1200px;margin:0 auto}.landing-brand img{height:64px}.landing-enter-btn{background:#fff;border:1px solid rgba(37,99,235,.35);color:#1d4ed8;border-radius:999px;padding:9px 22px;font-size:.9rem;font-weight:700;cursor:pointer;box-shadow:0 4px 14px #2563eb26;transition:all .15s ease}.landing-enter-btn:hover{background:#eff6ff;transform:translateY(-1px)}.landing-hero{text-align:center;padding:64px 5% 40px;max-width:900px;margin:0 auto}.landing-hero-badge{display:inline-block;color:#1d4ed8;background:linear-gradient(90deg,#2563eb1f,#7c3aed1f);border:1px solid rgba(37,99,235,.35);border-radius:999px;padding:7px 18px;font-size:.82rem;font-weight:700;margin-bottom:22px}.landing-hero h1{color:#0f172a;font-size:clamp(2rem,5vw,3.2rem);font-weight:800;line-height:1.15;margin:0 0 18px}.landing-hero-sub{color:#475569;font-size:1.08rem;line-height:1.7;max-width:660px;margin:0 auto 30px}.landing-hero-sub strong{color:#1d4ed8}.landing-cta-row{display:flex;justify-content:center}.landing-cta{display:inline-flex;align-items:center;gap:10px;background:linear-gradient(135deg,#2563eb,#7c3aed);color:#fff;border:none;border-radius:999px;padding:16px 36px;font-size:1.08rem;font-weight:700;cursor:pointer;box-shadow:0 12px 34px #4f46e566;transition:transform .15s ease,box-shadow .15s ease}.landing-cta:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 16px 44px #4f46e58c}.landing-cta-icon{font-size:1.2rem}.landing-hero-hint{color:#64748b;font-size:.85rem;margin-top:14px}.landing-mock{margin:44px auto 0;max-width:640px;filter:drop-shadow(0 24px 50px rgba(37,99,235,.22))}.mock-window{background:#fff;border:1px solid rgba(148,163,184,.4);border-radius:14px;overflow:hidden;text-align:left}.mock-titlebar{display:flex;align-items:center;gap:6px;background:#f1f5f9;padding:9px 12px;border-bottom:1px solid rgba(148,163,184,.35)}.mock-titlebar .dot{width:10px;height:10px;border-radius:50%}.dot.red{background:#f87171}.dot.amber{background:#fbbf24}.dot.green{background:#34d399}.mock-url{margin-left:10px;background:#fff;border:1px solid rgba(148,163,184,.4);border-radius:6px;color:#94a3b8;font-size:.68rem;padding:3px 12px;flex:1}.mock-body{display:flex}.mock-side{display:flex;flex-direction:column;gap:12px;padding:14px 10px;background:#f8fafc;border-right:1px solid rgba(148,163,184,.3)}.mock-side .mi{width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:8px;font-size:.9rem;background:#e2e8f0}.mock-side .mi.active{background:linear-gradient(135deg,#2563eb,#7c3aed);box-shadow:0 4px 10px #4f46e566}.mock-main{flex:1;padding:14px;position:relative}.mock-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}.mock-card{background:#f8fafc;border:1px solid rgba(148,163,184,.35);border-radius:8px;padding:8px 10px}.mock-card small{display:block;color:#94a3b8;font-size:.6rem}.mock-card b{color:#0f172a;font-size:.85rem}.mock-card.c2 b{color:#2563eb}.mock-card.c3 b{color:#059669}.mock-chart{display:flex;align-items:flex-end;gap:8px;height:110px;background:#f8fafc;border:1px solid rgba(148,163,184,.35);border-radius:8px;padding:10px}.mock-chart span{flex:1;border-radius:5px 5px 2px 2px;background:linear-gradient(180deg,#60a5fa,#2563eb);animation:mock-grow 2.4s ease-in-out infinite alternate}.mock-chart span:nth-child(2n){background:linear-gradient(180deg,#a78bfa,#7c3aed);animation-delay:-.6s}.mock-chart span:nth-child(3n){background:linear-gradient(180deg,#22d3ee,#0891b2);animation-delay:-1.2s}@keyframes mock-grow{0%{transform:scaleY(.75)}to{transform:scaleY(1)}}.mock-scan{position:absolute;right:16px;bottom:12px;color:#2563eb;font-size:.7rem;font-weight:700;animation:mock-pulse 1.4s ease-in-out infinite}@keyframes mock-pulse{0%,to{opacity:1}50%{opacity:.35}}.landing-section{max-width:1200px;margin:0 auto;padding:60px 5%;text-align:center}.landing-eyebrow{display:inline-block;color:#7c3aed;font-size:.72rem;font-weight:800;letter-spacing:.14em;margin-bottom:10px}.landing-section h2{color:#0f172a;font-size:clamp(1.5rem,3vw,2.1rem);font-weight:800;margin:0 0 8px}.landing-section-sub{color:#64748b;margin:0 0 38px;font-size:.98rem}.landing-alt{background:#fff;border-top:1px solid rgba(148,163,184,.25);border-bottom:1px solid rgba(148,163,184,.25)}.landing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;text-align:left}.landing-card{background:#fff;border:1px solid rgba(148,163,184,.35);border-radius:16px;padding:26px 22px;box-shadow:0 6px 20px #0f172a0f;transition:transform .18s ease,box-shadow .18s ease}.landing-card:hover{transform:translateY(-5px);box-shadow:0 14px 34px #2563eb29}.landing-card-icon{width:52px;height:52px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;border-radius:14px;margin-bottom:14px;color:#fff}.landing-card-icon.g-blue{background:linear-gradient(135deg,#3b82f6,#1d4ed8)}.landing-card-icon.g-violet{background:linear-gradient(135deg,#a78bfa,#7c3aed)}.landing-card-icon.g-teal{background:linear-gradient(135deg,#2dd4bf,#0d9488)}.landing-card-icon.g-amber{background:linear-gradient(135deg,#fbbf24,#d97706)}.landing-card-icon.g-rose{background:linear-gradient(135deg,#fb7185,#e11d48)}.landing-card-icon.g-cyan{background:linear-gradient(135deg,#22d3ee,#0891b2)}.landing-card h3{color:#0f172a;font-size:1.02rem;margin:0 0 8px;font-weight:700}.landing-card p{color:#64748b;font-size:.88rem;line-height:1.65;margin:0}.landing-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:18px;margin-top:10px}.landing-step{position:relative;background:#f8fafc;border:1px solid rgba(148,163,184,.35);border-radius:16px;padding:26px 18px 22px;text-align:center}.step-line{position:absolute;top:38px;left:calc(50% + 34px);width:calc(100% - 68px);height:2px;background:linear-gradient(90deg,#3b82f6,#7c3aed);opacity:.35}.step-num{width:44px;height:44px;margin:0 auto 12px;display:flex;align-items:center;justify-content:center;border-radius:50%;color:#fff;font-weight:800;font-size:1.05rem;background:linear-gradient(135deg,#3b82f6,#7c3aed);box-shadow:0 6px 16px #4f46e559}.landing-step h3{color:#0f172a;font-size:.98rem;margin:0 0 6px}.landing-step p{color:#64748b;font-size:.82rem;margin:0}.landing-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;max-width:1100px;margin:0 auto;padding:34px 5% 60px}.landing-stat{text-align:center;background:#fff;border:1px solid rgba(148,163,184,.35);border-radius:16px;padding:24px 12px;box-shadow:0 6px 20px #0f172a0d}.landing-stat strong{display:block;font-size:1.5rem;font-weight:800;background:linear-gradient(90deg,#2563eb,#7c3aed);-webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:4px}.landing-stat span{color:#64748b;font-size:.82rem}.landing-final{text-align:center;padding:70px 5%;max-width:780px;margin:0 auto}.landing-final h2{color:#0f172a;font-size:clamp(1.4rem,3vw,2rem);font-weight:800;margin:0 0 10px}.landing-final p{color:#64748b;margin:0 0 28px}.landing-footer{text-align:center;padding:34px 5% 40px;border-top:1px solid rgba(148,163,184,.3);background:#fff}.landing-footer-logo{height:48px;margin-bottom:12px}.landing-footer p{color:#94a3b8;font-size:.8rem;margin:0}@media(max-width:640px){.landing-hero{padding-top:44px}.landing-cta{padding:14px 26px;font-size:.98rem}.step-line{display:none}}.reports-wrap{display:flex;flex-direction:column;gap:18px}.report-empty{text-align:center;padding:48px 24px;color:#e2e8f0}.report-empty-icon{font-size:3rem;margin-bottom:8px}.report-empty h3{color:#fff;margin:0 0 8px}.report-empty p{color:#cbd5e1;max-width:480px;margin:0 auto}.rep-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.rep-filter{display:flex;flex-direction:column;gap:12px;background:#0f172ad9;border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:14px 16px}.rep-filter-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.rep-filter-label{color:#e2e8f0;font-size:.85rem;font-weight:600}.rep-filter-count{color:#93c5fd;background:#2563eb26;border:1px solid rgba(37,99,235,.35);border-radius:999px;padding:3px 12px;font-size:.75rem;font-weight:600}.rep-presets{display:flex;gap:8px;flex-wrap:wrap}.rep-chip{background:#ffffff0f;border:1px solid rgba(255,255,255,.14);color:#cbd5e1;border-radius:999px;padding:7px 16px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .15s ease}.rep-chip:hover{background:#2563eb2e;border-color:#2563eb80;color:#fff}.rep-chip.active{background:linear-gradient(135deg,#2563eb,#1d4ed8);border-color:#3b82f6;color:#fff;box-shadow:0 2px 10px #2563eb66}.rep-selects{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}.rep-select-group{display:flex;flex-direction:column;gap:4px}.rep-select-group>label{color:#94a3b8;font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.rep-select-pair{display:flex;gap:6px}.rep-select-pair select{background:#ffffff0f;border:1px solid rgba(255,255,255,.18);border-radius:8px;color:#fff;padding:7px 8px;font-size:.85rem;color-scheme:dark;cursor:pointer;min-width:92px}.rep-select-pair select:focus{outline:none;border-color:var(--primary)}.rep-select-pair select:disabled{opacity:.5;cursor:not-allowed}.rep-filter-active{color:#cbd5e1;font-size:.78rem;background:#2563eb1a;border:1px dashed rgba(37,99,235,.4);border-radius:8px;padding:6px 12px;width:fit-content}.rep-filter-active strong{color:#fff}.rep-filter-sep{color:#94a3b8;padding-bottom:8px}.rep-filter-clear{background:#ef444426;border:1px solid rgba(239,68,68,.4);color:#fca5a5;border-radius:8px;padding:7px 12px;font-size:.8rem;cursor:pointer}.rep-filter-clear:hover{background:#ef444447}.rep-stat-card{background:#0f172ad9;border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:4px;align-items:flex-start}.rep-stat-icon{font-size:1.3rem}.rep-stat-value{color:#fff;font-size:1.25rem;font-weight:700;word-break:break-word}.rep-stat-label{color:#94a3b8;font-size:.78rem}.rep-charts{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px}.rep-chart-card{background:#0f172ad9;border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:18px}.rep-chart-card h3{color:#fff;font-size:1rem;margin:0 0 14px}.rep-donut-row{display:flex;gap:20px;align-items:center;flex-wrap:wrap}.rep-donut{width:170px;height:170px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.rep-donut-center{width:106px;height:106px;border-radius:50%;background:#0f172a;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:6px}.rep-donut-total{color:#fff;font-weight:700;font-size:.82rem}.rep-donut-caption{color:#94a3b8;font-size:.6rem;letter-spacing:.06em}.rep-legend{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;flex:1;min-width:200px}.rep-legend li{display:flex;align-items:center;gap:8px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:9px 12px}.rep-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.rep-dot-blue{background:#2563eb}.rep-dot-amber{background:#f59e0b}.rep-dot-green{background:#10b981}.rep-legend-name{color:#cbd5e1;font-size:.8rem;flex:1}.rep-legend-val{color:#fff;font-weight:600;font-size:.8rem}.rep-legend-pct{color:#94a3b8;font-size:.72rem;width:52px;text-align:right}.rep-rings{display:flex;gap:28px;justify-content:center;flex-wrap:wrap}.rep-ring-item{display:flex;flex-direction:column;align-items:center;gap:10px}.rep-ring{width:130px;height:130px;border-radius:50%;display:flex;align-items:center;justify-content:center}.rep-ring-center{width:88px;height:88px;border-radius:50%;background:#0f172a;display:flex;flex-direction:column;align-items:center;justify-content:center}.rep-ring-center strong{color:#fff;font-size:.95rem}.rep-ring-center small{color:#94a3b8;font-size:.65rem}.rep-ring-label{color:#cbd5e1;font-size:.8rem;font-weight:600}.rep-bars{display:flex;align-items:flex-end;gap:14px;min-height:190px;padding:8px 4px 0;overflow-x:auto}.rep-bar-col{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:64px;flex:1}.rep-bar{width:34px;border-radius:6px 6px 2px 2px;background:linear-gradient(180deg,#3b82f6,#1d4ed8);min-height:6px}.rep-bar-val{color:#e2e8f0;font-size:.62rem;font-weight:600;white-space:nowrap}.rep-bar-label{color:#94a3b8;font-size:.68rem;text-align:center}.rep-latest-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.rep-latest-item{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:4px}.rep-latest-label{color:#94a3b8;font-size:.7rem}.rep-latest-item strong{color:#fff;font-size:.85rem;word-break:break-word}.sidebar-footer{margin-top:auto;display:flex;align-items:center;gap:10px;padding:16px 18px;border-top:1px solid rgba(255,255,255,.08)}.theme-icon-btn,.sidebar-social{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:10px;border:1px solid rgba(255,255,255,.14);background:#ffffff12;color:#cbd5e1;font-size:1.05rem;cursor:pointer;transition:all .15s}.theme-icon-btn:hover,.sidebar-social:hover{background:#ffffff29;color:#fff;transform:translateY(-2px)}.sidebar-social.social-instagram{color:#fff;background:linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888);border-color:transparent}.sidebar-social.social-mail{color:#fff;background:linear-gradient(135deg,#0ea5e9,#2563eb);border-color:transparent}.sidebar-social.social-instagram:hover,.sidebar-social.social-mail:hover{background:inherit;color:#fff;filter:brightness(1.15)}.sidebar-footer-sep{flex:1}.chat-support{position:fixed;right:20px;bottom:20px;z-index:60;display:flex;flex-direction:column;align-items:flex-end;gap:12px}.chat-fab{width:58px;height:58px;border-radius:50%;border:none;background:linear-gradient(135deg,#2fe674,#25d366);color:#fff;font-size:1.5rem;cursor:pointer;box-shadow:0 10px 30px #25d36673;transition:transform .15s,box-shadow .15s;display:flex;align-items:center;justify-content:center}.chat-fab:hover{transform:scale(1.08);box-shadow:0 14px 36px #25d3668c}.chat-panel{width:340px;max-width:calc(100vw - 40px);height:480px;max-height:calc(100vh - 120px);display:flex;flex-direction:column;background:#fff;border-radius:18px;box-shadow:0 30px 70px #0f172a59;overflow:hidden;animation:chatIn .2s ease}@keyframes chatIn{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.chat-head{display:flex;align-items:center;gap:10px;padding:14px 16px;background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff}.chat-head-dot{width:10px;height:10px;border-radius:50%;background:#4ade80;box-shadow:0 0 0 3px #4ade804d;flex-shrink:0}.chat-head-text{flex:1;display:flex;flex-direction:column;gap:1px;min-width:0}.chat-head-text strong{font-size:.95rem}.chat-head-text small{font-size:.72rem;opacity:.85}.chat-close{background:#ffffff26;border:none;color:#fff;width:30px;height:30px;border-radius:8px;font-size:.9rem;cursor:pointer;transition:background .15s}.chat-close:hover{background:#ffffff4d}.chat-body{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:10px;background:#f4f7fb}.chat-msg{max-width:85%;padding:10px 14px;border-radius:14px;font-size:.88rem;line-height:1.45;white-space:pre-wrap;word-break:break-word}.chat-msg.bot{align-self:flex-start;background:#fff;color:#0f172a;border:1px solid #e2e8f0;border-bottom-left-radius:4px}.chat-msg.user{align-self:flex-end;background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;border-bottom-right-radius:4px}.chat-typing{color:#64748b;font-style:italic}.chat-quick{display:flex;gap:6px;flex-wrap:wrap;padding:8px 10px;border-top:1px solid #e2e8f0;background:#fff}.chat-quick button{padding:6px 12px;border-radius:999px;border:1px solid #c7d2fe;background:#eef2ff;color:#4338ca;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .15s}.chat-quick button:hover{background:#4338ca;border-color:#4338ca;color:#fff}.chat-input-row{display:flex;gap:8px;padding:10px;border-top:1px solid #e2e8f0;background:#fff}.chat-input-row input{flex:1;min-width:0;padding:10px 14px;border-radius:10px;border:1px solid #d8e0ea;font-size:.88rem;outline:none;transition:border-color .15s,box-shadow .15s}.chat-input-row input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1f}.chat-input-row button{width:42px;height:42px;flex-shrink:0;border:none;border-radius:10px;background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;font-size:1rem;cursor:pointer;transition:transform .15s}.chat-input-row button:hover{transform:scale(1.05)}body.theme-light{background:radial-gradient(circle at 0% 0%,rgb(37 99 235 / .1) 0%,transparent 45%),radial-gradient(circle at 100% 0%,rgb(14 165 233 / .1) 0%,transparent 45%),radial-gradient(circle at 100% 100%,rgb(16 185 129 / .08) 0%,transparent 40%),radial-gradient(circle at 30% 70%,rgb(99 102 241 / .08) 0%,transparent 40%),linear-gradient(135deg,#eef2f7,#e4eaf2,#d9e2ec);background-attachment:fixed}body.theme-light:before{opacity:.3}body.theme-light .sidebar{background:#fff;color:#0f172a;box-shadow:8px 0 40px #0f172a1f}body.theme-light .sidebar-brand{border-bottom-color:#e2e8f0}body.theme-light .sidebar-brand img,body.theme-light .logo-pulse img,body.theme-light .tab-watermark img{filter:brightness(.35) saturate(1.2)}body.theme-light .sidebar-nav button{color:#475569}body.theme-light .sidebar-nav button:hover{background:#f1f5f9;color:#0f172a}body.theme-light .sidebar-nav button.active{color:#fff}body.theme-light .sidebar-overlay{background:#0f172a59}body.theme-light .topbar{background:#ffffffd1;border-bottom:1px solid #e2e8f0;box-shadow:0 4px 20px #0f172a14}body.theme-light .topbar .username{color:#0f172a}body.theme-light .menu-toggle{background:#f1f5f9;border-color:#d8e0ea;color:#0f172a}body.theme-light .menu-toggle:hover{background:#e2e8f0}body.theme-light .sidebar-footer{border-top-color:#e2e8f0}body.theme-light .theme-icon-btn{background:#f1f5f9;border-color:#d8e0ea;color:#475569}body.theme-light .theme-icon-btn:hover{background:#e2e8f0;color:#0f172a}body.theme-light .sidebar-social.social-instagram{color:#fff;background:linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888);border-color:transparent}body.theme-light .sidebar-social.social-mail{color:#fff;background:linear-gradient(135deg,#0ea5e9,#2563eb);border-color:transparent}body.theme-light .tab-content>h2{color:#0f172a;text-shadow:none}body.theme-light .tab-content>.hint{color:#475569;text-shadow:none}body.theme-light .welcome-hero h1{color:#0f172a;text-shadow:none}body.theme-light .welcome-hero p{color:#475569;text-shadow:none}body.theme-light .user-group{background:#fff;border-color:#dbe3ec;box-shadow:0 10px 30px #0f172a14}body.theme-light .user-group-header{background:#f8fafc;border-bottom-color:#e2e8f0}body.theme-light .user-group-header:hover{background:#eef2f7}body.theme-light .user-group-info strong,body.theme-light .user-group-total{color:#0f172a}body.theme-light .user-group-info span,body.theme-light .user-group-caret{color:#64748b}body.theme-light .calc-card{background:#fff;border-color:#dbe3ec;box-shadow:0 8px 24px #0f172a14}body.theme-light .calc-card-title,body.theme-light .calc-metrics strong{color:#0f172a}body.theme-light .calc-metrics span,body.theme-light .calc-date,body.theme-light .calc-card-sub{color:#64748b}body.theme-light .calc-metrics>div{background:#f1f5f9}body.theme-light .calc-view-tabs button{background:#f1f5f9;border-color:#d8e0ea;color:#475569}body.theme-light .calc-view-tabs button:hover{color:#0f172a}body.theme-light .calc-view-tabs button.active{color:#fff}body.theme-light .calc-detail-head{color:#0f172a;border-bottom-color:#e2e8f0}body.theme-light .calc-detail-sum{color:#64748b}body.theme-light .calc-tech span{color:#475569;background:#f1f5f9}body.theme-light .calc-filterbar select{background:#fff;border-color:#d8e0ea;color:#0f172a}body.theme-light .calc-card-total{background:linear-gradient(135deg,#1e293b,#334155)}
