:root {
  color-scheme: light;
  --bg-page:#ECEFF2; --bg-surface:#F4F6F8; --bg-card:#FBFCFD; --bg-raised:#EEF2F5;
  --ink-hi:rgba(12,16,21,.92); --ink-mid:rgba(12,16,21,.66); --ink-low:rgba(12,16,21,.58); --ink-faint:rgba(12,16,21,.22);
  --line:rgba(12,16,21,.10); --line-strong:rgba(12,16,21,.19); --edge-light:transparent;
  --inv-bg:#111820; --inv-ink:rgba(255,255,255,.94); --inv-soft:rgba(255,255,255,.66); --inv-chip:rgba(255,255,255,.09);
  --id-mint:#087A5B; --id-azure:#245DAF; --id-coral:#B64722; --id-sage:#5C743A; --tile-ink:#F8FBFA;
  --st-up:#0B7D50; --st-warn:#8D630F; --st-down:#B83224;
  --preview-sky:#1B2A36; --preview-star:#D8E3E7; --preview-back:#283B43; --preview-front:#17282D; --preview-road:#38474A; --preview-object:#D5DFD9;
  --fill-wash:rgba(12,16,21,.05);
  --el-card:0 1px 2px rgba(20,29,38,.05),0 7px 20px -13px rgba(20,29,38,.17);
  --el-panel:0 2px 5px rgba(20,29,38,.05),0 28px 58px -36px rgba(20,29,38,.20);
  --fw-display:400;
  --r-chip:4px; --r-tile:8px; --r-card:10px; --r-panel:14px; --r-pill:999px;
  --font-ui:"Instrument Sans","General Sans","Geist",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --font-mono:"Geist Mono","JetBrains Mono",ui-monospace,SFMono-Regular,monospace;
  --ease:cubic-bezier(.2,.8,.2,1); --t-micro:120ms; --t-element:220ms; --t-panel:380ms;
}
[data-theme="dark"] {
  color-scheme:dark;
  --bg-page:#090B0E; --bg-surface:#0F1216; --bg-card:#151A1F; --bg-raised:#1C2229;
  --ink-hi:rgba(255,255,255,.94); --ink-mid:rgba(255,255,255,.58); --ink-low:rgba(255,255,255,.47); --ink-faint:rgba(255,255,255,.24);
  --line:rgba(255,255,255,.075); --line-strong:rgba(255,255,255,.14); --edge-light:rgba(255,255,255,.06);
  --inv-bg:#F2F0E7; --inv-ink:#12171B; --inv-soft:rgba(18,23,27,.68); --inv-chip:rgba(18,23,27,.08);
  --id-mint:#2BC293; --id-azure:#5A94F2; --id-coral:#F27C55; --id-sage:#BCD293; --tile-ink:#0B0E11;
  --st-up:#41CE94; --st-warn:#E2B65C; --st-down:#FF7668;
  --preview-sky:#121B22; --preview-star:#C8D8DF; --preview-back:#26383E; --preview-front:#18282D; --preview-road:#334347; --preview-object:#E4E7DE;
  --fill-wash:rgba(255,255,255,.045);
  --el-card:inset 0 1px 0 var(--edge-light),0 1px 2px rgba(0,0,0,.36),0 8px 24px -14px rgba(0,0,0,.60);
  --el-panel:inset 0 1px 0 var(--edge-light),0 24px 64px -32px rgba(0,0,0,.82);
  --fw-display:300;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg-page);color:var(--ink-hi);font:400 14px/1.45 var(--font-ui);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
