:root{--ink:#12151b;--ink-2:#39414f;--muted:#5b6472;--faint:#8a93a3;--line:#d4d8df;--line-2:#e4e7ec;--surface:#fff;--surface-2:#f8f9fb;--surface-3:#eef0f3;--bg:#f2f4f7;--brand:#2456d6;--brand-700:#1d3fa8;--brand-300:#7c9ae8;--brand-tint:#e8eefc;--brand-ink:#1d3fa8;--pass:#1e8a4c;--pass-tint:#e3f3e9;--pass-ink:#15703c;--fail:#c6362e;--fail-tint:#fbe7e5;--fail-ink:#a12b24;--partial:#c98a12;--partial-tint:#fbf0d8;--partial-ink:#b4560e;--na:#6b7280;--na-tint:#eef0f3;--knockout:#a12b24;--r-sm:6px;--r:10px;--r-lg:12px;--r-xl:16px;--sh-1:0 1px 2px #12151b0d;--sh-2:0 8px 22px #12151b12;--sh-3:0 30px 80px #0a0e184d;--font:"IBM Plex Sans", -apple-system, "Segoe UI", sans-serif;--mono:"IBM Plex Mono", ui-monospace, monospace}*{box-sizing:border-box}.mono{font-family:var(--mono);font-feature-settings:"tnum" 1}.tnum{font-variant-numeric:tabular-nums}.chip{font:600 12px/1 var(--font);letter-spacing:.01em;white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:5px 9px;display:inline-flex}.dot{border-radius:50%;flex:none;width:7px;height:7px}@font-face{font-family:IBM Plex Sans;src:url(/fonts/IBMPlexSans-Regular.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Sans;src:url(/fonts/IBMPlexSans-Medium.ttf)format("truetype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Sans;src:url(/fonts/IBMPlexSans-SemiBold.ttf)format("truetype");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Sans;src:url(/fonts/IBMPlexSans-Bold.ttf)format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/fonts/IBMPlexMono-Regular.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/fonts/IBMPlexMono-Medium.ttf)format("truetype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/fonts/IBMPlexMono-SemiBold.ttf)format("truetype");font-weight:600;font-style:normal;font-display:swap}html,body,#root{min-height:100%;margin:0}body{scrollbar-gutter:stable;background:var(--bg);min-width:360px;color:var(--ink);font-family:var(--font);--button-radius:8px;--button-height:42px;--button-height-sm:36px;--side-bg:#151a26;--side-hover:#1d2536;--side-ink:#96a0b5;--tip-bg:#12151b;--tip-ink:#dce1ea;--topbar-h:64px;overflow:auto}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation:none!important}}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.62}svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;flex:none;width:18px;height:18px}h1,h2,h3,p{margin:0}table{border-collapse:collapse;width:100%}th{color:var(--faint);font:600 11.5px/1 var(--font);letter-spacing:.04em;text-align:left;text-transform:uppercase;padding:10px 18px}td{border-top:1px solid var(--line-2);color:var(--ink-2);padding:12px 18px;font-size:13px}tr:hover td{background:var(--surface-2)}.portal{grid-template-columns:auto minmax(0,1fr);min-height:100vh;display:grid}.side{background:var(--side-bg);width:232px;height:100vh;color:var(--side-ink);will-change:width;flex-direction:column;padding:18px 12px 12px;transition:width .24s cubic-bezier(.4,0,.2,1),padding .24s cubic-bezier(.4,0,.2,1);display:flex;position:sticky;top:0;overflow:hidden}.side-collapsed .side{align-items:stretch;width:68px;padding:18px 10px 12px}.side-collapsed .brand-title,.side-collapsed .nav__label,.side-collapsed .nav__sec,.side-collapsed .side__user-text,.side-collapsed .side__collapse span{display:none}.side-collapsed .nav__item{justify-content:center;padding:9px 0}.side-collapsed .side__brand{justify-content:center;padding:4px 0 18px}.side-collapsed .side__user{justify-content:center;padding:12px 0 2px}.side-collapsed .side__collapse{justify-content:center}.side-collapsed .side__collapse svg{transform:rotate(180deg)}.side__brand{flex-shrink:0;align-items:center;gap:10px;padding:4px 6px 18px;display:flex}.logo{background:var(--brand);color:#fff;width:38px;height:38px;box-shadow:var(--sh-2);border-radius:10px;place-items:center;display:grid}.logo svg{stroke-width:2.4px;width:20px;height:20px}.brand-title{color:var(--ink);letter-spacing:.12em;font-size:15px;font-weight:700}.brand-title span{color:var(--brand)}.side .brand-title{color:#fff}.side .brand-title span{color:var(--brand-300)}.nav{flex-direction:column;flex:1;gap:4px;min-height:0;display:flex;overflow-y:auto}.nav__sec,.eyebrow{color:var(--faint);font:700 10.5px/1 var(--font);letter-spacing:.09em;text-transform:uppercase}.nav__sec{padding:18px 10px 7px}.side .nav__sec{color:#96a0b58c}.nav__item{width:100%;min-height:38px;color:var(--side-ink);text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:9px 10px;font-size:13px;font-weight:600;display:flex}.nav__item:hover{background:var(--side-hover);color:#cdd5e4}.nav__item.on{background:var(--brand);color:#fff}.nav__label{text-align:left;flex:1;min-width:0}.nav__badge{background:var(--fail);color:#fff;min-width:20px;font:600 11px/1 var(--mono);text-align:center;border-radius:999px;padding:3px 6px}.side__user{border-top:1px solid #ffffff14;flex-shrink:0;align-items:center;gap:10px;padding:12px 6px 2px;display:flex}.side .side__user-text div{color:#e8ecf4}.side .side__user-text span{color:var(--side-ink)}.side__collapse{color:var(--side-ink);background:0 0;border:0;border-radius:8px;align-items:center;gap:8px;margin-bottom:6px;padding:8px 10px;font-size:12.5px;font-weight:600;display:flex}.side__collapse:hover{background:var(--side-hover);color:#cdd5e4}.avatar{background:var(--brand-tint);width:34px;height:34px;color:var(--brand-ink);font:700 12px/1 var(--mono);border-radius:50%;place-items:center;display:grid}.side__user-text{min-width:0}.side__user-text div{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.side__user-text span,.muted{color:var(--muted);font-size:12px}.main{min-width:0}.top{z-index:20;height:var(--topbar-h);background:var(--surface);border-bottom:1px solid var(--line-2);justify-content:space-between;align-items:center;gap:16px;padding:0 24px;display:flex;position:sticky;top:0}.top__title{align-items:center;gap:10px;min-width:0;display:flex}.top h1{letter-spacing:-.3px;text-overflow:ellipsis;white-space:nowrap;font-size:19px;font-weight:700;line-height:1.1;overflow:hidden}.info-tip{display:inline-flex;position:relative}.info-tip__icon{background:var(--surface-3);width:20px;height:20px;color:var(--muted);font:600 11px/1 var(--mono);border:0;border-radius:50%;place-items:center;display:grid}.info-tip__bubble{z-index:40;background:var(--tip-bg);width:280px;color:var(--tip-ink);opacity:0;pointer-events:none;border-radius:8px;padding:10px 12px;font-size:12.5px;font-weight:400;line-height:1.45;transition:opacity .18s ease-out,transform .18s ease-out;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%,4px)}.info-tip:hover .info-tip__bubble,.info-tip__icon:focus-visible+.info-tip__bubble{opacity:1;transform:translate(-50%)}.top__search{width:250px;position:relative}.top__search input{border:1px solid var(--line);background:var(--surface);width:100%;height:36px;color:var(--ink);border-radius:8px;padding:0 12px 0 32px;font-size:13px}.top__search input::placeholder{color:var(--faint)}.top__search svg{width:16px;height:16px;color:var(--faint);position:absolute;top:50%;left:9px;transform:translateY(-50%)}.net-chip{border-radius:8px;align-items:center;gap:7px;height:32px;padding:0 11px;font-size:12.5px;font-weight:600;display:inline-flex}.net-chip--on{background:var(--pass-tint);color:var(--pass-ink)}.net-chip--off{background:var(--partial-tint);color:var(--partial-ink)}.net-chip .dot{background:currentColor}.avatar-shell{position:relative}.avatar-btn{border:1px solid var(--line-2);background:var(--brand-tint);width:36px;height:36px;color:var(--brand-ink);font:700 12px/1 var(--mono);border-radius:50%;place-items:center;padding:0;display:grid}.avatar-menu{z-index:40;border:1px solid var(--line-2);border-radius:var(--r);background:var(--surface);min-width:210px;box-shadow:var(--sh-2);padding:6px;animation:.18s ease-out menu-in;position:absolute;top:calc(100% + 8px);right:0}@keyframes menu-in{0%{opacity:0;transform:translateY(4px)}}.avatar-menu__head{border-bottom:1px solid var(--line-2);margin-bottom:6px;padding:8px 10px}.avatar-menu__head b{text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;display:block;overflow:hidden}.avatar-menu__head span{color:var(--muted);font-size:12px}.avatar-menu button{width:100%;color:var(--ink-2);text-align:left;background:0 0;border:0;border-radius:7px;align-items:center;gap:8px;padding:8px 10px;font-size:13px;font-weight:600;display:flex}.avatar-menu button:hover{background:var(--surface-2)}.top__actions{align-items:center;gap:8px;display:flex}.notification-shell{position:relative}.notification-button{width:42px;height:42px;color:var(--ink-2);position:relative}.notification-button.has{border-color:color-mix(in oklch, var(--brand) 38%, var(--line));color:var(--brand)}.notification-badge{border:2px solid var(--surface);background:var(--fail);color:#fff;min-width:19px;height:19px;font-family:var(--mono);border-radius:999px;justify-content:center;align-items:center;padding:0 5px;font-size:10px;font-weight:700;display:inline-flex;position:absolute;top:-5px;right:-5px}.notification-panel{z-index:60;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);width:min(430px,100vw - 32px);box-shadow:var(--sh-2);position:absolute;top:calc(100% + 8px);right:0;overflow:hidden}.notification-panel__head{border-bottom:1px solid var(--line-2);justify-content:space-between;align-items:center;gap:12px;padding:14px 14px 12px;display:flex}.notification-panel__head b{font-size:14px;display:block}.notification-panel__head span{color:var(--muted);margin-top:3px;font-size:12px;display:block}.notification-panel__actions{align-items:center;gap:8px;display:flex}.notification-list{max-height:420px;padding:6px;overflow:auto}.notification-item{border-radius:var(--r);width:100%;color:var(--ink);text-align:left;background:0 0;border:0;grid-template-columns:8px 1fr;gap:10px;padding:11px 10px;display:grid}.notification-item:hover{background:var(--surface-2)}.notification-item__marker{background:var(--brand);border-radius:999px;width:8px;height:8px;margin-top:5px}.notification-item--success .notification-item__marker{background:var(--pass)}.notification-item--warning .notification-item__marker{background:var(--partial)}.notification-item--danger .notification-item__marker{background:var(--fail)}.notification-item b,.notification-item small,.notification-item em{display:block}.notification-item b{font-size:13px;line-height:1.25}.notification-item small{color:var(--muted);margin-top:3px;font-size:12px;line-height:1.35}.notification-item em{color:var(--muted-2);font-family:var(--mono);margin-top:5px;font-size:11px;font-style:normal}.notification-empty{color:var(--muted);text-align:center;padding:20px 12px;font-size:13px}.body{width:100%;padding:24px}.card{border:1px solid var(--line-2);border-radius:var(--r);background:var(--surface);box-shadow:none}.pad{padding:16px 18px}.btn,.icon-btn{border:1.5px solid var(--line);border-radius:var(--button-radius);background:var(--surface);color:var(--ink-2);-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;font-size:13px;font-weight:700;line-height:1;text-decoration:none;transition:background .15s,border-color .15s,color .15s,transform .12s;display:inline-flex}.btn{min-height:var(--button-height);white-space:nowrap;gap:8px;padding:0 14px}.btn:hover,.icon-btn:hover{border-color:color-mix(in oklch, var(--brand) 42%, var(--line));background:var(--brand-tint);color:var(--brand)}.btn:active,.icon-btn:active{transform:scale(.985)}.btn--sm{min-height:var(--button-height-sm);padding:0 12px;font-size:12.5px}.btn--primary{background:var(--brand);color:#fff;box-shadow:none;border-color:#0000}.btn--primary:hover{background:var(--brand-700);color:#fff}.btn--danger{border-color:color-mix(in oklch, var(--fail) 34%, var(--line));background:var(--surface);color:var(--fail-ink)}.btn--danger:hover,.icon-btn--danger:hover{background:var(--fail-tint);border-color:var(--fail)}.icon-btn{width:34px;height:34px;padding:0}.inp,.sel{border:1.5px solid var(--line);border-radius:var(--r);background:var(--surface);width:100%;min-height:40px;color:var(--ink);outline:0;font-size:13px}.inp{padding:9px 11px}.sel{padding:0 10px}.inp:focus,.sel:focus,textarea:focus{border-color:var(--brand-300)}.inp--strong{font-size:17px;font-weight:700}.mono,.id{font-family:var(--mono);font-variant-numeric:tabular-nums}.id{color:var(--muted);font-size:12px;font-weight:600}.tag{background:var(--surface-3);min-height:24px;color:var(--muted);white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:4px 8px;font-size:11.5px;font-weight:600;display:inline-flex}.tag--pass{background:var(--pass-tint);color:var(--pass-ink)}.tag--warn{background:var(--partial-tint);color:var(--partial-ink)}.tag--fail{background:var(--fail-tint);color:var(--fail-ink)}.chip .dot{background:currentColor}.login{background:linear-gradient(135deg, color-mix(in oklch, var(--brand-tint) 60%, transparent), transparent 38%), var(--bg);place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);width:min(420px,100%);box-shadow:var(--sh-2);flex-direction:column;gap:16px;padding:22px;display:flex}.login-card--shake-a{animation:.44s both loginShakeA}.login-card--shake-b{animation:.44s both loginShakeB}@keyframes loginShakeA{0%,to{transform:translate(0)}18%{transform:translate(-8px)}36%{transform:translate(7px)}54%{transform:translate(-5px)}72%{transform:translate(4px)}}@keyframes loginShakeB{0%,to{transform:translate(0)}18%{transform:translate(-8px)}36%{transform:translate(7px)}54%{transform:translate(-5px)}72%{transform:translate(4px)}}.login-card h1{font-size:22px}.login-card p{color:var(--muted);margin-top:5px;font-size:13px}.login-card label,.field{flex-direction:column;gap:6px;display:flex}.login-card label span,.field span{color:var(--muted);font-size:12px;font-weight:600}.form-error{border-radius:var(--r);border:1px solid color-mix(in oklch, var(--fail) 26%, transparent);background:var(--fail-tint);color:var(--fail-ink);padding:10px 12px;font-size:13px;line-height:1.35;animation:.18s ease-out both formErrorIn}@keyframes formErrorIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.table-head{border-bottom:1px solid var(--line-2);justify-content:space-between;align-items:center;gap:12px;padding:14px 14px 12px;display:flex}.ai-progress{border:1px solid var(--line-2);background:var(--surface-2);color:var(--ink-2);border-radius:10px;align-items:center;gap:10px;padding:12px 14px;font-size:13px;line-height:1.35;display:flex}.ai-progress__spinner{border:2px solid var(--line-2);border-top-color:var(--brand);border-radius:50%;flex-shrink:0;width:14px;height:14px;animation:.9s linear infinite ai-progress-spin}@keyframes ai-progress-spin{to{transform:rotate(360deg)}}.template-tiles{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;display:grid}.template-tile{border:1px solid var(--line-2);color:inherit;font:inherit;text-align:left;cursor:pointer;flex-direction:column;align-items:flex-start;gap:11px;display:flex}.template-tile__top{align-items:center;gap:9px;width:100%;display:flex}.template-tile__meta{color:var(--faint);white-space:nowrap;margin-left:auto;font-size:11px}.template-tile__title{-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:39px;font-size:14.5px;line-height:1.35;display:-webkit-box;overflow:hidden}.template-tile__chips{flex-wrap:wrap;gap:7px;display:flex}.sort-row{background:var(--surface-2);border-bottom:1px solid var(--line-2);gap:16px;display:flex}.template-row-wide{border:0;border-bottom:1px solid var(--line-2);width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;align-items:center;gap:12px;padding:11px 20px;display:flex}.template-row-wide:last-child{border-bottom:0}.template-row-wide:hover{background:var(--surface-2)}.template-row-wide__title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:14px;font-weight:600;overflow:hidden}.template-row-wide svg{color:var(--faint);flex:none}.code-tile{background:var(--brand);color:#fff;min-width:34px;height:32px;font:700 11px/1 var(--mono);border-radius:9px;place-items:center;display:inline-grid}.empty-list{color:var(--muted);padding:16px 8px;font-size:13px}.editor{flex-direction:column;gap:14px;min-width:0;display:flex}.template-head{flex-direction:column;justify-content:space-between;align-items:stretch;gap:12px;display:flex}.template-head__main{flex-direction:column;flex:1;gap:12px;min-width:0;display:flex}.field-grid{grid-template-columns:minmax(0,1.4fr) minmax(190px,.8fr);gap:12px;display:grid}.field--wide{grid-column:1/-1}.template-meta,.template-actions,.section-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.template-actions{flex:none;order:-1;justify-content:flex-end;align-self:flex-end}.validation-strip{grid-template-columns:minmax(240px,.9fr) minmax(260px,1fr);align-items:center;gap:16px;display:grid}.validation-strip__sum{align-items:center;gap:12px;margin-top:7px;font-size:13px;font-weight:600;display:flex}.ok{color:var(--pass-ink)}.warn{color:var(--partial-ink)}.pbar{background:var(--line);border-radius:999px;height:7px;overflow:hidden}.pbar i{border-radius:inherit;background:var(--brand);height:100%;transition:width .25s;display:block}.add-section{grid-template-columns:minmax(220px,1fr) 92px auto;gap:10px;display:grid}.section-card{overflow:hidden}.section-card__head{border-bottom:1px solid var(--line-2);justify-content:space-between;align-items:center;gap:12px;padding:14px;display:flex}.section-title-edit{flex:1;grid-template-columns:minmax(240px,1fr) 88px;gap:10px;display:grid}.inp--section{font-weight:700}.section-weight{text-align:center}.section-card__items{flex-direction:column;gap:10px;padding:14px;display:flex}.item-card{border:1px solid var(--line-2);border-radius:var(--r);background:var(--surface-2);grid-template-columns:80px minmax(0,1fr) auto;gap:12px;padding:14px;display:grid}.item-card--muted{opacity:.72}.item-index{flex-direction:column;gap:12px;display:flex}.mini-check{color:var(--muted);align-items:center;gap:6px;font-size:11.5px;font-weight:600;display:flex}.item-main{flex-direction:column;gap:9px;min-width:0;display:flex}.item-text{resize:vertical;min-height:54px;font-weight:600;line-height:1.35}.item-fields{grid-template-columns:repeat(3,minmax(140px,1fr));gap:8px;display:grid}.item-fields--secondary{grid-template-columns:1fr 1fr 82px 120px}.weight-line{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.weight-line input[type=range]{width:min(260px,32vw);accent-color:var(--brand)}.weight-input{text-align:center;width:82px}.toggle-line{color:var(--muted);align-items:center;gap:8px;font-size:12px;font-weight:600;display:flex}.knockout-select{width:auto;min-width:152px;height:30px;padding:0 26px 0 10px;font-size:12px}.item-warn{border:1px solid color-mix(in oklch, var(--partial), white 55%);background:var(--partial-tint);color:var(--partial-ink);border-radius:10px;margin:0;padding:8px 10px;font-size:12px;line-height:1.4}.item-actions{align-items:flex-start;gap:8px;display:flex}.add-item-btn{align-self:flex-start}.toast{z-index:100;background:var(--tip-bg);color:#fff;max-width:min(560px,100vw - 44px);box-shadow:var(--sh-3);border-radius:9px;align-items:center;gap:9px;padding:11px 16px;font-size:13.5px;font-weight:500;line-height:1.35;animation:.25s ease-out toast-in;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,14px)}to{opacity:1;transform:translate(-50%)}}.toast:before{content:"";border-radius:50%;flex:none;width:8px;height:8px}.toast--ok:before{background:#5fd08c}.toast--error:before{background:#f08c85}.toast--info:before{background:var(--brand-300)}.chip--brand{background:var(--brand-tint);color:var(--brand-ink)}.chip--pass{background:var(--pass-tint);color:var(--pass-ink)}.chip--partial{background:var(--partial-tint);color:var(--partial-ink)}.chip--fail{background:var(--fail-tint);color:var(--fail-ink)}.chip--na{background:var(--na-tint);color:var(--muted)}.reports-view{grid-template-columns:minmax(0,1fr);align-items:start;gap:16px;display:grid}.reports-list{position:sticky;top:82px;overflow:hidden}.reports-filter{flex-direction:column;gap:12px;display:flex}.reports-search{flex-direction:column;gap:5px;margin-bottom:0;display:flex}.reports-filter__row{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;display:grid}.reports-filter__search{grid-column:span 2}@media (width<=640px){.reports-filter__search{grid-column:span 1}}.reports-filter label{flex-direction:column;gap:5px;display:flex}.reports-filter label span{color:var(--muted);font-size:11.5px;font-weight:600}.reports-filter__meta{justify-content:space-between;align-items:center;gap:10px;margin-top:0;display:flex}.reports-filter__actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.segmented{border:1px solid var(--line);border-radius:var(--r);background:var(--surface-2);align-items:center;height:34px;padding:2px;display:inline-flex}.segmented button{border-radius:calc(var(--r) - 2px);min-width:84px;height:28px;color:var(--muted);cursor:pointer;font:700 11px/1 var(--mono);background:0 0;border:0;padding:0 10px}.segmented button:hover{color:var(--ink)}.segmented button.on{background:var(--brand);color:#fff;box-shadow:var(--shadow-soft)}.report-rows{flex-direction:column;gap:6px;max-height:calc(100vh - 390px);padding:8px;display:flex;overflow:auto}.report-row{border-radius:var(--r);width:100%;color:var(--ink-2);text-align:left;background:0 0;border:0;flex-direction:column;gap:7px;padding:12px;display:flex}.report-row:hover{background:var(--surface-3)}.report-row.on{background:var(--brand-tint);color:var(--brand-ink)}.report-row__top,.report-row__footer,.report-hero__head{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.report-row__top{justify-content:space-between}.report-row__title{color:var(--ink);font-size:14px;font-weight:700}.report-row__sub,.report-row__footer{color:var(--muted);font-size:11.5px;line-height:1.35}.report-detail{min-width:0}.report-summary-stack{flex-direction:column;gap:14px;min-width:0;display:flex}.report-summary__head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.report-summary h2{margin-top:8px;font-size:22px;line-height:1.15}.report-summary p{max-width:720px;color:var(--muted);margin-top:6px;font-size:13px}.report-summary-metrics{grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:9px;margin-top:16px;display:grid}.report-metric{border:1px solid var(--line-2);border-radius:var(--r);background:var(--surface-2);flex-direction:column;gap:5px;min-width:0;padding:10px 11px;display:flex}.report-metric span{color:var(--faint);font:600 10.5px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase}.report-metric b{color:var(--ink);font:700 20px/1.1 var(--mono)}.report-metric small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.report-summary-table-card{overflow:hidden}.report-summary-table-wrap{overflow:auto}.report-summary-table{border-collapse:collapse;width:100%;min-width:1080px}.report-summary-table th,.report-summary-table td{border-bottom:1px solid var(--line-2);text-align:left;vertical-align:top;padding:10px 12px}.report-summary-table th{z-index:1;background:var(--surface);color:var(--faint);font:600 11.5px/1 var(--font);letter-spacing:.04em;text-transform:uppercase;position:sticky;top:0}.report-summary-table td{color:var(--ink-2);font-size:12.5px}.report-summary-table td b{color:var(--ink);font-size:12.5px;line-height:1.25;display:block}.report-summary-table td span:not(.chip):not(.tag){max-width:260px;color:var(--muted);margin-top:3px;font-size:11px;line-height:1.25;display:block}.report-summary-row{cursor:pointer}.report-summary-row:hover,.report-summary-row:focus{background:var(--surface-3);outline:none}.reports-map-card{overflow:hidden;container-type:inline-size}.reports-map-layout{--reports-map-height:clamp(360px, calc((100cqw - 380px) * .66), 700px);height:var(--reports-map-height);grid-template-columns:minmax(0,1fr) minmax(280px,340px);gap:14px;min-height:0;display:grid}.reports-map{border:1px solid var(--line-2);border-radius:var(--r);background:var(--surface-2);min-width:0;height:100%;min-height:0;position:relative;overflow:hidden}.reports-map__canvas{filter:saturate(.82)contrast(.94);width:100%;height:100%;position:absolute;inset:0}.reports-map__fallback{z-index:2;color:var(--ink-2);text-align:center;background:#f7f9fceb;place-content:center;gap:6px;padding:24px;display:grid;position:absolute;inset:0}.reports-map__fallback b{color:var(--ink)}.reports-map-marker{z-index:2;color:#fff;cursor:pointer;width:34px;height:34px;font:800 12px/1 var(--mono);border:2px solid #fff;border-radius:50%;place-items:center;padding:0;display:grid;position:relative;box-shadow:0 10px 24px #0b1f4438}.reports-map-marker:after{border-radius:inherit;content:"";opacity:.28;border:1px solid;position:absolute;inset:-7px}.reports-map-marker span{z-index:1;position:relative}.reports-map-marker--pass{background:var(--pass-ink);color:var(--pass-ink)}.reports-map-marker--partial{background:var(--warn-ink);color:var(--warn-ink)}.reports-map-marker--fail{background:var(--fail-ink);color:var(--fail-ink)}.reports-map-marker--na{background:var(--muted);color:var(--muted)}.reports-map-marker--pass span,.reports-map-marker--partial span,.reports-map-marker--fail span,.reports-map-marker--na span{color:#fff}.reports-map-marker:hover,.reports-map-marker.on{z-index:3;transform:scale(1.08)}.reports-map-side{border-left:1px solid var(--line-2);flex-direction:column;gap:12px;height:100%;min-height:0;padding-left:14px;display:flex;overflow:hidden}.reports-map-side__head b{color:var(--ink);font:700 13px/1.25 var(--mono);margin-top:5px;display:block}.reports-map-side__list{flex-direction:column;flex:1;gap:8px;min-height:0;padding-right:4px;display:flex;overflow:auto}.reports-map-report{border:1px solid var(--line-2);border-radius:var(--r);background:var(--surface);width:100%;color:var(--ink-2);cursor:pointer;text-align:left;flex-direction:column;gap:5px;padding:10px;display:flex}.reports-map-report:hover{border-color:var(--brand-300);background:var(--brand-tint)}.reports-map-report__top{justify-content:space-between;align-items:center;gap:8px;display:flex}.reports-map-report__top b{color:var(--ink);font-size:12px}.reports-map-report>span:not(.reports-map-report__top){color:var(--ink);font-size:12.5px;font-weight:700}.reports-map-report small{color:var(--muted);font-size:11px;line-height:1.3}.report-detail-toolbar{justify-content:space-between;align-items:center;gap:12px;display:flex}.report-detail-toolbar b{color:var(--ink);margin-top:5px;display:block}.report-detail-modal{z-index:220;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f172aa3;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.report-detail-modal__panel{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface-2);width:min(1280px,100vw - 48px);min-height:min(760px,100vh - 48px);max-height:calc(100vh - 48px);box-shadow:var(--sh-3);flex-direction:column;display:flex;overflow:hidden}.report-detail-modal__header{border-bottom:1px solid var(--line-2);background:var(--surface);flex:none;justify-content:space-between;align-items:flex-start;gap:18px;padding:18px 20px 15px;display:flex}.report-detail-modal__header h2{color:var(--ink);margin-top:5px;font-size:18px;line-height:1.2}.report-detail-modal__body{min-height:0;padding:16px;overflow:auto}.report-detail__stack{flex-direction:column;gap:14px;min-width:0;display:flex}.report-hero{grid-template-columns:minmax(0,1fr) 128px;align-items:start;gap:18px;display:grid}.report-hero h2{margin-top:10px;font-size:22px;line-height:1.15}.report-hero p{color:var(--muted);margin-top:6px;font-size:13px}.report-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px;display:grid}.meta{flex-direction:column;gap:4px;min-width:0;display:flex}.meta span{color:var(--faint);font:600 10.5px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase}.meta b{color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;overflow:hidden}.score-panel{flex-direction:column;align-items:center;gap:9px;display:flex}.score-circle{border:9px solid var(--brand);width:112px;height:112px;color:var(--brand);font-family:var(--mono);border-radius:50%;place-items:center;display:grid}.score-circle--pass{border-color:var(--pass);color:var(--pass)}.score-circle--partial{border-color:var(--partial);color:var(--partial)}.score-circle--fail{border-color:var(--fail);color:var(--fail)}.score-circle strong{font-size:30px;line-height:1}.score-circle span{color:var(--muted);margin-top:-22px;font-size:11px;font-weight:700}.score-panel__sub{color:var(--muted);font:600 11px/1.2 var(--mono)}.report-location{grid-template-columns:minmax(240px,.65fr) minmax(320px,1fr);align-items:stretch;gap:16px;display:grid}.report-location--empty{grid-template-columns:1fr}.report-location__info{flex-direction:column;gap:10px;min-width:0;display:flex}.report-location h3{color:var(--ink);margin:0;font-size:17px;line-height:1.2}.report-location p{color:var(--muted);margin:0;font-size:12.5px}.report-location__meta{grid-template-columns:1fr;gap:8px;margin-top:2px;display:grid}.report-location__link{width:fit-content;margin-top:auto}.report-location__map{border:1px solid var(--line);border-radius:var(--r);background:var(--surface-2);min-height:240px;overflow:hidden}.report-location__map iframe{border:0;width:100%;height:100%;min-height:240px;display:block}.report-actions{justify-content:space-between;align-items:center;gap:14px;display:flex}.report-actions p{color:var(--muted);margin-top:6px;font-size:12.5px}.report-actions__buttons{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.task-list{flex-direction:column;gap:8px;margin-top:12px;display:flex}.task-row{border-radius:var(--r);background:var(--surface-2);flex-direction:column;gap:4px;padding:10px 12px;display:flex}.task-row b{font-size:13px}.task-row span{color:var(--muted);font-size:12px}.report-section{overflow:hidden}.report-section__head{border-bottom:1px solid var(--line-2);justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.report-section h3{font-size:16px}.answer-list{flex-direction:column;display:flex}.answer-row{border-top:1px solid var(--line-2);grid-template-columns:42px minmax(0,1fr);gap:12px;padding:14px 16px;display:grid}.answer-row:first-child{border-top:0}.answer-row__idx{color:var(--faint);font-size:12px;font-weight:700}.answer-row__body{min-width:0}.answer-row__top{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.answer-row__top b{color:var(--ink);font-size:13.5px;line-height:1.38}.answer-comment{border-radius:var(--r);background:var(--surface-2);color:var(--ink-2);margin-top:8px;padding:9px 10px;font-size:12.5px;line-height:1.45}.photo-strip{gap:8px;margin-top:10px;display:flex;overflow:auto}.photo-thumb{border:1px solid var(--line);border-radius:var(--r);background:var(--surface-3);width:70px;height:70px;color:var(--muted);cursor:pointer;flex:none;place-items:center;font-size:11px;text-decoration:none;display:grid;overflow:hidden}.photo-thumb img{object-fit:cover;width:100%;height:100%}.photo-modal{z-index:360;background:#0f172ac2;place-items:center;padding:28px;display:grid;position:fixed;inset:0}.photo-modal__dialog{border-radius:var(--r-lg);background:var(--surface);max-width:min(960px,100vw - 56px);max-height:calc(100vh - 56px);box-shadow:var(--sh-3);border:1px solid #ffffff2e;flex-direction:column;display:flex;overflow:hidden}.photo-modal__bar{border-bottom:1px solid var(--line-2);justify-content:space-between;align-items:center;gap:14px;padding:10px 12px;display:flex}.photo-modal__bar div{flex-direction:column;gap:3px;min-width:0;display:flex}.photo-modal__bar b{font-size:14px}.photo-modal__bar span{color:var(--muted);font-size:12px}.photo-modal__dialog>img{object-fit:contain;background:#000;max-width:100%;max-height:calc(100vh - 120px);display:block}.workspace-stack{flex-direction:column;gap:16px;display:flex}.mobile-version-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:16px;display:grid}.mobile-version-block{border-top:1px solid var(--line-2);flex-direction:column;gap:8px;padding:14px 16px;display:flex}.mobile-version-block__head{justify-content:space-between;align-items:center;gap:12px;display:flex}.mobile-version-block code{overflow-wrap:anywhere;border-radius:var(--r);background:var(--surface-2);color:var(--ink-2);font:600 12px/1.45 var(--mono);padding:10px 12px}.mobile-version-block p{color:var(--ink-2);font-size:13px;line-height:1.45}.danger-text{color:var(--fail-ink)}.control-strip{flex-wrap:wrap;align-items:flex-end;gap:10px 12px;display:flex}.control-strip>.filter-chips{flex:260px;min-width:0}.control-strip>label{flex:0 240px}.control-strip>.view-toggle,.control-strip>.btn,.control-strip>.segmented{flex:none}.control-strip label{flex-direction:column;gap:5px;min-width:0;display:flex}.control-strip label span{color:var(--muted);font-size:11.5px;font-weight:600}.sel--compact{min-width:150px;height:34px;padding-block:0;font-size:12px}.metric-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;display:grid}.metric-card{border-left:4px solid var(--brand);flex-direction:column;justify-content:space-between;min-height:108px;display:flex}.metric-card--pass{border-left-color:var(--pass)}.metric-card--fail{border-left-color:var(--fail)}.metric-card--warn{border-left-color:var(--partial)}.metric-card strong{color:var(--ink);font:700 30px/1 var(--mono)}.metric-card small{color:var(--muted);font-size:12px}.dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));align-items:start;gap:16px;display:grid}.sla-card{overflow:hidden}.sla-list{gap:10px;padding:8px;display:grid}.sla-group{border:1px solid var(--line-2);border-left:4px solid var(--brand);border-radius:var(--r-md);background:var(--surface-2);gap:8px;padding:10px;display:grid}.sla-group--fail{border-left-color:var(--fail)}.sla-group--warn{border-left-color:var(--partial)}.sla-group__head{justify-content:space-between;align-items:center;gap:10px;display:flex}.sla-group__head b{color:var(--ink);font-size:13px}.sla-group__head span,.sla-chip{min-height:24px;font:700 12px/1 var(--mono);border-radius:999px;align-items:center;padding:0 9px;display:inline-flex}.sla-group__head span{background:var(--surface);color:var(--ink-2)}.sla-row{border-top:1px solid var(--line-2);gap:5px;padding-top:8px;display:grid}.sla-row b,.sla-row span{display:block}.sla-row b{color:var(--ink);font-size:12.5px}.sla-row span{color:var(--ink-2);margin-top:2px;font-size:12px}.sla-row em,.sla-empty{color:var(--muted);font-size:12px;font-style:normal}.category-score-list{flex-direction:column;padding:8px;display:flex}.category-score{border-top:1px solid var(--line-2);grid-template-columns:minmax(0,1fr) 210px;align-items:center;gap:14px;padding:12px;display:grid}.category-score:first-child{border-top:0}.category-score b{color:var(--ink);font-size:13.5px;display:block}.category-score span{color:var(--muted);margin-top:4px;font-size:12px;display:block}.category-score__bar{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.schedule-create{flex-direction:column;gap:12px;display:flex}.schedule-create__grid{grid-template-columns:1.2fr 1fr 1.4fr 1.2fr 160px 150px auto;align-items:center;gap:10px;display:grid}.directory-create{grid-template-columns:auto minmax(170px,1fr) minmax(210px,1.25fr) minmax(190px,1fr) minmax(180px,1fr) minmax(170px,.9fr) auto;align-items:center;gap:10px;display:grid}.objects-toolbar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.objects-search{flex:0 320px;min-width:200px}.crumbs{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;display:flex}.crumbs button{color:var(--brand);background:0 0;border:0;padding:2px 4px;font-weight:600}.crumbs button.on,.crumbs span.on{color:var(--ink);font-weight:700}.objects-level-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.objects-level-head h2{font-size:19px}.cluster-tiles{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;display:grid}.cluster-tile{background:var(--surface);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:10px;padding:14px;display:flex}.cluster-tile--muted{opacity:.65}.cluster-tile--ghost{border-style:dashed}.cluster-tile__main{color:inherit;text-align:left;background:0 0;border:0;flex-direction:column;align-items:flex-start;gap:6px;padding:0;display:flex}.cluster-tile__main b{font-size:15.5px}.cluster-tile__main:hover b{color:var(--brand)}.cluster-tile__actions{flex-wrap:wrap;gap:6px;margin-top:auto;display:flex}.object-cards{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;display:grid}.object-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:10px;padding:14px;display:flex}.object-card--muted{opacity:.65}.object-card__main{color:inherit;text-align:left;background:0 0;border:0;flex-direction:column;align-items:flex-start;gap:5px;padding:0;display:flex}.object-card__main b{font-size:15px}.object-card__main:hover b{color:var(--brand)}.object-card__chips{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.object-card__check{border-top:1px solid var(--bg);flex-wrap:wrap;align-items:center;gap:8px;width:100%;margin-top:10px;padding-top:10px;display:flex}.object-card__check-label{min-width:0;color:var(--muted);flex:1;font-size:12px}.manifest-toggle{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0}.manifest-toggle:hover{background:var(--surface-2)}.table-scroll{overflow-x:auto}.card-head__title{align-items:center;gap:10px;min-width:0;display:flex}.user-card__actions{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.row-clickable{cursor:pointer}.device-service-note{border-top:1px solid var(--line-2);font-size:12px;line-height:1.4}.device-cell__sub{font-size:12px}.object-card__actions{flex-wrap:wrap;gap:6px;margin-top:auto;display:flex}.directory-create--users{grid-template-columns:auto minmax(180px,1.2fr) 150px 160px 190px 220px auto}@media (width<=1560px){.directory-create,.directory-create--users{grid-template-columns:repeat(3,minmax(170px,1fr))}.directory-create>.eyebrow,.directory-create--users>.eyebrow{grid-column:1/-1}}.cluster-card{gap:12px;display:grid}.table-head--inline{padding:0}.cluster-create{grid-template-columns:minmax(220px,1fr) auto;align-items:center;gap:10px;display:grid}.cluster-list{gap:8px;display:grid}.cluster-row{border:1px solid var(--line-2);border-radius:var(--r-md);background:var(--surface-2);grid-template-columns:minmax(220px,1fr) auto auto;align-items:center;gap:12px;padding:10px;display:grid}.row-actions{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.app-dialog{z-index:300;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f172a9e;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.app-dialog__panel{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);width:min(620px,100vw - 48px);max-height:calc(100vh - 48px);box-shadow:var(--sh-3);overflow:auto}.app-dialog__panel--wide{width:min(1120px,100vw - 48px)}.app-dialog__header{border-bottom:1px solid var(--line-2);justify-content:space-between;align-items:flex-start;gap:20px;padding:20px 22px 16px;display:flex}.app-dialog__header h2{color:var(--ink);font-size:19px;line-height:1.25}.app-dialog__header p{color:var(--muted);margin-top:6px;font-size:13px;line-height:1.45}.app-dialog__fields{gap:14px;padding:18px 22px 4px;display:grid}.access-matrix{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:18px 20px;display:grid}.access-matrix__section{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2);min-width:0;overflow:hidden}.access-matrix__head{border-bottom:1px solid var(--line-2);background:var(--surface);justify-content:space-between;align-items:center;gap:10px;padding:12px;display:flex}.access-matrix__list{gap:6px;max-height:360px;padding:10px;display:grid;overflow:auto}.access-check{border-radius:var(--r-sm);cursor:pointer;border:1px solid #0000;grid-template-columns:auto minmax(0,1fr);align-items:flex-start;gap:9px;padding:8px;display:grid}.access-check:hover{border-color:var(--line);background:var(--surface)}.access-check input{margin-top:3px}.access-check b,.access-check small{min-width:0;display:block}.access-check small{color:var(--muted);margin-top:3px;font-size:12px}.app-dialog__textarea{resize:vertical;min-height:96px;line-height:1.45}.app-dialog__error{border-left:3px solid var(--fail);background:var(--fail-tint);color:var(--fail-ink);margin:14px 22px 0;padding:9px 11px;font-size:12.5px;line-height:1.4}.app-dialog__actions{justify-content:flex-end;gap:9px;padding:18px 22px 20px;display:flex}.table-head__actions{align-items:center;gap:8px;display:flex}.table-scroll{width:100%;overflow-x:auto}.tasks-table{min-width:940px}.task-due{align-items:start;gap:6px;display:grid}.sla-chip--brand{background:var(--brand-tint);color:var(--brand-ink)}.sla-chip--pass{background:var(--pass-tint);color:var(--pass-ink)}.sla-chip--warn{background:var(--partial-tint);color:var(--partial-ink)}.sla-chip--fail{background:var(--fail-tint);color:var(--fail-ink)}.task-completion{align-items:flex-start;gap:10px;min-width:0;margin-top:6px;display:flex}.task-completion--compact{max-width:340px;margin-top:0}.task-completion__body{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.task-completion .task-completion__meta,.task-row .task-completion__meta{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:700}.task-completion .task-completion__comment,.task-row .task-completion__comment{color:var(--ink-2);font-size:12px;line-height:1.35}.task-completion .task-completion__comment--muted,.task-row .task-completion__comment--muted,.task-completion-empty{color:var(--faint);font-size:12px}.task-completion__photo{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface-3);cursor:pointer;flex:none;place-items:center;width:42px;height:42px;display:grid;overflow:hidden}.task-completion__photo img{object-fit:cover;width:100%;height:100%}.journal-filters{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));align-items:end;gap:10px;display:grid}.journal-filters label{flex-direction:column;gap:6px;min-width:0;display:flex}.journal-filters label span{color:var(--muted);font-size:11px;font-weight:700}.journal-filters__search{grid-column:span 2;min-width:0}.journal-filters__actions,.journal-pager{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.journal-table-card{overflow:hidden}.journal-table-wrap{overflow:auto}.journal-table{border-collapse:collapse;width:100%;min-width:980px}.journal-table th,.journal-table td{border-bottom:1px solid var(--line-2);text-align:left;vertical-align:top;padding:11px 12px}.journal-table th{z-index:1;background:var(--surface);color:var(--faint);font:600 11.5px/1 var(--font);letter-spacing:.04em;text-transform:uppercase;position:sticky;top:0}.journal-table td{color:var(--ink-2);font-size:12.5px}.journal-table td b{color:var(--ink);line-height:1.25;display:block}.journal-table td span{color:var(--muted);margin-top:3px;font-size:11px;display:block}.journal-payload{border:1px solid var(--line-2);border-radius:var(--r-sm);background:var(--surface-2);max-width:520px;max-height:128px;color:var(--ink-2);font:600 11px/1.45 var(--mono);white-space:pre-wrap;margin:0;padding:9px;overflow:auto}.journal-details{gap:8px;display:grid}.journal-client{flex-wrap:wrap;gap:6px;display:flex}.journal-client span{border:1px solid var(--line-2);background:var(--surface-2);border-radius:6px;align-items:center;gap:5px;padding:4px 7px;line-height:1.2;width:auto!important;color:var(--ink-2)!important;font-size:12px!important;display:inline-flex!important}.journal-client b{color:var(--faint);font-family:var(--mono);text-transform:uppercase;font-size:10px!important}.categories-table{min-width:980px}.row-actions{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.release-note__body{color:var(--ink-2);white-space:pre-wrap;padding:18px 22px 4px;font-size:13.5px;line-height:1.55}.near-miss-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:14px;display:grid}.nm-trend{align-items:flex-end;gap:8px;min-height:180px;padding:16px 18px 14px;display:flex;overflow-x:auto}.nm-trend__col{grid-template-rows:auto 1fr auto;place-items:end center;gap:6px;min-width:34px;height:140px;display:grid}.nm-trend__col b{color:var(--ink-2);font:600 12px/1 var(--mono)}.nm-trend__col i{border-radius:var(--r-sm);background:var(--brand);width:100%;min-height:4px}.nm-trend__col span{color:var(--muted);font:500 10.5px/1 var(--mono)}.near-miss-table{min-width:1080px}.near-miss-summary-table{min-width:720px}.near-miss-summary-table td.muted{color:var(--faint)}.near-miss-form{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:18px 22px 4px;display:grid}.near-miss-form__wide{grid-column:1/-1}.near-miss-form__photos{flex-wrap:wrap;gap:10px;margin-top:10px;display:flex}.near-miss-form__photo{justify-items:center;gap:4px;width:116px;display:grid;position:relative}.near-miss-form__photo img{border:1px solid var(--line);border-radius:var(--r-md);object-fit:cover;width:116px;height:88px}.near-miss-form__photo .icon-btn{background:var(--surface);position:absolute;top:5px;right:5px}.near-miss-form__photo small{color:var(--muted);font-size:11px}.near-miss-detail{gap:14px;padding:18px 22px 4px;display:grid}.near-miss-detail__block{border:1px solid var(--line-2);border-radius:var(--r-md);background:var(--surface-2);gap:6px;padding:12px;display:grid}.near-miss-detail__block p{color:var(--ink-2);white-space:pre-wrap;font-size:13.5px;line-height:1.5}@media (width<=900px){body{min-width:0}.portal{grid-template-columns:1fr}.side{height:auto;position:static}.reports-view,.reports-filter,.report-summary__head,.report-detail-toolbar,.report-hero,.report-location,.report-actions,.control-strip,.dashboard-grid,.metric-grid,.mobile-version-grid,.category-score,.schedule-create__grid,.directory-create,.directory-create--users,.cluster-create,.cluster-row,.journal-filters,.access-matrix,.near-miss-grid,.near-miss-form,.template-head,.validation-strip,.add-section,.item-card{grid-template-columns:1fr}.reports-list{position:static}.reports-filter__row,.report-meta-grid{grid-template-columns:1fr}}.fade-up{animation:.38s ease-out both fade-up;animation-delay:calc(var(--fade-i,0) * 40ms)}@keyframes fade-up{0%{opacity:0;transform:translateY(10px)}}.card--hover{transition:transform .18s,box-shadow .18s,border-color .18s}.card--hover:hover{border-color:var(--line);box-shadow:var(--sh-2);transform:translateY(-2px)}.kpi-strip{border:1px solid var(--line-2);border-radius:var(--r);background:var(--line-2);grid-template-columns:repeat(4,1fr);gap:1px;display:grid;overflow:hidden}@media (width<=900px){.kpi-strip{grid-template-columns:repeat(2,1fr)}}.kpi-cell{background:var(--surface);cursor:pointer;font:inherit;text-align:left;border:0;flex-direction:column;gap:7px;padding:14px 16px 12px;transition:background .15s;display:flex}.kpi-cell:hover{background:var(--surface-2)}.kpi-cell__label{color:var(--muted);align-items:center;gap:7px;font-size:12px;font-weight:600;display:flex}.kpi-cell__label .dot{width:8px;height:8px}.kpi-cell__value{color:var(--ink);font:600 28px/1.05 var(--mono);font-feature-settings:"tnum" 1}.kpi-cell__value small{color:var(--faint);font-size:15px;font-weight:500}.kpi-cell__bar{background:var(--surface-3);border-radius:2px;height:3px}.kpi-cell__bar i{transform-origin:0;border-radius:2px;height:100%;animation:.5s ease-out both kpi-bar-in;display:block}@keyframes kpi-bar-in{0%{transform:scaleX(0)}}.th-sort{color:var(--faint);cursor:pointer;font:600 11.5px/1 var(--font);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;background:0 0;border:0;align-items:center;gap:4px;padding:0;display:inline-flex}.th-sort .arrow{opacity:.45}.th-sort.on{color:var(--brand)}.th-sort.on .arrow{opacity:1}.sort-row{align-items:center;gap:16px;padding:4px 2px;display:flex}.sort-row__label{color:var(--faint);font-size:12px;font-weight:600}.view-toggle{border:1px solid var(--line-2);background:var(--surface);border-radius:8px;gap:2px;padding:2px;display:inline-flex}.view-toggle button{width:34px;height:32px;color:var(--muted);background:0 0;border:0;border-radius:6px;place-items:center;display:grid}.view-toggle button.on{background:var(--brand-tint);color:var(--brand)}span.cat-badge,.category-score span.cat-badge,.summary-modal span.cat-badge{color:#fff;width:36px;height:28px;font:700 13px/1 var(--font);letter-spacing:.02em;text-align:center;border-radius:6px;flex:none;place-items:center;margin:0;padding:0;display:grid}.summary-modal{z-index:90;background:#0a0e1873;place-items:center;padding:24px;animation:.18s ease-out overlay-in;display:grid;position:fixed;inset:0}@keyframes overlay-in{0%{opacity:0}}.summary-modal__panel{border-radius:var(--r-lg);background:var(--surface);width:min(560px,100%);max-height:calc(100vh - 80px);box-shadow:var(--sh-3);padding:18px;animation:.22s ease-out modal-in;overflow-y:auto}@keyframes modal-in{0%{opacity:0;transform:translateY(14px)scale(.985)}}.summary-modal__head{border-bottom:1px solid var(--line-2);align-items:flex-start;gap:12px;margin-bottom:12px;padding-bottom:12px;display:flex}.summary-modal__head h2{font-size:17px;font-weight:700;line-height:1.25}.summary-modal__head p{color:var(--muted);margin-top:3px;font-size:12.5px}.summary-modal__title{flex:1;min-width:0}.summary-modal__chips{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.summary-modal__row{align-items:baseline;gap:9px;padding:7px 0;font-size:13.5px;display:flex}.summary-modal__row .dot{position:relative;top:-1px}.summary-modal__row b{color:var(--ink);font-weight:600}.summary-modal__row span{color:var(--muted)}.summary-modal__foot{border-top:1px solid var(--line-2);justify-content:flex-end;gap:8px;margin-top:12px;padding-top:14px;display:flex}.bar-chart{align-items:flex-end;gap:6px;height:150px;padding:4px 2px 0;display:flex}.bar-chart__col{flex-direction:column;flex:1;justify-content:flex-end;align-self:stretch;align-items:center;gap:6px;display:flex;position:relative}.bar-chart__bar{width:100%;max-width:26px;animation:.5s ease-out both bar-grow;animation-delay:calc(var(--fade-i,0) * 30ms);background:var(--brand);transform-origin:bottom;border-radius:4px 4px 2px 2px}.bar-chart__col:hover .bar-chart__bar{background:var(--brand-700)}.bar-chart__label{color:var(--faint);font:500 10.5px/1 var(--mono)}@keyframes bar-grow{0%{transform:scaleY(0)}}.donut-wrap{align-items:center;gap:18px;display:flex}.donut{animation:.5s ease-out both donut-in}@keyframes donut-in{0%{opacity:0;transform:rotate(-70deg)scale(.9)}}.donut-legend{flex-direction:column;gap:8px;font-size:13px;display:flex}.donut-legend__row{color:var(--ink-2);align-items:center;gap:8px;display:flex}.donut-legend__row b{font-family:var(--mono);margin-left:auto}.filter-chips{flex-wrap:wrap;gap:8px;display:flex}.filter-chip{border:1px solid var(--line-2);background:var(--surface);height:36px;color:var(--ink-2);white-space:nowrap;border-radius:8px;align-items:center;gap:8px;padding:0 13px;font-size:13px;font-weight:600;transition:background .15s,border-color .15s;display:inline-flex}.filter-chip:hover{background:var(--surface-2)}.filter-chip b{color:var(--muted);font-family:var(--mono);font-size:12px;font-weight:600}.filter-chip.on{border-color:var(--brand);background:var(--brand);color:#fff}.filter-chip.on b{color:#ffffffc7}.tasks-tiles{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;display:grid}.task-tile{flex-direction:column;gap:8px;display:flex}.task-tile--overdue{border-color:var(--fail)}.task-tile__top{justify-content:space-between;align-items:center;gap:8px;display:flex}.task-tile__text{font-size:14px;font-weight:600;line-height:1.35}.task-tile__foot{border-top:1px solid var(--line-2);justify-content:space-between;align-items:center;gap:10px;margin-top:auto;padding-top:8px;display:flex}.dashboard-charts{grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:14px;display:grid}@media (width<=1100px){.dashboard-charts{grid-template-columns:1fr}}.category-score__title{align-items:center;gap:10px;min-width:0;display:flex}.category-score__title>div{min-width:0}.mini-list__head{justify-content:space-between;align-items:center;padding:13px 14px 9px;display:flex}.mini-list__head h3{font-size:14px;font-weight:700}.mini-list__all{color:var(--brand);cursor:pointer;background:0 0;border:0;padding:0;font-size:12.5px;font-weight:600}.mini-list__row{border:0;border-top:1px solid var(--line-2);cursor:pointer;width:100%;font:inherit;text-align:left;background:0 0;align-items:center;gap:10px;padding:9px 14px;transition:background .15s;display:flex}.mini-list__row:hover{background:var(--surface-2)}.mini-list__row--edge-fail{box-shadow:inset 3px 0 0 var(--fail)}.mini-list__row--edge-warn{box-shadow:inset 3px 0 0 var(--partial)}@media (width<=900px){.reports-filter__actions{justify-content:flex-start}.segmented{width:100%}.segmented button{flex:1;min-width:0}.report-summary__head,.report-detail-toolbar{flex-direction:column;align-items:stretch}.report-summary-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.reports-map-layout{grid-template-columns:1fr;height:auto;min-height:0}.reports-map{aspect-ratio:3/2;width:100%;height:auto;min-height:0}.reports-map-side{border-top:1px solid var(--line-2);border-left:0;height:auto;max-height:320px;padding-top:12px;padding-left:0}.field-grid,.item-fields,.item-fields--secondary,.section-title-edit{grid-template-columns:1fr}.top{flex-direction:column;align-items:flex-start;gap:10px;padding:14px 16px;position:static}.top__actions{flex-wrap:wrap;width:100%}.notification-panel{left:0;right:auto}.body{padding:16px}.app-dialog{align-items:end;padding:12px}.app-dialog__panel{width:100%;max-height:calc(100vh - 24px)}.app-dialog__header,.app-dialog__fields,.app-dialog__actions,.near-miss-form,.near-miss-detail,.release-note__body{padding-inline:16px}}.about-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:18px;display:flex}.about-head h2{color:var(--ink);margin:4px 0 6px;font-size:24px}.about-head .muted{max-width:560px;font-size:13px}.about-tabs{flex:none}.about-section .eyebrow{margin-bottom:6px}.about-title{color:var(--ink);margin:0 0 4px;font-size:19px}.about-subtitle{max-width:860px;margin-bottom:12px;font-size:13px;line-height:1.5}.about-p{max-width:980px;color:var(--ink-2);margin:12px 0 4px;font-size:13.5px;line-height:1.6}.about-hero{color:#fff;background:linear-gradient(135deg,#12244f 0%,#1d3470 100%);padding:30px 34px}.about-hero .eyebrow{color:#9db6ff}.about-hero h3{max-width:720px;margin:8px 0 12px;font-size:26px;line-height:1.2}.about-hero p{color:#c3cfea;max-width:860px;font-size:14px;line-height:1.65}.about-hero-chips{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.about-hero-chips .tag{color:#d7e0f5;background:#ffffff1f;border-color:#0000}.about-grid{gap:14px;margin-top:12px;display:grid}.about-grid--3{grid-template-columns:repeat(3,1fr)}.about-grid--2{grid-template-columns:repeat(2,1fr)}.about-tile{border:1px solid var(--line-2);border-radius:var(--r);background:var(--surface-2);flex-direction:column;gap:7px;padding:16px 18px;display:flex}.about-tile>b{color:var(--ink);font-size:14px}.about-tile>span{color:var(--muted);font-size:12.5px;line-height:1.55}.about-tile--demo{background:var(--surface)}.about-tile--demo .eyebrow{margin-bottom:0}.about-tile--demo .about-list{margin-top:2px}.about-list{flex-direction:column;gap:8px;max-width:1020px;margin:10px 0 0;padding-left:20px;display:flex}.about-list li{color:var(--ink-2);font-size:13.5px;line-height:1.55}.about-list li::marker{color:var(--brand)}.about-list b{color:var(--ink)}.about-steps{flex-direction:column;gap:9px;max-width:1020px;margin:12px 0 0;padding-left:22px;display:flex}.about-steps li{color:var(--ink-2);font-size:13.5px;line-height:1.55}.about-steps li::marker{color:var(--brand);font-weight:700}.about-note{border:1px solid var(--partial);border-radius:var(--r-sm);background:var(--partial-tint,#fdf6e3);max-width:1020px;color:var(--ink-2);margin-top:14px;padding:12px 16px;font-size:13px;line-height:1.55}.about-table-wrap{border:1px solid var(--line-2);border-radius:var(--r-sm);margin-top:12px;overflow-x:auto}.about-table th{background:var(--surface-2)}.about-table td{vertical-align:top;font-size:13px;line-height:1.5}.about-table td:first-child{white-space:nowrap;color:var(--ink);font-weight:600}.about-toc{z-index:5;position:sticky;top:0}.about-toc-links{flex-wrap:wrap;gap:6px 8px;margin-top:8px;display:flex}.about-toc-links a{border:1px solid var(--line-2);background:var(--surface-2);color:var(--ink-2);border-radius:999px;padding:6px 12px;font-size:12px;font-weight:600;text-decoration:none;transition:border-color .15s,color .15s}.about-toc-links a:hover{border-color:var(--brand);color:var(--brand-ink)}.about-files{grid-template-columns:repeat(2,1fr);gap:12px;margin-top:12px;display:grid}.about-file{border:1px solid var(--line-2);border-radius:var(--r);background:var(--surface-2);color:inherit;align-items:center;gap:14px;padding:14px 16px;text-decoration:none;transition:border-color .15s,box-shadow .15s;display:flex}.about-file:hover{border-color:var(--brand);box-shadow:var(--sh-3)}.about-file-kind{border-radius:var(--r-sm);background:var(--brand-tint);min-width:52px;color:var(--brand-ink);font:700 11px/1 var(--mono);text-align:center;flex:none;padding:8px 0}.about-file-body{flex-direction:column;gap:3px;min-width:0;display:flex}.about-file-body b{color:var(--ink);font-size:13.5px}.about-file-body span{color:var(--muted);font-size:12px;line-height:1.45}.about-file-action{color:var(--brand-ink);flex:none;margin-left:auto;font-size:12.5px;font-weight:700}@media (width<=1400px){.about-grid--3{grid-template-columns:repeat(2,1fr)}}.about-shot{min-width:0;margin:14px 0 0}.about-shot__frame{border:1px solid var(--line-2);border-radius:var(--r);background:var(--surface-2);cursor:zoom-in;max-width:100%;padding:0;transition:border-color .15s,box-shadow .15s;display:block;overflow:hidden}.about-shot__frame:hover{border-color:var(--brand);box-shadow:var(--sh-3)}.about-shot__frame img{width:100%;height:auto;display:block}.about-shot--wide{max-width:880px}.about-shot--phone{flex:none;width:300px}.about-shot figcaption{color:var(--muted);margin-top:7px;font-size:12px;line-height:1.45}.about-shot--textonly{border:1px dashed var(--line-2);border-radius:var(--r);background:var(--surface-2);flex:300px;width:auto;max-width:640px;padding:10px 12px}.about-shot--textonly figcaption{margin-top:0}.about-shot--textonly figcaption:before{content:"Экран: ";color:var(--brand);font-weight:600}.about-shot-row{flex-wrap:wrap;align-items:flex-start;gap:18px;margin-top:4px;display:flex}.about-shot-row .about-shot--wide{flex:420px;max-width:640px}.about-lightbox{z-index:90;cursor:zoom-out;background:#0a1022d1;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:28px;display:flex;position:fixed;inset:0}.about-lightbox img{border-radius:var(--r-sm);max-width:min(1500px,94vw);max-height:88vh;box-shadow:0 24px 80px #00000080}.about-lightbox__hint{color:#ffffffbf;font-size:12px}.about-flow{flex-wrap:wrap;align-items:stretch;gap:6px;margin-top:14px;display:flex}.about-flow__item{flex:170px;align-items:center;gap:6px;min-width:0;display:flex}.about-flow__node{border:1px solid var(--line-2);border-radius:var(--r);background:var(--surface-2);flex-direction:column;flex:1;gap:5px;min-height:100%;padding:13px 15px;display:flex}.about-flow__num{background:var(--brand-tint);width:24px;height:24px;color:var(--brand-ink);font:700 12px/1 var(--mono);border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.about-flow__node b{color:var(--ink);font-size:13px}.about-flow__node span:last-child{color:var(--muted);font-size:11.5px;line-height:1.45}.about-flow__arrow{background:var(--brand);opacity:.55;flex:none;width:16px;height:2px;position:relative}.about-flow__arrow:after{content:"";border:5px solid #0000;border-left-color:var(--brand);position:absolute;top:-4px;right:-1px}.about-link{color:var(--brand-ink);text-underline-offset:3px;font-weight:600;text-decoration:underline}.about-link:hover{color:var(--brand)}
