.psv-container{--psv-core-loaded: true;container-name:psv-container;container-type:size;width:100%;height:100%;margin:0;padding:0;position:relative;background:radial-gradient(#fff,#fdfdfd 16%,#fbfbfb 33%,#f8f8f8 49%,#efefef 66%,#dfdfdf 82%,#bfbfbf);overflow:hidden}.psv-container *{box-sizing:content-box}.psv-canvas-container{position:absolute;top:0;left:0;z-index:0;transition:opacity linear .1s}.psv-fullscreen-emulation{position:fixed!important;top:0!important;left:0!important;width:100%!important;height:100%!important;z-index:9999}.psv-loader-container{display:flex;align-items:center;justify-content:center;position:absolute;top:0;left:0;width:100%;height:100%;z-index:80}.psv-loader{--psv-loader-border: 3px;--psv-loader-tickness: 10px;position:relative;display:flex;justify-content:center;align-items:center;color:#ffffffb3;width:150px;height:150px}.psv-loader-canvas{position:absolute;top:0;left:0;width:100%;height:100%;color:#3d3d3d80;z-index:-1}.psv-loader-text{font:600 16px sans-serif;text-align:center}.psv-loader--undefined .psv-loader-canvas{animation:psv-loader 2s cubic-bezier(.75,.25,.25,.75) infinite}@keyframes psv-loader{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.psv-navbar{display:flex;position:absolute;z-index:90;bottom:-40px;left:0;width:100%;height:40px;background:#3d3d3d80;transition:bottom ease-in-out .1s;font:16px sans-serif;cursor:default}.psv-navbar--open{bottom:0}.psv-navbar,.psv-navbar *{box-sizing:content-box}.psv-button{flex:0 0 auto;padding:10px;position:relative;cursor:pointer;height:20px;width:20px;background:transparent;color:#ffffffb3}.psv-button--active{background:#fff3}.psv-button--disabled{pointer-events:none;opacity:.5}.psv-button-svg{width:100%;transform:scale(1);transition:transform .2s ease;vertical-align:initial}.psv-button:not(.psv-button--disabled):focus-visible{outline:2px solid #007cff;outline-offset:-2px}.psv-container:not(.psv--is-touch) .psv-button--hover-scale:not(.psv-button--disabled):hover .psv-button-svg{transform:scale(1.2)}.psv-move-button+.psv-move-button{margin-left:-10px}.psv-download-button{color:#ffffffb3!important;text-decoration:none!important}.psv-download-button:before,.psv-download-button:after{display:none!important}.psv-custom-button{width:auto;min-width:20px}.psv-custom-button--no-padding{padding:0;height:100%}.psv-caption{flex:1 1 100%;color:#ffffffb3;overflow:hidden;text-align:center;cursor:unset;padding:unset;height:unset;width:unset}.psv-caption-content{display:inline-block;padding:10px;white-space:nowrap}.psv-zoom-range.psv-button{width:80px;height:1px;margin:10px 0;padding:9.5px 0;max-width:600px}.psv-zoom-range-line{position:relative;width:80px;height:1px;background:#ffffffb3;transition:all .3s ease}.psv-zoom-range-handle{position:absolute;border-radius:50%;top:-3px;width:7px;height:7px;background:#ffffffb3;transform:scale(1);transition:transform .3s ease}.psv-zoom-range:not(.psv-button--disabled):hover .psv-zoom-range-line{box-shadow:0 0 2px #ffffffb3}.psv-zoom-range:not(.psv-button--disabled):hover .psv-zoom-range-handle{transform:scale(1.3)}.psv-notification{position:absolute;z-index:100;bottom:-40px;display:flex;justify-content:center;box-sizing:border-box;width:100%;padding:0 2em;opacity:0;transition-property:opacity,bottom;transition-timing-function:ease-in-out;transition-duration:.2s}.psv-notification-content{max-width:50em;background:#3d3d3dcc;border-radius:4px;padding:.5em 1em;font:14px sans-serif;color:#fff}.psv-notification--visible{opacity:100;bottom:80px}.psv-overlay{display:flex;flex-direction:column;align-items:center;justify-content:center;position:absolute;z-index:110;inset:0;background:radial-gradient(#fff,#fdfdfd 16%,#fbfbfb 33%,#f8f8f8 49%,#efefef 66%,#dfdfdf 82%,#bfbfbf);opacity:.8;cursor:default}.psv-overlay-image{width:100%;text-align:center;color:#303030}.psv-overlay-image svg{width:50%}@container psv-container (orientation: landscape){.psv-overlay-image svg{width:33%}}.psv-overlay-title{color:#000;margin-top:1em;font:30px sans-serif;text-align:center}.psv-overlay-text{color:#000c;font:20px sans-serif;opacity:.8;text-align:center}.psv-panel{position:absolute;z-index:90;right:0;height:100%;width:400px;max-width:calc(100% - 9px);background:#0a0a0ab3;transform:translate3d(100%,0,0);opacity:0;transition-property:opacity,transform;transition-timing-function:ease-in-out;transition-duration:.1s;cursor:default;margin-left:9px}.psv--has-navbar .psv-panel{height:calc(100% - 40px)}.psv-panel-close-button{display:none;position:absolute;top:-1px;right:0;width:19.2px;height:19.2px;padding:6.4px;background:transparent;color:#fff;transition:background .3s ease-in-out;cursor:pointer}.psv-panel-close-button svg{transition:transform .3s ease-in-out}.psv-panel-close-button:hover{background:#000000e6}.psv-panel-close-button:hover svg{transform:scale(-1)}.psv-panel-resizer{display:none;position:absolute;top:0;left:-9px;width:9px;height:100%;background-color:#000000e6;cursor:col-resize}.psv-panel-resizer:before{content:"";position:absolute;top:50%;left:5.5px;margin-top:-14.5px;width:1px;height:1px;box-shadow:1px 0 #fff,3px 0 #fff,5px 0 #fff,1px 2px #fff,3px 2px #fff,5px 2px #fff,1px 4px #fff,3px 4px #fff,5px 4px #fff,1px 6px #fff,3px 6px #fff,5px 6px #fff,1px 8px #fff,3px 8px #fff,5px 8px #fff,1px 10px #fff,3px 10px #fff,5px 10px #fff,1px 12px #fff,3px 12px #fff,5px 12px #fff,1px 14px #fff,3px 14px #fff,5px 14px #fff,1px 16px #fff,3px 16px #fff,5px 16px #fff,1px 18px #fff,3px 18px #fff,5px 18px #fff,1px 20px #fff,3px 20px #fff,5px 20px #fff,1px 22px #fff,3px 22px #fff,5px 22px #fff,1px 24px #fff,3px 24px #fff,5px 24px #fff,1px 26px #fff,3px 26px #fff,5px 26px #fff,1px 28px #fff,3px 28px #fff,5px 28px #fff;background:transparent}.psv-panel-content{width:100%;height:100%;box-sizing:border-box;color:#dcdcdc;font:16px sans-serif;overflow:auto}.psv-panel-content:not(.psv-panel-content--no-margin){padding:1em}.psv-panel-content--no-interaction{-webkit-user-select:none;user-select:none;pointer-events:none}.psv-panel--open{transform:translateZ(0);opacity:1;transition-duration:.2s}.psv-panel--open .psv-panel-close-button,.psv-panel--open .psv-panel-resizer{display:block}@container psv-container (max-width: 400px){.psv-panel{width:100%!important;max-width:none}.psv-panel-resizer{display:none!important}}.psv-panel-menu{height:100%;display:flex;flex-direction:column}.psv-panel-menu-title{flex:none;display:flex;align-items:center;font:24px sans-serif;margin:24px 12px}.psv-panel-menu-title svg{width:24px;height:24px;margin-right:12px}.psv-panel-menu-list{flex:1;list-style:none;margin:0;padding:0;overflow-x:hidden}.psv-panel-menu-item{min-height:1.5em;padding:.5em 1em;cursor:pointer;display:flex;align-items:center;justify-content:flex-start;transition:background .1s ease-in-out}.psv-panel-menu-item--active{outline:1px solid currentcolor;outline-offset:-1px}.psv-panel-menu-item-icon{flex:none;height:1.5em;width:1.5em;margin-right:.5em}.psv-panel-menu-item-icon img{max-width:100%;max-height:100%}.psv-panel-menu-item-icon svg{width:100%;height:100%}.psv-panel-menu-item:focus-visible{outline:2px solid #007cff;outline-offset:-2px}.psv-panel-menu--stripped .psv-panel-menu-item:hover{background:#fff3}.psv-panel-menu--stripped .psv-panel-menu-item:nth-child(odd),.psv-panel-menu--stripped .psv-panel-menu-item:nth-child(odd):before{background:#ffffff1a}.psv-panel-menu--stripped .psv-panel-menu-item:nth-child(2n),.psv-panel-menu--stripped .psv-panel-menu-item:nth-child(2n):before{background:transparent}.psv-container:not(.psv--is-touch) .psv-panel-menu-item:hover{background:#fff3}.psv-tooltip{position:absolute;z-index:50;box-sizing:border-box;max-width:200px;background:#3d3d3dcc;border-radius:4px;opacity:0;transition-property:opacity,transform;transition-timing-function:ease-in-out;transition-duration:.1s;cursor:default}.psv-tooltip-content{color:#fff;font:14px sans-serif;text-shadow:0 1px #000;padding:.5em 1em}.psv-tooltip-arrow{position:absolute;height:0;width:0;border:7px solid transparent}.psv-tooltip--top-left,.psv-tooltip--top-center,.psv-tooltip--top-right{transform:translate3d(0,5px,0)}.psv-tooltip--top-left .psv-tooltip-arrow,.psv-tooltip--top-center .psv-tooltip-arrow,.psv-tooltip--top-right .psv-tooltip-arrow{border-top-color:#3d3d3dcc}.psv-tooltip--bottom-left,.psv-tooltip--bottom-center,.psv-tooltip--bottom-right{transform:translate3d(0,-5px,0)}.psv-tooltip--bottom-left .psv-tooltip-arrow,.psv-tooltip--bottom-center .psv-tooltip-arrow,.psv-tooltip--bottom-right .psv-tooltip-arrow{border-bottom-color:#3d3d3dcc}.psv-tooltip--left-top,.psv-tooltip--center-left,.psv-tooltip--left-bottom{transform:translate3d(5px,0,0)}.psv-tooltip--left-top .psv-tooltip-arrow,.psv-tooltip--center-left .psv-tooltip-arrow,.psv-tooltip--left-bottom .psv-tooltip-arrow{border-left-color:#3d3d3dcc}.psv-tooltip--right-top,.psv-tooltip--center-right,.psv-tooltip--right-bottom{transform:translate3d(-5px,0,0)}.psv-tooltip--right-top .psv-tooltip-arrow,.psv-tooltip--center-right .psv-tooltip-arrow,.psv-tooltip--right-bottom .psv-tooltip-arrow{border-right-color:#3d3d3dcc}.psv-tooltip--left-top,.psv-tooltip--top-left{box-shadow:-3px -3px #5a5a5ab3}.psv-tooltip--top-center{box-shadow:0 -3px #5a5a5ab3}.psv-tooltip--right-top,.psv-tooltip--top-right{box-shadow:3px -3px #5a5a5ab3}.psv-tooltip--left-bottom,.psv-tooltip--bottom-left{box-shadow:-3px 3px #5a5a5ab3}.psv-tooltip--bottom-center{box-shadow:0 3px #5a5a5ab3}.psv-tooltip--right-bottom,.psv-tooltip--bottom-right{box-shadow:3px 3px #5a5a5ab3}.psv-tooltip--center-left{box-shadow:-3px 0 #5a5a5ab3}.psv-tooltip--center-right{box-shadow:3px 0 #5a5a5ab3}.psv-tooltip--visible{transform:translateZ(0);opacity:1}:root{color-scheme:light;--brand-navy: #071a2e;--brand-navy-strong: #051321;--brand-blue: #155387;--brand-cyan: #16b8c7;--workspace-bg: #f3f6f9;--surface-muted: #f8fafc;--text-primary: #17212b;--text-secondary: #667485;--text-tertiary: #8996a5;--border-subtle: #e2e7ed;--status-success: #137b4f;--status-warning: #9a6200;--status-danger: #b4232f;--status-info: #1f5f99;--space-4px: 4px;--space-8px: 8px;--space-12px: 12px;--space-16px: 16px;--space-20px: 20px;--space-24px: 24px;--space-32px: 32px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--sidebar-width: 200px;--sidebar-collapsed-width: 60px;--topbar-height: 52px;--module-nav-height: 44px;--control-height: 44px;--table-row-height: 44px;--bg: #f6f8fb;--sidebar: var(--brand-navy);--surface: #ffffff;--surface-2: #f8fafc;--elevated: #ffffff;--border: #d7dde5;--border-strong: #b8c2cf;--text: #17212b;--muted: #667485;--soft: #3f4b5a;--accent: #0f7f8c;--accent-soft: #e6f5f7;--success: #137b4f;--warning: #9a6200;--danger: #b4232f;--info: #1f5f99;--radius: var(--radius-sm);--radius-pill: 999px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 32px;--text-xs: 11px;--text-sm: 12px;--text-body: 14px;--text-title: 17px;--text-display: 24px;--line-tight: 1.2;--line-body: 1.45;--shadow-overlay: 0 8px 24px rgb(0 0 0 / 18%);--focus-ring: 2px solid var(--accent);--breakpoint-tablet: 1024px;--breakpoint-mobile: 760px;--control-h: 44px;color:var(--text);background:var(--bg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html,body{min-width:320px;min-height:100vh}body{margin:0}button,input,textarea,select{font:inherit}button,[role=button],input[type=checkbox],input[type=radio]{touch-action:manipulation}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,a:focus-visible{outline:var(--focus-ring);outline-offset:2px}input,select,textarea{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);min-height:var(--control-h);padding:6px 9px}textarea{min-height:76px;resize:vertical}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.sr-only{block-size:1px;clip:rect(0 0 0 0);clip-path:inset(50%);inline-size:1px;overflow:hidden;position:absolute;white-space:nowrap}h1,h2,h3,h4,p{margin-block:0}h1{font-size:var(--text-display);line-height:var(--line-tight)}h2{font-size:var(--text-title);line-height:1.25}h3{font-size:14px;line-height:1.3}h4{font-size:13px;line-height:1.3}label{color:var(--soft);display:grid;gap:var(--space-1);font-size:13px;font-weight:600}.app-shell{background:var(--bg);display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr);min-height:100vh}.sidebar{background:var(--sidebar);border-inline-end:1px solid #102d49;display:flex;flex-direction:column;min-height:100vh;padding:12px 8px}.brand{align-items:center;display:flex;min-height:40px;margin:0 var(--space-2) var(--space-5)}.sidebar-primary-nav{padding-bottom:var(--space-3)}.sidebar-project-nav{border-top:1px solid #173451;margin-top:8px;padding-top:8px}.sidebar-section-label{color:#7890a8;font-size:10px;font-weight:750;letter-spacing:.08em;margin:var(--space-3) var(--space-2) var(--space-1);text-transform:uppercase}.sidebar-footer{border-top:1px solid #173451;margin-top:auto;padding-top:var(--space-3)}.sidebar-collapse{align-items:center;background:transparent;border:1px solid transparent;border-radius:var(--radius);color:#9fb3c8;cursor:pointer;display:flex;gap:var(--space-2);min-height:36px;padding:6px 8px;width:100%}.sidebar-collapse:hover{background:#123454;color:#fff}.progeyes-logo{align-items:center;display:inline-flex;min-width:0}.progeyes-logo img{display:block;height:auto;max-width:100%;object-fit:contain}.progeyes-logo-horizontal img{width:160px}.progeyes-logo-mark img{width:32px}.progeyes-logo-sm img{max-height:28px}.progeyes-logo-md img{max-height:36px}.progeyes-logo-lg img{max-height:48px}.nav-list{display:grid;gap:2px}.nav-list a{align-items:center;border-radius:var(--radius);color:#a9bbce;display:flex;gap:var(--space-2);min-height:var(--table-row-height);padding:8px 10px;text-decoration:none}.nav-list a.nav-list-nested{color:#8fa7bf;font-size:10px;min-height:30px;padding-inline-start:30px}.nav-list a.nav-list-nested.active,.nav-list a.nav-list-nested:hover{background:#102f4c;color:#fff}.nav-list a.nav-list-nested.active{box-shadow:inset 2px 0 #55b9ef;font-weight:650}.nav-list a.active,.nav-list a:hover{background:#155387;color:#fff}.nav-list a.active{box-shadow:inset 3px 0 #55b9ef;font-weight:700}.sidebar-collapsed{grid-template-columns:var(--sidebar-collapsed-width) minmax(0,1fr)}.sidebar-collapsed .brand{margin-inline:auto}.sidebar-collapsed .nav-list a{justify-content:center;padding-inline:0}.sidebar-collapsed .nav-list a span{display:none}.sidebar-collapsed .nav-list a .sidebar-item-icon{display:inline-flex}.sidebar-collapsed .nav-list a .sr-only{display:block}.sidebar-collapsed .sidebar-section-label{justify-content:center;font-size:0;padding-inline:0}.sidebar-collapsed .sidebar-section-label{min-height:8px}.sidebar-collapsed .sidebar-collapse{justify-content:center}.workspace{display:grid;grid-template-rows:auto 1fr;min-width:0}.topbar{align-items:center;background:var(--surface);border-bottom:1px solid var(--border);display:flex;justify-content:space-between;min-height:var(--topbar-height);padding:6px 20px}.topbar-leading{align-items:center;display:flex;gap:var(--space-3);min-width:0}.topbar-leading>.icon-button{display:none}.topbar-actions{align-items:center;display:flex;gap:var(--space-2)}.topbar-context,.topbar-breadcrumb,.user-identity{align-items:center;display:flex;gap:var(--space-2);min-width:0}.topbar-context{color:var(--muted);font-size:13px}.topbar-breadcrumb{color:var(--muted);font-size:13px;overflow:hidden}.topbar-breadcrumb-item{align-items:center;display:inline-flex;gap:var(--space-2);min-width:0}.topbar-breadcrumb-item a,.topbar-breadcrumb-item strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-breadcrumb-item strong{color:var(--text);font-weight:650}.topbar-context a{color:var(--muted)}.topbar-context strong{color:var(--text);font-weight:650}.topbar-separator{color:var(--border-strong)}.user-avatar{align-items:center;background:#dcecf7;border-radius:50%;color:#155387;display:inline-flex;flex:0 0 auto;font-size:11px;font-weight:800;height:30px;justify-content:center;width:30px}.user-identity-copy{display:grid;gap:1px;min-width:0}.user-identity-copy strong,.user-identity-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-identity-copy strong{font-size:12px}.user-identity-copy small{color:var(--muted);font-size:10px}.content{min-width:0;overflow-x:clip;padding:var(--space-5) var(--space-6) var(--space-7)}.toolbar,.filter-bar{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-2)}.progress-indicator{align-items:center;display:flex;gap:var(--space-2);min-width:120px}.progress-indicator-track{background:var(--border-subtle);border-radius:var(--radius-pill);flex:1;height:6px;min-width:48px;overflow:hidden}.progress-indicator-track span{background:var(--brand-cyan);display:block;height:100%}.sidebar-backdrop{display:none}.centered-page{align-items:center;background:var(--bg);display:grid;min-height:100vh;padding:20px;place-items:center}.login-page{background:var(--surface-2)}.login-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);display:grid;gap:var(--space-4);inline-size:min(390px,100%);padding:22px}.login-panel form,.dialog-form,.page-stack{display:grid;gap:var(--space-3)}.login-heading{display:grid;gap:var(--space-1)}.login-heading p,.metric-card span,.eyebrow,.empty-state{color:var(--muted)}.page-header{align-items:center;display:flex;gap:var(--space-3);justify-content:space-between}.page-header h2{font-size:18px;font-weight:650}.page-header-actions{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:end}.workspace-hero{background:var(--surface);border-bottom:1px solid var(--border);padding:0 0 var(--space-3)}.project-shell,.project-page{display:grid;gap:var(--space-3);min-width:0}.project-header{background:var(--surface);border:1px solid var(--border);border-radius:3px;display:grid;gap:6px;padding:7px 12px}.breadcrumb{align-items:center;color:var(--muted);display:flex;flex-wrap:wrap;font-size:12px;gap:var(--space-2)}.breadcrumb-item{align-items:center;display:inline-flex;gap:var(--space-2);min-width:0}.project-header-main{align-items:center;display:flex;gap:var(--space-3);justify-content:space-between;min-width:0}.project-header-main h1{font-size:17px;font-weight:650}.project-header-actions{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:end}.project-context-date{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-2)}.project-context-date input{inline-size:150px}.project-nav{align-items:center;border-bottom:1px solid var(--border);display:flex;background:var(--surface);gap:16px;max-inline-size:100%;overflow-x:auto;min-height:42px;padding:0 12px;scrollbar-width:thin}.project-nav a{align-items:center;border-bottom:2px solid transparent;color:var(--soft);display:inline-flex;flex:0 0 auto;font-size:12px;font-weight:550;gap:6px;min-height:42px;padding:4px 1px 3px;text-decoration:none;white-space:nowrap}.project-nav a.active,.project-nav a:hover{background:transparent;border-bottom-color:var(--accent);color:var(--accent)}.project-nav-icon{display:inline-flex;color:currentcolor}.route-filter{inline-size:min(460px,100%)}.button,.icon-button{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);cursor:pointer;display:inline-flex;justify-content:center}.button{gap:var(--space-2);min-height:var(--control-h);padding:6px 10px;white-space:nowrap}.button:hover:not(:disabled),.icon-button:hover:not(:disabled){border-color:var(--border-strong);background:var(--surface-2)}.button:disabled,.icon-button:disabled{color:var(--muted);cursor:not-allowed;opacity:.65}.button-primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:700}.button-primary:hover:not(:disabled){background:var(--accent);color:#fff}.button-danger{background:color-mix(in srgb,var(--danger) 10%,var(--surface));border-color:color-mix(in srgb,var(--danger) 55%,var(--border));color:var(--danger);font-weight:700}.button-danger:hover:not(:disabled){background:color-mix(in srgb,var(--danger) 18%,var(--surface));border-color:var(--danger);color:var(--danger)}.icon-button{height:var(--control-h);width:var(--control-h)}.panel{background:var(--surface);border:1px solid var(--border);border-radius:3px;display:grid;gap:var(--space-3);min-width:0;padding:12px}.panel-heading{align-items:center;display:flex;gap:var(--space-3);justify-content:space-between}.metric-grid{display:grid;gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.metric-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);display:grid;gap:var(--space-2);min-height:72px;padding:var(--space-3)}.metric-card a{color:var(--muted);font-size:var(--text-sm)}.metric-card a:hover{color:var(--accent)}.metric-card strong{color:var(--text);font-size:20px;line-height:1.15;overflow-wrap:anywhere}.muted-label{color:var(--muted);font-size:13px}.eyebrow{font-size:11px;font-weight:700;text-transform:uppercase}.workspace-grid{display:grid;gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));min-width:0}.workspace-grid-wide{grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr)}.progress-filters{align-items:end;display:grid;gap:var(--space-3);grid-template-columns:repeat(3,minmax(180px,1fr))}.progress-analysis-grid{display:grid;gap:var(--space-3);grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr)}.progress-chart{display:grid;gap:var(--space-2);margin:0;min-width:0}.progress-chart svg{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);display:block;min-height:220px;width:100%}.progress-chart line{stroke:var(--border-strong);stroke-width:1.5}.progress-chart text{fill:var(--muted);font-size:12px}.chart-grid-line{stroke:var(--border);stroke-dasharray:3 5}.chart-line{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:3}.chart-planned{stroke:#38bdf8}.chart-actual{stroke:#22c55e}.chart-point{stroke:var(--surface-2);stroke-width:2}.chart-planned-point{fill:#38bdf8}.chart-actual-point{fill:#22c55e}.chart-date{text-anchor:middle}.progress-chart figcaption{align-items:center;color:var(--muted);display:flex;flex-wrap:wrap;gap:var(--space-3)}.progress-chart figcaption span{align-items:center;display:inline-flex;gap:var(--space-1)}.legend-swatch{border-radius:var(--radius-pill);display:inline-block;height:9px;width:18px}.legend-swatch.planned{background:#38bdf8}.legend-swatch.actual{background:#22c55e}.portfolio-controls{align-items:end;display:grid;gap:var(--space-3);grid-template-columns:minmax(220px,1fr) minmax(150px,auto) minmax(150px,auto)}.search-field{position:relative}.search-field svg{color:var(--muted);inset-inline-start:9px;position:absolute;top:30px}.search-field input{padding-inline-start:32px}.project-card-grid{display:grid;gap:var(--space-3);grid-template-columns:repeat(5,minmax(0,1fr))}.project-card{min-width:0;background:var(--surface);border:1px solid var(--border);border-radius:8px;position:relative;overflow:hidden;transition:box-shadow .15s ease,transform .15s ease}.project-card:hover{box-shadow:0 4px 12px #17212b1f;transform:translateY(-1px)}.project-card-entry{color:inherit;display:block;height:100%;text-decoration:none}.project-card-entry:hover{text-decoration:none}.project-card-media{aspect-ratio:16 / 8.5;background:#d7dfe1;border-bottom:1px solid var(--border);overflow:hidden;position:relative}.project-card-plan{background-color:#bdcacc;background-image:linear-gradient(155deg,transparent 42%,rgb(255 255 255 / 58%) 43% 44%,transparent 45%),linear-gradient(25deg,transparent 48%,rgb(77 104 108 / 28%) 49% 50%,transparent 51%),repeating-linear-gradient(90deg,rgb(255 255 255 / 24%) 0 1px,transparent 1px 34px);inset:0;position:absolute;transform:scale(1.05)}.project-card-image{height:100%;inset:0;object-fit:cover;position:absolute;width:100%}.project-card-overlay{background:linear-gradient(to bottom,rgb(0 0 0 / 40%),transparent 55%,rgb(0 0 0 / 20%));inset:0;position:absolute}.project-card-topline{align-items:flex-start;color:#fff;display:flex;gap:7px;inset-block-start:0;inset-inline:0;padding:10px;position:absolute;text-shadow:0 1px 2px rgb(0 0 0 / 45%)}.project-card-topline h2{color:inherit;font-size:14px;font-weight:700;min-width:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;overflow-wrap:anywhere}.project-card-location{align-items:center;background:#00000061;border-radius:50%;display:inline-flex;flex:0 0 auto;height:24px;justify-content:center;width:24px}.project-card-chips{bottom:9px;display:flex;gap:5px;inset-inline:10px;overflow:hidden;position:absolute}.project-card-chips span{background:#ffffffeb;border:1px solid rgb(0 0 0 / 8%);border-radius:4px;color:#25343a;font-size:10px;max-width:42%;overflow:hidden;padding:3px 6px;text-overflow:ellipsis;white-space:nowrap}.project-card-body{display:grid;gap:9px;padding:11px 12px 12px}.project-card-owner{align-items:center;display:flex;gap:8px;min-width:0}.project-avatar{align-items:center;background:var(--accent-soft);border-radius:50%;color:var(--accent);display:inline-flex;flex:0 0 auto;font-size:10px;font-weight:800;height:30px;justify-content:center;width:30px}.project-card-owner>span:last-child{display:grid;gap:1px;min-width:0}.project-card-owner small,.project-card-footer,.project-card-metric span{color:var(--muted);font-size:11px}.project-card-owner strong{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-card-metric{display:grid;gap:5px}.project-card-metric>div:first-child,.project-card-footer{align-items:baseline;display:flex;gap:8px;justify-content:space-between}.project-card-metric strong{color:var(--text);font-size:11px;font-weight:650;text-align:end}.project-card-metric small{color:var(--muted);font-size:10px;white-space:nowrap}.project-card-track{background:var(--border);border-radius:2px;height:4px;overflow:hidden;position:relative}.project-card-track:after{background:var(--accent);content:"";inset-block:0;inset-inline-start:0;position:absolute;width:0}.project-card-track>span{background:var(--accent);display:block;height:100%}.project-card-trend{block-size:26px;inline-size:100%}.project-card-trend svg{block-size:100%;inline-size:100%;overflow:visible}.project-card-trend polyline{fill:none;stroke:var(--accent);stroke-linecap:round;stroke-linejoin:round;stroke-width:5;vector-effect:non-scaling-stroke}.project-card-footer{border-top:1px solid var(--border);padding-top:8px}.project-card-menu{background:#00000047;border-color:#fff6;color:#fff;inset-block-start:8px;inset-inline-end:8px;position:absolute;z-index:1}.project-card-menu:hover:not(:disabled){background:#0000007a;color:#fff}.project-card-menu+.project-card-entry{padding-inline-end:0}.project-card-entry:focus-visible{outline:var(--focus-ring);outline-offset:-3px}.project-card-plan:after{color:#22383b5c;content:"PROGEYES";font-size:clamp(18px,5vw,30px);font-weight:800;inset:42% 0 0;letter-spacing:2px;position:absolute;text-align:center}.project-card-plan+.project-card-overlay{pointer-events:none}.project-card-meta,.project-open-link{display:none}.project-card-title{align-items:end;bottom:0;display:flex;gap:var(--space-2);justify-content:space-between;inset-inline-start:0;padding:var(--space-3);position:absolute;inset-inline-end:0}.project-card-title h2{color:var(--text);overflow-wrap:anywhere}.project-card-meta{display:grid;gap:var(--space-2);margin:0;padding:var(--space-3)}.project-card-meta div{display:grid;gap:2px}.project-card-meta dt{color:var(--muted);font-size:12px}.project-card-meta dd{color:var(--text);margin:0;overflow-wrap:anywhere}.project-open-link{margin:0 var(--space-3) var(--space-3)}.layout-workspace-grid{display:grid;gap:var(--space-3);grid-template-columns:minmax(0,1fr) minmax(300px,360px);min-width:0}.layout-canvas-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);min-width:0;padding:var(--space-3)}.layout-inspector{align-content:start}.wbs-tree,.table-wrap{border:1px solid var(--border);border-radius:3px;max-inline-size:100%;min-width:0;overflow:auto}.wbs-workspace-panel{padding:14px}.wbs-management-toggle{justify-self:start}.wbs-explorer-header{align-items:end;display:flex;gap:16px;justify-content:space-between;margin-bottom:10px}.wbs-explorer-header h2{font-size:16px}.wbs-explorer-toolbar{align-items:end;display:flex;flex-wrap:wrap;gap:6px;justify-content:end}.wbs-date-field,.wbs-search-field{font-size:11px}.wbs-date-field input,.wbs-search-field input{min-height:36px;padding-block:5px}.wbs-search-field input{min-width:180px}.button-compact{min-height:36px;padding-block:5px}.wbs-table-wrap{border:1px solid var(--border);overflow-x:auto}.wbs-table{border-collapse:collapse;min-width:1060px;table-layout:fixed;width:100%}.wbs-table th,.wbs-table td{border-bottom:1px solid var(--border);padding:5px 7px;text-align:start;vertical-align:middle}.wbs-table th{background:var(--surface-2);color:var(--muted);font-size:10px;font-weight:750;letter-spacing:.02em;text-align:center}.wbs-table th:first-child,.wbs-table th:nth-child(2){text-align:start}.wbs-table td{color:var(--soft);font-size:11px;font-variant-numeric:tabular-nums;height:44px}.wbs-table tbody tr:hover,.wbs-table tbody tr.selected{background:color-mix(in srgb,var(--accent-soft) 42%,var(--surface))}.wbs-table th:first-child,.wbs-table td:first-child{width:92px}.wbs-table th:nth-child(2),.wbs-table td:nth-child(2){width:30%}.wbs-table th:nth-child(9),.wbs-table td:nth-child(9){width:100px}.wbs-table th:nth-child(10),.wbs-table td:nth-child(10){width:52px;text-align:center}.wbs-table th:nth-child(11),.wbs-table td:nth-child(11){width:52px;text-align:center}.wbs-table-node{align-items:center;background:transparent;border:0;color:inherit;cursor:pointer;display:flex;gap:7px;min-height:34px;padding-block:3px;text-align:start;width:100%}.wbs-table-node>span:last-child{display:grid;min-width:0}.wbs-table-node strong{color:var(--text);font-size:12px;font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wbs-table-node small{color:var(--muted);font-size:10px}.wbs-chevron{color:var(--accent);flex:0 0 12px;font-weight:800;text-align:center}.wbs-layout-cell{text-align:center!important}.wbs-layout-link{align-items:center;display:inline-flex;gap:4px;max-width:84px}.wbs-layout-link img,.wbs-layout-placeholder{background:var(--surface-2);border:1px solid var(--border);display:block;height:36px;object-fit:cover;width:56px}.wbs-360-indicator{background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 45%,var(--border));color:var(--accent);font-size:9px;font-weight:800;padding:2px 3px}.icon-button-small{font-size:14px;height:32px;width:32px}.wbs-tree{max-height:520px}.wbs-explorer{min-width:0}.wbs-node{align-items:center;background:transparent;border:0;border-bottom:1px solid var(--border);color:var(--soft);cursor:pointer;display:grid;gap:7px;grid-template-columns:18px minmax(96px,auto) minmax(0,1fr) auto;min-height:46px;padding-block:5px;text-align:start;width:100%}.wbs-node.selected,.wbs-node:hover{background:var(--surface-2);color:var(--text)}section[data-testid=project-wbs-page] .page-header{margin-block:-2px 0}section[data-testid=project-wbs-page] .panel{padding:10px}section[data-testid=project-wbs-page] .wbs-node:first-child{background:color-mix(in srgb,var(--accent-soft) 55%,var(--surface))}section[data-testid=project-wbs-page] .wbs-node>span:nth-child(2){color:var(--muted);font-size:10px;font-variant-numeric:tabular-nums}section[data-testid=project-wbs-page] .wbs-node>span:nth-child(3){font-size:12px;font-weight:550;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.action-grid,.viewer-stack{display:grid;gap:var(--space-3)}.observation-workspace{display:grid;gap:var(--space-3);grid-template-columns:minmax(360px,.9fr) minmax(0,1.1fr)}.observation-queue,.observation-detail-panel,.observation-action-panel{display:grid;gap:var(--space-3)}.observation-filters{align-items:end;display:grid;gap:var(--space-2);grid-template-columns:repeat(5,minmax(120px,1fr))}.workflow-strip{display:flex;flex-wrap:wrap;gap:var(--space-1)}.workflow-step{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);color:var(--muted);font-size:12px;font-weight:650;padding:5px 8px}.workflow-step.active{background:color-mix(in srgb,var(--success) 18%,var(--surface-2));color:var(--text)}.evidence-reference-grid{display:grid;gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr))}.compact-list{margin:0;padding-inline-start:var(--space-4)}.compact-form{border-top:1px solid var(--border);display:grid;gap:var(--space-2);padding-top:var(--space-3)}.button-row{display:flex;flex-wrap:wrap;gap:var(--space-2)}.button-row>.button,.button-row>.icon-button{min-width:44px}.layout-plane{aspect-ratio:16 / 9;background:linear-gradient(90deg,color-mix(in srgb,var(--border) 55%,transparent) 1px,transparent 1px),linear-gradient(color-mix(in srgb,var(--border) 55%,transparent) 1px,transparent 1px),var(--surface-2);background-size:10% 10%;border:1px solid var(--border);border-radius:var(--radius);direction:ltr;overflow:hidden;position:relative}.layout-plane img{height:100%;inset:0;object-fit:contain;position:absolute;width:100%}.layout-plane-document{border:0;height:100%;inset:0;pointer-events:none;position:absolute;width:100%}.capture-point-marker{align-items:center;background:var(--accent);border:1px solid var(--bg);border-radius:var(--radius);color:#fff;cursor:pointer;display:inline-flex;font-size:11px;font-weight:700;height:24px;justify-content:center;min-width:24px;padding:0 6px;position:absolute;transform:translate(-50%,-50%);z-index:1}.capture-point-marker.selected{box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 25%,transparent);outline:2px solid #ffffff}.evidence-media,.evidence-fallback{aspect-ratio:16 / 9;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;position:relative}.evidence-media{align-items:center;display:flex;justify-content:center}.evidence-media img{height:100%;object-fit:contain;width:100%}.evidence-media-360 img{object-fit:cover}.viewer-overlay{align-items:center;display:flex;gap:var(--space-1);position:absolute}.viewer-overlay-top{inset-inline-start:var(--space-2);top:var(--space-2)}.viewer-chip,.limit-pill,.status-badge{align-items:center;background:var(--surface-2);border-radius:var(--radius);display:inline-flex;font-size:11px;font-weight:650;gap:var(--space-1);line-height:1.2;padding:3px 6px;white-space:nowrap}.viewer-chip{color:var(--soft)}.limit-pill{color:var(--muted)}.limit-reached{color:var(--warning)}.viewer-controls{bottom:var(--space-2);display:flex;gap:var(--space-1);inset-inline-end:var(--space-2);position:absolute}.viewer-controls button{align-items:center;background:var(--elevated);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);cursor:pointer;display:inline-flex;height:28px;justify-content:center;width:28px}.inspection-workspace{align-items:start;display:grid;gap:var(--space-3);grid-template-columns:minmax(220px,.7fr) minmax(0,2.25fr) minmax(300px,.9fr)}.inspection-workspace:has(.inspection-viewer-immersive){background:#0b1015;color:#f5f7f8;gap:0;grid-template-columns:240px minmax(0,1fr) 300px;margin:calc(var(--space-5) * -1);min-height:calc(100vh - 74px)}.inspection-workspace:has(.inspection-viewer-immersive)>h2{display:none}.inspection-history,.inspection-inspector{max-height:calc(100vh - 220px);overflow:auto}.inspection-workspace:has(.inspection-viewer-immersive) .inspection-history,.inspection-workspace:has(.inspection-viewer-immersive) .inspection-inspector{background:#0f1214d1;border:1px solid rgb(255 255 255 / 9%);border-radius:0;color:#f5f7f8;max-height:none;min-height:calc(100vh - 74px);padding:12px}.inspection-main{display:grid;gap:var(--space-2);min-width:0}.inspection-context-bar{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:space-between;min-height:44px;padding:var(--space-2) var(--space-3)}.inspection-workspace:has(.inspection-viewer-immersive) .inspection-context-bar{background:#0f1214d1;border:1px solid rgb(255 255 255 / 9%);border-radius:8px;color:#fff;margin:10px;padding:8px 12px;position:absolute;z-index:6}.inspection-workspace:has(.inspection-viewer-immersive) .inspection-context-bar span{color:#ffffffad}.inspection-context-bar span{color:var(--muted)}.inspection-viewer{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);display:grid;grid-template-rows:auto minmax(420px,min(70vh,720px));min-width:0;overflow:hidden}.inspection-viewer-immersive{background:#0b1015;border:0;border-radius:0;grid-template-rows:auto minmax(520px,calc(100vh - 128px));min-height:calc(100vh - 74px)}.inspection-viewer-no-toolbar{grid-template-rows:minmax(420px,1fr)}.inspection-viewer-immersive.inspection-viewer-no-toolbar{grid-template-rows:minmax(520px,calc(100vh - 176px))}.viewer-toolbar{align-items:center;border-bottom:1px solid var(--border);display:flex;gap:var(--space-1);justify-content:flex-end;min-height:42px;padding:var(--space-1) var(--space-2)}.inspection-viewer-immersive .viewer-toolbar{background:#0f1214d1;border-bottom-color:#ffffff17;min-height:48px;padding-inline:12px;position:relative;z-index:7}.inspection-viewer-immersive .viewer-toolbar button,.inspection-viewer-immersive .viewer-mode{background:#ffffff14;border-color:#ffffff24;color:#f5f7f8}.viewer-toolbar button,.viewer-mode{align-items:center;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);display:inline-flex;gap:var(--space-1);min-height:32px;padding:0 var(--space-2)}.viewer-toolbar button{cursor:pointer}.viewer-mode{color:var(--muted)}.viewer-mode.active{background:color-mix(in srgb,var(--accent) 22%,var(--surface-2));color:var(--text)}.inspection-media{background:var(--surface-2);direction:ltr;min-height:420px;overflow:hidden;position:relative}.inspection-viewer-immersive .inspection-media{background:#050709;cursor:grab;min-height:520px;touch-action:none}.inspection-viewer-immersive .inspection-media.is-dragging{cursor:grabbing}.inspection-media-scale{height:100%;transform-origin:center;transition:transform .12s ease}.inspection-viewer-immersive .inspection-media-scale{transform:translate(calc(var(--viewer-yaw) * -.12)) translateY(calc(var(--viewer-pitch) * .35px)) scale(var(--viewer-zoom));width:200%}.inspection-media-scale.panorama-scale,.inspection-viewer-immersive .inspection-media-scale.panorama-scale{height:100%;transform:none;width:100%}.panorama-engine,.panorama-engine .psv-container{height:100%;min-height:inherit;width:100%}.inspection-media .evidence-media,.inspection-media .evidence-fallback{aspect-ratio:auto;border:0;border-radius:0;height:100%;min-height:inherit}.inspection-viewer-immersive .evidence-media-360 img{max-width:none;object-fit:cover;width:100%}.viewer-capture-label{background:#0f1214d1;border:1px solid rgb(255 255 255 / 10%);border-radius:8px;color:#fff;font-size:11px;font-weight:700;inset-block-start:16px;inset-inline-start:16px;letter-spacing:.04em;padding:8px 10px;position:absolute;text-transform:uppercase;z-index:4}.viewer-loading{align-items:center;background:#05070975;color:#ffffffc7;display:flex;font-size:12px;inset:0;justify-content:center;position:absolute;z-index:3}.annotation-marker{align-items:center;background:color-mix(in srgb,var(--danger) 75%,#ffffff);border:2px solid #ffffff;color:#fff;cursor:pointer;display:inline-flex;font-size:11px;font-weight:800;justify-content:center;position:absolute;z-index:5}.annotation-marker.point{border-radius:999px;height:30px;min-width:30px;padding:0 5px;transform:translate(-50%,-50%)}.annotation-marker.rect{background:color-mix(in srgb,var(--danger) 20%,transparent);border-color:var(--danger);transform:none}.annotation-marker.selected{box-shadow:0 0 0 5px color-mix(in srgb,var(--danger) 28%,transparent);outline:2px solid #ffffff}.note-detail-card,.compare-inspector{border-top:1px solid var(--border);display:grid;gap:var(--space-2);padding-top:var(--space-3)}.evidence-fallback{align-items:center;color:var(--muted);display:grid;gap:var(--space-2);justify-items:center;place-content:center}.metadata-grid{border:1px solid var(--border);border-radius:var(--radius);display:grid;grid-template-columns:minmax(120px,auto) minmax(0,1fr);overflow:hidden}.metadata-grid>span,.metadata-grid>strong{border-bottom:1px solid var(--border);padding:7px 9px}.metadata-grid>span{color:var(--muted)}.metadata-grid>strong{overflow-wrap:anywhere}.comparison-grid{display:grid;gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr))}.comparison-stage{background:#050709;display:grid;gap:2px;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto minmax(520px,1fr);min-height:calc(100vh - 128px);position:relative}.comparison-toolbar{align-items:center;background:#0f1214eb;border-bottom:1px solid rgb(255 255 255 / 10%);display:flex;gap:16px;grid-column:1 / -1;justify-content:space-between;min-height:52px;padding:7px 12px;position:relative;z-index:9}.comparison-toolbar-context,.comparison-toolbar-actions{align-items:center;display:flex;gap:9px;min-width:0}.comparison-toolbar-context{color:#ffffffb8;flex-wrap:wrap}.comparison-toolbar-context strong{color:#fff}.comparison-sync-status{color:var(--success);font-size:12px;font-weight:700;text-align:center}.comparison-toolbar-actions button{align-items:center;background:#ffffff14;border:1px solid rgb(255 255 255 / 14%);border-radius:5px;color:#fff;cursor:pointer;display:inline-flex;justify-content:center;min-height:36px;min-width:36px;padding:0 9px}.comparison-toolbar-actions button:hover,.comparison-toolbar-actions button:focus-visible{background:#2fbed038;border-color:var(--accent)}.comparison-pane-label{background:#050709c2;border:1px solid rgb(255 255 255 / 12%);border-radius:6px;display:grid;gap:2px;padding:7px 9px;position:absolute;top:62px;z-index:6}.comparison-pane-label span,.comparison-pane-label em{color:#ffffffad;font-size:11px;font-style:normal}.comparison-pane-label strong{color:#fff;font-size:13px}.comparison-pane-left{inset-inline-start:12px}.comparison-pane-right{inset-inline-end:12px}.comparison-activity-values{color:#ffffffb8;display:grid;gap:2px;list-style:none;margin:4px 0 0;padding:0}.comparison-activity-values li{display:flex;gap:8px;justify-content:space-between;min-width:150px}.comparison-activity-values li span{color:#fff;font-variant-numeric:tabular-nums}.comparison-pane-label a{color:var(--accent);font-size:11px;margin-top:3px}.comparison-stage .inspection-viewer{border:0;border-radius:0;grid-row:2;min-width:0}.comparison-stage .inspection-viewer .viewer-toolbar{display:none}.comparison-divider{align-items:center;background:#0f1214e0;border:1px solid rgb(255 255 255 / 18%);border-radius:50%;color:#fff;display:grid;font-size:10px;gap:2px;height:58px;inset-block-start:50%;justify-items:center;left:50%;padding:4px;position:absolute;transform:translate(-50%,-50%);width:58px;z-index:8}.comparison-divider strong{color:var(--success);font-size:9px;text-align:center}.capture-timeline{align-items:center;background:#0f1214eb;border-top:1px solid rgb(255 255 255 / 9%);display:flex;gap:8px;min-height:92px;overflow-x:auto;padding:10px 12px;scrollbar-width:thin}.capture-timeline button{background:#ffffff14;border:2px solid transparent;border-radius:5px;color:#fff;cursor:pointer;display:grid;flex:0 0 122px;gap:3px;min-height:64px;padding:3px;text-align:start}.capture-timeline button:hover,.capture-timeline button:focus-visible{border-color:#ffffffa6}.capture-timeline button.left-selected{border-color:#f0a04b}.capture-timeline button.right-selected{border-color:var(--success)}.inspection-media,.inspection-media .evidence-media,.inspection-media img{direction:ltr}.capture-timeline img{background:#2a3338;display:block;height:44px;object-fit:cover;width:100%}.capture-timeline time{color:#ffffffb8;font-size:10px}.capture-timeline .timeline-marker{color:#f0a04b;font-size:9px;font-weight:700;text-transform:uppercase}.comparison-grid .json-preview{grid-column:1 / -1}.comparison-side{display:grid;gap:var(--space-2)}.alert{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);display:grid;gap:var(--space-1);padding:var(--space-3)}.alert-danger{color:var(--danger)}.alert-success{color:var(--success)}.alert-info{color:var(--info)}table{background:transparent;border-collapse:collapse;inline-size:100%}th,td{border-bottom:1px solid var(--border);padding:7px 9px;text-align:start;vertical-align:top}th{background:var(--surface-2);color:var(--muted);font-size:12px;font-weight:700;position:sticky;top:0;z-index:1}tr:hover td{background:var(--surface-2)}.status-badge{align-items:center;border:0;border-radius:0;background:transparent;color:var(--muted);display:inline-flex;flex:0 0 auto;font-size:11px;font-weight:550;gap:var(--space-1);line-height:1;padding:2px 0;white-space:nowrap}.status-badge:before{background:currentcolor;border-radius:50%;content:"";display:inline-block;height:6px;width:6px}.status-success{background:color-mix(in srgb,var(--success) 12%,transparent);color:var(--success)}.status-warning{background:color-mix(in srgb,var(--warning) 12%,transparent);color:var(--warning)}.status-danger{background:color-mix(in srgb,var(--danger) 12%,transparent);color:var(--danger)}.status-info{background:color-mix(in srgb,var(--info) 12%,transparent);color:var(--info)}.loading-state{align-items:center;color:var(--soft);display:inline-flex;gap:var(--space-2)}.loading-skeleton{animation:loading-pulse 1.4s ease-in-out infinite;background:var(--border-strong);border-radius:var(--radius);display:inline-block;height:10px;inline-size:72px;opacity:.55}.loading-state svg{animation:spin 1s linear infinite}.data-date{align-items:center;display:flex;gap:var(--space-2)}.dialog-backdrop{background:#0f172a7f;inset:0;padding:20px;position:fixed;z-index:20}.drawer-backdrop{background:#0f172a73;inset:0;padding:var(--space-3);position:fixed;z-index:25}.drawer{background:var(--elevated);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-overlay);display:grid;gap:var(--space-3);inline-size:min(420px,100%);max-block-size:calc(100vh - 32px);overflow:auto;padding:var(--space-4)}.drawer-header{align-items:center;display:flex;justify-content:space-between}.drawer-toggle{display:none}.skeleton{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-3)}.dialog{background:var(--elevated);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-overlay);inline-size:min(500px,100%);margin:10vh auto 0;padding:var(--space-4)}.dialog-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--space-3)}.toast{align-items:center;background:var(--elevated);border:1px solid var(--border);border-radius:var(--radius);bottom:var(--space-4);box-shadow:var(--shadow-overlay);color:var(--text);display:flex;gap:var(--space-2);inset-inline-end:var(--space-4);padding:8px 10px;position:fixed;z-index:30}.json-preview{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);color:var(--soft);font-size:12px;margin:0;max-height:240px;overflow:auto;padding:var(--space-3)}.note-detail{background:var(--surface-2);border:1px solid var(--border);border-inline-start:3px solid var(--accent);border-radius:var(--radius);display:grid;gap:var(--space-1);padding:var(--space-3)}@keyframes spin{to{rotate:360deg}}@keyframes loading-pulse{50%{opacity:.25}}@media(max-width:1024px){.app-shell{grid-template-columns:var(--sidebar-width) minmax(0,1fr)}.workspace-grid,.workspace-grid-wide,.progress-analysis-grid,.inspection-workspace,.observation-workspace,.observation-filters,.evidence-reference-grid,.layout-workspace-grid,.comparison-grid{grid-template-columns:1fr}.comparison-stage{grid-template-columns:1fr;grid-template-rows:auto repeat(2,minmax(360px,1fr))}.inspection-workspace:has(.inspection-viewer-immersive){grid-template-columns:1fr}.inspection-workspace:has(.inspection-viewer-immersive) .inspection-history,.inspection-workspace:has(.inspection-viewer-immersive) .inspection-inspector{min-height:auto;max-height:none}.comparison-stage .inspection-viewer{grid-column:1;grid-row:auto}.inspection-history,.inspection-inspector{max-height:none}.portfolio-controls,.progress-filters{grid-template-columns:1fr}.project-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:1500px)and (min-width:1025px){.project-card-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:900px)and (min-width:761px){.project-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.app-shell{grid-template-columns:1fr}.sidebar{border-inline-end:1px solid #173451;bottom:0;box-shadow:var(--shadow-overlay);left:0;max-width:280px;position:fixed;top:0;transform:translate(-105%);transition:transform .16s ease;width:min(82vw,280px);z-index:20}[dir=rtl] .sidebar{left:auto;right:0;transform:translate(105%)}.mobile-nav-open .sidebar{transform:translate(0)}.sidebar-backdrop{background:#040b1285;border:0;display:block;inset:0;position:fixed;z-index:15}.sidebar-collapsed .sidebar{width:min(82vw,280px)}.sidebar-collapsed .sidebar .nav-list a{justify-content:flex-start;padding-inline:10px}.sidebar-collapsed .sidebar .nav-list a span,.sidebar-collapsed .sidebar .sidebar-section-label{display:flex;font-size:inherit}.sidebar-collapsed .sidebar .sidebar-section-label{min-height:auto}.topbar-leading>.icon-button{display:inline-flex}.page-header,.project-header-main{align-items:stretch;flex-direction:column}.topbar{min-height:60px;padding:8px 12px}.project-header-actions,.page-header-actions{justify-content:start}.project-nav a{min-height:44px}.project-card-grid{grid-template-columns:1fr}.drawer-toggle{display:inline-flex}.content{padding:var(--space-3)}}.reports-workspace{display:grid;gap:var(--space-4);grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}.report-builder,.report-preview-panel,.report-history{min-width:0}.report-builder{grid-column:1}.report-preview-panel{grid-column:2;grid-row:1}.report-history{grid-column:1 / -1}.report-steps{display:grid;gap:var(--space-3)}.report-step{border:1px solid var(--border);margin:0;min-inline-size:0;padding:var(--space-3)}.report-step legend{align-items:center;display:flex;font-weight:700;gap:var(--space-2);padding:0 var(--space-2)}.report-step legend span{align-items:center;background:var(--accent);border-radius:50%;color:var(--surface);display:inline-flex;height:24px;justify-content:center;width:24px}.report-type-option{align-items:flex-start;display:flex;gap:var(--space-2)}.report-type-option input{margin-top:3px}.report-type-option span{display:grid;gap:3px}.report-type-option small,.form-hint,.muted{color:var(--muted)}.report-sections{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4)}.report-sections label{align-items:center;display:flex;gap:var(--space-2)}.report-actions{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-2)}.inline-status{border-inline-start:3px solid var(--accent);margin:var(--space-3) 0 0;padding-inline-start:var(--space-2)}@media(max-width:900px){.reports-workspace{grid-template-columns:1fr}.report-builder,.report-preview-panel,.report-history{grid-column:1;grid-row:auto}}
