:root{color-scheme:dark;font-family:Inter,"Microsoft YaHei",system-ui,-apple-system,"Segoe UI",sans-serif;background:#0d1012;color:#e8eeed;--bg:#0d1012;--sidebar:#080b0c;--panel:#131719;--panel-2:#171d1f;--line:#293136;--line-soft:#20282b;--text:#e8eeed;--muted:#8c999d;--subtle:#68767a;--green:#36dfa0;--green-bg:#102a20;--red:#fa707d;--amber:#eab76c}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px}button,input{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:not-allowed}input{outline:0}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}.icon-defs{position:absolute;width:0;height:0;overflow:hidden}.icon{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--green);outline-offset:3px}[hidden]{display:none!important}

/* Login */
.login-page{position:relative;isolation:isolate;min-height:100vh;display:grid;place-items:center;padding:28px;background:#0b0e10;overflow:hidden}.login-glow{position:absolute;z-index:-1;width:min(820px,110vw);height:600px;left:50%;top:-190px;transform:translateX(-50%);background:radial-gradient(ellipse,#123728 0%,#0b0e10 68%);filter:blur(8px)}.login-card{width:min(432px,100%);padding:34px 38px 26px;background:#151a1c;border:1px solid #34403d;border-radius:17px;box-shadow:0 30px 90px #0008}.login-brand,.sidebar-brand{display:flex;align-items:center;gap:11px;color:#f4f8f7;font-size:17px;font-weight:850;letter-spacing:.02em}.login-brand>span:last-child,.sidebar-brand>span:last-child{display:flex;flex-direction:column;gap:3px}.login-brand small,.sidebar-brand small{font-size:9px;color:#70ca9e;font-weight:750;letter-spacing:.18em}.brand-mark{display:grid;place-items:center;width:39px;height:39px;color:#43e3a3;background:#123b29;border:1px solid #285c42;border-radius:10px}.brand-mark .icon{width:23px;height:23px}.login-divider{height:1px;background:#2b3534;margin:30px 0}.eyebrow{display:block;color:#5ce5a9;font-size:10px;font-weight:800;letter-spacing:.2em;text-transform:uppercase}.login-card h1{margin-top:9px;font-size:27px;letter-spacing:-.03em}.login-copy{margin:10px 0 31px;color:#8f9da2;font-size:13px;line-height:1.7}.login-card label,.field-label{display:block;color:#c6d3d0;font-size:12px;font-weight:650;margin-bottom:9px}.password-wrap{display:flex;align-items:center;gap:10px;height:46px;border:1px solid #35423f;border-radius:9px;background:#0c1112;color:#769188;padding:0 13px;transition:border-color .15s,box-shadow .15s}.password-wrap:focus-within{border-color:#39d79a;box-shadow:0 0 0 3px #26dc9120}.password-wrap input{width:100%;min-width:0;height:100%;border:0;background:none;color:#edf5f1;font-size:14px}.password-wrap input::placeholder{color:#61716d}.input-icon{display:grid;place-items:center;width:28px;height:28px;padding:0;border:0;background:none;color:#8da59a}.input-icon:hover{color:#d9ebe1}.input-icon .icon{width:18px}.login-submit{width:100%;justify-content:space-between;margin-top:18px;height:45px}.login-submit span{font-size:19px;font-weight:400}.form-error{min-height:20px;margin-top:10px;color:#ff8791;font-size:12px}.login-footnote{text-align:center;border-top:1px solid #273130;padding-top:17px;margin-top:18px;color:#6c7b7d;font-size:11px}

/* Shell */
.app-shell{min-height:100vh}.sidebar{position:fixed;z-index:20;inset:0 auto 0 0;width:224px;display:flex;flex-direction:column;padding:27px 12px 20px;background:var(--sidebar);border-right:1px solid #202729}.sidebar-brand{padding:0 10px 34px;font-size:15px}.sidebar-brand .brand-mark{width:36px;height:36px}.sidebar-brand .icon{width:21px;height:21px}.sidebar-section-label{padding:0 14px 13px;color:#637174;font-size:10px;font-weight:750;letter-spacing:.16em}.sidebar-nav{display:grid;gap:6px}.sidebar-nav a{position:relative;display:flex;align-items:center;gap:12px;min-height:47px;padding:0 13px;border:1px solid transparent;border-radius:9px;color:#98a5a9;font-size:13px;transition:background .15s,color .15s}.sidebar-nav a .icon{width:18px;height:18px;color:#839398}.sidebar-nav a:hover{background:#151c1e;color:#eaf2ef}.sidebar-nav a.active{background:#11291f;border-color:#204b36;color:#55e8a9}.sidebar-nav a.active .icon{color:#55e8a9}.sidebar-nav a.active:before{content:"";position:absolute;left:-1px;top:13px;bottom:13px;width:3px;border-radius:3px;background:#36dfa0}.sidebar-spacer{flex:1}.sidebar-status{display:flex;align-items:center;gap:8px;margin:0 12px 15px;color:#a8bab2;font-size:11px}.status-dot{display:inline-block;flex:none;width:7px;height:7px;border-radius:50%;background:#33df99;box-shadow:0 0 0 3px #33df991d}.sidebar-logout{display:flex;align-items:center;gap:12px;width:100%;height:43px;padding:0 13px;border:0;border-top:1px solid #202729;background:none;color:#8b999e;text-align:left;font-size:13px}.sidebar-logout:hover{color:#e3ece8}.workspace{min-height:100vh;margin-left:224px}.topbar{height:70px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 clamp(23px,4vw,62px);border-bottom:1px solid #21282a;background:#0e1214}.breadcrumb{display:flex;align-items:center;gap:10px;color:#78878b;font-size:12px}.breadcrumb span{color:#47575b}.breadcrumb strong{color:#c8d4d0;font-weight:600}.topbar-right{display:flex;align-items:center;gap:17px;color:#869398;font-size:11px}.topbar-live{display:flex;align-items:center;gap:8px;color:#83cfaa}.topbar-sep{width:1px;height:17px;background:#33403f}.main-content{max-width:1580px;padding:37px clamp(23px,4vw,62px) 70px;margin:auto}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.page-heading h1{font-size:29px;letter-spacing:-.035em;margin:8px 0 7px}.page-heading p{color:#8d9da0;font-size:13px;line-height:1.6}.page-heading .btn{flex:none}

/* Controls */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:37px;padding:0 14px;border-radius:8px;border:1px solid transparent;font-size:12px;font-weight:650;white-space:nowrap;transition:background .15s,border-color .15s,color .15s}.btn .icon{width:15px;height:15px}.btn-primary{background:#32d995;color:#042517}.btn-primary:hover{background:#52e6a9}.btn-secondary{color:#c9d5d1;background:#1b2224;border-color:#343d40}.btn-secondary:hover{background:#273135;border-color:#4a595b}.btn-outline{color:#55e4a5;background:#123025;border-color:#2d7754}.btn-outline:hover{background:#194532}.btn-text{border:0;background:none;color:#8faaa0}.btn-text:hover{color:#69e8b0}.period-toolbar{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:27px 0 22px}.toolbar-label{color:#819093;font-size:12px}.period-pills{display:flex;gap:7px;flex-wrap:wrap}.period-pills button{height:34px;padding:0 15px;border:1px solid #343b3e;border-radius:99px;background:#101416;color:#a2adb1;font-size:12px}.period-pills button:hover{color:#e4efeb;border-color:#557064}.period-pills button.selected{background:#0e3524;border-color:#2ce398;color:#55eeac;box-shadow:inset 0 0 0 1px #2ce3983d}

/* Panels and filters */
.panel{min-width:0;background:var(--panel);border:1px solid #2a3235;border-radius:13px}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.panel-heading h2{color:#e1eae7;font-size:15px;font-weight:700}.panel-heading p{color:#819094;font-size:11px;margin-top:6px;line-height:1.6}.panel-kicker{color:#74858a;font-size:11px;white-space:nowrap}.filter-panel{padding:20px 22px 0}.filter-heading{align-items:center;padding-bottom:19px;border-bottom:1px solid #293335}.panel-heading-main{display:flex;align-items:center;gap:12px}.panel-icon{display:grid;place-items:center;width:35px;height:35px;border-radius:9px;color:#4de4a6;background:#153528}.panel-icon .icon{width:18px;height:18px}.panel-actions{display:flex;align-items:center;gap:8px}.filter-columns{display:grid;grid-template-columns:minmax(240px,.55fr) minmax(0,1fr);gap:25px;padding:19px 0 21px}.filter-groups{padding-right:24px;border-right:1px solid #273133;min-width:0}.filter-projects{min-width:0}.column-title{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#c1ceca;font-size:12px;font-weight:700;margin-bottom:12px}.column-title small{color:#697a7e;font-size:10px;font-weight:400}.text-action{display:inline-flex;align-items:center;gap:3px;background:none;border:0;color:#50dea4;font-size:11px;padding:0}.text-action:hover{color:#87f3c4}.text-action .icon{width:13px;height:13px}.scope-all,.group-row,.tree-project,.tree-domain{display:flex;align-items:center;gap:9px;min-height:37px;padding:5px 10px;border-radius:8px;color:#bdcbc6;font-size:12px;transition:background .12s}.scope-all:hover,.group-row:hover,.tree-project:hover,.tree-domain:hover{background:#202b29}.scope-all{background:#1a3026;border:1px solid #2b5941;color:#d6f1e2;margin-bottom:5px}.scope-all input,.group-row input,.tree-project input,.tree-domain input{position:absolute;opacity:0;width:1px;height:1px}.custom-check{display:grid;place-items:center;flex:none;width:15px;height:15px;border:1px solid #647773;border-radius:4px;color:transparent}.custom-check .icon{width:12px;height:12px;stroke-width:2.5}.scope-all input:checked+.custom-check,.group-row input:checked+.custom-check,.tree-project input:checked+.custom-check,.tree-domain input:checked+.custom-check{background:#30dd98;border-color:#30dd98;color:#0c2118}.scope-all input:focus-visible+.custom-check,.group-row input:focus-visible+.custom-check,.tree-project input:focus-visible+.custom-check,.tree-domain input:focus-visible+.custom-check{outline:2px solid #7cf2bd;outline-offset:2px}.all-pill{margin-left:auto;color:#62e9a9;background:#16452e;padding:3px 6px;border-radius:4px;font-size:9px;letter-spacing:.1em}.group-list{max-height:222px;overflow-y:auto;scrollbar-color:#3e5450 transparent;scrollbar-width:thin}.group-row{position:relative}.group-row.selected{background:#172e22;color:#6ee8ad}.group-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.group-count{color:#748984;font-size:10px}.mini-action{display:grid;place-items:center;width:24px;height:24px;border:0;border-radius:5px;color:#819892;background:none;opacity:.7}.mini-action:hover{background:#2a3b34;color:#d2e3d8;opacity:1}.mini-action.delete:hover{color:#fa818b}.mini-action .icon{width:13px;height:13px}.group-empty{padding:15px 9px;color:#72837f;font-size:11px;line-height:1.6}.search-box{display:flex;align-items:center;gap:9px;height:37px;padding:0 11px;border:1px solid #374245;border-radius:8px;background:#0e1416;color:#829691}.search-box:focus-within{border-color:#38d996;box-shadow:0 0 0 3px #2ee29519}.search-box .icon{width:16px;height:16px}.search-box input{width:100%;height:100%;min-width:0;background:none;border:0;color:#e3ede9;font-size:12px}.search-box input::placeholder{color:#6e7d80}.project-tree{max-height:236px;overflow:auto;margin-top:8px;scrollbar-color:#3e5450 transparent;scrollbar-width:thin}.tree-project{font-weight:700;color:#d8e3df}.tree-project.selected,.tree-domain.selected{background:#162d22;color:#71e9ad}.tree-domain{margin-left:18px;min-height:33px;color:#a6b6b1}.tree-domain .domain-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-domain .source-badge{margin-left:auto;font-size:10px;color:#718780}.tree-project .project-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-project .project-id{color:#657d74;font-size:10px;font-weight:500}.thumb-tip{position:relative;display:grid;place-items:center;width:22px;height:22px;flex:none;border:0;background:none;color:#748e80;padding:0}.thumb-tip:hover{color:#61e6aa}.thumb-tip .icon{width:15px;height:15px}.thumb-preview{display:none;position:absolute;z-index:30;left:calc(100% + 10px);top:-36px;width:210px;padding:6px;background:#192220;border:1px solid #3c6852;border-radius:10px;box-shadow:0 16px 35px #0009}.thumb-tip:hover .thumb-preview,.thumb-tip:focus-visible .thumb-preview{display:block}.thumb-preview img{display:block;width:100%;aspect-ratio:480/290;object-fit:cover;border-radius:6px}.thumb-preview small{display:block;color:#a7c4b4;font-size:10px;text-align:left;margin:6px 4px 2px}.filter-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:45px;border-top:1px solid #293335;color:#70807e;font-size:11px}.filter-footer>div{display:flex;align-items:center;gap:9px;color:#b1c8b7}.filter-footer .status-dot{width:6px;height:6px}

/* Metrics */
.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-top:20px}.metric-card{min-width:0;min-height:143px;padding:18px 20px;background:#131719;border:1px solid #2b3336;border-radius:13px}.metric-top{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#a6b3b3;font-size:12px}.metric-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:8px}.metric-icon .icon{width:17px;height:17px}.metric-icon.neutral{color:#abbcc2;background:#263035}.metric-icon.positive{color:#4be3a1;background:#183b2b}.metric-icon.danger{color:#ff8893;background:#422329}.metric-icon.amber{color:#efc383;background:#3c3021}.metric-card strong{display:block;margin-top:17px;color:#f3f7f5;font-size:31px;line-height:1;font-weight:750;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.metric-card strong.positive-text{color:#45dfa0}.metric-card strong.danger-text{color:#fa707d}.metric-card strong.amber-text{color:#e9b86d}.metric-card small{display:block;margin-top:13px;color:#738287;font-size:11px;line-height:1.4}.detail-strip{display:grid;grid-template-columns:repeat(3,1fr);margin:13px 0 20px;background:#131719;border:1px solid #2b3336;border-radius:12px}.detail-strip>div{display:flex;align-items:center;gap:8px;min-height:53px;padding:0 20px;font-size:11px;color:#9eacaa}.detail-strip>div+div{border-left:1px solid #293335}.detail-strip strong{margin-left:auto;color:#e5eeea;font-size:17px;font-weight:650;font-variant-numeric:tabular-nums}.detail-dot{width:7px;height:7px;border-radius:50%;flex:none}.detail-dot.positive{background:#43d89a}.detail-dot.muted{background:#809196}.detail-dot.danger{background:#ed7880}

/* Charts */
.visual-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,.8fr);gap:15px;margin-bottom:19px}.trend-panel,.mix-panel{padding:20px 22px}.chart-area{position:relative;height:215px;margin-top:17px;padding:7px 0 21px 40px}.chart-plot{position:relative;height:100%}.chart-gridline{position:absolute;left:0;right:0;border-top:1px dashed #2d3839}.chart-gridline span{position:absolute;right:calc(100% + 10px);top:-8px;color:#68787a;font-size:10px;font-variant-numeric:tabular-nums}.chart-bars{position:absolute;inset:0;display:flex;align-items:stretch;gap:5px}.chart-group{flex:1;min-width:0;display:flex;align-items:flex-end;justify-content:center;gap:2px;position:relative}.chart-bar{width:min(15px,35%);min-height:2px;border-radius:3px 3px 0 0;position:relative;z-index:1}.chart-bar.page{background:#249b6b}.chart-bar.detection{background:#577f87}.chart-group:hover .chart-bar.page{background:#43e0a0}.chart-group:hover .chart-bar.detection{background:#8fc1c4}.chart-group:focus-within .chart-bar{filter:brightness(1.3)}.chart-ticks{position:absolute;left:40px;right:0;bottom:0;display:flex;justify-content:space-between;color:#708186;font-size:10px}.chart-legend{display:flex;align-items:center;gap:18px;margin-top:8px;color:#93a29f;font-size:11px}.chart-legend span{display:flex;align-items:center;gap:6px}.legend-dot{width:8px;height:8px;border-radius:2px}.legend-dot.page{background:#37d89a}.legend-dot.detection{background:#789fa6}.chart-empty{position:absolute;inset:0;display:grid;place-items:center;color:#788b87;font-size:12px}.mix-body{display:flex;align-items:center;justify-content:center;gap:22px;min-height:240px}.donut{width:158px;height:158px;flex:none;display:grid;place-items:center;border-radius:50%;background:#34423e}.donut-hole{display:flex;flex-direction:column;align-items:center;justify-content:center;width:117px;height:117px;border-radius:50%;background:#131719}.donut-hole strong{font-size:23px;font-weight:750;letter-spacing:-.04em}.donut-hole span{color:#879794;font-size:10px;margin-top:3px}.mix-legend{display:grid;gap:15px;min-width:102px}.mix-legend>div{display:grid;grid-template-columns:8px 1fr auto;align-items:center;gap:7px;color:#96a8a3;font-size:11px}.mix-legend strong{color:#e4eee9;font-size:12px;font-weight:650;font-variant-numeric:tabular-nums}.mix-legend i{width:7px;height:7px;border-radius:50%}

/* Tables */
.data-panel{padding:20px 22px;margin-top:18px}.count-badge{padding:5px 8px;border-radius:6px;background:#202b29;color:#9bbbae;font-size:11px}.table-container{overflow:auto;max-height:460px;margin-top:15px;scrollbar-color:#3e5450 transparent;scrollbar-width:thin}table{width:100%;border-collapse:collapse;white-space:nowrap;font-size:11px;text-align:left}th{position:sticky;top:0;z-index:1;background:#131719;color:#7e8d90;font-weight:600;padding:12px 10px;border-bottom:1px solid #364043}td{padding:12px 10px;border-bottom:1px solid #222b2e;color:#afbeb9}tbody tr:hover td{background:#1a2323}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}td.primary-cell{color:#e0eae6;font-weight:600}td.primary-cell small,td .secondary-line{display:block;color:#728681;font-size:10px;font-weight:400;margin-top:3px}.table-pill{display:inline-flex;align-items:center;padding:3px 7px;border-radius:5px;font-size:10px}.table-pill.normal{color:#65dea5;background:#173b29}.table-pill.suspicious{color:#ff98a0;background:#3a2226}.table-pill.unknown{color:#a7b4b3;background:#273134}.table-pill.bypass{color:#eec686;background:#3d3324}.table-pill.page{color:#9dbdc5;background:#243338}.table-empty{display:grid;place-items:center;min-height:175px;color:#748581;font-size:12px}.records-panel{margin-bottom:0}

/* Dialogs and custom select */
.dialog{width:min(500px,calc(100vw - 28px));max-height:min(680px,calc(100vh - 28px));padding:0;border:1px solid #3b4846;border-radius:15px;background:#161d1e;color:#e8eeeb;box-shadow:0 24px 80px #000b}.dialog::backdrop{background:#000b;backdrop-filter:blur(3px)}.dialog-header{display:flex;justify-content:space-between;gap:14px;padding:24px 25px 19px;border-bottom:1px solid #2c3938}.dialog-header h2{font-size:20px;margin:7px 0}.dialog-header p{font-size:11px;color:#8c9e98;line-height:1.6}.icon-button{display:grid;place-items:center;flex:none;width:29px;height:29px;border:1px solid #34413e;border-radius:7px;color:#a9b8b2;background:#212b2a}.icon-button:hover{color:#fff;background:#30413b}.icon-button .icon{width:15px;height:15px}.dialog-content{padding:23px 25px 8px;overflow:visible}.dialog-content .field-label:not(:first-child){margin-top:20px}.text-input{display:block;width:100%;height:41px;padding:0 12px;border:1px solid #394844;border-radius:8px;background:#0d1415;color:#e5efe9;font-size:12px}.text-input:focus{border-color:#37d99b;box-shadow:0 0 0 3px #30d99a1b}.text-input::placeholder{color:#697c76}.field-message{min-height:19px;color:#f3939b;font-size:11px;margin-top:9px}.field-message.success{color:#67e3aa}.dialog-footer{display:flex;justify-content:flex-end;gap:8px;padding:18px 25px 24px}.custom-select{position:relative}.select-trigger{display:flex;align-items:center;gap:9px;width:100%;height:41px;padding:0 12px;border:1px solid #394844;border-radius:8px;background:#0d1415;color:#d9e6de;text-align:left;font-size:12px}.select-trigger:hover{border-color:#557466;background:#13211b}.select-trigger[aria-expanded=true]{border-color:#32d794;box-shadow:0 0 0 3px #30d99a1b}.select-trigger>.icon:first-child{color:#6fc69a;width:16px;height:16px}.select-trigger span{flex:1}.select-trigger .chevron{width:15px;height:15px;color:#93a9a0;transition:transform .15s}.select-trigger[aria-expanded=true] .chevron{transform:rotate(180deg)}.select-menu{position:absolute;z-index:60;left:0;right:0;top:calc(100% + 6px);padding:5px;border:1px solid #3c5a4b;border-radius:9px;background:#1c2825;box-shadow:0 12px 30px #0009;max-height:220px;overflow-y:auto}.select-option{display:flex;align-items:center;gap:8px;width:100%;min-height:36px;padding:7px 9px;border:0;border-radius:6px;background:none;color:#b8c9c0;text-align:left;font-size:12px}.select-option:hover,.select-option:focus-visible{background:#2b4636;color:#f0fff5}.select-option[aria-selected=true]{background:#204b33;color:#66edac}.select-option span{flex:1}.select-option small{color:#86a795;font-size:10px}.select-option .icon{width:14px;height:14px}.group-dialog{width:min(570px,calc(100vw - 28px))}.group-dialog .dialog-content{max-height:430px;overflow-y:auto}.group-search{height:41px}.suggest-list{max-height:130px;overflow:auto;margin-top:5px}.suggest-list:empty{display:none}.suggest-option{display:flex;align-items:center;justify-content:space-between;width:100%;padding:10px;border:0;border-radius:6px;background:#202c29;color:#c7d8ce;text-align:left;font-size:11px}.suggest-option:hover{background:#2c4638;color:#eafff0}.suggest-option+.suggest-option{margin-top:3px}.member-heading{display:flex;justify-content:space-between;margin:20px 0 9px;color:#c2d2c8;font-size:12px;font-weight:650}.member-heading span{color:#70e8ad}.member-list{display:flex;flex-wrap:wrap;gap:6px;min-height:44px;padding:9px;border:1px dashed #385247;border-radius:8px;background:#111a17}.member-chip{display:inline-flex;align-items:center;gap:7px;max-width:100%;padding:6px 7px 6px 9px;border:1px solid #2f5e42;border-radius:6px;background:#1c3a29;color:#aae4bf;font-size:10px}.member-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.member-chip button{display:grid;place-items:center;width:15px;height:15px;border:0;background:none;color:#8ac9a2;padding:0}.member-chip button:hover{color:#fff}.member-chip .icon{width:11px;height:11px}.member-empty{color:#6f8379;font-size:11px;margin:4px}.dialog-note{color:#788c83;font-size:10px;line-height:1.6;margin-top:12px}.toast{position:fixed;z-index:100;right:26px;bottom:25px;max-width:min(380px,calc(100vw - 30px));padding:11px 15px;border:1px solid #3a7551;border-radius:9px;background:#1a3827;color:#b3efca;font-size:12px;box-shadow:0 12px 35px #0008;opacity:0;transform:translateY(8px);pointer-events:none;transition:opacity .18s,transform .18s}.toast.show{opacity:1;transform:translateY(0)}

@media(max-width:1240px){.visual-grid{grid-template-columns:minmax(0,1.3fr) minmax(260px,.8fr)}.mix-body{gap:12px}.donut{width:135px;height:135px}.donut-hole{width:99px;height:99px}.metric-card{padding:17px}.metric-card strong{font-size:27px}}
@media(max-width:1080px){.sidebar{width:200px}.workspace{margin-left:200px}.visual-grid{grid-template-columns:1fr}.mix-body{justify-content:flex-start;min-height:180px;gap:30px}.metric-grid{grid-template-columns:repeat(2,1fr)}.filter-columns{grid-template-columns:240px minmax(0,1fr)}}
@media(max-width:760px){.sidebar{position:relative;width:auto;height:auto;padding:12px 16px;display:flex;flex-direction:row;align-items:center;gap:15px}.sidebar-brand{padding:0;min-width:150px}.sidebar-nav{display:flex;gap:2px;overflow-x:auto}.sidebar-nav a{min-height:37px;padding:0 9px;font-size:11px;white-space:nowrap}.sidebar-nav a .icon{width:15px;height:15px}.sidebar-nav a.active:before,.sidebar-section-label,.sidebar-status,.sidebar-spacer,.sidebar-logout{display:none}.workspace{margin-left:0}.topbar{height:50px;padding:0 16px}.main-content{padding:26px 16px 50px}.filter-columns{grid-template-columns:1fr;gap:17px}.filter-groups{padding:0 0 18px;border-right:0;border-bottom:1px solid #293335}.project-tree{max-height:250px}.filter-heading{align-items:flex-start}.panel-actions{flex-wrap:wrap;justify-content:flex-end}.filter-footer>span{display:none}}
@media(max-width:560px){.login-card{padding:27px 24px 21px}.sidebar{overflow:auto}.sidebar-brand{min-width:45px}.sidebar-brand>span:last-child{display:none}.sidebar-nav{flex:1}.topbar-right{display:none}.page-heading{align-items:flex-start}.page-heading .btn{font-size:0;width:37px;padding:0}.page-heading .btn .icon{width:16px;height:16px}.page-heading h1{font-size:25px}.period-toolbar{gap:10px}.period-pills{width:100%}.period-pills button{flex:1;padding:0 7px;font-size:10px}.filter-panel,.trend-panel,.mix-panel,.data-panel{padding-left:15px;padding-right:15px}.filter-heading{gap:8px}.panel-heading-main{align-items:flex-start}.panel-heading-main .panel-icon{display:none}.panel-heading p{font-size:10px}.panel-actions{gap:3px}.panel-actions .btn{padding:0 8px;font-size:10px}.metric-grid{gap:8px}.metric-card{min-height:125px;padding:13px}.metric-top{font-size:10px}.metric-icon{width:25px;height:25px}.metric-icon .icon{width:14px;height:14px}.metric-card strong{font-size:25px}.metric-card small{font-size:10px;margin-top:10px}.detail-strip>div{padding:9px 7px;gap:4px;flex-wrap:wrap;min-height:60px;font-size:9px}.detail-strip strong{width:100%;margin:0 0 0 11px;font-size:14px}.chart-area{padding-left:33px}.chart-ticks{left:33px}.mix-body{gap:15px}.dialog-header,.dialog-content,.dialog-footer{padding-left:18px;padding-right:18px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}
.group-main,.tree-project-main{display:flex;align-items:center;gap:9px;flex:1;min-width:0;cursor:pointer}
.thumbnail-preview{position:fixed;z-index:100;width:212px;padding:6px;border:1px solid #41634e;border-radius:10px;background:#1b2521;box-shadow:0 18px 40px #000a;pointer-events:none}.thumbnail-preview img{display:block;width:100%;aspect-ratio:480/290;object-fit:cover;border-radius:6px}.thumbnail-preview small{display:block;padding:7px 4px 2px;color:#a6c6b1;font-size:10px}
.password-wrap input:focus-visible,.search-box input:focus-visible,.text-input:focus-visible{outline:none}
.group-filter-search{margin:9px 0 5px;height:33px}.group-filter-search input{font-size:11px}.list-more{display:flex;align-items:center;justify-content:space-between;min-height:23px;color:#728680;font-size:10px}.list-more button{border:0;background:none;color:#58dfa4;font-size:10px;padding:2px 0}.list-more button:hover{color:#94f2c5}.tree-count{padding:7px 8px 0;color:#728680;font-size:10px}.tree-project-check{display:grid;place-items:center;flex:none;min-width:18px;min-height:26px;cursor:pointer}.tree-project-toggle{display:flex;align-items:center;gap:7px;flex:1;min-width:0;padding:3px 0;border:0;background:none;color:inherit;text-align:left;font-size:12px;font-weight:700}.tree-project-toggle:hover .project-name{color:#7debb5}.tree-project-toggle .tree-chevron{width:13px;height:13px;color:#728982;transform:rotate(-90deg);transition:transform .16s}.tree-project-toggle[aria-expanded=true] .tree-chevron{transform:rotate(0)}.tree-project-toggle .project-name{flex:1}.tree-project-toggle .project-id{flex:none}.tree-domain-count{flex:none;min-width:18px;padding:2px 4px;border-radius:4px;background:#24302d;color:#8ca79a;text-align:center;font-size:10px}.member-chip.project-chip{border-color:#337a55;background:#1b4a31;color:#8ee5b2}.table-pager{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:45px;margin-top:8px;padding-top:11px;border-top:1px solid #273232;color:#81928b;font-size:11px}.table-pager:empty{display:none}.table-pager>div{display:flex;gap:7px}.table-pager button{height:29px;padding:0 10px;border:1px solid #3a4a43;border-radius:6px;background:#1b2722;color:#bcd2c5;font-size:11px}.table-pager button:not(:disabled):hover{border-color:#3abe80;color:#7debb0}.table-pager button:disabled{opacity:.4;cursor:default}
.project-catalog-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;justify-content:flex-end}.filter-projects>.column-title{flex-wrap:wrap}.archived-projects-control{display:flex;align-items:center;gap:7px;color:#81958c;font-size:11px;margin:0 0 12px}.archived-projects-control input{accent-color:#30dd98}.archived-badge{font-size:10px;color:#82958b;font-weight:400}.self-project-dialog{width:min(610px,calc(100vw - 28px))}.self-project-config.text-input{height:150px;resize:vertical;padding:12px;white-space:pre-wrap;overflow-wrap:anywhere;font:12px/1.7 monospace}.self-project-dialog .tenant-help{line-height:1.8;margin:14px 0}.self-project-dialog .dialog-footer{flex-wrap:wrap}
.toast{margin:0;inset:auto 26px 25px auto;width:max-content}.toast::backdrop{background:transparent;pointer-events:none}
