@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap");:root{--primary:#5b8aff;--primary-dark:#4070f4;--primary-darker:#2b58ff;--primary-light:rgba(91,138,255,.14);--primary-dim:rgba(91,138,255,.25);--primary-glow:rgba(91,138,255,.45);--success:#34d399;--success-dark:#10b981;--success-darker:#059669;--success-light:rgba(52,211,153,.12);--success-dim:rgba(52,211,153,.25);--warning:#fbbf24;--warning-light:rgba(251,191,36,.12);--warning-dim:rgba(251,191,36,.25);--danger:#f87171;--danger-dark:#ef4444;--danger-light:hsla(0,91%,71%,.12);--danger-border:hsla(0,91%,71%,.35);--purple:#a78bfa;--purple-light:rgba(167,139,250,.12);--purple-dim:rgba(167,139,250,.25);--teal:#2dd4bf;--teal-light:rgba(45,212,191,.12);--teal-dim:rgba(45,212,191,.25);--amber:#f59e0b;--amber-light:rgba(245,158,11,.12);--amber-dim:rgba(245,158,11,.25);--bg:#060c1a;--surface:rgba(15,25,55,.55);--surface-2:rgba(20,35,70,.6);--surface-3:rgba(25,45,85,.65);--border:hsla(0,0%,100%,.07);--border-dark:hsla(0,0%,100%,.13);--text:#dde6ff;--text-muted:rgba(210,220,255,.5);--text-light:rgba(210,220,255,.28);--glass:rgba(12,22,48,.62);--glass-border:hsla(0,0%,100%,.09);--glass-hi:hsla(0,0%,100%,.06);--shadow-xs:0 1px 3px rgba(0,0,0,.5);--shadow-sm:0 2px 8px rgba(0,0,0,.45);--shadow:0 4px 20px rgba(0,0,0,.55);--shadow-md:0 8px 32px rgba(0,0,0,.55);--shadow-lg:0 20px 60px rgba(0,0,0,.65);--row-period-bg:rgba(91,138,255,.18);--row-period-fg:#c7d8ff;--row-total-bg:rgba(251,191,36,.08);--row-total-fg:#fbbf24;--row-camp-hbg:rgba(52,211,153,.08);--row-camp-hfg:#34d399;--row-title-hbg:rgba(245,158,11,.08);--row-title-hfg:#fbbf24;--row-text-hbg:rgba(167,139,250,.08);--row-text-hfg:#a78bfa;--row-img-hbg:rgba(45,212,191,.08);--row-img-hfg:#2dd4bf;--row-camp-hover:rgba(52,211,153,.06);--row-title-hover:rgba(245,158,11,.06);--row-text-hover:rgba(167,139,250,.06);--row-img-hover:rgba(45,212,191,.06);--row-subtotal-bg:rgba(91,138,255,.1);--row-subtotal-fg:#93b4ff;--row-subtotal-border:rgba(91,138,255,.2);--radius-sm:8px;--radius:12px;--radius-lg:16px;--radius-xl:24px;--green:#34d399;--green-light:rgba(52,211,153,.12);--blue:#5b8aff;--gray:rgba(210,220,255,.4);--bg-secondary:rgba(20,35,70,.5);--text-xs:10px;--text-sm:12px;--text-base:13px;--text-md:14px;--text-lg:16px;--text-xl:22px}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{height:100%;color-scheme:dark}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;font-size:13px;line-height:1.5;color:var(--text);background:var(--bg);min-height:100vh;-webkit-font-smoothing:antialiased;position:relative;overflow-x:hidden}body:before{top:-20%;left:-15%;width:70%;height:70%;background:radial-gradient(ellipse at center,rgba(59,100,255,.18) 0,rgba(91,138,255,.08) 40%,transparent 70%);animation:orbFloat1 20s ease-in-out infinite}body:after,body:before{content:"";position:fixed;pointer-events:none;z-index:0}body:after{bottom:-25%;right:-15%;width:65%;height:65%;background:radial-gradient(ellipse at center,rgba(120,80,220,.14) 0,rgba(80,60,180,.07) 40%,transparent 70%);animation:orbFloat2 25s ease-in-out infinite}@keyframes orbFloat1{0%,to{transform:translate(0) scale(1)}33%{transform:translate(4%,5%) scale(1.06)}66%{transform:translate(-3%,3%) scale(.96)}}@keyframes orbFloat2{0%,to{transform:translate(0) scale(1)}33%{transform:translate(-5%,-4%) scale(1.08)}66%{transform:translate(3%,-6%) scale(.94)}}#app{display:flex;height:100vh;overflow:hidden;position:relative;z-index:1}#sidebar{width:232px;min-width:232px;background:rgba(8,14,35,.75);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-right:1px solid var(--glass-border);flex-direction:column;box-shadow:4px 0 24px rgba(0,0,0,.3);z-index:10}#main,#sidebar{display:flex;overflow:hidden}#main{flex:1 1;flex-direction:column;min-width:0}.sidebar-header{padding:18px 16px 14px;gap:10px;border-bottom:1px solid var(--glass-border);background:hsla(0,0%,100%,.02)}.sidebar-header,.sidebar-logo{display:flex;align-items:center}.sidebar-logo{justify-content:center;flex-shrink:0}.sidebar-logo svg{fill:#fff}.sidebar-brand{font-size:16px;font-weight:700;color:var(--text);letter-spacing:-.3px;margin-top:6px}.sidebar-brand span{color:var(--primary)}.project-list{flex:1 1;overflow-y:auto;padding:10px 8px;scrollbar-width:thin;scrollbar-color:hsla(0,0%,100%,.1) transparent}.project-list-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.8px;color:var(--text-light);padding:4px 8px 6px}.project-item{padding:9px 6px 9px 10px;cursor:pointer;border-radius:var(--radius-sm);margin-bottom:2px;display:flex;align-items:center;gap:9px;color:var(--text-muted);font-size:13px;font-weight:500;transition:background .15s,color .15s}.project-item:hover{background:hsla(0,0%,100%,.05);color:var(--text)}.project-item.active{background:var(--primary-light);color:var(--primary);font-weight:600;box-shadow:inset 3px 0 0 var(--primary)}.project-item-name{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.btn-project-settings{flex-shrink:0;background:none;border:none;cursor:pointer;color:transparent;padding:4px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;transition:color .13s,background .13s;line-height:0}.project-item:hover .btn-project-settings{color:var(--text-muted)}.project-item.active .btn-project-settings{color:var(--primary);opacity:.6}.project-item.active .btn-project-settings:hover,.project-item:hover .btn-project-settings:hover{color:var(--primary);background:var(--primary-light);opacity:1}.project-dot{width:7px;height:7px;border-radius:50%;background:hsla(0,0%,100%,.15);flex-shrink:0;transition:background .13s}.project-item.active .project-dot{background:var(--primary);box-shadow:0 0 6px var(--primary-glow);width:8px;height:8px}.sidebar-actions{padding:10px 8px;border-top:1px solid var(--glass-border)}.btn-sidebar{width:100%;padding:8px 12px;background:var(--primary-light);border:1px solid rgba(91,138,255,.2);border-radius:var(--radius-sm);cursor:pointer;font-size:12px;font-weight:600;color:var(--primary);display:flex;align-items:center;justify-content:center;gap:6px;transition:all .18s}.btn-sidebar:hover{background:rgba(91,138,255,.22);border-color:rgba(91,138,255,.4);box-shadow:0 0 16px rgba(91,138,255,.2)}.sidebar-user{padding:8px 12px;border-top:1px solid var(--glass-border);display:flex;align-items:center;justify-content:space-between;gap:8px;background:hsla(0,0%,100%,.02)}.sidebar-user-info{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:500;color:var(--text-muted);overflow:hidden}.sidebar-user-info svg{opacity:.5}.sidebar-user-info span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-logout{flex-shrink:0;background:none;border:none;color:var(--text-light);cursor:pointer;padding:6px;border-radius:var(--radius-sm);display:flex;align-items:center;transition:color .15s,background .15s}.btn-logout:hover{color:var(--danger);background:var(--danger-light)}.bg-refresh-bar{position:fixed;top:0;left:0;right:0;height:2px;z-index:999;background:linear-gradient(90deg,var(--primary) 0,#34d399 50%,var(--primary) 100%);background-size:200% 100%;animation:bgRefreshSlide 1.4s linear infinite}@keyframes bgRefreshSlide{0%{background-position:200% 0}to{background-position:-200% 0}}#topbar{background:rgba(8,14,35,.7);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--glass-border);padding:0 24px;height:56px;display:flex;align-items:center;gap:14px;flex-shrink:0;box-shadow:0 1px 0 hsla(0,0%,100%,.04);z-index:5}#project-title{font-size:15px;font-weight:700;flex:1 1;letter-spacing:-.3px;color:var(--text)}.tabs{display:flex;background:hsla(0,0%,100%,.04);border:1px solid var(--glass-border);border-radius:var(--radius);padding:3px;gap:2px}.tab-btn{padding:5px 16px;border:none;background:none;cursor:pointer;font-size:13px;font-weight:500;color:var(--text-muted);border-radius:var(--radius-sm);transition:all .18s;white-space:nowrap}.tab-btn:hover:not(.active){color:var(--text);background:hsla(0,0%,100%,.05)}.tab-btn.active{background:var(--primary-light);color:var(--primary);box-shadow:0 0 12px rgba(91,138,255,.2)}#content{flex:1 1;overflow-y:auto;padding:20px 24px;scrollbar-width:thin;scrollbar-color:hsla(0,0%,100%,.1) transparent;animation:fadeInUp .35s ease both}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.btn{padding:8px 16px;border-radius:var(--radius-sm);border:none;cursor:pointer;font-size:13px;font-weight:600;font-family:inherit;transition:all .18s;display:inline-flex;align-items:center;gap:6px;white-space:nowrap;letter-spacing:-.1px;position:relative;overflow:hidden}.btn:disabled{opacity:.4;cursor:not-allowed}:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:4px}.form-control:focus-visible{outline:none}.btn-primary{background:linear-gradient(135deg,var(--primary),var(--primary-darker));color:#fff;box-shadow:0 2px 12px rgba(91,138,255,.4),inset 0 1px 0 hsla(0,0%,100%,.2)}.btn-primary:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 6px 24px rgba(91,138,255,.55)}.btn-primary:not(:disabled):active{transform:translateY(0)}.btn-success{background:linear-gradient(135deg,var(--success-dark),var(--success-darker));color:#fff;box-shadow:0 2px 12px rgba(16,185,129,.4),inset 0 1px 0 hsla(0,0%,100%,.2)}.btn-success:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 6px 24px rgba(16,185,129,.5)}.btn-success:not(:disabled):active{transform:translateY(0)}.btn-danger{background:linear-gradient(135deg,var(--danger),var(--danger-dark));color:#fff;box-shadow:0 2px 12px rgba(239,68,68,.4)}.btn-danger:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(239,68,68,.5)}.btn-danger:not(:disabled):active{transform:translateY(0)}.btn-outline{background:hsla(0,0%,100%,.05);color:var(--text-muted);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.btn-outline:not(:disabled):hover{border-color:hsla(0,0%,100%,.2);color:var(--text);background:hsla(0,0%,100%,.09)}.btn-outline:not(:disabled):active{background:hsla(0,0%,100%,.04)}.btn-sm{padding:5px 11px;font-size:12px}.btn-xs{padding:4px 10px;font-size:11px;height:26px}.actions-bar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px;align-items:center;border:1px solid var(--glass-border);border-radius:var(--radius);padding:10px 14px;box-shadow:0 4px 16px rgba(0,0,0,.3),inset 0 1px 0 var(--glass-hi)}.actions-bar,.empty-state{background:var(--glass);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.empty-state{text-align:center;padding:72px 24px;color:var(--text-muted);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:0 8px 32px rgba(0,0,0,.3),inset 0 1px 0 var(--glass-hi);animation:fadeInUp .4s ease both}.empty-state .empty-icon{font-size:48px;margin-bottom:16px;opacity:.6;display:block}.empty-state h3{font-size:17px;font-weight:700;color:var(--text);margin-bottom:8px;letter-spacing:-.2px}.empty-state p{font-size:13px;margin-bottom:24px;max-width:300px;margin-left:auto;margin-right:auto}.period-select-wrap{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}.period-chip{padding:5px 14px;border-radius:100px;border:1px solid hsla(0,0%,100%,.1);background:hsla(0,0%,100%,.04);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:12px;font-weight:500;cursor:pointer;transition:all .18s;color:var(--text-muted)}.period-chip:hover{border-color:rgba(91,138,255,.4);color:var(--primary);background:var(--primary-light)}.period-chip.active{background:linear-gradient(135deg,var(--primary),var(--primary-darker));border-color:transparent;color:#fff;box-shadow:0 2px 12px rgba(91,138,255,.45)}.period-chip.is-current{border-color:rgba(251,191,36,.3)}.period-chip.is-current:not(.active){color:var(--warning);background:rgba(251,191,36,.08)}.period-chip.is-current.active{background:linear-gradient(135deg,var(--warning),var(--amber));box-shadow:0 2px 12px rgba(245,158,11,.4)}.period-chip.has-mk{position:relative;overflow:hidden}.period-chip.has-mk:after{content:"";position:absolute;right:0;top:0;bottom:0;width:55%;background:linear-gradient(270deg,rgba(52,211,153,.45) 0,rgba(52,211,153,.15) 40%,transparent);pointer-events:none;border-radius:0 100px 100px 0}.period-chip.has-mk:not(.active){border-color:rgba(52,211,153,.3)}.period-chip.has-mk.active:after{background:linear-gradient(270deg,hsla(0,0%,100%,.3) 0,hsla(0,0%,100%,.08) 40%,transparent)}.period-table{animation:fadeInUp .35s ease both}.summary-cards{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:10px;gap:10px;margin-bottom:16px}@media (max-width:900px){.summary-cards{grid-template-columns:repeat(2,1fr)}}.summary-card{background:var(--glass);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:var(--radius);padding:14px 18px;box-shadow:0 4px 24px rgba(0,0,0,.35),inset 0 1px 0 var(--glass-hi);transition:transform .2s,box-shadow .2s,border-color .2s;cursor:default}.summary-card:hover{border-color:rgba(91,138,255,.2)}.summary-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.7px;color:var(--text-muted);margin-bottom:6px}.summary-val{font-size:22px;font-weight:700;color:var(--text);letter-spacing:-.5px}.summary-val-row{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.dashboard-charts-row{display:flex;gap:10px;margin-bottom:16px}.camp-section{margin-bottom:16px;animation:campFadeIn .3s ease both}@keyframes campFadeIn{0%{opacity:0}to{opacity:1}}.section-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.7px;color:var(--text-muted);padding:0 0 8px;margin:0}.table-wrap{overflow-x:auto;border-radius:var(--radius);border:1px solid var(--glass-border);background:var(--glass);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 4px 20px rgba(0,0,0,.3),inset 0 1px 0 var(--glass-hi)}.data-table{width:100%;border-collapse:collapse;font-size:var(--text-base)}.data-table td{padding:8px 12px;text-align:right;border-bottom:1px solid hsla(0,0%,100%,.04);white-space:nowrap}.data-table td:first-child{text-align:left;padding-left:16px;max-width:420px;overflow:hidden;text-overflow:ellipsis}.data-table tbody tr:last-child td{border-bottom:none}.data-table .row-sort-header td{background:hsla(0,0%,100%,.03);color:var(--text-muted);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;border-bottom:1px solid hsla(0,0%,100%,.05);transition:background .1s,color .1s}.data-table .row-sort-header td.sortable:hover{background:var(--primary-light);color:var(--primary)}.data-table .row-sort-header td.sort-active{color:var(--primary);font-weight:700}.data-table .row-sort-header td:after{content:"";display:inline-block;width:10px}.data-table .row-sort-header td[data-sort=desc]:after{content:" ↓";width:auto}.data-table .row-sort-header td[data-sort=asc]:after{content:" ↑";width:auto}.data-table .row-camp td,.data-table .row-image td,.data-table .row-text td,.data-table .row-title td{background:transparent}.data-table .row-camp:hover td{background:var(--row-camp-hover)}.data-table .row-title:hover td{background:var(--row-title-hover)}.data-table .row-text:hover td{background:var(--row-text-hover)}.data-table .row-image:hover td{background:var(--row-img-hover)}.data-table .row-camp td:first-child{box-shadow:inset 3px 0 0 rgba(52,211,153,.4)}.data-table .row-title td:first-child{box-shadow:inset 3px 0 0 rgba(245,158,11,.4)}.data-table .row-text td:first-child{box-shadow:inset 3px 0 0 rgba(167,139,250,.4)}.data-table .row-image td:first-child{box-shadow:inset 3px 0 0 rgba(45,212,191,.4)}.data-table .row-subtotal td{background:var(--row-subtotal-bg);color:var(--row-subtotal-fg);font-weight:600;font-size:var(--text-sm);border-top:1px solid var(--row-subtotal-border);border-bottom:1px solid var(--row-subtotal-border)}.data-table .row-subtotal td:first-child{padding-left:16px}.summary-table-wrap{overflow-x:auto;border-radius:var(--radius);border:1px solid var(--glass-border);background:var(--glass);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 4px 20px rgba(0,0,0,.3);margin-bottom:16px}.summary-table{width:100%;border-collapse:collapse;font-size:var(--text-base)}.summary-table td,.summary-table th{padding:8px 12px;text-align:left;border-bottom:1px solid hsla(0,0%,100%,.04);white-space:nowrap}.summary-table tbody tr:last-child td{border-bottom:none}.summary-table thead th{background:hsla(0,0%,100%,.03);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);position:-webkit-sticky;position:sticky;top:0;z-index:2;border-bottom:1px solid hsla(0,0%,100%,.05)}.row-month th,.row-week th{background:rgba(91,138,255,.15);color:var(--row-period-fg);font-size:13px;font-weight:600;text-transform:none;letter-spacing:0;padding:9px 12px}.row-total td{background:rgba(251,191,36,.07);color:#fbbf24;font-weight:700;border-top:1px solid rgba(251,191,36,.2);border-bottom:1px solid rgba(251,191,36,.2)}.row-camp-header td,.row-image-header td,.row-text-header td,.row-title-header td{font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.5px;padding:5px 12px}.row-camp-header td{background:var(--row-camp-hbg);color:var(--row-camp-hfg);box-shadow:inset 3px 0 0 rgba(52,211,153,.5)}.row-title-header td{background:var(--row-title-hbg);color:var(--row-title-hfg);box-shadow:inset 3px 0 0 rgba(245,158,11,.5)}.row-text-header td{background:var(--row-text-hbg);color:var(--row-text-hfg);box-shadow:inset 3px 0 0 rgba(167,139,250,.5)}.row-image-header td{background:var(--row-img-hbg);color:var(--row-img-hfg);box-shadow:inset 3px 0 0 rgba(45,212,191,.5)}.row-camp td,.row-image td,.row-text td,.row-title td{background:transparent}.row-camp:hover td{background:var(--row-camp-hover)}.row-title:hover td{background:var(--row-title-hover)}.row-text:hover td{background:var(--row-text-hover)}.row-image:hover td{background:var(--row-img-hover)}.row-type-header td{font-size:11px;padding:4px 12px 4px 24px}.row-sort-header td,.row-type-header td{background:hsla(0,0%,100%,.03);color:var(--text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid hsla(0,0%,100%,.04)}.row-sort-header td{font-size:10px;padding:4px 12px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:background .1s,color .1s;white-space:nowrap}.row-sort-header td:hover{background:var(--primary-light);color:var(--primary)}.row-sort-header td.sort-active{color:var(--primary);font-weight:700}.row-sort-header td:first-child{padding-left:24px}.row-sort-header td:after{content:"";display:inline-block;width:12px}.row-sort-header td[data-sort=desc]:after{content:" ↓";width:auto}.row-sort-header td[data-sort=asc]:after{content:" ↑";width:auto}.row-subtotal td{background:var(--row-subtotal-bg);color:var(--row-subtotal-fg);font-weight:600;font-size:var(--text-sm);border-top:1px solid var(--row-subtotal-border);border-bottom:1px solid var(--row-subtotal-border)}.row-subtotal td:first-child{padding-left:24px}.row-camp td:first-child,.row-image td:first-child,.row-text td:first-child,.row-title td:first-child{padding-left:24px;text-align:left;max-width:460px;overflow:hidden;text-overflow:ellipsis}.row-camp td:first-child{box-shadow:inset 3px 0 0 rgba(52,211,153,.35)}.row-title td:first-child{box-shadow:inset 3px 0 0 rgba(245,158,11,.35)}.row-text td:first-child{box-shadow:inset 3px 0 0 rgba(167,139,250,.35)}.row-image td:first-child{box-shadow:inset 3px 0 0 rgba(45,212,191,.35)}.zero-val{color:var(--text-muted);opacity:.4}.neg-trend{color:var(--danger)}.pos-trend{color:var(--success)}.report-card{background:var(--glass);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-radius:var(--radius);padding:20px;margin-bottom:12px;box-shadow:0 4px 20px rgba(0,0,0,.3),inset 0 1px 0 var(--glass-hi);transition:transform .2s,box-shadow .2s;border:1px solid var(--glass-border);border-left-width:3px;animation:fadeInUp .35s ease both}.report-card:hover{transform:translateY(-2px);box-shadow:0 8px 32px rgba(0,0,0,.4)}.report-card--weekly{border-left-color:var(--primary)}.report-card--monthly{border-left-color:var(--success)}.report-header{font-size:var(--text-sm);color:var(--text-light);margin-bottom:12px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}.report-period{font-weight:500;color:var(--text)}.report-type{background:var(--primary-light);color:var(--primary);padding:2px 8px;border-radius:100px;font-size:11px;font-weight:600}.report-date{color:var(--text-muted)}.report-text{white-space:pre-wrap;font-size:13px;line-height:1.7;color:var(--text)}.modal-overlay{display:none;position:fixed;inset:0;background:rgba(4,8,20,.65);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:100;align-items:center;justify-content:center;padding:20px}.modal-overlay.open,.modal-overlay[style*=flex]{display:flex}.modal{background:rgba(12,22,50,.85);backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);border:1px solid hsla(0,0%,100%,.1);border-radius:var(--radius-lg);padding:28px;width:500px;max-width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 24px 60px rgba(0,0,0,.6),inset 0 1px 0 hsla(0,0%,100%,.08);animation:modalIn .2s cubic-bezier(.16,1,.3,1)}@keyframes modalIn{0%{transform:translateY(12px) scale(.97);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.modal-title{font-size:16px;font-weight:700;margin:0 0 20px;padding:0;color:var(--text);letter-spacing:-.3px}.modal-footer{display:flex;justify-content:flex-end;gap:8px;margin-top:24px;padding-top:16px;border-top:1px solid var(--glass-border)}#auth-screen{position:fixed;inset:0;background:radial-gradient(ellipse at 30% 40%,rgba(59,100,255,.15) 0,transparent 60%),radial-gradient(ellipse at 70% 70%,rgba(120,80,220,.12) 0,transparent 60%),#060c1a;display:flex;align-items:center;justify-content:center;z-index:1000}.auth-card{background:rgba(12,22,50,.8);backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);border:1px solid hsla(0,0%,100%,.1);border-radius:var(--radius-xl);box-shadow:0 24px 60px rgba(0,0,0,.6),inset 0 1px 0 hsla(0,0%,100%,.08);padding:40px 36px;width:100%;max-width:380px;text-align:center;animation:modalIn .35s cubic-bezier(.16,1,.3,1)}.auth-logo{display:flex;align-items:center;justify-content:center;margin:0 auto 16px}.auth-brand{font-size:22px;font-weight:700;letter-spacing:-.5px;color:var(--text)}.auth-brand span{color:var(--primary)}.auth-subtitle{font-size:12px;color:var(--text-light);margin-top:4px;margin-bottom:28px}.auth-setup-notice{display:flex;align-items:center;gap:8px;background:var(--primary-light);color:var(--primary);border:1px solid rgba(91,138,255,.2);border-radius:var(--radius-sm);font-size:12px;margin-bottom:20px}.auth-error,.auth-setup-notice,.form-error{padding:10px 14px;font-weight:500;text-align:left}.auth-error,.form-error{background:var(--danger-light);color:var(--danger);border:1px solid var(--danger-border);border-radius:var(--radius-sm);font-size:var(--text-sm);margin-bottom:16px}.btn-full{width:100%;justify-content:center;margin-top:4px}.form-group{margin-bottom:16px}.form-label{display:block;font-size:12px;font-weight:600;color:var(--text-muted);margin-bottom:6px;letter-spacing:.2px}.form-control{width:100%;padding:9px 12px;border:1px solid hsla(0,0%,100%,.1);border-radius:var(--radius-sm);font-size:13px;font-family:inherit;color:var(--text);background:hsla(0,0%,100%,.05);transition:border-color .15s,box-shadow .15s;outline:none}.form-control:focus{border-color:rgba(91,138,255,.5);box-shadow:0 0 0 3px rgba(91,138,255,.15);background:hsla(0,0%,100%,.07)}.form-control::placeholder{color:var(--text-light)}select.form-control option{background:#0d1a3a}.counter-list{display:flex;flex-direction:column;gap:8px}.counter-item{display:flex;gap:8px;align-items:flex-start;background:hsla(0,0%,100%,.04);border:1px solid hsla(0,0%,100%,.07);border-radius:var(--radius-sm);padding:10px}.btn-remove-counter{background:none;border:1px solid hsla(0,0%,100%,.1);border-radius:var(--radius-sm);width:28px;height:28px;cursor:pointer;color:var(--text-muted);font-size:16px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:color .13s,background .13s}.btn-remove-counter:hover{color:var(--danger);background:var(--danger-light)}.period-check-list{display:flex;flex-direction:column;gap:2px;max-height:320px;overflow-y:auto;border:1px solid hsla(0,0%,100%,.08);border-radius:var(--radius-sm);padding:6px;margin-bottom:12px;scrollbar-width:thin;scrollbar-color:hsla(0,0%,100%,.1) transparent}.tz-dropdown{scrollbar-width:thin;scrollbar-color:hsla(0,0%,100%,.18) transparent}.tz-dropdown::-webkit-scrollbar{width:4px}.tz-dropdown::-webkit-scrollbar-track{background:transparent}.tz-dropdown::-webkit-scrollbar-thumb{background:hsla(0,0%,100%,.18);border-radius:4px}.tz-dropdown::-webkit-scrollbar-thumb:hover{background:hsla(0,0%,100%,.32)}.period-check-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--radius-sm);cursor:pointer;font-size:13px;font-weight:500;transition:background .1s;-webkit-user-select:none;-moz-user-select:none;user-select:none;color:var(--text)}.period-check-item:hover{background:var(--primary-light)}.period-check-item input[type=checkbox]{width:15px;height:15px;accent-color:var(--primary);cursor:pointer;flex-shrink:0}.upload-area{border:2px dashed hsla(0,0%,100%,.12);border-radius:var(--radius);padding:28px;text-align:center;cursor:pointer;transition:all .18s;color:var(--text-muted);background:hsla(0,0%,100%,.03)}.upload-area.dragover,.upload-area:hover{border-color:rgba(91,138,255,.5);background:var(--primary-light);color:var(--primary)}#toast-container{position:fixed;bottom:24px;right:24px;z-index:200;display:flex;flex-direction:column;gap:8px}.toast{padding:12px 18px;border-radius:var(--radius);font-size:13px;font-weight:500;color:#fff;max-width:360px;box-shadow:0 8px 32px rgba(0,0,0,.5);animation:toastIn .25s cubic-bezier(.16,1,.3,1);display:flex;align-items:center;gap:8px;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid hsla(0,0%,100%,.12)}.toast:before{font-size:15px;flex-shrink:0}.toast.success{background:rgba(5,150,105,.85)}.toast.success:before{content:"✓"}.toast.error{background:rgba(220,38,38,.85)}.toast.error:before{content:"✕"}.toast.info{background:rgba(64,112,244,.85)}.toast.info:before{content:"ℹ"}@keyframes toastIn{0%{transform:translateX(110%);opacity:0}to{transform:translateX(0);opacity:1}}.spinner{display:inline-block;width:14px;height:14px;border:2px solid hsla(0,0%,100%,.25);border-top-color:#fff;border-radius:50%;animation:spin .65s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(1turn)}}.img-thumb{max-width:72px;max-height:36px;border-radius:4px;vertical-align:middle;cursor:pointer;border:1px solid hsla(0,0%,100%,.1)}.btn-hamburger{display:none;background:none;border:none;cursor:pointer;color:var(--text-muted);padding:6px;border-radius:var(--radius-sm);align-items:center;justify-content:center;flex-shrink:0;transition:color .15s,background .15s}.btn-hamburger:hover{color:var(--text);background:hsla(0,0%,100%,.05)}.sidebar-overlay{display:none;position:fixed;inset:0;background:rgba(4,8,20,.55);z-index:40;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.sidebar-overlay.show{display:block}.admin-user-row{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid hsla(0,0%,100%,.05);gap:12px}.admin-user-row:last-child{border-bottom:none}@media (max-width:768px){#sidebar{position:fixed;top:0;left:0;bottom:0;z-index:50;transform:translateX(-100%);transition:transform .25s ease,box-shadow .25s ease;width:260px;min-width:260px}#sidebar.mobile-open{transform:translateX(0);box-shadow:var(--shadow-lg)}.btn-hamburger{display:flex}#main{width:100%}#content{padding:12px 14px}#topbar{padding:0 14px;gap:10px}#project-title{font-size:14px}#tabs-wrap{overflow-x:auto;flex-shrink:1;min-width:0}.tabs{flex-wrap:nowrap}.tab-btn{padding:5px 12px;font-size:12px}.actions-bar{padding:8px 10px;gap:6px}.summary-cards{grid-template-columns:repeat(2,1fr)}.summary-table-wrap{font-size:12px}.summary-table td,.summary-table th{padding:6px 8px}.period-chip{padding:4px 10px;font-size:11px}.auth-card{padding:28px 20px;margin:16px}#toast-container{left:12px;right:12px;bottom:16px}.toast{max-width:100%}.summary-val-row{align-items:flex-start;gap:4px}.dashboard-charts-row,.summary-val-row{flex-direction:column}.btn-export-xls{display:none!important}}.compare-select-wrap{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:-8px;margin-bottom:14px}.compare-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--text-light);padding:0 2px;flex-shrink:0}.period-chip-compare{border-color:rgba(167,139,250,.18);color:var(--text-light);font-size:11px}.period-chip-compare:hover{border-color:rgba(167,139,250,.5);color:var(--purple);background:var(--purple-light)}.period-chip-compare.active{background:linear-gradient(135deg,var(--purple),#7c3aed);border-color:transparent;color:#fff;box-shadow:0 2px 12px rgba(167,139,250,.4)}.summary-delta{display:inline-flex;align-items:center;gap:2px;font-size:11px;font-weight:600;padding:2px 7px;border-radius:100px;letter-spacing:-.1px;flex-shrink:0}.delta-good{color:var(--success);background:var(--success-light)}.delta-bad{color:var(--danger);background:var(--danger-light)}.delta-neutral{color:var(--text-muted);background:hsla(0,0%,100%,.06)}.chat-fab{position:fixed;bottom:80px;right:24px;width:52px;height:52px;border-radius:50%;background:var(--primary);border:none;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(91,138,255,.45);z-index:120;transition:transform .2s,box-shadow .2s,background .2s}.chat-fab:hover{transform:scale(1.08);box-shadow:0 6px 28px rgba(91,138,255,.6)}.chat-fab-open{background:hsla(0,0%,100%,.12);box-shadow:0 4px 16px rgba(0,0,0,.4)}.chat-fab-open:hover{background:hsla(0,0%,100%,.18)}@keyframes chatPulse{0%,to{box-shadow:0 4px 20px rgba(91,138,255,.45)}50%{box-shadow:0 4px 32px rgba(91,138,255,.75),0 0 0 6px rgba(91,138,255,.15)}}.chat-fab-pulse{animation:chatPulse 1.4s ease-in-out infinite}.chat-panel{position:fixed;bottom:142px;right:24px;width:480px;max-height:620px;display:flex;flex-direction:column;background:rgba(8,14,32,.97);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid hsla(0,0%,100%,.13);border-radius:18px;box-shadow:0 20px 60px rgba(0,0,0,.7),inset 0 1px 0 hsla(0,0%,100%,.07);z-index:119;overflow:hidden;animation:chatPanelIn .22s cubic-bezier(.16,1,.3,1)}@keyframes chatPanelIn{0%{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.chat-header{justify-content:space-between;padding:14px 16px 12px;border-bottom:1px solid hsla(0,0%,100%,.08);flex-shrink:0}.chat-header,.chat-title{display:flex;align-items:center}.chat-title{gap:8px;font-size:13px;font-weight:700;color:var(--text);letter-spacing:-.1px}.chat-period-badge{font-size:10px;font-weight:400;color:var(--text-muted);margin-top:1px;letter-spacing:.1px}.chat-clear-btn{display:flex;align-items:center;gap:5px;background:none;border:none;color:var(--text-muted);font-size:12px;font-family:inherit;cursor:pointer;padding:4px 8px;border-radius:6px;transition:color .15s,background .15s}.chat-clear-btn:hover{color:var(--danger);background:var(--danger-light)}.chat-messages{overflow-y:auto;padding:12px 14px;gap:10px;scrollbar-width:thin;scrollbar-color:hsla(0,0%,100%,.12) transparent}.chat-empty,.chat-messages{flex:1 1;display:flex;flex-direction:column}.chat-empty{align-items:center;justify-content:center;color:rgba(210,220,255,.22);gap:8px;text-align:center;padding:40px 0;font-size:13px}.chat-status{color:var(--text-muted);font-size:12px;text-align:center;padding:12px 0}.chat-error{font-size:12px;padding:10px 12px;border-radius:8px;background:var(--danger-light);color:var(--danger);border:1px solid var(--danger-border)}.chat-msg{display:flex;align-items:flex-start;gap:8px}.chat-msg-user{flex-direction:row-reverse}.chat-msg-avatar{width:26px;height:26px;border-radius:50%;flex-shrink:0;background:linear-gradient(135deg,var(--primary) 0,#8b5cf6 100%);display:flex;align-items:center;justify-content:center;color:#fff;margin-top:2px}.chat-msg-bubble{max-width:82%;padding:9px 12px;border-radius:14px;font-size:13px;line-height:1.5;word-break:break-word}.chat-msg-user .chat-msg-bubble{background:var(--primary);color:#fff;border-bottom-right-radius:4px}.chat-msg-ai .chat-msg-bubble{background:hsla(0,0%,100%,.07);color:var(--text);border-bottom-left-radius:4px;border:1px solid hsla(0,0%,100%,.08)}.sensors-wrap{display:flex;flex-direction:column;gap:12px}.sensors-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.sensors-header-left{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.sensors-ok{display:flex;align-items:center;gap:7px;font-size:13px;color:var(--success);font-weight:500}.sensors-count{display:flex;gap:6px;flex-wrap:wrap}.sensors-badge{font-size:12px;font-weight:600;padding:3px 10px;border-radius:100px}.sensors-badge--danger{background:var(--danger-light);color:var(--danger);border:1px solid var(--danger-border)}.sensors-badge--warning{background:var(--warning-light);color:var(--warning);border:1px solid rgba(251,191,36,.3)}.sensors-settings-btn{display:flex;align-items:center;gap:6px;background:var(--glass);border:1px solid var(--glass-border);color:var(--text-muted);font-size:12px;font-family:inherit;padding:5px 12px;border-radius:8px;cursor:pointer;transition:color .15s,background .15s,border-color .15s;flex-shrink:0}.sensors-settings-btn.active,.sensors-settings-btn:hover{color:var(--text);background:var(--surface-2);border-color:var(--primary)}.sensors-loading{color:var(--text-muted);font-size:13px;padding:20px 0}.sensors-list{display:flex;flex-direction:column;gap:8px}.sensors-group-title{font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;padding:4px 0 2px;margin-top:4px}.sensors-group-title--danger{color:var(--danger)}.sensors-group-title--warning{color:var(--warning)}.sensor-alert{border-radius:10px;padding:12px 14px;border:1px solid transparent}.sensor-alert--danger{background:var(--danger-light);border-color:var(--danger-border)}.sensor-alert--warning{background:var(--warning-light);border-color:rgba(251,191,36,.3)}.sensor-alert__header{display:flex;align-items:center;gap:8px;margin-bottom:4px}.sensor-alert__icon{display:flex;flex-shrink:0}.sensor-alert__icon--danger{color:var(--danger)}.sensor-alert__icon--warning{color:var(--warning)}.sensor-alert__title{font-size:13px;font-weight:600;color:var(--text)}.sensor-alert__detail{font-size:12px;color:var(--text-muted);margin-left:23px;margin-bottom:4px}.sensor-alert__list{margin:6px 0 0 23px;padding:0;list-style:none;display:flex;flex-direction:column;gap:3px}.sensor-alert__list li{font-size:12px;color:var(--text-muted)}.sensor-alert__list li:before{content:"— "}.sensor-alert__overflow{font-style:italic;opacity:.7;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:opacity .15s}.sensor-alert__overflow:hover{opacity:1}.sensor-settings-panel{background:var(--surface);border:1px solid var(--glass-border);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:12px}.sensor-settings-section{border:1px solid hsla(0,0%,100%,.07);border-radius:8px;overflow:hidden}.sensor-settings-section-title{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);padding:7px 12px;background:hsla(0,0%,100%,.04);border-bottom:1px solid hsla(0,0%,100%,.06)}.sensor-setting-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 12px;border-bottom:1px solid hsla(0,0%,100%,.04);cursor:default;transition:background .12s}.sensor-setting-row:last-child{border-bottom:none}.sensor-setting-row:hover{background:rgba(91,138,255,.07)}.sensor-setting-label{font-size:13px;color:var(--text);flex:1 1;opacity:.85}.sensor-setting-input-wrap{display:flex;align-items:center;gap:6px;flex-shrink:0}.sensor-setting-input{width:64px;padding:3px 8px;background:hsla(0,0%,100%,.07);border:1px solid hsla(0,0%,100%,.12);border-radius:5px;color:var(--text);font-size:13px;font-family:inherit;text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;transition:border-color .15s,background .15s}.sensor-setting-input::-webkit-inner-spin-button,.sensor-setting-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.sensor-setting-input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.sensor-setting-input:focus{outline:none;border-color:rgba(91,138,255,.55);background:rgba(91,138,255,.08)}.sensor-setting-unit{font-size:12px;color:var(--text-muted);width:16px;text-align:left}.sensor-settings-footer{display:flex;justify-content:flex-end;gap:8px;padding-top:4px;border-top:1px solid hsla(0,0%,100%,.07)}.chat-md{font-size:13px}.chat-md>:first-child{margin-top:0!important}.chat-md>:last-child{margin-bottom:0!important}.chat-input-wrap{display:flex;align-items:flex-end;gap:8px;padding:10px 14px 14px;border-top:1px solid hsla(0,0%,100%,.08);flex-shrink:0}.chat-input{flex:1 1;resize:none;overflow:hidden;background:hsla(0,0%,100%,.07);border:1px solid hsla(0,0%,100%,.12);border-radius:10px;padding:8px 12px;color:var(--text);font-size:13px;font-family:inherit;line-height:1.45;outline:none;transition:border-color .15s;min-height:36px;max-height:120px}.chat-input:focus{border-color:rgba(91,138,255,.5)}.chat-input:disabled{opacity:.55}.chat-input::placeholder{color:var(--text-muted)}.chat-send-btn{width:36px;height:36px;border-radius:10px;flex-shrink:0;background:var(--primary);border:none;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s,transform .1s}.chat-send-btn:hover:not(:disabled){background:var(--primary-hover,#4a7aef)}.chat-send-btn:active:not(:disabled){transform:scale(.93)}.chat-send-btn:disabled{opacity:.4;cursor:not-allowed}@media (max-width:768px){.chat-fab{bottom:72px;right:16px;width:48px;height:48px}.chat-panel{right:0;left:0;bottom:130px;width:100%;border-radius:18px 18px 0 0;max-height:70vh}}@keyframes skeletonShimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton-bone{background:linear-gradient(90deg,hsla(0,0%,100%,.05),hsla(0,0%,100%,.1) 50%,hsla(0,0%,100%,.05));background-size:200% 100%;animation:skeletonShimmer 1.6s ease-in-out infinite}.skeleton-wrap{display:flex;flex-direction:column;gap:16px}.skeleton-chips{display:flex;gap:8px;flex-wrap:wrap}.skeleton-tabs{display:flex;gap:6px;flex-wrap:wrap}.skeleton-cards{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:12px;gap:12px}@media (max-width:900px){.skeleton-cards{grid-template-columns:repeat(2,1fr)}}@media (max-width:520px){.skeleton-cards{grid-template-columns:1fr 1fr}}.skeleton-card{padding:16px;display:flex;flex-direction:column}.skeleton-card,.skeleton-chart{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.skeleton-chart{height:200px;overflow:hidden}.skeleton-chart--labeled{display:flex;flex-direction:column}.skeleton-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.skeleton-table{display:flex;flex-direction:column;gap:11px}.skeleton-table-row{display:flex;align-items:center;gap:14px}.img-lightbox-overlay{position:fixed;inset:0;background:rgba(0,0,0,.78);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:1100;padding:24px}.img-lightbox{background:var(--surface-3);border:1px solid hsla(0,0%,100%,.13);border-radius:18px;max-width:860px;width:100%;position:relative;box-shadow:0 40px 100px rgba(0,0,0,.75);animation:lightbox-in .16s ease}@keyframes lightbox-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.img-lightbox-close{position:absolute;top:14px;right:14px;background:hsla(0,0%,100%,.1);border:1px solid hsla(0,0%,100%,.12);color:var(--text);width:30px;height:30px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s;z-index:1}.img-lightbox-close:hover{background:hsla(0,0%,100%,.2)}.img-lightbox-body{display:flex;gap:0;padding:28px;gap:24px;align-items:flex-start}.img-lightbox-img-wrap{flex:1 1;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.35);border-radius:12px;min-height:200px;padding:20px}.img-lightbox-img{max-width:100%;max-height:420px;object-fit:contain;border-radius:6px}.img-lightbox-metrics{width:196px;flex-shrink:0;display:flex;flex-direction:column;gap:2px;padding-top:2px}.img-lightbox-metrics-title{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);margin-bottom:10px}.img-lightbox-metric-row{display:flex;justify-content:space-between;align-items:center;padding:6px 8px;border-radius:7px;font-size:13px}.img-lightbox-metric-row:nth-child(2n){background:hsla(0,0%,100%,.045)}.img-lightbox-metric-label{color:var(--text-muted)}.img-lightbox-metric-val{font-weight:600;color:var(--text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.img-lightbox-open-link{display:inline-block;margin-top:14px;font-size:11px;color:var(--primary);text-decoration:none;opacity:.75;transition:opacity .15s}.img-lightbox-open-link:hover{opacity:1}.row-image-clickable{cursor:pointer;transition:background .12s}.row-image-clickable:hover td{background:rgba(91,138,255,.07)!important}.visibility-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 18px;margin-bottom:16px;display:flex;align-items:center;gap:24px;flex-wrap:wrap}.visibility-card-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);white-space:nowrap;flex-shrink:0}.visibility-card-body{display:flex;gap:28px;flex-wrap:wrap;flex:1 1}.visibility-metric{display:flex;flex-direction:column;gap:5px;min-width:160px}.visibility-metric-label{font-size:11px;color:var(--text-muted);font-weight:500}.visibility-card-val{font-size:20px;font-weight:700;color:var(--text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0}.visibility-card-max{font-size:13px;font-weight:400;color:var(--text-muted)}.visibility-bar{flex:1 1;min-width:80px;height:5px;background:hsla(0,0%,100%,.08);border-radius:3px;overflow:hidden}.visibility-bar-fill{height:100%;border-radius:3px;background:linear-gradient(90deg,var(--primary) 0,#34d399 100%);transition:width .5s ease}.budget-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px 20px;margin-bottom:16px}.budget-card-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:14px;flex-wrap:wrap;gap:8px}.budget-card-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.budget-card-status{font-size:11px;font-weight:600;padding:2px 8px;border-radius:20px}.budget-card-status--ok{color:var(--success);background:var(--success-light)}.budget-card-status--warn{color:var(--warning);background:var(--warning-light)}.budget-card-status--over{color:var(--danger);background:var(--danger-light)}.budget-card-body{display:flex;gap:28px;flex-wrap:wrap;margin-bottom:14px}.budget-metric{display:flex;flex-direction:column;gap:3px}.budget-metric-label{font-size:11px;color:var(--text-muted);font-weight:500}.budget-metric-val{font-size:18px;font-weight:700;color:var(--text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.budget-metric-val--projected{color:var(--warning)}.budget-metric-val--over{color:var(--danger)}.budget-bar-wrap{display:flex;align-items:center;gap:10px}.budget-bar{flex:1 1;height:6px;background:hsla(0,0%,100%,.08);border-radius:3px;overflow:visible;position:relative}.budget-bar-fill{height:100%;border-radius:3px;max-width:100%;transition:width .5s ease}.budget-bar-fill--ok{background:linear-gradient(90deg,var(--primary),var(--success))}.budget-bar-fill--warn{background:linear-gradient(90deg,var(--primary),var(--warning))}.budget-bar-fill--over{background:linear-gradient(90deg,var(--warning),var(--danger))}.budget-bar-target{position:absolute;top:-3px;bottom:-3px;width:2px;background:hsla(0,0%,100%,.5);border-radius:1px}.budget-bar-label{font-size:12px;font-weight:600;color:var(--text-muted);white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.budget-days{font-size:11px;color:var(--text-light);margin-top:6px}.neg-panel{justify-content:space-between;gap:10px;background:hsla(0,91%,71%,.07);border:1px solid hsla(0,91%,71%,.22);border-radius:10px;padding:10px 14px;margin-bottom:12px}.neg-panel,.neg-panel-filter{display:flex;align-items:center;flex-wrap:wrap}.neg-panel-filter{gap:8px}.neg-panel-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.neg-panel-label{font-size:13px;color:var(--text-muted);white-space:nowrap}.neg-panel-input{width:72px;background:hsla(0,0%,100%,.07);border:1px solid hsla(0,0%,100%,.15);border-radius:6px;padding:4px 8px;color:var(--text);font-size:13px;font-family:inherit;text-align:right}.neg-panel-input:focus{outline:none;border-color:hsla(0,91%,71%,.5)}.neg-count{font-size:13px;font-weight:700;color:var(--danger)}.neg-export-btn{display:flex;align-items:center;gap:5px;color:var(--text)!important}.neg-row{cursor:pointer!important;transition:background .1s}.neg-row:hover td{background:hsla(0,0%,100%,.04)!important}.neg-row--selected td{background:hsla(0,91%,71%,.1)!important}.neg-row--selected:hover td{background:hsla(0,91%,71%,.15)!important}.neg-checkbox{width:14px;height:14px;accent-color:var(--danger);cursor:pointer;flex-shrink:0}