:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#4b4b4b;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--brand:#f97316;--brand-2:#ea580c;--text:#e6e6f0;--muted:#b6b6c9;--glass: rgba(255,255,255,.08);--line: rgba(255,255,255,.12);--app-background: radial-gradient(1200px 700px at 15% 15%, rgba(249,115,22,.25), transparent 60%), radial-gradient(1000px 700px at 85% 10%, rgba(234,88,12,.25), transparent 60%), linear-gradient(135deg, #0f1227 0%, #121738 60%, #0e1930 100%);--app-topbar-bg: rgba(0,0,0,.22);--app-card-bg: linear-gradient(180deg, rgba(255,255,255,.1), rgba(255,255,255,.04));--app-card-border: rgba(255,255,255,.12);--app-card-shadow: 0 20px 60px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.12);--app-control-bg: rgba(15,23,42,.85);--app-control-bg-strong: rgba(15,23,42,.9);--app-control-bg-alt: rgba(30,41,59,.92);--app-control-border: rgba(148,163,184,.35);--app-control-hover: rgba(51,65,85,.95);--app-panel-bg: linear-gradient(180deg, rgba(15,23,42,.95), rgba(15,23,42,.98));--app-panel-shadow: 0 18px 50px rgba(0,0,0,.7), inset 0 1px 0 rgba(255,255,255,.1);--settings-menu-bg: #111827;--settings-menu-border: rgba(71,85,105,.56)}:root[data-app-theme=dark]{--text:#f8fafc;--muted:#94a3b8;--glass: rgba(255,255,255,.04);--line: rgba(71,85,105,.42);--app-background: radial-gradient(1200px 700px at 18% 18%, rgba(14,165,233,.14), transparent 60%), radial-gradient(1000px 700px at 82% 12%, rgba(15,23,42,.28), transparent 58%), linear-gradient(135deg, #020617 0%, #07111f 54%, #020617 100%);--app-topbar-bg: rgba(2,6,23,.78);--app-card-bg: linear-gradient(180deg, rgba(10,15,28,.95), rgba(2,6,23,.9));--app-card-border: rgba(71,85,105,.38);--app-card-shadow: 0 20px 60px rgba(0,0,0,.46), inset 0 1px 0 rgba(255,255,255,.06);--app-control-bg: rgba(2,6,23,.86);--app-control-bg-strong: rgba(2,6,23,.92);--app-control-bg-alt: rgba(15,23,42,.96);--app-control-border: rgba(71,85,105,.44);--app-control-hover: rgba(30,41,59,.96);--app-panel-bg: linear-gradient(180deg, rgba(7,12,24,.98), rgba(2,6,23,.96));--app-panel-shadow: 0 18px 50px rgba(0,0,0,.78), inset 0 1px 0 rgba(255,255,255,.06);--settings-menu-bg: #020617;--settings-menu-border: rgba(51,65,85,.74)}:root[data-app-theme=white]{--text:#0f172a;--muted:#64748b;--glass: rgba(255,255,255,.82);--line: rgba(148,163,184,.28);--app-background: radial-gradient(1200px 700px at 15% 15%, rgba(251,191,36,.16), transparent 58%), radial-gradient(1000px 700px at 85% 10%, rgba(125,211,252,.22), transparent 60%), linear-gradient(135deg, #f8fafc 0%, #eff6ff 54%, #f8fafc 100%);--app-topbar-bg: rgba(255,255,255,.78);--app-card-bg: linear-gradient(180deg, rgba(255,255,255,.95), rgba(248,250,252,.92));--app-card-border: rgba(203,213,225,.84);--app-card-shadow: 0 20px 60px rgba(148,163,184,.22), inset 0 1px 0 rgba(255,255,255,.96);--app-control-bg: rgba(255,255,255,.92);--app-control-bg-strong: rgba(255,255,255,.98);--app-control-bg-alt: rgba(241,245,249,.98);--app-control-border: rgba(203,213,225,.88);--app-control-hover: rgba(226,232,240,.96);--app-panel-bg: linear-gradient(180deg, rgba(255,255,255,.96), rgba(248,250,252,.96));--app-panel-shadow: 0 18px 50px rgba(148,163,184,.2), inset 0 1px 0 rgba(255,255,255,.98);--settings-menu-bg: #ffffff;--settings-menu-border: rgba(203,213,225,.95)}*{box-sizing:border-box}html,body,#root{min-height:100%;width:100%;margin:0;padding:0}body{margin:0;font-family:Poppins,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Arial;color:var(--text);background:var(--app-background)}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}input,input:focus,input:active{background:transparent!important;-webkit-background-clip:text!important;background-clip:text!important;color:#f8f8f8}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus{-webkit-text-fill-color:#ffffffb3!important;box-shadow:0 0 0 1000px transparent inset!important;-webkit-box-shadow:0 0 0px 1000px transparent inset!important;transition:background-color 9999s ease-in-out 0s}input:-moz-autofill{-moz-text-fill-color:#e6e6f0!important;box-shadow:0 0 0 1000px transparent inset!important}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.topbar{min-height:60px;height:auto;display:flex;align-items:center;justify-content:space-between;padding:6px 24px;border-bottom:1px solid var(--line);background:var(--app-topbar-bg);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);position:relative;z-index:240;overflow:visible}.topbar-left{display:flex;align-items:center;gap:12px}.topbar-logo{height:34px;filter:drop-shadow(0 6px 14px rgba(0,0,0,.5))}.topbar-title{display:flex;flex-direction:column;gap:2px}.topbar-title span:first-child{font-size:13px;color:var(--muted);letter-spacing:.1em}.topbar-title span:last-child{font-size:15px;font-weight:600}.topbar-right{display:flex;gap:12px;align-items:center;font-size:12px;color:var(--muted);flex-wrap:wrap;position:relative;z-index:241;overflow:visible}.btn-small{padding:7px 14px;border-radius:999px;border:none;cursor:pointer;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#fff;background:linear-gradient(135deg,var(--brand),var(--brand-2));box-shadow:0 8px 20px #f9731659}.btn-small:hover{box-shadow:0 2px 40px #ed7f3073}.btn-small--ghost{background:var(--app-control-bg-alt);border:1px solid var(--app-control-border);box-shadow:none;text-transform:none;letter-spacing:.02em;padding:7px 12px;color:var(--text)}.btn-small--ghost:hover{box-shadow:none;background:var(--app-control-hover)}.export-action-btn{min-width:126px;padding:7px 12px;justify-content:center;display:inline-flex;align-items:center;text-align:center}.btn-logout{padding:7px 14px;border-radius:999px;border:none;cursor:pointer;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#fff;background:#ef4444;box-shadow:0 8px 20px #ef444459}.btn-logout:hover{box-shadow:0 2px 40px #dc26268c}.lang-select{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}.lang-select__label,.theme-select__label{font-size:12px}.lang-select select,.theme-select select{height:30px;border-radius:8px;border:1px solid var(--app-control-border);background:var(--app-control-bg-strong);color:var(--text);font-size:12px;padding:0 8px}.theme-select{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}.settings-menu{position:relative;z-index:242}.settings-menu__trigger,.layer-tabs .layer-tabs__history-btn{width:38px;height:38px;border-radius:10px;border:1px solid var(--app-control-border);background:var(--app-control-bg-strong);color:var(--text);box-shadow:none;display:inline-flex;align-items:center;justify-content:center;transition:border-color .16s ease,background .16s ease,color .16s ease}.layer-tabs .layer-tabs__history-btn{color:var(--text)}.settings-menu__trigger:hover,.layer-tabs .layer-tabs__history-btn:hover{border-color:#94a3b8a6;background:var(--app-control-hover)}.settings-menu__trigger:active,.layer-tabs .layer-tabs__history-btn:active{background:var(--app-control-bg-alt)}.settings-menu__trigger.is-open,.layer-tabs .layer-tabs__history-btn.is-active{border-color:#38bdf8b8;background:#0ea5e924}.settings-menu__trigger .icon,.layer-tabs .layer-tabs__history-btn .icon{width:19px;height:19px;display:inline-flex;align-items:center;justify-content:center;filter:none}.settings-menu__trigger .icon svg,.layer-tabs .layer-tabs__history-btn .icon svg{width:19px;height:19px}.settings-menu__panel{position:absolute;right:0;top:calc(100% + 10px);width:min(320px,92vw);border:1px solid var(--settings-menu-border);border-radius:16px;background:var(--settings-menu-bg);box-shadow:var(--app-card-shadow),0 24px 52px #0206176b;padding:12px;display:flex;flex-direction:column;gap:10px;z-index:3000;overflow:hidden;transition:width .22s ease}.settings-menu__panel--home{width:min(300px,92vw)}.settings-menu__panel--login,.settings-menu__panel--password{width:min(370px,92vw)}.settings-menu__panel--language,.settings-menu__panel--theme{width:min(280px,92vw)}.settings-menu__panel--captureModel{width:min(390px,92vw)}.settings-menu__header{display:flex;align-items:center;gap:10px}.settings-menu__avatar{width:34px;height:34px;border-radius:10px;border:1px solid rgba(148,163,184,.34);background:linear-gradient(135deg,#38bdf838,#f973164d);color:var(--text);font-size:12px;font-weight:700;letter-spacing:.06em;display:inline-flex;align-items:center;justify-content:center}.settings-menu__identity{display:flex;flex-direction:column;min-width:0}.settings-menu__identity strong{color:var(--text);font-size:12px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-menu__identity small{color:var(--muted);font-size:11px;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-menu__section{border-top:1px solid rgba(148,163,184,.18);padding-top:10px;display:flex;flex-direction:column;gap:8px}.settings-menu__section h4{margin:0;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.settings-menu__section p{margin:0;font-size:11px;color:var(--muted)}.settings-menu__body,.settings-menu__view{display:flex;flex-direction:column;gap:8px}.settings-menu__view--home h4{margin:0;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.settings-menu__view--home p{margin:0;font-size:11px;color:var(--muted)}.settings-menu__view-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.settings-menu__view-head strong{font-size:11px;color:var(--text);letter-spacing:.04em;text-transform:uppercase}.settings-menu__back-btn{border:1px solid rgba(148,163,184,.35);background:color-mix(in srgb,var(--app-control-bg-alt) 68%,transparent);color:var(--text);border-radius:999px;min-height:26px;padding:0 10px;font-size:10px;font-weight:700;letter-spacing:.04em}.settings-menu__back-btn:hover{border-color:#94a3b8a6;background:#33415552}.settings-menu__floating-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.settings-menu__floating-btn{border:1px solid rgba(148,163,184,.35);background:color-mix(in srgb,var(--app-control-bg-alt) 62%,transparent);color:var(--text);border-radius:11px;min-height:40px;padding:0 10px;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;box-shadow:0 7px 16px #02061738;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.settings-menu__floating-btn:hover{transform:translateY(-1px);border-color:#38bdf89e;box-shadow:0 10px 20px #0206174d}.settings-menu__submenu{border:1px solid rgba(148,163,184,.25);border-radius:10px;background:color-mix(in srgb,var(--app-control-bg-alt) 58%,transparent);overflow:hidden}.settings-menu__submenu-toggle{width:100%;border:none;border-radius:0;background:transparent;color:var(--text);min-height:34px;padding:0 10px;display:flex;align-items:center;justify-content:space-between;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.settings-menu__submenu-toggle:hover{background:#33415538}.settings-menu__submenu-toggle small{color:var(--muted);font-size:10px}.settings-menu__submenu.is-open .settings-menu__submenu-toggle{border-bottom:1px solid rgba(148,163,184,.25)}.settings-menu__submenu-content{padding:9px;display:flex;flex-direction:column;gap:8px}.settings-menu__submenu-content>p{margin:0;font-size:11px;color:var(--muted)}.settings-menu__form{display:flex;flex-direction:column;gap:8px}.settings-menu__field{display:flex;flex-direction:column;gap:5px}.settings-menu__field span{font-size:11px;color:var(--muted)}.settings-menu__field input,.settings-menu__field select{height:32px;border-radius:8px;border:1px solid var(--app-control-border);background:var(--app-control-bg-strong);color:var(--text);font-size:12px;padding:0 10px}.settings-menu__field input:focus{border-color:#38bdf8bf;box-shadow:0 0 0 3px #38bdf833}.settings-menu__field select:focus{border-color:#38bdf8bf;box-shadow:0 0 0 3px #38bdf833}.settings-menu__field input[readonly]{opacity:.78;cursor:not-allowed;background:color-mix(in srgb,var(--app-control-bg-alt) 74%,transparent)}.settings-menu__save{align-self:flex-start;min-width:138px;padding:6px 12px;text-transform:none;letter-spacing:.02em}.settings-menu__save:disabled{opacity:.75;cursor:wait}.settings-menu__feedback{font-size:11px}.settings-menu__feedback--error{color:#fca5a5}.settings-menu__feedback--success{color:#86efac}.settings-menu__feedback--saving,.settings-menu__feedback--idle{color:var(--muted)}.settings-menu__inline-select{width:100%;justify-content:space-between}.settings-menu__inline-select select{flex:1;width:100%}.settings-menu__capture-model-help{border:1px solid rgba(148,163,184,.22);border-radius:10px;padding:8px 10px;display:flex;flex-direction:column;gap:6px;background:color-mix(in srgb,var(--app-control-bg-alt) 55%,transparent)}.settings-menu__capture-model-help p{margin:0;font-size:11px;color:var(--muted);line-height:1.35}.settings-menu__capture-model-help strong{color:var(--text)}.auth-lang{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin-bottom:6px}.topbar-project{display:flex;align-items:center;gap:8px;margin-left:24px}.topbar-project label{font-size:12px;color:var(--muted)}.topbar-project input{border-radius:999px;border:1px solid var(--line);padding:6px 10px;background:var(--app-control-bg);color:var(--text);font-size:12px;min-width:180px}.projects-root{min-height:100vh;display:flex;flex-direction:column;background:var(--app-background)}.projects-root .page{flex:1}.page{flex:1;display:flex;justify-content:center;padding:32px 24px 24px}.shell{width:min(1200px,100%);border-radius:22px;background:var(--app-card-bg);border:1px solid var(--app-card-border);box-shadow:var(--app-card-shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:24px 24px 28px;display:flex;flex-direction:column;gap:20px}.shell-header{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap}.shell-header h1{margin:0;font-size:20px;letter-spacing:.08em;font-weight:700}.shell-header p{margin:4px 0 0;font-size:13px;color:var(--muted)}.shell-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.search-input{padding:8px 12px;border-radius:999px;border:1px solid var(--app-control-border);background:var(--app-control-bg);color:var(--text);font-size:12px;min-width:220px}@keyframes projects-row-in{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.projects-layout{position:relative;display:flex;flex-direction:column;min-height:220px}.projects-list{display:flex;flex-direction:column;gap:6px}.projects-list__row{display:grid;grid-template-columns:36px 1fr auto auto;align-items:center;gap:14px;padding:14px 20px;border-radius:12px;border:1px solid rgba(148,163,184,.12);cursor:pointer;background:linear-gradient(160deg,#0f172ab8,#020617d1);box-shadow:0 2px 8px #00000047,inset 0 1px #ffffff0d;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:transform .2s cubic-bezier(.22,.68,0,1.1),box-shadow .2s ease,border-color .2s ease,background .2s ease;animation:projects-row-in .38s ease both;position:relative;z-index:1}.projects-list__row:hover{transform:translateY(-2px) scale(1.012);border-color:#38bdf84d;box-shadow:0 8px 24px #0ea5e92e,0 2px 8px #00000052,inset 0 1px #ffffff14;background:linear-gradient(160deg,#0f172ae0,#082f496b);z-index:2}.projects-list__row.is-active{transform:translateY(-3px) scale(1.018);border-color:#38bdf873;box-shadow:0 12px 32px #0ea5e938,0 4px 12px #00000059,inset 0 1px #7dd3fc1f;background:linear-gradient(160deg,#082f498c,#0c4a6e61);z-index:3}.projects-list__row.is-active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:60%;border-radius:0 3px 3px 0;background:linear-gradient(180deg,#38bdf8,#0ea5e9);box-shadow:0 0 10px #38bdf880}.projects-list__index{font-size:11px;font-weight:700;font-variant-numeric:tabular-nums;color:#94a3b880;letter-spacing:.06em;text-align:center;transition:color .18s}.projects-list__row:hover .projects-list__index{color:#7dd3fcb3}.projects-list__row.is-active .projects-list__index{color:#38bdf8f2;text-shadow:0 0 8px rgba(56,189,248,.4)}.projects-list__info{display:flex;flex-direction:column;gap:2px;min-width:0}.projects-list__name{font-size:13px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .18s}.projects-list__row.is-active .projects-list__name{color:#e0f2fe}.projects-list__date{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}.projects-list__cameras{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:var(--muted);padding:3px 8px;border-radius:999px;background:#0f172a8c;border:1px solid rgba(148,163,184,.1);white-space:nowrap}.projects-list__cameras svg{opacity:.65}.projects-list__actions{display:flex;gap:6px;opacity:.5;transition:opacity .18s}.projects-list__row:hover .projects-list__actions{opacity:1}.projects-preview{position:fixed;z-index:100;width:340px;right:max(32px,calc((100vw - 1200px)/2 + 32px));top:50%;transform:translateY(-50%) scale(.96);border-radius:16px;border:1px solid rgba(56,189,248,.2);background:linear-gradient(160deg,#0f172af0,#020617f7);box-shadow:0 24px 64px #0009,0 0 0 1px #38bdf80f,inset 0 1px #ffffff0f;-webkit-backdrop-filter:blur(20px) saturate(140%);backdrop-filter:blur(20px) saturate(140%);padding:16px;display:flex;flex-direction:column;gap:12px;opacity:0;transition:opacity .25s ease,transform .25s cubic-bezier(.22,.68,0,1.1);pointer-events:none}.projects-preview.is-visible{opacity:1;transform:translateY(-50%) scale(1);pointer-events:auto}.projects-preview__label{font-size:13px;font-weight:700;letter-spacing:.04em;color:#e2e8f0f2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.projects-preview__image-wrap{border-radius:10px;overflow:hidden;border:1px solid rgba(148,163,184,.14);background:#060d18;aspect-ratio:16 / 10;position:relative;width:100%}.projects-preview__image{position:absolute;inset:0;background-size:cover;background-position:center;background-repeat:no-repeat;transition:transform .3s ease}.projects-preview:hover .projects-preview__image{transform:scale(1.03)}.projects-preview__meta{font-size:11px;color:var(--muted)}.projects-preview__no-image{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--muted)}.icon-btn{width:30px;height:30px;padding:0;border-radius:999px;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;background:var(--app-control-bg);color:var(--text);box-shadow:0 4px 10px #0006}.icon-btn svg{width:14px;height:14px;stroke:currentColor;fill:none}.icon-btn:hover{background:var(--app-control-hover)}.icon-btn--danger{background:#7f1d1df2;color:#fee2e2}.icon-btn--danger:hover{background:#be123cf2}.brand-foot{font-size:11px;color:var(--muted);text-align:center;padding:4px 0 12px}.projects-edit-backdrop{position:fixed;inset:0;z-index:120;display:flex;align-items:center;justify-content:center;padding:16px;background:#020617a6;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.projects-edit-modal{width:min(900px,100%);max-height:min(90vh,860px);overflow:auto;border-radius:16px;border:1px solid var(--app-control-border);background:var(--app-panel-bg);box-shadow:var(--app-panel-shadow);padding:16px}.projects-edit-modal__header h2{margin:0;font-size:14px;letter-spacing:.08em;text-transform:uppercase}.projects-edit-modal__form{margin-top:12px;display:flex;flex-direction:column;gap:12px}.projects-edit-modal__name{display:flex;flex-direction:column;gap:6px}.projects-edit-modal__name span{font-size:11px;color:var(--muted)}.projects-edit-modal__name input{height:36px;border:1px solid var(--app-control-border);border-radius:8px;padding:0 10px;background:var(--app-control-bg-strong);color:var(--text)}.projects-edit-modal__name input:focus{border-color:#60a5fae0;box-shadow:0 0 0 3px #60a5fa33}.projects-edit-modal__actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}@media(max-width:600px){.topbar{padding:0 16px}.shell{padding:18px 16px 22px}.projects-preview{display:none}.projects-list__row{grid-template-columns:28px 1fr auto;gap:10px;padding:10px 12px}.projects-list__cameras{display:none}.settings-menu__panel{right:-6px;width:min(340px,calc(100vw - 20px))}.settings-menu__panel--home,.settings-menu__panel--login,.settings-menu__panel--password,.settings-menu__panel--language,.settings-menu__panel--theme{width:min(340px,calc(100vw - 20px))}.projects-edit-modal{padding:14px}}.auth-screen{min-height:100vh;display:grid;place-items:center;background:var(--app-background)}.auth-card{width:min(92vw,360px);border-radius:22px;padding:26px 24px 24px;background:var(--app-card-bg);border:1px solid var(--app-card-border);box-shadow:var(--app-card-shadow);color:var(--text);position:relative;overflow:hidden;box-sizing:border-box}.auth-card--wide{width:min(92vw,400px)}.auth-logo{width:80px;display:block;margin:-70px auto 12px}.auth-title{text-align:center;margin:6px 0 18px;font-size:18px;letter-spacing:.08em}.auth-form{display:grid;gap:12px;width:100%;box-sizing:border-box}.auth-field{display:flex;align-items:center;border:1px solid var(--app-control-border);border-radius:10px;padding:10px 12px;background:var(--app-control-bg)}.auth-input{all:unset;flex:1;font-size:14px;color:var(--text)}.auth-input::placeholder{color:color-mix(in srgb,var(--muted) 72%,transparent)}.auth-options{display:flex;justify-content:space-between;align-items:center;margin-top:4px;font-size:12px;color:var(--muted)}.auth-link{color:#fca76f;text-decoration:none}.auth-link:hover{text-decoration:underline}.auth-button{margin-top:6px;width:100%;padding:12px 14px;border:none;border-radius:10px;font-weight:700;letter-spacing:.08em;color:#fff;cursor:pointer;background:linear-gradient(135deg,#f97316,#ea580c);box-shadow:0 10px 25px #f9731659;transition:opacity .2s,box-shadow .2s}.auth-button:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.auth-button--ghost{background:var(--app-control-bg-alt, rgba(255,255,255,.06));border:1px solid var(--app-control-border, rgba(255,255,255,.12));box-shadow:none;color:var(--muted);font-weight:500;letter-spacing:.02em;font-size:12px;margin-top:0}.auth-button--ghost:hover:not(:disabled){background:var(--app-control-hover, rgba(255,255,255,.1))}.auth-button--ghost:disabled{opacity:.6;cursor:not-allowed}.auth-error{margin-top:8px;font-size:12px;color:#fee2e2}.auth-footer{margin-top:14px;font-size:12px;color:var(--muted);text-align:center}.auth-field-group{display:grid;gap:4px}.auth-error-inline{font-size:12px;color:#ff6b6b;margin-left:4px;margin-top:2px}.auth-checkbox-row{font-size:12px;color:var(--muted);display:flex;flex-direction:column;gap:10px;margin-top:4px}.auth-checkbox-label{display:flex;align-items:center;gap:6px}.auth-checkbox-label input[type=checkbox]{margin:0}.auth-footnote{position:fixed;bottom:14px;left:50%;transform:translate(-50%);font-size:12px;color:var(--muted)}.auth-input--error{border-color:#ff6b6b!important;box-shadow:0 0 0 2px #ff6b6b26!important}.pw-toggle{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;font-size:16px;color:var(--muted);padding:4px;line-height:1;display:flex;align-items:center;justify-content:center;opacity:.7;transition:opacity .15s}.pw-toggle:hover{opacity:1}.pw-requirements{display:flex;flex-direction:column;gap:4px;margin-top:6px;padding:10px 12px;background:var(--surface-muted, rgba(255,255,255,.04));border-radius:8px;border:1px solid rgba(255,255,255,.06)}.pw-rule{font-size:11px;display:flex;align-items:center;transition:color .2s}.otp-hint{text-align:center;font-size:13px;color:var(--muted);line-height:1.55;margin:0 0 22px}.otp-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;justify-items:center}.otp-box{width:100%;height:52px;max-width:48px;border:2px solid var(--app-control-border);border-radius:12px;background:var(--app-control-bg);color:var(--text);font-size:22px;font-weight:700;text-align:center;line-height:48px;padding:0;margin:0;caret-color:transparent;outline:none;transition:border-color .15s,box-shadow .15s,background .15s;box-sizing:border-box}.otp-box:focus{border-color:#f97316;box-shadow:0 0 0 3px #f9731640;background:var(--app-control-bg-alt, rgba(255,255,255,.07))}.otp-box--filled{border-color:#f973168c}.otp-box--error{border-color:#ff6b6b!important;box-shadow:0 0 0 3px #ff6b6b2e!important}.otp-success{text-align:center;font-size:13px;color:#22c55e;font-weight:600;margin-top:2px}.otp-cooldown{color:var(--muted);font-size:12px}.otp-resend-btn{background:none;border:none;padding:0;cursor:pointer;font-size:12px;font-family:inherit}.otp-resend-btn:disabled{opacity:.6;cursor:not-allowed}.otp-done{text-align:center;padding:24px 0 8px}.otp-done-icon{font-size:48px;margin-bottom:14px;line-height:1}.otp-done-msg{color:#22c55e;font-weight:600;font-size:14px;line-height:1.5;margin:0}.editor-root{height:100vh;height:100dvh;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:var(--app-background)}.page--editor{flex:1;padding:14px 14px 18px;min-height:0;overflow:hidden}.editor-main{width:100%;height:100%;display:flex;flex-direction:column;gap:10px;min-height:0}.editor-header-row{display:flex;align-items:center;gap:10px;min-height:0}.layer-tabs{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:12px;border:1px solid var(--line);background:var(--app-control-bg-strong);overflow-x:auto;flex:1;min-width:0}.layer-tabs button{border:1px solid var(--app-control-border);border-radius:999px;padding:7px 12px;background:var(--app-control-bg-alt);color:var(--text);font-size:11px;letter-spacing:.02em;white-space:nowrap}.layer-tabs button.is-active{border-color:#f97316f2;background:linear-gradient(135deg,var(--brand),var(--brand-2));color:#fff;box-shadow:0 8px 18px #f9731659}.layer-tabs .layer-tabs__history-btn{margin-left:0;min-width:38px;padding:0;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.layer-tabs .layer-tabs__history-group{margin-left:auto;display:inline-flex;align-items:center;gap:6px}.layer-tabs .layer-tabs__history-btn--main{margin-left:0;color:#fff}.layer-tabs .layer-tabs__history-btn--action{width:38px;height:38px;min-width:38px}.layer-tabs .layer-tabs__history-btn:disabled{opacity:.42;cursor:not-allowed;box-shadow:none}.layer-tabs .layer-tabs__history-btn:disabled:hover,.layer-tabs .layer-tabs__history-btn:disabled:active{background:var(--app-control-bg-strong);border-color:var(--app-control-border)}.editor-drawing-layout{flex:1;display:flex;gap:10px;min-height:0}.drawing-toolbar{display:flex;align-items:center;gap:8px;padding:8px 10px;border-bottom:1px solid var(--app-control-border);background:var(--app-control-bg);flex-wrap:wrap}.drawing-toolbar--top{margin-left:auto;flex-wrap:nowrap;border-bottom:0;border-radius:12px;border:1px solid var(--line);background:var(--app-control-bg-strong);padding:8px 10px 8px 14px;position:relative}.drawing-toolbar--top:before{content:"";position:absolute;left:-8px;top:8px;bottom:8px;width:1px;background:var(--app-control-border)}.drawing-toolbar__label{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.drawing-toolbar__select{height:32px;min-width:180px;border:1px solid var(--app-control-border);border-radius:8px;background:var(--app-control-bg-strong);color:var(--text);padding:0 8px}.drawing-toolbar button{height:32px;padding:0 10px;border-radius:8px;border:1px solid var(--app-control-border);background:var(--app-control-bg-alt);color:var(--text);font-size:11px}.drawing-toolbar button:hover{background:var(--app-control-hover)}.drawing-toolbar button:disabled{opacity:.45;cursor:not-allowed}.drawing-import-dialog{position:fixed;inset:0;z-index:140;display:flex;align-items:center;justify-content:center;padding:16px}.drawing-import-dialog__backdrop{position:absolute;inset:0;border:0;background:#020617a8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.drawing-import-dialog__panel{position:relative;width:min(840px,100%);max-height:min(90vh,860px);overflow:auto;border-radius:16px;border:1px solid var(--app-control-border);background:var(--app-panel-bg);box-shadow:var(--app-panel-shadow);padding:14px;display:flex;flex-direction:column;gap:12px}.drawing-import-dialog__head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.drawing-import-dialog__head h3{margin:0;font-size:13px;letter-spacing:.06em;text-transform:uppercase}.drawing-import-dialog__head p{margin:4px 0 0;font-size:12px;color:var(--muted)}.drawing-import-dialog__head small{display:inline-block;margin-top:4px;font-size:11px;color:#94a3b8f2}.drawing-import-dialog__close{width:30px;height:30px;padding:0;border-radius:999px;border:1px solid var(--app-control-border);background:var(--app-control-bg-alt);color:var(--text);display:inline-flex;align-items:center;justify-content:center;font-size:20px;line-height:1}.drawing-import-dialog__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.drawing-import-dialog__section{border:1px solid var(--app-control-border);border-radius:12px;background:#0f172a5c;padding:10px;display:flex;flex-direction:column;gap:8px}.drawing-import-dialog__section h4{margin:0;font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}.drawing-import-dialog__option{display:flex;align-items:center;gap:8px;min-height:30px;font-size:12px;color:var(--text)}.drawing-import-dialog__option input[type=checkbox]{width:16px;height:16px;accent-color:#38bdf8;flex:0 0 auto}.drawing-import-dialog__option input[type=checkbox]:disabled{opacity:.45}.drawing-import-dialog__actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}@media(max-width:860px){.drawing-import-dialog__grid{grid-template-columns:1fr}}.layer-panel{flex:1;border-radius:18px;border:1px solid var(--line);background:var(--app-panel-bg);box-shadow:var(--app-panel-shadow);padding:16px;overflow:auto}.layer-notes{display:flex;flex-direction:column;gap:10px}.layer-notes h2,.layer-summary h2,.layer-history h2{margin:0;font-size:14px;letter-spacing:.08em;text-transform:uppercase}.layer-notes p,.layer-summary p,.layer-history p{margin:0;color:var(--muted);font-size:12px;line-height:1.5}.layer-notes label{font-size:11px;color:var(--muted)}.layer-notes textarea{min-height:220px;resize:vertical;border-radius:10px;border:1px solid rgba(148,163,184,.35);background:#0f172aeb;color:#e5e7eb;padding:10px 12px;font-size:13px;line-height:1.45}.layer-summary,.layer-history{display:flex;flex-direction:column;gap:12px}.network-diagram-layout{display:grid;grid-template-columns:320px minmax(0,1fr);gap:14px;min-height:620px;height:calc(100vh - 190px)}.network-diagram-layout--embedded{height:760px;min-height:620px}.network-diagram-sidebar{border:1px solid rgba(148,163,184,.35);border-radius:12px;background:#0f172a8c;padding:12px;overflow:auto;display:flex;flex-direction:column;gap:12px}.network-diagram-sidebar h2{margin:0;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#f8fafc}.network-diagram-sidebar__hint{margin:0;font-size:12px;color:var(--muted);line-height:1.45}.network-diagram-sidebar__section{border:1px solid rgba(148,163,184,.24);border-radius:10px;background:#0206176b;padding:10px;display:flex;flex-direction:column;gap:7px}.network-diagram-sidebar__section h3{margin:0;font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:#e2e8f0}.network-diagram-sidebar__stats p{margin:0;font-size:12px;color:#e2e8f0}.network-diagram-field{display:flex;flex-direction:column;gap:5px}.network-diagram-field span{font-size:11px;color:var(--muted)}.network-diagram-field select{min-height:32px;border:1px solid var(--app-control-border);border-radius:8px;background:var(--app-control-bg-strong);color:var(--text);padding:6px 8px}.network-checkbox{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:#e2e8f0}.network-checkbox input{width:14px;height:14px;accent-color:#38bdf8}.network-node-kind-grid{display:grid;grid-template-columns:1fr;gap:5px}.network-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px}.network-list li{border:1px solid rgba(148,163,184,.24);border-radius:8px;background:#0206178a;padding:7px 8px;display:flex;flex-direction:column;gap:3px;font-size:12px;color:#e2e8f0}.network-list li strong{color:#f8fafc;font-size:12px}.network-diagram-canvas-wrap{border:1px solid rgba(148,163,184,.35);border-radius:12px;background:#e5e7eb;overflow:hidden;display:flex;flex-direction:column;min-width:0}.network-diagram-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;border-bottom:1px solid rgba(148,163,184,.28);padding:10px;background:#fffc}.network-diagram-toolbar button{border-radius:999px;border:1px solid var(--app-control-border);padding:6px 10px;font-size:12px;color:var(--text);background:var(--app-control-bg-strong)}.network-diagram-toolbar button:hover{border-color:#38bdf8;background:var(--app-control-hover)}.network-diagram-toolbar__zoom{margin-left:auto;font-size:12px;color:var(--muted)}.network-diagram-canvas{flex:1;overflow:hidden;cursor:grab;background:linear-gradient(to right,rgba(100,116,139,.16) 1px,transparent 1px) 0 0 / 52px 52px,linear-gradient(to bottom,rgba(100,116,139,.16) 1px,transparent 1px) 0 0 / 52px 52px,#f3f4f6}.network-diagram-canvas:active{cursor:grabbing}.network-schematic-layout{min-height:620px;height:calc(100vh - 190px);display:flex;flex-direction:column}.network-schematic-layout--embedded{min-height:620px;height:760px}.network-schematic-canvas-wrap{border:1px solid rgba(148,163,184,.35);border-radius:12px;background:#e5e7eb;overflow:hidden;display:flex;flex-direction:column;min-width:0;min-height:0;flex:1}.network-schematic-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;border-bottom:1px solid rgba(148,163,184,.28);padding:10px;background:#ffffffe0}.network-schematic-paper-select{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:#334155}.network-schematic-paper-select select{min-height:30px;border:1px solid rgba(148,163,184,.62);border-radius:8px;background:#fffffff2;color:#0f172a;padding:4px 8px}.network-schematic-toolbar button{border-radius:999px;border:1px solid rgba(148,163,184,.6);padding:6px 10px;font-size:12px;color:#0f172a;background:#fffffff2}.network-schematic-toolbar button:hover{border-color:#38bdf8;background:#f8fafc}.network-schematic-toolbar button:disabled{opacity:.55;cursor:not-allowed}.network-schematic-toolbar__meta{margin-left:auto;font-size:12px;color:#475569}.network-schematic-canvas{flex:1;overflow:hidden;cursor:grab;background:linear-gradient(to right,rgba(100,116,139,.14) 1px,transparent 1px) 0 0 / 52px 52px,linear-gradient(to bottom,rgba(100,116,139,.14) 1px,transparent 1px) 0 0 / 52px 52px,#f3f4f6}.network-schematic-canvas:active{cursor:grabbing}.history-log-box{border:1px solid rgba(148,163,184,.35);border-radius:12px;background:#0f172a8c;padding:10px;max-height:68vh;overflow:auto}.history-log-list{list-style:none;margin:0;padding:0;display:grid;gap:7px}.history-log-line{border:1px solid rgba(148,163,184,.28);border-radius:10px;background:#1e293ba8;padding:8px 10px;color:var(--text);font-size:12px;line-height:1.45;white-space:pre-wrap;word-break:break-word}.layer-summary__actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.layer-summary__actions--diagram{padding-left:12px;border-left:1px solid rgba(148,163,184,.25)}.layer-summary__actions-label{font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#64748b;width:100%;margin-bottom:2px}.layer-summary__head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}.layer-summary__head-copy{display:flex;flex-direction:column}.summary-project-identification,.summary-model-reference,.summary-network-diagram,.summary-drawing-picker,.summary-calculations,.summary-detail-list{border:1px solid rgba(148,163,184,.35);border-radius:12px;padding:12px;background:#0f172a8c}.summary-project-identification h3,.summary-model-reference__head,.summary-drawing-picker__top,.summary-calculations h3,.summary-detail-list h3{margin:0}.summary-drawing-picker__top{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.summary-project-identification h3,.summary-model-reference__head h3,.summary-network-diagram h3,.summary-drawing-picker__top h3,.summary-calculations h3,.summary-detail-list h3{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#f8fafc}.summary-project-identification__grid{margin-top:10px;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}.summary-model-reference__head{display:flex;flex-direction:column;gap:4px}.summary-model-reference__head p{margin:0;color:var(--muted);font-size:11px}.summary-network-diagram .network-diagram-layout{margin-top:10px}.summary-model-reference .summary-poe-table td input{width:100%;min-height:30px;border:1px solid rgba(148,163,184,.35);border-radius:8px;padding:4px 8px;background:#0f172ae6;color:#e5e7eb}.summary-model-reference .summary-poe-table td input:focus{border-color:#60a5fae0;box-shadow:0 0 0 3px #60a5fa33}.summary-project-identification__grid label{display:flex;flex-direction:column;gap:5px}.summary-project-identification__grid label.is-wide{grid-column:1 / -1}.summary-project-identification__grid label span{font-size:11px;color:var(--muted)}.summary-project-identification__grid label input{height:34px;border:1px solid rgba(148,163,184,.35);border-radius:8px;padding:0 10px;background:#0f172ae6;color:#e5e7eb}.summary-project-identification__grid label input:focus{border-color:#60a5fae0;box-shadow:0 0 0 3px #60a5fa33}.summary-drawing-picker__actions{display:flex;gap:8px}.summary-drawing-picker__actions button{border:1px solid rgba(249,115,22,.42);border-radius:999px;height:30px;padding:0 10px;background:#f9731624;color:#fdba74;font-size:11px;font-weight:600;box-shadow:inset 0 1px #ffffff0f}.summary-drawing-picker__actions button:hover{background:#f9731638;border-color:#fb923c8c;color:#ffedd5}.summary-drawing-picker__actions button:disabled{opacity:.5;cursor:not-allowed}.summary-drawing-picker__grid{margin-top:10px;display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px}.summary-drawing-chip{border:1px solid rgba(148,163,184,.35);border-radius:10px;background:#1e293bd9;color:#e5e7eb;padding:9px 10px;display:grid;grid-template-columns:20px minmax(0,1fr);align-items:center;gap:2px 8px;text-align:left}.summary-drawing-chip:hover{background:#334155f2}.summary-drawing-chip.is-selected{border-color:#f97316d9;box-shadow:inset 0 0 0 1px #f9731659;background:#7c2d1259}.summary-drawing-chip__check{width:18px;height:18px;border-radius:999px;border:1px solid rgba(148,163,184,.45);display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:transparent;background:#0f172af2}.summary-drawing-chip.is-selected .summary-drawing-chip__check{color:#fff;border-color:#f97316d9;background:linear-gradient(135deg,var(--brand),var(--brand-2))}.summary-drawing-chip__name{font-size:12px;font-weight:700;line-height:1.2}.summary-drawing-chip__meta{grid-column:2;font-size:10px;color:var(--muted);line-height:1.2}.summary-calculations__grid{margin-top:10px;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}.summary-stat-card{border:1px solid rgba(148,163,184,.3);border-radius:10px;background:#1e293bb3;padding:9px;display:flex;flex-direction:column;gap:4px}.summary-stat-card span{color:var(--muted);font-size:11px}.summary-stat-card b{color:#f8fafc;font-size:18px;line-height:1.1}.summary-stat-card__value{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}.summary-stat-card__value small{font-size:12px;font-weight:500;color:#e2e8f0c7}.layer-summary__counts{margin:10px 0 0;padding-left:18px;color:var(--text);display:grid;gap:4px}.summary-poe-status-cards{margin-top:12px;display:flex;gap:1px;background:#94a3b826;border:1px solid rgba(148,163,184,.15);border-radius:8px;width:fit-content;overflow:hidden}.summary-poe-status-cards article{display:flex;align-items:center;gap:10px;background:#0f172a;padding:6px 14px}.summary-poe-status-cards article span{font-size:11px;font-weight:500;color:#cbd5e1}.summary-poe-status-cards article b{display:flex;align-items:center;justify-content:center;min-width:26px;height:26px;padding:0 6px;background:#38bdf826;color:#38bdf8;border-radius:6px;font-size:13px;font-weight:700}.summary-poe-table-wrap{margin-top:10px;overflow:auto;border:1px solid rgba(148,163,184,.32);border-radius:10px;background:#0f172a99}.summary-poe-table{width:100%;min-width:760px;border-collapse:collapse;font-size:11px}.summary-poe-table th,.summary-poe-table td{padding:8px 10px;border-bottom:1px solid rgba(148,163,184,.2);text-align:left;color:#e5e7eb;white-space:nowrap}.summary-poe-table th{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);background:#1e293bd1}.summary-poe-table tbody tr:last-child td{border-bottom:0}.summary-poe-status{display:inline-flex;align-items:center;justify-content:center;min-width:68px;height:22px;padding:0 8px;border-radius:999px;border:1px solid rgba(148,163,184,.45);font-size:10px;font-weight:700;text-transform:uppercase}.summary-poe-status--ok{color:#bbf7d0;border-color:#22c55e99;background:#16653459}.summary-poe-status--warning{color:#fde68a;border-color:#f59e0b99;background:#92400e52}.summary-poe-status--over{color:#fecaca;border-color:#ef444499;background:#7f1d1d61}.summary-poe-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin-top:16px;margin-bottom:24px}.poe-switch-card{background:var(--app-card-bg);border:1px solid var(--app-card-border);border-radius:16px;padding:18px;box-shadow:0 4px 16px #0000001a,inset 0 1px #ffffff0f;display:flex;flex-direction:column;gap:16px;transition:transform .25s cubic-bezier(.4,0,.2,1),box-shadow .25s cubic-bezier(.4,0,.2,1),border-color .25s ease}.poe-switch-card:hover{transform:translateY(-4px);box-shadow:0 12px 30px #00000040,inset 0 1px #ffffff1a;border-color:#f9731666}.poe-switch-card--over{border-color:#ef444466}.poe-switch-card__header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.poe-switch-card__title{display:flex;flex-direction:column;gap:3px}.poe-switch-card__title strong{font-size:15px;color:var(--text);line-height:1.25}.poe-switch-card__title small{font-size:11px;color:var(--muted);letter-spacing:.02em}.poe-switch-card__status{padding:4px 8px;border-radius:999px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;border:1px solid transparent}.poe-switch-card__status--ok{color:#10b981;background:#10b9811a;border-color:#10b98140}.poe-switch-card__status--warning{color:#f59e0b;background:#f59e0b1a;border-color:#f59e0b40}.poe-switch-card__status--over{color:#ef4444;background:#ef44441a;border-color:#ef444440}.poe-switch-card__progress{display:flex;flex-direction:column;gap:8px}.poe-switch-card__progress-bar{height:6px;border-radius:999px;background:#94a3b826;overflow:hidden}.poe-switch-card__progress-fill{height:100%;border-radius:999px;transition:width .8s cubic-bezier(.16,1,.3,1)}.poe-switch-card__progress-fill--ok{background:linear-gradient(90deg,#10b981,#34d399);box-shadow:0 0 10px #10b9814d}.poe-switch-card__progress-fill--warning{background:linear-gradient(90deg,#f59e0b,#fbbf24);box-shadow:0 0 10px #f59e0b4d}.poe-switch-card__progress-fill--over{background:linear-gradient(90deg,#ef4444,#f87171);box-shadow:0 0 10px #ef44444d}.poe-switch-card__progress-labels{display:flex;justify-content:space-between;font-size:11px;color:var(--muted)}.poe-switch-card__progress-labels strong{color:var(--text);font-weight:600}.poe-switch-card__metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding-top:14px;border-top:1px solid var(--line)}.poe-switch-card__metric{display:flex;flex-direction:column;gap:3px}.poe-switch-card__metric small{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.poe-switch-card__metric span{font-size:13px;font-weight:600;color:var(--text)}.poe-switch-card__input-group{margin-top:4px;padding-top:14px;border-top:1px dashed var(--line)}.poe-switch-card__input-group label{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:11px}.poe-switch-card__input-group input{width:90px;text-align:right;height:32px;border-radius:8px;border:1px solid var(--app-control-border);background:var(--app-control-bg-strong);color:var(--text);padding:0 12px;font-weight:600}.poe-switch-card__input-group input:focus{border-color:#f97316b3;box-shadow:0 0 0 2px #f9731633}.poe-camera-groups{display:flex;flex-direction:column;gap:12px;margin-top:14px}.poe-camera-group{border-radius:14px;overflow:hidden;border:1px solid var(--app-card-border);background:var(--app-card-bg)}.poe-camera-group--warning{border-color:#f59e0b59}.poe-camera-group--over{border-color:#ef444461}.poe-camera-group__head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:10px 16px;background:#1e293b8c;border-bottom:1px solid var(--app-card-border)}.poe-camera-group__head-left{display:flex;flex-direction:column;gap:1px;min-width:130px}.poe-camera-group__head-left h4{margin:0;font-size:13px;font-weight:600;color:var(--text)}.poe-camera-group__head-left small{font-size:10px;color:var(--muted)}.poe-camera-group__head-bar{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}.poe-camera-group__bar-track{height:6px;border-radius:999px;background:#94a3b826;overflow:hidden}.poe-camera-group__bar-fill{height:100%;border-radius:999px;transition:width .6s cubic-bezier(.16,1,.3,1)}.poe-camera-group__bar-fill--ok{background:linear-gradient(90deg,#10b981,#34d399)}.poe-camera-group__bar-fill--warning{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.poe-camera-group__bar-fill--over{background:linear-gradient(90deg,#ef4444,#f87171)}.poe-camera-group__bar-labels{display:flex;align-items:center;gap:10px}.poe-camera-group__budget-label{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}.poe-status-pill{display:inline-flex;align-items:center;padding:1px 8px;border-radius:999px;font-size:10px;font-weight:700;border:1px solid transparent}.poe-status-pill--ok{color:#10b981;background:#10b9811a;border-color:#10b98147}.poe-status-pill--warning{color:#f59e0b;background:#f59e0b1a;border-color:#f59e0b47}.poe-status-pill--over{color:#ef4444;background:#ef44441a;border-color:#ef444447}.poe-camera-table-header{display:grid;grid-template-columns:minmax(100px,1.4fr) minmax(100px,1.6fr) 1fr 80px 80px;gap:0;padding:6px 14px;background:#0f172a80;border-bottom:1px solid rgba(148,163,184,.12)}.poe-camera-table-header span{font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);display:flex;align-items:center}.poe-camera-table-header__input{justify-content:flex-end}.poe-camera-table-body{display:flex;flex-direction:column}.poe-camera-row{display:grid;grid-template-columns:minmax(100px,1.4fr) minmax(100px,1.6fr) 1fr 80px 80px;gap:0;align-items:center;padding:7px 14px;border-bottom:1px solid rgba(148,163,184,.08);transition:background .1s ease}.poe-camera-row:last-child{border-bottom:none}.poe-camera-row:hover{background:#ffffff06}.poe-camera-row__name strong{font-size:12px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.poe-camera-row__model span{font-size:10.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;padding-right:8px}.poe-camera-row__bar{padding-right:12px}.poe-camera-row__bar-track{height:5px;border-radius:999px;background:#94a3b81f;overflow:hidden}.poe-camera-row__bar-fill{height:100%;border-radius:999px;transition:width .5s ease}.poe-camera-row__bar-fill--ok{background:linear-gradient(90deg,#10b981,#34d399);opacity:.75}.poe-camera-row__bar-fill--warning{background:linear-gradient(90deg,#f59e0b,#fbbf24);opacity:.8}.poe-camera-row__bar-fill--over{background:linear-gradient(90deg,#ef4444,#f87171);opacity:.85}.poe-camera-row__field{display:flex;justify-content:flex-end}.poe-camera-row__field:first-of-type{padding-right:6px}.poe-camera-row__field input{width:68px;height:26px;border-radius:6px;border:1px solid rgba(148,163,184,.2);background:#0f172aa6;color:#f1f5f9;padding:0 8px;font-size:11px;font-weight:600;text-align:right;transition:border-color .15s,box-shadow .15s}.poe-camera-row__field input:focus{border-color:#60a5fab3;box-shadow:0 0 0 2px #60a5fa26;outline:none}.poe-budget-switches-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;margin-top:14px}.poe-budget-switch-card{position:relative;display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;padding:16px 52px 16px 16px;background:linear-gradient(135deg,#1e293bcc,#0f172ae6);border:1px solid rgba(148,163,184,.2);border-radius:12px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;gap:10px;transition:transform .2s,box-shadow .2s,border-color .2s}.poe-budget-switch-card:hover{border-color:#94a3b866;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.poe-budget-switch-card--warning{border-color:#f59e0b59}.poe-budget-switch-card--over{border-color:#ef444459}.poe-budget-switch-card__info{display:flex;flex-direction:column;gap:2px;width:100%;min-width:0}.poe-budget-switch-card__info strong{font-size:12px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.poe-budget-switch-card__info small{font-size:10px;color:var(--muted)}.poe-budget-switch-card__name-input{font-weight:600;font-size:11px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;padding:3px 6px;color:var(--text);width:100%;min-width:0;transition:background .2s,border-color .2s}.poe-budget-switch-card__name-input:focus{background:#ffffff1a;border-color:var(--primary);outline:none}.poe-budget-switch-card__bar{width:100%;display:flex;flex-direction:column;gap:4px}.poe-budget-switch-card__bar-track{height:5px;border-radius:999px;background:#94a3b826;overflow:hidden}.poe-budget-switch-card__bar-fill{height:100%;border-radius:999px;transition:width .6s cubic-bezier(.16,1,.3,1)}.poe-budget-switch-card__bar-fill--ok{background:linear-gradient(90deg,#10b981,#34d399)}.poe-budget-switch-card__bar-fill--warning{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.poe-budget-switch-card__bar-fill--over{background:linear-gradient(90deg,#ef4444,#f87171)}.poe-budget-switch-card__bar-labels{display:flex;align-items:center;gap:8px}.poe-budget-switch-card__bar-label-detail{font-size:10px;color:var(--muted);font-variant-numeric:tabular-nums}.poe-budget-switch-card__metrics{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%;padding-top:6px;border-top:1px solid rgba(148,163,184,.1)}.poe-budget-switch-card__input{display:flex;flex-direction:column;align-items:flex-start;gap:3px;width:100%}.poe-budget-switch-card__input span{font-size:9px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.poe-budget-switch-card__input input{width:100%;height:26px;text-align:right;border-radius:6px;border:1px solid rgba(148,163,184,.3);background:#0f172acc;color:#f8fafc;padding:0 8px;font-weight:600;font-size:12px}.poe-budget-switch-card__input input:focus{border-color:#60a5facc;box-shadow:0 0 0 2px #60a5fa33}.poe-budget-switch-card__input--readonly{opacity:.7;cursor:default;border-style:dashed!important}.poe-budget-switch-card__actions{position:absolute;top:10px;right:10px;display:flex;flex-direction:column;gap:6px}.poe-budget-switch-card__delete{width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:6px;background:#ef444426;color:#ef4444;border:1px solid rgba(239,68,68,.3);cursor:pointer;font-size:14px;line-height:1;transition:all .2s}.poe-budget-switch-card__delete:hover{background:#ef4444;color:#fff;border-color:#ef4444}.poe-budget-switch-card__add-cam{width:30px;height:30px;border-radius:6px;background:#ffffff0d;color:var(--text);border:1px solid rgba(255,255,255,.1);cursor:pointer;font-size:14px;line-height:1;font-weight:600;display:flex;align-items:center;justify-content:center;transition:all .2s}.poe-budget-switch-card__add-cam:hover{background:#ffffff1a;border-color:#fff3}.poe-camera-group__list{display:flex;flex-direction:column}.poe-camera-item{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:1px solid var(--line);flex-wrap:wrap;gap:16px}.poe-camera-item:last-child{border-bottom:none}.poe-camera-item:hover{background:#ffffff05}.poe-camera-item__info{display:flex;flex-direction:column;gap:3px;min-width:200px;flex:1}.poe-camera-item__info strong{font-size:13px;color:var(--text)}.poe-camera-item__info small{font-size:11px;color:var(--muted)}.poe-camera-item__inputs{display:flex;gap:16px;align-items:center}.poe-camera-item__inputs label{display:flex;flex-direction:column;gap:4px}.poe-camera-item__inputs span{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.poe-camera-item__inputs input{width:96px;height:32px;border-radius:8px;border:1px solid var(--app-control-border);background:var(--app-control-bg-strong);color:var(--text);padding:0 10px;font-size:12px;font-weight:500}.poe-camera-item__inputs input:focus{border-color:#38bdf8b3;box-shadow:0 0 0 2px #38bdf833}.summary-empty{margin-top:10px;color:var(--muted);font-size:11px}.summary-storage{margin-top:14px;padding:14px;border:1px solid rgba(148,163,184,.26);border-radius:14px;background:linear-gradient(180deg,#0f172a75,#0f172a3d)}.summary-storage h4{margin:0;font-size:12px;letter-spacing:.06em;text-transform:uppercase}.summary-storage>p{margin:6px 0 0;color:var(--muted);font-size:11px}.summary-storage__hint{margin:6px 0 0;color:var(--muted);font-size:11px}.summary-storage .storage-table__scroll{margin-top:10px}.storage-page{display:grid;gap:14px;min-width:0;max-width:100%;overflow-x:hidden}.storage-page__head,.storage-settings__head,.storage-results__head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}.storage-page__head-copy,.storage-results__head{max-width:980px}.storage-page__head h2,.storage-settings__head h3,.storage-results__head h3{margin:0;font-size:14px}.storage-page__head p,.storage-settings__head p,.storage-results__head p,.storage-settings__hint{margin:4px 0 0;color:var(--muted);font-size:12px;line-height:1.5}.storage-settings,.storage-results,.storage-table-panel{border:1px solid var(--app-card-border);border-radius:18px;background:var(--app-card-bg);box-shadow:var(--app-card-shadow);padding:16px;min-width:0;max-width:100%}.storage-settings__grid{margin-top:12px;display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}.storage-field{display:grid;gap:5px}.storage-field span{font-size:11px;color:var(--muted)}.storage-field__label-with-info{display:inline-flex;align-items:center;gap:6px}.storage-info{position:relative;display:inline-flex}.storage-info__icon{width:18px;height:18px;border-radius:999px;border:1px solid rgba(148,163,184,.5);background:#1e293bd1;color:#e2e8f0;font-size:11px;line-height:1;font-weight:700;display:inline-flex;align-items:center;justify-content:center;cursor:help}.storage-info__tooltip{position:absolute;top:calc(100% + 8px);right:0;width:min(360px,82vw);border:1px solid rgba(148,163,184,.38);border-radius:10px;background:#0f172af7;color:#e2e8f0;padding:10px;box-shadow:0 14px 32px #02061773;opacity:0;visibility:hidden;transform:translateY(-4px);pointer-events:none;transition:opacity .18s ease,transform .18s ease,visibility .18s ease;z-index:5}.storage-info__tooltip strong{display:block;margin-bottom:6px;font-size:11px}.storage-info__tooltip ul{margin:0;padding-left:14px;display:grid;gap:4px}.storage-info__tooltip li{color:#cbd5e1;font-size:10px;line-height:1.35}.storage-info:hover .storage-info__tooltip,.storage-info:focus-within .storage-info__tooltip,.storage-info.is-open .storage-info__tooltip{opacity:1;visibility:visible;transform:translateY(0)}.storage-field input,.storage-field select,.storage-table input,.storage-table select{border:1px solid var(--app-control-border);border-radius:10px;background:var(--app-control-bg-strong)!important;color:var(--text);font-size:12px;padding:8px 10px;width:100%;max-width:100%;min-width:0;box-sizing:border-box}.storage-field input:focus,.storage-field select:focus,.storage-table input:focus,.storage-table select:focus{border-color:#60a5fae0;box-shadow:0 0 0 3px #60a5fa2e}.storage-field input:disabled,.storage-table input:disabled,.storage-table select:disabled{opacity:.68;cursor:not-allowed}.storage-overview-grid{margin-top:10px;display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px}.storage-capacity{border:1px solid var(--app-card-border);border-radius:18px;background:var(--app-card-bg);box-shadow:var(--app-card-shadow);padding:16px;min-width:0;max-width:100%}.storage-capacity.is-compact{margin-top:12px;padding:14px;border-radius:14px}.storage-capacity__grid{margin-top:10px;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}.storage-capacity__status-row{margin-top:10px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.storage-capacity__status-row p{margin:0;color:var(--muted);font-size:11px}.storage-capacity__status{display:inline-flex;align-items:center;justify-content:center;min-width:92px;min-height:28px;padding:0 10px;border-radius:999px;border:1px solid rgba(148,163,184,.36);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.storage-capacity__status--ok{color:#bbf7d0;border-color:#22c55e80;background:#16653447}.storage-capacity__status--warning{color:#fde68a;border-color:#f59e0b8c;background:#92400e47}.storage-capacity__status--over,.storage-capacity__status--missing{color:#fecaca;border-color:#ef44448c;background:#7f1d1d4d}.storage-capacity__details{margin-top:10px;display:flex;gap:10px;flex-wrap:wrap;color:var(--muted);font-size:11px}.storage-capacity__servers{margin-top:12px;padding-top:12px;border-top:1px solid rgba(148,163,184,.18)}.storage-capacity__servers strong{display:block;margin-bottom:8px;font-size:11px;letter-spacing:.05em;text-transform:uppercase}.storage-capacity__servers ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}.storage-capacity__servers li{display:grid;gap:2px}.storage-capacity__servers li span{font-size:12px;font-weight:600}.storage-capacity__servers li small{color:var(--muted);font-size:10px}.disk-plan-panel{margin-top:18px;background:var(--card-bg);border:1px solid rgba(148,163,184,.18);border-radius:16px;box-shadow:var(--app-card-shadow);padding:16px;min-width:0;max-width:100%}.disk-plan-panel__selector{margin-top:10px;max-width:260px}.disk-plan-panel__grid{margin-top:12px;display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px}.disk-plan-panel__card{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border-radius:10px;border:1px solid rgba(148,163,184,.15);background:#0f172a8c}.disk-plan-panel__card span{font-size:10px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.disk-plan-panel__card b{font-size:16px;font-weight:700;color:var(--text)}.disk-plan-panel__card--accent{background:linear-gradient(135deg,#3898ec2e,#3898ec0f);border-color:#3898ec59}.disk-plan-panel__card--accent b{color:#60a5fa;font-size:22px}.disk-plan-panel__bar-section{margin-top:14px;display:flex;flex-direction:column;gap:5px}.disk-plan-panel__bar-labels{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--muted)}.disk-plan-panel__bar-track{width:100%;height:8px;border-radius:999px;background:#94a3b826;overflow:hidden}.disk-plan-panel__bar-fill{height:100%;border-radius:999px;transition:width .5s ease}.disk-plan-panel__bar-fill--ok{background:linear-gradient(90deg,#22c55e,#4ade80)}.disk-plan-panel__bar-fill--warning{background:linear-gradient(90deg,#eab308,#facc15)}.disk-plan-panel__bar-fill--over{background:linear-gradient(90deg,#ef4444,#f87171)}.disk-plan-panel__margin{font-weight:700;font-size:12px}.disk-plan-panel__margin--ok{color:#4ade80}.disk-plan-panel__margin--warning{color:#facc15}.disk-plan-panel__margin--over{color:#f87171}.disk-plan-panel__formula{font-size:10px;color:var(--muted)}.disk-plan-panel__formula code{font-family:JetBrains Mono,Fira Code,monospace;background:#94a3b81a;padding:1px 6px;border-radius:4px;font-size:10px;color:#94a3b8}.disk-plan-panel__alert{margin-top:10px;padding:8px 12px;border-radius:8px;background:#ef44441f;border:1px solid rgba(239,68,68,.3);color:#fca5a5;font-size:11px;font-weight:500}.storage-table__scroll{margin-top:12px;overflow-y:auto;overflow-x:hidden;max-width:100%}.storage-camera-cards-scroll{margin-top:16px}.storage-camera-cards{display:flex;flex-direction:column;gap:16px}.storage-camera-card{background:#1e293bb3;border:1px solid rgba(148,163,184,.3);border-radius:16px;overflow:hidden;box-shadow:0 4px 16px #0000001a}.storage-camera-card__header{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;background:#0f172a99;border-bottom:1px solid rgba(148,163,184,.2)}.storage-camera-card__title strong{display:block;font-size:14px;color:var(--brand)}.storage-camera-card__title small{display:block;font-size:11px;color:var(--muted);margin-top:3px}.storage-camera-card__global-toggle{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--muted);cursor:pointer}.storage-camera-card__config{display:flex;flex-wrap:wrap;gap:16px;padding:16px 18px;border-bottom:1px solid rgba(148,163,184,.2)}.storage-camera-card__config.is-disabled{opacity:.6;filter:grayscale(.5);pointer-events:none}.storage-field-mini{display:flex;flex-direction:column;gap:6px;min-width:110px;flex:1}.storage-field-mini span{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.storage-field-mini strong{font-size:12px;color:var(--text)}.storage-field-mini select,.storage-field-mini input{height:32px;padding:0 8px;font-size:12px;border-radius:6px;border:1px solid rgba(148,163,184,.3);background:#0f172acc;color:#f8fafc}.storage-field-mini select:focus,.storage-field-mini input:focus{border-color:#60a5facc;box-shadow:0 0 0 2px #60a5fa33}.storage-field-mini-group{display:flex;gap:8px;align-items:flex-end;flex:2;min-width:200px}.storage-field-mini-group>.storage-field-mini{flex:1}.mini-input-percent,.mini-input-rate{width:60px;height:32px;padding:0 8px;font-size:12px;border-radius:6px;border:1px solid rgba(148,163,184,.3);background:#0f172acc;color:#f8fafc;text-align:right}.storage-camera-card__results{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding:14px 18px;background:#0f172a66}.storage-camera-card__metric{display:flex;flex-direction:column;gap:3px}.storage-camera-card__metric small{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--brand)}.storage-camera-card__metric strong{font-size:14px;color:var(--text)}.storage-camera-card__metric span{font-size:11px;color:var(--muted)}.storage-table{width:100%;min-width:0;table-layout:fixed;border-collapse:separate;border-spacing:0}.storage-table th,.storage-table td{padding:9px 10px;text-align:left;vertical-align:top;border-bottom:1px solid rgba(148,163,184,.18);color:var(--text);font-size:11px;white-space:normal;overflow-wrap:anywhere;word-break:break-word}.storage-table th{position:sticky;top:0;z-index:1;background:color-mix(in srgb,var(--brand) 14%,var(--app-control-bg-alt));color:var(--muted);font-size:10px;letter-spacing:.05em;text-transform:uppercase;white-space:normal}.storage-table tbody tr:nth-child(2n) td{background:color-mix(in srgb,var(--app-control-bg-alt) 40%,transparent)}.storage-table tbody tr:last-child td{border-bottom:0}.storage-table td strong{display:block;color:var(--text);font-size:12px;line-height:1.35}.storage-table td small{display:block;margin-top:4px;color:var(--muted);font-size:10px;line-height:1.35}.summary-poe-table td strong{display:block;font-size:11px}.summary-poe-table td small{display:block;margin-top:4px;color:var(--muted);font-size:10px}.storage-table__stack{display:grid;gap:6px}.storage-table__checkbox{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:10px}.storage-table__checkbox input{width:auto;min-width:auto;margin:0}.storage-table__empty{padding:18px 14px;text-align:center;color:var(--muted)}@media(max-width:900px){.storage-settings,.storage-results,.storage-table-panel,.storage-capacity,.summary-storage{padding:12px}.storage-table{min-width:0}}.summary-detail-list__grid{margin-top:10px;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:8px}.summary-detail-card{border:1px solid rgba(148,163,184,.32);border-radius:10px;background:#1e293ba8;padding:10px}.summary-detail-card__header{display:flex;flex-direction:column;gap:2px;margin-bottom:8px}.summary-detail-card__header span{font-size:12px;font-weight:700;color:#f8fafc}.summary-detail-card__header small{font-size:10px;color:var(--muted)}.summary-detail-card ul{margin:0;padding-left:16px;color:var(--text);display:grid;gap:3px;font-size:11px}.technical-services-page{display:flex;flex-direction:column;gap:10px;--ts-panel-bg: rgba(15,23,42,.56);--ts-panel-hero-bg: radial-gradient(circle at top right, rgba(56,189,248,.14), transparent 32%), radial-gradient(circle at left center, rgba(14,165,233,.1), transparent 26%), rgba(15,23,42,.62);--ts-panel-border: rgba(148,163,184,.35);--ts-card-bg: linear-gradient(180deg, rgba(30,41,59,.82), rgba(15,23,42,.72));--ts-card-bg-accent: radial-gradient(circle at top right, rgba(14,165,233,.16), transparent 42%), linear-gradient(180deg, rgba(15,23,42,.9), rgba(2,6,23,.86));--ts-card-border: rgba(148,163,184,.28);--ts-card-border-accent: rgba(56,189,248,.35);--ts-card-shadow: 0 14px 28px rgba(2,6,23,.18), inset 0 1px 0 rgba(255,255,255,.04);--ts-overview-bg: linear-gradient(180deg, rgba(30,41,59,.8), rgba(15,23,42,.62));--ts-overview-bg-accent: radial-gradient(circle at top right, rgba(34,211,238,.24), transparent 44%), linear-gradient(180deg, rgba(8,47,73,.94), rgba(15,23,42,.84));--ts-overview-border: rgba(148,163,184,.2);--ts-overview-border-accent: rgba(103,232,249,.32);--ts-field-bg: rgba(15,23,42,.5);--ts-field-bg-accent: rgba(8,145,178,.08);--ts-field-border: rgba(148,163,184,.18);--ts-field-border-accent: rgba(103,232,249,.18);--ts-input-bg: rgba(15,23,42,.9);--ts-input-border: rgba(148,163,184,.35);--ts-input-text: #f8fafc;--ts-text-strong: #f8fafc;--ts-text-muted: rgba(226,232,240,.74);--ts-text-soft: rgba(226,232,240,.62);--ts-action-bg: linear-gradient(180deg, rgba(51,65,85,.98), rgba(30,41,59,.94));--ts-action-border: rgba(148,163,184,.34);--ts-action-color: #f8fafc;--ts-action-shadow: 0 10px 18px rgba(2,6,23,.16), inset 0 1px 0 rgba(255,255,255,.08);--ts-action-hover-bg: linear-gradient(180deg, rgba(71,85,105,.98), rgba(51,65,85,.96));--ts-action-primary-bg: linear-gradient(135deg, #bae6fd, #7dd3fc);--ts-action-primary-color: #082f49;--ts-action-primary-shadow: 0 12px 22px rgba(56,189,248,.24);--ts-stat-bg: rgba(15,23,42,.68);--ts-stat-border: rgba(148,163,184,.22);--ts-hint-bg: rgba(8,47,73,.28);--ts-hint-border: rgba(103,232,249,.18);--ts-table-header-bg: rgba(30,41,59,.9);--ts-table-border: rgba(148,163,184,.3);--ts-table-travel-row: rgba(15,23,42,.22);--ts-summary-card-bg: rgba(30,41,59,.7);--ts-summary-card-border: rgba(148,163,184,.3);--ts-counts-color: var(--text)}:root[data-app-theme=dark] .technical-services-page{--ts-panel-bg: rgba(2,6,23,.76);--ts-panel-hero-bg: radial-gradient(circle at top right, rgba(14,165,233,.12), transparent 32%), radial-gradient(circle at left center, rgba(15,23,42,.35), transparent 26%), rgba(2,6,23,.82);--ts-panel-border: rgba(71,85,105,.48);--ts-card-bg: linear-gradient(180deg, rgba(10,15,28,.96), rgba(3,7,18,.92));--ts-card-bg-accent: radial-gradient(circle at top right, rgba(6,182,212,.14), transparent 40%), linear-gradient(180deg, rgba(7,12,24,.98), rgba(2,6,23,.95));--ts-card-border: rgba(71,85,105,.42);--ts-card-border-accent: rgba(34,211,238,.32);--ts-card-shadow: 0 18px 36px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.04);--ts-overview-bg: linear-gradient(180deg, rgba(15,23,42,.92), rgba(2,6,23,.86));--ts-overview-bg-accent: radial-gradient(circle at top right, rgba(6,182,212,.22), transparent 44%), linear-gradient(180deg, rgba(8,47,73,.92), rgba(2,6,23,.92));--ts-overview-border: rgba(71,85,105,.36);--ts-overview-border-accent: rgba(34,211,238,.28);--ts-field-bg: rgba(2,6,23,.82);--ts-field-bg-accent: rgba(6,182,212,.08);--ts-field-border: rgba(71,85,105,.4);--ts-field-border-accent: rgba(34,211,238,.22);--ts-input-bg: rgba(2,6,23,.94);--ts-input-border: rgba(71,85,105,.44);--ts-input-text: #f8fafc;--ts-text-strong: #f8fafc;--ts-text-muted: rgba(203,213,225,.74);--ts-text-soft: rgba(203,213,225,.6);--ts-action-bg: linear-gradient(180deg, rgba(15,23,42,.98), rgba(2,6,23,.95));--ts-action-border: rgba(71,85,105,.48);--ts-action-color: #f8fafc;--ts-action-shadow: 0 12px 20px rgba(0,0,0,.3), inset 0 1px 0 rgba(255,255,255,.06);--ts-action-hover-bg: linear-gradient(180deg, rgba(30,41,59,.98), rgba(15,23,42,.95));--ts-action-primary-bg: linear-gradient(135deg, #22d3ee, #0891b2);--ts-action-primary-color: #042f3a;--ts-action-primary-shadow: 0 12px 22px rgba(6,182,212,.24);--ts-stat-bg: rgba(2,6,23,.82);--ts-stat-border: rgba(71,85,105,.36);--ts-hint-bg: rgba(8,47,73,.18);--ts-hint-border: rgba(34,211,238,.16);--ts-table-header-bg: rgba(10,15,28,.96);--ts-table-border: rgba(71,85,105,.38);--ts-table-travel-row: rgba(2,6,23,.36);--ts-summary-card-bg: rgba(10,15,28,.9);--ts-summary-card-border: rgba(71,85,105,.34);--ts-counts-color: rgba(226,232,240,.88)}:root[data-app-theme=white] .technical-services-page{--ts-panel-bg: rgba(255,255,255,.82);--ts-panel-hero-bg: radial-gradient(circle at top right, rgba(125,211,252,.26), transparent 32%), radial-gradient(circle at left center, rgba(251,191,36,.14), transparent 28%), rgba(255,255,255,.86);--ts-panel-border: rgba(203,213,225,.88);--ts-card-bg: linear-gradient(180deg, rgba(255,255,255,.98), rgba(241,245,249,.96));--ts-card-bg-accent: radial-gradient(circle at top right, rgba(186,230,253,.82), transparent 42%), linear-gradient(180deg, rgba(255,255,255,.98), rgba(240,249,255,.98));--ts-card-border: rgba(203,213,225,.92);--ts-card-border-accent: rgba(125,211,252,.72);--ts-card-shadow: 0 16px 26px rgba(148,163,184,.22), inset 0 1px 0 rgba(255,255,255,.96);--ts-overview-bg: linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.95));--ts-overview-bg-accent: radial-gradient(circle at top right, rgba(125,211,252,.34), transparent 46%), linear-gradient(180deg, rgba(255,255,255,.98), rgba(239,246,255,.98));--ts-overview-border: rgba(203,213,225,.88);--ts-overview-border-accent: rgba(125,211,252,.7);--ts-field-bg: rgba(248,250,252,.95);--ts-field-bg-accent: rgba(239,246,255,.98);--ts-field-border: rgba(203,213,225,.86);--ts-field-border-accent: rgba(125,211,252,.66);--ts-input-bg: rgba(255,255,255,.98);--ts-input-border: rgba(203,213,225,.92);--ts-input-text: #0f172a;--ts-text-strong: #0f172a;--ts-text-muted: rgba(51,65,85,.78);--ts-text-soft: rgba(71,85,105,.72);--ts-action-bg: linear-gradient(180deg, rgba(255,255,255,.98), rgba(241,245,249,.96));--ts-action-border: rgba(203,213,225,.9);--ts-action-color: #0f172a;--ts-action-shadow: 0 10px 18px rgba(148,163,184,.22), inset 0 1px 0 rgba(255,255,255,.98);--ts-action-hover-bg: linear-gradient(180deg, rgba(255,255,255,.98), rgba(226,232,240,.94));--ts-action-primary-bg: linear-gradient(135deg, #0f172a, #334155);--ts-action-primary-color: #ffffff;--ts-action-primary-shadow: 0 12px 22px rgba(15,23,42,.18);--ts-stat-bg: rgba(255,255,255,.92);--ts-stat-border: rgba(203,213,225,.82);--ts-hint-bg: rgba(239,246,255,.88);--ts-hint-border: rgba(125,211,252,.52);--ts-table-header-bg: rgba(241,245,249,.98);--ts-table-border: rgba(203,213,225,.86);--ts-table-travel-row: rgba(248,250,252,.88);--ts-summary-card-bg: rgba(255,255,255,.92);--ts-summary-card-border: rgba(203,213,225,.86);--ts-counts-color: #334155}.technical-services-page__head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}.technical-services-page__head-copy{display:flex;flex-direction:column}.technical-services-page__head-actions{display:flex;gap:8px;flex-wrap:wrap}.technical-services-page__head h2{margin:0;font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:var(--ts-text-strong)}.technical-services-page__head p{margin:4px 0 0;color:var(--ts-text-muted);font-size:12px}.technical-services-params,.technical-services-auto,.technical-services-table,.technical-services-notes,.technical-services-summary{border:1px solid var(--ts-panel-border);border-radius:12px;padding:10px;background:var(--ts-panel-bg)}.technical-services-params{background:var(--ts-panel-hero-bg)}.technical-services-params h3,.technical-services-auto h3,.technical-services-table h3,.technical-services-summary h3{margin:0;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ts-text-strong)}.technical-services-params__hero,.technical-services-table__top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}.technical-services-params__title-block{display:flex;flex-direction:column;gap:4px}.technical-services-params__title-block p{margin:0;max-width:640px;font-size:12px;color:var(--ts-text-muted)}.technical-services-params__actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.technical-services-params__actions button,.technical-services-table__top button{border:1px solid var(--ts-action-border);border-radius:999px;min-height:28px;padding:0 11px;background:var(--ts-action-bg);color:var(--ts-action-color);box-shadow:var(--ts-action-shadow);font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;transition:background .18s ease,border-color .18s ease,transform .18s ease,box-shadow .18s ease}.technical-services-params__actions button:hover,.technical-services-table__top button:hover{background:var(--ts-action-hover-bg);transform:translateY(-2px);box-shadow:0 14px 26px #02061729}.technical-services-params__actions button:first-child{background:var(--ts-action-primary-bg);border-color:transparent;color:var(--ts-action-primary-color);font-weight:700;box-shadow:var(--ts-action-primary-shadow)}.technical-services-params__actions button:first-child:hover{filter:brightness(1.03)}.technical-services-params__overview{margin-top:12px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.technical-services-overview-card{border:1px solid var(--ts-overview-border);border-radius:15px;padding:12px 13px;min-height:94px;background:var(--ts-overview-bg);box-shadow:var(--ts-card-shadow);display:flex;flex-direction:column;gap:5px}.technical-services-overview-card--accent{background:var(--ts-overview-bg-accent);border-color:var(--ts-overview-border-accent)}.technical-services-overview-card span{font-size:10px;line-height:1.4;letter-spacing:.08em;text-transform:uppercase;color:var(--ts-text-muted)}.technical-services-overview-card b{font-size:19px;line-height:1.05;color:var(--ts-text-strong)}.technical-services-overview-card small{font-size:11px;line-height:1.4;color:var(--ts-text-muted)}.technical-services-params__layout{margin-top:12px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-items:stretch}.technical-services-settings-card{border:1px solid var(--ts-card-border);border-radius:16px;padding:13px;background:var(--ts-card-bg);box-shadow:var(--ts-card-shadow);display:flex;flex-direction:column;gap:12px;height:100%}.technical-services-settings-card--accent{background:var(--ts-card-bg-accent);border-color:var(--ts-card-border-accent)}.technical-services-settings-card__head{display:flex;flex-direction:column;gap:5px}.technical-services-settings-card__head h4{margin:0;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ts-text-strong)}.technical-services-settings-card__head p{margin:0;font-size:11px;line-height:1.45;color:var(--ts-text-muted)}.technical-services-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.technical-services-settings-grid--compact{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.technical-services-settings-grid label,.technical-services-notes label{display:flex;flex-direction:column;gap:5px}.technical-services-setting-field{gap:10px!important;min-height:88px;padding:10px 11px;border:1px solid var(--ts-field-border);border-radius:14px;background:var(--ts-field-bg);transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.technical-services-setting-field--accent{background:var(--ts-field-bg-accent);border-color:var(--ts-field-border-accent)}.technical-services-setting-field:focus-within{border-color:#60a5fae0;box-shadow:0 0 0 3px #60a5fa2e}.technical-services-setting-field span,.technical-services-notes label span{font-size:11px;line-height:1.45;color:var(--ts-text-muted)}.technical-services-setting-field__control{display:flex;align-items:flex-end;justify-content:space-between;gap:10px}.technical-services-setting-field__control input,.technical-services-table input,.technical-services-table select,.technical-services-notes textarea{border:1px solid var(--ts-input-border);border-radius:8px;background:var(--ts-input-bg)!important;color:var(--ts-input-text);font-size:12px;padding:6px 8px}.technical-services-setting-field__control input{width:100%;min-width:0;border:none;border-radius:0;background:transparent!important;box-shadow:none;color:var(--ts-text-strong);font-size:22px;font-weight:700;line-height:1;padding:0}.technical-services-setting-field__control input:focus,.technical-services-table input:focus,.technical-services-table select:focus,.technical-services-notes textarea:focus{border-color:#60a5fae0;box-shadow:0 0 0 3px #60a5fa33}.technical-services-setting-field__control input:focus{border-color:transparent;box-shadow:none}.technical-services-setting-field__unit{padding-bottom:4px;font-size:10px;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;color:var(--ts-text-soft)}.technical-services-table input:disabled,.technical-services-params input:disabled{opacity:.82;color:var(--ts-text-muted);background:color-mix(in srgb,var(--ts-input-bg) 72%,transparent)!important;cursor:not-allowed}.technical-services-toggle{display:flex;align-items:flex-start;gap:10px;padding:10px 11px;margin-top:8px;border:1px solid var(--ts-field-border);border-radius:12px;background:color-mix(in srgb,var(--ts-field-bg-accent) 85%,transparent)}.technical-services-toggle input[type=checkbox]{margin-top:2px;accent-color:#2563eb}.technical-services-toggle strong{display:block;font-size:12px;line-height:1.3;color:var(--ts-text-strong)}.technical-services-toggle small{display:block;margin-top:2px;font-size:11px;line-height:1.35;color:var(--ts-text-muted)}.technical-services-productivity{display:grid;grid-template-columns:1fr;gap:10px;align-items:stretch}.technical-services-productivity__stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.technical-services-productivity__stats article{border:1px solid var(--ts-stat-border);border-radius:14px;background:var(--ts-stat-bg);padding:10px 11px;display:flex;flex-direction:column;justify-content:space-between;gap:6px}.technical-services-productivity__stats article span{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--ts-text-muted)}.technical-services-productivity__stats article b{font-size:16px;color:var(--ts-text-strong)}.technical-services-productivity__hint{margin:0;padding:10px 11px;border-radius:14px;border:1px solid var(--ts-hint-border);background:var(--ts-hint-bg);font-size:11px;line-height:1.5;color:var(--ts-text-muted)}.technical-services-auto__grid{margin-top:10px;display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:8px}.technical-services-auto__grid article{border:1px solid var(--ts-summary-card-border);border-radius:10px;background:var(--ts-summary-card-bg);padding:8px;display:flex;flex-direction:column;gap:3px}.technical-services-auto__grid article span{color:var(--ts-text-soft);font-size:10px;text-transform:uppercase;letter-spacing:.04em}.technical-services-auto__grid article b{color:var(--ts-text-strong);font-size:16px}.technical-services-table__scroll{margin-top:10px;max-height:none;overflow-x:auto;overflow-y:visible;border-radius:12px}.technical-services-table table{width:100%;border-collapse:collapse;min-width:1120px;table-layout:fixed}.technical-services-table th,.technical-services-table td{border:1px solid var(--ts-table-border);padding:6px;vertical-align:top;overflow-wrap:anywhere}.technical-services-table th{background:var(--ts-table-header-bg);font-size:10px;letter-spacing:.05em;text-transform:uppercase;color:var(--ts-text-soft);white-space:normal;line-height:1.25;position:sticky;top:0;z-index:2;box-shadow:inset 0 -1px 0 var(--ts-table-border)}.technical-services-table input,.technical-services-table select{width:100%;min-width:0;box-sizing:border-box}.technical-services-table td small{display:block;margin-top:4px;color:var(--ts-text-soft);font-size:10px;line-height:1.35}.technical-services-table__description{display:block;font-size:12px;line-height:1.45;color:var(--ts-text-strong);min-height:30px;white-space:normal}.technical-services-table__description-cell{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:start}.technical-services-table__delete-button{border:1px solid color-mix(in srgb,var(--ts-action-border) 78%,rgba(239,68,68,.44));border-radius:8px;min-height:30px;padding:0 9px;background:color-mix(in srgb,var(--ts-action-bg) 76%,rgba(239,68,68,.18));color:var(--ts-action-color);box-shadow:none;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.technical-services-table__delete-button:hover{background:color-mix(in srgb,var(--ts-action-hover-bg) 74%,rgba(239,68,68,.22))}.technical-services-table__calc-cell{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:center}.technical-services-table__calc-cell button{border:1px solid var(--ts-action-border);border-radius:8px;width:28px;min-width:28px;height:28px;padding:0;background:var(--ts-action-bg);color:var(--ts-action-color);box-shadow:var(--ts-action-shadow);font-size:12px}.technical-services-table__calc-cell button:hover{background:var(--ts-action-hover-bg)}.technical-services-table__na{display:inline-flex;align-items:center;min-height:30px;font-size:11px;color:var(--ts-text-soft);font-style:italic}.technical-services-table__row--travel td{background:var(--ts-table-travel-row)}.technical-services-table__add-row td{padding:10px 12px;background:color-mix(in srgb,var(--ts-table-travel-row) 68%,transparent);text-align:center}.technical-services-table__add-button{border:1px dashed var(--ts-action-border);border-radius:999px;min-height:34px;padding:0 14px;background:var(--ts-action-bg);color:var(--ts-action-color);box-shadow:var(--ts-action-shadow);font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.technical-services-table__add-button:hover{background:var(--ts-action-hover-bg)}.technical-services-resource-dialog{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:22px}.technical-services-resource-dialog__backdrop{position:absolute;inset:0;border:none;background:#02061785;cursor:pointer}.technical-services-resource-dialog__panel{position:relative;width:min(900px,calc(100vw - 32px));max-height:min(80vh,760px);overflow:auto;border:1px solid var(--ts-panel-border);border-radius:20px;padding:16px;background:radial-gradient(circle at top right,rgba(251,191,36,.12),transparent 30%),var(--ts-panel-hero-bg);box-shadow:0 32px 60px #02061752}.technical-services-resource-dialog__head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.technical-services-resource-dialog__head h3{margin:0;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--ts-text-strong)}.technical-services-resource-dialog__head p{margin:5px 0 0;font-size:12px;line-height:1.5;color:var(--ts-text-muted);max-width:560px}.technical-services-resource-dialog__close{border:1px solid var(--ts-action-border);border-radius:12px;width:34px;min-width:34px;height:34px;padding:0;background:var(--ts-action-bg);color:var(--ts-action-color);box-shadow:var(--ts-action-shadow);font-size:22px;line-height:1}.technical-services-resource-dialog__grid{margin-top:14px;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.9fr);gap:12px}.technical-services-resource-card{border:1px solid var(--ts-card-border);border-radius:18px;padding:14px;background:var(--ts-card-bg);box-shadow:var(--ts-card-shadow);display:flex;flex-direction:column;gap:12px}.technical-services-resource-card--accent{border-color:var(--ts-card-border-accent);background:var(--ts-card-bg-accent)}.technical-services-resource-card__head{display:flex;flex-direction:column;gap:4px}.technical-services-resource-card__head h4{margin:0;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ts-text-strong)}.technical-services-resource-card__head p{margin:0;font-size:11px;line-height:1.45;color:var(--ts-text-muted)}.technical-services-resource-list{display:grid;gap:8px}.technical-services-resource-item{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 11px;border:1px solid var(--ts-field-border);border-radius:14px;background:var(--ts-field-bg)}.technical-services-resource-item strong{display:block;font-size:13px;color:var(--ts-text-strong)}.technical-services-resource-item span{display:block;margin-top:2px;font-size:10px;letter-spacing:.05em;text-transform:uppercase;color:var(--ts-text-soft)}.technical-services-resource-item b{font-size:13px;color:var(--ts-text-strong);white-space:nowrap}.technical-services-resource-form{display:grid;gap:10px}.technical-services-resource-form .technical-services-setting-field{min-height:0}.technical-services-resource-form .technical-services-setting-field__control{align-items:center}.technical-services-resource-form .technical-services-setting-field__control input{min-height:38px;padding:8px 10px;border:1px solid var(--ts-input-border);border-radius:10px;background:var(--ts-input-bg)!important;box-shadow:none;color:var(--ts-input-text);font-size:13px;font-weight:600;line-height:1.2}.technical-services-resource-form__error{margin:0;font-size:11px;color:#fda4af}.technical-services-resource-form__actions{display:flex;justify-content:flex-end}.technical-services-resource-form__actions button{border:1px solid transparent;border-radius:999px;min-height:32px;padding:0 14px;background:var(--ts-action-primary-bg);color:var(--ts-action-primary-color);box-shadow:var(--ts-action-primary-shadow);font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.technical-services-notes textarea{min-height:80px;resize:vertical}.technical-services-summary__grid{margin-top:10px;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}.technical-services-page .summary-stat-card{border-color:var(--ts-summary-card-border);background:var(--ts-summary-card-bg)}.technical-services-page .summary-stat-card span{color:var(--ts-text-soft)}.technical-services-page .summary-stat-card b,.technical-services-page .summary-stat-card__value small{color:var(--ts-text-strong)}.technical-services-page .layer-summary__counts{color:var(--ts-counts-color)}@media(max-width:1180px){.technical-services-params__overview,.technical-services-params__layout{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:960px){.technical-services-params__hero,.technical-services-table__top,.technical-services-page__head{align-items:stretch}.technical-services-params__overview,.technical-services-params__layout,.technical-services-settings-grid,.technical-services-productivity,.technical-services-resource-dialog__grid{grid-template-columns:1fr}}@media(max-width:720px){.technical-services-resource-dialog{padding:14px}.technical-services-resource-dialog__panel{width:min(100%,calc(100vw - 18px));max-height:min(86vh,760px);padding:12px}.technical-services-resource-item{flex-direction:column;align-items:flex-start}.technical-services-resource-item b{white-space:normal}}.planning-page{display:flex;flex-direction:column;gap:14px}.planning-page__head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}.planning-page__head-copy{display:flex;flex-direction:column}.planning-page__head h2{margin:0;font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:var(--text)}.planning-page__head p{margin:4px 0 0;color:var(--muted);font-size:12px}.planning-page__actions{display:flex;gap:8px;flex-wrap:wrap}.planning-calendar,.planning-filters,.planning-table,.planning-gantt,.planning-notes{border:1px solid var(--app-control-border);border-radius:16px;padding:14px;background:var(--app-card-bg);box-shadow:inset 0 1px #ffffff0f;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.planning-calendar{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.planning-calendar__field,.planning-calendar__card{border:1px solid var(--app-control-border);border-radius:14px;padding:12px;background:linear-gradient(180deg,var(--app-control-bg-strong),var(--app-control-bg))}.planning-calendar__field{display:flex;flex-direction:column;justify-content:center;gap:6px;min-height:86px}.planning-calendar__field span,.planning-calendar__card span{font-size:11px;color:var(--muted);letter-spacing:.05em;text-transform:uppercase}.planning-calendar__field input{border:1px solid var(--app-control-border);border-radius:10px;background:var(--app-control-bg-strong)!important;color:var(--text);font-size:13px;padding:8px 10px}.planning-calendar__card{display:flex;flex-direction:column;justify-content:center;gap:5px;min-height:86px}.planning-calendar__card strong{color:var(--text);font-size:16px;line-height:1.25}.planning-calendar__card small{color:var(--muted);font-size:11px}.planning-calendar__card--on_time{border-color:#16a34a33;background:linear-gradient(180deg,color-mix(in srgb,var(--app-control-bg-strong) 84%,rgba(22,163,74,.22)),color-mix(in srgb,var(--app-control-bg) 82%,rgba(22,163,74,.14)))}.planning-calendar__card--delayed{border-color:#ef444438;background:linear-gradient(180deg,color-mix(in srgb,var(--app-control-bg-strong) 84%,rgba(239,68,68,.22)),color-mix(in srgb,var(--app-control-bg) 82%,rgba(239,68,68,.14)))}.planning-calendar__card--early{border-color:#0ea5e938;background:linear-gradient(180deg,color-mix(in srgb,var(--app-control-bg-strong) 84%,rgba(14,165,233,.22)),color-mix(in srgb,var(--app-control-bg) 82%,rgba(14,165,233,.14)))}.planning-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.planning-filters label,.planning-notes label{display:flex;flex-direction:column;gap:5px}.planning-filters label span,.planning-notes label span{font-size:11px;color:var(--muted)}.planning-filters select,.planning-table input,.planning-table select,.planning-notes textarea{border:1px solid var(--app-control-border);border-radius:8px;background:var(--app-control-bg-strong)!important;color:var(--text);font-size:11px;padding:5px 7px}.planning-table input,.planning-table select{width:100%;min-width:0;min-height:30px;box-sizing:border-box}.planning-calendar__field input:focus,.planning-filters select:focus,.planning-table input:focus,.planning-table select:focus,.planning-notes textarea:focus{border-color:#60a5fae0;box-shadow:0 0 0 3px #60a5fa33}.planning-layout{display:grid;grid-template-columns:1fr;gap:12px;align-items:start}.planning-table h3,.planning-gantt h3{margin:0;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--text)}.planning-table__scroll{margin-top:10px;overflow:auto}.planning-table table{width:100%;min-width:1010px;border-collapse:collapse;table-layout:fixed}.planning-table th,.planning-table td{border:1px solid color-mix(in srgb,var(--app-control-border) 88%,transparent);padding:5px;vertical-align:top}.planning-table tbody tr{transition:background-color .18s ease,box-shadow .18s ease}.planning-table th{position:sticky;top:0;z-index:1;background:var(--app-control-bg-alt);font-size:10px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);white-space:normal;line-height:1.15}.planning-table td.is-delayed,.planning-table tr.is-delayed td{background:#7f1d1d33}.planning-table tr.is-selected td{background:#0ea5e91f;box-shadow:inset 0 0 0 1px #0ea5e938}.planning-table__empty{text-align:center;color:var(--muted);padding:16px 10px!important}.planning-id{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:11px;color:color-mix(in srgb,var(--text) 78%,transparent)}.planning-id-cell{position:relative;display:flex;align-items:center;gap:8px;overflow:visible}.planning-id-cell__controls{display:flex;align-items:center}.planning-id-cell__meta{display:flex;align-items:center;gap:5px;flex:1;justify-content:space-between;min-width:0;flex-wrap:nowrap}.planning-row-popover{position:absolute;top:50%;left:calc(100% + 8px);transform:translateY(-50%);z-index:3;display:flex;align-items:center;gap:4px;padding:5px;border:1px solid var(--app-control-border);border-radius:999px;background:linear-gradient(180deg,var(--app-control-bg-strong),var(--app-control-bg));box-shadow:0 10px 24px #00000047}.planning-popover-btn{width:24px;height:24px;padding:0;border:1px solid var(--app-control-border);border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:var(--app-control-bg-strong);color:var(--text)}.planning-popover-btn:hover{background:var(--app-control-hover);border-color:#60a5fa73}.planning-popover-btn:disabled{opacity:.35;cursor:not-allowed}.planning-popover-btn svg{width:12px;height:12px;stroke:currentColor;fill:none}.planning-popover-btn--danger{color:#fecaca;border-color:#ef444447;background:#7f1d1d66}.planning-popover-btn--danger:hover{background:#7f1d1d8c;border-color:#ef44447a}.planning-select-checkbox{width:14px;height:14px;accent-color:#0ea5e9;cursor:pointer;margin:0}.planning-static-field{min-height:30px;display:flex;align-items:center;padding:5px 7px;border:1px solid var(--app-control-border);border-radius:8px;background:linear-gradient(180deg,var(--app-control-bg),var(--app-control-bg-strong));color:var(--text);font-size:11px;width:100%;box-sizing:border-box}.planning-static-field--name{font-weight:600;font-size:11px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.planning-source-pill{display:inline-flex;align-items:center;justify-content:center;width:fit-content;margin-left:auto;padding:1px 6px;border-radius:999px;font-size:9px;font-weight:700;letter-spacing:.03em;line-height:1.1;text-transform:uppercase}.planning-source-pill--auto{border:1px solid rgba(14,165,233,.35);background:#0ea5e929;color:#bae6fd}.planning-source-pill--locked{border:1px solid rgba(148,163,184,.3);background:#94a3b81f;color:var(--muted)}.planning-completion-cell{display:grid;grid-template-columns:minmax(64px,1fr) auto;align-items:center;gap:5px}.planning-completion-cell span{color:var(--muted);font-size:11px}.planning-task-issues{margin-top:6px;display:grid;gap:3px}.planning-task-issues span{font-size:10px;color:#fecaca}.planning-gantt__range{margin-top:10px;display:flex;justify-content:space-between;color:var(--muted);font-size:11px}.planning-gantt__scroll{margin-top:8px;overflow:auto}.planning-gantt__canvas{min-width:520px}.planning-gantt__axis{position:relative;height:22px;margin-left:6px;border-bottom:1px dashed rgba(148,163,184,.45)}.planning-gantt__axis span{position:absolute;top:3px;transform:translate(-50%);font-size:10px;color:var(--muted)}.planning-gantt__rows{margin-top:8px;display:grid;gap:7px}.planning-gantt__row{display:grid;grid-template-columns:minmax(130px,170px) 1fr;gap:8px;align-items:center}.planning-gantt__label{min-width:0;display:grid;gap:2px}.planning-gantt__label strong,.planning-gantt__label small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.planning-gantt__label strong{font-size:11px;color:#f8fafc}.planning-gantt__label small{font-size:10px;color:var(--muted)}.planning-gantt__track{position:relative;height:16px;border-radius:999px;background:color-mix(in srgb,var(--app-control-bg-alt) 94%,transparent);border:1px solid var(--app-control-border)}.planning-gantt__bar{position:absolute;top:1px;bottom:1px;border-radius:999px;min-width:8px;display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:#fff}.planning-gantt__bar--not_started{background:linear-gradient(90deg,#64748b,#475569)}.planning-gantt__bar--in_progress{background:linear-gradient(90deg,#0891b2,#2563eb)}.planning-gantt__bar--completed{background:linear-gradient(90deg,#16a34a,#15803d)}.planning-gantt__bar--blocked{background:linear-gradient(90deg,#d97706,#b45309)}.planning-gantt__bar.is-delayed{background:linear-gradient(90deg,#ef4444,#b91c1c)}.planning-empty{margin:8px 0 0;color:var(--muted);font-size:11px}.planning-notes textarea{min-height:76px;resize:vertical}@media(max-width:1400px){.planning-calendar{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:900px){.planning-row-popover{top:calc(100% + 6px);left:0;transform:none}.planning-page__head{align-items:stretch}.planning-calendar{grid-template-columns:1fr}}.canvas-shell{flex:1;display:flex;flex-direction:column;position:relative;z-index:1;border-radius:18px;background:linear-gradient(180deg,#ffffff12,#0f172aeb);border:1px solid var(--line);box-shadow:0 18px 50px #0009,inset 0 1px #ffffff1f;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);overflow:hidden;min-width:0;height:100%}.canvas-shell .toolbar{display:flex;align-items:center;gap:8px;padding:8px 10px;border-bottom:1px solid rgba(148,163,184,.35);background:#0f172ae6;flex-shrink:0;flex-wrap:nowrap;position:relative;min-width:0}.canvas-shell .toolbar .toolbar-row{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;min-width:0;flex:1 1 auto;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}.canvas-shell .toolbar button{border:none;border-radius:6px;padding:6px 10px;font-size:11px;font-weight:500;display:inline-flex;align-items:center;gap:6px;cursor:pointer;background:#1f2937e6;color:#e5e7eb;box-shadow:0 1px #ffffff0a;transition:background .2s;white-space:nowrap}.canvas-shell .toolbar button:hover{background:#333d4be6}.canvas-shell .toolbar button.primary{background:linear-gradient(135deg,var(--brand),var(--brand-2));color:#fff;box-shadow:0 8px 18px #f9731673}.canvas-shell .toolbar button.primary:hover{box-shadow:0 8px 22px #f9731699}.canvas-shell .toolbar button span.icon{width:14px;height:14px;display:inline-flex;align-items:center;justify-content:center;font-size:13px}.canvas-shell .toolbar .toolbar-row>button span.icon{width:18px;height:18px;border-radius:6px;background:linear-gradient(145deg,#334155e6,#1e293bf2);border:1px solid rgba(148,163,184,.26);box-shadow:inset 0 1px #ffffff29,0 3px 10px #02061773}.canvas-shell .toolbar .toolbar-row>button span.icon svg{width:14px;height:14px;stroke-width:1.9;filter:drop-shadow(0 1px 1px rgba(2,6,23,.35))}.canvas-shell .toolbar .toolbar-row>button.primary span.icon{background:linear-gradient(145deg,#ffffff42,#ffffff1f);border-color:#fff6}.canvas-shell .toolbar .toolbar-file{margin-left:auto;display:flex;align-items:center;gap:6px;font-size:11px;color:var(--muted);flex:0 1 clamp(180px,24vw,320px);min-width:0;max-width:100%}.canvas-shell .toolbar .toolbar-file>span:first-child,.canvas-shell .toolbar .toolbar-file>button{flex-shrink:0}.canvas-shell .toolbar .toolbar-file>.toolbar-file__settings-btn{width:28px;height:28px;padding:0;justify-content:center;gap:0;background:#1f2937e6;color:#cbd5e1;box-shadow:0 1px #ffffff0a}.canvas-shell .toolbar .toolbar-file>.toolbar-file__settings-btn:hover{background:#333d4be6;color:#f8fafc}.canvas-shell .toolbar .toolbar-file>.toolbar-file__settings-btn span.icon{width:24px;height:24px;background:none;border:0;box-shadow:none;font-size:23px;line-height:1}.canvas-shell .toolbar .toolbar-file__name{display:block;flex:1 1 auto;width:0;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#94a3b8}.canvas-shell .toolbar .toolbar-file__name.is-loaded{color:#e5e7eb}.canvas-shell .toolbar .toolbar-file__input{display:none}.canvas-shell .toolbar .canvas-overlay-panels{position:absolute;top:calc(100% + 10px);left:10px;z-index:30;display:flex;flex-direction:column;gap:10px;max-width:min(860px,calc(100vw - 20px));pointer-events:none}.canvas-shell .toolbar .canvas-overlay-panels .tool-card{pointer-events:auto;background:linear-gradient(180deg,#020617cc,#0f172adb);border:1px solid rgba(100,116,139,.58);box-shadow:0 24px 54px #020617ad,inset 0 1px #94a3b840;-webkit-backdrop-filter:blur(16px) saturate(125%);backdrop-filter:blur(16px) saturate(125%)}.canvas-shell .toolbar .canvas-overlay-panels .tool-card__title{color:#f8fafc}.canvas-shell .toolbar .canvas-overlay-panels .tool-card__hint{color:#e2e8f0e0}.canvas-shell .toolbar .canvas-overlay-panels .tool-card__field span,.canvas-shell .toolbar .canvas-overlay-panels .tool-card__meta{color:#e2e8f0e6}.canvas-shell .toolbar .canvas-overlay-panels .tool-card__field input,.canvas-shell .toolbar .canvas-overlay-panels .tool-card__field select{background:#020617db!important;border-color:#64748bbf;color:#f8fafc}.canvas-shell .toolbar .canvas-overlay-panels .tool-card__field input:focus,.canvas-shell .toolbar .canvas-overlay-panels .tool-card__field select:focus{border-color:#60a5faeb;box-shadow:0 0 0 4px #60a5fa3d}.canvas-shell .toolbar .canvas-overlay-panels .tool-card__section{background:#0f172ab3;border-color:#64748b8c}.canvas-shell .toolbar .canvas-overlay-panels .btn{background:#1e293beb;border-color:#64748ba6;color:#e2e8f0}.canvas-shell .toolbar .canvas-overlay-panels .btn:hover{background:#334155f2}.canvas-wrapper{flex:1;position:relative;background:#020617;overflow:hidden;min-height:0}.canvas-stage-shell{width:100%;height:100%;position:relative}.canvas-zoom-controls{position:absolute;right:10px;bottom:10px;z-index:30;display:inline-flex;align-items:center;gap:5px;padding:4px 5px;border-radius:10px;border:1px solid rgba(148,163,184,.14);background:#0f172a6b;box-shadow:0 6px 12px #02061729;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.canvas-zoom-controls__button{width:18px;height:18px;border:1px solid rgba(148,163,184,.14);border-radius:5px;background:#0f172a4d;color:#f8fafce0;font-size:11px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;box-shadow:none}.canvas-zoom-controls__button:hover{background:#1e293b75;border-color:#7dd3fc33}.canvas-zoom-controls__slider{width:56px;accent-color:#38bdf8;opacity:.8}.canvas-zoom-controls__value{min-width:28px;text-align:right;font-size:8px;font-weight:700;color:#e2e8f0d1;letter-spacing:.04em}@media(max-width:720px){.canvas-zoom-controls{right:8px;bottom:8px;gap:4px;padding:4px 5px}.canvas-zoom-controls__slider{width:48px}.canvas-zoom-controls__value{min-width:24px;font-size:8px}}.ai-corner-trigger{position:absolute;top:12px;left:12px;z-index:28;width:40px;height:40px;border-radius:12px;border:1px solid rgba(148,163,184,.35);background:#0f172ae0;color:#e2e8f0;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 10px 24px #02061773}.ai-corner-trigger .icon{font-size:16px;line-height:1}.ai-corner-trigger:hover{background:#1e293bf2;border-color:#94a3b88c}.ai-corner-trigger.is-active{border-color:#0ea5e9eb;background:linear-gradient(135deg,#0ea5e9eb,#2563ebf0);color:#fff}.ai-panel-anchor{position:absolute;inset:58px 12px 12px;z-index:29;pointer-events:none;display:flex;align-items:flex-start}.ai-panel-anchor .tool-card{pointer-events:auto;background:linear-gradient(180deg,#020617f5,#0f172af7);border:1px solid rgba(100,116,139,.7);box-shadow:0 24px 54px #020617bd,inset 0 1px #94a3b83d;width:min(1080px,100%);max-height:100%;overflow:auto}.ai-panel-anchor .tool-card__title{color:#f8fafc}.ai-panel-anchor .tool-card__hint,.ai-panel-anchor .tool-card__field span,.ai-panel-anchor .camera-recommendation-results__head small{color:#e2e8f0eb}.ai-panel-anchor .tool-card p,.ai-panel-anchor .tool-card li,.ai-panel-anchor .tool-card td,.ai-panel-anchor .tool-card th,.ai-panel-anchor .tool-card label,.ai-panel-anchor .tool-card h3,.ai-panel-anchor .tool-card h4,.ai-panel-anchor .tool-card strong,.ai-panel-anchor .tool-card b,.ai-panel-anchor .tool-card small{color:#e2e8f0}.ai-panel-anchor .tool-card input,.ai-panel-anchor .tool-card select,.ai-panel-anchor .tool-card textarea{background:#020617eb!important;border-color:#64748bc7;color:#f8fafc}.ai-panel-anchor .camera-recommendation-card{background:#0f172adb;border-color:#64748b85}.ai-panel-anchor .camera-recommendation-ranking{background:#020617b8;border-color:#64748b85}.ai-panel-anchor .camera-recommendation-ranking th,.ai-panel-anchor .camera-recommendation-ranking td{color:#e2e8f0;border-color:#64748b75}.ai-panel-anchor .tool-card input:focus,.ai-panel-anchor .tool-card select:focus,.ai-panel-anchor .tool-card textarea:focus{border-color:#60a5faeb;box-shadow:0 0 0 4px #60a5fa38}.inspector{width:clamp(220px,24vw,280px);min-width:220px;max-width:100%;height:100%;border-radius:18px;background:linear-gradient(180deg,#0f172af2,#0f172afa);border:1px solid var(--line);box-shadow:0 18px 50px #000000b3,inset 0 1px #ffffff1a;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);padding:12px 12px 14px;display:flex;flex-direction:column;gap:8px;font-size:12px;overflow-y:auto;flex-shrink:0;position:relative;z-index:60;isolation:isolate;--inspector-control-height: 32px;--inspector-section-radius: 10px;--inspector-section-padding: 6px}.inspector h2,.inspector h3{font-size:13px;letter-spacing:.08em;text-transform:uppercase;margin:0 0 4px}.inspector .inspector-title-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 4px}.inspector .inspector-title-row h3{margin:0}.inspector .inspector-compliance-indicator{width:26px;height:26px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(148,163,184,.45);background:#0f172ad1;color:#cbd5e1;box-shadow:inset 0 1px #ffffff1f;flex-shrink:0}.inspector .inspector-compliance-indicator.is-alert{color:#fecaca;border-color:#f87171bf;background:#7f1d1d94;box-shadow:0 0 0 1px #f8717133,0 0 10px #f8717159}.inspector .inspector-compliance-indicator.is-conform{color:#bbf7d0;border-color:#4ade80b3;background:#14532d8f}.inspector .inspector-compliance-indicator.is-alert .inspector-compliance-indicator__icon{animation:inspector-siren-pulse .9s ease-in-out infinite}.inspector .inspector-compliance-indicator__icon{width:15px;height:15px}.inspector p{font-size:12px;color:var(--muted);line-height:1.5}.inspector ul{margin:4px 0 0;padding-left:18px;color:var(--muted);font-size:12px;line-height:1.6}.inspector .inspector-summary-list{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.inspector .inspector-summary-list li{border:1px solid var(--line);border-radius:10px;background:#0f172a99;padding:7px 8px;display:flex;gap:8px;justify-content:space-between;align-items:center;cursor:pointer}.inspector .inspector-summary-list li.is-active{border-color:#0ea5e9cc;box-shadow:inset 0 0 0 1px #0ea5e959}.inspector .inspector-summary-list__main{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.inspector .inspector-summary-list__main b,.inspector .inspector-summary-list__main span{overflow-wrap:anywhere}.inspector .inspector-summary-list__main span{color:var(--muted)}.inspector .inspector-summary-list__actions{display:flex;flex-direction:row;flex-shrink:0;align-items:center}.inspector .inspector-summary-list__btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(148,163,184,.35);background:#1e293be6;color:#e5e7eb;border-radius:8px;width:100%;min-height:30px;min-width:0;padding:0 10px;font-size:10px;line-height:1.2;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;text-align:center}.inspector .inspector-summary-list__btn.is-icon{width:28px;min-width:28px;height:28px;min-height:28px;padding:0;border-radius:7px}.inspector .inspector-summary-list__btn-icon{width:14px;height:14px}.inspector .inspector-summary-list__btn:hover{border-color:#94a3b899;background:#334155eb}.inspector .inspector-summary-list__btn.is-danger{border-color:#f8717173;color:#fecaca}.inspector .inspector-summary-list__btn.is-danger:hover{background:#7f1d1d8c;border-color:#f87171bf}.inspector section{display:flex;flex-direction:column;gap:6px;border:1px solid rgba(148,163,184,.16);border-radius:var(--inspector-section-radius);background:#02061724;padding:var(--inspector-section-padding)}.inspector .inspector-cable-visibility{margin-top:2px;gap:10px;padding:10px;border-radius:12px;border:1px solid rgba(56,189,248,.2);background:linear-gradient(160deg,#082f493d,#02061780),radial-gradient(circle at 100% 0%,rgba(14,165,233,.1),transparent 58%)}.inspector .inspector-cable-visibility__head{display:flex;flex-direction:column;gap:2px}.inspector .inspector-cable-visibility__head h3{margin:0;font-size:12px;letter-spacing:.02em}.inspector .inspector-cable-visibility__head p{margin:0;font-size:11px;color:#cbd5e1c7;line-height:1.35}.inspector .inspector-visibility-groups{display:grid;gap:8px}.inspector .inspector-visibility-group{display:flex;flex-direction:column;gap:6px;border:1px solid rgba(148,163,184,.26);border-radius:11px;background:linear-gradient(160deg,#0f172a9e,#0f172a70);box-shadow:inset 0 1px #ffffff0d;padding:8px}.inspector .inspector-visibility-group__head{display:flex;align-items:center;justify-content:space-between;gap:8px}.inspector .inspector-visibility-group__title{font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#cbd5e1c7}.inspector .inspector-visibility-group__meta{font-size:10px;color:#94a3b8e6;border:1px solid rgba(148,163,184,.26);border-radius:999px;padding:1px 8px;background:#0f172a73}.inspector .inspector-visibility-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.inspector .inspector-visibility-toggle{position:relative;display:flex;align-items:center;justify-content:space-between;gap:6px;min-height:34px;border:1px solid rgba(148,163,184,.26);border-radius:10px;background:linear-gradient(160deg,#0f172a9e,#0206178a);padding:5px 7px;font-size:10px;color:var(--text);line-height:1.25;cursor:pointer;transition:transform .16s ease,border-color .16s ease,background .16s ease}.inspector .inspector-visibility-toggle:hover{transform:translateY(-1px);border-color:#38bdf873}.inspector .inspector-visibility-toggle.is-hidden{border-color:#f59e0ba8;background:linear-gradient(160deg,#78350f6b,#2925248c)}.inspector .inspector-visibility-toggle__main{min-width:0;display:flex;flex-direction:column;gap:1px;overflow-wrap:anywhere}.inspector .inspector-visibility-toggle__main strong{font-size:9px;font-weight:700;letter-spacing:.01em}.inspector .inspector-visibility-toggle__main small{font-size:8px;color:#bfdbfee6}.inspector .inspector-visibility-toggle.is-hidden .inspector-visibility-toggle__main small{color:#fed7aaf0}.inspector .inspector-visibility-toggle input[type=checkbox]{position:absolute;opacity:0;pointer-events:none}.inspector .inspector-visibility-toggle__switch{position:relative;flex:0 0 auto;width:32px;height:18px;border-radius:999px;border:1px solid rgba(148,163,184,.46);background:#0f172ab3;transition:border-color .16s ease,background .16s ease}.inspector .inspector-visibility-toggle__switch:after{content:"";position:absolute;top:1px;left:1px;width:14px;height:14px;border-radius:50%;background:#bfdbfef2;box-shadow:0 1px 4px #02061773;transition:transform .16s ease,background .16s ease}.inspector .inspector-visibility-toggle.is-hidden .inspector-visibility-toggle__switch{border-color:#f59e0bc2;background:#78350f8c}.inspector .inspector-visibility-toggle.is-hidden .inspector-visibility-toggle__switch:after{transform:translate(14px);background:#fdba74}.inspector .inspector-support{border:none;border-radius:0;background:transparent;padding:0;display:flex;flex-direction:column;gap:8px}.inspector .inspector-support-tabs{display:grid;grid-template-columns:minmax(0,1.14fr) repeat(2,minmax(0,.93fr));align-items:stretch;gap:6px;padding:0;border:none;background:transparent;box-shadow:none}.inspector .inspector-support-tab{display:flex;align-items:center;justify-content:center;width:100%;min-height:38px;border:1px solid rgba(148,163,184,.26);background:linear-gradient(180deg,#0f172acc,#0f172a8c);color:#e2e8f0d1;border-radius:10px;padding:6px;font-size:clamp(8px,.85vw,9.5px);font-weight:700;text-transform:none;letter-spacing:clamp(.01em,.08vw,.04em);line-height:1.2;text-align:center;white-space:normal;overflow-wrap:anywhere;word-break:break-word;-webkit-hyphens:auto;hyphens:auto;text-wrap:balance;box-shadow:0 6px 12px #0206173d,inset 0 1px #ffffff14;transition:background .2s ease,color .2s ease,box-shadow .2s ease,transform .2s ease,border-color .2s ease}.inspector .inspector-support-tab:first-child{min-height:38px;font-size:clamp(8px,.85vw,9.5px);letter-spacing:clamp(.01em,.08vw,.04em);white-space:normal;line-height:1.2;padding-inline:6px}.inspector .inspector-support-tab:hover{color:#f8fafc;border-color:#94a3b880;transform:translateY(-1px);box-shadow:0 10px 18px #0206174d,inset 0 1px #ffffff29}.inspector .inspector-support-tab.is-active{border-color:#38bdf89e;background:linear-gradient(135deg,#38bdf840,#0ea5e92e);color:#fff;box-shadow:0 12px 22px #02061759,0 0 0 1px #38bdf833,inset 0 1px #ffffff57;transform:translateY(-2px)}.inspector .inspector-support-tab:focus-visible{outline:2px solid rgba(125,211,252,.95);outline-offset:1px}.inspector .inspector-support-content{display:flex;flex-direction:column;gap:8px;border:none;border-radius:0;background:transparent;padding:0;animation:inspector-support-fade .18s ease-out;min-height:0;max-height:none;overflow:visible}@keyframes inspector-support-fade{0%{opacity:.4;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}.inspector .inspector-alerts{border:1px solid rgba(248,113,113,.4);border-radius:10px;background:#7f1d1d38;padding:8px}.inspector .inspector-alerts h3,.inspector .inspector-alerts ul,.inspector .inspector-alerts li{color:#fecaca}.inspector .inspector-alerts li.is-clickable{cursor:pointer}.inspector .inspector-alerts li.is-clickable:hover{color:#fee2e2;text-decoration:underline}.inspector .inspector-alerts li.is-clickable:focus-visible{outline:2px solid rgba(254,202,202,.9);outline-offset:2px;border-radius:4px}.inspector .inspector-collapsible{border:1px solid rgba(148,163,184,.32);border-radius:10px;background:#0f172a9e;padding:8px}.inspector .inspector-collapsible__header{display:flex;align-items:center;justify-content:space-between;gap:8px}.inspector .inspector-collapsible__header h3{margin:0}.inspector .inspector-collapsible__toggle{border:1px solid rgba(148,163,184,.45);background:#1e293beb;color:#e2e8f0;border-radius:8px;padding:3px 8px;font-size:10px;text-transform:uppercase;letter-spacing:.06em}.inspector .inspector-collapsible__toggle:hover{border-color:#94a3b8bf;background:#334155f0}.inspector .inspector-collapsible.is-collapsed{gap:0}.inspector .inspector-system-rules{border:1px solid rgba(56,189,248,.32);border-radius:10px;background:#082f493d;padding:8px;gap:10px}.inspector .inspector-siren{display:flex;align-items:center;gap:8px;border-radius:10px;border:1px solid rgba(148,163,184,.32);background:#0f172abf;padding:8px}.inspector .inspector-siren.is-active{border-color:#f87171bf;background:#7f1d1d59;box-shadow:0 0 0 1px #f8717133,0 0 14px #f8717159}.inspector .inspector-siren.is-active .inspector-siren__icon{animation:inspector-siren-pulse .9s ease-in-out infinite}.inspector .inspector-siren__icon{font-size:16px;line-height:1}.inspector .inspector-siren__text{display:flex;flex-direction:column;gap:2px}.inspector .inspector-siren__text b{color:#f8fafc;font-size:12px}.inspector .inspector-siren__text small{color:#cbd5e1;font-size:11px}.inspector .inspector-rule-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px}.inspector .inspector-rule-item{border-radius:8px;border:1px solid rgba(148,163,184,.28);background:#0f172ab8;padding:7px 8px;display:flex;flex-direction:column;gap:4px}.inspector .inspector-rule-item.is-clickable{cursor:pointer}.inspector .inspector-rule-item.is-clickable:hover{border-color:#7dd3fcbf;box-shadow:inset 0 0 0 1px #7dd3fc3d}.inspector .inspector-rule-item.is-clickable:focus-visible{outline:2px solid rgba(125,211,252,.95);outline-offset:1px}.inspector .inspector-rule-item--conform{border-color:#22c55e66;background:#14532d47}.inspector .inspector-rule-item--fail{border-color:#f871718a;background:#7f1d1d52}.inspector .inspector-rule-item__head{display:flex;align-items:center;justify-content:space-between;gap:8px}.inspector .inspector-rule-item__head>span:first-child{color:#e2e8f0;font-size:11px}.inspector .inspector-rule-item small{color:#cbd5e1;font-size:11px;line-height:1.4}.inspector .inspector-rule-badge{border-radius:999px;padding:2px 7px;font-size:10px;text-transform:uppercase;letter-spacing:.04em;border:1px solid transparent}.inspector .inspector-rule-badge--conform{color:#bbf7d0;background:#16a34a47;border-color:#22c55e6b}.inspector .inspector-rule-badge--fail{color:#fecaca;background:#dc262640;border-color:#f8717180}@keyframes inspector-siren-pulse{0%{transform:scale(1);opacity:.95}50%{transform:scale(1.13);opacity:1}to{transform:scale(1);opacity:.95}}.inspector label{display:flex;flex-direction:column;gap:4px;font-size:11px;color:var(--muted);line-height:1.2}.inspector .inspector-label-with-info{display:inline-flex;align-items:center;gap:6px}.inspector .inspector-inline-meta{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:11px}.inspector .inspector-info{position:relative;display:inline-flex;align-items:center;z-index:2}.inspector .inspector-info:hover,.inspector .inspector-info:focus-within{z-index:2000}.inspector .inspector-info__icon{width:18px;height:18px;border-radius:999px;border:1px solid rgba(125,211,252,.65);background:#0e749059;color:#e0f2fe;font-size:11px;font-weight:700;line-height:1;display:inline-flex;align-items:center;justify-content:center;cursor:help;padding:0}.inspector .inspector-info__icon:focus-visible{outline:2px solid rgba(125,211,252,.95);outline-offset:1px}.inspector .inspector-info__tooltip{position:absolute;top:calc(100% + 8px);right:0;z-index:2001;min-width:220px;max-width:min(320px,74vw);padding:8px 10px;border-radius:10px;border:1px solid rgba(125,211,252,.45);background:#020617f5;box-shadow:0 10px 30px #00000073;color:#e2e8f0;display:flex;flex-direction:column;gap:4px;opacity:0;pointer-events:none;transform:translateY(6px);transition:opacity .15s ease,transform .15s ease}.inspector .inspector-info__tooltip b{color:#f8fafc;font-size:11px}.inspector .inspector-info__tooltip span{color:#cbd5e1;font-size:11px;line-height:1.35}.inspector .inspector-info:hover .inspector-info__tooltip,.inspector .inspector-info:focus-within .inspector-info__tooltip{opacity:1;transform:translateY(0)}.inspector input,.inspector select{font-size:11px;min-height:var(--inspector-control-height);padding:5px 8px;border-radius:8px;border:1px solid var(--line);background:#0f172ae6;color:var(--text);width:100%;box-sizing:border-box}.inspector .inspector-color-picker{position:relative;margin-top:4px}.inspector .inspector-color-picker__trigger{width:100%;min-height:var(--inspector-control-height);display:flex;align-items:center;gap:8px;padding:5px 9px;border-radius:8px;border:1px solid var(--line);background:#0f172aeb;color:var(--text);cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.inspector .inspector-color-picker__trigger:hover{border-color:#7dd3fcb3;box-shadow:0 0 0 2px #38bdf82e}.inspector .inspector-color-picker__trigger.is-open{border-color:#7dd3fce6;box-shadow:0 0 0 2px #38bdf84d}.inspector .inspector-color-picker__swatch{width:16px;height:16px;flex:0 0 auto;border-radius:4px;border:1px solid rgba(148,163,184,.7);box-shadow:inset 0 0 0 1px #0f172a40}.inspector .inspector-color-picker__name{flex:1;min-width:0;font-size:11px;text-align:left}.inspector .inspector-color-picker__caret{font-size:10px;opacity:.75}.inspector .inspector-color-popover{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:4200;display:flex;flex-direction:column;gap:4px;max-height:190px;overflow:auto;padding:7px;border-radius:8px;border:1px solid rgba(148,163,184,.45);background:#020617fa;box-shadow:0 10px 24px #0206178c}.inspector .inspector-color-popover__option{width:100%;min-height:28px;display:flex;align-items:center;gap:8px;padding:4px 7px;border-radius:7px;border:1px solid transparent;background:#1e293b73;color:var(--text);cursor:pointer;transition:border-color .15s ease,background .15s ease}.inspector .inspector-color-popover__option:hover{border-color:#94a3b8a6;background:#33415599}.inspector .inspector-color-popover__option.is-active{border-color:#7dd3fcf2;background:#0e749040;box-shadow:0 0 0 1px #7dd3fc52}.inspector .inspector-color-popover__swatch{width:14px;height:14px;flex:0 0 auto;border-radius:4px;border:1px solid rgba(148,163,184,.7);box-shadow:inset 0 0 0 1px #0f172a3d}.inspector .inspector-color-popover__name{flex:1;min-width:0;font-size:11px;text-align:left}.inspector .inspector-color-popover__default{font-size:10px;color:#bfdbfe;border:1px solid rgba(191,219,254,.45);border-radius:999px;padding:1px 6px}.inspector .row{display:grid;grid-template-columns:repeat(auto-fit,minmax(108px,1fr));gap:6px;align-items:end}.inspector .row label{min-width:0}.inspector .range{display:flex;align-items:center;gap:6px}.inspector input[type=range]{flex:1;accent-color:var(--brand)}.inspector .range .hint{min-width:50px;text-align:right;color:var(--text)}.inspector .checkbox{display:flex;flex-direction:row;align-items:center;gap:6px;min-height:var(--inspector-control-height)}.inspector input[type=checkbox]{accent-color:var(--brand);width:auto}.inspector .hint{font-size:11px;color:var(--muted)}.inspector>section.inspector-alerts,.inspector>section.inspector-system-rules{padding:8px}@media(max-width:1366px){.topbar{padding-inline:14px}.topbar-left{gap:8px}.topbar-project{margin-left:10px;gap:6px}.topbar-project input{min-width:130px;max-width:220px}.page--editor{padding:10px 10px 12px}.editor-main,.editor-header-row{gap:8px}.layer-tabs{padding:6px 8px}.drawing-toolbar--top{padding:6px 8px 6px 10px}.inspector{width:clamp(200px,25vw,250px);min-width:200px;padding:10px 10px 12px;gap:8px}.canvas-shell .toolbar{padding:6px 8px;gap:6px}.canvas-shell .toolbar .toolbar-row{gap:6px}.network-diagram-layout{grid-template-columns:290px minmax(0,1fr)}}@media(max-height:860px)and (min-width:961px){.topbar{min-height:54px;padding-block:4px}.topbar-logo{height:30px}.topbar-title span:first-child{font-size:11px}.topbar-title span:last-child{font-size:13px}.page--editor{padding:8px 10px 10px}.editor-main,.editor-header-row{gap:6px}.layer-tabs{padding:5px 7px}.layer-tabs button{padding:6px 10px}.drawing-toolbar--top{padding:5px 7px 5px 9px}.inspector{width:clamp(190px,22vw,230px);min-width:190px;padding:8px 8px 10px}.canvas-shell .toolbar{padding:5px 7px}.canvas-zoom-controls{right:8px;bottom:8px;transform:scale(.94);transform-origin:right bottom}}@media(max-width:960px){.editor-header-row{flex-direction:column;align-items:stretch}.drawing-toolbar--top{margin-left:0;flex-wrap:wrap;padding-left:10px}.drawing-toolbar--top:before{display:none}.editor-drawing-layout{flex-direction:column}.network-diagram-layout{grid-template-columns:1fr;height:auto;min-height:0}.network-diagram-sidebar{max-height:42vh}.network-diagram-canvas-wrap{min-height:520px}.network-diagram-toolbar__zoom{margin-left:0;width:100%}.network-schematic-layout{height:auto;min-height:0}.network-schematic-canvas-wrap{min-height:520px}.network-schematic-toolbar__meta{margin-left:0;width:100%}.inspector{width:100%;max-width:none;order:-1;height:auto}}.tool-card{background:#ffffff0f;border:1px solid rgba(148,163,184,.25);border-radius:14px;padding:10px 12px;display:flex;flex-direction:column;gap:6px;box-shadow:0 10px 28px #00000040;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);max-width:520px;min-width:300px}.tool-card__title{font-size:12px;font-weight:800;color:#e5e7eb;letter-spacing:.06em;text-transform:uppercase}.tool-card__hint{font-size:12px;color:#e5e7ebcc;line-height:1.35;white-space:normal}.tool-card__row{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;flex-wrap:wrap}.tool-card__field{display:flex;flex-direction:column;gap:6px;min-width:180px}.tool-card__field--wide{min-width:320px;flex:1 1 320px}.tool-card__field span{font-size:11px;color:#e5e7ebcc;font-weight:700}.tool-card__field input,.tool-card__field select{height:34px;padding:0 10px;border:1px solid rgba(148,163,184,.35);border-radius:10px;outline:none;background:#0f172a8c!important;color:#fff}.tool-card__field input:focus,.tool-card__field select:focus{border-color:#93c5fdbf;box-shadow:0 0 0 4px #93c5fd2e}.tool-card__field input[type=color]{padding:2px;min-width:56px}.tool-card-checklist{display:grid;grid-template-columns:repeat(2,minmax(150px,1fr));gap:6px}.tool-card-checklist__item{height:34px;border-radius:10px;border:1px solid rgba(148,163,184,.35);background:#0f172a8c;color:#e5e7eb;display:flex;align-items:center;gap:8px;padding:0 10px;font-size:12px;font-weight:700;cursor:pointer;text-align:left}.tool-card-checklist__item:hover{border-color:#93c5fda6;background:#1e293bcc}.tool-card-checklist__item.is-selected{border-color:#2563ebe6;background:#2563eb3d;box-shadow:0 0 0 3px #2563eb29}.tool-card-checklist__check{width:16px;height:16px;border-radius:6px;border:1px solid rgba(148,163,184,.45);display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:900;color:#fff;background:#0f172aa6;flex:0 0 auto}.tool-card-checklist__item.is-selected .tool-card-checklist__check{border-color:#bfdbfef2;background:#2563ebf2}.tool-card__actions{display:flex;gap:8px}.tool-card__meta{font-size:11px;color:#e5e7ebcc;margin-left:auto}.tool-card__meta--stack{display:flex;flex-direction:column;gap:2px;margin-left:0}.tool-card__split{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:10px}.tool-card__section{border:1px solid rgba(148,163,184,.25);border-radius:10px;padding:8px;background:#0f172a59;display:flex;flex-direction:column;gap:8px}.tool-card__section-title{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:#e5e7eb}.coverage-sim-panel{width:min(100%,980px);max-width:min(980px,calc(100vw - 40px));min-width:0;max-height:min(78vh,860px);overflow:auto;padding-right:4px}.coverage-sim-panel__head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.coverage-sim-panel__settings{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px}.coverage-sim-panel .tool-card__field{min-width:0}.coverage-sim-panel .tool-card__actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px}.coverage-sim-panel .btn{min-height:34px;height:auto;padding:8px 10px;white-space:normal;line-height:1.25;justify-content:center;text-align:center}.coverage-sim-panel__check{min-height:34px;border:1px solid rgba(148,163,184,.35);border-radius:10px;background:#0f172a8c;color:#e5e7ebe6;display:inline-flex;align-items:center;gap:8px;padding:0 10px;font-size:11px;font-weight:600}.coverage-sim-panel__check input{width:14px;height:14px;accent-color:#38bdf8}.coverage-sim-panel__area{border:1px solid rgba(148,163,184,.26);border-radius:12px;background:#02061752;padding:10px;display:grid;gap:6px}.coverage-sim-panel__area h4{margin:0;font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:#e5e7eb}.coverage-sim-panel__area p{margin:0;font-size:11px;color:#e2e8f0e0}.coverage-sim-panel__area small{font-size:10px;color:#cbd5e1e6}.coverage-sim-panel__area-actions{margin-top:2px;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}.coverage-sim-panel__error{margin:0;font-size:12px;color:#fecaca}.coverage-sim-panel__preview-note{margin:-2px 0 0;font-size:11px;color:#93c5fd}.coverage-sim-panel__empty{margin:0;font-size:12px;color:#e5e7ebcc}.coverage-sim-panel__results{display:grid;gap:10px}.coverage-sim-panel__meta{display:grid;gap:4px}.coverage-sim-panel__meta small{color:#e2e8f0db;font-size:11px}.coverage-sim-panel__method-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px}.coverage-sim-panel__method-card{border:1px solid rgba(148,163,184,.35);background:#0f172a8c;border-radius:10px;padding:8px;text-align:left;color:#e5e7eb;display:grid;gap:3px;cursor:pointer}.coverage-sim-panel__method-card:hover{border-color:#38bdf88c;background:#1e293bb8}.coverage-sim-panel__method-card.is-selected{border-color:#38bdf8d9;box-shadow:0 0 0 3px #38bdf82e}.coverage-sim-panel__method-card strong{font-size:12px;letter-spacing:.04em;text-transform:uppercase}.coverage-sim-panel__method-card span{font-size:11px;color:#e2e8f0e6}.coverage-sim-panel__manual-note{margin:-2px 0 0;font-size:11px;color:#e2e8f0c7}.coverage-sim-panel__details{display:grid;grid-template-columns:minmax(220px,260px) minmax(280px,1fr);gap:10px}.coverage-sim-panel__camera-list h4,.coverage-sim-panel__map h4{margin:0 0 6px;font-size:11px;letter-spacing:.05em;color:#e5e7eb;text-transform:uppercase}.coverage-sim-panel__camera-scroll{max-height:220px;overflow:auto;border:1px solid rgba(148,163,184,.28);border-radius:10px;background:#02061759;padding:8px;display:grid;gap:5px;font-size:11px;color:#e2e8f0eb}.coverage-sim-panel__camera-scroll small{color:#94a3b8f2}.coverage-sim-panel__map svg{width:100%;height:220px;display:block;border-radius:12px;border:1px solid rgba(148,163,184,.3);background:#0206176b}.coverage-sim-panel__map svg rect{fill:#0f172ab8}.coverage-sim-panel__map .is-covered{fill:#22c55ed1}.coverage-sim-panel__map .is-overlap{fill:#fbbf24e0}.coverage-sim-panel__map .is-uncovered{fill:#f871718c}.coverage-sim-panel__map .is-candidate{fill:#94a3b873}.coverage-sim-panel__map .is-obstacle{fill:#64748bd9}.coverage-sim-panel__map .is-selected{fill:#0ea5e9f2;stroke:#bae6fdf2;stroke-width:.8}.coverage-sim-panel__legend{margin-top:6px;display:flex;flex-wrap:wrap;gap:8px}.coverage-sim-panel__legend span{font-size:10px;letter-spacing:.04em}.coverage-sim-panel__legend .legend-covered{color:#86efac}.coverage-sim-panel__legend .legend-overlap{color:#fde68a}.coverage-sim-panel__legend .legend-uncovered{color:#fca5a5}.coverage-sim-panel__legend .legend-selected{color:#7dd3fc}.coverage-sim-panel__saved,.coverage-sim-panel__comparison{border:1px solid rgba(148,163,184,.26);border-radius:12px;background:#0206174d;padding:10px;display:grid;gap:8px}.coverage-sim-panel__saved h4,.coverage-sim-panel__comparison h4{margin:0;font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:#e5e7eb}.coverage-sim-panel__comparison p{margin:0;font-size:11px;color:#e2e8f0e0}.coverage-sim-panel__saved-list{display:grid;gap:8px;max-height:260px;overflow:auto}.coverage-sim-panel__saved-item{border:1px solid rgba(148,163,184,.24);border-radius:10px;background:#0f172a85;padding:8px;display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}.coverage-sim-panel__saved-item div{display:grid;gap:2px}.coverage-sim-panel__saved-item b{font-size:12px;color:#e5e7eb}.coverage-sim-panel__saved-item small{font-size:10px;color:#e2e8f0c7}.coverage-sim-panel__compare-selectors{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px}.coverage-sim-panel__compare-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:8px}.coverage-sim-panel__compare-card{border:1px solid rgba(148,163,184,.28);border-radius:12px;background:#0f172a8f;padding:10px;display:grid;gap:8px}.coverage-sim-panel__compare-card header{display:grid;gap:2px}.coverage-sim-panel__compare-card b{font-size:12px;color:#e5e7eb}.coverage-sim-panel__compare-card small{font-size:10px;color:#94a3b8f5}.coverage-sim-panel__compare-card ul{margin:0;padding-left:16px;display:grid;gap:4px}.coverage-sim-panel__compare-card li{font-size:11px;color:#e2e8f0f0}.coverage-sim-panel__compare-card li.is-best{color:#86efac;font-weight:700}.coverage-sim-panel__compare-card svg{width:100%;height:200px;display:block;border-radius:10px;border:1px solid rgba(148,163,184,.24);background:#0206176b}.coverage-sim-panel__compare-card svg rect{fill:#0f172ab8}@media(max-width:960px){.tool-card__split,.tool-card-checklist,.coverage-sim-panel__details,.coverage-sim-panel__saved-item{grid-template-columns:1fr}}@media(max-width:760px){.coverage-sim-panel{max-height:min(72vh,760px)}.coverage-sim-panel .tool-card__actions{grid-template-columns:1fr}}.btn{height:34px;padding:0 12px;border-radius:10px;border:1px solid rgba(148,163,184,.35);background:#1f2937d9;font-weight:800;font-size:12px;letter-spacing:.04em;color:#e5e7eb;cursor:pointer}.btn:hover{background:#374151f2}.btn-primary{border-color:#2563ebe6;background:#2563ebf2;color:#fff}.btn-primary:hover{background:#1d4ed8}.btn:disabled{opacity:.55;cursor:not-allowed}.tool-card--recommendation{max-width:min(1080px,100%);min-width:min(340px,100%);max-height:none;overflow:visible}.camera-recommendation-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px;align-items:end}.camera-recommendation-form__checkbox{display:flex;align-items:center;gap:8px;min-height:34px;font-size:12px;font-weight:700;color:#e2e8f0}.camera-recommendation-form__checkbox input{width:auto;accent-color:var(--brand)}.camera-recommendation-results{margin-top:8px;border-top:1px solid rgba(148,163,184,.28);padding-top:8px;display:flex;flex-direction:column;gap:8px}.camera-recommendation-results__head{display:flex;flex-direction:column;gap:4px}.camera-recommendation-results__head h3{margin:0;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:#f8fafc}.camera-recommendation-results__head small{color:#e2e8f0c7;font-size:11px}.camera-recommendation-results__warnings{margin:0;padding:8px 10px;list-style:none;border-radius:10px;border:1px solid rgba(251,191,36,.35);background:#78350f33;color:#fde68a;font-size:11px;display:flex;flex-direction:column;gap:4px}.camera-recommendation-grid{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:8px}.camera-recommendation-card{border:1px solid rgba(148,163,184,.3);border-radius:12px;background:#0f172a9e;padding:9px;display:flex;flex-direction:column;gap:7px}.camera-recommendation-card--empty{justify-content:center;color:#e2e8f0ad}.camera-recommendation-card header{display:flex;align-items:center;justify-content:space-between;gap:8px}.camera-recommendation-card header h4{margin:0;font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:#e2e8f0}.camera-recommendation-card header b{font-size:12px;color:#93c5fd}.camera-recommendation-card__model{display:flex;justify-content:space-between;align-items:baseline;gap:8px;font-size:12px}.camera-recommendation-card__model strong{color:#f8fafc}.camera-recommendation-card__model span{color:#93c5fd;font-weight:700;white-space:nowrap}.camera-recommendation-card__metrics{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.camera-recommendation-card__metrics li{display:flex;flex-direction:column;gap:1px}.camera-recommendation-card__metrics span{font-size:10px;color:#e2e8f0b8}.camera-recommendation-card__metrics b{font-size:12px;color:#f8fafc}.camera-recommendation-card__explanation{margin:0;font-size:11px;line-height:1.35;color:#e2e8f0db;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.camera-recommendation-card__warnings{margin:0;padding-left:16px;color:#fdba74;font-size:11px;line-height:1.35;display:flex;flex-direction:column;gap:2px}.camera-recommendation-ranking{border:1px solid rgba(148,163,184,.3);border-radius:12px;padding:8px;background:#0f172a8c}.camera-recommendation-ranking h4{margin:0 0 6px;font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:#cbd5e1}.camera-recommendation-ranking small{display:block;margin:0 0 8px;font-size:11px;color:#e2e8f0c7}.camera-recommendation-ranking__table{overflow-x:auto}.camera-recommendation-ranking table{width:100%;border-collapse:collapse;min-width:420px;font-size:11px}.camera-recommendation-ranking th,.camera-recommendation-ranking td{border:1px solid rgba(148,163,184,.22);padding:5px 6px;text-align:left}.camera-recommendation-ranking th{color:#e2e8f0d1;text-transform:uppercase;letter-spacing:.05em;font-size:10px}.feature-status-panel{border:1px solid var(--app-card-border);border-radius:14px;background:color-mix(in srgb,var(--app-card-bg) 82%,transparent);box-shadow:var(--app-card-shadow);padding:12px}.feature-status-panel.is-compact{padding:10px}.feature-status-panel h4{margin:0;font-size:12px;letter-spacing:.04em;text-transform:uppercase}.feature-status-panel p{margin:6px 0 0;color:var(--muted);font-size:11px}.feature-status-panel__list{margin:10px 0 0;padding:0;list-style:none;display:grid;gap:8px}.feature-status-panel__list li{border:1px solid rgba(148,163,184,.24);border-radius:10px;padding:8px 10px;background:color-mix(in srgb,var(--app-control-bg-alt) 56%,transparent)}.feature-status-panel__item-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.feature-status-panel__item-head strong{font-size:11px}.feature-status-panel__list li small{display:block;margin-top:4px;font-size:10px;color:var(--muted)}.feature-status-badge{display:inline-flex;align-items:center;justify-content:center;min-height:22px;padding:0 9px;border-radius:999px;border:1px solid rgba(148,163,184,.34);font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.feature-status-badge--implemented{color:#bbf7d0;border-color:#22c55e73;background:#16653447}.feature-status-badge--partial{color:#fde68a;border-color:#f59e0b8c;background:#92400e4d}.feature-status-badge--planned,.feature-status-badge--not-yet-implemented{color:#bfdbfe;border-color:#3b82f680;background:#1e3a8a57}.feature-status-badge--experimental{color:#f5d0fe;border-color:#d946ef70;background:#7e22ce47}@media(max-width:900px){.camera-recommendation-grid{grid-template-columns:1fr}}@media(max-width:780px){.ai-panel-anchor{inset:52px 8px 8px}.tool-card--recommendation{min-width:100%}.camera-recommendation-grid{grid-template-columns:1fr}}.camera-vert-wrapper{border-radius:8px;overflow:hidden}.camera-vert-wrapper:fullscreen{display:flex;flex-direction:column;background:var(--bg-card, #1a1f2e);padding:20px;gap:16px}.camera-vert-wrapper:fullscreen svg{flex:1;max-height:70vh}[data-theme=white] .camera-vert-wrapper{background:#f0f4f8}[data-theme=white] .camera-vert-wrapper svg text{fill:#334155}.license-page{padding:20px;max-width:800px;margin:0 auto;font-family:Inter,sans-serif}.license-card,.license-actions,.license-history{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:20px;margin-bottom:20px;box-shadow:0 1px 3px #0000000d}.license-page h1{font-size:24px;margin-bottom:24px;color:#1e293b}.license-page h2{font-size:18px;margin-bottom:16px;color:#334155;border-bottom:1px solid #e2e8f0;padding-bottom:8px}.license-card ul{list-style:none;padding:0;margin:0}.license-card li{padding:8px 0;border-bottom:1px solid #f1f5f9;display:flex;justify-content:space-between}.license-card li:last-child{border-bottom:none}.alert{padding:12px 16px;border-radius:6px;margin-top:16px;font-weight:500}.alert-warning{background:#fffbeb;color:#b45309;border:1px solid #fde68a}.alert-error{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}.action-buttons{display:flex;gap:12px}.action-buttons button,.license-actions button{background:#4f46e5;color:#fff;border:none;padding:10px 16px;border-radius:6px;cursor:pointer;font-weight:500;transition:background .2s}.action-buttons button:hover,.license-actions button:hover{background:#4338ca}.action-buttons button:disabled{background:#94a3b8;cursor:not-allowed}.license-history table{width:100%;border-collapse:collapse}.license-history th,.license-history td{padding:12px;text-align:left;border-bottom:1px solid #e2e8f0}.license-history th{background:#f8fafc;font-weight:600;color:#475569}
