@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}input[type=checkbox]{--cb-color:var(--primary);--cb-color-bg:var(--primary-light);-moz-appearance:none;appearance:none;-webkit-appearance:none;width:15px;height:15px;border:1.5px solid hsla(0,0%,100%,.2);border-radius:4px;background:hsla(0,0%,100%,.05);cursor:pointer;flex-shrink:0;vertical-align:middle;transition:border-color .15s,background .15s,box-shadow .15s}input[type=checkbox]:hover{border-color:var(--cb-color);background:var(--cb-color-bg)}input[type=checkbox]:checked{background:var(--cb-color);border-color:var(--cb-color);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 6l2.5 2.5 4.5-4.5' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E");background-size:9px 9px;background-position:50%;background-repeat:no-repeat}input[type=checkbox]:focus-visible{outline:none;box-shadow:0 0 0 2.5px var(--primary-glow)}input[type=checkbox].checkbox-success{--cb-color:var(--green);--cb-color-bg:var(--green-light)}input[type=checkbox].checkbox-danger{--cb-color:var(--danger);--cb-color-bg:var(--danger-light)}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}}.camp-filter-bar{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.camp-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 10px 5px 12px;border-radius:8px;border:1px solid var(--border);background:hsla(0,0%,100%,.04);color:var(--text-muted);font-size:12px;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s,color .15s;max-width:280px;font-family:inherit}.camp-chip:hover{background:hsla(0,0%,100%,.07);color:var(--text);border-color:hsla(0,0%,100%,.2)}.camp-chip.active{background:var(--primary-light);border-color:rgba(91,138,255,.4);color:var(--primary)}.camp-chip-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:200px}.camp-chip-count{flex-shrink:0;background:hsla(0,0%,100%,.08);border-radius:5px;padding:1px 5px;font-size:11px;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.camp-chip.active .camp-chip-count{background:rgba(91,138,255,.2)}.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);scrollbar-width:thin;scrollbar-color:hsla(0,0%,100%,.12) transparent}.modal::-webkit-scrollbar{width:4px}.modal::-webkit-scrollbar-track{background:transparent}.modal::-webkit-scrollbar-thumb{background:hsla(0,0%,100%,.12);border-radius:999px}.modal::-webkit-scrollbar-thumb:hover{background:hsla(0,0%,100%,.22)}@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;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{width:14px;height:14px;border:2px solid hsla(0,0%,100%,.25);border-top-color:#fff;animation:spin .65s linear infinite;flex-shrink:0}.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)}.kb-root{display:flex;flex-direction:column;height:100vh;background:var(--bg);color:var(--text);font-family:Inter,sans-serif;overflow:hidden}.kb-header{gap:12px;padding:0 20px;height:52px;flex-shrink:0;background:hsla(0,0%,100%,.03);border-bottom:1px solid var(--glass-border)}.kb-back-btn,.kb-header{display:flex;align-items:center}.kb-back-btn{gap:6px;background:none;border:1px solid var(--glass-border);color:var(--text-muted);border-radius:7px;padding:5px 11px;font-size:12px;font-weight:500;font-family:inherit;cursor:pointer;transition:color .15s,border-color .15s,background .15s;white-space:nowrap}.kb-back-btn:hover{color:var(--text);border-color:hsla(0,0%,100%,.25);background:hsla(0,0%,100%,.06)}.kb-header-title{display:flex;align-items:center;gap:8px;font-weight:700;font-size:15px;color:var(--text);flex:1 1}.kb-mobile-menu-btn{display:none;background:none;border:1px solid var(--glass-border);color:var(--text-muted);border-radius:7px;padding:5px 9px;cursor:pointer;margin-left:auto}.kb-body{flex:1 1}.kb-body,.kb-sidebar{display:flex;overflow:hidden}.kb-sidebar{width:268px;flex-shrink:0;border-right:1px solid var(--glass-border);flex-direction:column;background:hsla(0,0%,100%,.018)}.kb-search-wrap{position:relative;padding:12px 12px 8px;flex-shrink:0}.kb-search-icon{position:absolute;left:23px;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none}.kb-search{width:100%;background:hsla(0,0%,100%,.06);border:1px solid var(--glass-border);border-radius:8px;padding:7px 30px;color:var(--text);font-size:13px;font-family:inherit;outline:none;box-sizing:border-box;transition:border-color .15s}.kb-search:focus{border-color:var(--primary-glow)}.kb-search::placeholder{color:var(--text-muted);opacity:.6}.kb-search-clear{position:absolute;right:22px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:11px;padding:0;line-height:1}.kb-search-results{flex:1 1;overflow-y:auto;padding:4px 8px 8px}.kb-search-empty{text-align:center;padding:24px 12px;color:var(--text-muted);font-size:13px}.kb-search-item{padding:9px 10px;border-radius:8px;cursor:pointer;transition:background .1s;margin-bottom:2px}.kb-search-item:hover{background:hsla(0,0%,100%,.07)}.kb-search-item-title{font-size:13px;font-weight:500;color:var(--text);margin-bottom:2px}.kb-search-item-cat{font-size:11px;color:var(--text-muted)}.kb-nav{flex:1 1;overflow-y:auto;padding:4px 8px 16px;scrollbar-width:thin;scrollbar-color:hsla(0,0%,100%,.12) transparent}.kb-nav-category{margin-bottom:2px}.kb-nav-cat-btn{display:flex;align-items:center;gap:8px;width:100%;background:none;border:none;color:var(--text);font-size:12.5px;font-weight:600;font-family:inherit;padding:8px 10px;border-radius:8px;cursor:pointer;text-align:left;transition:background .1s;text-transform:uppercase;letter-spacing:.03em}.kb-nav-cat-btn:hover{background:hsla(0,0%,100%,.06)}.kb-nav-cat-icon{font-size:14px;flex-shrink:0}.kb-nav-cat-title{flex:1 1}.kb-nav-chevron{opacity:.45;flex-shrink:0;transition:transform .2s}.kb-nav-articles{padding:2px 0 4px 20px}.kb-nav-art-btn{display:block;width:100%;background:none;border:none;color:var(--text-muted);font-size:12.5px;font-weight:450;font-family:inherit;padding:6px 10px;border-radius:7px;cursor:pointer;text-align:left;transition:background .1s,color .1s;line-height:1.4}.kb-nav-art-btn:hover{background:hsla(0,0%,100%,.06);color:var(--text)}.kb-nav-art-btn--active{background:var(--primary-light);color:var(--primary);font-weight:600}.kb-main{flex:1 1;overflow:hidden;display:flex;flex-direction:column}.kb-article-scroll{flex:1 1;overflow-y:auto;scrollbar-width:thin;scrollbar-color:hsla(0,0%,100%,.12) transparent}.kb-article{max-width:780px;margin:0 auto;padding:32px 40px 64px}.kb-article-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--text-muted);text-align:center;padding:40px}.kb-article-empty h2{font-size:20px;margin:0 0 8px;color:var(--text)}.kb-article-empty p{font-size:14px;margin:0}.kb-breadcrumb{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-muted);margin-bottom:24px}.kb-breadcrumb-cat{opacity:.7}.kb-breadcrumb-sep{opacity:.4}.kb-breadcrumb-title{color:var(--text);font-weight:500}.kb-article-body{line-height:1.7;font-size:14px}.kb-h2{font-size:22px;font-weight:700;margin:0 0 16px;padding-bottom:10px;border-bottom:1px solid var(--glass-border)}.kb-h2,.kb-h3{color:var(--text)}.kb-h3{font-size:15px;font-weight:600;margin:24px 0 10px}.kb-ol,.kb-p,.kb-ul{margin:0 0 14px;color:rgba(210,220,255,.8)}.kb-ol,.kb-ul{padding-left:22px}.kb-ol li,.kb-ul li{margin-bottom:6px}.kb-tip{background:rgba(91,138,255,.1);border-left:3px solid var(--primary);border-radius:0 8px 8px 0;padding:12px 16px;margin:0 0 14px;color:rgba(210,220,255,.85);font-size:13.5px;display:flex;flex-direction:column;gap:4px}.kb-code-inline{background:hsla(0,0%,100%,.1);border:1px solid hsla(0,0%,100%,.12);border-radius:4px;padding:1px 5px}.kb-code-block,.kb-code-inline{font-family:Courier New,monospace;font-size:12.5px;color:#a5f3fc}.kb-code-block{background:rgba(0,0,0,.35);border:1px solid hsla(0,0%,100%,.1);padding:14px 16px;line-height:1.6}.kb-code-block,.kb-table-wrap{border-radius:8px;margin:0 0 14px;overflow-x:auto}.kb-table{width:100%;border-collapse:collapse;font-size:13px}.kb-table th{background:hsla(0,0%,100%,.07);color:var(--text);font-weight:600;padding:9px 14px;text-align:left;border-bottom:1px solid var(--glass-border)}.kb-table td{padding:8px 14px;color:rgba(210,220,255,.8);border-bottom:1px solid hsla(0,0%,100%,.04)}.kb-table tr:last-child td{border-bottom:none}.kb-table tr:hover td{background:hsla(0,0%,100%,.03)}.kb-mobile-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:99}@media (max-width:720px){.kb-mobile-menu-btn{display:flex;align-items:center}.kb-mobile-overlay{display:block}.kb-sidebar{position:fixed;left:0;top:52px;bottom:0;z-index:100;transform:translateX(-100%);transition:transform .25s ease;width:280px;background:#0b1428;border-right:1px solid hsla(0,0%,100%,.1);box-shadow:6px 0 32px rgba(0,0,0,.7)}.kb-sidebar--open{transform:translateX(0)}.kb-article{padding:20px 18px 48px}.kb-header-title{font-size:14px}}.btn-knowledge:hover{color:var(--primary)!important;background:var(--primary-light)!important}.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;cursor:pointer;flex-shrink:0}.oauth-section{margin-bottom:14px;padding:11px 14px;background:hsla(0,0%,100%,.025);border:1px solid var(--glass-border);border-radius:var(--radius-sm)}.btn-yandex{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;background:#fc3f1d;color:#fff;border:none;border-radius:var(--radius-sm);font-size:13px;font-weight:600;cursor:pointer;transition:background .15s,transform .1s;line-height:1}.btn-yandex:hover{background:#e03518;transform:translateY(-1px)}.btn-yandex:active{transform:none}.oauth-badge{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.oauth-badge-icon{color:var(--success);font-size:15px;font-weight:700}.oauth-badge-text{font-size:13px;color:var(--text)}.oauth-reconnect{background:none;border:none;color:var(--text-muted);font-size:11px;cursor:pointer;text-decoration:underline;padding:0;margin-left:auto}.oauth-reconnect:hover{color:var(--text)}.oauth-hint{margin:7px 0 0;font-size:11px;color:var(--text-light);line-height:1.4}.form-label-hint{font-weight:400;color:var(--text-muted)}.modal--wizard{width:460px}.wizard-steps{display:flex;align-items:flex-start;margin-bottom:28px}.wizard-step{display:flex;flex-direction:column;align-items:center;gap:5px;flex-shrink:0;min-width:80px}.wizard-line{flex:1 1;height:1.5px;background:var(--glass-border);margin-top:13px;min-width:12px;transition:background .3s}.wizard-line.done{background:var(--primary)}.wizard-dot{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;background:hsla(0,0%,100%,.05);border:1.5px solid var(--glass-border);color:var(--text-muted);flex-shrink:0;transition:background .2s,border-color .2s,color .2s}.wizard-dot.done{background:var(--primary);border-color:var(--primary);color:#fff}.wizard-dot.active{background:rgba(91,138,255,.15);border-color:var(--primary);color:var(--primary)}.wizard-label{font-size:11px;color:var(--text-muted);white-space:nowrap;text-align:center;line-height:1}.wizard-label.active{color:var(--text);font-weight:600}.wizard-content{flex:1 1}.wizard-title{font-size:16px;font-weight:700;margin:0 0 20px;color:var(--text);letter-spacing:-.3px}.wizard-step-hint{font-size:12px;color:var(--text-muted);margin:-12px 0 16px;line-height:1.4}.oauth-promo{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 0 16px}.btn-yandex-icon{display:inline-flex;align-items:center;gap:10px;padding:11px 28px;border-radius:var(--radius-sm);background:hsla(0,0%,100%,.06);border:1px solid rgba(91,138,255,.35);color:var(--text);font-size:14px;font-weight:500;font-family:inherit;cursor:pointer;transition:background .18s,border-color .18s,box-shadow .18s,transform .18s;box-shadow:0 4px 18px rgba(91,138,255,.1);white-space:nowrap}.btn-yandex-icon:hover{background:rgba(91,138,255,.12);border-color:rgba(91,138,255,.6);box-shadow:0 6px 26px rgba(91,138,255,.2);transform:translateY(-1px)}.btn-yandex-icon:active{transform:translateY(0);box-shadow:0 2px 10px rgba(91,138,255,.12)}.aud-tab{display:flex;flex-direction:column;gap:20px}.aud-section{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden}.aud-section-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px 12px;border-bottom:1px solid var(--border)}.aud-section-title{font-size:11px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em}.aud-section-total{font-size:12px;color:var(--text-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.aud-rows{display:flex;flex-direction:column}.aud-row{padding:14px 20px 12px;border-bottom:1px solid hsla(0,0%,100%,.04);transition:background .15s}.aud-row:last-child{border-bottom:none}.aud-row:hover{background:hsla(0,0%,100%,.02)}.aud-row--best{background:rgba(91,138,255,.04)}.aud-row--best:hover{background:rgba(91,138,255,.07)}.aud-row-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.aud-row-name-wrap{display:flex;align-items:center;gap:8px}.aud-row-name{font-size:15px;font-weight:600;color:var(--text);line-height:1}.aud-best-badge{font-size:10px;font-weight:600;color:var(--primary);background:rgba(91,138,255,.15);border:1px solid rgba(91,138,255,.3);border-radius:4px;padding:2px 6px;text-transform:uppercase;letter-spacing:.04em}.aud-row-pct{font-size:13px;font-weight:700;color:var(--text-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;min-width:36px;text-align:right}.aud-bar-track{height:8px;background:hsla(0,0%,100%,.06);border-radius:4px;overflow:hidden;margin-bottom:10px}.aud-bar-fill{height:100%;background:linear-gradient(90deg,var(--primary) 0,rgba(91,138,255,.7) 100%);border-radius:4px;transition:width .4s cubic-bezier(.4,0,.2,1)}.aud-row--best .aud-bar-fill{background:linear-gradient(90deg,#5b8aff,#7da4ff);box-shadow:0 0 8px rgba(91,138,255,.35)}.aud-metrics{display:flex;align-items:center;gap:0;flex-wrap:nowrap}.aud-m{display:flex;flex-direction:column;gap:2px;flex:1 1;min-width:0}.aud-m-sep{width:1px;height:28px;background:hsla(0,0%,100%,.06);margin:0 10px;flex-shrink:0}.aud-m-val{font-size:13px;font-weight:600;color:var(--text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.aud-m-val--accent{color:var(--primary)}.aud-m-lbl{font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.oauth-promo-desc{font-size:12px;color:var(--text-muted);max-width:260px;line-height:1.5;margin:0}.btn-yandex--hero{padding:11px 28px;font-size:14px;gap:10px}.wizard-or{display:flex;align-items:center;gap:10px;width:100%;color:var(--text-muted);font-size:12px}.wizard-or:after,.wizard-or:before{content:"";flex:1 1;height:1px;background:var(--glass-border)}.btn-ghost{background:none;border:none;padding:4px 8px;font-size:12px;color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:color .15s}.btn-ghost:hover{color:var(--text)}.oauth-success-card{display:flex;align-items:center;gap:12px;background:rgba(34,197,94,.07);border:1px solid rgba(34,197,94,.22);border-radius:var(--radius-sm);padding:14px 16px}.oauth-success-icon{width:30px;height:30px;border-radius:50%;background:rgba(34,197,94,.18);color:#4ade80;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:700;flex-shrink:0}.oauth-success-name{font-size:13px;font-weight:600;color:var(--text)}.oauth-success-sub{font-size:11px;color:var(--text-muted);margin-top:2px}.oauth-success-card .btn{margin-left:auto;flex-shrink:0}.wizard-manual{gap:10px}.wizard-manual,.wizard-reauth{display:flex;flex-direction:column}.wizard-reauth{gap:14px}.wizard-reauth-badge{display:flex;align-items:center;gap:12px;background:hsla(0,0%,100%,.04);border:1px solid var(--glass-border);border-radius:var(--radius-sm);padding:12px 16px}.wizard-reauth-icon{font-size:20px}.wizard-reauth-label{font-size:12px;color:var(--text-muted)}.wizard-reauth-login{font-size:14px;font-weight:600;color:var(--text);margin-top:1px}.counter-manual{display:flex;flex-direction:column}.wizard-advanced{margin-top:8px}.wizard-advanced-toggle{background:none;border:none;padding:5px 0;font-size:12px;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;gap:6px;transition:color .15s}.wizard-advanced-toggle:hover{color:var(--text)}.wizard-advanced-arrow{font-size:9px}.wizard-advanced-body{padding:12px 0 0;display:flex;flex-direction:column;gap:12px}.counter-picker,.cp-goals{scrollbar-width:thin;scrollbar-color:rgba(91,138,255,.3) transparent}.counter-picker::-webkit-scrollbar,.cp-goals::-webkit-scrollbar{width:3px}.counter-picker::-webkit-scrollbar-track,.cp-goals::-webkit-scrollbar-track{background:transparent}.counter-picker::-webkit-scrollbar-thumb,.cp-goals::-webkit-scrollbar-thumb{background:rgba(91,138,255,.35);border-radius:2px}.counter-picker::-webkit-scrollbar-thumb:hover,.cp-goals::-webkit-scrollbar-thumb:hover{background:rgba(91,138,255,.6)}.counter-picker{display:flex;flex-direction:column;gap:4px;max-height:340px;overflow-y:auto;padding-right:4px}.cp-counter{border:1px solid var(--glass-border);border-radius:var(--radius-sm);transition:border-color .15s,box-shadow .15s}.cp-counter--on{border-color:rgba(91,138,255,.45);box-shadow:0 0 0 1px rgba(91,138,255,.12)}.cp-counter-row{display:flex;align-items:center;gap:8px;padding:8px 10px;cursor:pointer;background:hsla(0,0%,100%,.035);-webkit-user-select:none;-moz-user-select:none;user-select:none;border-radius:var(--radius-sm);transition:background .12s}.cp-counter--on .cp-counter-row{border-radius:var(--radius-sm) var(--radius-sm) 0 0;background:rgba(91,138,255,.08)}.cp-counter-row:hover{background:hsla(0,0%,100%,.06)}.cp-counter--on .cp-counter-row:hover{background:rgba(91,138,255,.12)}.cp-check{width:14px;height:14px;flex-shrink:0;accent-color:var(--primary);cursor:pointer}.cp-counter-name{flex:1 1;font-size:12.5px;font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;letter-spacing:-.1px}.cp-counter-meta{font-size:10.5px;color:var(--text-muted);white-space:nowrap;flex-shrink:0;background:hsla(0,0%,100%,.06);border:1px solid var(--glass-border);border-radius:4px;padding:1px 6px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cp-goals{padding:0 10px 8px 12px;display:flex;flex-direction:column;gap:1px;background:rgba(91,138,255,.03);border-top:1px solid rgba(91,138,255,.15);border-left:2px solid rgba(91,138,255,.2);border-radius:0 0 var(--radius-sm) var(--radius-sm);max-height:200px;overflow-y:auto;-webkit-font-smoothing:antialiased;font-family:inherit}.cp-goals-header{display:flex;align-items:center;justify-content:space-between;position:-webkit-sticky;position:sticky;top:0;z-index:1;margin:0 -10px 2px -12px;padding:6px 10px 5px 12px;background:rgba(8,15,38,.98);border-bottom:1px solid rgba(91,138,255,.14)}.cp-hint{padding:3px 0}.cp-goals-header .cp-hint,.cp-hint{font-size:11px;color:var(--text-muted)}.cp-goals-header .cp-hint{font-weight:500;padding:0;letter-spacing:.1px}.cp-goals-actions{display:flex;align-items:center;gap:2px;font-size:11px}.cp-action-link{background:none;border:none;padding:2px 7px;cursor:pointer;font-size:11px;font-weight:500;font-family:inherit;color:var(--primary);border-radius:4px;transition:background .12s,color .12s}.cp-action-link:hover{background:rgba(91,138,255,.15);color:#a0b8ff}.cp-goals-sep{color:hsla(0,0%,100%,.18);font-size:10px;padding:0 1px}.cp-goal-row,.cp-goals-sep{-webkit-user-select:none;-moz-user-select:none;user-select:none}.cp-goal-row{display:flex;align-items:center;gap:8px;padding:4px 4px 4px 0;cursor:pointer;border-radius:4px;transition:background .1s;font-family:inherit;font-size:inherit;-webkit-font-smoothing:inherit}.cp-goal-row:hover{background:hsla(0,0%,100%,.05)}.cp-goal-name{flex:1 1;font-size:12px;font-weight:400;font-family:inherit;color:var(--text);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cp-goal-id{font-size:10px;font-family:ui-monospace,SF Mono,Cascadia Code,monospace;flex-shrink:0;background:hsla(0,0%,100%,.055);border:1px solid var(--glass-border);border-radius:4px;padding:1px 5px;letter-spacing:.2px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cp-goal-id,.form-hint{color:var(--text-muted)}.form-hint{font-size:11px;margin:0}.modal--settings{width:520px;max-width:96vw;max-height:90vh;display:flex;flex-direction:column;position:relative}.modal--settings:after{content:"";position:absolute;bottom:0;left:0;right:0;height:72px;background:linear-gradient(180deg,rgba(8,16,40,0) 0,rgba(8,16,40,.97));border-radius:0 0 var(--radius-lg) var(--radius-lg);pointer-events:none;z-index:2;transition:opacity .2s}.settings-form{display:flex;flex-direction:column;gap:16px;padding:24px;overflow-y:auto;flex:1 1;scrollbar-width:thin;scrollbar-color:hsla(0,0%,100%,.12) transparent}.settings-form::-webkit-scrollbar{width:4px}.settings-form::-webkit-scrollbar-track{background:transparent}.settings-form::-webkit-scrollbar-thumb{background:hsla(0,0%,100%,.12);border-radius:999px}.settings-form::-webkit-scrollbar-thumb:hover{background:hsla(0,0%,100%,.22)}.settings-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:4px}.settings-title{font-size:16px;font-weight:600;color:var(--text);margin:0;letter-spacing:-.2px}.settings-section{display:flex;flex-direction:column;gap:8px;padding:12px;background:hsla(0,0%,100%,.03);border:1px solid var(--glass-border);border-radius:var(--radius-sm)}.settings-section-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.6px;color:var(--text-muted)}.settings-auth-row,.settings-section-header{display:flex;align-items:center;justify-content:space-between}.settings-auth-row{gap:10px}.settings-auth-user{display:flex;align-items:center;gap:9px;min-width:0}.settings-auth-avatar{width:28px;height:28px;border-radius:50%;background:rgba(91,138,255,.2);border:1px solid rgba(91,138,255,.3);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:rgba(91,138,255,.9);flex-shrink:0}.settings-auth-info{display:flex;align-items:center;gap:7px;min-width:0}.settings-auth-login{font-size:13px;font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.settings-auth-badge{font-size:10px;font-weight:500;padding:1px 6px;border-radius:4px;background:rgba(34,197,94,.12);color:rgba(34,197,94,.9);border:1px solid rgba(34,197,94,.2);flex-shrink:0}.settings-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.settings-counters{display:flex;flex-direction:column;gap:4px}.settings-counter-item{display:flex;align-items:center;gap:8px;padding:4px 0}.settings-counter-id{font-size:12px;font-weight:500;color:var(--text);font-family:ui-monospace,SF Mono,Cascadia Code,monospace}.settings-counter-goals{font-size:11px;color:var(--text-muted)}.settings-form .modal-footer{margin-top:4px;padding:0;border:none;background:none}.modal-overlay--sub{z-index:1100}.modal--picker{width:480px;max-width:96vw;max-height:85vh;display:flex;flex-direction:column;position:relative}.modal--picker:after{content:"";position:absolute;bottom:0;left:0;right:0;height:64px;background:linear-gradient(180deg,rgba(8,16,40,0) 0,rgba(8,16,40,.97));border-radius:0 0 var(--radius-lg) var(--radius-lg);pointer-events:none;z-index:2}.picker-modal-header{padding:20px 20px 0}.picker-modal-title{font-size:15px;font-weight:600;color:var(--text);margin:0 0 3px;letter-spacing:-.15px}.picker-modal-hint{font-size:11.5px;color:var(--text-muted);margin:0}.picker-modal-body{padding:14px 20px 0;overflow-y:auto;flex:1 1}.picker-modal-loading{display:flex;align-items:center;font-size:12.5px;color:var(--text-muted);padding:12px 0}.modal--picker .modal-footer{padding:12px 20px 20px;border-top:1px solid var(--glass-border);margin-top:14px}.model-select{display:flex;flex-direction:column;gap:3px}.model-select-loading{font-size:11px;color:var(--text-muted);margin:0 0 4px;padding:0 2px}.model-card{display:flex;align-items:center;gap:9px;padding:7px 10px;background:hsla(0,0%,100%,.03);border:1px solid var(--glass-border);border-radius:var(--radius-sm);cursor:pointer;text-align:left;width:100%;transition:border-color .14s,background .14s,box-shadow .14s;font-family:inherit}.model-card:hover{background:hsla(0,0%,100%,.06);border-color:rgba(91,138,255,.3)}.model-card--on{border-color:rgba(91,138,255,.55);background:rgba(91,138,255,.08);box-shadow:0 0 0 1px rgba(91,138,255,.13)}.model-card-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;opacity:.9}.model-card-info{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:1px}.model-card-name{font-size:12.5px;font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.1px}.model-card-provider{font-size:10.5px;font-weight:400;color:var(--text-muted);letter-spacing:.05px}.model-card-right{display:flex;align-items:center;gap:5px;flex-shrink:0}.model-card-tag{font-size:10px;font-weight:500;font-family:inherit;padding:1px 7px;border-radius:4px;background:rgba(91,138,255,.1);color:rgba(150,180,255,.85);border:1px solid rgba(91,138,255,.18);white-space:nowrap;letter-spacing:.05px}.model-card--on .model-card-tag{background:rgba(91,138,255,.22);border-color:rgba(91,138,255,.38);color:rgba(170,200,255,.9)}.model-card-check{font-size:11px;font-weight:700;color:rgba(91,138,255,.9);width:14px;text-align:center;flex-shrink:0}.hm-tab{display:flex;flex-direction:column;gap:14px}.hm-header{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.hm-metric-cards{display:flex;gap:4px;flex-wrap:wrap}.hm-mc{background:hsla(0,0%,100%,.04);border:1px solid hsla(0,0%,100%,.08);border-radius:8px;padding:8px 14px;cursor:pointer;display:flex;flex-direction:column;align-items:flex-start;gap:2px;transition:background .14s,border-color .14s;min-width:76px;text-align:left}.hm-mc:hover{background:hsla(0,0%,100%,.08);border-color:hsla(0,0%,100%,.14)}.hm-mc.active{background:rgba(91,138,255,.14);border-color:rgba(91,138,255,.38)}.hm-mc-lbl{font-size:10px;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.hm-mc.active .hm-mc-lbl{color:var(--primary)}.hm-mc-val{font-size:15px;font-weight:700;color:var(--text);white-space:nowrap}.hm-date-controls{display:flex;align-items:center;gap:6px;margin-left:auto;flex-wrap:wrap}.hm-preset-group{display:flex;gap:3px;background:hsla(0,0%,100%,.04);border:1px solid hsla(0,0%,100%,.08);border-radius:8px;padding:3px}.hm-preset-btn{background:transparent;border:none;color:var(--text-muted);font-family:inherit;font-size:11px;font-weight:500;padding:4px 8px;border-radius:6px;cursor:pointer;transition:background .12s,color .12s;white-space:nowrap}.hm-preset-btn:hover{background:hsla(0,0%,100%,.07);color:var(--text)}.hm-preset-btn.active{background:var(--primary);color:#fff}.hm-drp{position:relative}.hm-drp-trigger{display:inline-flex;align-items:center;gap:6px;background:hsla(0,0%,100%,.05);border:1px solid hsla(0,0%,100%,.1);border-radius:8px;color:var(--text);font-family:inherit;font-size:13px;font-weight:500;padding:5px 14px;cursor:pointer;transition:border-color .12s,background .12s;white-space:nowrap;letter-spacing:.01em}.hm-drp-trigger:hover{border-color:hsla(0,0%,100%,.2);background:hsla(0,0%,100%,.08)}.hm-drp-sep{color:var(--text-muted);font-weight:400}.hm-drp-popup{position:absolute;right:0;top:calc(100% + 10px);background:rgba(8,15,38,.98);-webkit-backdrop-filter:blur(28px);backdrop-filter:blur(28px);border:1px solid hsla(0,0%,100%,.09);border-radius:18px;box-shadow:0 28px 70px rgba(0,0,0,.6),inset 0 0 0 1px hsla(0,0%,100%,.04);z-index:300;padding:22px 18px 18px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.hm-drp-body{display:flex;align-items:flex-start;gap:8px}.hm-drp-divider{width:1px;align-self:stretch;background:hsla(0,0%,100%,.07);margin:0 6px;flex-shrink:0}.hm-drp-nav{background:transparent;border:1px solid hsla(0,0%,100%,.08);border-radius:9px;color:var(--text-muted);width:34px;height:34px;font-size:22px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .12s,color .12s,border-color .12s;flex-shrink:0;align-self:center;padding-bottom:2px}.hm-drp-nav:hover:not(.dis){background:hsla(0,0%,100%,.08);color:var(--text);border-color:hsla(0,0%,100%,.15)}.hm-drp-nav.dis{opacity:.3;cursor:default}.hm-drp-hint{font-size:11px;color:var(--text-muted);text-align:center;margin-top:12px;font-style:italic;letter-spacing:.02em}.hm-cal{display:flex;flex-direction:column;gap:10px;width:252px}.hm-cal-title{font-size:13px;font-weight:700;color:var(--text);text-align:center;letter-spacing:.02em}.hm-cal-grid{display:grid;grid-template-columns:repeat(7,36px);grid-gap:0;gap:0}.hm-cal-dow{height:24px;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:600;color:rgba(180,195,255,.35);letter-spacing:.05em}.hm-cal-day,.hm-cal-empty{height:36px;width:36px}.hm-cal-day{display:flex;align-items:center;justify-content:center;font-size:13px;border-radius:0;cursor:default;position:relative;transition:background .1s}.hm-cal-day.avail{color:var(--text);cursor:pointer}.hm-cal-day.dis{color:rgba(180,195,255,.2)}.hm-cal-day.today.avail:not(.sel-s):not(.sel-e){color:#f87171;font-weight:600}.hm-cal-day.range{background:rgba(91,138,255,.16)}.hm-cal-day.sel-e,.hm-cal-day.sel-s{color:#fff;font-weight:700;z-index:1}.hm-cal-day.sel-s.bridged{background:linear-gradient(90deg,transparent 50%,rgba(91,138,255,.16) 0)}.hm-cal-day.sel-e.bridged{background:linear-gradient(270deg,transparent 50%,rgba(91,138,255,.16) 0)}.hm-cal-day.sel-e:not(.bridged),.hm-cal-day.sel-s:not(.bridged){background:transparent}.hm-cal-day.sel-e:before,.hm-cal-day.sel-s:before{content:"";position:absolute;inset:3px;background:var(--primary);border-radius:9px;z-index:-1}.hm-cal-day.avail:not(.sel-s):not(.sel-e):not(.range):hover{background:hsla(0,0%,100%,.07);border-radius:8px}.hm-cal-day.avail.range:hover{background:rgba(91,138,255,.28)}.hm-cal-footer{font-size:12px;font-weight:700;color:rgba(180,195,255,.5);text-align:center;padding-top:10px;border-top:1px solid hsla(0,0%,100%,.06);letter-spacing:.06em}.hm-reset-btn{background:transparent;border:1px solid hsla(0,0%,100%,.1);border-radius:8px;color:var(--text-muted);font-size:15px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .12s,color .12s,background .12s;flex-shrink:0}.hm-reset-btn:hover{border-color:rgba(239,68,68,.5);color:#ef4444;background:rgba(239,68,68,.07)}.hm-reset-btn:disabled{opacity:.4;cursor:default}.hm-insights{display:flex;gap:6px;flex-wrap:wrap}.hm-insight-chip{display:inline-flex;align-items:center;gap:3px;background:hsla(0,0%,100%,.04);border:1px solid hsla(0,0%,100%,.08);border-radius:20px;padding:4px 10px;font-size:11px;color:var(--text-muted);white-space:nowrap}.hm-insight-ico{font-size:11px;opacity:.8}.hm-insight-val{color:var(--text);font-weight:600}.hm-insight-note{font-style:italic}.hm-scroll-wrap{position:relative;overflow-x:auto}.hm-grid{display:grid;grid-gap:3px;gap:3px;min-width:720px}.hm-hour-lbl{font-size:10px;color:var(--text-muted);text-align:center;padding:2px 0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.hm-sigma{font-size:12px;font-weight:700;opacity:.4}.hm-day-lbl{font-size:11px;font-weight:600;justify-content:flex-end;padding-right:8px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.hm-day-lbl,.hm-row-sum{color:var(--text-muted);display:flex;align-items:center}.hm-row-sum{font-size:10px;font-weight:500;padding-left:6px;white-space:nowrap;opacity:.75}.hm-col-lbl{font-size:10px;color:var(--text-muted);justify-content:flex-end;padding-right:8px;padding-bottom:4px;opacity:.4;-webkit-user-select:none;-moz-user-select:none;user-select:none}.hm-col-bar-cell,.hm-col-lbl{display:flex;align-items:flex-end}.hm-col-bar-cell{height:40px;padding:0 1px}.hm-col-bar-fill{width:100%;background:rgba(91,138,255,.28);border-radius:2px 2px 0 0;transition:height .3s ease}.hm-cell{height:28px;border-radius:4px;background:hsla(0,0%,100%,.04);border:1px solid hsla(0,0%,100%,.06);cursor:default;transition:transform .1s,border-color .1s}.hm-cell--active{background:rgba(91,138,255,var(--cell-alpha,.1));border-color:rgba(91,138,255,calc(var(--cell-alpha, .1) + .05))}.hm-cell--active:hover{transform:scale(1.15);border-color:rgba(91,138,255,.7);z-index:2}.hm-tooltip-wrap{position:fixed;z-index:100;pointer-events:none;transform:translate(-50%,calc(-100% - 10px))}.hm-tooltip{background:rgba(20,24,38,.96);border:1px solid rgba(91,138,255,.3);border-radius:8px;padding:10px 14px;min-width:160px;box-shadow:0 8px 24px rgba(0,0,0,.4);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.hm-tooltip-title{font-size:11px;font-weight:600;color:var(--text-muted);margin-bottom:7px;text-transform:uppercase;letter-spacing:.05em}.hm-tooltip-row{display:flex;justify-content:space-between;gap:16px;font-size:12px;color:var(--text);line-height:1.6}.hm-tooltip-row span{color:var(--text-muted)}.hm-tooltip-row b{font-weight:600}.hm-legend{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--text-muted);margin-top:4px}.hm-legend-bar{height:8px;width:120px;border-radius:4px;background:linear-gradient(90deg,rgba(91,138,255,.08),rgba(91,138,255,.88));border:1px solid rgba(91,138,255,.2)}.hm-legend-label{font-size:11px;min-width:28px}.hm-legend-note{margin-left:8px;opacity:.6}.hm-empty{display:flex;flex-direction:column;align-items:center;text-align:center;padding:60px 24px;gap:12px}.hm-empty-icon{font-size:40px;margin-bottom:4px}.hm-empty h3{font-size:16px;font-weight:600;color:var(--text);margin:0}.hm-empty p{font-size:13px;color:var(--text-muted);max-width:420px;line-height:1.6;margin:0}.hm-empty-hint{font-size:12px;color:var(--primary);opacity:.8}.hm-progress-wrap{width:260px;height:6px;background:hsla(0,0%,100%,.08);border-radius:999px;overflow:hidden;margin:12px auto 8px}.hm-progress-bar{height:100%;background:var(--primary);border-radius:999px;transition:width .6s ease;min-width:4px}.hm-progress-label{font-size:12px;color:var(--text-muted);margin:0}.hm-loading{display:flex;align-items:center;gap:10px;padding:40px 0;font-size:13px;color:var(--text-muted);justify-content:center}.spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(91,138,255,.3);border-top:2px solid var(--primary);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}