button,input{font:inherit;color:inherit}button{border:0;background:none;cursor:pointer}h1,h2,h3,p{margin:0}svg{display:block}.ic{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.icon-sprite{position:absolute;width:0;height:0;overflow:hidden}
:where(button,input):focus-visible{outline:2px solid var(--ink-hi);outline-offset:2px}.invert :where(button,input):focus-visible{outline-color:var(--inv-ink)}
.app-shell{margin:16px;min-height:calc(100vh - 32px);display:grid;grid-template-columns:224px minmax(0,1fr);background:var(--bg-surface);border:1px solid var(--line);border-radius:var(--r-panel);box-shadow:var(--el-panel);overflow:hidden}
.sidebar{padding:20px 16px 16px;border-right:1px solid var(--line);display:flex;flex-direction:column;min-height:calc(100vh - 34px)}
.brand{height:44px;display:flex;align-items:center;gap:10px;font-size:15px;font-weight:500;letter-spacing:-.01em}.brand-mark{width:32px;height:32px;border-radius:var(--r-tile);background:var(--id-mint);color:var(--tile-ink);display:grid;place-items:center}.brand-mark svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5}
nav{display:grid;gap:4px;margin-top:26px}.nav-item{width:100%;min-height:44px;padding:0 10px;border-radius:var(--r-tile);display:flex;align-items:center;gap:10px;color:var(--ink-mid);text-align:left}.nav-item span:nth-child(2){flex:1}.nav-item.active{background:var(--bg-raised);color:var(--ink-hi)}.nav-item:hover{background:var(--bg-raised)}.nav-count{font:500 11px var(--font-mono);color:var(--ink-low)}
.invert{background:var(--inv-bg);color:var(--inv-ink)}.access-card{margin-top:auto;border-radius:var(--r-card);padding:14px;display:grid;gap:8px}.access-card>svg{margin-bottom:4px}.access-card p{font-size:13px}.access-card span{color:var(--inv-soft);font-size:11px;line-height:1.45}
.sidebar-user{border-top:1px solid var(--line);margin-top:16px;padding-top:16px;display:flex;align-items:center;gap:10px}.avatar{width:32px;height:32px;border-radius:var(--r-pill);display:grid;place-items:center;background:var(--bg-raised);font-size:11px}.sidebar-user>span:last-child{display:grid;gap:1px}.sidebar-user strong{font-size:12px;font-weight:500}.sidebar-user small{font-size:10px;color:var(--ink-low)}
.workspace{min-width:0}.topbar{height:68px;border-bottom:1px solid var(--line);padding:0 24px;display:flex;align-items:center;gap:16px}.mobile-brand{display:none}.search-box{width:min(420px,45vw);height:38px;border:1px solid var(--line);background:var(--bg-card);border-radius:var(--r-card);display:flex;align-items:center;gap:9px;padding:0 12px;color:var(--ink-low)}.search-box input{border:0;outline:0;background:transparent;width:100%;font-size:13px}.search-box input::placeholder{color:var(--ink-low)}.top-actions{margin-left:auto;display:flex;align-items:center;gap:8px}.privacy-status,.secure-status{font-size:11px;color:var(--ink-low);display:flex;gap:7px;align-items:center;margin-right:4px}.privacy-status{padding:5px 8px;border-radius:var(--r-pill);background:var(--bg-raised)}.privacy-status .ic{width:14px;height:14px}.secure-status>span{width:7px;height:7px;border-radius:50%;background:var(--st-up)}.glyph-button{width:44px;height:44px;display:grid;place-items:center;border-radius:var(--r-tile);color:var(--ink-mid)}.glyph-button:hover{background:var(--bg-raised);color:var(--ink-hi)}
.main-content{padding:32px 24px 24px}.page-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,390px);gap:32px;align-items:end;padding:12px 0 36px}.micro-label{font-size:10px;line-height:1.3;color:var(--ink-low);letter-spacing:.02em}.page-heading h1{font-size:clamp(34px,4vw,57px);line-height:.98;letter-spacing:-.035em;font-weight:var(--fw-display);margin-top:12px}.heading-note{color:var(--ink-mid);max-width:390px;padding-bottom:3px}
.overview-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,.7fr);gap:16px}.integrity-card,.summary-card{border-radius:var(--r-panel);padding:20px 22px;min-height:202px}.integrity-card{display:flex;flex-direction:column}.section-heading,.summary-top,.panel-heading,.preview-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.section-heading .micro-label,.integrity-card footer{color:var(--inv-soft)}.section-heading h2{font-size:19px;font-weight:500;letter-spacing:-.012em;margin-top:4px}.status-chip{padding:5px 8px;border-radius:var(--r-pill);background:var(--inv-chip);font-size:10px;display:flex;align-items:center;gap:6px;white-space:nowrap}.status-chip .ic{width:14px;height:14px}
.custody-chain{display:grid;grid-template-columns:auto 1fr auto 1fr auto 1fr auto;align-items:center;margin:28px 0 24px}.chain-step{display:flex;align-items:center;gap:9px}.chain-step>span{width:29px;height:29px;border-radius:var(--r-tile);display:grid;place-items:center;background:var(--inv-chip);font:500 9px var(--font-mono)}.chain-step.current>span{background:var(--inv-ink);color:var(--inv-bg)}.chain-step p{font-size:11px}.chain-step small{display:block;color:var(--inv-soft);font-size:9px;margin-top:2px;white-space:nowrap}.chain-line{height:1px;border-top:1px dashed var(--inv-soft);opacity:.55;margin:0 10px}.integrity-card footer{margin-top:auto;padding-top:12px;border-top:1px solid var(--inv-chip);display:flex;align-items:center;justify-content:space-between;font-size:10px}.integrity-card code{font:500 10px var(--font-mono);color:var(--inv-ink)}.integrity-card footer button{display:flex;align-items:center;gap:6px;color:var(--inv-ink);font-size:10px;min-height:32px}.integrity-card footer .ic{width:14px;height:14px}
.summary-card{background:var(--bg-card);border:1px solid var(--line);box-shadow:var(--el-card);display:flex;flex-direction:column}.live-dot{font-size:10px;color:var(--st-up);display:flex;align-items:center;gap:5px}.live-dot::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--st-up)}.kpi-row{display:flex;align-items:baseline;gap:8px;margin-top:24px}.kpi-value{font-size:clamp(27px,2.8vw,41px);letter-spacing:-.03em;font-weight:var(--fw-display)}.kpi-row>span:not(.kpi-value){font-size:10px;color:var(--ink-low)}.kpi-row i{width:1px;height:35px;background:var(--line);margin:0 5px;align-self:center}.summary-meter{height:3px;border-radius:var(--r-pill);background:var(--bg-raised);overflow:hidden;margin-top:auto}.summary-meter span{display:block;height:100%;width:var(--value);background:var(--id-mint)}.summary-card>p{font-size:10px;color:var(--ink-low);margin-top:10px}.summary-card strong{color:var(--ink-mid);font-weight:500}
.viewer-grid{display:grid;grid-template-columns:320px minmax(0,1fr);gap:16px;margin-top:16px}.materials-panel,.preview-panel{background:var(--bg-card);border:1px solid var(--line);border-radius:var(--r-panel);box-shadow:var(--el-card)}.materials-panel{padding:18px 10px 10px;min-height:548px}.panel-heading{padding:0 8px 14px}.panel-heading h2,.preview-heading h2{font-size:18px;font-weight:500;letter-spacing:-.012em;margin-top:3px}.panel-heading>span{font-size:10px;color:var(--ink-low);padding-top:4px}.filter-tabs{display:flex;gap:17px;border-bottom:1px solid var(--line);padding:0 8px;margin-bottom:5px}.filter-tabs button{position:relative;min-height:36px;color:var(--ink-low);font-size:11px}.filter-tabs button.active{color:var(--ink-hi)}.filter-tabs button.active::after{content:"";position:absolute;left:3px;right:3px;bottom:-1px;height:2px;background:var(--ink-hi);border-radius:var(--r-pill)}
.material-list{max-height:462px;overflow:auto;overscroll-behavior:contain;padding:5px 0}.material-item{width:100%;padding:12px 10px;border-radius:var(--r-card);display:grid;grid-template-columns:34px 1fr auto;gap:10px;align-items:start;text-align:left;border:1px solid transparent;transition:transform var(--t-element) var(--ease),border-color var(--t-element) var(--ease),background var(--t-element) var(--ease)}.material-item:hover{transform:translateY(-1px);background:var(--bg-raised)}.material-item.active{background:var(--fill-wash);border-color:var(--line-strong)}.material-icon{width:32px;height:32px;border-radius:var(--r-tile);display:grid;place-items:center;color:var(--tile-ink);background:var(--entity)}.material-icon .ic{width:16px;height:16px}.material-copy{min-width:0}.material-copy strong{display:block;font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.material-copy span{display:block;font-size:10px;color:var(--ink-low);margin-top:3px}.material-meta{font:500 9px var(--font-mono);color:var(--ink-low);white-space:nowrap;padding-top:2px}.empty-list{padding:28px 10px;color:var(--ink-low);font-size:12px}
.preview-panel{padding:20px;min-width:0}.preview-heading{align-items:center}.preview-heading>div{min-width:0}.preview-heading h2{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.outline-button{min-height:38px;padding:0 12px;border:1px solid var(--line);border-radius:var(--r-tile);display:flex;align-items:center;gap:8px;font-size:10px;color:var(--ink-mid);white-space:nowrap}.outline-button:hover{border-color:var(--line-strong);background:var(--bg-raised)}.outline-button .ic{width:15px;height:15px}
.media-preview{position:relative;margin-top:18px;border-radius:var(--r-card);overflow:hidden;background:var(--preview-sky);aspect-ratio:2.09/1}.scene{width:100%;height:100%}.scene-sky{fill:var(--preview-sky)}.scene-star{fill:var(--preview-star);opacity:.64}.scene-hill-back{fill:var(--preview-back)}.scene-hill-front{fill:var(--preview-front)}.scene-road{fill:var(--preview-road)}.scene-object{fill:var(--preview-object)}.target-box{fill:none;stroke:var(--id-coral);stroke-width:1;stroke-dasharray:4 4}.target-corners{fill:none;stroke:var(--id-coral);stroke-width:2}.preview-watermark{position:absolute;left:16px;right:16px;bottom:10px;text-align:center;font:500 8px var(--font-mono);letter-spacing:.08em;color:rgba(255,255,255,.39);white-space:nowrap;overflow:hidden}.object-label,.frame-time{position:absolute;top:12px;padding:5px 7px;background:rgba(13,18,21,.74);color:rgba(255,255,255,.86);border-radius:var(--r-chip);font:500 9px var(--font-mono)}.object-label{left:12px}.frame-time{right:12px}.play-button{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:48px;height:48px;border-radius:var(--r-pill);background:rgba(245,247,242,.90);color:rgba(10,14,16,.90);display:grid;place-items:center}.play-button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.5}.play-button:active{transform:translate(-50%,-50%) scale(.985)}
.details-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:16px;border-top:1px solid var(--line)}.details-grid>div{padding:14px 12px 2px;border-right:1px solid var(--line);min-width:0}.details-grid>div:first-child{padding-left:0}.details-grid>div:last-child{border-right:0}.details-grid span,.details-grid small{display:block;color:var(--ink-low);font-size:9px}.details-grid strong{display:block;font-size:12px;font-weight:500;margin:5px 0 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,18px);padding:10px 14px;border-radius:var(--r-card);background:var(--inv-bg);color:var(--inv-ink);box-shadow:var(--el-panel);opacity:0;pointer-events:none;transition:opacity var(--t-element) var(--ease),transform var(--t-element) var(--ease);font-size:12px;z-index:20}.toast.show{opacity:1;transform:translate(-50%,0)}
.login-view{min-height:100vh;padding:24px;display:grid;place-items:center}.login-view[hidden]{display:none}.login-frame{width:min(980px,100%);min-height:610px;display:grid;grid-template-columns:1.08fr .92fr;background:var(--bg-surface);border:1px solid var(--line);border-radius:var(--r-panel);overflow:hidden;box-shadow:var(--el-panel)}.login-copy{padding:30px;display:flex;flex-direction:column;justify-content:space-between}.brand-invert .brand-mark{background:var(--inv-chip);color:var(--inv-ink)}.login-copy>.brand{color:var(--inv-ink)}.login-copy .micro-label{color:var(--inv-soft)}.login-copy h1{max-width:520px;font-size:clamp(36px,5vw,62px);font-weight:var(--fw-display);line-height:.98;letter-spacing:-.035em;margin:14px 0 20px}.login-copy>div:nth-child(2)>p:last-child{color:var(--inv-soft);max-width:430px}.login-trust{display:flex;align-items:center;gap:9px;color:var(--inv-soft);font-size:11px}.login-form{padding:48px;display:flex;flex-direction:column;justify-content:center;gap:18px}.login-form-head{margin-bottom:14px}.login-form-head h2{font-size:24px;font-weight:500;letter-spacing:-.02em;margin:5px 0 8px}.login-form-head>p:last-child{color:var(--ink-mid);font-size:12px}.login-form label{display:grid;gap:7px;font-size:11px;color:var(--ink-mid)}.login-form input{height:44px;border:1px solid var(--line);background:var(--bg-card);border-radius:var(--r-card);padding:0 12px;outline:0}.login-form input:focus{border-color:var(--line-strong)}.primary-button{height:46px;background:var(--inv-bg);color:var(--inv-ink);border-radius:var(--r-card);display:flex;align-items:center;justify-content:center;gap:8px;margin-top:4px}.form-note{font-size:10px;color:var(--ink-low);text-align:center}
[data-theme-transition] *,[data-theme-transition] *::before,[data-theme-transition] *::after{transition:background-color 220ms var(--ease),color 220ms var(--ease),border-color 220ms var(--ease),fill 220ms var(--ease),stroke 220ms var(--ease)!important}
@media(max-width:1180px){.privacy-status{display:none}}
@media(max-width:1100px){.overview-grid{grid-template-columns:1fr}.summary-card{min-height:160px}.viewer-grid{grid-template-columns:280px minmax(0,1fr)}.details-grid{grid-template-columns:repeat(2,1fr)}.details-grid>div:nth-child(2){border-right:0}.details-grid>div:nth-child(n+3){border-top:1px solid var(--line)}.heading-note{max-width:320px}.custody-chain{overflow-x:auto}}
@media(max-width:820px){.app-shell{margin:0;min-height:100vh;border:0;border-radius:0;display:block}.sidebar{display:none}.topbar{padding:0 16px;height:auto;min-height:68px;flex-wrap:wrap}.mobile-brand{display:flex}.search-box{order:2;width:100%;margin-bottom:12px}.secure-status{display:none}.main-content{padding:22px 16px}.page-heading{grid-template-columns:1fr;padding:8px 0 26px;gap:16px}.page-heading h1{font-size:42px}.heading-note{max-width:none}.viewer-grid{grid-template-columns:1fr}.materials-panel{min-height:auto}.material-list{max-height:300px}.login-frame{grid-template-columns:1fr}.login-copy{min-height:330px}.login-form{padding:32px}.custody-chain{grid-template-columns:1fr;gap:8px}.chain-line{height:16px;width:1px;border-top:0;border-left:1px dashed var(--inv-soft);margin-left:14px}.chain-step small{white-space:normal}.integrity-card{min-height:380px}}
@media(max-width:560px){.top-actions{gap:0}.topbar{column-gap:7px}.page-heading h1{font-size:36px}.overview-grid{gap:12px}.integrity-card,.summary-card,.preview-panel{padding:16px}.preview-heading{align-items:flex-start}.outline-button{width:40px;padding:0;justify-content:center}.outline-button{font-size:0}.details-grid{grid-template-columns:1fr 1fr}.media-preview{aspect-ratio:1.3/1}.scene{width:auto;max-width:none;height:100%;margin-left:-37%}.preview-watermark{font-size:6px}.login-view{padding:0}.login-frame{min-height:100vh;border:0;border-radius:0}.login-copy{padding:24px}.login-form{padding:28px 24px}.summary-card{min-height:170px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Центральная карта и временные панели */
.map-main{padding:16px;height:calc(100vh - 102px);min-height:700px;display:flex;flex-direction:column;gap:12px}.map-page-bar{height:58px;display:flex;align-items:center;gap:20px}.map-page-bar h1{font-size:26px;line-height:1.1;font-weight:var(--fw-display);letter-spacing:-.025em;margin-top:3px}.range-switch{display:flex;gap:4px;margin-left:auto;padding:3px;border-radius:var(--r-card);background:var(--bg-raised)}.range-switch button{height:32px;padding:0 11px;border-radius:var(--r-tile);font-size:10px;color:var(--ink-low)}.range-switch button.active{background:var(--bg-card);color:var(--ink-hi);box-shadow:var(--el-card)}.map-count{font-size:10px;color:var(--ink-low)}
.map-canvas{position:relative;flex:1;min-height:0;overflow:hidden;border:1px solid var(--line);border-radius:var(--r-panel);background:var(--bg-card);box-shadow:var(--el-card)}.map-spatial{--map-zoom:1;position:absolute;inset:0;transform:scale(var(--map-zoom));transform-origin:55% 43%;transition:transform var(--t-panel) var(--ease)}.map-art{width:100%;height:100%}.map-land{fill:var(--bg-raised)}.map-water{fill:var(--preview-back);opacity:.16}.map-water-line{fill:none;stroke:var(--id-azure);stroke-width:2;opacity:.32}.map-minor-roads,.map-major-roads,.sector-grid{fill:none;stroke:var(--line-strong)}.map-minor-roads{stroke-width:2}.map-major-roads{stroke-width:5;opacity:.65}.sector-grid{stroke-dasharray:6 9;stroke-width:1;opacity:.55}.map-labels text{fill:var(--ink-low);font:500 15px var(--font-mono)}.map-labels text:first-child{font-size:12px;letter-spacing:.04em}
.map-marker{position:absolute;left:var(--x);top:var(--y);width:46px;height:46px;transform:translate(-50%,-50%);border-radius:var(--r-pill);display:grid;place-items:center;background:var(--bg-card);border:1px solid var(--line-strong);box-shadow:var(--el-card);transition:transform var(--t-element) var(--ease),border-color var(--t-element) var(--ease)}.map-marker:hover,.map-marker.active{transform:translate(-50%,-50%) translateY(-1px);border-color:var(--entity)}.map-marker>span{width:16px;height:16px;border-radius:var(--r-pill);background:var(--entity);box-shadow:0 0 0 5px var(--marker-wash)}.map-marker>b{position:absolute;right:-3px;top:-3px;width:18px;height:18px;display:grid;place-items:center;border-radius:var(--r-pill);background:var(--inv-bg);color:var(--inv-ink);font:500 9px var(--font-mono)}.map-marker>small{position:absolute;top:49px;padding:3px 6px;border-radius:var(--r-chip);background:var(--bg-card);color:var(--ink-mid);font:500 9px var(--font-mono);white-space:nowrap;box-shadow:var(--el-card)}.marker-coral{--entity:var(--id-coral);--marker-wash:rgba(182,71,34,.15)}.marker-azure{--entity:var(--id-azure);--marker-wash:rgba(36,93,175,.14)}.marker-sage{--entity:var(--id-sage);--marker-wash:rgba(92,116,58,.14)}
.map-tools{position:absolute;left:316px;top:16px;display:grid;border:1px solid var(--line);border-radius:var(--r-tile);overflow:hidden;background:var(--bg-card);box-shadow:var(--el-card)}.map-tools button{width:38px;height:38px;font-size:18px}.map-tools button+button{border-top:1px solid var(--line)}.map-tools button:hover{background:var(--bg-raised)}.map-legend{position:absolute;left:316px;bottom:164px;display:flex;align-items:center;gap:14px;padding:8px 10px;border-radius:var(--r-card);background:var(--bg-card);border:1px solid var(--line);box-shadow:var(--el-card);font-size:9px;color:var(--ink-low)}.map-legend span{display:flex;align-items:center;gap:5px}.map-legend i{width:7px;height:7px;border-radius:50%}.legend-video{background:var(--id-coral)}.legend-sensor{background:var(--id-sage)}
.event-feed-panel{position:absolute;left:16px;top:16px;bottom:164px;width:284px;padding:16px 10px 10px;border-radius:var(--r-panel);background:var(--bg-card);border:1px solid var(--line);box-shadow:var(--el-panel);display:flex;flex-direction:column}.event-feed-panel>header{display:flex;justify-content:space-between;align-items:start;padding:0 6px 12px}.event-feed-panel h2,.day-calendar h2,.map-inspector h2{font-size:17px;font-weight:500;letter-spacing:-.015em;margin-top:3px}.event-feed-panel>header>span{min-width:27px;height:27px;padding:0 7px;border-radius:var(--r-pill);display:grid;place-items:center;background:var(--inv-bg);color:var(--inv-ink);font:500 10px var(--font-mono)}.event-feed{display:grid;gap:6px;overflow:auto;overscroll-behavior:contain}.feed-event{position:relative;width:100%;padding:11px 9px 11px 25px;border-radius:var(--r-card);text-align:left;border:1px solid transparent}.feed-event::before{content:"";position:absolute;left:9px;top:16px;width:7px;height:7px;border-radius:50%;background:var(--entity)}.feed-event::after{content:"";position:absolute;left:12px;top:26px;bottom:-10px;width:1px;background:var(--line)}.feed-event:last-child::after{display:none}.feed-event:hover{background:var(--bg-raised)}.feed-event.active{border-color:var(--line-strong);background:var(--fill-wash)}.feed-event time{font:500 10px var(--font-mono);color:var(--ink-low)}.feed-event strong{display:block;font-size:11px;font-weight:500;margin:5px 0 3px}.feed-event span{display:block;font-size:9px;color:var(--ink-low)}.event-feed-panel>footer{margin-top:auto;padding:10px 6px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.event-feed-panel>footer small{font:500 9px var(--font-mono);color:var(--ink-low)}
.day-calendar{position:absolute;right:16px;top:16px;width:286px;padding:15px;border-radius:var(--r-panel);background:var(--bg-card);border:1px solid var(--line);box-shadow:var(--el-panel)}.day-calendar>header{display:flex;justify-content:space-between;align-items:start}.day-calendar>header button{width:34px;height:34px;display:grid;place-items:center;border-radius:var(--r-tile);background:var(--bg-raised)}.calendar-week,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-week{margin-top:13px}.calendar-week span{text-align:center;font-size:8px;color:var(--ink-low)}.calendar-grid{margin-top:5px;gap:2px}.calendar-grid button{position:relative;height:29px;border-radius:var(--r-chip);font:500 9px var(--font-mono);color:var(--ink-mid)}.calendar-grid button:hover{background:var(--bg-raised)}.calendar-grid button.outside{color:var(--ink-faint)}.calendar-grid button.selected{background:var(--inv-bg);color:var(--inv-ink)}.calendar-grid small{position:absolute;right:2px;top:2px;min-width:10px;height:10px;border-radius:var(--r-pill);display:grid;place-items:center;background:var(--id-coral);color:var(--tile-ink);font-size:6px}.day-calendar footer{margin-top:10px;padding-top:9px;border-top:1px solid var(--line);display:flex;gap:7px;align-items:baseline}.day-calendar footer strong{font-size:11px;font-weight:500}.day-calendar footer span{font-size:9px;color:var(--ink-low)}
.map-inspector{position:absolute;right:16px;top:298px;width:286px;padding:14px;border-radius:var(--r-panel);background:var(--bg-card);border:1px solid var(--line);box-shadow:var(--el-panel)}.map-inspector>header{display:flex;gap:8px;justify-content:space-between;align-items:start}.map-inspector>header>div{min-width:0}.map-inspector h2{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.anonymized-chip{flex:none;padding:4px 6px;border-radius:var(--r-pill);background:var(--bg-raised);font-size:8px;color:var(--ink-low);display:flex;align-items:center;gap:4px}.anonymized-chip .ic{width:12px;height:12px}.inspector-preview{position:relative;margin-top:11px;border-radius:var(--r-card);overflow:hidden}.inspector-preview svg{width:100%;height:auto}.inspector-preview>span{position:absolute;right:7px;top:7px;padding:3px 5px;border-radius:var(--r-chip);background:rgba(13,18,21,.74);color:rgba(255,255,255,.86);font:500 8px var(--font-mono)}.inspector-data{display:grid;grid-template-columns:1fr 1fr;margin:10px 0 0}.inspector-data div{padding:7px 7px 7px 0;border-bottom:1px solid var(--line)}.inspector-data div:last-child{grid-column:1/-1}.inspector-data dt{font-size:8px;color:var(--ink-low)}.inspector-data dd{margin:3px 0 0;font-size:10px}.integrity-row{display:flex;align-items:center;gap:7px;padding:9px 0}.integrity-row .ic{color:var(--st-up)}.integrity-row span{display:grid}.integrity-row strong{font-size:9px;font-weight:500}.integrity-row small{font-size:8px;color:var(--ink-low)}.map-inspector .primary-button{width:100%;height:38px;font-size:10px}
.timeline-dock{position:absolute;left:16px;right:16px;bottom:16px;height:132px;padding:12px 16px 10px;border-radius:var(--r-panel);background:var(--inv-bg);color:var(--inv-ink);box-shadow:var(--el-panel)}.timeline-dock>header{display:flex;align-items:center;justify-content:space-between}.timeline-dock .micro-label{color:var(--inv-soft)}.timeline-dock header strong{font-size:10px;font-weight:500}.timeline-play{width:34px;height:34px;border-radius:var(--r-tile);display:grid;place-items:center;background:var(--inv-chip);color:var(--inv-ink)}.timeline-play.active{background:var(--inv-ink);color:var(--inv-bg)}.timeline-track{position:relative;height:54px;margin-top:3px;border-bottom:1px solid var(--inv-chip);display:grid;grid-template-columns:repeat(24,1fr);align-items:end;gap:3px}.hour-bar{height:var(--height);min-height:3px;border-radius:2px 2px 0 0;background:var(--inv-chip);opacity:.75}.hour-bar.event{background:var(--event-color);opacity:.9}.timeline-event{position:absolute;left:var(--position);bottom:-5px;transform:translateX(-50%);width:15px;height:58px}.timeline-event i{position:absolute;left:6px;bottom:0;width:3px;height:var(--event-height);min-height:18px;border-radius:2px;background:var(--event-color)}.timeline-event span{position:absolute;left:50%;bottom:calc(var(--event-height) + 3px);transform:translateX(-50%);padding:2px 4px;border-radius:var(--r-chip);background:var(--inv-chip);color:var(--inv-ink);font:500 7px var(--font-mono);opacity:0}.timeline-event:hover span,.timeline-event.active span{opacity:1}.timeline-event.active i{width:5px;left:5px}.timeline-scale{display:flex;justify-content:space-between;margin-top:5px;color:var(--inv-soft);font:500 7px var(--font-mono)}
@media(max-width:1200px){.map-inspector{display:none}.day-calendar{width:250px}.map-tools,.map-legend{left:286px}.event-feed-panel{width:254px}}
@media(max-width:820px){.map-main{height:auto;min-height:calc(100vh - 126px);padding:12px}.map-page-bar{height:auto;flex-wrap:wrap}.map-page-bar .range-switch{order:3;width:100%;margin-left:0}.map-page-bar .range-switch button{flex:1}.map-canvas{min-height:760px}.event-feed-panel{left:10px;top:10px;bottom:auto;width:calc(100% - 20px);height:174px}.event-feed{grid-template-columns:repeat(3,minmax(190px,1fr));overflow-x:auto}.event-feed-panel>footer{display:none}.day-calendar{display:none}.map-spatial{inset:178px 0 144px}.map-tools{left:10px;top:194px}.map-legend{left:10px;bottom:154px}.timeline-dock{left:10px;right:10px;bottom:10px}.map-marker>small{display:none}}

.map-marker.unseen::after{content:"Новое";position:absolute;left:34px;top:-7px;padding:3px 5px;border-radius:var(--r-pill);background:var(--inv-bg);color:var(--inv-ink);font:500 7px var(--font-ui)}
.feed-event em{float:right;padding:2px 5px;border-radius:var(--r-pill);background:var(--inv-bg);color:var(--inv-ink);font:500 7px var(--font-ui);font-style:normal}.feed-event.unseen strong{color:var(--ink-hi)}
.day-calendar footer em{color:var(--ink-hi);font-style:normal}
.timeline-event.unseen i{box-shadow:0 0 0 3px var(--inv-chip)}.timeline-event.unseen::after{content:"";position:absolute;left:4px;top:1px;width:7px;height:7px;border-radius:50%;background:var(--event-color)}

/* Форма входа центрируется независимо от ширины двух колонок */
.login-form{width:100%;max-width:none;padding:48px;display:flex;align-items:center;justify-content:center}.login-form-stack{width:100%;max-width:342px;display:flex;flex-direction:column;gap:14px;margin:0 auto}.login-form-stack .login-form-head{width:100%;margin:0}.login-form-stack .login-form-head h2{margin:5px 0 7px}.login-form-stack .login-form-head>p:last-child{margin:0;line-height:1.45}

/* Предварительное событие и догрузка материалов */
.map-marker.uploading>span{animation:upload-pulse 1.8s ease-in-out infinite}.map-marker.uploading>b{width:auto;min-width:30px;padding:0 5px}.feed-event .uploading-badge{background:color-mix(in srgb,var(--id-azure) 14%,var(--bg-card));color:var(--id-azure)}.upload-chip{color:var(--id-azure);background:color-mix(in srgb,var(--id-azure) 10%,transparent)}.upload-chip>i{width:6px;height:6px;border-radius:50%;background:var(--id-azure);animation:upload-pulse 1.8s ease-in-out infinite}.inspector-preview>.first-photo-label{left:7px;right:auto;background:rgba(13,18,21,.74)}.inspector-preview>.inspector-time{right:7px}.upload-progress{padding:8px 0;border-bottom:1px solid var(--line)}.upload-progress[hidden]{display:none}.upload-progress>header{display:flex;justify-content:space-between;font-size:8px}.upload-progress>header strong{font-weight:500}.upload-progress>header span{font:500 8px var(--font-mono);color:var(--id-azure)}.upload-progress>div{height:4px;margin:6px 0;border-radius:var(--r-pill);background:var(--bg-raised);overflow:hidden}.upload-progress>div>i{display:block;width:var(--progress);height:100%;background:var(--id-azure);border-radius:inherit}.upload-progress small{display:block;font-size:7px;color:var(--ink-low)}.inspector-actions{display:grid;gap:4px}.inspector-actions .primary-button{margin:0}.report-button{height:31px;display:flex;justify-content:center;align-items:center;gap:6px;color:var(--ink-low);font-size:8px;border-radius:var(--r-tile)}.report-button:hover{background:var(--bg-raised);color:var(--ink-hi)}.report-button .ic{width:13px;height:13px}.verified.pending .ic,.pending-text{color:var(--st-warn)}.upload-spinner{grid-row:1/3;width:15px;height:15px;border:2px solid var(--line-strong);border-top-color:var(--id-azure);border-radius:50%;animation:spinner .8s linear infinite}.uploading-row{background:color-mix(in srgb,var(--id-azure) 4%,transparent)}
@keyframes upload-pulse{50%{opacity:.42;transform:scale(.88)}}@keyframes spinner{to{transform:rotate(360deg)}}

/* Жалоба на достоверность данных */
.report-dialog{width:min(520px,calc(100% - 32px));padding:0;border:1px solid var(--line);border-radius:var(--r-panel);background:var(--bg-card);color:var(--ink-hi);box-shadow:var(--el-panel)}.report-dialog::backdrop{background:rgba(8,12,16,.54);backdrop-filter:blur(3px)}.report-dialog form{padding:20px}.report-dialog form>header{display:flex;justify-content:space-between;align-items:flex-start}.report-dialog h2{font-size:21px;font-weight:500;margin-top:4px}.dialog-close{width:34px;height:34px;border-radius:var(--r-tile);background:var(--bg-raised);font-size:20px;color:var(--ink-low)}.report-event{margin:16px 0;padding:10px;border-radius:var(--r-card);background:var(--bg-raised);font-size:10px;color:var(--ink-low)}.report-event code{font:500 9px var(--font-mono);color:var(--ink-hi)}.report-dialog fieldset{padding:0;margin:0;border:0;display:grid;grid-template-columns:1fr 1fr;gap:7px}.report-dialog legend{margin-bottom:8px;font-size:10px;color:var(--ink-low)}.report-dialog fieldset label{display:flex;align-items:flex-start;gap:8px;padding:10px;border:1px solid var(--line);border-radius:var(--r-card);cursor:pointer}.report-dialog fieldset label:has(input:checked){border-color:var(--line-strong);background:var(--bg-raised)}.report-dialog fieldset input{margin-top:2px}.report-dialog fieldset span{display:grid;gap:2px}.report-dialog fieldset strong{font-size:10px;font-weight:500}.report-dialog fieldset small{font-size:8px;color:var(--ink-low)}.report-comment{display:grid;gap:6px;margin-top:14px;font-size:9px;color:var(--ink-low)}.report-comment textarea{resize:vertical;min-height:70px;padding:9px;border:1px solid var(--line);border-radius:var(--r-card);background:var(--bg-card);color:var(--ink-hi);font:400 10px var(--font-ui)}.report-dialog footer{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.report-dialog footer .outline-button,.report-dialog footer .primary-button{width:auto;height:40px;margin:0;padding:0 14px}
.auth-dialog .report-comment input{height:42px;padding:0 10px;border:1px solid var(--line);border-radius:var(--r-card);background:var(--bg-card);color:var(--ink-hi);font:400 12px var(--font-ui)}.auth-dialog [role=status]{min-height:20px;margin-top:12px;font-size:11px;color:var(--ink-low)}.login-email-button{width:100%;margin-top:2px}.auth-dialog footer{flex-wrap:wrap}
@media(max-width:820px){.login-form{min-height:480px;padding:40px 24px}.login-form-stack{max-width:390px}.report-dialog fieldset{grid-template-columns:1fr}}

/* Навигация и складная боковая панель */
.screen-view[hidden]{display:none!important}.app-shell{transition:grid-template-columns var(--t-panel) var(--ease)}.sidebar{transition:padding var(--t-panel) var(--ease)}.sidebar-head{height:44px;display:flex;align-items:center;gap:8px}.sidebar-head .brand{min-width:0;flex:1}.sidebar-toggle{flex:none;width:34px;height:34px;border-radius:var(--r-tile);display:grid;place-items:center;color:var(--ink-low)}.sidebar-toggle:hover{background:var(--bg-raised);color:var(--ink-hi)}.sidebar-toggle .ic{transition:transform var(--t-panel) var(--ease);transform:rotate(180deg)}
.app-shell.sidebar-collapsed{grid-template-columns:72px minmax(0,1fr)}.app-shell.sidebar-collapsed .sidebar{padding-left:12px;padding-right:12px}.app-shell.sidebar-collapsed .sidebar-head{height:88px;flex-direction:column;gap:8px}.app-shell.sidebar-collapsed .brand{flex:none}.app-shell.sidebar-collapsed .brand-label,.app-shell.sidebar-collapsed .nav-label,.app-shell.sidebar-collapsed .nav-count,.app-shell.sidebar-collapsed .access-card p,.app-shell.sidebar-collapsed .access-card span,.app-shell.sidebar-collapsed .sidebar-user>span:last-child{display:none}.app-shell.sidebar-collapsed nav{margin-top:14px}.app-shell.sidebar-collapsed .nav-item{padding:0;justify-content:center}.app-shell.sidebar-collapsed .access-card{padding:12px;place-items:center}.app-shell.sidebar-collapsed .access-card>svg{margin:0}.app-shell.sidebar-collapsed .sidebar-user{justify-content:center}.app-shell.sidebar-collapsed .sidebar-toggle .ic{transform:none}

/* Экраны материалов и истории */
.secondary-screen{padding:28px 24px 24px;height:calc(100vh - 102px);min-height:700px;overflow:auto}.secondary-heading{min-height:112px;display:flex;align-items:flex-start;justify-content:space-between;gap:28px}.secondary-heading h1{font-size:40px;line-height:1;font-weight:var(--fw-display);letter-spacing:-.035em;margin:6px 0 10px}.secondary-heading>div>p:last-child{max-width:680px;color:var(--ink-mid);font-size:12px}.heading-stats{display:flex;gap:0;border:1px solid var(--line);border-radius:var(--r-card);background:var(--bg-card);box-shadow:var(--el-card)}.heading-stats span{min-width:100px;padding:12px 14px;border-right:1px solid var(--line);font-size:9px;color:var(--ink-low)}.heading-stats span:last-child{border:0}.heading-stats strong{display:block;font:500 20px var(--font-mono);color:var(--ink-hi);margin-bottom:3px}
.registry-shell,.audit-shell{border:1px solid var(--line);border-radius:var(--r-panel);background:var(--bg-card);box-shadow:var(--el-card);overflow:hidden}.registry-toolbar{height:56px;padding:0 16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.material-filters{margin:0;padding:0;border:0}.readonly-label{display:flex;align-items:center;gap:6px;color:var(--ink-low);font-size:10px}.readonly-label .ic{width:14px;height:14px}.registry-grid{display:grid;grid-template-columns:minmax(650px,1fr) 330px;min-height:510px}.registry-list{border-right:1px solid var(--line)}.registry-columns,.registry-row{display:grid;grid-template-columns:minmax(235px,1.35fr) minmax(130px,.75fr) minmax(130px,.75fr) 120px;align-items:center}.registry-columns{height:38px;padding:0 14px;border-bottom:1px solid var(--line);font-size:8px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-low)}.registry-row{width:100%;min-height:76px;padding:10px 14px;border-bottom:1px solid var(--line);text-align:left}.registry-row:hover,.registry-row.active{background:var(--bg-raised)}.registry-row.active{box-shadow:inset 3px 0 0 var(--id-mint)}.registry-row>span{min-width:0;display:grid;gap:3px;padding-right:10px}.registry-row b{font-size:10px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.registry-row small{font-size:8px;color:var(--ink-low);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-cell{grid-template-columns:34px 1fr!important;column-gap:9px!important}.file-cell .file-icon{grid-row:1/3}.file-icon{width:32px;height:32px;border-radius:var(--r-tile);display:grid;place-items:center;color:var(--tile-ink)}.file-icon .ic{width:15px;height:15px}.file-icon.coral{background:var(--id-coral)}.file-icon.azure{background:var(--id-azure)}.file-icon.sage{background:var(--id-sage)}.verified{grid-template-columns:18px 1fr!important}.verified .ic{grid-row:1/3;width:16px;height:16px;color:var(--st-up)}
.material-detail{padding:18px;display:flex;flex-direction:column}.material-detail>header{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}.material-detail h2,.audit-toolbar h2{font-size:17px;font-weight:500;margin-top:4px}.material-frame{position:relative;margin-top:16px;border-radius:var(--r-card);overflow:hidden;background:var(--preview-sky)}.material-frame>svg{width:100%;height:auto}.material-frame>span{position:absolute;left:10px;bottom:8px;color:rgba(255,255,255,.48);font:500 7px var(--font-mono);letter-spacing:.08em}.material-frame>button{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.9);color:#10151a}.detail-list{margin:14px 0 0}.detail-list div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--line);font-size:9px}.detail-list dt{color:var(--ink-low)}.detail-list dd{margin:0;text-align:right}.ok-text{color:var(--st-up)}.privacy-note{margin-top:14px;padding:11px;border-radius:var(--r-card);background:var(--bg-raised);display:flex;gap:9px}.privacy-note .ic{width:16px;height:16px;flex:none}.privacy-note p{display:grid;gap:2px}.privacy-note strong{font-size:9px;font-weight:500}.privacy-note span{font-size:8px;color:var(--ink-low)}.material-detail>.primary-button{margin-top:auto;height:40px;font-size:10px}
.session-live{display:flex;align-items:center;gap:10px;padding:10px 13px;border:1px solid var(--line);border-radius:var(--r-card);background:var(--bg-card)}.session-live>i{width:8px;height:8px;border-radius:50%;background:var(--st-up);box-shadow:0 0 0 4px color-mix(in srgb,var(--st-up) 15%,transparent)}.session-live>span{display:grid;font-size:10px}.session-live small{color:var(--ink-low);font-size:8px}.history-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:12px}.history-summary article{padding:15px 16px;border:1px solid var(--line);border-radius:var(--r-card);background:var(--bg-card);box-shadow:var(--el-card)}.history-summary span,.history-summary small{display:block;font-size:9px;color:var(--ink-low)}.history-summary strong{display:block;font:500 27px var(--font-mono);margin:7px 0 2px}.history-summary .safe strong{color:var(--st-up)}.audit-toolbar{height:64px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.history-filters{margin:0}.audit-columns,.audit-row{display:grid;grid-template-columns:100px minmax(260px,1.4fr) minmax(120px,.65fr) 130px 150px;align-items:center}.audit-columns{height:38px;padding:0 18px;border-bottom:1px solid var(--line);font-size:8px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-low)}.audit-row{min-height:68px;padding:8px 18px;border-bottom:1px solid var(--line)}.audit-row:hover{background:var(--bg-raised)}.audit-row time,.audit-row code{font:500 9px var(--font-mono);color:var(--ink-low)}.audit-row>span{display:grid;grid-template-columns:31px 1fr;column-gap:9px}.audit-row>span .audit-icon{grid-row:1/3}.audit-icon{width:29px;height:29px;border-radius:var(--r-tile);display:grid;place-items:center;background:var(--bg-raised)}.audit-icon .ic{width:14px;height:14px}.audit-row b{font-size:10px;font-weight:500}.audit-row small{font-size:8px;color:var(--ink-low)}.audit-row em{justify-self:start;padding:4px 7px;border-radius:var(--r-pill);font-size:8px;font-style:normal}.audit-row em.success{background:color-mix(in srgb,var(--st-up) 11%,transparent);color:var(--st-up)}.audit-row em.blocked{background:color-mix(in srgb,var(--st-down) 11%,transparent);color:var(--st-down)}.audit-row em.neutral{background:var(--bg-raised);color:var(--ink-mid)}.audit-shell>footer{min-height:58px;padding:10px 18px;display:flex;align-items:center;gap:10px;background:var(--bg-raised)}.audit-shell>footer .ic{color:var(--st-up)}.audit-shell>footer span{display:grid}.audit-shell>footer strong{font-size:9px;font-weight:500}.audit-shell>footer small{font-size:8px;color:var(--ink-low)}.audit-shell>footer code{margin-left:auto;font:500 8px var(--font-mono);color:var(--ink-low)}
@media(max-width:1100px){.registry-grid{grid-template-columns:1fr}.material-detail{display:none}.registry-list{border-right:0}.registry-columns,.registry-row{grid-template-columns:minmax(220px,1.2fr) 130px 140px 110px}.audit-columns,.audit-row{grid-template-columns:82px minmax(230px,1.3fr) 120px 110px}.audit-columns span:last-child,.audit-row>small:last-child{display:none}}
@media(max-width:820px){.secondary-screen{height:auto;min-height:calc(100vh - 126px);padding:20px 14px}.secondary-heading{display:grid}.heading-stats{width:100%}.heading-stats span{flex:1;min-width:0}.registry-grid{min-height:0}.registry-columns{display:none}.registry-row{grid-template-columns:1fr 110px}.registry-row>span:nth-child(3),.registry-row>span:nth-child(4){display:none}.history-summary{grid-template-columns:1fr 1fr}.audit-columns{display:none}.audit-row{grid-template-columns:74px 1fr 100px}.audit-row code,.audit-row>small:last-child{display:none}.audit-row em{justify-self:end}.audit-toolbar{height:auto;padding:14px;display:grid;gap:10px}}

/* Полупрозрачные панели поверх карты */
.event-feed-panel,.day-calendar,.map-inspector{background:rgba(251,252,253,.76);backdrop-filter:blur(16px) saturate(125%);-webkit-backdrop-filter:blur(16px) saturate(125%)}
.map-tools,.map-legend{background:rgba(251,252,253,.84);backdrop-filter:blur(14px) saturate(120%);-webkit-backdrop-filter:blur(14px) saturate(120%)}
.timeline-dock{background:rgba(17,24,32,.82);border:1px solid rgba(255,255,255,.08);backdrop-filter:blur(16px) saturate(125%);-webkit-backdrop-filter:blur(16px) saturate(125%)}
[data-theme="dark"] .event-feed-panel,[data-theme="dark"] .day-calendar,[data-theme="dark"] .map-inspector{background:rgba(24,29,33,.72)}
[data-theme="dark"] .map-tools,[data-theme="dark"] .map-legend{background:rgba(24,29,33,.82)}
[data-theme="dark"] .timeline-dock{background:rgba(10,14,18,.78)}

/* Размеры панелей зависят от рабочей области экрана */
@media(min-width:821px){
  .event-feed-panel{width:clamp(190px,14.5vw,225px);bottom:clamp(118px,13vh,142px);padding:clamp(8px,.8vw,12px) 8px}
  .day-calendar,.map-inspector{width:clamp(190px,14vw,225px);padding:clamp(8px,.75vw,12px)}
  .event-feed-panel h2,.day-calendar h2,.map-inspector h2{font-size:clamp(14px,1.05vw,16px)}
  .map-inspector{top:clamp(235px,27vh,260px)}
  .map-tools,.map-legend{left:clamp(218px,calc(14.5vw + 32px),257px)}
  .map-legend{bottom:clamp(118px,13vh,142px)}
  .timeline-dock{right:calc(clamp(190px,14vw,225px) + 32px);height:clamp(106px,11.5vh,116px);padding:8px clamp(10px,.8vw,14px) 6px;display:grid;grid-template-rows:28px minmax(42px,1fr) 10px;overflow:hidden}
  .timeline-dock>header{min-width:0;height:28px}.timeline-play{width:28px;height:28px}
  .timeline-track{height:auto;min-height:0;margin:0;align-self:stretch}
  .timeline-event{height:100%;bottom:-2px}.timeline-event i{max-height:calc(100% - 9px)}.hour-bar{max-height:100%}
  .timeline-scale{height:10px;margin:2px 0 0;line-height:8px}
}

/* Иконная рейка с выезжающим меню вместо сжатой колонки */
@media(min-width:821px){
  .app-shell,.app-shell.sidebar-collapsed{position:relative;grid-template-columns:48px minmax(0,1fr)}
  .sidebar{position:relative;z-index:30;width:196px;padding:10px;background:var(--bg-surface);box-shadow:12px 0 28px -24px rgba(12,16,21,.55);transition:width var(--t-panel) var(--ease),padding var(--t-panel) var(--ease),box-shadow var(--t-panel) var(--ease)}
  .app-shell.sidebar-collapsed .sidebar{width:48px;padding-left:7px;padding-right:7px;box-shadow:none}
  .sidebar-head{height:34px;flex-direction:row}.app-shell.sidebar-collapsed .sidebar-head{height:66px;flex-direction:column}
  .sidebar .brand{font-size:13px}.sidebar nav{margin-top:14px}.sidebar .nav-item{min-height:36px;font-size:11px}
  .sidebar .access-card{padding:10px}.sidebar .access-card p{font-size:10px}.sidebar .access-card span{font-size:8px}
}

/* Таймлайн занимает пространство между боковыми панелями */
@media(min-width:1201px){
  .map-canvas{--event-panel-width:clamp(190px,14.5vw,225px);--detail-panel-width:clamp(190px,14vw,225px)}
  .event-feed-panel{width:var(--event-panel-width)}.day-calendar,.map-inspector{width:var(--detail-panel-width)}
  .timeline-dock{left:calc(var(--event-panel-width) + 28px);right:calc(var(--detail-panel-width) + 28px)}
}
@media(min-width:821px) and (max-width:1200px){
  .timeline-dock{left:calc(clamp(190px,14.5vw,225px) + 28px);right:16px}
}

/* Таймлайн в той же стеклянной системе, что и остальные панели */
.timeline-dock{background:rgba(251,252,253,.78);color:var(--ink-hi);border-color:var(--line);box-shadow:var(--el-panel)}
.timeline-dock .micro-label,.timeline-scale{color:var(--ink-low)}.timeline-play{background:var(--bg-raised);color:var(--ink-hi)}.timeline-play.active{background:var(--ink-hi);color:var(--bg-card)}
.timeline-track{border-bottom-color:var(--line)}.hour-bar{background:var(--line-strong)}.timeline-event span{background:var(--bg-card);color:var(--ink-hi);border:1px solid var(--line)}.timeline-event.unseen i{box-shadow:0 0 0 3px var(--bg-card)}
[data-theme="dark"] .timeline-dock{background:rgba(24,29,33,.76)}

/* Открытое меню не перекрывает ленту и изменяет доступную ширину таймлайна */
@media(min-width:1201px){
  .event-feed-panel{transition:left var(--t-panel) var(--ease)}.timeline-dock{transition:left var(--t-panel) var(--ease),right var(--t-panel) var(--ease)}
  .app-shell:not(.sidebar-collapsed) .event-feed-panel{left:164px}
  .app-shell:not(.sidebar-collapsed) .timeline-dock{left:calc(var(--event-panel-width) + 176px)}
}
@media(min-width:821px) and (max-width:1200px){
  .app-shell:not(.sidebar-collapsed) .event-feed-panel{left:164px}
  .app-shell:not(.sidebar-collapsed) .timeline-dock{left:calc(clamp(190px,14.5vw,225px) + 176px)}
}

/* Открытое меню занимает собственную колонку и ничего не перекрывает */
@media(min-width:821px){
  .app-shell{grid-template-columns:196px minmax(0,1fr)}.app-shell.sidebar-collapsed{grid-template-columns:48px minmax(0,1fr)}
  .sidebar{width:100%;box-shadow:none}.app-shell.sidebar-collapsed .sidebar{width:100%}
  .app-shell:not(.sidebar-collapsed) .event-feed-panel{left:16px}
}
@media(min-width:1201px){
  .app-shell:not(.sidebar-collapsed) .timeline-dock{left:calc(var(--event-panel-width) + 28px)}
}
@media(min-width:821px) and (max-width:1200px){
  .app-shell:not(.sidebar-collapsed) .timeline-dock{left:calc(clamp(190px,14.5vw,225px) + 28px)}
}

/* Компактная, но не сдавленная верхняя зона */
@media(min-width:821px){
  .topbar{height:52px;padding:0 16px}.search-box{height:34px}.glyph-button{width:36px;height:36px}
  .map-main{height:calc(100vh - 70px)}.map-page-bar{height:44px}.map-page-bar h1{font-size:22px}.range-switch button{height:28px}
  .timeline-dock{width:auto;max-width:none;min-width:260px}
}
.oblast-boundary{fill:none;stroke:#6f8998;stroke-width:3;stroke-dasharray:9 7;opacity:.72}.moscow-core circle:first-child{fill:var(--bg-raised);stroke:#9caab2;stroke-width:2}.moscow-core circle:nth-child(2){fill:#687a84}.moscow-core text{fill:var(--ink-hi);font:500 17px var(--font-ui)}

/* Компактная настольная оболочка: максимум пространства остаётся карте */
@media(min-width:821px){
  .app-shell{margin:8px;min-height:calc(100vh - 16px);grid-template-columns:128px minmax(0,1fr)}
  .sidebar{min-height:calc(100vh - 18px);padding:10px 8px 8px}
  .sidebar-head{height:34px;gap:4px}.brand{height:34px;gap:6px;font-size:12px}.brand-mark{width:24px;height:24px}.brand-mark svg{width:14px;height:14px}.sidebar-toggle{width:26px;height:26px}
  .sidebar nav{margin-top:12px;gap:2px}.nav-item{min-height:34px;padding:0 7px;gap:6px;font-size:11px}.nav-item .ic{width:15px;height:15px}.nav-count{font-size:9px}
  .access-card{padding:8px;gap:4px}.access-card>svg{width:14px;height:14px;margin-bottom:1px}.access-card p{font-size:10px}.access-card span{font-size:8px;line-height:1.3}
  .sidebar-user{margin-top:8px;padding-top:8px;gap:6px}.avatar{width:24px;height:24px;font-size:8px}.sidebar-user strong{font-size:9px}.sidebar-user small{font-size:7px}
  .topbar{height:44px;padding:0 14px;gap:10px}.search-box{width:min(360px,38vw);height:30px;padding:0 9px}.search-box input{font-size:11px}.top-actions{gap:3px}.privacy-status,.secure-status{font-size:9px}.privacy-status{padding:3px 6px}.glyph-button{width:32px;height:32px}.glyph-button .ic{width:15px;height:15px}
  .map-main{height:calc(100vh - 62px);min-height:580px;padding:8px 10px 10px;gap:6px}.map-page-bar{height:38px;gap:12px}.map-page-bar h1{font-size:20px;margin-top:1px}.map-page-bar .micro-label{font-size:8px}.range-switch{padding:2px}.range-switch button{height:26px;padding:0 8px;font-size:9px}.map-count{font-size:9px}
  .app-shell.sidebar-collapsed{grid-template-columns:48px minmax(0,1fr)}.app-shell.sidebar-collapsed .sidebar{padding-left:7px;padding-right:7px}.app-shell.sidebar-collapsed .sidebar-head{height:66px;gap:5px}.app-shell.sidebar-collapsed nav{margin-top:8px}.app-shell.sidebar-collapsed .access-card{padding:8px}.app-shell.sidebar-collapsed .nav-item{padding:0}
}

/* Верхняя рабочая зона увеличена на 8%, сохраняя компактную компоновку */
@media(min-width:821px){
  .topbar{height:48px;padding:0 15px;gap:11px}
  .search-box{height:32px;padding:0 10px}.search-box input{font-size:12px}
  .glyph-button{width:34px;height:34px}.glyph-button .ic{width:16px;height:16px}
  .privacy-status,.secure-status{font-size:10px}
  .map-main{height:calc(100vh - 66px)}
  .map-page-bar{height:41px;gap:13px}.map-page-bar h1{font-size:21px}
  .map-page-bar .micro-label{font-size:9px}.range-switch button{height:28px;font-size:9px}.map-count{font-size:10px}
}

/* Data mode is always visible. Real mode never renders the illustrative basemap. */
[hidden]{display:none!important}
.mode-control{display:flex;align-items:center;gap:6px;font-size:11px;white-space:nowrap}
.mode-control select{max-width:160px;padding:6px;border:1px solid var(--line);border-radius:6px;background:var(--bg-card);color:var(--ink-hi);font:inherit}
body[data-mode="demo"] #dataNotice{color:#b24d22;font-weight:600}
body[data-mode="server"] .map-art{visibility:hidden}
body[data-mode="server"] .map-spatial{background:linear-gradient(90deg,var(--line) 1px,transparent 1px),linear-gradient(var(--line) 1px,transparent 1px);background-size:10% 10%}
.hash-value{overflow-wrap:anywhere;font:10px monospace}
#calendarMonth{max-width:100%;color:var(--ink-hi);background:var(--bg-card);border:1px solid var(--line);padding:6px;border-radius:5px}
.preview-dialog{width:min(1000px,92vw);max-height:92vh;padding:20px;border:1px solid var(--line);border-radius:12px;background:var(--bg-card);color:var(--ink-hi)}
.preview-dialog::backdrop{background:#10181cb3}.preview-dialog header{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:12px}.preview-dialog header h2{font-size:20px}.preview-dialog button{font-size:24px;border:0;border-radius:6px;padding:3px 12px;background:var(--bg-raised);color:inherit}
#previewContent{max-height:68vh;overflow:auto}#previewContent img,#previewContent video{display:block;max-width:100%;max-height:65vh;margin:auto}#previewContent audio{width:100%}#previewContent pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px}#previewWatermark,#previewIntegrity{font-size:12px;margin-top:10px;overflow-wrap:anywhere}#loginStatus{color:var(--id-coral);font-size:13px}
@media(max-width:1150px){.privacy-status{display:none}.mode-control{font-size:10px}.search-box{min-width:120px;flex:1}.secure-status{display:none}}
@media(max-width:820px){.topbar{height:auto;min-height:52px;flex-wrap:wrap}.top-actions{flex-wrap:wrap}.mode-control select{max-width:155px}}

#previewContent iframe{width:100%;height:60vh;border:0}
/* Shared workspace and mobile recording review. */
[hidden]{display:none!important}.sidebar nav{overflow:auto;min-height:0}.admin-nav-icon{width:20px;text-align:center;flex-shrink:0}#adminNavigation{border-top:1px solid var(--line);padding-top:8px;margin-top:8px}#roleBadge{font-size:11px;white-space:nowrap}#demoRole{max-width:145px}.secondary-screen{overflow:auto;padding:24px;min-height:0;flex:1}.secondary-heading{display:flex;gap:20px;justify-content:space-between;align-items:start}.secondary-heading h1{font-size:24px;margin:5px 0 16px}.secondary-heading form{display:flex;gap:12px;align-items:end;flex-wrap:wrap}#recordingImport label{display:grid;gap:6px;font-size:12px}#recordingStatus{font-size:12px;overflow-wrap:anywhere}.recordings-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:20px}.recording-row{display:grid;width:100%;text-align:left;gap:7px;padding:15px;background:var(--bg-card);border:1px solid var(--line);border-radius:8px;margin-bottom:8px;color:inherit;overflow-wrap:anywhere}.recording-row.active{border-color:#3b82f6}.recording-row span,.recording-row small,.recording-note{font-size:12px;opacity:.7}.recording-heading h2{font-size:18px;overflow-wrap:anywhere}.recording-heading span{font-size:12px}#recordingDetail{min-width:0}#recordingDetail details{font-size:12px;margin:16px 0;overflow-wrap:anywhere}#recordingDetail select{width:100%;margin:8px 0}.recording-player{display:flex;justify-content:center;align-items:center;min-height:220px;background:#101922;color:#cad3df;border-radius:10px;overflow:hidden;margin-top:14px}.recording-stage{position:relative;max-width:100%;line-height:0}.recording-stage img{display:block;width:auto;max-width:100%;max-height:560px}.recording-stage video{display:block;max-width:100%;max-height:560px}.recording-stage svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.recording-stage iframe{width:100%;height:500px}#recordingMediaStatus{font-size:12px;min-height:18px}.frame-control{display:grid;grid-template-columns:auto 1fr;gap:8px;font-size:12px}.frame-control input{grid-column:1/-1;width:100%}.object-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}.object-card{padding:16px;border:1px solid var(--line);border-radius:10px}.object-card h4{font-size:16px;margin:10px 0;overflow-wrap:anywhere}.object-card dl div{display:flex;justify-content:space-between;gap:15px;padding:6px 0;font-size:11px}.object-card dt{opacity:.65}.object-card dd{margin:0;text-align:right}#adminHost{display:block}.topbar{flex-wrap:wrap;min-height:64px;height:auto}.top-actions{flex-wrap:wrap}body[data-mode=demo] #dataNotice{color:#a75b13}.workspace{min-width:0}@media(max-width:1000px){.recordings-layout{grid-template-columns:1fr}#recordingList{display:flex;overflow:auto;gap:8px}.recording-row{min-width:220px}.secondary-heading{flex-direction:column}.secondary-screen{padding:16px}.privacy-status,.secure-status{display:none}}
/* The material title and ID share one column; legacy icon slots are absent. */
.registry-row .file-cell{grid-template-columns:minmax(0,1fr)!important}.registry-row .file-cell b{white-space:normal;overflow-wrap:anywhere}
.direction-arrow{position:absolute;inset:-25px;pointer-events:none;transform:rotate(var(--bearing));z-index:2}.direction-arrow::before{content:'';position:absolute;left:calc(50% - 1px);top:4px;width:2px;height:22px;background:var(--id-azure)}.direction-arrow::after{content:'';position:absolute;left:calc(50% - 5px);top:0;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:8px solid var(--id-azure)}.direction-arrow.course{inset:-36px}.direction-arrow.course::before{background:#bd7226}.direction-arrow.course::after{border-bottom-color:#bd7226}.inspector-preview img{display:block;width:100%;height:auto}.inspector-preview small{display:block;padding:6px;font-size:9px;background:var(--bg-card);color:var(--ink-mid)}
.feed-event .feed-thumb{display:block;width:100%;height:80px;object-fit:cover;border-radius:5px;margin:7px 0}.feed-event .feed-photo-credit{display:block;font-size:7px;line-height:1.3;color:var(--ink-low);margin-bottom:5px}.map-legend{flex-wrap:wrap;max-width:calc(100% - 250px)}#previewContent>a{display:block;font-size:12px;padding:8px}
/* Operator objects and groups */
#trackingScreen{padding:24px}#trackingScreen .secondary-heading{min-height:85px}.tracking-toolbar{display:flex;gap:8px;align-items:center;margin-bottom:12px;flex-wrap:wrap}.tracking-toolbar input{flex:1;min-width:160px}.tracking-toolbar input,.tracking-toolbar select,.tracking-toolbar button{padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--bg-card);color:var(--ink-hi)}.tracking-toolbar button.active{background:var(--ink-hi);color:var(--bg-card)}.tracking-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:20px}.tracking-row{width:100%;display:grid;gap:9px;padding:16px;text-align:left;border:1px solid var(--line);border-radius:10px;background:var(--bg-card);margin-bottom:8px;color:var(--ink-hi)}.tracking-row.active{border-color:var(--id-azure);box-shadow:inset 3px 0 var(--id-azure)}.tracking-row strong{font-size:14px;overflow-wrap:anywhere}.tracking-row span,.tracking-row small{font-size:12px;color:var(--ink-mid)}#trackingDetail{padding:20px;border:1px solid var(--line);border-radius:12px;background:var(--bg-card);min-width:0;align-self:start}#trackingDetail:empty{display:none}.tracking-card-heading{display:flex;gap:16px;justify-content:space-between;margin-bottom:16px}.tracking-card-heading h2{font-size:22px;margin:6px 0;overflow-wrap:anywhere}.tracking-card-heading button{flex-shrink:0;align-self:start}#trackingForm fieldset{border:0;padding:0;margin:0;min-width:0}#trackingForm label{display:grid;gap:6px;font-size:14px;color:var(--ink-mid);min-width:0}#trackingForm input:not([type=checkbox]),#trackingForm select,#trackingForm textarea{width:100%;box-sizing:border-box;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--bg-app);color:var(--ink-hi);font:inherit;min-width:0}#trackingForm textarea{resize:vertical}.tracking-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0}.tracking-actions{display:flex;gap:10px;margin-top:16px}.tracking-actions button{margin:0}.tracking-links,.tracking-merge,.tracking-changes{padding:14px 0;border-top:1px solid var(--line);margin-top:16px;font-size:14px}.tracking-choices{max-height:240px;overflow:auto;display:grid;gap:4px;margin:10px 0}.tracking-choices label,#trackingForm .tracking-choices label{display:flex;align-items:start;gap:10px;padding:9px;border-radius:6px;background:var(--bg-app);font-size:14px;color:var(--ink-hi)}.tracking-choices input{margin-top:3px}.tracking-choices small,.tracking-observation small{display:block;font-size:12px;color:var(--ink-mid);margin-top:4px}.tracking-note,#trackingStatus{font-size:12px;color:var(--ink-mid);line-height:1.5;margin:8px 0}.tracking-history{margin-top:22px}.tracking-history h3{font-size:16px}.tracking-observation{display:flex;align-items:center;width:100%;gap:12px;padding:12px 0;text-align:left;border-bottom:1px solid var(--line);color:var(--ink-hi)}.tracking-observation>b{border:1px solid var(--id-azure);border-radius:50%;width:26px;height:26px;display:grid;place-items:center;font:12px monospace;flex-shrink:0}.tracking-observation>span:nth-child(2){flex:1}.tracking-observation strong{font-size:14px}.tracking-observation>span:last-child{font-size:12px;text-align:right}.tracking-changes p{padding:8px 0;line-height:1.5}.tracking-changes small{color:var(--ink-mid)}.tracking-notice{padding:12px;border:1px solid var(--line);font-size:14px}.tracking-notice button{text-decoration:underline}.history-links{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2}.history-links line{stroke:#3378b5;stroke-width:2;stroke-dasharray:7 5;vector-effect:non-scaling-stroke}.history-links text{fill:#245d8b;font-size:1.6px;paint-order:stroke;stroke:var(--bg-app);stroke-width:.5px}.map-history-note{position:absolute;top:6px;left:300px;right:240px;z-index:5;background:var(--bg-card);border:1px solid var(--line);padding:8px 12px;border-radius:8px;font-size:12px}.map-history-note button{margin-left:8px;text-decoration:underline}.map-history-note small{display:block;color:var(--ink-mid);font-size:12px;margin-top:4px}.tracking-merge>button{margin-top:8px}@media(max-width:1050px){.tracking-layout{grid-template-columns:230px minmax(0,1fr)}.tracking-card-heading{display:grid}.map-history-note{left:280px;right:20px;max-width:450px}}@media(max-width:800px){.tracking-layout{grid-template-columns:1fr}#trackingList{max-height:250px;overflow:auto}.tracking-fields{grid-template-columns:1fr}.map-history-note{left:12px;right:12px;top:0}}

.tracking-direction{margin:18px 0;padding:16px;border:1px solid var(--line);border-radius:10px;background:var(--bg-card)}.tracking-direction h3{font-size:16px;margin:0 0 8px}.tracking-direction-fields{display:grid;grid-template-columns:140px minmax(0,1fr);gap:14px}.tracking-compass{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin:12px 0}.tracking-compass button{border:1px solid var(--line);background:var(--bg-card);color:var(--ink-mid);padding:7px 10px;border-radius:6px;cursor:pointer}.tracking-compass button.active{background:#7543ad;color:white}.tracking-compass output{font-size:12px;color:#7543ad;margin-left:8px}.tracking-direction-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px}.tracking-direction-footer small{color:var(--ink-mid)}.direction-arrow.manual{inset:-49px;z-index:4}.direction-arrow.manual::before{background:#7543ad;width:3px;height:32px}.direction-arrow.manual::after{border-bottom-color:#7543ad}.manual-direction-label{position:absolute;left:30px;top:12px;white-space:nowrap;font:600 11px var(--font-body,sans-serif);background:#f4ecff;color:#633493;border:1px solid #cbb4e3;border-radius:4px;padding:3px 6px;z-index:5;pointer-events:none}@media(max-width:600px){.tracking-direction-fields{grid-template-columns:1fr}.tracking-direction-footer{align-items:flex-start;flex-direction:column}}
