@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,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)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-cyrillic-wght-normal-D73BlboJ.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-greek-wght-normal-Bw9x6K1M.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-vietnamese-wght-normal-Bt-aOZkq.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#060b1c;--bg-2:#0a1128;--surface:#0d1530;--surface-2:#121c3c;--surface-3:#18244a;--line:#1c2a52;--line-strong:#2a3b6e;--text:#eef2ff;--text-2:#aab6d8;--text-3:#7685ad;--text-inv:#06102a;--primary:#2f6bff;--primary-2:#4d86ff;--primary-soft:#2f6bff29;--primary-line:#4d86ff73;--violet:#7c4dff;--violet-soft:#7c4dff2e;--ok:#22c58b;--ok-soft:#22c58b24;--warn:#ff9f2e;--warn-soft:#ff9f2e26;--err:#ff4d63;--err-soft:#ff4d6326;--info:#38bdf8;--info-soft:#38bdf824;--r-sm:6px;--r:10px;--r-lg:14px;--r-xl:20px;--gap:12px;--pad:16px;--sidebar-w:248px;--sidebar-w-compact:72px;--topbar-h:68px;--touch:48px;--font:"Inter Variable", "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono:"JetBrains Mono Variable", "JetBrains Mono", ui-monospace, Consolas, monospace;--fs-xs:11.5px;--fs-sm:13px;--fs:14px;--fs-md:16px;--fs-lg:20px;--fs-xl:26px;--fs-2xl:34px;--shadow:0 8px 28px #00000059;--shadow-glow:0 0 0 1px var(--primary-line), 0 8px 30px #2f6bff40}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#eef2fa;--bg-2:#e4eaf7;--surface:#fff;--surface-2:#f3f6fd;--surface-3:#e8eefb;--line:#d8e0f2;--line-strong:#b9c6e6;--text:#0b1433;--text-2:#39476f;--text-3:#66739b;--text-inv:#fff;--primary-soft:#2f6bff1a;--shadow:0 8px 28px #14285a1f}*,:before,:after{box-sizing:border-box}html,body,#app{height:100%}body{font-family:var(--font);font-size:var(--fs);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;margin:0;line-height:1.45;overflow-x:hidden}h1,h2,h3,h4,p{margin:0}h1{font-size:var(--fs-xl);letter-spacing:-.01em;font-weight:700}h2{font-size:var(--fs-lg);letter-spacing:-.005em;font-weight:650}h3{font-size:var(--fs-md);font-weight:650}h4{font-size:var(--fs);font-weight:650}a{color:var(--primary-2);text-decoration:none}a:hover{text-decoration:underline}button{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--primary-2);outline-offset:2px;border-radius:4px}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.num{font-variant-numeric:tabular-nums}.muted{color:var(--text-2)}.faint{color:var(--text-3)}.sm{font-size:var(--fs-sm)}.xs{font-size:var(--fs-xs)}.bold{font-weight:650}.right{text-align:right}.center{text-align:center}.grow{flex:auto;min-width:0}.nowrap{white-space:nowrap}.ellipsis{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.row{align-items:center;gap:var(--gap);display:flex}.row.wrap{flex-wrap:wrap}.row.top{align-items:flex-start}.row.between{justify-content:space-between}.col{gap:var(--gap);flex-direction:column;display:flex}.gap-4{gap:4px}.gap-8{gap:8px}.gap-16{gap:16px}.gap-24{gap:24px}.mt-8{margin-top:8px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}.mb-8{margin-bottom:8px}.mb-16{margin-bottom:16px}.grid{gap:var(--gap);display:grid}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}.g6{grid-template-columns:repeat(6,minmax(0,1fr))}.split{gap:var(--gap);grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:start;display:grid}.split-wide{gap:var(--gap);grid-template-columns:minmax(0,1fr) 380px;align-items:start;display:grid}.card{background:linear-gradient(180deg, var(--surface) 0%, var(--bg-2) 100%);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--pad);min-width:0}.card.flat{background:var(--surface)}.card.tight{padding:12px}.card.clickable{cursor:pointer;transition:border-color .15s,transform .15s}.card.clickable:hover{border-color:var(--primary-line)}.card.glow{border-color:var(--primary-line);box-shadow:var(--shadow-glow)}.card.ok{background:linear-gradient(180deg, #22c58b17, var(--bg-2));border-color:#22c58b66}.card.warn{background:linear-gradient(180deg, #ff9f2e17, var(--bg-2));border-color:#ff9f2e66}.card.err{background:linear-gradient(180deg, #ff4d6317, var(--bg-2));border-color:#ff4d6366}.card-h{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.card-h h3{font-size:var(--fs-md)}.card-sub{color:var(--text-2);font-size:var(--fs-sm)}.btn{border-radius:var(--r);border:1px solid var(--line-strong);background:var(--surface-2);min-height:38px;color:var(--text);font-weight:600;font-size:var(--fs);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:8px;padding:0 16px;text-decoration:none;transition:background .15s,border-color .15s,opacity .15s;display:inline-flex}.btn:hover{background:var(--surface-3);border-color:var(--primary-line);text-decoration:none}.btn.primary{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 6px 22px #2f6bff59}.btn.primary:hover{background:var(--primary-2)}.btn.violet{background:linear-gradient(90deg, #3a2bd8, var(--violet));color:#fff;border-color:#0000}.btn.ok{background:var(--ok);border-color:var(--ok);color:var(--text-inv)}.btn.danger{background:var(--err-soft);color:#ff8b9a;border-color:#ff4d6380}.btn.danger:hover{background:#ff4d6347}.btn.ghost{background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--surface-2)}.btn.sm{min-height:30px;font-size:var(--fs-sm);border-radius:8px;padding:0 10px}.btn.lg{min-height:52px;font-size:var(--fs-md);border-radius:14px;padding:0 22px}.btn.block{width:100%}.btn[disabled],.btn.disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.icon-btn{border-radius:var(--r);border:1px solid var(--line-strong);width:38px;height:38px;color:var(--text-2);cursor:pointer;background:0 0;justify-content:center;align-items:center;display:inline-flex;position:relative}.icon-btn:hover{color:var(--text);border-color:var(--primary-line);background:var(--surface-2)}.icon-btn.on{color:#ffc93c;border-color:#ffc93c80}.icon-btn.sm{width:30px;height:30px}.badge-dot{background:var(--primary);color:#fff;border:2px solid var(--bg);border-radius:10px;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 5px;font-size:11px;font-weight:700;display:flex;position:absolute;top:-6px;right:-6px}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.field>label,.lbl{font-size:var(--fs-sm);color:var(--text-2);font-weight:550}.field .hint{font-size:var(--fs-xs);color:var(--text-3)}.field .err-msg{font-size:var(--fs-xs);color:#ff8b9a;font-weight:550}.input,.select,.textarea{background:var(--bg-2);width:100%;min-height:40px;color:var(--text);border:1px solid var(--line-strong);border-radius:var(--r);font:inherit;padding:8px 12px}.textarea{resize:vertical;min-height:84px}.input::placeholder,.textarea::placeholder{color:var(--text-3)}.input:focus,.select:focus,.textarea:focus{border-color:var(--primary-2);box-shadow:0 0 0 3px var(--primary-soft);outline:none}.field.invalid .input,.field.invalid .select,.field.invalid .textarea{border-color:var(--err)}.select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--text-2) 50%), linear-gradient(135deg, var(--text-2) 50%, transparent 50%);background-position:calc(100% - 18px),calc(100% - 13px);background-repeat:no-repeat;background-size:5px 5px;padding-right:32px}.check{cursor:pointer;font-size:var(--fs);align-items:center;gap:8px;display:inline-flex}.check input{width:18px;height:18px;accent-color:var(--primary)}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.form-grid .full{grid-column:1/-1}.seg{border:1px solid var(--line-strong);border-radius:var(--r);background:var(--bg-2);display:inline-flex;overflow:hidden}.seg button{color:var(--text-2);cursor:pointer;font-weight:600;font-size:var(--fs-sm);background:0 0;border:0;padding:8px 14px}.seg button.on{background:var(--primary-soft);color:var(--primary-2)}.chip{border:1px solid var(--line-strong);background:var(--bg-2);height:32px;color:var(--text-2);font-size:var(--fs-sm);cursor:pointer;white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:0 12px;font-weight:550;display:inline-flex}.chip:hover{border-color:var(--primary-line);color:var(--text)}.chip.on{background:var(--primary-soft);border-color:var(--primary-line);color:var(--primary-2)}.chip.static{cursor:default}.badge{white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;gap:5px;height:22px;padding:0 9px;font-size:11.5px;font-weight:650;display:inline-flex}.badge.ok{color:#4ce0a8;background:var(--ok-soft);border-color:#22c58b59}.badge.warn{color:#ffb95e;background:var(--warn-soft);border-color:#ff9f2e59}.badge.err{color:#ff8b9a;background:var(--err-soft);border-color:#ff4d6359}.badge.info{color:#7dd3fc;background:var(--info-soft);border-color:#38bdf84d}.badge.primary{color:var(--primary-2);background:var(--primary-soft);border-color:var(--primary-line)}.badge.violet{color:#b39bff;background:var(--violet-soft);border-color:#7c4dff66}.badge.neutral{color:var(--text-2);background:var(--surface-2);border-color:var(--line-strong)}.badge.live{color:#4ce0a8;background:var(--ok-soft)}.badge.new{color:#fff;background:linear-gradient(90deg, #3a2bd8, var(--violet))}.badge.lg{height:28px;font-size:var(--fs-sm);padding:0 12px}.table-wrap{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);overflow-x:auto}.tbl{border-collapse:collapse;width:100%;font-size:var(--fs)}.tbl th{text-align:left;font-size:var(--fs-xs);color:var(--text-3);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--line);white-space:nowrap;background:var(--bg-2);padding:11px 14px;font-weight:650;position:sticky;top:0}.tbl th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.tbl th.sortable:hover{color:var(--text)}.tbl td{border-bottom:1px solid var(--line);vertical-align:middle;padding:11px 14px}.tbl tr:last-child td{border-bottom:0}.tbl tbody tr{transition:background .12s}.tbl tbody tr.clickable{cursor:pointer}.tbl tbody tr:hover{background:#2f6bff12}.tbl td.actions{text-align:right;white-space:nowrap}.pager{color:var(--text-2);font-size:var(--fs-sm);justify-content:space-between;align-items:center;gap:12px;padding:10px 4px;display:flex}.tabs{border-bottom:1px solid var(--line);scrollbar-width:none;gap:4px;display:flex;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tab{color:var(--text-2);font-weight:600;font-size:var(--fs);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:8px;margin-bottom:-1px;padding:10px 14px;display:inline-flex}.tab:hover{color:var(--text)}.tab.on{color:var(--primary-2);border-bottom-color:var(--primary-2)}.tab .cnt{background:var(--surface-2);color:var(--text-2);border-radius:999px;padding:1px 7px;font-size:11.5px}.tab.on .cnt{background:var(--primary-soft);color:var(--primary-2)}.kpi{border-radius:var(--r-lg);border:1px solid var(--line);background:var(--surface);align-items:center;gap:12px;min-width:0;padding:14px;display:flex}.kpi.clickable{cursor:pointer}.kpi.clickable:hover{border-color:var(--primary-line)}.kpi-ico{border-radius:12px;flex:none;place-items:center;width:44px;height:44px;display:grid}.kpi-ico.primary{background:var(--primary-soft);color:var(--primary-2)}.kpi-ico.ok{background:var(--ok-soft);color:var(--ok)}.kpi-ico.warn{background:var(--warn-soft);color:var(--warn)}.kpi-ico.err{background:var(--err-soft);color:var(--err)}.kpi-ico.violet{background:var(--violet-soft);color:#b39bff}.kpi-lab{font-size:var(--fs-sm);color:var(--text-2)}.kpi-val{letter-spacing:-.01em;font-variant-numeric:tabular-nums;font-size:24px;font-weight:700}.kpi-trend{font-size:var(--fs-xs);font-weight:650}.kpi-trend.up{color:var(--ok)}.kpi-trend.down{color:var(--err)}.list{flex-direction:column;display:flex}.list-item{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:11px 4px;display:flex}.list-item:last-child{border-bottom:0}.list-item.clickable{cursor:pointer}.list-item.clickable:hover{background:#2f6bff0f}.dl{font-size:var(--fs);grid-template-columns:150px 1fr;gap:8px 14px;display:grid}.dl dt{color:var(--text-3)}.dl dd{overflow-wrap:anywhere;min-width:0;margin:0}.timeline{flex-direction:column;gap:14px;padding-left:26px;display:flex;position:relative}.timeline:before{content:"";background:var(--line-strong);width:2px;position:absolute;top:6px;bottom:6px;left:9px}.tl-item{position:relative}.tl-dot{background:var(--surface-3);border:2px solid var(--line-strong);width:20px;height:20px;color:var(--text-2);border-radius:50%;place-items:center;display:grid;position:absolute;top:2px;left:-26px}.tl-item.done .tl-dot{background:var(--ok);border-color:var(--ok);color:var(--text-inv)}.tl-item.now .tl-dot{background:var(--primary);border-color:var(--primary-2);color:#fff;box-shadow:0 0 0 4px var(--primary-soft)}.tl-item.bad .tl-dot{background:var(--err);border-color:var(--err);color:#fff}.tl-item.warn .tl-dot{background:var(--warn);border-color:var(--warn);color:var(--text-inv)}.tl-title{font-weight:600}.tl-meta{font-size:var(--fs-xs);color:var(--text-3)}.meter{background:var(--surface-3);border-radius:99px;height:8px;position:relative;overflow:hidden}.meter>i{background:var(--primary);border-radius:99px;height:100%;display:block}.meter.ok>i{background:var(--ok)}.meter.warn>i{background:var(--warn)}.meter.err>i{background:var(--err)}.ring{--p:50;--c:var(--ok);background:conic-gradient(var(--c) calc(var(--p) * 1%), var(--surface-3) 0);border-radius:50%;flex:none;place-items:center;width:64px;height:64px;display:grid;position:relative}.ring:before{content:"";background:var(--bg-2);border-radius:50%;position:absolute;inset:6px}.ring b{font-variant-numeric:tabular-nums;font-size:17px;position:relative}.spark{width:100%;height:34px}.avatar{color:#fff;background:linear-gradient(135deg,#2f6bff,#7c4dff);border-radius:50%;flex:none;place-items:center;width:38px;height:38px;font-size:13px;font-weight:700;display:grid}.avatar.lg{width:56px;height:56px;font-size:18px}.flag{vertical-align:middle;border:1px solid #ffffff26;border-radius:2px;width:22px;height:15px;display:inline-block}.flag.it{background:linear-gradient(90deg,#1f9d55 33%,#fff 33% 66%,#d62839 66%)}.flag.de{background:linear-gradient(#111 33%,#d62839 33% 66%,#fc0 66%)}.flag.fr{background:linear-gradient(90deg,#2647b4 33%,#fff 33% 66%,#d62839 66%)}.banner{border-radius:var(--r-lg);border:1px solid var(--line-strong);background:var(--surface);align-items:flex-start;gap:12px;padding:12px 14px;display:flex}.banner.ok{background:var(--ok-soft);border-color:#22c58b66}.banner.warn{background:var(--warn-soft);border-color:#ff9f2e73}.banner.err{background:var(--err-soft);border-color:#ff4d6373}.banner.info{background:var(--info-soft);border-color:#38bdf866}.banner.ai{background:var(--violet-soft);border-color:#7c4dff80}.empty{text-align:center;color:var(--text-2);padding:40px 16px}.empty svg{color:var(--text-3);margin-bottom:8px}.skeleton{background:linear-gradient(90deg, var(--surface-2), var(--surface-3), var(--surface-2));background-size:200% 100%;border-radius:8px;min-height:14px;animation:1.2s infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}.overlay{z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#020510b8;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal{background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-xl);width:min(560px,100%);max-height:calc(100dvh - 32px);box-shadow:var(--shadow);padding:22px;overflow:auto}.modal.wide{width:min(860px,100%)}.modal-h{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.modal-f{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:18px;display:flex}.drawer-wrap{justify-content:flex-end;padding:0}.drawer{background:var(--surface);border-left:1px solid var(--line-strong);width:min(520px,100%);height:100dvh;padding:22px;overflow:auto}.sheet-wrap{align-items:flex-end;padding:0}.sheet{background:var(--surface);border-top:1px solid var(--line-strong);width:100%;max-height:92dvh;padding:10px 18px calc(18px + env(safe-area-inset-bottom));box-shadow:var(--shadow);border-radius:22px 22px 0 0;overflow:auto}.sheet-grab{background:var(--line-strong);border-radius:3px;width:44px;height:5px;margin:4px auto 14px}.toasts{z-index:2000;flex-direction:column;gap:10px;max-width:min(400px,100vw - 32px);display:flex;position:fixed;bottom:16px;right:16px}.toast{border-radius:var(--r);background:var(--surface-3);border:1px solid var(--line-strong);box-shadow:var(--shadow);align-items:flex-start;gap:10px;padding:12px 14px;animation:.2s ease-out pop;display:flex}.toast.ok{border-color:#22c58b99}.toast.err{border-color:#ff4d6399}.toast.warn{border-color:#ff9f2e99}@keyframes pop{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.menu{z-index:900;background:var(--surface-2);border:1px solid var(--line-strong);border-radius:var(--r);min-width:210px;box-shadow:var(--shadow);padding:6px;position:absolute}.menu button,.menu a{width:100%;color:var(--text);cursor:pointer;font-size:var(--fs);text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:9px 10px;text-decoration:none;display:flex}.menu button:hover,.menu a:hover{background:var(--surface-3);text-decoration:none}.menu hr{border:0;border-top:1px solid var(--line);margin:6px 0}.menu .lbl{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);padding:6px 10px 2px}.page{max-width:1760px;margin:0 auto;padding:22px 26px 40px}.page-h{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:18px;display:flex}.page-h .sub{color:var(--text-2);margin-top:4px}.crumbs{font-size:var(--fs-sm);color:var(--text-3);flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:8px;display:flex}.crumbs a{color:var(--text-2)}.crumbs a:hover{color:var(--text)}*{scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}.map{border-radius:var(--r-lg);border:1px solid var(--line);background:radial-gradient(120% 90% at 50% 40%,#0f1d45 0%,#081029 70%);position:relative;overflow:hidden}.map svg{width:100%;height:100%;display:block}.map .land{fill:#13214a;stroke:#27407f;stroke-width:.7px}.map .land.it{fill:#17285a;stroke:#3f63c4;stroke-width:1px}.map .neighbour{fill:#0c1736;stroke:#1c2d63;stroke-width:.5px}.map-legend{flex-wrap:wrap;gap:8px;display:flex;position:absolute;bottom:10px;left:10px}.cap-bars{flex-direction:column;gap:10px;display:flex}.cap-row{font-size:var(--fs-sm);grid-template-columns:70px 1fr 120px;align-items:center;gap:10px;display:grid}.ldm-strip{border:1px solid var(--line-strong);background:repeating-linear-gradient(90deg, transparent 0 calc(7.35% - 1px), var(--line) calc(7.35% - 1px) 7.35%);border-radius:6px;height:26px;position:relative;overflow:hidden}.ldm-strip>i{background:var(--primary-soft);border-right:2px solid var(--primary-2);position:absolute;top:0;bottom:0;left:0}.ldm-strip.err>i{background:var(--err-soft);border-color:var(--err)}.sat-chart{border-bottom:1px solid var(--line-strong);align-items:flex-end;gap:6px;height:120px;padding-top:10px;display:flex;position:relative}.sat-col{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:4px;min-width:0;height:100%;display:flex}.sat-col>i{background:var(--primary-soft);border:1px solid var(--primary-line);border-radius:6px 6px 0 0;width:100%;max-width:54px;display:block}.sat-col.crit>i{background:var(--warn-soft);border-color:var(--warn)}.sat-col.over>i{background:var(--err-soft);border-color:var(--err)}.sat-lbl{gap:6px;display:flex}.sat-lbl>div{text-align:center;color:var(--text-3);text-overflow:ellipsis;flex:1;min-width:0;font-size:10.5px;overflow:hidden}@media (width<=1280px){.g6{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(2,minmax(0,1fr))}.split,.split-wide{grid-template-columns:minmax(0,1fr)}}@media (width<=760px){.page{padding:16px 14px 40px}.g2,.g3,.g4,.g6,.form-grid{grid-template-columns:minmax(0,1fr)}.dl{grid-template-columns:110px 1fr}h1{font-size:22px}.modal{border-radius:18px;padding:16px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}:root{--m-scale:1;--m-cta:64px}.m-root{background:var(--bg);flex-direction:column;align-items:center;min-height:100dvh;display:flex}.m-app{background:var(--bg);width:100%;max-width:480px;min-height:100dvh;padding-top:env(safe-area-inset-top);font-size:calc(17px * var(--m-scale));color:#f4f7ff;flex-direction:column;line-height:1.4;display:flex;position:relative}@media (width>=560px){.m-root{background:radial-gradient(80% 60% at 50% 0,#0d1a44 0%,#040817 70%);padding:18px 0}.m-app{border:1px solid var(--line-strong);border-radius:28px;min-height:calc(100dvh - 36px);overflow:hidden;box-shadow:0 30px 80px #0009}}.m-app .muted{color:#c0cbea}.m-app .faint{color:#9aa8d0}.m-app h1{font-size:1.25em}.m-app h2{font-size:1.1em}.m-app h3{font-size:1em}.m-top{z-index:30;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line-strong);background:#060b1cf5;align-items:center;gap:.6em;min-height:3.4em;padding:.4em .8em;display:flex;position:sticky;top:0}.m-top h1{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.m-back{border:1px solid var(--line-strong);background:var(--surface-2);color:#fff;cursor:pointer;border-radius:.8em;flex:none;place-items:center;width:2.8em;height:2.8em;display:grid}.m-main{flex-direction:column;flex:1;gap:.8em;min-width:0;padding:.8em .9em 9em;display:flex}.m-main.tight{padding-bottom:6.5em}.sync-bar{border-bottom:1px solid var(--line);align-items:center;gap:.5em;min-height:48px;padding:.2em .9em;font-size:.82em;font-weight:700;display:flex}.sync-bar.online{background:var(--ok-soft);color:#5ce8b4}.sync-bar.offline{background:var(--warn-soft);color:#ffc070}.sync-bar.syncing{background:var(--info-soft);color:#8ad8ff}.sync-bar.error{background:var(--err-soft);color:#ff9aa8}.sync-bar.done{background:var(--ok-soft);color:#5ce8b4}.sync-bar a,.sync-bar button{color:inherit;cursor:pointer;min-height:44px;font-weight:700;font:inherit;background:0 0;border:1px solid;border-radius:.6em;align-items:center;margin-left:auto;padding:0 .9em;text-decoration:none;display:inline-flex}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.m-nav{z-index:40;border-top:1px solid var(--line-strong);width:100%;max-width:480px;padding:.3em .2em calc(.3em + env(safe-area-inset-bottom));background:#080e24fc;grid-auto-columns:1fr;grid-auto-flow:column;display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.m-nav a{color:#aebbe0;border-radius:.8em;flex-direction:column;justify-content:center;align-items:center;gap:.15em;min-height:3.6em;font-size:.74em;font-weight:700;text-decoration:none;display:flex;position:relative}.m-nav a.active{color:#7fa8ff}.m-nav a.active:before{content:"";background:#7fa8ff;border-radius:3px;width:2em;height:3px;position:absolute;top:-.35em}.m-nav .dot{background:var(--err);color:#fff;border-radius:.7em;place-items:center;min-width:1.4em;height:1.4em;padding:0 .3em;font-size:.9em;display:grid;position:absolute;top:.2em;right:calc(50% - 1.6em)}@media (width>=560px){.m-nav{border-radius:0 0 28px 28px;bottom:18px}}.m-cta{left:50%;bottom:calc(4.3em + env(safe-area-inset-bottom));z-index:35;background:linear-gradient(#060b1c00,#060b1cf7 30%);flex-direction:column;gap:.5em;width:100%;max-width:480px;padding:.7em .9em;display:flex;position:fixed;transform:translate(-50%)}.m-cta.low{padding-bottom:calc(.9em + env(safe-area-inset-bottom));bottom:0}@media (width>=560px){.m-cta{bottom:90px}.m-cta.low{border-radius:0 0 28px 28px;bottom:18px}}.big-btn{width:100%;min-height:var(--m-cta);border:2px solid var(--primary);background:var(--primary);color:#fff;font:inherit;letter-spacing:.02em;text-transform:uppercase;cursor:pointer;border-radius:1em;justify-content:center;align-items:center;gap:.6em;padding:.6em 1em;font-size:1.1em;font-weight:800;text-decoration:none;display:flex;box-shadow:0 8px 26px #2f6bff66}.big-btn:active{background:var(--primary-2);transform:translateY(1px)}.big-btn.ok{color:#04241a;background:#1fbf85;border-color:#1fbf85;box-shadow:0 8px 26px #1fbf8559}.big-btn.warn{color:#2a1a00;background:#ffb02e;border-color:#ffb02e}.big-btn.danger{color:#ff9aa8;box-shadow:none;background:0 0;border-color:#ff6b7e}.big-btn.ghost{border-color:var(--line-strong);color:#eef2ff;box-shadow:none;background:0 0}.big-btn.sec{min-height:3.2em;font-size:.95em}.big-btn[disabled]{opacity:.45}.m-card{background:linear-gradient(180deg, var(--surface), var(--bg-2));border:1px solid var(--line-strong);border-radius:1.1em;padding:.9em}.m-card.click{cursor:pointer;color:inherit;text-decoration:none;display:block}.m-card.click:active{border-color:var(--primary-2)}.m-card.now{border-color:var(--primary-2);box-shadow:0 0 0 2px var(--primary-soft)}.m-route{flex-wrap:wrap;align-items:center;gap:.4em;font-size:1.25em;font-weight:800;display:flex}.m-meta{color:#c0cbea;flex-wrap:wrap;gap:.3em .9em;font-size:.92em;display:flex}.m-meta span{align-items:center;gap:.3em;display:inline-flex}.m-price{font-variant-numeric:tabular-nums;font-size:1.6em;font-weight:800}.m-facts{grid-template-columns:repeat(2,1fr);gap:.6em;display:grid}.m-fact{background:var(--surface);border:1px solid var(--line-strong);border-radius:.9em;padding:.6em .8em}.m-fact small{color:#9aa8d0;letter-spacing:.1em;text-transform:uppercase;font-size:.7em;font-weight:800;display:block}.m-fact b{font-variant-numeric:tabular-nums;font-size:1.15em}.m-fact.big{grid-column:span 2}.m-fact.hl{border-color:var(--primary-2);background:var(--primary-soft)}.m-tile{background:var(--surface);border:1px solid var(--line-strong);min-height:5em;color:inherit;border-radius:1em;flex-direction:column;justify-content:center;gap:.1em;padding:.7em .9em;text-decoration:none;display:flex}.m-tile b{font-variant-numeric:tabular-nums;font-size:1.7em;line-height:1.1}.m-tile span{color:#c0cbea;font-size:.85em}.m-tile.alert{border-color:var(--warn);background:var(--warn-soft)}.m-tile.danger{border-color:var(--err);background:var(--err-soft)}.m-quick{grid-template-columns:repeat(3,1fr);gap:.6em;display:grid}.m-quick a,.m-quick button{border:1px solid var(--line-strong);background:var(--surface-2);color:#eef2ff;min-height:5.2em;font:inherit;text-align:center;cursor:pointer;border-radius:1em;flex-direction:column;justify-content:center;align-items:center;gap:.3em;padding:.5em .3em;font-size:.82em;font-weight:700;text-decoration:none;display:flex}.m-seg{background:var(--surface);border:1px solid var(--line-strong);border-radius:1em;grid-template-columns:1fr 1fr;gap:.4em;padding:.3em;display:grid}.m-seg button{color:#c0cbea;min-height:3em;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:.8em;font-weight:800}.m-seg button.on{background:var(--primary);color:#fff}.m-chips{scrollbar-width:none;gap:.5em;padding-bottom:.2em;display:flex;overflow-x:auto}.m-chips::-webkit-scrollbar{display:none}.m-chips .chip{color:#eef2ff;flex:none;height:2.6em;padding:0 1em;font-size:.92em}.m-status{border:1px solid #0000;border-radius:.7em;align-items:center;gap:.35em;padding:.25em .7em;font-size:.85em;font-weight:800;display:inline-flex}.m-status.ok{color:#5ce8b4;background:var(--ok-soft);border-color:#22c58b80}.m-status.warn{color:#ffc070;background:var(--warn-soft);border-color:#ff9f2e80}.m-status.err{color:#ff9aa8;background:var(--err-soft);border-color:#ff4d6380}.m-status.info{color:#8ad8ff;background:var(--info-soft);border-color:#38bdf880}.m-status.neutral{color:#d3dcf5;background:var(--surface-2);border-color:var(--line-strong)}.m-alert{border:1px solid var(--line-strong);border-radius:1em;gap:.6em;padding:.75em .9em;font-size:.95em;display:flex}.m-alert.info{background:var(--info-soft);border-color:#38bdf880}.m-alert.warn{background:var(--warn-soft);border-color:var(--warn)}.m-alert.act{background:#ff9f2e38;border-color:#ffb02e}.m-alert.block{background:var(--err-soft);border-color:var(--err)}.m-done{text-align:center;background:#1fbf851f;border:2px solid #1fbf85;border-radius:1.2em;flex-direction:column;align-items:center;gap:.5em;padding:1.4em .8em;display:flex}.m-done .tick{color:#04241a;background:#1fbf85;border-radius:50%;place-items:center;width:4em;height:4em;display:grid}.m-done h2{font-size:1.4em}.m-done .when{font-variant-numeric:tabular-nums;font-size:1.3em;font-weight:800}.steps{gap:.3em;display:flex}.steps i{background:var(--surface-3);border-radius:.2em;flex:1;height:.4em}.steps i.done{background:#1fbf85}.steps i.cur{background:#7fa8ff}.stepno{color:#9cc0ff;letter-spacing:.06em;text-transform:uppercase;font-size:.85em;font-weight:800}.code-display{z-index:20;background:var(--bg);justify-content:center;gap:.4em;padding:.5em 0;display:flex;position:sticky;top:3.4em}.code-cell{border:2px solid var(--line-strong);background:var(--bg-2);width:clamp(40px,12.5vw,54px);height:clamp(52px,16vw,66px);font-size:1.55em;font-weight:800;font-family:var(--mono);border-radius:.7em;place-items:center;display:grid}.code-cell.cur{box-shadow:0 0 0 3px var(--primary-soft);border-color:#7fa8ff}.code-cell.ko{border-color:var(--err)}.keypad{grid-template-columns:repeat(3,1fr);gap:.5em;display:grid}.keypad button{border:1px solid var(--line-strong);background:var(--surface-2);color:#fff;min-height:56px;font:inherit;cursor:pointer;border-radius:1em;font-size:1.5em;font-weight:800}.keypad button:active{background:var(--primary-soft);border-color:#7fa8ff}.keypad button.util{color:#c0cbea;font-size:.95em}.sig-pad{touch-action:none;background:#f7f9ff;border:2px dashed #9aa8d0;border-radius:1em;width:100%;height:14em;display:block}.photo-ph{aspect-ratio:4/3;border:2px dashed var(--line-strong);background:var(--bg-2);color:#9aa8d0;text-align:center;border-radius:1em;place-items:center;display:grid;overflow:hidden}.photo-ph img{object-fit:cover;width:100%;height:100%}.stop-card{padding-left:3.4em;position:relative}.stop-num{background:var(--primary);color:#fff;border-radius:50%;place-items:center;width:2em;height:2em;font-weight:800;display:grid;position:absolute;top:.9em;left:.8em}.stop-num.del{color:#04241a;background:#1fbf85}.stop-num.done{background:var(--surface-3);color:#c0cbea}.kind{letter-spacing:.08em;border-radius:.6em;align-items:center;gap:.35em;padding:.2em .65em;font-size:.85em;font-weight:900;display:inline-flex}.kind.pic{background:var(--primary-soft);color:#9cc0ff}.kind.del{background:var(--ok-soft);color:#5ce8b4}.addr{font-size:1.15em;font-weight:700;line-height:1.3}.m-list-row{border-bottom:1px solid var(--line);min-height:3.6em;color:inherit;align-items:center;gap:.8em;padding:.6em .1em;text-decoration:none;display:flex}.notif{border:1px solid var(--line);background:var(--surface);color:inherit;border-radius:1em;gap:.8em;padding:.8em;text-decoration:none;display:flex}.notif.unread{background:var(--primary-soft);border-color:#7fa8ff}.bubble-row{display:flex}.bubble-row.me{justify-content:flex-end}.bubble{background:var(--surface-3);border-radius:1em 1em 1em .3em;max-width:84%;padding:.65em .85em}.bubble-row.me .bubble{background:var(--primary);color:#fff;border-radius:1em 1em .3em}.compose{width:100%;max-width:480px;padding:.6em .8em calc(.6em + env(safe-area-inset-bottom));background:var(--bg-2);border-top:1px solid var(--line-strong);z-index:45;gap:.5em;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}@media (width>=560px){.compose{bottom:18px}}.m-input{border:2px solid var(--line-strong);background:var(--bg-2);color:#fff;width:100%;min-height:3.2em;font:inherit;border-radius:1em;padding:.5em .9em;font-size:1em}.m-input:focus{border-color:#7fa8ff;outline:none}.m-price-input{text-align:center;font-variant-numeric:tabular-nums;min-height:2.2em;font-size:2.2em;font-weight:800}.opt{border:2px solid var(--line-strong);background:var(--surface);cursor:pointer;border-radius:1em;align-items:center;gap:.8em;min-height:3.6em;padding:.6em .9em;font-weight:700;display:flex}.opt.on{background:var(--primary-soft);border-color:#7fa8ff}.opt input{width:1.4em;height:1.4em;accent-color:var(--primary);flex:none}@media (width<=400px){.m-quick{gap:.4em}.m-route{font-size:1.15em}.code-cell{border:2px solid var(--line-strong);background:var(--bg-2);width:clamp(40px,12.5vw,54px);height:clamp(52px,16vw,66px);font-size:1.55em;font-weight:800;font-family:var(--mono);border-radius:.7em;place-items:center;display:grid}}.m-sheet-bg{z-index:60;background:#0009;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.m-sheet{background:var(--bg-2);border:1px solid var(--line-strong);width:100%;max-width:480px;max-height:88dvh;padding:1em 1em calc(1em + env(safe-area-inset-bottom));font-size:calc(17px * var(--m-scale));color:#f4f7ff;border-radius:1.4em 1.4em 0 0;flex-direction:column;gap:.8em;display:flex;overflow:auto}.m-sheet h2{font-size:1.15em}.m-sheet label.f{flex-direction:column;gap:.3em;font-weight:700;display:flex}.m-sheet select{border:2px solid var(--line-strong);background:var(--surface);color:#fff;min-height:3em;font:inherit;border-radius:.9em;padding:0 .8em}.m-compat{border-radius:.6em;align-items:center;gap:.3em;padding:.2em .6em;font-size:.8em;font-weight:800;display:inline-flex}.m-compat.ok{background:var(--ok-soft);color:#5ce8b4}.m-compat.warn{background:var(--warn-soft);color:#ffc070}.m-compat.ko{background:var(--err-soft);color:#ff9aa8}.stepper{justify-content:center;align-items:center;gap:.8em;display:flex}.stepper button{border:1px solid var(--line-strong);background:var(--surface-2);color:#fff;min-width:3.4em;height:3.4em;font:inherit;cursor:pointer;border-radius:1em;font-size:1em;font-weight:800}.sr-only{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}@media (height<=800px){.keypad button{min-height:48px}.keypad{gap:.4em}}.m-main:after{content:"powered by THUX CODE";text-align:center;letter-spacing:.04em;color:#7f8fb8;padding-top:.6em;font-size:.72em;display:block}.m-main:has(.pb-page):after{display:none}
