@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;450;500;550;600;650;700;750;800&display=swap');

*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:13px;line-height:1.55;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--blue);outline-offset:4px}a{color:inherit;text-decoration:none}button{color:inherit;border:0}input,select{color:var(--text);background:#111820;border:1px solid var(--line);border-radius:9px;padding:11px 13px;min-height:42px}input::placeholder{color:var(--dim)}select{cursor:pointer}svg{flex-shrink:0;vertical-align:middle}h1,h2,h3,p{margin:0}h1{font-size:27px;letter-spacing:-1px;font-weight:750;line-height:1.3}h2{font-size:15px;font-weight:700;letter-spacing:-.25px}h3{font-size:13px;font-weight:700}.muted{color:var(--muted)}.dim{color:var(--dim)}.green{color:var(--green)}.red{color:var(--red)}.yellow{color:var(--yellow)}.blue{color:var(--blue)}.mono{font-variant-numeric:tabular-nums}.tiny{font-size:11px}.eyebrow{font-size:10px;font-weight:750;letter-spacing:1.7px;text-transform:uppercase;color:var(--muted)}.flex{display:flex;align-items:center}.between{display:flex;align-items:center;justify-content:space-between;gap:16px}.gap{gap:10px}.stack{display:grid;gap:18px}.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 9px;border:1px solid var(--line);border-radius:6px;font-size:10px;white-space:nowrap;font-weight:650}.badge.blue{background:#2563eb17;border-color:#3662a44a}.badge.green{background:#4bd7a010;border-color:#4bd7a026}.badge.yellow{background:#f3bf6210;border-color:#f3bf6228}.badge.red{background:#fa7b8510;border-color:#fa7b8528}.avatar{display:grid;place-items:center;border-radius:50%;background:#273146;color:#b7cbf5;font-size:12px;font-weight:700;width:34px;height:34px;flex-shrink:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:39px;padding:9px 14px;background:#1c2634;border:1px solid #2d3c50;border-radius:9px;font-size:12px;font-weight:650;transition:background .15s,transform .15s}.btn:hover{background:#26354a}.btn.primary{background:var(--blue-main);border-color:#3976f5;color:#fff;box-shadow:0 3px 15px #2563eb18}.btn.primary:hover{background:#3372f6}.btn.ghost{border-color:var(--line);background:transparent;color:var(--muted)}.btn.ghost:hover{background:#1a2330;color:var(--text)}.btn.small{min-height:31px;padding:5px 9px;font-size:11px}.btn.danger{color:var(--red);background:#fa7b850b;border-color:#fa7b8535}.text-btn{background:none;color:var(--blue);font-size:11px;font-weight:650;padding:7px 0;display:inline-flex;align-items:center;gap:5px}.icon-btn{display:grid;place-items:center;width:34px;height:34px;border-radius:8px;background:transparent;color:var(--muted)}.icon-btn:hover{background:var(--panel-2);color:var(--text)}.pill-count{font-size:10px;border-radius:5px;background:#2b3545;padding:1px 5px;min-width:17px;text-align:center;color:#b7c1ce}.demo-toolbar{height:39px;border-bottom:1px solid #273242;background:#141d2b;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:0 22px;color:#9caec7;font-size:10px;position:relative;z-index:50}.demo-toolbar>span{display:flex;align-items:center;gap:7px}.demo-controls{display:flex;align-items:center;gap:9px}.demo-role{display:flex;border-radius:5px;background:#0e1622;padding:2px}.demo-role button{background:none;color:#8e9bad;font-size:10px;padding:3px 10px;border-radius:4px}.demo-role button.active{background:#2b4265;color:#e0ecff}.demo-link{font-size:10px;color:#b3c5e1;background:none;padding:2px}.shell{display:grid;grid-template-columns:218px 1fr;min-height:calc(100dvh - 39px)}.sidebar{background:#10171f;border-right:1px solid var(--line);padding:26px 17px 17px;display:flex;flex-direction:column;position:sticky;top:0;height:calc(100dvh - 39px)}.brand{display:flex;align-items:center;gap:11px;padding:0 10px 26px}.brand-symbol{width:33px;height:33px;background:#2563eb;border-radius:10px;display:grid;place-items:center;box-shadow:0 4px 16px #2563eb20}.brand-title{font-size:17px;font-weight:750;letter-spacing:-.5px}.brand-sub{font-size:9px;letter-spacing:2.2px;color:var(--dim);font-weight:700}.workspace{display:flex;gap:10px;align-items:center;margin:0 3px 26px;padding:12px 9px;border:1px solid var(--line);border-radius:10px;background:#151e29}.workspace-icon{display:grid;place-items:center;width:31px;height:31px;background:#1e2d43;border:1px solid #2d3d54;border-radius:8px;color:#81acff}.workspace-name{font-size:11px;font-weight:700}.workspace-note{font-size:10px;color:var(--dim)}.nav-label{padding:0 12px;margin-bottom:11px;font-size:9px;letter-spacing:1.6px;color:var(--dim);font-weight:750}.side-nav{display:grid;gap:5px}.nav-item{display:flex;align-items:center;gap:10px;background:transparent;text-align:left;color:#8c9bb0;padding:11px 12px;border-radius:8px;font-size:12px;font-weight:600;width:100%}.nav-item .pill-count{margin-left:auto}.nav-item:hover{background:#182230;color:#c5d6f2}.nav-item.active{background:#2563eb18;color:#7faaff}.nav-item.active::before{content:'';width:3px;height:19px;background:#4c8bff;border-radius:2px;position:absolute;left:0}.side-divider{height:1px;background:var(--line);margin:21px 10px}.sidebar-bottom{margin-top:auto}.ecosystem{padding:15px 11px;border:1px solid var(--line);border-radius:10px;background:#121c28}.ecosystem img{max-width:98px;max-height:29px;object-fit:contain;object-position:left;display:block;margin-bottom:8px}.ecosystem p{font-size:10px;line-height:1.6;color:#72829a}.sidebar-user{display:flex;gap:9px;align-items:center;margin-top:18px;padding:11px 6px 0;border-top:1px solid var(--line)}.sidebar-user .icon-btn{margin-left:auto}.side-user-name{font-size:11px;font-weight:650}.side-user-role{font-size:10px;color:var(--dim)}.main-area{min-width:0}.app-header{height:67px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 31px;background:#111820aa;gap:16px}.breadcrumb{font-size:11px;color:var(--dim);display:flex;align-items:center;gap:10px}.breadcrumb strong{color:#b3c0d0;font-weight:500}.header-actions{display:flex;align-items:center;gap:18px}.live-status{display:flex;align-items:center;gap:7px;font-size:10px;color:#9aabba}.header-date{font-size:11px;color:var(--muted)}.notice-btn{position:relative}.notice-btn::after{content:'';width:5px;height:5px;background:var(--blue);border:2px solid #111820;border-radius:50%;position:absolute;top:6px;right:6px}.main-content{max-width:1560px;margin:auto;padding:27px 31px 36px}.page-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px}.page-heading h1{margin:5px 0 8px}.page-heading p{font-size:12px;color:var(--muted)}.page-tools{display:flex;gap:8px;margin-top:13px;flex-shrink:0}.coverage{padding:11px 14px;background:#141e2a;border:1px solid #26384e;border-radius:9px;color:#9eafc5;font-size:11px;display:flex;align-items:center;gap:9px;margin-bottom:21px}.coverage strong{color:#bcd1ec;font-weight:650}.coverage .text-btn{margin-left:auto;padding:0;font-size:10px}.filters{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:20px}.periods{display:flex;align-items:center;gap:3px;padding:3px;background:#10171f;border:1px solid var(--line);border-radius:9px}.periods button{background:none;color:var(--muted);padding:7px 12px;border-radius:6px;font-size:11px;font-weight:600}.periods button.active{background:#25334a;color:#dbe8ff;box-shadow:0 1px 3px #0003}.scope-select{position:relative;display:flex;align-items:center;gap:7px}.scope-select>svg{position:absolute;left:11px;color:var(--dim);pointer-events:none}.scope-select select{min-height:35px;padding:7px 27px 7px 34px;font-size:11px;background:#131b25;max-width:200px}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:21px}.kpi{border:1px solid var(--line);background:var(--panel);border-radius:var(--radius);padding:17px 18px 15px;position:relative;overflow:hidden;min-height:145px}.kpi-top{display:flex;align-items:center;gap:8px;color:#9aa9bc;font-size:11px;font-weight:600}.kpi-icon{width:28px;height:28px;display:grid;place-items:center;border:1px solid #304262;border-radius:8px;background:#22355855;color:#80aaff}.kpi-value{font-size:31px;font-weight:750;letter-spacing:-1.2px;margin-top:13px;line-height:1.15;position:relative;z-index:1}.kpi-bottom{font-size:10px;display:flex;align-items:center;gap:7px;margin-top:12px;color:var(--dim)}.kpi-bottom .change{font-weight:650;display:inline-flex;gap:3px;align-items:center}.kpi-spark{position:absolute;right:14px;bottom:24px;width:90px;height:32px;opacity:.65}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.62fr) minmax(290px,1fr);gap:20px;margin-bottom:21px}.panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);overflow:hidden;min-width:0}.panel-head{padding:19px 20px 0;display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.panel-sub{color:var(--dim);font-size:10px;margin-top:5px}.chart-legend{display:flex;gap:14px;color:var(--muted);font-size:10px;padding:18px 20px 0}.legend-dot{width:7px;height:7px;display:inline-block;border-radius:2px;margin-right:6px}.chart-wrap{padding:4px 15px 3px;position:relative}.trend-chart{width:100%;height:199px;display:block;overflow:visible}.chart-grid{stroke:#27313e;stroke-dasharray:3 4;stroke-width:1}.chart-label{fill:#6e7e92;font:10px var(--font)}.chart-hit{fill:transparent;cursor:crosshair}.chart-tooltip{position:absolute;background:#22334b;border:1px solid #3d5573;border-radius:7px;padding:7px 10px;font-size:11px;box-shadow:0 5px 20px #0004;pointer-events:none;z-index:3;white-space:nowrap}.chart-summary{border-top:1px solid var(--line-soft);padding:11px 20px;display:flex;align-items:center;gap:7px;font-size:10px;color:var(--muted)}.attention-head-counts{display:flex;gap:6px;margin-top:3px}.attention-list{padding:5px 17px}.attention-row{display:flex;align-items:flex-start;gap:10px;padding:15px 2px;border-bottom:1px solid var(--line-soft);background:none;text-align:left;width:100%}.attention-row:last-child{border:0}.status-icon{width:29px;height:29px;background:#fa7b8510;color:var(--red);border:1px solid #fa7b8522;display:grid;place-items:center;border-radius:8px;flex-shrink:0}.status-icon.yellow{background:#f3bf6210;color:var(--yellow);border-color:#f3bf6222}.attention-row-main{min-width:0;flex:1}.row-title{font-size:11px;font-weight:700;display:flex;align-items:center;gap:7px}.row-detail{font-size:10px;color:var(--muted);margin-top:4px;line-height:1.6}.row-meta{font-size:9px;color:var(--dim);margin-top:7px}.row-arrow{color:#54647b;margin-top:8px}.panel-footer{border-top:1px solid var(--line-soft);padding:8px 20px;text-align:center}.panel-footer .text-btn{font-size:11px}.table-scroll{overflow:auto}.teams-table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap;font-size:11px}.teams-table th{font-weight:500;color:var(--dim);font-size:10px;padding:13px 18px;border-bottom:1px solid var(--line-soft);background:#131a23}.teams-table td{padding:12px 18px;border-bottom:1px solid var(--line-soft)}.teams-table tbody tr{cursor:pointer;transition:background .15s}.teams-table tbody tr:hover{background:#1b2635}.teams-table tbody tr:last-child td{border-bottom:0}.teams-table .team-name{font-weight:700;font-size:11px}.team-city{font-size:10px;color:var(--dim);margin-top:2px}.team-cell{display:flex;align-items:center;gap:10px}.team-avatar{height:31px;width:31px;border-radius:8px;display:grid;place-items:center;background:#25354a;color:#a6c5f0;font-size:10px;font-weight:750}.mini-progress{display:flex;align-items:center;gap:9px}.progress-track{height:4px;width:53px;border-radius:3px;overflow:hidden;background:#2a3340}.progress-fill{height:100%;border-radius:3px;background:var(--green)}.table-bottom{display:flex;justify-content:space-between;align-items:center;padding:12px 19px;font-size:10px;color:var(--dim);border-top:1px solid var(--line-soft)}.pagination{display:flex;gap:5px}.pagination button{background:#1c2735;border:1px solid var(--line);border-radius:6px;width:27px;height:27px;color:var(--muted);font-size:10px}.pagination button.active{background:#2563eb24;border-color:#4066a4;color:#8db4ff}.footer-note{font-size:9px;color:#536175;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:20px}.mobile-nav{display:none}.search-input{position:relative;max-width:360px;flex:1}.search-input svg{position:absolute;left:12px;top:12px;color:var(--dim)}.search-input input{padding-left:37px;width:100%;font-size:11px;min-height:39px}.filter-row{display:flex;align-items:center;gap:10px;margin-bottom:18px;flex-wrap:wrap}.filter-row select{font-size:11px;min-height:39px;max-width:190px}.team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.team-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:19px;text-align:left;transition:border-color .2s,transform .2s}.team-card:hover{border-color:#42618b;transform:translateY(-2px)}.team-card-head{display:flex;align-items:center;gap:11px;margin-bottom:21px}.team-card-head .team-avatar{width:39px;height:39px;border-radius:11px;font-size:13px}.team-card-head .badge{margin-left:auto;padding:3px 6px;font-size:9px}.team-card-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.team-card-metrics span{font-size:10px;color:var(--dim);display:block}.team-card-metrics strong{font-size:18px;font-weight:700;display:block;margin-top:4px}.team-card-footer{font-size:10px;color:var(--dim);margin-top:17px;border-top:1px solid var(--line-soft);padding-top:12px;display:flex;justify-content:space-between}.empty{padding:50px 20px;text-align:center;color:var(--muted)}.empty svg{color:var(--dim);margin-bottom:12px}.empty p{margin-top:8px;font-size:11px}.issue-tabs{display:flex;gap:8px;margin:0 0 19px;flex-wrap:wrap}.issue-tab{background:#141c27;color:var(--muted);border:1px solid var(--line);border-radius:8px;font-size:11px;padding:8px 13px;display:flex;align-items:center;gap:7px}.issue-tab.active{border-color:#3d6096;color:#a6c7ff;background:#2563eb15}.issue-card{border:1px solid var(--line);border-left:3px solid #f3bf62;background:var(--panel);border-radius:11px;padding:20px;display:flex;gap:16px;align-items:flex-start;margin-bottom:13px}.issue-card.urgent{border-left-color:var(--red)}.issue-content{flex:1;min-width:0}.issue-title{font-size:13px;font-weight:700;margin-bottom:6px}.issue-title small{margin-left:9px;font-size:10px;font-weight:500;color:var(--dim)}.issue-desc{color:#acb8c8;font-size:12px}.issue-footer{display:flex;align-items:center;gap:15px;color:var(--dim);font-size:10px;margin-top:15px;flex-wrap:wrap}.issue-actions{display:flex;gap:7px;align-self:center;flex-shrink:0}.analytics-grid{display:grid;grid-template-columns:1.55fr 1fr;gap:19px;margin-bottom:20px}.ranking{padding:16px 20px}.rank-row{display:flex;gap:13px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line-soft)}.rank-row:last-child{border:0}.rank-number{color:var(--dim);font-size:11px;min-width:16px}.rank-value{margin-left:auto;text-align:right}.rank-value strong{font-size:13px;display:block}.rank-value small{font-size:9px;color:var(--dim)}.bar-chart{display:grid;gap:19px;padding:25px 22px}.bar-row{display:grid;grid-template-columns:80px 1fr 45px;align-items:center;gap:12px;font-size:11px}.bar-track{height:9px;border-radius:3px;background:#202c3c;overflow:hidden}.bar-track span{display:block;height:100%;border-radius:3px;background:#4285ff}.profile-layout{display:grid;grid-template-columns:1fr 1fr;gap:20px}.settings-card{padding:23px}.settings-card h2{margin-bottom:20px}.settings-row{display:flex;align-items:center;justify-content:space-between;padding:15px 0;border-top:1px solid var(--line-soft);gap:12px}.settings-row:first-of-type{border-top:0}.settings-row p{font-size:10px;color:var(--dim);margin-top:4px}.settings-person{display:flex;gap:13px;align-items:center;margin-bottom:21px}.settings-person .avatar{width:49px;height:49px;font-size:16px}.toggle{height:23px;width:39px;border-radius:20px;background:#273246;padding:3px;display:flex;align-items:center;transition:background .2s}.toggle.active{background:var(--blue-main)}.toggle span{display:block;width:17px;height:17px;border-radius:50%;background:#edf3fc;transition:transform .2s}.toggle.active span{transform:translateX(16px)}.security-note{display:flex;align-items:flex-start;gap:10px;padding:13px;background:#1b2d451c;border:1px solid #2b405d;border-radius:9px;color:#8da7cb;font-size:11px;line-height:1.65}.section-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:11px;margin-bottom:22px}.section-tile{text-align:left;background:#151e2a;border:1px solid var(--line);border-radius:11px;padding:17px;display:grid;gap:11px;color:var(--muted);font-size:11px;transition:border-color .2s}.section-tile:hover{border-color:#416799;color:#acc9ff}.section-tile svg{color:#6e9fec}.person-line{display:flex;gap:11px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line-soft)}.person-line:last-child{border:0}.person-line .badge,.person-line .text-btn{margin-left:auto}.mini-screen{aspect-ratio:16/10;background:linear-gradient(130deg,#15263c,#243649);border:1px solid #30465f;border-radius:9px;padding:10px;display:flex;align-items:center;justify-content:center;color:#7897bf;position:relative;overflow:hidden}.mini-screen:before{content:'';position:absolute;inset:17% 13% 12%;background:linear-gradient(#d0dae4 0 9%,#879db5 9% 11%,#f0f2f5 11%);border-radius:3px;opacity:.2}.screen-label{position:absolute;bottom:9px;left:10px;right:10px;display:flex;justify-content:space-between;font-size:9px;color:#c5d1e3}.screen-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.screen-demo-note{position:relative;z-index:1;background:#0f1b2ad9;border:1px solid #41536a;padding:6px 8px;border-radius:5px;font-size:9px}.back-link{background:none;color:var(--muted);font-size:11px;display:flex;align-items:center;gap:6px;padding:0;margin-bottom:14px}.back-link:hover{color:var(--blue)}.auth-scene{min-height:calc(100dvh - 39px);display:grid;place-items:center;padding:40px 24px;background:radial-gradient(ellipse at 50% 20%,#1a315529,transparent 55%)}.auth-layout{width:min(920px,100%);display:grid;grid-template-columns:1fr 390px;align-items:center;gap:90px}.auth-intro .brand{padding:0;margin-bottom:46px}.auth-intro .brand-title{font-size:22px}.auth-intro h1{font-size:41px;line-height:1.2;letter-spacing:-1.5px;margin:15px 0 20px;max-width:360px}.auth-intro>p{font-size:13px;color:var(--muted);line-height:1.8;max-width:330px}.auth-steps{display:flex;gap:15px;margin-top:38px;font-size:10px;color:var(--dim)}.auth-steps span{display:flex;align-items:center;gap:6px}.auth-step-number{display:grid;place-items:center;width:21px;height:21px;border:1px solid #34445e;border-radius:6px;font-size:9px;color:#abc2e4}.auth-card{border:1px solid #2d3c50;border-radius:19px;background:#151d28;overflow:hidden;box-shadow:0 22px 70px #0003}.telegram-header{display:flex;align-items:center;gap:11px;padding:17px;background:#1e2b3f;border-bottom:1px solid #304059}.telegram-avatar{display:grid;place-items:center;border-radius:50%;background:#2563eb;width:39px;height:39px}.telegram-name{font-size:13px;font-weight:700}.telegram-status{font-size:10px;color:#8fb3e4}.telegram-chat{padding:28px 20px 24px;min-height:176px;background:radial-gradient(ellipse at 95% 5%,#24344c33,transparent 65%)}.telegram-bubble{background:#203047;border:1px solid #314461;border-radius:13px 13px 13px 3px;padding:15px;font-size:12px;line-height:1.8}.telegram-bubble p{color:#a2b6d0;margin-top:5px;font-size:11px}.telegram-time{text-align:right;color:#6e89ae;font-size:9px;margin-top:3px}.telegram-keyboard{padding:9px;background:#101822;border-top:1px solid var(--line);display:grid;gap:7px}.telegram-keyboard.admin{grid-template-columns:1fr 1fr}.tg-button{background:#202e42;border:1px solid #31425d;border-radius:8px;min-height:42px;display:flex;align-items:center;justify-content:center;gap:7px;font-size:11px}.tg-button.open{background:#2563eb;border-color:#4382fb;color:#fff}.telegram-keyboard.admin .tg-button.open{grid-column:1/-1}.auth-card-bottom{padding:14px 19px;font-size:10px;color:var(--dim);border-top:1px solid var(--line);display:flex;align-items:center;gap:7px}.auth-form{padding:31px 28px}.auth-icon{width:44px;height:44px;border-radius:13px;background:#2563eb17;color:#86afff;border:1px solid #2f4a74;display:grid;place-items:center;margin-bottom:20px}.auth-form h2{font-size:22px;letter-spacing:-.6px;margin-bottom:9px}.auth-form>p{color:var(--muted);font-size:11px;line-height:1.8;margin-bottom:23px}.form-field{display:grid;gap:7px;margin-bottom:16px}.form-field label{font-size:10px;font-weight:650;color:#b2bfd1}.password-wrap{position:relative}.password-wrap input{width:100%;padding-right:43px;min-height:45px;font-size:14px}.password-wrap .icon-btn{position:absolute;right:5px;top:5px}.form-help{font-size:10px;color:var(--dim);line-height:1.7}.form-error{font-size:11px;color:var(--red);min-height:21px;margin:7px 0}.auth-form .btn.primary{width:100%;min-height:44px}.password-strength{display:flex;gap:4px;margin-top:7px}.password-strength span{height:3px;flex:1;background:#293447;border-radius:3px}.password-strength span.filled{background:#4d8aff}.auth-footer{font-size:10px;color:var(--dim);text-align:center;margin-top:19px;line-height:1.8}.auth-identity{display:flex;gap:9px;align-items:center;border:1px solid var(--line);padding:10px;border-radius:8px;margin-bottom:20px;font-size:11px}.auth-identity .avatar{width:28px;height:28px;font-size:10px}.auth-identity .badge{margin-left:auto;font-size:8px}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);background:#24364f;border:1px solid #3d597d;color:#e4eefb;padding:12px 20px;border-radius:10px;box-shadow:0 10px 40px #0005;font-size:12px;z-index:300;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;max-width:calc(100% - 30px);text-align:center}.toast.visible{opacity:1;transform:translate(-50%,0)}.modal-backdrop{position:fixed;inset:0;z-index:200;background:#050a12b3;backdrop-filter:blur(5px);display:grid;place-items:center;padding:20px}.modal{width:min(510px,100%);max-height:85dvh;overflow:auto;border:1px solid #33455e;border-radius:17px;background:#151e2a;box-shadow:0 25px 100px #0006}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:19px 22px;border-bottom:1px solid var(--line)}.modal-head h2{font-size:16px}.modal-body{padding:22px}.modal-body p{font-size:12px;color:var(--muted);line-height:1.8}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:21px}.detail-pairs{margin-top:18px;display:grid;gap:12px}.detail-pair{display:flex;justify-content:space-between;gap:20px;font-size:11px}.detail-pair span:first-child{color:var(--dim)}.issue-status{display:flex;align-items:center;gap:6px;font-size:10px}.team-stat-bars{display:grid;gap:19px;padding:23px}.stat-bar-label{display:flex;justify-content:space-between;font-size:11px;margin-bottom:8px}.stat-bar-track{height:5px;background:#263244;border-radius:4px;overflow:hidden}.stat-bar-track span{display:block;height:100%;background:var(--blue);border-radius:4px}.list-head{padding:18px 20px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.admin-banner{display:flex;align-items:center;gap:10px;padding:13px 16px;border:1px solid #39517a;background:#1b2e4a33;border-radius:9px;font-size:11px;color:#a8c5f0;margin-bottom:20px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.form-grid .form-field:last-child{grid-column:1/-1}.mobile-only{display:none}.overview-note{display:flex;gap:9px;align-items:center;font-size:10px;color:var(--dim);padding:11px 20px;border-top:1px solid var(--line-soft)}
@media(min-width:1600px){.main-content{padding-top:36px}.kpi{min-height:160px}.trend-chart{height:235px}.attention-row{padding-top:18px;padding-bottom:18px}.kpi-value{font-size:35px}.dashboard-grid{grid-template-columns:1.75fr 1fr}}
@media(max-width:1200px){.shell{grid-template-columns:190px 1fr}.sidebar{padding-left:10px;padding-right:10px}.main-content{padding:24px 23px 30px}.app-header{padding:0 23px}.dashboard-grid{grid-template-columns:minmax(0,1.4fr) minmax(265px,1fr);gap:14px}.kpi{padding:15px 14px}.kpi-grid{gap:11px}.kpi-value{font-size:28px}.kpi-spark{width:65px;opacity:.5}.team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.section-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:980px){.shell{grid-template-columns:74px 1fr}.sidebar{padding:22px 10px 14px}.brand{padding:0 9px 27px}.brand-text,.workspace,.nav-label,.side-nav .nav-item>span,.ecosystem,.side-user-text,.sidebar-user .icon-btn{display:none}.side-nav .nav-item{justify-content:center;padding:14px 8px}.side-nav .nav-item .pill-count{display:none}.sidebar-user{justify-content:center;padding:15px 0 0}.sidebar-bottom .side-divider{display:none}.side-divider{margin:17px 4px}.sidebar .brand-symbol{width:34px;height:34px;flex-shrink:0}.app-header{height:60px}.dashboard-grid{grid-template-columns:1fr 1fr}.panel-head{padding:17px 16px 0}.chart-wrap{padding-left:5px;padding-right:5px}.chart-legend{padding-left:16px}.attention-list{padding:4px 13px}.attention-row{padding:14px 1px}.row-title{font-size:10px}.row-detail{font-size:10px}.kpi-top{font-size:10px}.kpi-icon{width:25px;height:25px}.kpi-bottom{font-size:9px;gap:5px}.kpi-spark{display:none}.analytics-grid{grid-template-columns:1fr}.auth-layout{gap:50px;grid-template-columns:1fr 370px}.auth-intro h1{font-size:35px}.section-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:760px){.demo-toolbar{padding:0 12px;height:37px;font-size:9px}.demo-toolbar .demo-label-extra{display:none}.demo-controls{gap:8px}.demo-role button{padding:3px 8px;font-size:9px}.demo-link{font-size:9px}.shell{display:block;min-height:calc(100dvh - 37px)}.sidebar{display:none}.app-header{height:54px;padding:0 17px}.header-date,.live-status{display:none}.header-actions{gap:10px}.breadcrumb{font-size:10px}.mobile-only{display:block}.mobile-brand{display:flex;gap:7px;align-items:center;font-size:14px;font-weight:750}.mobile-brand .brand-symbol{width:25px;height:25px;border-radius:7px}.main-content{padding:21px 16px 101px}.page-heading{margin-bottom:18px;gap:10px}.page-heading h1{font-size:24px;letter-spacing:-.7px;margin:4px 0 6px}.page-heading p{font-size:11px;line-height:1.65}.eyebrow{font-size:9px;letter-spacing:1.3px}.page-tools{margin-top:3px}.page-tools .btn{font-size:0;padding:9px;gap:0;min-height:34px}.page-tools .btn svg{width:16px}.coverage{align-items:flex-start;font-size:10px;padding:10px;gap:7px;margin-bottom:17px;line-height:1.65}.coverage>svg{margin-top:2px;width:14px}.coverage .text-btn{font-size:9px;flex-shrink:0;margin-top:2px}.coverage .coverage-extra{display:none}.filters{gap:8px;align-items:center;margin-bottom:17px}.periods{gap:0;padding:3px}.periods button{padding:6px 9px;font-size:10px}.scope-select select{font-size:10px;max-width:145px;padding:7px 20px 7px 29px;min-height:33px}.scope-select>svg{left:9px;width:13px}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:17px}.kpi{min-height:133px;padding:14px}.kpi-top{font-size:10px;gap:7px}.kpi-value{font-size:29px;margin-top:12px}.kpi-icon{height:25px;width:25px;border-radius:7px}.kpi-bottom{font-size:9px;margin-top:10px}.kpi-spark{display:block;width:65px;height:26px;right:12px;bottom:25px;opacity:.35}.dashboard-grid{grid-template-columns:1fr;gap:17px;margin-bottom:17px}.panel-head{padding:17px 16px 0}h2{font-size:14px}.panel-sub{font-size:9px}.trend-chart{height:190px}.chart-legend{padding-top:15px;font-size:9px}.chart-summary{font-size:9px;padding:10px 16px}.attention-row{padding:13px 1px}.row-title{font-size:11px}.row-detail{font-size:10px}.row-meta{font-size:9px}.status-icon{width:28px;height:28px}.table-scroll .teams-table th,.table-scroll .teams-table td{padding:12px 13px}.teams-table .mobile-hide{display:none}.table-bottom{padding:12px 14px}.table-bottom .table-count-extra{display:none}.footer-note{font-size:8px;align-items:flex-start;margin-top:17px}.footer-note span:last-child{max-width:130px;text-align:right}.mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;height:calc(64px + env(safe-area-inset-bottom,0px));padding:7px 5px calc(7px + env(safe-area-inset-bottom,0px));background:#101820f5;backdrop-filter:blur(18px);border-top:1px solid #2b3748;z-index:80;justify-content:space-around}.mobile-nav button{background:none;color:#718197;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;font-size:8px;min-width:54px;position:relative}.mobile-nav button.active{color:#7aaaff}.mobile-nav button.active:before{content:'';position:absolute;width:28px;height:2px;border-radius:2px;background:#4f8dff;top:-7px}.mobile-nav .mobile-count{position:absolute;top:0;right:8px;width:13px;height:13px;border-radius:4px;background:#293b58;color:#a6c7ff;font-size:8px;text-align:center}.toast{bottom:84px;font-size:11px}.team-grid{gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.team-card{padding:14px}.team-card-head{gap:8px;flex-wrap:wrap;margin-bottom:16px}.team-card-head .team-avatar{width:29px;height:29px;font-size:10px;border-radius:8px}.team-card-head .badge{margin-left:0;font-size:8px}.team-card-head .team-name{font-size:11px}.team-card-metrics{gap:8px;grid-template-columns:1fr 1fr}.team-card-metrics div:last-child{grid-column:1/-1}.team-card-metrics span{font-size:9px}.team-card-metrics strong{font-size:17px}.team-card-footer{font-size:8px;gap:5px}.filter-row{gap:8px}.filter-row select{max-width:calc(50% - 4px);font-size:10px;min-height:37px}.search-input{flex:initial;max-width:none;width:100%}.search-input input{font-size:14px}.issue-card{padding:15px;gap:10px;flex-wrap:wrap}.issue-card .status-icon{display:none}.issue-title{font-size:12px;line-height:1.7}.issue-title small{font-size:9px;margin-left:5px}.issue-desc{font-size:11px}.issue-footer{font-size:9px;gap:9px;margin-top:12px}.issue-actions{width:100%;justify-content:flex-end;margin-top:4px}.issue-tab{padding:7px 9px;font-size:10px;gap:5px}.issue-tabs{gap:6px}.profile-layout{grid-template-columns:1fr;gap:15px}.settings-card{padding:19px}.analytics-grid{gap:15px}.section-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.section-tile{padding:12px 8px;font-size:9px;gap:8px;border-radius:9px}.section-tile svg{width:18px}.screen-grid{grid-template-columns:1fr 1fr;gap:9px}.auth-scene{padding:28px 20px;min-height:calc(100dvh - 37px);align-items:start}.auth-layout{display:flex;flex-direction:column;gap:24px;max-width:390px}.auth-intro{width:100%}.auth-intro .brand{padding:0;margin-bottom:18px;justify-content:center}.auth-intro .brand-text{display:block}.auth-intro .brand-title{font-size:20px}.auth-intro>.eyebrow,.auth-intro>h1,.auth-intro>p,.auth-steps{display:none}.auth-card{width:100%;border-radius:16px}.auth-form{padding:25px}.auth-form h2{font-size:21px}.auth-form>p{font-size:11px}.auth-identity{font-size:10px}.form-field input{font-size:16px}.auth-form .btn.primary{min-height:45px}.auth-footer{font-size:9px}.telegram-chat{min-height:173px}.telegram-keyboard{padding:10px}.tg-button{min-height:44px}.modal-backdrop{padding:15px}.modal-head{padding:16px 18px}.modal-body{padding:18px}.bar-row{grid-template-columns:70px 1fr 39px;font-size:10px;gap:9px}.bar-chart{padding:24px 17px}.form-grid{grid-template-columns:1fr}.form-grid .form-field:last-child{grid-column:auto}.admin-banner{font-size:10px}.overview-note{font-size:9px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

@media(max-width:760px){.desktop-breadcrumb,.breadcrumb>strong{display:none}.breadcrumb{gap:0}.mobile-brand{color:var(--text)}.auth-identity{flex-wrap:wrap}.auth-identity .badge{margin-left:auto}.auth-steps i{font-style:normal}}

/* Six-digit server password: shared by the entry screen and profile dialog. */
.pin-auth { padding: 27px 30px 18px; }
.pin-access { display: flex; align-items: center; justify-content: center; gap: 7px; color: var(--blue); font-size: 11px; margin-bottom: 20px; }
.pin-identity { display: flex; align-items: center; justify-content: center; gap: 10px; margin-bottom: 25px; min-width: 0; }
.pin-identity .avatar { width: 34px; height: 34px; flex-shrink: 0; font-size: 11px; }
.pin-identity > span:last-child { min-width: 0; }
.pin-identity strong { display: block; font-size: 12px; font-weight: 650; overflow-wrap: anywhere; }
.pin-identity small { display: block; font-size: 10px; color: var(--muted); margin-top: 2px; }
.pin-form { max-width: 320px; margin: auto; text-align: center; }
.pin-form [hidden] { display: none !important; }
.pin-step { display: block; color: var(--dim); font-size: 11px; margin-bottom: 9px; }
.pin-form .pin-heading h2 { font-size: 23px; line-height: 1.3; letter-spacing: -.6px; margin: 0; }
.pin-form .pin-heading p { color: var(--muted); font-size: 12px; line-height: 1.5; margin: 7px 0 0; }
.pin-dots { display: flex; align-items: center; justify-content: center; gap: 17px; min-height: 30px; margin: 22px 0 8px; }
.pin-dot { width: 13px; height: 13px; border: 1.5px solid var(--dim); border-radius: 50%; background: transparent; transition: background var(--motion-short), border-color var(--motion-short), transform var(--motion-short); }
.pin-dot.filled { background: var(--blue); border-color: var(--blue); transform: scale(1.05); }
.pin-dots-error { animation: pin-shake 320ms ease; }
.pin-dots-error .pin-dot { border-color: var(--red); background: var(--red); }
.pin-dots-busy .pin-dot { opacity: .6; }
.pin-feedback { display: grid; align-content: center; min-height: 49px; margin-bottom: 10px; }
.pin-feedback .form-error { font-size: 12px; line-height: 1.5; min-height: 0; margin: 0; }
.pin-status { display: flex; align-items: center; justify-content: center; gap: 8px; color: var(--muted); font-size: 12px; line-height: 1.6; font-variant-numeric: tabular-nums; }
.pin-status-waiting { color: var(--yellow); }
.pin-keypad { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; width: 100%; max-width: 296px; margin: auto; }
.pin-key { min-height: 58px; min-width: var(--touch-target); border: 1px solid var(--line); border-radius: var(--radius-control); background: var(--panel-2); color: var(--text); font: 500 25px/1 var(--font); cursor: pointer; touch-action: manipulation; -webkit-tap-highlight-color: transparent; user-select: none; transition: background var(--motion-short), border-color var(--motion-short), transform var(--motion-short); }
.pin-key:hover:not(:disabled) { border-color: var(--blue); background: #22324b; }
.pin-key:active:not(:disabled) { transform: scale(.95); background: var(--blue-main); color: #fff; }
.pin-key:focus-visible { outline: 2px solid var(--blue); outline-offset: 3px; box-shadow: var(--focus-ring); }
.pin-key:disabled { opacity: .3; cursor: default; }
.pin-key.pin-delete { font-size: 26px; background: transparent; border-color: transparent; color: var(--muted); }
.pin-key.pin-delete:hover:not(:disabled) { color: var(--text); border-color: var(--line); background: var(--panel-2); }
.pin-form .pin-hint { margin: 13px 0 0; color: var(--dim); font-size: 11px; line-height: 1.6; }
.pin-restart { min-height: var(--touch-target); font-size: 12px; margin: 5px auto 0; padding: 8px; }
.pin-footer { display: grid; justify-items: center; gap: 0; margin-top: 10px; }
.pin-footer .text-btn { display: flex; align-items: center; justify-content: center; gap: 6px; min-height: var(--touch-target); font-size: 12px; padding: 8px; }
.pin-footer .text-btn:last-child { color: var(--muted); }
.pin-modal { width: min(410px, 100%); }
.pin-modal:focus { outline: none; }
.pin-modal .modal-head { padding: 10px 18px; }
.pin-modal .modal-head .icon-btn { width: 44px; height: 44px; }
.pin-modal .modal-body { padding: 22px 26px 24px; }
.week-grid{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;padding:0 20px 6px}.week-grid>div{padding:11px 0;border-top:1px solid var(--line);font-variant-numeric:tabular-nums;white-space:nowrap}.week-grid>.wk-head{border-top:0;padding:0 0 8px;color:var(--muted);font-size:11px}.week-grid .wk-label{white-space:normal;color:var(--muted)}.week-grid .wk-num{text-align:right;font-weight:650;color:var(--text)}.week-grid .wk-prev{text-align:right;color:var(--muted)}.week-grid .wk-change{text-align:right;font-weight:650}.week-grid>.wk-head.wk-num{font-weight:500;color:var(--muted)}.week-grid>div:not(.wk-label):not(:nth-child(4n+1)){padding-left:18px}
.section-text{font-size:14px;line-height:1.65;color:var(--text);overflow-wrap:anywhere}
.section-text b{font-weight:650}.section-text code{font-family:inherit;font-variant-numeric:tabular-nums}
@keyframes pin-shake { 0%,100% { transform: translateX(0); } 25%,75% { transform: translateX(-6px); } 50% { transform: translateX(6px); } }
@media(prefers-reduced-motion:reduce) { .pin-dots-error { animation: none; } .pin-key,.pin-dot { transition: none; } }
