@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap";.app-shell{--pi-chat-width:480px}.pi-chat-launcher{right:max(24px, env(safe-area-inset-right,0px));bottom:max(24px, env(safe-area-inset-bottom,0px));z-index:25;width:56px;height:56px;color:var(--text);background:var(--surface);box-shadow:var(--shadow-md);border:0;border-radius:16px;justify-content:center;align-items:center;padding:10px;transition:transform .18s cubic-bezier(.16,1,.3,1),box-shadow .18s;display:inline-flex;position:fixed}@media (hover:hover) and (pointer:fine){.pi-chat-launcher:hover{transform:translateY(-3px);box-shadow:0 12px 28px #3c404338}}.pi-chat-launcher:active{box-shadow:var(--shadow-sm);transform:translateY(0)}.pi-chat-launcher:focus-visible{outline:2px solid var(--primary);outline-offset:4px}@media (prefers-reduced-motion:reduce){.pi-chat-launcher{transition:box-shadow .16s}.pi-chat-launcher:hover,.pi-chat-launcher:active{transform:none}}.pi-assistant-mark{flex:none;width:36px;height:36px;display:block}.pi-assistant-bubble{fill:var(--surface)}.pi-chat-heading .pi-assistant-mark{width:32px;height:32px}.pi-chat-heading .pi-assistant-bubble,.pi-chat-empty .pi-assistant-bubble{fill:var(--primary-soft)}.pi-chat-launcher[hidden],.pi-chat-panel[hidden]{display:none}.app-shell:has(.observation-actions,.annotation-workspace-actions) .pi-chat-launcher{bottom:max(96px, env(safe-area-inset-bottom,0px))}.pi-chat-panel{z-index:35;width:min(var(--pi-chat-width), 100%);min-width:0;height:100dvh;color:var(--text);background:var(--surface);border-left:1px solid var(--outline-strong);padding-right:env(safe-area-inset-right,0px);padding-bottom:env(safe-area-inset-bottom,0px);overscroll-behavior:contain;flex-direction:column;display:flex;position:fixed;inset:0 0 0 auto}.pi-chat-header{border-bottom:1px solid var(--outline);justify-content:space-between;align-items:center;gap:8px;min-height:36px;padding:2px 8px 2px 14px;display:flex}.pi-chat-heading{min-width:0;color:var(--muted);align-items:center;gap:6px;font-size:.75rem;font-weight:600;display:flex}.pi-chat-accessible-title{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.pi-chat-resizer{z-index:2;cursor:col-resize;touch-action:none;width:10px;position:absolute;inset:0 auto 0 -5px}.pi-chat-resizer:after{content:"";background:0 0;width:2px;position:absolute;inset:0 auto 0 4px}.pi-chat-resizer:hover:after,.pi-chat-resizer:focus-visible:after,.pi-chat-resizing .pi-chat-resizer:after{background:var(--primary-strong)}.pi-chat-resizer:focus-visible{outline:2px solid var(--primary-strong);outline-offset:-3px}.pi-chat-resizing .pi-chat-frame{pointer-events:none}.pi-chat-continuation-error{color:#7a3c00;background:var(--amber-soft);margin:0;padding:10px 14px;font-size:.8125rem;line-height:1.6}.pi-chat-tools{flex:none;gap:2px;display:flex}.pi-chat-tools button,.pi-chat-tools a{width:32px;min-height:32px;color:var(--muted);border-radius:var(--radius-sm);background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.pi-chat-tools button:hover,.pi-chat-tools a:hover{color:var(--primary-strong);background:var(--primary-soft)}.pi-chat-tools button:disabled{opacity:.45;cursor:default}.pi-chat-tools button:focus-visible{outline:2px solid var(--primary-strong);outline-offset:1px}.pi-chat-session-hint{color:var(--muted);border-bottom:1px solid var(--outline);margin:0;padding:10px 18px;font-size:.75rem}.pi-chat-status{background:var(--primary-wash);color:var(--muted);padding:10px 18px;font-size:.75rem}.pi-chat-status strong{font-weight:500}.pi-chat-status p{margin:4px 0 0}.pi-chat-unavailable{color:#7a3c00;background:var(--amber-soft)}.pi-chat-frame{background:var(--surface);border:0;flex:1;width:100%;min-height:0;display:block}.pi-chat-empty{flex-direction:column;flex:1;justify-content:center;align-items:flex-start;padding:32px;display:flex}.pi-chat-empty .pi-assistant-mark{width:52px;height:52px;margin-bottom:20px}.pi-chat-empty h3{font-size:1rem}.pi-chat-empty p{max-width:32ch;color:var(--muted);margin:0}@media (width>=1440px){.app-shell:has(.pi-chat-panel:not([hidden])) .main-column{padding-right:var(--pi-chat-width)}}@media (width<=860px){.pi-chat-panel{top:var(--visual-viewport-top,0px);width:100%;height:var(--visual-viewport-height,100dvh);padding-top:env(safe-area-inset-top,0px);padding-left:env(safe-area-inset-left,0px);border-left:0;bottom:auto}.pi-chat-header{min-height:44px;padding-inline:14px 6px}.pi-chat-tools button,.pi-chat-tools a{width:40px;min-height:40px}.pi-chat-heading{gap:7px}.pi-chat-launcher{right:max(16px, env(safe-area-inset-right,0px));bottom:max(16px, env(safe-area-inset-bottom,0px))}}@media print{.pi-chat-launcher,.pi-chat-panel{display:none}.app-shell:has(.pi-chat-panel:not([hidden])) .main-column{padding-right:0}}.sensor-monitor{min-width:0}.monitor-toolbar,.monitor-product-controls{flex-wrap:wrap;align-items:end;gap:16px;margin-bottom:20px;display:flex}.monitor-toolbar>span,.monitor-meta,.monitor-section-heading>span{color:var(--muted);font-size:.75rem}.monitor-toolbar label,.monitor-product-controls label{color:var(--muted);gap:6px;font-size:.75rem;display:grid}.sensor-monitor select,.sensor-monitor input:not([type=checkbox]){background:var(--surface);min-height:36px;color:var(--text);border:1px solid var(--outline-strong);border-radius:var(--density-radius);font:inherit;padding:7px 10px}.sensor-monitor :focus-visible{outline:2px solid var(--primary);outline-offset:3px}.monitor-notice{color:#7a3c00;background:var(--amber-soft);border-radius:var(--radius-md);align-items:start;gap:10px;margin-bottom:16px;padding:14px 16px;display:flex}.monitor-notice svg{flex-shrink:0;margin-top:2px}.monitor-notice p{margin:0 0 4px}.monitor-notice.refreshing{background:var(--blue-soft);color:var(--primary-deep)}.monitor-section-heading{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:12px;display:flex}.monitor-section-heading h2{margin:0;font-size:1rem;font-weight:600}.monitor-alerts{background:var(--surface);border:1px solid var(--outline);border-radius:var(--radius-lg);margin-bottom:20px;padding:18px 20px}.monitor-alerts ul{margin:0;padding:0;list-style:none}.monitor-alerts li{border-top:1px solid var(--outline);align-items:start;gap:12px;padding:12px 0;display:flex}.monitor-alerts li>svg{color:#b3261e;flex-shrink:0;margin-top:2px}.monitor-alerts p{margin:4px 0}.monitor-alerts small{color:var(--muted)}.monitor-clear{color:var(--muted);align-items:center;gap:8px;margin:0;display:flex}.monitor-clear svg{color:var(--success-strong)}.monitor-runtime{background:var(--surface);border:1px solid var(--outline);border-radius:var(--radius-lg);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.monitor-runtime>div{padding:18px 20px;position:relative}.monitor-runtime>div+div{border-left:1px solid var(--outline)}.monitor-runtime h3{margin:0 0 16px;font-size:.875rem;font-weight:600}.monitor-runtime p{margin:0 0 6px}.monitor-runtime small{color:var(--muted)}.monitor-runtime .monitor-status{float:right;margin-left:8px}.monitor-status{white-space:nowrap;border-radius:4px;padding:2px 7px;font-size:.75rem;font-weight:500;display:inline-block}.monitor-status.healthy{background:var(--success-soft);color:var(--success-strong)}.monitor-status.problem,.monitor-anomaly{background:var(--error-soft);color:#b3261e}.monitor-status.unknown{background:var(--surface-strong);color:var(--muted)}.monitor-anomaly{border-radius:4px;padding:2px 7px}.monitor-meta{margin:8px 0 28px}.monitor-totals{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin:0 0 24px;display:grid}.monitor-totals dt{color:var(--muted);font-size:.75rem}.monitor-totals dd{font-variant-numeric:tabular-nums;margin:6px 0 0;font-size:1.5rem;font-weight:600}.monitor-totals dd small{color:var(--muted);font-size:.875rem;font-weight:400}.monitor-trend{margin:0 0 28px}.monitor-trend-window{color:var(--muted);margin:0 0 12px;font-size:.75rem}.monitor-chart{min-width:0;height:220px;overflow:hidden}.monitor-products{background:var(--surface);border:1px solid var(--outline);border-radius:var(--radius-lg);padding:20px 0 0;overflow:hidden}.monitor-products>.monitor-section-heading,.monitor-product-controls{padding:0 20px}.monitor-search{flex:1;min-width:200px}.monitor-checkbox{flex-direction:row;align-items:center;min-height:36px;display:flex!important}.monitor-checkbox input{width:17px;height:17px;accent-color:var(--primary);flex:none;margin:0}.monitor-table-scroll{width:100%;overflow-x:auto}.monitor-table{border-collapse:collapse;white-space:nowrap;font-variant-numeric:tabular-nums;width:100%;font-size:.8125rem}.monitor-table th{color:var(--muted);background:var(--surface-subtle);font-weight:500}.monitor-table th,.monitor-table td{border-top:1px solid var(--outline);text-align:right;padding:12px 16px}.monitor-table th:first-child,.monitor-table td:first-child{text-align:left}.monitor-product-toggle{font:inherit;color:var(--primary-strong);cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:3px 0;display:inline-flex}.monitor-product-toggle:hover{text-underline-offset:3px;text-decoration:underline}.monitor-product-detail{white-space:normal;text-align:left;max-width:100%}.monitor-product-detail dl{flex-wrap:wrap;gap:16px 28px;margin:0;display:flex}.monitor-product-detail dt{color:var(--muted);font-size:.75rem}.monitor-product-detail dd{margin:4px 0 0;font-weight:600}.monitor-product-detail p{color:var(--muted);max-width:75ch;margin:12px 0 0}.monitor-pagination{border-top:1px solid var(--outline);justify-content:end;align-items:center;gap:12px;padding:12px 20px;display:flex}.monitor-pagination>span{color:var(--muted);margin-right:auto}.monitor-history,.monitor-definitions{margin-top:24px}.sensor-monitor summary{cursor:pointer;padding:8px 0;font-weight:500}.monitor-history ol{padding:0;list-style:none}.monitor-history li{border-bottom:1px solid var(--outline);padding:12px 0}.monitor-history .monitor-status{margin-left:12px}.monitor-history p{color:var(--muted);margin:6px 0 0;font-size:.75rem}.monitor-definitions p{max-width:75ch;color:var(--muted);font-size:.8125rem}@media (width<=760px){.monitor-runtime{grid-template-columns:1fr}.monitor-runtime>div+div{border-left:0;border-top:1px solid var(--outline)}.monitor-totals{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px}.monitor-totals dd{font-size:1.25rem}.monitor-toolbar>span{width:100%}.sensor-monitor select,.sensor-monitor input:not([type=checkbox]),.monitor-product-toggle{min-height:44px}.sensor-monitor select,.sensor-monitor input:not([type=checkbox]){font-size:1rem}.monitor-checkbox{min-height:44px}.monitor-pagination{flex-wrap:wrap;gap:8px}.monitor-pagination>span{flex-basis:100%}.monitor-alerts,.monitor-runtime>div{padding:16px}.monitor-products>.monitor-section-heading,.monitor-product-controls{padding:0 16px}.monitor-product-controls>label{width:100%}.monitor-chart{height:190px}}:root{color:#202124;font-synthesis:none;text-rendering:optimizelegibility;--primary:#2563eb;--primary-strong:#1d4ed8;--primary-deep:#174ea6;--primary-soft:#eef3ff;--primary-wash:#f6f8fb;--success:#34a853;--success-strong:#188038;--success-soft:#e6f4ea;--canvas:#f7f8fa;--surface:#fff;--surface-raised:#fff;--surface-subtle:#f7f8fa;--surface-strong:#e8eaed;--text:#202124;--muted:#5f6368;--faint:#66717d;--outline:#e1e5eb;--outline-strong:#cbd2dc;--blue:#4285f4;--blue-soft:#e8f0fe;--yellow:#fbbc04;--amber:#e37400;--amber-soft:#fef7e0;--plum:#715476;--plum-soft:#eee6ef;--error:#ea4335;--error-soft:#fce8e6;--shadow-sm:0 1px 2px #3c404314, 0 2px 6px #3c40430d;--shadow-md:0 8px 24px #3c404329;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--font-size-page-title:1.5rem;--font-size-body:.875rem;--font-size-control:.875rem;--font-size-label:.75rem;--density-control:36px;--density-control-sm:32px;--density-field:36px;--density-field-touch:44px;--density-row-y:12px;--density-row-x:16px;--density-gap:16px;--density-form-gap:20px;--density-radius:6px;background:#f8f9fa;font-family:Inter,PingFang SC,Microsoft YaHei,ui-sans-serif,system-ui,sans-serif}*{box-sizing:border-box}html{background:var(--canvas)}body{background:var(--canvas);min-width:320px;min-height:100vh;font-size:var(--font-size-body);margin:0;line-height:1.5}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}h1{font-size:var(--font-size-page-title);letter-spacing:0;overflow-wrap:anywhere;margin-bottom:8px;font-weight:600;line-height:1.35}h2{margin-bottom:0;font-size:1rem;font-weight:600;line-height:1.5}h3{margin-bottom:8px;font-size:.875rem;font-weight:600;line-height:1.5}:focus-visible{outline:2px solid var(--primary);outline-offset:3px}::selection{color:var(--primary-deep);background:var(--primary-soft)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.mono,code{font-family:JetBrains Mono,ui-monospace,monospace}.app-shell{min-height:100vh}.sidebar{z-index:30;width:236px;color:var(--text);background:var(--surface);border-right:1px solid var(--outline);box-shadow:none;flex-direction:column;display:flex;position:fixed;inset:0 auto 0 0}.brand-block{align-items:center;gap:12px;min-height:88px;padding:0 20px;display:flex}.brand-mark{background:#fff;border-radius:10px;flex:none;place-items:center;width:38px;height:38px;display:grid;overflow:hidden;box-shadow:inset 0 0 0 1px #dadce0}.company-mark-image{object-fit:contain;width:100%;height:100%;display:block}.brand-copy{gap:3px;min-width:0;display:grid}.brand-block strong{letter-spacing:-.015em;text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;overflow:hidden}.brand-block small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}.sidebar-close{color:var(--primary-strong);border-radius:var(--radius-sm);background:0 0;border:0;margin-left:auto;padding:8px;display:none}.sidebar-nav{flex:1;padding:8px 12px;overflow-y:auto}.nav-section{color:var(--faint);margin:24px 12px 8px;font-size:.75rem;font-weight:400}.nav-section:first-child{margin-top:4px}.sidebar-nav a{min-height:40px;color:var(--muted);border-radius:6px;align-items:center;gap:12px;margin:4px 0;padding:0 12px;font-size:.875rem;font-weight:400;transition:color .16s,background .16s;display:flex;position:relative}.sidebar-nav a svg{color:var(--faint);transition:color .18s}.sidebar-nav a:hover{color:var(--primary-strong);background:#f1f3f4}.sidebar-nav a:hover svg{color:var(--primary)}.sidebar-nav a.active{color:var(--primary-strong);background:var(--primary-soft);font-weight:500}.sidebar-nav a.active:before{content:none}.sidebar-nav a.active svg{color:var(--primary-strong)}.sidebar-footer{border-top:1px solid var(--outline);flex:none;padding:4px 12px;position:relative}.sidebar-account-trigger{width:100%;height:40px;color:var(--text);border-radius:var(--radius-sm);text-align:left;background:0 0;border:0;align-items:center;gap:8px;padding:0 8px;display:flex}.sidebar-account-trigger:hover,.sidebar-account-trigger[aria-expanded=true]{background:var(--surface-subtle)}.sidebar-account-trigger .avatar{width:28px;height:28px}.sidebar-account-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.8125rem;font-weight:500;overflow:hidden}.sidebar-account-role{color:var(--muted);white-space:nowrap;flex:none;font-size:.75rem}.sidebar-account-trigger>svg{color:var(--faint);flex:none}.sidebar-account-menu{z-index:1;border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-md);gap:2px;padding:4px;display:grid;position:absolute;bottom:calc(100% + 4px);left:12px;right:12px}.sidebar-account-menu>a,.sidebar-account-menu>button{width:100%;min-height:40px;color:var(--text);border-radius:var(--radius-sm);text-align:left;background:0 0;border:0;align-items:center;gap:10px;padding:0 10px;font-size:.8125rem;display:flex}.sidebar-account-menu>a:hover,.sidebar-account-menu>button:hover{color:var(--primary-strong);background:var(--surface-subtle)}.sidebar-account-menu svg{color:var(--faint);flex:none}.sidebar-account-menu .sidebar-account-logout{border-top:1px solid var(--outline);border-radius:0 0 var(--radius-sm) var(--radius-sm);margin-top:2px}.avatar{width:32px;height:32px;color:var(--muted);background:var(--surface-subtle);border-radius:50%;flex:none;place-items:center;font-size:.75rem;font-weight:500;display:grid}.avatar.large{border-radius:10px;width:38px;height:38px;font-size:.9rem}.main-column{background:var(--canvas);min-height:100vh;padding-left:236px}.main-content{width:min(100%,1440px);margin:0 auto;padding:32px 40px 48px}.main-content:has(>.observation-page){width:100%;max-width:1760px}.mobile-header{display:none}.page-header{justify-content:space-between;align-items:center;gap:24px;margin-bottom:24px;display:flex}.page-header-copy{min-width:0}.eyebrow{color:var(--primary);font-size:var(--font-size-label);letter-spacing:.15em;text-transform:uppercase;margin-bottom:9px;font-weight:700}.page-description,.form-hint{max-width:720px;color:var(--muted);margin-bottom:0;font-size:.875rem;line-height:1.6}.page-actions,.card-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.back-link{color:var(--muted);align-items:center;gap:7px;margin-bottom:14px;font-size:.75rem;font-weight:700;transition:color .16s,transform .16s;display:inline-flex}.back-link:hover{color:var(--primary);transform:translate(-2px)}.form-page{width:min(100%,880px);margin:0 auto}.form-page.form-page-wide{width:min(100%,1100px)}.surface-card.form-page-card{padding:24px}.button{min-width:0;max-width:100%;min-height:var(--density-control);border-radius:var(--density-radius);font-size:var(--font-size-control);text-align:center;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:6px 14px;font-weight:500;line-height:1.5;transition:color .16s,border-color .16s,background .16s;display:inline-flex}.button>svg,.text-button>svg,.table-detail-link>svg,.search-box>svg{flex:none}.button.primary{color:#fff;background:var(--primary)}.button.primary:hover{background:var(--primary-strong)}.button.secondary{color:var(--text);border-color:var(--outline-strong);background:var(--surface)}.button.secondary:hover{background:var(--primary-wash);border-color:#aecbfa}.button.small{min-height:var(--density-control-sm);border-radius:var(--density-radius);padding:4px 12px;font-size:.8125rem}.button.danger{color:#fff;background:var(--error)}.button.danger:hover{background:#d93025}.button.danger-ghost{color:var(--error);background:#fff;border-color:#f4b5ae}.button:disabled{cursor:not-allowed;opacity:.55;box-shadow:none}.icon-button{width:var(--density-control-sm);height:var(--density-control-sm);color:var(--muted);border:1px solid var(--outline);background:#fff;border-radius:7px;place-items:center;padding:0;transition:color .16s,border-color .16s,background .16s;display:inline-grid}.icon-button:hover{color:var(--primary);background:var(--primary-wash);border-color:#aecbfa}.icon-button.danger:hover{color:var(--error);background:var(--error-soft);border-color:#f4b5ae}.text-link{color:var(--primary);font-size:.78rem;font-weight:700}.research-pulse{min-height:168px;color:var(--text);box-shadow:var(--shadow-sm);background:linear-gradient(120deg,#fff 0%,#f8f9fa 55%,#e6f4ea 100%);border:1px solid #ceead6;border-radius:16px;grid-template-columns:minmax(260px,1.25fr) minmax(150px,.55fr) minmax(220px,.8fr);align-items:center;gap:22px;margin-bottom:14px;padding:24px 28px;display:grid;position:relative;overflow:hidden}.research-pulse:after{content:"";border:1px solid #34a8531f;border-radius:50%;width:340px;height:340px;position:absolute;bottom:-160px;right:-120px;box-shadow:0 0 0 44px #34a85308,0 0 0 88px #34a85305}.pulse-heading,.pulse-active,.pulse-progress{z-index:1;position:relative}.pulse-heading .eyebrow{color:var(--success-strong)}.pulse-heading h2{margin-bottom:9px;font-size:clamp(1.35rem,2vw,1.7rem)}.pulse-heading p:last-child{max-width:500px;color:var(--muted);margin-bottom:0;font-size:.84rem;line-height:1.65}.pulse-active{border-left:1px solid #ceead6;border-right:1px solid #ceead6;align-content:center;min-height:98px;padding:0 22px;display:grid}.pulse-active span,.pulse-progress span{color:var(--muted);font-size:var(--font-size-label);font-weight:600}.pulse-active strong{letter-spacing:-.07em;margin:2px 0;font-family:JetBrains Mono,monospace;font-size:2.65rem;font-weight:500;line-height:1}.pulse-active small,.pulse-progress small{color:var(--faint);font-size:var(--font-size-label)}.pulse-progress{gap:11px;display:grid}.pulse-progress>div{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.pulse-progress strong{font-family:JetBrains Mono,monospace;font-size:1.15rem;font-weight:500}.progress-track{background:var(--success-soft);border-radius:99px;height:7px;display:block;overflow:hidden}.progress-track>span{border-radius:inherit;background:var(--success);height:100%;display:block}.dashboard-focus{background:var(--amber-soft);box-shadow:var(--shadow-sm);border:1px solid #f6d78b;border-radius:14px;grid-template-columns:minmax(280px,1fr) minmax(360px,.8fr);align-items:center;gap:24px;margin-bottom:14px;padding:22px 24px;display:grid}.dashboard-focus.is-clear{background:var(--success-soft);border-color:#ceead6}.dashboard-focus-heading .eyebrow{color:#b06000;margin-bottom:6px}.dashboard-focus.is-clear .dashboard-focus-heading .eyebrow{color:var(--success-strong)}.dashboard-focus-heading h2{margin-bottom:6px}.dashboard-focus-heading p:last-child{color:var(--muted);margin:0;font-size:.78rem;line-height:1.55}.dashboard-focus-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.focus-metric{min-height:72px;color:var(--text);background:#ffffffb8;border:1px solid #b0600033;border-radius:9px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;padding:12px;display:grid}.dashboard-focus.is-clear .focus-metric{border-color:#1880382e}.focus-metric svg{color:#b06000}.dashboard-focus.is-clear .focus-metric svg{color:var(--success-strong)}.focus-metric span{color:var(--muted);font-size:var(--font-size-label);font-weight:600}.focus-metric strong{font-family:JetBrains Mono,monospace;font-size:1.55rem;font-weight:500}.focus-metric:hover{box-shadow:var(--shadow-sm);background:#fff}.metric-grid{gap:var(--density-gap);grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:14px;display:grid}.metric-grid-compact{grid-template-columns:repeat(3,minmax(0,1fr))}.metric-card{border:1px solid var(--outline);min-height:86px;box-shadow:var(--shadow-sm);background:#fff;border-radius:10px;align-items:center;gap:12px;padding:14px 16px;display:flex}.metric-card>div{gap:3px;display:grid}.metric-card span{color:var(--muted);font-size:var(--font-size-label);font-weight:600}.metric-card strong{letter-spacing:-.045em;font-family:JetBrains Mono,monospace;font-size:1.48rem;font-weight:500}.metric-icon{border-radius:9px;flex:none;place-items:center;width:38px;height:38px;display:grid}.tone-blue{color:var(--blue);background:var(--blue-soft)}.tone-green{color:var(--success);background:var(--success-soft)}.tone-purple{color:var(--plum);background:var(--plum-soft)}.tone-amber{color:var(--amber);background:var(--amber-soft)}.dashboard-grid{grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);gap:14px;display:grid}.dashboard-work-grid{grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);align-items:start;gap:14px;display:grid}.dashboard-main-stack,.dashboard-side-stack{align-content:start;gap:14px;display:grid}.dashboard-attention-card{min-height:0}.attention-list{display:grid}.attention-row{border-top:1px solid var(--outline);grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:10px;min-height:58px;padding:8px 2px;display:grid}.attention-row:first-child{border-top:0}.attention-row:hover{background:var(--primary-wash);border-radius:8px;margin:0 -7px;padding-left:9px;padding-right:9px}.attention-row>div{gap:3px;min-width:0;display:grid}.attention-row>div strong{text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}.attention-row>div small{color:var(--faint);font-family:JetBrains Mono,monospace;font-size:var(--font-size-label)}.attention-reasons{flex-wrap:wrap;justify-content:flex-end;gap:5px;display:flex}.attention-reason{color:#8a4b00;background:var(--amber-soft);font-size:var(--font-size-label);white-space:nowrap;border-radius:999px;padding:3px 6px;font-weight:700}.attention-reason.is-overdue{color:#c5221f;background:var(--error-soft)}.data-quality-card header>svg{color:var(--primary)}.data-quality-card dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 12px;display:grid}.data-quality-card dl>div{background:var(--surface-subtle);border-radius:8px;gap:5px;padding:12px;display:grid}.data-quality-card dt{color:var(--muted);font-size:var(--font-size-label);line-height:1.35}.data-quality-card dd{margin:0;font-family:JetBrains Mono,monospace;font-size:1.35rem}.data-quality-card>p{color:var(--faint);font-size:var(--font-size-label);margin:0;line-height:1.5}.status-summary-card ul{gap:2px;margin:0;padding:0;list-style:none;display:grid}.status-summary-card li{border-top:1px solid var(--outline);justify-content:space-between;align-items:center;gap:12px;min-height:34px;padding:5px 0;display:flex}.status-summary-card li:first-child{border-top:0}.status-summary-card li strong{font-family:JetBrains Mono,monospace;font-size:.78rem;font-weight:500}.recent-list-wide{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:22px;display:grid}.surface-card{background:var(--surface);border:1px solid var(--outline);border-radius:var(--radius-md);min-width:0;padding:24px}.surface-card>header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.surface-card>header a:not(.button){color:var(--primary-strong);align-items:center;gap:4px;font-size:.8125rem;font-weight:400;display:inline-flex}.platform-updates-page{width:min(100%,980px);margin:0 auto}.platform-update-feed{background:var(--surface);border:1px solid var(--outline);box-shadow:var(--shadow-sm);border-radius:12px;overflow:hidden}.platform-update-feed>ol{margin:0;padding:8px 26px;list-style:none}.platform-update-feed>ol>li{grid-template-columns:118px 42px minmax(0,1fr);align-items:stretch;display:grid}.platform-update-feed>ol>li>time{color:var(--muted);font-size:var(--font-size-label);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;padding:27px 12px 24px 0;font-weight:600}.platform-update-rail{justify-content:center;padding-top:22px;display:flex;position:relative}.platform-update-rail:before{background:var(--outline);content:"";width:1px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.platform-update-feed>ol>li:first-child .platform-update-rail:before{top:40px}.platform-update-feed>ol>li:last-child .platform-update-rail:before{bottom:calc(100% - 40px)}.platform-update-rail>span{z-index:1;width:36px;height:36px;color:var(--primary-strong);background:var(--primary-soft);border:1px solid #aecbfa;border-radius:9px;place-items:center;display:grid}.platform-update-feed article{border-bottom:1px solid var(--outline);min-width:0;padding:24px 0 26px 18px}.platform-update-feed>ol>li:last-child article{border-bottom:0}.platform-update-feed article>header{align-items:center;gap:8px;margin-bottom:7px;display:flex}.platform-update-feed article>header>span{color:var(--primary-strong);font-size:var(--font-size-label);font-weight:700}.platform-update-feed article>header>strong{color:var(--success-strong);background:var(--success-soft);font-size:var(--font-size-label);border-radius:999px;padding:2px 7px}.platform-update-feed article h2{margin-bottom:8px;font-size:1.05rem}.platform-update-feed article>p{max-width:72ch;color:var(--muted);margin-bottom:13px;font-size:.8rem;line-height:1.6}.platform-update-feed article ul{gap:7px;margin:0;padding:0;list-style:none;display:grid}.platform-update-feed article li{color:#3c4043;padding-left:15px;font-size:.76rem;line-height:1.55;position:relative}.platform-update-feed article li:before{background:var(--outline-strong);content:"";border-radius:50%;width:4px;height:4px;position:absolute;top:.64em;left:1px}.chart-card{min-height:350px}.chart-wrap{height:270px}.recent-list{display:grid}.recent-row{border-top:1px solid var(--outline);grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:10px;min-height:50px;padding:8px 2px;transition:background .16s,transform .16s;display:grid}.recent-row:first-child{border-top:0}.recent-row:hover{background:var(--primary-wash);border-radius:8px;transform:translateY(-1px)}.recent-row>div{gap:3px;min-width:0;display:grid}.recent-row strong{text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;overflow:hidden}.recent-row small{color:var(--faint);font-family:JetBrains Mono,monospace;font-size:var(--font-size-label)}.experiment-monogram{width:32px;height:32px;color:var(--primary);background:var(--primary-soft);border-radius:8px;place-items:center;font-weight:700;display:grid}.status-badge{width:fit-content;min-height:24px;color:var(--muted);background:var(--surface-subtle);white-space:nowrap;border:0;border-radius:4px;align-items:center;padding:3px 8px;font-size:.75rem;font-weight:500;line-height:1.4;display:inline-flex}.status-active,.status-accepted,.status-approved{color:var(--success-strong);background:var(--success-soft)}.status-dead,.status-removed,.status-excluded{color:#c5221f;background:var(--error-soft)}.status-harvested,.status-sampled,.status-completed{color:var(--primary-strong);background:var(--primary-soft)}.status-draft,.status-estimated{color:#b06000;background:#fef7e0}.status-cancelled,.status-archived,.status-rejected,.status-voided{color:#c5221f;background:var(--error-soft)}.status-submitted{color:var(--primary-strong);background:var(--primary-soft)}.status-suspect,.status-pending{color:#b06000;background:#fef7e0}.plant-list-heading{justify-content:space-between;align-items:center;gap:14px;margin-bottom:10px;display:flex}.plant-list-heading h3{margin:0}.plant-list-controls{border:1px solid var(--outline);background:var(--surface-subtle);border-radius:8px;flex-wrap:wrap;align-items:flex-end;gap:10px 14px;min-height:54px;margin-bottom:10px;padding:9px 10px;display:flex}.plant-list-controls label{color:var(--muted);font-size:var(--font-size-label);gap:4px;font-weight:700;display:grid}.plant-list-controls select{min-height:32px;color:var(--text);border:1px solid var(--outline-strong);font:inherit;font-size:var(--font-size-label);background:#fff;border-radius:7px;outline:none;padding:4px 28px 4px 8px;font-weight:500}.plant-list-controls select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #4285f41a}.plant-list-controls select:disabled{color:var(--muted);border-color:var(--outline);opacity:1;background:#fff}.plant-group-filter select{min-width:210px}.plant-result-range{color:var(--muted);font-size:var(--font-size-label);white-space:nowrap;margin:0 auto 8px 0}.plant-page-status{color:var(--muted);font-size:var(--font-size-label);white-space:nowrap;align-self:center}.plant-pagination-buttons{align-self:flex-end;gap:5px;display:flex}.plant-pagination-buttons .icon-button:disabled{cursor:not-allowed;opacity:.42}.plant-status-guide{width:fit-content;position:relative}.plant-status-guide>summary{min-height:32px;color:var(--primary-strong);font-size:var(--font-size-label);cursor:pointer;border-radius:7px;align-items:center;gap:6px;padding:0 8px;font-weight:700;list-style:none;display:inline-flex}.plant-status-guide>summary::-webkit-details-marker{display:none}.plant-status-guide>summary:hover{background:var(--primary-wash)}.plant-status-guide>summary:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.plant-status-guide-panel{z-index:12;border:1px solid var(--outline);width:min(430px,100vw - 48px);box-shadow:var(--shadow-md);background:#fff;border-radius:10px;padding:13px;position:absolute;top:calc(100% + 6px);right:0}.plant-status-guide-panel>p{color:var(--muted);font-size:var(--font-size-label);margin:0 0 10px;line-height:1.55}.plant-status-guide-panel ul{gap:0;margin:0;padding:0;list-style:none;display:grid}.plant-status-guide-panel li{border-top:1px solid var(--outline);grid-template-columns:104px minmax(0,1fr);align-items:start;gap:10px;padding:8px 0;display:grid}.plant-status-guide-panel li:first-child{border-top:0}.plant-status-guide-panel li>span:last-child{color:var(--muted);font-size:var(--font-size-label);line-height:1.5}.form-grid>.plant-status-guide{align-self:end;margin-bottom:2px}.filter-bar{border:1px solid var(--outline);background:#fff;border-radius:9px;align-items:center;gap:8px;margin-bottom:12px;padding:6px;display:flex}.filter-bar.compact{background:0 0;border:0;padding:0}.search-box,.select-box{min-height:var(--density-control);color:var(--faint);border:1px solid var(--outline);background:#fff;border-radius:7px;align-items:center;gap:8px;padding:0 11px;transition:border-color .16s,box-shadow .16s;display:flex}.search-box:focus-within,.select-box:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px #4285f41a}.search-box{flex:1;max-width:560px}.search-box input,.select-box select{width:100%;min-width:0;min-height:calc(var(--density-control) - 2px);color:var(--text);background:0 0;border:0;outline:0;font-size:.8rem}.select-box select{min-width:150px}.filter-count{color:var(--faint);font-size:var(--font-size-label);white-space:nowrap;margin-left:auto;padding:0 9px;font-weight:600}.experiments-page .filter-bar{grid-template-columns:minmax(220px,1fr) repeat(3,minmax(130px,180px)) auto;display:grid}.experiments-page .search-box{max-width:none}.experiments-page .select-box,.experiments-page .select-box select{min-width:0}.experiments-page .filter-count{justify-self:end}.table-card{overscroll-behavior-inline:contain;background:var(--surface);border:1px solid var(--outline);border-radius:var(--radius-md);width:100%;min-width:0;max-width:100%;overflow:auto}.table-card.embedded{box-shadow:none;border-radius:8px}.experiments-table-card{width:100%;overflow:hidden}.experiments-table-card table{width:100%;min-width:820px}.experiments-table-scroll{max-width:100%;transition:opacity .14s;overflow-x:auto}.experiments-table-card[aria-busy=true] .experiments-table-scroll{opacity:.58}.experiment-pagination{min-height:56px;color:var(--muted);border-top:1px solid var(--outline);background:var(--surface);justify-content:flex-end;align-items:center;gap:16px;padding:8px 16px;font-size:.75rem;display:flex}.experiment-pagination>span:first-child{margin-right:auto}.experiment-pagination label{align-items:center;gap:7px;display:flex}.experiment-pagination select{min-height:30px;color:var(--text);border:1px solid var(--outline);background:#fff;border-radius:7px;padding:3px 24px 3px 7px}.experiment-pagination-buttons{gap:5px;display:flex}.experiment-pagination .icon-button:disabled{cursor:not-allowed;opacity:.42}table{border-collapse:separate;border-spacing:0;width:100%;min-width:420px;font-size:var(--font-size-body)}th{z-index:1;color:var(--muted);background:var(--surface-subtle);border-bottom:1px solid var(--outline);font-size:var(--font-size-label);text-align:left;white-space:nowrap;padding:12px 16px;font-weight:500;line-height:1.5;position:sticky;top:0}th:first-child{border-top-left-radius:9px}th:last-child{border-top-right-radius:9px}td{height:52px;padding:var(--density-row-y) var(--density-row-x);border-bottom:1px solid var(--outline);vertical-align:middle;white-space:nowrap;line-height:1.5}tbody tr:last-child td{border-bottom:0}tbody tr{transition:background .14s}tbody tr:hover,.detail-table-row:focus-within{background:var(--primary-wash)}.clickable-table-row{cursor:pointer}.clickable-table-row:focus-visible{outline:2px solid var(--primary);outline-offset:-2px;background:var(--primary-wash)}.table-primary-link{min-height:28px;color:var(--primary-strong);align-items:center;font-weight:700;display:inline-flex}.table-primary-link:hover{color:var(--primary);text-underline-offset:3px;text-decoration:underline}.experiment-cell{align-items:center;gap:6px;min-width:150px;display:flex}.experiment-cell>span:last-child{gap:2px;min-width:0;display:grid}.experiment-cell small{color:var(--faint);font-family:JetBrains Mono,monospace;font-size:var(--font-size-label)}.table-card .experiment-monogram{border-radius:7px;width:28px;height:28px}.table-card .icon-button{background:0 0;border-color:#0000;width:32px;height:32px}.table-card .status-badge{min-height:24px;padding:3px 8px}.table-row-actions{text-align:right}.row-actions{justify-content:flex-end;align-items:center;gap:5px;display:flex}tbody .row-actions,tbody tr:hover .row-actions,tbody tr:focus-within .row-actions{opacity:1}.metric-order-hint{color:var(--muted);font-size:var(--font-size-label);margin:-4px 0 10px;line-height:1.5}.metric-sortable-row{cursor:grab;-webkit-user-select:none;user-select:none;touch-action:pan-x}.metric-sortable-row>td{touch-action:pan-x}.metric-sortable-row:active{cursor:grabbing}.metric-order-dragging,.metric-order-dragging *{cursor:grabbing!important;-webkit-user-select:none!important;user-select:none!important}.metric-sortable-row:focus-visible{outline:2px solid var(--primary);outline-offset:-2px;background:var(--primary-wash)}.metric-sortable-row button,.metric-sortable-row a{cursor:pointer}tbody tr[data-dragging=true]{opacity:.24;background:var(--surface-subtle)}tbody tr[data-drag-target=true]{background:var(--primary-soft);box-shadow:inset 0 -2px 0 var(--primary)}.metric-drag-preview{z-index:9999;pointer-events:none;border:1px solid var(--outline-strong);opacity:.96;background:#fff;border-radius:8px;min-width:0;position:fixed;overflow:hidden;box-shadow:0 16px 36px #20212433}.metric-drag-preview tr,.metric-drag-preview td{background:#fff}@media (prefers-reduced-motion:reduce){tbody tr{transition-duration:0s}.metric-drag-preview{box-shadow:0 8px 18px #20212429}}.department-layout{grid-template-columns:224px minmax(0,1fr);align-items:start;gap:24px;display:grid}.department-list{gap:4px;display:grid;position:sticky;top:24px}.department-list>header{justify-content:space-between;align-items:center;gap:12px;min-height:36px;margin-bottom:12px;display:flex}.department-list>header h2{font-size:.875rem}.department-list>header .icon-button{background:0 0}.department-choice{text-align:left;width:100%;color:var(--muted);background:0 0;border:1px solid #0000;border-radius:6px;align-items:flex-start;gap:10px;padding:12px;display:flex}.department-choice>svg{flex:none;margin-top:2px}.department-choice>span{gap:4px;min-width:0;display:grid}.department-choice strong{color:var(--text);overflow-wrap:anywhere;font-size:.875rem;font-weight:500}.department-choice small,.department-members small{color:var(--muted);overflow-wrap:anywhere;font-size:.75rem}.department-choice:hover{background:var(--surface)}.department-choice.is-active{color:var(--primary-strong);background:var(--primary-soft)}.department-choice.is-active strong{color:inherit}.department-create.form-grid{border-top:1px solid var(--outline);grid-template-columns:minmax(0,1fr);gap:16px;margin-top:16px;padding-top:20px}.department-create h3{margin:0}.department-main>.department-heading{flex-direction:row;align-items:center}.department-heading p{color:var(--muted);margin:4px 0 0;font-size:.75rem}.department-members>article{border-top:1px solid var(--outline);padding:16px 0}.department-member-row{grid-template-columns:minmax(140px,1fr) minmax(100px,auto) auto;align-items:center;gap:16px;display:grid}.department-member-identity{gap:4px;min-width:0;display:grid}.department-member-identity strong{overflow-wrap:anywhere;font-weight:500}.department-editor{border-top:1px dashed var(--outline-strong);margin:16px 0 4px;padding:20px 0 4px}.department-editor-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.department-editor .department-role-options{gap:8px 16px}.department-footer{border-top:1px solid var(--outline);flex-wrap:wrap;align-items:center;gap:20px;margin-top:8px;padding-top:16px;display:flex}.correction-list{gap:12px;display:grid}.correction-list small{color:var(--muted)}.correction-editor>header,.observation-version-history>header{justify-content:space-between;align-items:center;gap:12px;display:flex}.correction-list>article{border:1px solid var(--outline);border-radius:8px;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:14px;display:grid}.correction-list p{margin:8px 0}.correction-decision{grid-column:1/-1;gap:8px;display:grid}.correction-decision textarea,.correction-editor textarea{width:100%}.correction-editor{border-color:var(--warning)}.observation-version-history{margin-top:16px}@media (width<=800px){.department-layout{grid-template-columns:1fr}.department-list{position:static}}.current-factor-tables{gap:16px;min-width:0;display:grid}.current-factor-matrix-wrap{scrollbar-width:thin;min-width:0}.current-factor-matrix{table-layout:auto;min-width:max(100%,520px)}.current-factor-matrix caption{padding:var(--density-row-y) var(--density-row-x);color:var(--muted);font-size:var(--font-size-label);text-align:left}.current-factor-matrix th{position:static}.current-factor-matrix thead th{letter-spacing:0;text-transform:none}.current-factor-matrix thead th:first-child{min-width:180px}.current-factor-matrix thead th:not(:first-child):not(:last-child){text-align:center;white-space:normal;min-width:120px}.current-factor-matrix thead th:last-child{text-align:center;min-width:72px}.current-factor-matrix tbody th{padding:var(--density-row-y) var(--density-row-x);color:var(--text);font-size:var(--font-size-label);letter-spacing:0;text-align:left;text-transform:none;white-space:normal;background:#fff;border-bottom:1px solid #e8eaed;font-weight:600;line-height:1.3}.current-factor-matrix tbody tr:last-child th{border-bottom:0}.current-factor-matrix .current-factor-value{color:var(--text);text-align:center;font-size:.78rem;font-weight:600}.current-factor-matrix .current-factor-unit{color:var(--muted);text-align:center}.current-factor-summary{min-width:100%}.current-factor-summary .current-factor-value{white-space:normal;overflow-wrap:anywhere}.form-grid{gap:var(--density-form-gap);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.form-grid label,.form-grid fieldset{align-content:start;gap:6px;min-width:0;margin:0;display:grid}.form-grid label>span,.form-grid legend{color:var(--muted);font-size:var(--font-size-label);font-weight:500}.form-grid label>small{color:var(--muted);font-size:.75rem;font-weight:400;line-height:1.5}.form-grid input,.form-grid select,.form-grid textarea{width:100%;min-height:var(--density-field);color:var(--text);border:1px solid var(--outline-strong);font-family:inherit;font-size:var(--font-size-control);background:#fff;border-radius:7px;outline:none;padding:6px 9px;font-weight:400;line-height:1.4;transition:border-color .16s,box-shadow .16s,background .16s}.form-grid textarea{resize:vertical;min-height:84px;line-height:1.5}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:var(--primary);background:#fff;box-shadow:0 0 0 3px #4285f41a}.form-grid input[readonly]{color:var(--muted);border-color:var(--outline);background:var(--surface-subtle);cursor:default}.field-hint{color:var(--muted);font-size:.75rem;line-height:1.5}.catalog-optional{border-top:1px solid var(--outline);margin-top:2px;padding-top:14px}.catalog-optional>summary{color:var(--primary-strong);font-size:var(--font-size-label);cursor:pointer;align-items:center;gap:8px;font-weight:700;list-style:none;display:inline-flex}.catalog-optional>summary::-webkit-details-marker{display:none}.catalog-optional>summary:after{content:"";border-bottom:1.5px solid;border-right:1.5px solid;width:6px;height:6px;transition:transform .16s;transform:translateY(-2px)rotate(45deg)}.catalog-optional[open]>summary:after{transform:translateY(2px)rotate(225deg)}.catalog-optional>summary:focus-visible{outline:2px solid var(--primary);outline-offset:4px;border-radius:4px}.catalog-optional-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 14px;padding-top:16px;display:grid}.operation-form{grid-template-columns:minmax(0,1fr);align-items:start}.operation-form .operation-type-field,.operation-form .operation-group-field{border:0;padding:0}.operation-type-options,.operation-group-options{flex-wrap:wrap;gap:8px;display:flex}.form-grid .operation-type-option,.form-grid .operation-group-option{cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;width:auto;min-height:40px;padding:0 4px;display:inline-flex}:is(.form-grid .operation-type-option:has(input:checked),.form-grid .operation-group-option:has(input:checked)){color:var(--primary-strong)}.form-grid .operation-type-option input,.form-grid .operation-group-option input{width:16px;height:16px;min-height:0;accent-color:var(--primary);box-shadow:none;margin:0;padding:0}.form-grid .operation-type-option input:focus-visible,.form-grid .operation-group-option input:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.form-grid .operation-type-option>span,.form-grid .operation-group-option>span{color:inherit;font-size:.76rem;font-weight:700}.operation-photo-section{border-top:1px solid var(--outline);padding-top:16px}.operation-photo-section>div:first-child{gap:4px;display:grid}.operation-photo-section h3{margin:0;font-size:.82rem}.operation-photo-section p{color:var(--muted);font-size:var(--font-size-label);margin:0;line-height:1.5}.operation-photo-gallery{margin-top:14px}.full-span{grid-column:1/-1}.form-actions{justify-content:flex-end;gap:8px;padding-top:6px;display:flex}.form-error{color:#c5221f;background:var(--error-soft);border:1px solid #f4b5ae;border-radius:9px;padding:11px 13px;font-size:.76rem}.observation-page{width:100%;margin:0 auto}.observation-form-error{margin-bottom:14px}.observation-submission-details{gap:8px;margin-top:10px;line-height:1.6;display:grid}.observation-submission-details p{margin:0}.observation-error-plants{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.observation-error-plants li{min-width:0;max-width:100%}.observation-error-plants .button{white-space:normal;overflow-wrap:anywhere;text-align:left;max-width:100%;height:auto;min-height:36px}.observation-page>.page-header{margin-bottom:12px}.observation-header-card{margin-bottom:12px;padding:14px 18px}.observation-header-card>header{margin-bottom:10px}.observation-batch-status{flex-wrap:wrap;align-items:center;gap:6px 12px;margin-bottom:10px;display:flex}.observation-batch-status p{color:var(--muted);font-size:var(--font-size-label);margin:0;line-height:1.5}.observation-date-notice{color:#725000;background:#fffaf0;border:1px solid #ead9aa;border-radius:9px;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;padding:10px 12px;font-size:.78rem;display:flex}.observation-header-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.factor-change-header-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.observation-count{color:var(--primary-strong);background:var(--primary-soft);font-size:var(--font-size-label);white-space:nowrap;border-radius:999px;flex:none;padding:6px 10px;font-weight:700}.observation-count.has-changes{color:#b06000;background:#fef7e0}.observation-ending-controls{border:1px solid var(--outline);background:var(--surface-subtle);border-radius:8px;flex-wrap:wrap;align-items:center;gap:10px 16px;margin-bottom:12px;padding:12px;display:flex}.observation-ending-controls>div{flex:280px}.observation-ending-controls .field-hint{margin:4px 0 0;line-height:1.5}.observation-ending-summary{font-size:var(--font-size-label);margin:4px 0 0;font-weight:500}.observation-ending-controls>label{font-size:var(--font-size-label);gap:4px;display:grid}.observation-ending-controls select,.observation-ending-cell select{min-width:0;min-height:36px;color:var(--text);border:1px solid var(--outline-strong);border-radius:var(--density-radius);background:var(--surface);font-size:var(--font-size-control);padding:6px 9px}.observation-ending-controls select:focus-visible,.observation-ending-cell select:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.observation-ending-cell{gap:5px;padding:3px;display:grid}.observation-ending-cell label,.observation-ending-select-all{min-height:36px;font-size:var(--font-size-label);align-items:center;gap:7px;display:flex}.observation-ending-cell input[type=checkbox],.observation-ending-select-all input[type=checkbox]{width:18px;height:18px;min-height:18px;accent-color:var(--primary-strong);flex:0 0 18px;margin:0}.observation-ending-cell select{width:100%;min-height:36px;font-size:var(--font-size-label)}.observation-ending-cell label.observation-death-notes{color:var(--text);align-items:start;gap:4px;line-height:1.5;display:grid}.observation-death-notes textarea{resize:vertical;border:1px solid var(--outline-strong);border-radius:var(--density-radius);background:var(--surface);width:100%;min-width:0;min-height:68px;color:var(--text);font:inherit;padding:6px 9px}.observation-death-notes textarea:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.observation-ending-cell small{color:var(--faint)}.observation-ended-plant-notice{margin:0 0 10px}.observation-field-changed input{border-color:var(--yellow);background:#fef7e0;box-shadow:0 0 0 2px #fbbc041f}.observation-workspace{margin-bottom:14px;padding:0;overflow:hidden}.observation-matrix-section{padding:12px 14px 14px}.observation-matrix-section>header{justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px;display:flex}.observation-matrix-section>.plant-list-controls{margin-bottom:0}.observation-matrix-section>.plant-list-controls:has(+.observation-table-wrap){border-radius:8px 8px 0 0}.observation-matrix-section>.plant-list-controls+.observation-table-wrap{border-top:0;border-radius:0 0 8px 8px}.photo-upload-actions{align-items:center;gap:10px;margin-top:12px;display:flex}.photo-upload-actions>small{color:var(--faint);font-size:var(--font-size-label)}.photo-upload-button{cursor:pointer;white-space:nowrap;position:relative;overflow:hidden}.photo-upload-button input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.image-upload-area{border:1px dashed var(--outline-strong);background:var(--surface-subtle);border-radius:8px;flex-wrap:wrap;align-items:center;gap:12px;margin-top:12px;padding:16px;display:flex}.image-upload-prompt{color:var(--muted);font-size:var(--font-size-body);flex:180px}.image-upload-area .photo-upload-button{justify-content:center;align-items:center;gap:8px;display:inline-flex}.image-upload-area>small{color:var(--muted);font-size:var(--font-size-label);overflow-wrap:anywhere;flex-basis:100%}.image-upload-area.is-dragging{border-color:var(--primary);background:var(--primary-soft);border-style:solid}.image-upload-area.is-dragging .image-upload-prompt{color:var(--primary-strong);font-weight:600}.image-upload-area:focus-within{outline:2px solid var(--primary);outline-offset:2px}.image-upload-area[aria-disabled=true]{opacity:.65}.image-upload-area[aria-disabled=true] .photo-upload-button{cursor:not-allowed}.pending-photo-list{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px;margin-top:14px;display:grid}.pending-photo-card{border:1px solid var(--outline);background:var(--surface-subtle);border-radius:9px;grid-template-columns:72px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:72px;padding:8px;display:grid;position:relative}.pending-photo-card>img,.pending-photo-preview{background:#fff;border-radius:6px;width:72px;height:56px}.pending-photo-card>img,.pending-photo-preview>img{object-fit:contain}.pending-photo-preview{cursor:zoom-in;border:0;place-items:center;padding:0;display:grid;overflow:hidden}.pending-photo-preview>img{width:100%;height:100%;display:block}.pending-photo-preview:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.pending-photo-card>div{gap:4px;min-width:0;display:grid}.pending-photo-card>.pending-photo-actions{flex-direction:column;align-items:flex-end;gap:8px;display:flex}.pending-photo-error{overflow-wrap:anywhere}.pending-photo-card strong{font-size:var(--font-size-label);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pending-photo-card small{color:var(--faint);font-size:var(--font-size-label)}.photo-gallery{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;display:grid}.photo-card{border:1px solid var(--outline);background:#fff;border-radius:10px;overflow:hidden}.photo-card-image{background:var(--surface-subtle);place-items:center;height:180px;display:grid;position:relative}.photo-card-preview{cursor:zoom-in;background:0 0;border:0;place-items:center;width:100%;height:100%;padding:0;display:grid;position:relative;overflow:hidden}.photo-card-image>img,.photo-card-preview>img{object-fit:contain;width:100%;height:100%;display:block}.photo-card-preview:focus-visible{z-index:1;outline:2px solid var(--primary);outline-offset:-3px}.photo-card-zoom{width:30px;height:30px;color:var(--text);box-shadow:var(--shadow-sm);opacity:0;background:#ffffffeb;border-radius:8px;place-items:center;transition:opacity .16s,transform .16s;display:grid;position:absolute;bottom:9px;right:9px;transform:translateY(3px)}.photo-card-preview:hover .photo-card-zoom,.photo-card-preview:focus-visible .photo-card-zoom{opacity:1;transform:translateY(0)}.photo-image-state{min-height:72px;color:var(--faint);font-size:var(--font-size-label);text-align:center;place-items:center;padding:12px;display:grid}.photo-card-image .photo-image-state,.photo-card-preview .photo-image-state{width:100%;height:100%}.photo-delete{box-shadow:var(--shadow-sm);background:#ffffffeb;position:absolute;top:8px;right:8px}.photo-card-copy{gap:4px;padding:9px 10px 10px;display:grid}.photo-card-copy strong{font-size:var(--font-size-label);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.photo-card-copy small{color:var(--faint);font-size:var(--font-size-label);line-height:1.4}.observation-table-wrap{width:100%;max-width:100%;max-height:min(72vh,900px)}.observation-table{width:100%;min-width:0}.observation-table th:not(.observation-subject-column),.observation-table td:not(.observation-subject-column){width:clamp(116px,10vw,148px);min-width:116px}.observation-table th.observation-ending-column,.observation-table td.observation-ending-column{width:172px;min-width:172px}.observation-table th span,.observation-table th small{display:inline}.observation-table th small{color:var(--faint);font-size:var(--font-size-label);letter-spacing:0;text-transform:none;margin-left:5px;font-weight:600}.observation-table th small:before,.observation-subject-column>small:before{content:"· "}.observation-table td{vertical-align:top;height:auto;min-height:48px;padding:5px}.observation-subject-column{--observation-subject-width:120px;z-index:2;width:var(--observation-subject-width);min-width:var(--observation-subject-width);white-space:normal;box-shadow:1px 0 0 var(--outline);background:#fff;position:sticky;left:0}.observation-table .observation-subject-column{padding-inline:10px}.observation-subject-copy{width:calc(var(--observation-subject-width) - 20px);white-space:normal;overflow-wrap:anywhere;max-width:100%;display:block}.observation-subject-column .observation-subject-copy small:before{content:none}.observation-table th:not(.observation-subject-column){white-space:normal;overflow-wrap:anywhere}.observation-cell-editor,.observation-cell-editor input,.observation-cell-editor select{min-width:0}.observation-table thead .observation-subject-column{z-index:4;background:var(--surface-subtle)}.observation-table tbody tr:hover .observation-subject-column{background:var(--primary-wash)}.observation-subject-column strong,.observation-subject-column small{display:block}.observation-subject-column strong{font-size:.76rem}.observation-subject-column small{color:var(--faint);font-size:var(--font-size-label);margin-left:0}.observation-table th.observation-photo-column,.observation-table td.observation-photo-column{background:#fff;width:148px;min-width:148px}.observation-table th.observation-photo-column{background:var(--surface-subtle)}.observation-table tbody tr:hover td.observation-photo-column{background:var(--primary-wash)}.observation-photo-trigger{width:100%;min-height:52px;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:7px;padding:4px;transition:border-color .16s,background .16s;display:grid}.observation-photo-trigger:hover{border-color:var(--outline-strong);background:#fff}.observation-photo-trigger:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.observation-photo-thumbnails{align-items:center;min-width:34px;display:flex}.observation-photo-thumbnail{background:var(--surface-subtle);width:34px;height:34px;box-shadow:0 0 0 1px var(--outline);border:2px solid #fff;border-radius:7px;flex:0 0 34px;place-items:center;display:grid;overflow:hidden}.observation-photo-thumbnail+.observation-photo-thumbnail{margin-left:-12px}.observation-photo-thumbnail img{object-fit:contain;background:#fff;width:100%;height:100%}.observation-photo-thumbnail .photo-image-state{min-height:0;font-size:var(--font-size-label);padding:2px}.observation-photo-thumbnail.is-pending{box-shadow:0 0 0 1px var(--yellow)}.observation-photo-thumbnail.is-empty{color:var(--primary);border-color:var(--primary-soft);background:var(--primary-soft);box-shadow:none}.observation-photo-trigger-copy{gap:2px;min-width:0;display:grid}.observation-photo-trigger-copy strong{font-size:var(--font-size-label);white-space:nowrap}.observation-photo-trigger-copy small{color:var(--primary-strong);font-size:var(--font-size-label);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.observation-photo-pending{color:#b06000;font-size:var(--font-size-label);background:#fef7e0;border-radius:999px;grid-column:1/-1;justify-self:start;padding:2px 5px;font-weight:700}.drawer-dialog{background:0 0;border:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;position:fixed;inset:0;overflow:hidden}.drawer-dialog::backdrop{background:0 0}.mobile-navigation-dialog .sidebar{z-index:1;width:min(320px,100vw - 44px);padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);padding-left:env(safe-area-inset-left,0px)}.mobile-navigation-dialog .sidebar-close{min-width:44px;min-height:44px}.drawer-dialog-scrim{cursor:default;background:#20212457;border:0;position:absolute;inset:0}.image-preview-dialog{color:#fff;background:0 0;border:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;position:fixed;inset:0;overflow:hidden}.image-preview-dialog::backdrop{background:0 0}.image-preview-scrim{cursor:zoom-out;background:#121416f0;border:0;position:absolute;inset:0}.image-preview-panel{inset:max(12px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0;display:grid;position:absolute}.image-preview-panel>header{justify-content:space-between;align-items:center;gap:18px;min-width:0;padding:2px 2px 12px;display:flex}.image-preview-panel>header>div{gap:3px;min-width:0;display:grid}.image-preview-panel>header strong,.image-preview-panel>header small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.image-preview-panel>header strong{color:#fff;font-size:.84rem}.image-preview-panel>header small{color:#ffffffb3;font-size:var(--font-size-label)}.image-preview-close{color:#fff;cursor:pointer;background:#ffffff14;border:1px solid #fff3;border-radius:10px;flex:0 0 44px;place-items:center;width:44px;height:44px;padding:0;display:grid}.image-preview-close:hover{background:#ffffff26}.image-preview-close:focus-visible{outline-offset:3px;outline:2px solid #fff}.image-preview-stage{place-items:center;min-width:0;min-height:0;display:grid;overflow:auto}.image-preview-stage>img{object-fit:contain;width:100%;min-width:0;max-width:100%;height:100%;min-height:0;max-height:100%;display:block}.image-preview-stage .photo-image-state{color:#ffffffc7}.photo-manager-drawer{background:#fff;grid-template-rows:auto minmax(0,1fr);width:min(480px,100vw);display:grid;position:absolute;top:0;bottom:0;right:0;box-shadow:-18px 0 48px #2021242e}.photo-manager-drawer>header{border-bottom:1px solid var(--outline);justify-content:space-between;align-items:flex-start;gap:16px;min-height:78px;padding:20px 22px;display:flex}.photo-manager-drawer>header>div{gap:3px;min-width:0;display:grid}.photo-manager-drawer>header h2{text-overflow:ellipsis;white-space:nowrap;font-size:1.1rem;overflow:hidden}.photo-manager-drawer>header small{color:var(--faint);font-size:var(--font-size-label)}.share-drawer{background:#fff;grid-template-rows:auto minmax(0,1fr);width:min(540px,100vw);display:grid;position:absolute;top:0;bottom:0;right:0;box-shadow:-18px 0 48px #2021242e}.share-drawer>header{border-bottom:1px solid var(--outline);justify-content:space-between;align-items:flex-start;gap:16px;min-height:78px;padding:20px 22px;display:flex}.share-drawer>header>div{gap:3px;min-width:0;display:grid}.share-drawer>header h2{text-overflow:ellipsis;white-space:nowrap;font-size:1.1rem;overflow:hidden}.share-drawer>header small{color:var(--faint);font-size:var(--font-size-label);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.share-drawer-body{padding:20px 22px 32px;overflow-y:auto}.metric-editor-form{grid-template-rows:minmax(0,1fr) auto;min-height:0;display:grid}.metric-editor-fields{border:0;grid-template-columns:minmax(0,1fr);padding:0}.metric-editor-intro{margin:0 0 20px;line-height:1.6}.metric-editor-note{margin:20px 0 0;line-height:1.6}.metric-editor-form .form-error{margin-bottom:16px}.export-drawer{background:#fff;grid-template-rows:auto minmax(0,1fr);width:min(620px,100vw);display:grid;position:absolute;top:0;bottom:0;right:0;box-shadow:-18px 0 48px #2021242e}.export-drawer>header{border-bottom:1px solid var(--outline);justify-content:space-between;align-items:flex-start;gap:16px;min-height:78px;padding:20px 24px;display:flex}.export-drawer>header>div{gap:4px;min-width:0;display:grid}.export-drawer>header h2{text-overflow:ellipsis;white-space:nowrap;font-size:1.08rem;overflow:hidden}.export-drawer>header small{color:var(--faint);font-size:var(--font-size-label);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.export-drawer-form{grid-template-rows:minmax(0,1fr) auto;min-height:0;display:grid}.export-drawer-body{scrollbar-color:var(--outline-strong) transparent;scrollbar-width:thin;padding:20px 24px 30px;overflow-y:auto}.export-intro{max-width:64ch;color:var(--muted);margin:0 0 20px;font-size:.76rem;line-height:1.6}.export-section{border:0;border-top:1px solid var(--outline);gap:10px;min-width:0;margin:0;padding:18px 0;display:grid}.export-section legend{width:100%;color:var(--text);justify-content:space-between;align-items:center;gap:16px;padding:0;font-size:.78rem;font-weight:720;display:flex}.export-select-action{min-height:30px;color:var(--primary-strong);font-size:var(--font-size-label);background:0 0;border:0;padding:3px 7px;font-weight:650}.export-select-action:hover{color:var(--primary-deep);text-underline-offset:3px;text-decoration:underline}.export-date-grid,.export-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.export-choice-grid.is-three{grid-template-columns:repeat(3,minmax(0,1fr))}.export-date-grid label{color:var(--muted);font-size:var(--font-size-label);gap:6px;font-weight:650;display:grid}.export-date-grid input{width:100%;min-height:40px}.export-choice{border:1px solid var(--outline);background:var(--surface-subtle);min-width:0;min-height:42px;color:var(--text);font-size:var(--font-size-label);cursor:pointer;border-radius:8px;align-items:center;gap:9px;padding:8px 10px;font-weight:620;display:flex}.export-choice:has(input:checked){background:var(--primary-soft);color:var(--primary-deep);border-color:#aecbfa}.export-choice input,.export-option-row input,.export-layout-options input,.export-condition-choice input{width:17px;height:17px;min-height:0;accent-color:var(--primary);flex:none;margin:0}.export-option-list{border-block:1px solid var(--outline);scrollbar-color:var(--outline-strong) transparent;scrollbar-width:thin;max-height:190px;display:grid;overflow-y:auto}.export-option-list.metric-list{max-height:240px}.export-option-row{border-bottom:1px solid var(--outline);cursor:pointer;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;min-width:0;min-height:48px;padding:7px 4px;display:grid}.export-option-row:last-child{border-bottom:0}.export-option-row:hover{background:var(--surface-subtle)}.export-option-row>span{min-width:0}.export-option-row strong,.export-option-row small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.export-option-row strong{font-size:var(--font-size-label);font-weight:650}.export-option-row small{color:var(--faint);font-size:var(--font-size-label);margin-top:3px}.export-section-hint{color:var(--faint);font-size:var(--font-size-label);margin:-2px 0 0;line-height:1.5}.export-layout-options{border:1px solid var(--outline);border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;display:grid;overflow:hidden}.export-layout-options label{border-right:1px solid var(--outline);min-width:0;min-height:40px;color:var(--muted);font-size:var(--font-size-label);cursor:pointer;text-align:center;justify-content:center;align-items:center;gap:6px;padding:7px 9px;font-weight:620;display:flex}.export-layout-options label:last-child{border-right:0}.export-layout-options label:has(input:checked){color:var(--primary-deep);background:var(--primary-soft)}.export-layout-options input{opacity:0;pointer-events:none;position:absolute}.export-condition-choice{min-height:38px;color:var(--text);font-size:var(--font-size-label);cursor:pointer;align-items:center;gap:9px;display:flex}.export-summary{border:1px solid var(--outline);background:var(--surface-subtle);border-radius:10px;gap:5px;margin-top:18px;padding:14px 16px;display:grid}.export-summary h3{margin:0 0 2px;font-size:.78rem}.export-summary p{color:var(--muted);font-size:var(--font-size-label);margin:0;line-height:1.5}.export-summary strong{color:var(--primary-deep);font-size:var(--font-size-label);margin-top:3px}.export-validation{color:var(--error);font-size:var(--font-size-label);margin:10px 0 0}.export-drawer-footer{border-top:1px solid var(--outline);background:#fff;justify-content:flex-end;align-items:center;gap:9px;padding:14px 24px;display:flex}.share-section+.share-section{border-top:1px solid var(--outline);margin-top:26px;padding-top:22px}.share-section>header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px;display:flex}.share-section>header h3{font-size:.9rem}.share-section>header>svg{color:var(--primary)}.share-search-row{grid-template-columns:minmax(0,1fr) 120px;gap:8px;display:grid}.share-search-row .search-box{max-width:none}.share-search-row>select,.share-person-row>select{min-height:38px}.share-hint{color:var(--faint);font-size:var(--font-size-label);margin:9px 2px 0;line-height:1.5}.share-person-list{gap:7px;margin-top:12px;display:grid}.share-person-row{border:1px solid var(--outline);background:#fff;border-radius:9px;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px;display:grid}.share-person-row.member{grid-template-columns:34px minmax(0,1fr) 112px auto}.share-person-row>div{gap:2px;min-width:0;display:grid}.share-person-row strong,.share-person-row small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.share-person-row strong{font-size:.75rem}.share-person-row small{color:var(--faint);font-size:var(--font-size-label)}.share-avatar{width:34px;height:34px;color:var(--primary-deep);background:var(--primary-soft);font-size:var(--font-size-label);border-radius:50%;place-items:center;font-weight:700;display:grid}.access-badge{width:fit-content;color:var(--primary-deep);background:var(--primary-soft);border-radius:999px;align-items:center;padding:4px 7px;font-size:.75rem;font-weight:700;display:inline-flex}.photo-manager-body{padding:20px 22px 32px;overflow-y:auto}.photo-manager-form{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:10px;display:grid}.photo-manager-form label{min-width:0;color:var(--muted);font-size:var(--font-size-label);gap:5px;font-weight:700;display:grid}.photo-manager-form input{width:100%;min-height:38px}.photo-manager-section{margin-top:22px}.photo-manager-section>header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.photo-manager-section>header h3{font-size:.82rem}.photo-manager-section>header span{min-width:24px;color:var(--primary-strong);background:var(--primary-soft);font-size:var(--font-size-label);text-align:center;border-radius:999px;padding:3px 7px;font-weight:700}.photo-manager-section .pending-photo-list{grid-template-columns:1fr;margin-top:0}.photo-manager-section .photo-gallery{grid-template-columns:1fr}.photo-append-upload{width:100%;margin-top:12px}.photo-manager-empty{color:var(--faint);border:1px dashed var(--outline-strong);background:var(--surface-subtle);font-size:var(--font-size-label);text-align:center;border-radius:9px;padding:22px 16px}.photo-manager-drawer,.share-drawer,.export-drawer{--drawer-padding-inline:22px;min-width:0;min-height:0}.export-drawer{--drawer-padding-inline:24px}.photo-manager-drawer>header,.share-drawer>header,.export-drawer>header{padding-top:max(20px, env(safe-area-inset-top,0px));padding-right:max(var(--drawer-padding-inline), env(safe-area-inset-right,0px));padding-left:max(var(--drawer-padding-inline), env(safe-area-inset-left,0px))}.photo-manager-drawer>header>button,.share-drawer>header>button,.export-drawer>header>button{flex:none}.photo-manager-drawer>header small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.photo-manager-body,.share-drawer-body,.export-drawer-body{overscroll-behavior:contain;min-width:0;min-height:0;padding-right:max(var(--drawer-padding-inline), env(safe-area-inset-right,0px));padding-left:max(var(--drawer-padding-inline), env(safe-area-inset-left,0px));padding-bottom:max(32px, env(safe-area-inset-bottom,0px));scroll-padding-block:16px}.export-drawer-footer{min-width:0;padding-right:max(var(--drawer-padding-inline), env(safe-area-inset-right,0px));padding-left:max(var(--drawer-padding-inline), env(safe-area-inset-left,0px));padding-bottom:max(14px, env(safe-area-inset-bottom,0px));flex-wrap:wrap}.export-date-grid label{min-width:0}.share-search-row>select,.share-person-row>select,.photo-manager-form input,.export-date-grid input{width:100%;min-width:0;min-height:var(--density-control);color:var(--text);border:1px solid var(--outline-strong);border-radius:var(--density-radius);background-color:var(--surface);font-size:var(--font-size-control);padding:6px 10px}.share-search-row>select:focus-visible,.share-person-row>select:focus-visible,.photo-manager-form input:focus-visible,.export-date-grid input:focus-visible{outline:2px solid var(--primary);outline-offset:2px}@media (width<=860px){.photo-manager-drawer>header>button,.share-drawer>header>button,.export-drawer>header>button{width:44px;height:44px}.share-search-row>select,.share-person-row>select,.photo-manager-form input,.export-date-grid input{min-height:44px;font-size:1rem}.export-choice,.export-layout-options label,.export-condition-choice,.export-select-action,.export-drawer-footer .button{min-height:44px}}.observation-cell-editor{gap:3px;display:grid}.observation-cell-editor input,.observation-cell-editor select{width:100%;min-height:36px;color:var(--text);border:1px solid var(--outline-strong);font-size:var(--font-size-label);background:#fff;border-radius:6px;outline:none;padding:5px 7px}.observation-cell-editor input:focus,.observation-cell-editor select:focus{border-color:var(--primary);box-shadow:0 0 0 2px #4285f41a}.observation-cell-editor input:disabled,.observation-cell-editor select:disabled{color:var(--faint);background:var(--surface-subtle);opacity:.82}.observation-cell-changed{background:#fef7e0;box-shadow:inset 0 0 0 1px #fbbc0461}.observation-changed-label{color:#b06000;font-size:var(--font-size-label);font-weight:700}.factor-change-cell small{min-height:15px;color:var(--faint);font-size:var(--font-size-label);line-height:1.25}.factor-change-table .observation-subject-column{--observation-subject-width:140px}.factor-change-cell small{white-space:normal;overflow-wrap:anywhere}.factor-change-page .observation-table-wrap{width:100%}.factor-change-table{width:max-content;min-width:100%}.factor-change-table tbody th.observation-subject-column{color:var(--text);letter-spacing:0;text-transform:none;white-space:nowrap;vertical-align:top;border-bottom:1px solid #e8eaed;padding:6px 10px;font-size:.75rem;top:auto}.factor-change-table tbody tr:last-child th.observation-subject-column{border-bottom:0}.factor-change-table td{min-height:56px}.observation-actions{z-index:8;border:1px solid var(--outline);box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff0;border-radius:10px;justify-content:flex-end;align-items:center;gap:8px;margin-top:16px;padding:12px;display:flex;position:sticky;bottom:14px}.observation-header-grid[hidden]{display:none}.observation-details-summary{color:var(--muted);overflow-wrap:anywhere;margin:0}.observation-details-toggle svg{transition:transform .16s}.observation-details-toggle[aria-expanded=true] svg{transform:rotate(180deg)}.observation-action-buttons{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.observation-batch-actions{flex-wrap:wrap}.observation-batch-actions .observation-save-progress{flex-wrap:wrap;gap:8px}.observation-scroll-hint{color:var(--muted);font-size:var(--font-size-label);margin:0 0 10px;display:none}.observation-page .eyebrow{text-transform:none;letter-spacing:0}.observation-page .observation-cell-editor input,.observation-page .observation-cell-editor select{font-size:var(--font-size-control)}.observation-save-progress{color:var(--muted);font-size:var(--font-size-label);flex:1;align-items:center;display:flex}.observation-save-outcome{color:var(--success-strong);background:var(--success-soft);border:1px solid #ceead6;border-radius:9px;margin-bottom:12px;padding:10px 12px;font-size:.76rem;line-height:1.5}.observation-save-outcome.is-partial{color:#8a4b00;background:var(--amber-soft);border-color:#f6d78b}.observation-save-outcome.is-copied{color:var(--primary-deep);background:var(--primary-soft);border-color:#aecbfa}.observation-scope-switcher{border-bottom:1px solid var(--outline);background:var(--surface-subtle);grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding:0 10px;display:grid;overflow-x:auto}.observation-scope-switcher button{min-width:0;min-height:60px;color:var(--muted);text-align:left;background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;grid-template-columns:minmax(0,1fr) auto;align-content:center;gap:3px 10px;padding:8px 12px;display:grid}.observation-scope-switcher button:hover:not(:disabled){color:var(--primary-strong);background:#ffffffa3}.observation-scope-switcher button.is-active{color:var(--primary-deep);border-bottom-color:var(--primary);background:#fff}.observation-scope-switcher button:disabled{cursor:not-allowed;opacity:.48}.observation-scope-switcher strong{text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.observation-scope-switcher span{color:var(--faint);font-family:JetBrains Mono,monospace;font-size:var(--font-size-label)}.observation-scope-switcher small{color:var(--faint);font-size:var(--font-size-label);text-overflow:ellipsis;white-space:nowrap;grid-column:1/-1;overflow:hidden}.observation-matrix-shortcuts{color:var(--faint);font-size:var(--font-size-label);margin:0 0 9px;line-height:1.45}.matrix-header-action{min-height:24px;color:var(--primary-strong);border:1px solid var(--outline);font-size:var(--font-size-label);letter-spacing:0;text-transform:none;background:#fff;border-radius:5px;align-items:center;gap:3px;margin-left:7px;padding:2px 5px;font-weight:700;display:inline-flex}.matrix-header-action:disabled{color:var(--faint);cursor:not-allowed;opacity:.55}.pending-photo-error{white-space:normal;color:var(--error)!important}.observation-batch-list{gap:7px;display:grid}.observation-batch-card{min-height:58px;color:var(--text);border:1px solid var(--outline);background:#fff;border-radius:9px;grid-template-columns:minmax(220px,1fr) auto;align-items:center;gap:16px;padding:10px 12px;transition:border-color .16s,background .16s,box-shadow .16s;display:grid}.observation-batch-card:hover{border-color:var(--outline-strong);box-shadow:var(--shadow-sm);background:#fff}.observation-batch-card>div:first-child{gap:3px;display:grid}.observation-batch-card strong{font-size:.8rem}.observation-batch-title{flex-wrap:wrap;align-items:center;gap:6px 10px;display:flex}.observation-batch-card small{color:var(--faint);font-size:var(--font-size-label)}.observation-batch-counts{flex-wrap:wrap;gap:6px;display:flex}.observation-batch-counts span{color:var(--muted);font-size:var(--font-size-label);background:#f1f3f4;border-radius:6px;padding:4px 7px;font-weight:600}.observation-batch-trash{border-top:1px solid var(--outline);margin-top:12px}.observation-batch-trash>summary{min-height:40px;color:var(--muted);font-size:var(--font-size-label);cursor:pointer;justify-content:space-between;align-items:center;gap:10px;padding:10px 2px 0;font-weight:600;list-style:none;display:flex}.observation-batch-trash>summary::-webkit-details-marker{display:none}.observation-batch-trash>summary>span{align-items:center;gap:7px;display:inline-flex}.observation-batch-trash>summary>small{min-width:24px;color:var(--muted);font-size:var(--font-size-label);text-align:center;background:#f1f3f4;border-radius:999px;padding:3px 7px}.observation-batch-trash-body{gap:9px;padding-top:8px;display:grid}.observation-batch-trash-body>p{color:var(--faint);font-size:var(--font-size-label);margin:0;line-height:1.5}.observation-batch-card.is-deleted{background:var(--surface-subtle);box-shadow:none}.observation-batch-restore{justify-content:flex-end;align-items:center;gap:10px;display:flex}.observation-batch-trash-empty{border:1px dashed var(--outline);text-align:center;border-radius:8px;padding:10px 12px}.legacy-measurements{border-top:1px solid var(--outline);margin-top:22px;padding-top:18px}.legacy-measurements h3{margin-bottom:5px}.legacy-measurements>p{color:var(--muted);font-size:var(--font-size-label);margin:0 0 12px}.checkbox-field,.form-grid .checkbox-field,.form-stack .checkbox-field{justify-content:start;align-items:center;gap:8px;min-height:24px;display:flex}.checkbox-field input[type=checkbox]{width:17px;height:17px;min-height:0;accent-color:var(--primary);flex:none;margin:0;padding:0}.form-grid .api-key-scopes{border:0;gap:8px;padding:0}.api-key-scopes>legend{margin-bottom:8px;padding:0}.api-key-scopes>.field-hint{margin:4px 0 0}.factor-bulk-form{gap:14px}.factor-selection{gap:12px;display:grid}.factor-selection>header{justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.factor-selection>header .eyebrow{margin-bottom:7px}.factor-selection>header h2{margin-bottom:6px}.factor-selection>header p:last-child{max-width:640px;color:var(--muted);margin:0;font-size:.78rem;line-height:1.6}.factor-selection-count{color:var(--primary-strong);background:var(--primary-soft);font-size:var(--font-size-label);border-radius:999px;flex:none;padding:6px 10px;font-weight:700}.factor-selection-table-wrap{box-shadow:none}.definition-picker-filters{min-width:0;margin:12px 0}.definition-picker-controls{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.definition-picker-controls>.list-filter{flex:150px}.definition-picker-controls>.list-search{flex:2 220px}.definition-selected-toggle,.form-grid .definition-selected-toggle{min-height:36px;color:var(--muted);font-size:var(--font-size-body);align-items:center;gap:8px;display:flex}.definition-selected-toggle input[type=checkbox],.form-grid .definition-selected-toggle input[type=checkbox]{width:18px;height:18px;min-height:0;accent-color:var(--primary);margin:0;padding:0}.definition-selection-summary{background:var(--primary-wash);border-radius:var(--radius-sm);padding:10px 12px}.definition-selection-summary summary{width:fit-content;max-width:100%;min-height:28px;color:var(--primary-strong);cursor:pointer;font-size:var(--font-size-body)}.definition-selection-summary ul{flex-wrap:wrap;gap:6px;max-height:132px;margin:8px 0 0;padding:0;list-style:none;display:flex;overflow:auto}.definition-selection-summary li{max-width:100%;color:var(--text);border:1px solid var(--outline);border-radius:var(--radius-sm);background:var(--surface);font-size:var(--font-size-body);align-items:center;gap:4px;padding:2px 8px;display:flex}.definition-selection-summary li>span{overflow-wrap:anywhere;min-width:0}.definition-selection-summary li button{width:28px;height:28px;color:var(--muted);background:0 0;border:0;border-radius:4px;flex:none;place-items:center;padding:0;display:inline-grid}.definition-selection-summary li button:hover{color:var(--primary-strong);background:var(--primary-soft)}.definition-check{place-items:center;min-width:36px;min-height:36px;display:inline-grid}.factor-selection-table{min-width:560px}.metric-selection-table{min-width:760px}.group-factor-selection{border-top:1px solid var(--outline);margin-top:4px;padding-top:18px}.group-factor-selection-table{min-width:760px}.group-factor-effective-date{background:var(--surface-subtle);border-radius:9px;grid-template-columns:minmax(180px,240px) minmax(0,1fr);align-items:end;gap:14px;padding:12px;display:grid}.group-factor-effective-date>p{color:var(--muted);font-size:var(--font-size-label);margin:0 0 8px;line-height:1.5}.factor-selection-table tbody tr.is-selected{background:var(--primary-wash)}.factor-selection-table tbody tr.is-selected:hover{background:var(--primary-soft)}.factor-selection-table .factor-check-cell{text-align:center;width:42px;padding-left:5px;padding-right:5px}.factor-selection-table .factor-check-cell label{place-items:center;gap:0;display:inline-grid}.form-grid .factor-selection-table input[type=checkbox]{width:18px;height:18px;min-height:0;accent-color:var(--primary);box-shadow:none;border-radius:4px;margin:0;padding:0}.factor-selection-table td>strong{margin-bottom:2px;font-size:.77rem;display:block}.factor-code{color:var(--faint);font-family:JetBrains Mono,monospace;font-size:var(--font-size-label);display:block}.form-grid .factor-unit-input{width:min(100%,120px);min-height:30px;padding:4px 7px}.form-grid .factor-unit-input:disabled{color:var(--faint);border-color:var(--outline);background:var(--surface-subtle);cursor:not-allowed;opacity:.72}.form-grid .group-factor-value-input{width:min(100%,180px);min-height:32px;padding:5px 8px}.form-grid .group-factor-value-input:disabled{color:var(--faint);border-color:var(--outline);background:var(--surface-subtle);cursor:not-allowed;opacity:.72}.condition-page{gap:14px;display:grid}.condition-editor-card,.condition-candidates-card{gap:12px;display:grid}.condition-change-fields{background:var(--surface-subtle);border-radius:9px;grid-template-columns:minmax(220px,300px) minmax(260px,1fr);gap:12px;padding:12px;display:grid}.condition-change-fields label{color:var(--muted);font-size:var(--font-size-label);gap:6px;font-weight:650;display:grid}.condition-change-fields input{width:100%}.condition-table-wrap{overflow-x:auto}.condition-period-hint{color:var(--muted);margin-top:4px;font-size:12px;display:block}.condition-table{min-width:820px}.condition-table tbody tr.is-condition{background:#f5f7f8}.condition-table tbody tr.is-condition:hover{background:#eef1f3}.condition-value-input{width:min(100%,190px);min-height:32px;padding:5px 8px}.condition-editor-actions{justify-content:space-between;align-items:center;gap:18px;display:flex}.condition-editor-buttons{flex-wrap:wrap;flex:none;justify-content:flex-end;align-items:center;gap:8px;display:flex}.condition-editor-actions p,.condition-section-hint{color:var(--muted);font-size:var(--font-size-label);margin:0;line-height:1.5}.condition-candidates-card>header>svg{color:var(--primary)}.condition-candidate-list{gap:7px;display:grid}.condition-candidate{border:1px solid var(--outline);background:var(--surface-subtle);border-radius:8px;grid-template-columns:minmax(160px,1fr) minmax(120px,auto) auto;align-items:center;gap:14px;padding:10px 12px;display:grid}.condition-candidate strong,.condition-candidate small{display:block}.condition-candidate small{color:var(--faint);font-size:var(--font-size-label);margin-top:3px}.condition-candidate>span{color:var(--text);font-size:.76rem}.condition-inheritance{border:1px solid var(--outline);background:var(--surface-subtle);border-radius:10px;gap:10px;padding:16px;display:grid}.condition-inheritance>header{justify-content:space-between;align-items:flex-end;gap:18px;display:flex}.condition-inheritance>header h2{align-items:center;gap:7px;margin-bottom:5px;display:flex}.condition-inheritance>header p:last-child,.condition-lock-hint{color:var(--muted);font-size:var(--font-size-label);margin:0;line-height:1.5}.inherited-condition-table{min-width:640px}.inherited-condition-table tbody tr{background:#f1f3f4}.locked-condition-value{min-width:110px;min-height:30px;color:var(--muted);border:1px solid var(--outline);background:#e9ecef;border-radius:7px;align-items:center;padding:5px 8px;display:inline-flex}.condition-lock-label{color:var(--muted);font-size:var(--font-size-label);align-items:center;gap:5px;display:inline-flex}.factor-change-table tr.is-condition-locked th,.factor-change-table tr.is-condition-locked td{background:#f1f3f4}.condition-matrix-cell>div{min-height:30px;color:var(--muted);align-items:center;gap:8px;display:flex}.condition-matrix-cell>div>a{color:var(--primary);font-size:var(--font-size-label);margin-left:auto;font-weight:650}.condition-matrix-cell>small{color:var(--faint);font-size:var(--font-size-label);margin-top:3px;display:block}.form-grid .metric-frequency-input{width:min(100%,130px);min-height:30px;padding:4px 7px}.form-grid .metric-frequency-input:disabled{color:var(--faint);border-color:var(--outline);background:var(--surface-subtle);cursor:not-allowed;opacity:.72}.metric-required-cell{text-align:center;width:56px}.factor-selection-empty{color:var(--muted);text-align:center;padding:22px 12px}.file-drop{color:var(--muted);background:var(--primary-wash);text-align:center;border:1px dashed #aecbfa;border-radius:9px;place-items:center;padding:26px}.delete-confirmation{background:var(--error-soft);border:1px solid #f4b5ae;border-radius:12px;align-items:flex-start;gap:16px;margin-bottom:22px;padding:19px;display:flex}.delete-confirmation-icon{width:48px;height:48px;color:var(--error);background:var(--error-soft);border-radius:14px;flex:none;place-items:center;display:grid}.delete-confirmation h2{margin-bottom:6px;font-size:1rem}.delete-confirmation p{color:var(--muted);margin:0;font-size:.8rem}.deletion-target{gap:16px;margin:0 0 24px;display:grid}.deletion-target dt{color:var(--muted);font-size:var(--font-size-label);margin-bottom:4px}.deletion-target dd{overflow-wrap:anywhere;margin:0;font-size:1rem;font-weight:600}.deletion-target .deletion-target-id{font-size:var(--font-size-label);font-weight:400}.empty-state{text-align:center;place-items:center;padding:40px 18px;display:grid}.empty-icon{width:52px;height:52px;color:var(--primary);background:var(--primary-soft);border-radius:15px;place-items:center;margin-bottom:15px;display:grid}.empty-state h3{margin-bottom:6px}.empty-state p{max-width:360px;color:var(--muted);font-size:.8rem;line-height:1.6}.empty-state.compact{text-align:left;grid-template-columns:36px minmax(0,1fr) auto;justify-items:start;gap:12px;padding:16px 18px}.empty-state.compact .empty-icon{border-radius:9px;width:36px;height:36px;margin:0}.empty-state.compact .empty-icon svg{width:20px;height:20px}.empty-state.compact h3{margin-bottom:2px}.empty-state.compact p{max-width:none;margin:0}.loading-state{min-height:220px;color:var(--muted);justify-content:center;align-items:center;gap:11px;font-size:.8rem;display:flex}.screen-loader{place-items:center;min-height:100vh;display:grid}.spinner{border:2px solid var(--outline);border-top-color:var(--primary);border-radius:50%;width:21px;height:21px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.error-state{color:#c5221f;background:var(--error-soft);border:1px solid #f4b5ae;border-radius:12px;align-items:center;gap:14px;padding:20px;display:flex}.error-state div{flex:1}.error-state p{margin:4px 0 0;font-size:.78rem}.experiment-identity{margin-bottom:16px;padding:0}.experiment-identity:after{content:none}.experiment-identity .page-header{margin-bottom:12px}.experiment-identity .page-header-copy{flex:auto}.experiment-identity .page-header h1{overflow-wrap:anywhere;font-size:var(--font-size-page-title)}.experiment-identity .page-actions{justify-content:flex-end}.experiment-fact-strip{flex-wrap:wrap;gap:16px 32px;margin:20px 0 0;padding:0 0 8px;display:flex}.experiment-fact-strip div{align-items:baseline;gap:8px;display:flex}.experiment-fact-strip div+div{border:0;padding:0}.experiment-fact-strip dt{color:var(--muted);font-size:.75rem}.experiment-fact-strip dd{overflow-wrap:anywhere;margin:0;font-size:.875rem;font-weight:400}.tab-bar{border-bottom:1px solid var(--outline);gap:24px;margin:0 0 24px;padding:0;display:flex;overflow-x:auto}.tab-bar button{min-height:44px;color:var(--muted);white-space:nowrap;background:0 0;border:0;padding:0 2px;font-size:.875rem;font-weight:500;transition:color .16s;position:relative}.tab-bar button:hover{color:var(--primary)}.tab-bar button.active{color:var(--primary-strong)}.tab-bar button.active:after{background:var(--primary);content:"";height:2px;position:absolute;bottom:0;left:0;right:0}.detail-grid{grid-template-columns:minmax(0,1fr) 250px;gap:14px;display:grid}.detail-summary{min-height:240px}.overview-next-action{min-height:148px}.experiment-statement{border:1px solid var(--outline);border-radius:var(--radius-md);background:var(--surface);overflow:hidden}.statement-header{border-bottom:1px solid var(--outline);justify-content:space-between;align-items:center;gap:16px;padding:20px 24px;display:flex}.statement-header h2{font-size:1rem}.statement-header p{color:var(--muted);font-size:var(--font-size-label);margin:2px 0 0}.statement-summary{grid-template-columns:repeat(2,minmax(0,1fr));padding:8px 24px;display:grid}.statement-summary>div{border-bottom:1px solid var(--outline);min-width:0;padding:10px 14px 10px 0}.statement-summary>div:nth-child(2n){padding-left:14px}.statement-summary>div:nth-last-child(-n+2){border-bottom:0}.statement-summary span{color:var(--muted);font-size:var(--font-size-label)}.statement-summary p{overflow-wrap:anywhere;white-space:pre-wrap;margin:3px 0 0;line-height:1.5}.statement-description{border-top:1px solid var(--outline);padding:10px 20px}.statement-description span{color:var(--muted);font-size:var(--font-size-label)}.statement-description p{overflow-wrap:anywhere;white-space:pre-wrap;margin:3px 0 0}.statement-section{border-top:1px solid var(--outline);padding:24px}.statement-section-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:10px;display:flex}.statement-section-header p{color:var(--muted);margin:5px 0 0;font-size:.76rem}.statement-table-wrap{overflow-x:auto}.statement-table{border-collapse:collapse;width:100%;min-width:680px}.statement-table th,.statement-table td{border-bottom:1px solid var(--outline);text-align:left;vertical-align:top;padding:12px}.statement-table th{color:var(--muted);background:var(--surface-subtle);font-size:var(--font-size-label);white-space:nowrap;font-weight:600}.statement-table tbody tr:last-child td{border-bottom:0}.statement-table td small{color:var(--muted);font-size:var(--font-size-label);margin-top:3px;display:block}.statement-table td strong{font-weight:600}.statement-table td{white-space:normal}.statement-empty{color:var(--muted);margin:0}.statement-planned{color:var(--amber);font-size:var(--font-size-label);margin-left:6px;display:inline-block}.statement-section .current-factor-tables,.statement-section .timeline-list{margin:0}.statement-document-form{grid-template-columns:minmax(120px,.7fr) minmax(180px,1.2fr) minmax(180px,1.3fr) auto;align-items:end;gap:12px;margin-top:18px;display:grid}.statement-document-form label{gap:5px;min-width:0;display:grid}.statement-document-form label span{color:var(--muted);font-size:var(--font-size-label)}.statement-document-form input,.statement-document-form select{width:100%;min-height:var(--density-field)}.statement-document-form input[type=file]{padding:5px}.statement-document-form .form-error,.statement-document-hint{grid-column:1/-1;margin:0}.statement-document-hint{color:var(--muted);font-size:var(--font-size-label)}@media (width<=800px){.statement-header,.statement-section,.statement-summary,.statement-description{padding-left:17px;padding-right:17px}.statement-document-form{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=540px){.statement-header{flex-direction:column;align-items:flex-start}.statement-summary{grid-template-columns:1fr}.statement-summary>div:nth-child(2n){padding-left:0}.statement-summary>div:nth-last-child(2){border-bottom:1px solid var(--outline)}.statement-document-form{grid-template-columns:1fr}.statement-section-header{flex-wrap:wrap}}.overview-next-action>p{max-width:620px;color:var(--muted);margin:0;font-size:.76rem;line-height:1.6}.experiment-health-card dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:0;display:grid}.experiment-health-card dl>div{background:var(--surface-subtle);border-radius:7px;gap:3px;padding:9px;display:grid}.experiment-health-card dt{color:var(--faint);font-size:var(--font-size-label)}.experiment-health-card dd{margin:0;font-family:JetBrains Mono,monospace;font-size:1rem}.definition-grid{grid-template-columns:repeat(3,1fr);gap:20px 18px;margin:0;display:grid}.definition-grid>div{gap:7px;display:grid}.definition-grid dt{color:var(--faint);font-size:var(--font-size-label);font-weight:600}.definition-grid dd{margin:0;font-size:.8rem;font-weight:600;line-height:1.45}.summary-stack{align-content:start;gap:8px;display:grid}.mini-summary{border:1px solid var(--outline);background:#fff;border-radius:9px;align-items:center;gap:11px;padding:13px;display:flex}.mini-summary>span{width:34px;height:34px;color:var(--primary);background:var(--primary-soft);border-radius:8px;place-items:center;display:grid}.mini-summary div{display:grid}.mini-summary strong{font-family:JetBrains Mono,monospace;font-size:1.25rem;font-weight:500}.mini-summary small{color:var(--muted);font-size:var(--font-size-label)}.full-width{grid-column:1/-1}.two-column-sections{grid-template-columns:1fr;gap:14px;display:grid}.section-divider{background:var(--outline);height:1px;margin:20px 0}.group-detail-grid{grid-template-columns:minmax(280px,.7fr) minmax(0,1.3fr);gap:14px;display:grid}.experiment-sensor-products{min-width:0;scroll-margin-top:80px}.experiment-sensor-products>header{align-items:flex-start}.experiment-sensor-help{max-width:75ch;color:var(--muted);margin:6px 0 0;font-size:.8rem;line-height:1.6}.experiment-sensor-shared{color:var(--muted);margin:0 0 14px;font-size:.8rem;line-height:1.6}.experiment-sensor-list{margin:0;padding:0;list-style:none}.experiment-sensor-list>li{border-top:1px solid var(--outline);grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(180px,.8fr);gap:16px 24px;padding:18px 0;display:grid}.experiment-sensor-identity,.experiment-sensor-period,.experiment-sensor-action{flex-direction:column;align-items:flex-start;gap:6px;min-width:0;display:flex}.experiment-sensor-identity h3{overflow-wrap:anywhere;margin:0;font-size:.875rem;font-weight:600;line-height:1.5}.experiment-sensor-product-id{overflow-wrap:anywhere;font-size:.8rem}.experiment-sensor-list small{color:var(--muted);overflow-wrap:anywhere;font-size:.75rem;line-height:1.6}.experiment-sensor-period{font-size:.8rem}.experiment-sensor-period p{margin:0}.experiment-sensor-period small,.experiment-sensor-action small{font-variant-numeric:tabular-nums}.experiment-sensor-footer{border-top:1px solid var(--outline);padding-top:14px}.experiment-sensor-empty p{margin:0 0 8px;font-size:.875rem;line-height:1.6}@media (width<=760px){.experiment-sensor-products>header{flex-wrap:wrap}.experiment-sensor-list>li{grid-template-columns:minmax(0,1fr);gap:12px}.experiment-sensor-action .button{min-height:44px}}.plant-detail-grid{grid-template-columns:minmax(0,1fr);gap:14px;display:grid}.plant-profile-card .definition-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px 28px}.plant-status-profile-field{min-width:min(100%,360px)}.plant-status-current{flex-wrap:wrap;align-items:center;gap:8px;min-height:34px;display:flex}.plant-status-edit-icon{color:var(--faint);background:0 0;border-color:#0000}.plant-status-edit-select{width:min(100%,240px);min-width:0;min-height:34px;color:var(--text);border:1px solid var(--primary);font:inherit;box-shadow:0 0 0 2px var(--primary-soft);background:#fff;border-radius:7px;outline:none;padding:5px 30px 5px 9px;font-weight:500}.plant-status-update-error{width:min(100%,430px);margin-top:8px}.plant-timeline-card{min-width:0}.group-profile-card .definition-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.group-profile-card .definition-grid>div:last-child,.group-profile-card .definition-grid>.group-profile-field-wide-edit{grid-column:1/-1}.group-profile-field-wide-edit .inline-edit-form{max-width:360px}.inline-edit-value{align-items:center;gap:7px;min-width:0;min-height:30px;display:flex}.inline-edit-value>span{overflow-wrap:anywhere;min-width:0}.inline-edit-value>.empty-value{color:var(--faint);font-weight:500}.inline-edit-trigger{width:26px;height:26px;color:var(--faint);opacity:0;pointer-events:none;background:0 0;border-color:#0000;flex:none;transition:opacity .14s}.group-profile-card .definition-grid>div:hover .inline-edit-trigger,.group-profile-card .definition-grid>div:focus-within .inline-edit-trigger,.plant-profile-card .definition-grid>div:hover .inline-edit-trigger,.plant-profile-card .definition-grid>div:focus-within .inline-edit-trigger{opacity:1;pointer-events:auto}.inline-edit-form{grid-template-columns:minmax(0, 1fr) repeat(2, var(--density-control));align-items:center;gap:8px;width:100%;display:grid}.inline-edit-form input{min-width:0;min-height:var(--density-control);border:1px solid var(--primary);width:100%;font:inherit;box-shadow:0 0 0 2px var(--primary-soft);background:#fff;border-radius:7px;outline:none;padding:5px 8px;font-weight:500}.inline-edit-form .icon-button{width:var(--density-control);height:var(--density-control)}.inline-edit-confirm{color:var(--primary);background:var(--primary-wash);border-color:#aecbfa}.inline-edit-cancel{color:var(--muted)}.group-profile-error{margin:0 0 16px}.group-factors-card{min-width:0}.group-plants-card{grid-column:1/-1}.group-factor-detail-table{min-width:560px}.group-factor-detail-table td:first-child strong,.group-factor-detail-table td:first-child small{display:block}.group-factor-detail-table td:first-child small{color:var(--faint);font-family:JetBrains Mono,monospace;font-size:var(--font-size-label);margin-top:2px}.card-actions select{min-height:36px;color:var(--text);border:1px solid var(--outline-strong);border-radius:var(--radius-sm);font-size:var(--font-size-label);background:#fff;outline:none;padding:0 30px 0 10px}.action-menu{position:relative}.action-menu>summary{cursor:pointer;list-style:none}.action-menu>summary::-webkit-details-marker{display:none}.action-menu-popover{z-index:12;border:1px solid var(--outline);width:220px;box-shadow:var(--shadow-md);background:#fff;border-radius:9px;gap:7px;padding:10px;display:grid;position:absolute;top:calc(100% + 7px);right:0}.action-menu-popover label{color:var(--muted);font-size:var(--font-size-label);gap:5px;font-weight:700;display:grid}.action-menu-popover select,.action-menu-popover .button{width:100%}.timeline-list{gap:0;width:100%;display:grid;position:relative}.timeline-list:before{background:var(--outline-strong);content:"";width:1px;position:absolute;top:18px;bottom:18px;left:15px}.timeline-item{grid-template-columns:31px minmax(0,1fr);gap:10px;padding:0 0 8px;display:grid;position:relative}.timeline-dot{z-index:1;border:3px solid var(--canvas);background:var(--primary);width:12px;height:12px;box-shadow:0 0 0 1px var(--primary);border-radius:50%;margin:14px 0 0 9px}.timeline-item-measurement .timeline-dot{background:var(--success);box-shadow:0 0 0 1px var(--success)}.timeline-item-operation .timeline-dot{background:#f9ab00;box-shadow:0 0 0 1px #f9ab00}.timeline-item-location .timeline-dot{background:#a142f4;box-shadow:0 0 0 1px #a142f4}.timeline-item>div{border:1px solid var(--outline);background:#fff;border-radius:9px;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:5px 18px;min-width:0;padding:10px 13px;display:grid}.timeline-item strong{overflow-wrap:anywhere;min-width:0;font-size:.82rem;line-height:1.4}.timeline-summary{color:var(--muted);font-size:var(--font-size-label);overflow-wrap:anywhere;grid-column:1/-1;line-height:1.45}.timeline-item small{color:var(--faint);font-size:var(--font-size-label);white-space:nowrap;grid-area:1/2}.catalog-layout{grid-template-columns:196px minmax(0,1fr);gap:18px;display:grid}.catalog-nav{border:1px solid var(--outline);background:#fff;border-radius:9px;flex-direction:column;align-self:start;gap:2px;padding:6px;display:flex}.catalog-nav button{min-height:var(--density-control);color:var(--muted);font-size:var(--font-size-label);text-align:left;background:0 0;border:0;border-radius:7px;align-items:center;gap:8px;padding:0 9px;transition:color .15s,background .15s;display:flex}.catalog-nav button:hover{color:var(--primary);background:#f1f3f4}.catalog-nav button.active{color:var(--primary-strong);background:var(--primary-soft);font-weight:700}.catalog-cards{gap:7px;display:grid}.catalog-card{border:1px solid var(--outline);background:#fff;border-radius:9px;grid-template-columns:minmax(220px,1fr) minmax(180px,1.25fr) auto;align-items:center;gap:14px;min-width:0;min-height:58px;padding:10px 12px;transition:border-color .16s,background .16s,box-shadow .16s;display:grid}.catalog-card:hover{border-color:var(--outline-strong);box-shadow:var(--shadow-sm);background:#fff}.catalog-card.inactive{background:var(--surface-subtle)}.catalog-identity{min-width:0}.catalog-identity small{color:var(--faint);font-size:var(--font-size-label);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;display:block;overflow:hidden}.catalog-card h3{text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.catalog-card p{min-width:0;color:var(--muted);font-size:var(--font-size-label);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;line-height:1.45;display:-webkit-box;overflow:hidden}.catalog-card footer{min-width:190px;color:var(--faint);font-size:var(--font-size-label);justify-content:flex-end;align-items:center;gap:8px;display:flex}.catalog-type{text-overflow:ellipsis;white-space:nowrap;max-width:120px;overflow:hidden}.catalog-review-note{color:#8a5700;background:#fef7e0;border:1px solid #f1cf86;border-radius:8px;gap:5px;padding:10px 12px;font-size:.75rem;line-height:1.5;display:grid}.catalog-review-note.rejected{color:#a5281f;background:var(--error-soft);border-color:#f4b5ae}.catalog-review-page{gap:18px;display:grid}.catalog-review-page>label{color:var(--text);font-size:var(--font-size-label);gap:7px;font-weight:700;display:grid}.catalog-review-page textarea{width:100%;min-height:110px;color:var(--text);border:1px solid var(--outline-strong);font:inherit;resize:vertical;background:#fff;border-radius:8px;outline:none;padding:10px 11px}.catalog-review-page textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #4285f41a}.catalog-review-summary{gap:14px;display:grid}.catalog-review-summary>div>span{color:var(--muted);font-size:var(--font-size-label);font-weight:700}.catalog-review-summary h2{margin:4px 0 0;font-size:1.1rem}.catalog-review-summary dl{border:1px solid var(--outline);background:var(--surface-subtle);border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;margin:0;padding:13px;display:grid}.catalog-review-summary dl>div{gap:3px;min-width:0;display:grid}.catalog-review-summary dt{color:var(--muted);font-size:var(--font-size-label);font-weight:700}.catalog-review-summary dd{overflow-wrap:anywhere;margin:0;font-size:.76rem;line-height:1.5}.user-grid{gap:7px;display:grid}.user-card{border:1px solid var(--outline);background:#fff;border-radius:9px;grid-template-columns:minmax(260px,1fr) auto auto;align-items:center;gap:14px;min-height:58px;padding:9px 12px;display:grid}.user-identity{align-items:center;gap:10px;min-width:0;display:flex}.user-card-main{min-width:0}.user-card h3{margin:0 0 2px}.user-card p{color:var(--muted);font-size:var(--font-size-label);text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.tag-row{flex-wrap:wrap;gap:6px;display:flex}.role-tag{min-height:22px;color:var(--muted);background:var(--surface-subtle);border-radius:6px;align-items:center;gap:4px;padding:3px 7px;font-size:.75rem;font-weight:700;display:inline-flex}.key-list{gap:7px;display:grid}.key-card{border:1px solid var(--outline);background:#fff;border-radius:9px;grid-template-columns:minmax(240px,1fr) minmax(180px,1fr) auto;align-items:center;gap:14px;min-height:60px;padding:10px 12px;display:grid}.key-identity{align-items:center;gap:10px;min-width:0;display:flex}.key-identity>div{min-width:0}.key-card h3{margin:0 0 2px}.key-card p{color:var(--muted);font-size:var(--font-size-label);text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.key-scopes{min-width:0}.key-meta{justify-content:flex-end;align-items:center;gap:10px;display:flex}.key-meta small{color:var(--faint);font-size:var(--font-size-label)}.secret-display{gap:16px;display:grid}.notice{border-radius:9px;padding:12px 13px;font-size:.76rem}.notice.warning{color:#b06000;border:1px solid var(--yellow);background:#fef7e0}.secret-value{background:var(--primary-wash);border-radius:9px;align-items:center;gap:8px;padding:13px;display:flex}.secret-value code{overflow-wrap:anywhere;font-size:var(--font-size-label);flex:1}.invitation-result-list{border:1px solid var(--outline);background:#fff;border-radius:10px;display:grid;overflow:hidden}.invitation-result{border-bottom:1px solid var(--outline);grid-template-columns:minmax(220px,1fr) minmax(190px,auto) minmax(180px,auto);align-items:center;gap:16px;padding:12px 14px;display:grid}.invitation-result:last-child{border-bottom:0}.invitation-result>div{gap:3px;min-width:0;display:grid}.invitation-result strong,.invitation-result span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.invitation-result strong{font-size:.8rem}.invitation-result span,.invitation-result small{color:var(--muted);font-size:var(--font-size-label)}.invitation-result code{color:var(--primary-deep);letter-spacing:.04em;font-size:.78rem;font-weight:600}.invitation-result small{text-align:right;white-space:nowrap}.activation-reset-panel{border-top:1px solid var(--outline);justify-content:space-between;align-items:center;gap:18px;margin-top:24px;padding-top:20px;display:flex}.activation-reset-panel>div:first-child{align-items:flex-start;gap:11px;min-width:0;display:flex}.activation-reset-panel h3{margin-bottom:4px;font-size:.86rem}.activation-reset-panel p{max-width:640px;color:var(--muted);font-size:var(--font-size-label);margin:0;line-height:1.5}.activation-reset-confirm{gap:8px;min-width:min(100%,440px);display:grid}.section-icon{width:34px;height:34px;color:var(--primary);background:var(--primary-soft);border-radius:8px;flex:none;place-items:center;display:grid}.audit-list{border:1px solid var(--outline);background:#fff;border-radius:10px;display:grid;overflow:hidden}.audit-list article{border-bottom:1px solid var(--outline);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-height:50px;padding:8px 12px;display:grid}.audit-list article:last-child{border-bottom:0}.audit-icon{width:32px;height:32px;color:var(--primary);background:var(--primary-soft);border-radius:8px;place-items:center;display:grid}.audit-main{min-width:0}.audit-list p{text-overflow:ellipsis;white-space:nowrap;margin:0 0 2px;font-size:.77rem;overflow:hidden}.audit-list small,.audit-list time{color:var(--faint);font-size:var(--font-size-label)}.audit-list time{white-space:nowrap}.not-found{min-height:70vh;color:var(--muted);text-align:center;align-content:center;place-items:center;gap:10px;display:grid}.login-page{background:var(--surface);grid-template-columns:minmax(460px,1.08fr) minmax(420px,.92fr);min-height:100vh;display:grid}.login-story{color:var(--text);background:url(/images/login-plant-factory.jpg) 58%/cover no-repeat;flex-direction:column;padding:44px 56px;display:flex;position:relative;overflow:hidden}.story-grid{background:linear-gradient(135deg,#ffffffad,#0000 62%);position:absolute;inset:0}.story-content{z-index:1;width:min(100%,640px);margin:auto 0}.story-content .eyebrow{color:var(--success-strong)}.story-content h1{letter-spacing:-.055em;max-width:620px;margin-bottom:22px;font-size:clamp(2.5rem,4.8vw,4.6rem);font-weight:700;line-height:1.06}.story-content>p:not(.eyebrow){max-width:540px;color:var(--muted);font-size:.9rem;line-height:1.8}.story-content ul{gap:14px;margin:34px 0 0;padding:0;list-style:none;display:grid}.story-content li{color:#3c4043;align-items:center;gap:10px;font-size:.82rem;display:flex}.story-content li svg{color:var(--success)}.login-panel{background:#f8f9fa;place-items:center;padding:50px;display:grid;position:relative}.login-language{min-height:38px;color:var(--muted);border:1px solid var(--outline);font-size:var(--font-size-label);background:#fff;border-radius:9px;align-items:center;gap:7px;padding:0 11px;display:flex;position:absolute;top:28px;right:32px}.login-form{width:min(100%,410px)}.login-icon{background:var(--success-soft);border:1px solid #ceead6;border-radius:16px;place-items:center;width:56px;height:56px;margin-bottom:24px;display:grid;overflow:hidden}.login-form>.eyebrow{color:var(--success-strong)}.login-form h2{letter-spacing:-.04em;margin-bottom:9px;font-size:2rem}.login-form .form-hint{margin-bottom:30px}.login-form label{color:var(--muted);font-size:var(--font-size-label);gap:8px;margin-bottom:18px;font-weight:700;display:grid}.input-with-icon{min-height:48px;color:var(--faint);border:1px solid var(--outline-strong);background:#fff;border-radius:10px;align-items:center;gap:10px;padding:0 13px;transition:color .16s,border-color .16s,box-shadow .16s;display:flex}.input-with-icon:focus-within{color:var(--primary);border-color:var(--primary);box-shadow:0 0 0 3px #4285f41a}.login-panel .input-with-icon:focus-within{color:var(--success-strong);border-color:var(--success);box-shadow:0 0 0 3px #34a8531f}.input-with-icon input{background:0 0;border:0;outline:none;width:100%}.activation-code-input{letter-spacing:.08em;text-transform:uppercase;font-family:JetBrains Mono,ui-monospace,monospace}.login-submit{width:100%;min-height:48px;margin-top:8px}.button.primary.login-submit{background:var(--success-strong);box-shadow:0 1px 2px #18803833}.button.primary.login-submit:hover{background:#137333;box-shadow:0 2px 6px #18803838}.auth-switch{color:var(--muted);font-size:var(--font-size-label);text-align:center;margin:18px 0 0}.auth-switch a{color:var(--success-strong);font-weight:700}.auth-switch a:hover{text-underline-offset:3px;text-decoration:underline}.login-provider-section{margin-top:24px}.corporate-login-form{margin-bottom:24px}.login-divider{color:var(--muted);font-size:var(--font-size-label);align-items:center;gap:12px;margin:0 0 16px;display:flex}.login-divider:before,.login-divider:after{content:"";background:var(--outline);flex:1;height:1px}.login-provider-button{width:100%;min-height:48px;padding-inline:10px}.feishu-icon{object-fit:contain;flex-shrink:0;width:24px;height:24px;display:block}.login-qr-panel{justify-items:center;display:grid}.login-qr-options{flex-wrap:wrap;justify-content:space-between;align-items:center;column-gap:20px;margin-top:16px;display:flex}.login-text-action{min-height:44px;color:var(--success-strong);background:0 0;border:0;justify-content:center;align-items:center;gap:6px;padding:6px 0;font-size:.875rem;display:inline-flex}.login-text-action:hover:not(:disabled){text-underline-offset:3px;text-decoration:underline}.login-text-action:disabled{opacity:.55;cursor:default}.login-qr-frame-wrap{background:#fff;width:250px;max-width:100%;height:250px;position:relative}.login-qr-frame,.login-qr-frame iframe{border:0;width:250px;max-width:100%;height:250px;display:block}.login-qr-overlay{color:var(--muted);background:var(--surface-subtle);text-align:center;place-items:center;padding:20px;display:grid;position:absolute;inset:0}.login-qr-overlay p{margin:0;font-size:.875rem}.login-qr-message{min-height:2.8em;color:var(--muted);text-align:center;margin:12px 0 0;font-size:.875rem;line-height:1.5}.login-qr-message[role=alert]{color:var(--text)}.login-qr-refresh{min-height:40px;color:var(--success-strong);background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;gap:8px;padding:6px 12px;font-size:.875rem;display:inline-flex}.login-qr-refresh:hover:not(:disabled){background:var(--success-soft)}.login-qr-refresh:disabled{opacity:.55;cursor:default}.account-connection-row>.feishu-icon{margin-top:2px}.login-provider-hint{color:var(--muted);font-size:var(--font-size-label);overflow-wrap:anywhere;margin:12px 0 0;line-height:1.6}.login-provider-error{color:var(--muted);font-size:var(--font-size-label);align-items:baseline;gap:8px;margin-top:18px;display:flex}.login-provider-error button{color:var(--success-strong);text-underline-offset:3px;background:0 0;border:0;padding:4px;text-decoration:underline}.login-status{color:var(--muted);font-size:var(--font-size-label);margin:0 0 18px}.account-page{gap:24px;max-width:940px;padding-bottom:64px;display:grid}.account-page h2{margin:0 0 20px;font-size:1rem;font-weight:600}.account-profile .definition-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.account-profile dd{overflow-wrap:anywhere}.account-connection-row{border-top:1px solid var(--outline);align-items:flex-start;gap:16px;padding:24px 0;display:flex}.account-connection-row:last-child{padding-bottom:0}.account-connection-row>svg{color:var(--muted);flex-shrink:0;margin-top:3px}.account-connection-copy{flex:1;min-width:0}.account-connection-copy h3{flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 8px;font-size:.875rem;font-weight:600;display:flex}.account-connection-copy p{color:var(--muted);overflow-wrap:anywhere;margin:0;font-size:.875rem;line-height:1.6}.account-connection-copy .account-connection-note{font-size:var(--font-size-label);margin-top:6px}.account-connection-row>.button{flex-shrink:0}.account-feedback{color:var(--muted);margin:0 0 20px;font-size:.875rem}.account-feedback-success{color:var(--success-strong)}.login-footer{color:var(--faint);font-size:var(--font-size-label);position:absolute;bottom:24px}@media (width<=640px){.account-profile .definition-grid{grid-template-columns:minmax(0,1fr)}.account-connection-row{grid-template-columns:21px minmax(0,1fr);gap:12px;display:grid}.account-connection-row>.button{grid-column:2;justify-self:start}.login-provider-error button,.login-qr-refresh{min-height:44px}}@media (hover:none),(pointer:coarse){.inline-edit-trigger{opacity:.72;pointer-events:auto}}@media (width<=1180px){.main-content{padding-left:32px;padding-right:32px}.research-pulse{grid-template-columns:1fr .55fr}.pulse-progress{border-top:1px solid #ceead6;grid-column:1/-1;padding-top:20px}.pulse-active{border-right:0}.dashboard-grid,.dashboard-work-grid,.two-column-sections,.catalog-cards,.user-grid{grid-template-columns:1fr}.login-story{padding:40px}.definition-grid{grid-template-columns:repeat(2,1fr)}.observation-header-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=1050px){.experiments-page .filter-bar{grid-template-columns:repeat(3,minmax(0,1fr)) auto}.experiments-page .search-box{grid-column:1/-1}}@media (width>=641px){.experiment-identity .page-actions{flex-wrap:nowrap;flex:none}.experiment-identity .page-actions>*{white-space:nowrap;flex:none}}@media (width<=860px){.sidebar{transition:transform .22s;transform:translate(-100%)}.sidebar.sidebar-open{transform:translate(0)}.sidebar-close{display:inline-grid}.sidebar-scrim{z-index:20;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#20212473;border:0;position:fixed;inset:0}.main-column{padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px)}.mobile-header{z-index:15;min-height:calc(62px + env(safe-area-inset-top,0px));padding:env(safe-area-inset-top,0px) 20px 0;border-bottom:1px solid var(--outline);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f8f9faf0;align-items:center;gap:12px;display:flex;position:sticky;top:0}.main-content{padding:26px 22px 44px}.login-page{grid-template-columns:1fr}.login-story{display:none}.login-panel{min-height:100vh}.detail-grid,.group-detail-grid,.plant-detail-grid{grid-template-columns:1fr}.group-plants-card{grid-column:auto}.summary-stack{grid-template-columns:repeat(3,1fr)}.catalog-layout{grid-template-columns:1fr}.catalog-nav{flex-direction:row;overflow-x:auto}.catalog-nav button{white-space:nowrap}.catalog-card{grid-template-columns:minmax(190px,.9fr) minmax(160px,1fr) auto;gap:10px}}@media (width<=640px){h1{font-size:1.5rem}.main-content{padding:24px 16px 40px}.page-header{flex-direction:column;align-items:flex-start;gap:16px;margin-bottom:18px}.page-actions{width:100%}.page-actions .button{flex:1}.button,.button.small{min-height:44px}.icon-button,.table-card .icon-button{width:44px;height:44px}.timeline-item>div{grid-template-columns:1fr;align-items:start;gap:4px}.timeline-item small{white-space:normal;grid-area:auto/1}.timeline-summary{grid-column:1}.search-box,.select-box,.catalog-nav button,.tab-bar button{min-height:44px}.search-box input,.select-box select{min-height:42px;font-size:1rem}.card-actions select{min-height:44px;font-size:1rem}.sidebar-nav a,.sidebar-account-trigger,.sidebar-account-menu>a,.sidebar-account-menu>button{min-height:44px}.research-pulse{grid-template-columns:1fr;gap:22px;min-height:0;padding:26px 24px}.pulse-active{border-top:1px solid #ceead6;border-left:0;min-height:0;padding:18px 0 0}.pulse-progress{grid-column:auto}.metric-grid,.metric-grid-compact{grid-template-columns:1fr;gap:10px}.metric-card{min-height:84px;padding:14px 16px}.metric-card strong{font-size:1.35rem}.dashboard-grid{gap:12px}.dashboard-focus{grid-template-columns:1fr;padding:20px}.dashboard-focus-metrics,.recent-list-wide{grid-template-columns:1fr}.attention-row{grid-template-columns:auto minmax(0,1fr) auto}.attention-reasons{grid-column:2/-1;justify-content:flex-start}.surface-card{padding:18px}.surface-card>header{flex-direction:column;align-items:flex-start}.platform-update-feed>ol{padding:4px 16px}.platform-update-feed>ol>li{grid-template-columns:36px minmax(0,1fr)}.platform-update-feed>ol>li>time{text-align:left;grid-column:2;padding:20px 0 0 14px}.platform-update-rail{grid-area:1/1/span 2;padding-top:18px}.platform-update-feed article{grid-column:2;padding:5px 0 24px 14px}.platform-update-feed article h2{font-size:1rem}.current-factor-matrix{min-width:100%}.current-factor-matrix thead th:first-child{min-width:104px}.current-factor-matrix thead th:not(:first-child):not(:last-child){min-width:80px}.current-factor-matrix thead th:last-child{min-width:54px}.filter-bar{flex-direction:column;align-items:stretch}.experiments-page .filter-bar{grid-template-columns:minmax(0,1fr)}.experiments-page .search-box{grid-column:auto}.experiments-page .filter-count{justify-self:start}.search-box{max-width:none}.filter-count{margin-left:0;padding:2px 4px}.experiment-pagination .icon-button{width:44px;height:44px}.form-grid{grid-template-columns:1fr}.plant-list-heading{flex-direction:column;align-items:flex-start}.plant-list-controls{align-items:stretch}.plant-group-filter{width:100%}.plant-group-filter select{width:100%;min-height:44px}.plant-result-range{width:100%;margin:0}.plant-page-size select{min-height:44px}.plant-pagination-buttons{margin-left:auto}.plant-status-guide>summary{min-height:44px}.plant-status-guide-panel{width:auto;max-height:calc(100vh - 32px);position:fixed;inset:auto 16px 16px;overflow:auto}.plant-status-guide-panel li{grid-template-columns:118px minmax(0,1fr)}.catalog-optional-grid{grid-template-columns:1fr}.full-span{grid-column:auto}.surface-card.form-page-card{padding:16px}.invitation-result{grid-template-columns:1fr;gap:6px}.invitation-result small{text-align:left}.activation-reset-panel{flex-direction:column;align-items:stretch}.observation-header-grid{grid-template-columns:1fr}.observation-header-card>header{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 8px;margin-bottom:10px;display:grid}.observation-header-card>header h2{grid-column:1;margin:0;font-size:.875rem}.observation-header-card .observation-count{grid-column:1;justify-self:start;padding:2px 6px}.observation-details-toggle{grid-area:1/2/span 2;padding:0 10px}.observation-details-summary{font-size:var(--font-size-label)}.observation-batch-actions{padding-bottom:max(12px, env(safe-area-inset-bottom));bottom:0}.observation-batch-actions .observation-action-buttons{flex-wrap:nowrap;width:100%}.observation-batch-actions .observation-action-buttons>.button{white-space:normal;flex:1 1 0;min-width:0;padding:6px 8px}.observation-batch-actions .observation-save-progress:empty{display:none}.observation-scroll-hint{display:block}.observation-page .observation-cell-editor input,.observation-page .observation-cell-editor select{min-height:44px;font-size:1rem}.observation-page .matrix-header-action{min-height:44px;margin:6px 0 0;padding:6px 8px}.observation-header-grid input,.observation-header-grid select{font-size:1rem}.observation-ending-controls>label{width:100%}.observation-error-plants .button{min-height:44px}.observation-ending-controls select,.observation-ending-cell select{min-height:44px;font-size:1rem}.observation-death-notes textarea{min-height:88px;font-size:1rem}.observation-ending-cell label,.observation-ending-select-all{min-height:44px}.observation-workspace{padding:0}.observation-matrix-section{padding:12px}.observation-matrix-section>header{flex-direction:column;align-items:flex-start}.photo-manager-drawer,.share-drawer,.export-drawer{--drawer-padding-inline:18px}.export-date-grid{grid-template-columns:minmax(0,1fr)}.export-choice-grid.is-three,.export-layout-options{grid-template-columns:1fr}.export-layout-options label{border-right:0;border-bottom:1px solid var(--outline)}.export-layout-options label:last-child{border-bottom:0}.export-drawer-footer{padding:12px max(var(--drawer-padding-inline), env(safe-area-inset-right,0px)) max(12px, env(safe-area-inset-bottom,0px)) max(var(--drawer-padding-inline), env(safe-area-inset-left,0px))}.export-drawer-footer .button{flex:1}.share-search-row{grid-template-columns:1fr}.share-person-row.member{grid-template-columns:34px minmax(0,1fr)}.share-person-row.member>select,.share-person-row.member>button{grid-column:2}.action-menu-popover{top:auto;right:max(16px, env(safe-area-inset-right,0px));bottom:max(16px, env(safe-area-inset-bottom,0px));left:max(16px, env(safe-area-inset-left,0px));z-index:40;overscroll-behavior:contain;width:auto;max-height:calc(100dvh - 100px);position:fixed;overflow-y:auto}.photo-manager-form{grid-template-columns:1fr}.photo-upload-actions{flex-direction:column;align-items:stretch}.photo-upload-button{justify-content:center;min-height:44px}.photo-gallery{grid-template-columns:1fr}.photo-card-image{height:220px}.observation-actions{flex-wrap:wrap}.observation-save-progress{flex-basis:100%}.observation-actions .button{flex:140px}.observation-scope-switcher{grid-template-columns:repeat(3,minmax(0,1fr));padding:0 4px}.observation-scope-switcher button{text-align:center;grid-template-columns:1fr;gap:1px;min-height:48px;padding:5px}.observation-scope-switcher strong,.observation-scope-switcher span{font-size:var(--font-size-label)}.observation-scope-switcher small{display:none}.observation-batch-card{grid-template-columns:1fr auto}.observation-batch-counts{grid-area:2/1/auto/-1}.observation-batch-restore{flex-direction:column;align-items:flex-end}.factor-selection>header{flex-direction:column;align-items:flex-start;gap:12px}.group-factor-effective-date{grid-template-columns:1fr;align-items:stretch}.condition-change-fields{grid-template-columns:1fr}.condition-editor-actions,.condition-editor-buttons{flex-direction:column;align-items:stretch}.condition-editor-buttons>.button{width:100%}.condition-candidate{grid-template-columns:1fr;align-items:stretch}.condition-candidate>.button{width:100%}.condition-inheritance>header{flex-direction:column;align-items:flex-start}.experiment-fact-strip{grid-template-columns:repeat(2,1fr)}.tab-bar{gap:20px;padding:0 2px}.empty-state.compact{grid-template-columns:36px minmax(0,1fr)}.empty-state.compact>.button{grid-column:2}.definition-grid{grid-template-columns:1fr;gap:17px}.group-profile-card .definition-grid,.plant-profile-card .definition-grid{grid-template-columns:minmax(0,1fr)}.inline-edit-value{min-height:44px}.inline-edit-trigger{opacity:1;pointer-events:auto;width:44px;height:44px}.inline-edit-form{grid-template-columns:minmax(0,1fr) 44px 44px}.inline-edit-form input{min-height:44px;font-size:1rem}.inline-edit-form .icon-button{width:44px;height:44px}.plant-status-edit-select{min-height:44px;font-size:1rem}.summary-stack,.catalog-cards,.user-grid{grid-template-columns:1fr}.catalog-card{grid-template-columns:1fr;align-items:start;gap:9px;padding:12px}.catalog-card p{-webkit-line-clamp:3}.catalog-card footer{flex-wrap:wrap;justify-content:flex-start;min-width:0}.catalog-card footer .row-actions{margin-left:auto}.catalog-review-summary dl{grid-template-columns:1fr}.user-card{grid-template-columns:minmax(0,1fr) auto;align-items:start;padding:12px}.user-card>.tag-row{grid-column:1;padding-left:48px}.user-card>.row-actions{grid-area:1/2/span 2}.key-card{grid-template-columns:1fr;padding:12px}.key-meta{justify-content:space-between}.audit-list article{grid-template-columns:auto minmax(0,1fr)}.audit-list time{grid-column:2}.login-panel{padding:64px 24px 42px}.login-language{top:18px;right:18px}.recent-row{grid-template-columns:auto minmax(0,1fr) auto}.recent-row>svg{display:none}tbody .row-actions{opacity:1}}.form-stack{gap:14px;display:grid}.form-stack>label{gap:6px;display:grid}.form-stack>label>span{color:var(--muted);font-size:var(--font-size-label);font-weight:700}.form-stack input,.form-stack select,.form-stack textarea{width:100%;min-height:var(--density-field);color:var(--text);border:1px solid var(--outline-strong);font-family:inherit;font-size:var(--font-size-control);background:#fff;border-radius:7px;padding:6px 9px;font-weight:400;line-height:1.4}.form-stack textarea{resize:vertical;line-height:1.55}.form-stack input:focus,.form-stack select:focus,.form-stack textarea:focus{border-color:var(--primary);outline:0;box-shadow:0 0 0 3px #4285f41a}@media (width<=640px){.form-grid input:not([type=checkbox]):not([type=radio]),.form-grid select,.form-grid textarea,.form-stack input:not([type=checkbox]):not([type=radio]),.form-stack select,.form-stack textarea{min-height:var(--density-field-touch);font-size:1rem}.checkbox-field,.form-grid .checkbox-field,.form-stack .checkbox-field{min-height:44px}.form-page .form-actions{align-items:stretch}.form-page .form-actions>.button{flex:140px}}.form-section{border-top:1px solid var(--outline);gap:14px;padding-top:8px;display:grid}.section-heading-row{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.section-heading-row h2,.section-heading-row h3{margin:0 0 4px}.section-heading-row p{color:var(--muted);margin:0;font-size:.78rem;line-height:1.5}.section-heading-row>strong{color:var(--primary-strong);font-size:1.3rem}.section-heading-row>.button{flex:none}.form-actions,.button-row{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.success-banner{color:#137333;background:var(--success-soft);border:1px solid #a8dab5;border-radius:9px;margin:0 0 16px;padding:11px 13px;font-size:.78rem}.muted-copy{color:var(--muted);font-size:.8rem}.position-assignment-page{width:100%}.position-toolbar{border:1px solid var(--outline);background:#fff;border-radius:10px;justify-content:space-between;align-items:center;gap:14px 24px;min-height:58px;margin-bottom:14px;padding:10px 12px;display:flex}.position-toolbar-fields{flex-wrap:wrap;flex:0 auto;align-items:end;gap:10px;display:flex}.position-toolbar-fields label,.position-window-end{color:var(--muted);font-size:var(--font-size-label);gap:4px;font-weight:700;display:grid}.position-window-end time{min-height:34px;color:var(--text);align-items:center;font-size:.76rem;font-weight:500;display:flex}.position-toolbar input,.position-toolbar select{min-height:34px;color:var(--text);border:1px solid var(--outline-strong);background:#fff;border-radius:7px;padding:5px 8px;font-size:.76rem}.position-toolbar input:focus,.position-toolbar select:focus{border-color:var(--primary);outline:0;box-shadow:0 0 0 3px #4285f41a}.position-legend{color:var(--muted);font-size:var(--font-size-label);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:7px 14px;display:flex}.position-legend>span{white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.position-legend svg{color:var(--faint)}.legend-swatch{border:1px solid var(--outline-strong);background:#fff;border-radius:3px;width:12px;height:12px;display:inline-block}.legend-swatch.is-selected{border-color:var(--primary);background:var(--primary-soft)}.legend-swatch.is-current{border-color:var(--primary-strong);background:#fff;box-shadow:inset 0 0 0 2px #aecbfa}.legend-swatch.is-occupied{background:var(--surface-strong);border-color:#9aa0a6}.legend-swatch.is-obstacle{background:#c6cfd8;border-color:#8b99a6}.position-empty-state{justify-items:center;display:grid}.position-empty-state .empty-state{padding-bottom:8px}.position-empty-state>p{max-width:66ch;color:var(--muted);text-align:center;margin:0 0 28px}.position-assignment-workspace{grid-template-columns:minmax(0,1fr) clamp(216px,18vw,236px);align-items:start;gap:10px;display:grid}.position-map-panel{border:1px solid var(--outline);min-width:0;box-shadow:var(--shadow-sm);background:#fff;border-radius:12px;overflow:hidden}.position-room-tabs{border-bottom:1px solid var(--outline);background:var(--surface-subtle);scrollbar-width:thin;gap:2px;padding:8px 10px 0;display:flex;overflow-x:auto}.position-room-tabs button{min-height:39px;color:var(--muted);white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;padding:0 12px;font-size:.75rem;font-weight:700}.position-room-tabs button:hover{color:var(--primary-strong);background:#ffffffb8}.position-room-tabs button.active{color:var(--primary-strong);border-bottom-color:var(--primary);background:#fff}.position-room-map{padding:4px 16px 16px}.rack-layout{border-top:1px solid var(--outline);padding:17px 0 18px}.rack-layout:first-child{border-top:0}.rack-layout>header{justify-content:space-between;align-items:center;gap:14px;margin-bottom:12px;display:flex}.rack-layout>header h2{margin:0 0 3px;font-size:.94rem}.rack-layout>header p{color:var(--muted);font-size:var(--font-size-label);margin:0}.rack-grid-scroll{scrollbar-width:thin;max-width:100%;padding:1px 1px 5px;overflow-x:auto}.rack-grid{align-items:stretch;gap:5px;width:max-content;min-width:100%;display:grid}.rack-grid-corner{min-height:30px}.rack-axis-button{min-height:30px;color:var(--muted);background:var(--surface-subtle);font-size:var(--font-size-label);border:0;border-radius:6px;padding:3px 6px;font-weight:700}.rack-axis-button:not(:disabled):hover{color:var(--primary-strong);background:var(--primary-soft)}.rack-axis-button:disabled{cursor:default;opacity:1}.rack-axis-button.layer{align-self:stretch}.rack-axis-obstacle{color:#45515d;min-height:30px;font-size:var(--font-size-label);background:#edf1f5;border-radius:6px;place-items:center;padding:3px 6px;font-weight:700;display:grid}.rack-obstacle{color:#45515d;background:#c6cfd8;border:1px solid #8b99a6;border-radius:8px;place-items:center;min-width:82px;min-height:58px;padding:8px;display:grid}.rack-obstacle strong{font-size:var(--font-size-label);letter-spacing:.08em;writing-mode:vertical-rl;font-weight:600}.rack-position{min-width:82px;min-height:58px;color:var(--text);border:1px solid var(--outline-strong);text-align:left;background:#fff;border-radius:8px;place-content:center;gap:2px;padding:6px 18px 6px 7px;transition:border-color .16s,background .16s,box-shadow .16s,transform .16s;display:grid;position:relative;overflow:hidden}.rack-position:not(:disabled):not([aria-disabled=true]):hover{border-color:var(--primary);transform:translateY(-1px);box-shadow:0 2px 7px #3c40431f}.rack-position strong{font-family:JetBrains Mono,ui-monospace,monospace;font-size:var(--font-size-label);font-weight:600}.rack-position small{color:var(--muted);font-size:var(--font-size-label);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.rack-position>svg{color:var(--primary-strong);position:absolute;top:6px;right:6px}.rack-position:disabled,.rack-position[aria-disabled=true]{cursor:not-allowed;opacity:1}.rack-position-occupancy-tooltip{z-index:40;pointer-events:none;max-width:min(256px,100vw - 16px);color:var(--text);border:1px solid var(--outline);background:var(--surface);box-shadow:var(--shadow-md);font-size:var(--font-size-label);overflow-wrap:anywhere;border-radius:7px;gap:3px;padding:7px 10px;display:grid;position:fixed}.rack-position.is-selected{color:var(--primary-deep);border-color:var(--primary);background:var(--primary-soft)}.rack-position.is-current{color:var(--primary-deep);border-color:var(--primary-strong);background:#fff;box-shadow:inset 0 0 0 2px #aecbfa}.rack-position.is-occupied{color:var(--muted);background:var(--surface-strong);border-color:#bdc1c6}.rack-position.is-maintenance{color:#7a4d00;background:var(--amber-soft);border-color:#e8c56d}.rack-position.is-disabled{color:var(--faint);border-color:var(--outline);background:#f3f4f5}.rack-position.is-missing{border:1px dashed var(--outline);background:0 0;border-radius:8px;min-height:58px}.position-selection-summary{border:1px solid var(--outline);box-shadow:var(--shadow-sm);background:#fff;border-radius:12px;gap:11px;padding:12px;display:grid;position:sticky;top:18px}.position-selection-summary>header{align-items:flex-start;gap:9px;display:flex}.position-selection-summary>header svg{color:var(--primary);flex:none;margin-top:1px}.position-selection-summary h2{margin:0 0 2px;font-size:.9rem}.position-selection-summary header p{color:var(--muted);font-size:var(--font-size-label);margin:0}.position-selection-list{border-top:1px solid var(--outline);border-bottom:1px solid var(--outline);max-height:330px;display:grid;overflow-y:auto}.position-selection-list>p{color:var(--muted);font-size:var(--font-size-label);margin:0;padding:14px 0}.position-selection-list section{border-top:1px solid var(--outline);gap:4px;padding:10px 0;display:grid}.position-selection-list section:first-child{border-top:0}.position-selection-list strong{font-size:var(--font-size-label)}.position-selection-list span{color:var(--muted);font-family:JetBrains Mono,ui-monospace,monospace;font-size:var(--font-size-label);overflow-wrap:anywhere;line-height:1.55}.position-change-reason{color:var(--muted);font-size:var(--font-size-label);gap:5px;font-weight:700;display:grid}.position-change-reason textarea{resize:vertical;width:100%;min-height:72px;color:var(--text);border:1px solid var(--outline-strong);font-size:var(--font-size-label);border-radius:7px;padding:7px 8px;line-height:1.5}.position-change-reason textarea:focus{border-color:var(--primary);outline:0;box-shadow:0 0 0 3px #4285f41a}.position-readonly-note{color:var(--muted);font-size:var(--font-size-label);margin:0;line-height:1.5}.position-selection-summary .success-banner,.position-selection-summary .form-error{margin:0}.position-save-button{width:100%}@media (width<=1000px){.position-assignment-workspace{grid-template-columns:1fr}.position-selection-summary{position:static}.position-selection-list{max-height:220px}}@media (width<=700px){.position-toolbar,.position-toolbar-fields{flex-direction:column;align-items:stretch}.position-toolbar-fields label{width:100%}.position-toolbar input,.position-toolbar select{min-height:44px;font-size:1rem}.position-legend{justify-content:flex-start}.position-room-map{padding:2px 10px 12px}.rack-layout>header{flex-direction:column;align-items:flex-start}.rack-layout>header .button{width:100%;min-height:44px}.rack-grid{min-width:max-content}.rack-position{min-width:88px;min-height:62px}}.annotation-label-editor{gap:8px;display:grid}.annotation-label-edit-row{grid-template-columns:minmax(0,1.2fr) minmax(0,1.2fr) 48px 68px 36px;align-items:center;gap:8px;display:grid}.annotation-label-edit-row input{min-width:0}.annotation-label-edit-row input[type=color]{cursor:pointer;padding:3px}.annotation-label-edit-row .shortcut-input{text-align:center}.annotation-label-edit-row .icon-button{width:36px;height:36px}.annotation-project-table{table-layout:fixed;min-width:790px}.annotation-project-table th:first-child{width:40%}.annotation-project-table th:nth-child(2){width:15%}.annotation-project-table th:nth-child(3){width:12%}.annotation-project-table th:nth-child(n+4){text-align:right;width:8%}.annotation-project-table td{height:62px}.annotation-project-table td:nth-child(n+4){text-align:right}.annotation-project-cell{min-width:0;color:inherit;align-items:center;gap:10px;display:flex}.annotation-project-cell>span:last-child{gap:3px;min-width:0;display:grid}.annotation-project-cell strong,.annotation-project-cell small{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.annotation-project-cell strong{color:var(--primary-strong);font-size:.79rem}.annotation-project-cell small{color:var(--muted);font-size:var(--font-size-label)}.annotation-project-cell:hover strong{color:var(--primary);text-underline-offset:3px;text-decoration:underline}.annotation-project-icon{width:34px;height:34px;color:var(--primary);background:var(--primary-soft);border-radius:8px;flex:none;place-items:center;display:grid}.annotation-stat-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:16px;display:grid}.annotation-stat-grid article{border:1px solid var(--outline);background:#fff;border-radius:10px;gap:4px;padding:14px 16px;display:grid}.annotation-stat-grid strong{font-size:1.25rem}.annotation-stat-grid span{color:var(--muted);font-size:var(--font-size-label)}.annotation-admin-layout{grid-template-columns:minmax(0,1fr);align-items:start;gap:14px;display:grid}.annotation-admin-section{gap:15px;display:grid}.annotation-admin-section h2,.annotation-review-section h2,.annotation-export-section h2{margin:0;font-size:.95rem}.folder-upload{min-height:110px;color:var(--primary);cursor:pointer;background:#f7faff;border:1px dashed #8ab4f8;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:18px;font-size:.78rem;font-weight:700;display:flex}.folder-upload:hover{background:#eef5ff}.folder-upload input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.folder-upload-disabled{color:var(--faint);border-color:var(--outline);background:var(--surface-subtle);cursor:not-allowed}.annotation-asset-controls{grid-template-columns:minmax(0,1fr) 128px;gap:7px;display:grid}.annotation-asset-controls .search-box{max-width:none}.annotation-asset-controls .select-box,.annotation-asset-controls .select-box select{min-width:0}.annotation-asset-list{gap:5px;max-height:230px;display:grid;overflow:auto}.annotation-asset-list[aria-busy=true]{opacity:.58}.annotation-asset-list>div{background:var(--surface-subtle);font-size:var(--font-size-label);border-radius:7px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:7px 9px;display:grid}.annotation-asset-list>div span:nth-child(2){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.annotation-asset-list small{color:var(--muted)}.annotation-asset-pagination{min-height:34px;color:var(--muted);font-size:var(--font-size-label);justify-content:space-between;align-items:center;gap:10px;display:flex}.annotation-asset-pagination .icon-button{width:32px;height:32px}.annotation-asset-pagination .icon-button:disabled{cursor:not-allowed;opacity:.42}.asset-state{background:var(--muted);border-radius:50%;width:7px;height:7px}.asset-processing{background:var(--primary)}.asset-ready{background:#34a853}.asset-duplicate{background:#f9ab00}.asset-invalid{background:#d93025}.asset-archived{background:var(--faint)}.annotation-member-summary{background:var(--surface-subtle);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;min-height:38px;padding:8px 10px;display:flex}.annotation-member-summary strong{font-size:.76rem}.annotation-member-summary span{color:var(--muted);font-size:var(--font-size-label)}.annotation-selected-member-search{max-width:none}.annotation-member-list{gap:6px;display:grid}.annotation-member-save-state{color:var(--muted);flex:none;align-items:center;gap:6px;display:inline-flex}.annotation-member-save-state small{font-size:var(--font-size-label);white-space:nowrap;font-weight:700}.annotation-member-save-state.save-saving{color:var(--primary)}.annotation-member-save-state.save-saved{color:#27794b}.annotation-member-save-state.save-error{color:var(--danger)}.annotation-member-row{border:1px solid var(--outline);border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-height:52px;padding:7px 8px;display:grid}.annotation-member-identity{align-items:center;gap:9px;min-width:0;display:flex}.annotation-member-identity .avatar{flex:none}.annotation-member-identity>span:last-child{gap:2px;min-width:0;display:grid}.annotation-member-identity strong,.annotation-member-identity small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.annotation-member-identity strong{font-size:.75rem}.annotation-member-identity small{color:var(--muted);font-size:var(--font-size-label)}.annotation-member-actions{align-items:center;gap:6px;display:flex}.annotation-member-actions select{border:1px solid var(--outline-strong);background:#fff;border-radius:7px;min-height:34px;padding:5px 7px;font-size:.8rem}.annotation-member-actions .icon-button{width:34px;height:34px}.annotation-member-selected{background:#f7faff;border-color:#c4d8fb}.annotation-member-empty{color:var(--muted);text-align:center;font-size:var(--font-size-label);margin:0;padding:18px 10px}.annotation-member-pagination{min-height:38px;color:var(--muted);font-size:var(--font-size-label);justify-content:space-between;align-items:center;gap:10px;display:flex}.annotation-member-pagination .icon-button{width:32px;height:32px}.annotation-member-pagination .icon-button:disabled{cursor:not-allowed;opacity:.42}.annotation-member-candidates{border-top:1px solid var(--outline);gap:10px;padding-top:14px;display:grid}.annotation-member-candidate-heading{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.annotation-member-candidate-heading h3{margin:0 0 3px;font-size:.82rem}.annotation-member-candidate-heading p{color:var(--muted);font-size:var(--font-size-label);margin:0;line-height:1.45}.annotation-member-candidate-controls{grid-template-columns:minmax(0,1fr) 128px;gap:7px;display:grid}.annotation-member-candidate-controls .search-box{max-width:none}.annotation-member-candidate-controls .select-box,.annotation-member-candidate-controls .select-box select{min-width:0}.annotation-candidate-results{border:1px solid var(--outline);border-radius:8px;min-height:58px;max-height:330px;transition:opacity .14s;display:grid;overflow:auto}.annotation-candidate-results[aria-busy=true]{opacity:.58}.annotation-candidate-row{border-bottom:1px solid var(--outline);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-height:52px;padding:7px 8px;display:grid}.annotation-candidate-row:last-child{border-bottom:0}.annotation-member-add{min-height:32px;padding:5px 9px}.annotation-review-mode{border:1px solid var(--outline);background:var(--surface-subtle);border-radius:9px;grid-template-columns:minmax(280px,380px) minmax(0,1fr);align-items:end;gap:20px;width:100%;padding:12px;display:grid}.annotation-review-mode label{color:var(--text);font-size:var(--font-size-label);gap:6px;font-weight:700;display:grid}.annotation-review-mode select{border:1px solid var(--outline-strong);background:#fff;border-radius:8px;width:100%;min-height:38px;padding:6px 9px;font-size:.76rem}.annotation-review-mode-copy{align-content:end;gap:4px;min-width:0;padding-bottom:2px;display:grid}.annotation-review-mode p,.annotation-review-mode small{color:var(--muted);font-size:var(--font-size-label);margin:0;line-height:1.5}.annotation-review-mode .annotation-review-mode-error{color:#c5221f;background:var(--error-soft);border:1px solid #f4b5ae;border-radius:7px;padding:7px 9px;font-weight:600}.annotation-review-mode select:focus{border-color:var(--primary);outline:0;box-shadow:0 0 0 3px #4285f41a}.annotation-review-mode select[aria-invalid=true]{border-color:var(--error);box-shadow:0 0 0 3px #ea43351a}.annotation-review-section,.annotation-export-section{gap:14px;margin-top:14px;display:grid}.annotation-review-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;display:grid}.annotation-review-card{border:1px solid var(--outline);border-radius:9px;gap:10px;padding:11px;display:grid}.annotation-review-card h3{margin:0;font-size:.82rem}.annotation-review-card p{color:var(--muted);font-size:var(--font-size-label);margin:3px 0 0}.annotation-review-card label{color:var(--muted);font-size:var(--font-size-label);gap:5px;font-weight:700;display:grid}.annotation-review-card input{border:1px solid var(--outline-strong);border-radius:7px;min-height:34px;padding:6px 8px}.annotation-review-image{background:#eef1f5;border-radius:7px;place-items:center;height:150px;display:grid;overflow:hidden}.annotation-review-image img{object-fit:contain;width:100%;height:100%}.annotation-correction-list{gap:7px;display:grid}.annotation-correction-row{border:1px solid var(--outline);border-radius:9px;grid-template-columns:minmax(180px,.8fr) minmax(220px,1.3fr) minmax(190px,.9fr) auto;align-items:center;gap:14px;padding:10px 11px;display:grid}.annotation-correction-copy{gap:2px;min-width:0;display:grid}.annotation-correction-copy strong,.annotation-correction-copy small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.annotation-correction-copy strong{font-size:.76rem}.annotation-correction-copy small,.annotation-correction-copy span{color:var(--muted);font-size:var(--font-size-label)}.annotation-correction-row>p{overflow-wrap:anywhere;color:var(--text);font-size:var(--font-size-label);margin:0;line-height:1.5}.annotation-correction-row>label{min-width:0;color:var(--muted);font-size:var(--font-size-label);gap:4px;font-weight:700;display:grid}.annotation-correction-row input{border:1px solid var(--outline-strong);width:100%;min-width:0;min-height:34px;font:inherit;border-radius:7px;padding:6px 8px}.annotation-correction-self-review{color:var(--muted);font-size:var(--font-size-label);line-height:1.45}.annotation-review-blocked{flex-direction:column;align-items:flex-start;gap:7px;display:flex}.annotation-review-blocked small{color:var(--muted);font-size:var(--font-size-label);line-height:1.45}.annotation-review-blocked .button{min-height:32px;padding:5px 9px}.annotation-assignment-filters{margin-bottom:12px}.annotation-assignment-table-shell{border:1px solid var(--outline);background:#fff;border-radius:10px;overflow:hidden}.annotation-assignment-table-scroll{max-width:100%;transition:opacity .14s;overflow-x:auto}.annotation-assignment-table-shell[aria-busy=true] .annotation-assignment-table-scroll{opacity:.58}.annotation-assignment-table{table-layout:fixed;min-width:720px}.annotation-assignment-table th:first-child{width:48%}.annotation-assignment-table th:nth-child(2){width:22%}.annotation-assignment-table th:nth-child(3){width:18%}.annotation-assignment-table th:last-child{width:12%}.annotation-assignment-table td{height:58px;padding:8px 10px}.annotation-assignment-table-file{align-items:center;gap:10px;min-width:0;display:flex}.annotation-assignment-icon{width:38px;height:38px;color:var(--primary);background:var(--primary-soft);border-radius:9px;flex:none;place-items:center;display:grid}.annotation-assignment-file-copy{gap:3px;min-width:0;display:grid}.annotation-assignment-file-copy strong,.annotation-assignment-file-copy small,.annotation-assignment-name,.annotation-assignment-project{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.annotation-assignment-file-copy strong,.annotation-assignment-name{font-size:.78rem}.annotation-assignment-file-copy small,.annotation-assignment-project{color:var(--muted);font-size:var(--font-size-label)}.annotation-assignment-name{display:block}.annotation-project-table th,.annotation-assignment-table th,.annotation-project-table td:nth-child(2),.annotation-project-table td:nth-child(3),.annotation-assignment-table td:nth-child(3){white-space:normal;overflow-wrap:anywhere}.annotation-project-table .status-badge,.annotation-assignment-table .status-badge{white-space:normal;overflow-wrap:anywhere;text-align:center;max-width:100%}.annotation-assignment-table-row.is-complete .annotation-assignment-icon{color:var(--success-strong);background:var(--success-soft)}.annotation-assignment-filter-empty{min-height:112px;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex}.annotation-assignment-filter-empty strong{font-size:.8rem}.annotation-assignment-pagination{min-height:48px;color:var(--muted);border-top:1px solid var(--outline);background:var(--surface-subtle);font-size:var(--font-size-label);justify-content:flex-end;align-items:center;gap:16px;padding:7px 10px;display:flex}.annotation-assignment-pagination>span:first-child{margin-right:auto}.annotation-assignment-pagination label{align-items:center;gap:7px;display:flex}.annotation-assignment-pagination select{min-height:30px;color:var(--text);border:1px solid var(--outline);background:#fff;border-radius:7px;padding:3px 24px 3px 7px}.annotation-pagination-buttons{gap:5px;display:flex}.annotation-assignment-pagination .icon-button:disabled{cursor:not-allowed;opacity:.42}.annotation-workspace-page{min-height:calc(100vh - 70px)}.annotation-workspace-header{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:14px;display:flex}.annotation-workspace-header>div:first-child{min-width:0;max-width:100%}.annotation-workspace-header a{color:var(--primary);font-size:var(--font-size-label);font-weight:700}.annotation-workspace-header small{color:var(--muted);margin-top:9px;display:block}.annotation-workspace-header h1{margin:2px 0;font-size:1.2rem}.annotation-workspace-header p{color:var(--muted);font-size:var(--font-size-label);text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.annotation-save-state{color:var(--muted);font-size:var(--font-size-label);flex:none;align-items:center;gap:6px;display:inline-flex}.annotation-return-banner{color:#8a4b00;background:#fff8e7;border:1px solid #f6cf81;border-radius:8px;gap:10px;margin-bottom:12px;padding:10px 12px;font-size:.76rem;display:flex}.annotation-readonly-banner{color:var(--muted);border:1px solid var(--outline);background:var(--surface-subtle);border-radius:8px;align-items:flex-start;gap:9px;margin-bottom:12px;padding:10px 12px;font-size:.76rem;line-height:1.5;display:flex}.annotation-readonly-banner>svg{color:var(--primary);flex:none;margin-top:1px}.annotation-readonly-banner span{flex-wrap:wrap;gap:5px;display:flex}.annotation-readonly-banner strong{color:var(--text)}.annotation-correction-pending{color:#285d3a;background:#f1faf3;border:1px solid #b7d9c1;border-radius:8px;align-items:flex-start;gap:9px;margin-bottom:12px;padding:10px 12px;font-size:.76rem;line-height:1.5;display:flex}.annotation-correction-pending>svg{flex:none;margin-top:1px}.annotation-correction-pending span{overflow-wrap:anywhere;gap:2px;min-width:0;display:grid}.annotation-revision-action{justify-content:flex-end;margin:-3px 0 12px;display:flex}.annotation-revision-form{border:1px solid var(--outline);background:#fff;border-radius:9px;gap:8px;width:min(100%,620px);padding:11px;display:grid}.annotation-revision-form>label{gap:2px;display:grid}.annotation-revision-form>label strong{font-size:.76rem}.annotation-revision-form>label span{color:var(--muted);font-size:var(--font-size-label)}.annotation-revision-form textarea{resize:vertical;width:100%;min-width:0;color:var(--text);border:1px solid var(--outline-strong);font:inherit;border-radius:7px;padding:8px 9px;font-size:.75rem;line-height:1.5}.annotation-revision-form textarea:focus,.annotation-correction-row input:focus{border-color:var(--primary);outline:0;box-shadow:0 0 0 3px #4285f41a}.annotation-workspace-layout{border:1px solid var(--outline);min-height:min(620px,100svh - 240px);box-shadow:var(--shadow-sm);background:#fff;border-radius:12px;grid-template-rows:auto 1fr;grid-template-columns:minmax(0,1fr) 300px;display:grid;overflow:hidden}.annotation-image-stage{background:#20242b;grid-area:1/1/span 2;place-items:center;min-width:0;min-height:0;padding:22px;display:grid;overflow:auto}.annotation-image-stage .classification-image,.annotation-image-stage .annotation-canvas-image{max-height:min(64svh,max(240px,100svh - 340px))}.annotation-label-picker{border-left:1px solid var(--outline);background:var(--surface);grid-area:1/2;gap:8px;min-width:0;padding:18px;display:grid}.annotation-label-picker h2{margin:0;font-size:.875rem}.classification-image{object-fit:contain;max-width:100%;max-height:72vh;display:block}.annotation-label-panel{border-left:1px solid var(--outline);background:#fff;flex-direction:column;grid-area:2/2;gap:18px;min-width:0;padding:0 18px 18px;display:flex}.annotation-workspace-actions{z-index:8;border:1px solid var(--outline);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-md);justify-content:space-between;align-items:center;gap:16px;margin-top:16px;padding:12px 16px;display:flex;position:sticky;bottom:14px}.annotation-workspace-actions>div{gap:4px;min-width:0;display:grid}.annotation-workspace-actions>div>span{color:var(--muted);font-size:var(--font-size-label)}.annotation-workspace-actions .annotation-submit-button{flex:none;width:auto;margin:0}.annotation-label-panel section{gap:8px;display:grid}.annotation-label-panel h2{margin:0;font-size:.82rem}.annotation-label-panel p{color:var(--muted);font-size:var(--font-size-label);margin:0;line-height:1.55}.annotation-label-options{gap:6px;display:grid}.annotation-label-option{text-align:left;border:1px solid var(--outline);cursor:pointer;background:#fff;border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;width:100%;padding:9px;display:grid}.annotation-label-option:not(:disabled):hover{background:var(--surface-subtle)}.annotation-label-option:disabled{cursor:default;opacity:1}.annotation-label-option.selected{background:#f5f9ff;border-color:#8ab4f8;box-shadow:0 0 0 2px #4285f41a}.annotation-label-option>span:nth-child(2){gap:2px;min-width:0;display:grid}.annotation-label-option strong{font-size:.75rem}.annotation-label-option small{color:var(--muted);font-size:var(--font-size-label)}.label-swatch{border:1px solid #0000001f;border-radius:3px;flex:none;width:12px;height:12px;display:inline-block}.annotation-label-option kbd{min-width:24px;color:var(--muted);border:1px solid var(--outline);font-size:var(--font-size-label);text-align:center;background:#fff;border-bottom-width:2px;border-radius:5px;padding:2px 5px}.annotation-empty-control{border:1px solid var(--outline);cursor:pointer;border-radius:8px;align-items:center;gap:10px;padding:10px;display:flex}.annotation-empty-control.is-readonly{cursor:default}.annotation-empty-control input{width:17px;height:17px;accent-color:var(--primary)}.annotation-empty-control span{gap:2px;display:grid}.annotation-empty-control strong{font-size:var(--font-size-label)}.annotation-empty-control small{color:var(--muted);font-size:var(--font-size-label)}.annotation-submit-summary{color:var(--muted);font-size:var(--font-size-label);text-align:center;margin-top:auto}.annotation-submit-next-hint{color:var(--faint);font-size:var(--font-size-label);text-align:center;margin:-9px 0 0;line-height:1.45}.annotation-submit-button{justify-content:center;width:100%}.annotation-canvas-wrap{gap:10px;width:min(100%,1100px);display:grid}.annotation-canvas{cursor:crosshair;touch-action:none;-webkit-user-select:none;user-select:none;max-width:100%;margin:auto;display:inline-grid;position:relative}.annotation-canvas-disabled{cursor:default}.annotation-canvas-image{object-fit:contain;pointer-events:none;max-width:100%;max-height:68vh;display:block}.annotation-overlay{pointer-events:none;position:absolute;inset:0}.annotation-box{background:#ffffff08;border:2px solid;position:absolute;box-shadow:0 0 0 1px #00000059}.annotation-box small{color:#fff;max-width:140px;font-size:var(--font-size-label);text-overflow:ellipsis;white-space:nowrap;padding:2px 5px;position:absolute;top:-20px;left:-2px;overflow:hidden}.annotation-box-preview{opacity:.78;border-style:dashed}.annotation-canvas-actions{justify-content:flex-end;display:flex}.annotation-object-list{max-height:150px;color:var(--text);gap:5px;display:grid;overflow:auto}.annotation-object-results{min-height:0}.annotation-object-results-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.annotation-object-results-heading span{min-width:24px;height:24px;color:var(--primary-strong);background:var(--primary-soft);font-size:var(--font-size-label);border-radius:12px;place-items:center;padding:0 6px;font-weight:700;display:inline-grid}.annotation-object-results .annotation-object-list{max-height:min(260px,30vh);padding-right:2px}.annotation-object-row{border:1px solid var(--outline);background:var(--surface-subtle);font-size:var(--font-size-label);border-radius:7px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px;display:grid}.annotation-object-copy{gap:2px;min-width:0;display:grid}.annotation-object-copy strong,.annotation-object-copy small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.annotation-object-copy small{color:var(--muted)}.annotation-object-row .icon-button{width:30px;height:30px}.annotation-object-empty{text-align:center;border:1px dashed var(--outline);background:var(--surface-subtle);border-radius:7px;margin:0;padding:14px 8px}.annotation-version-history{border-top:1px solid var(--outline)}.annotation-version-history summary{cursor:pointer;color:var(--text);font-size:var(--font-size-label);justify-content:space-between;align-items:center;gap:10px;padding:10px 0 2px;font-weight:700;display:flex}.annotation-version-history summary>span{align-items:center;gap:6px;display:inline-flex}.annotation-version-history summary>strong{color:var(--muted);font-size:var(--font-size-label)}.annotation-version-history ol{gap:5px;margin:8px 0 0;padding:0;list-style:none;display:grid}.annotation-version-history li{background:var(--surface-subtle);border-radius:7px;justify-content:space-between;align-items:center;gap:8px;padding:7px 8px;display:flex}.annotation-version-history li>span:first-child{gap:1px;min-width:0;display:grid}.annotation-version-history li strong{font-size:var(--font-size-label)}.annotation-version-history li small{color:var(--muted);font-size:var(--font-size-label)}.annotation-version-history li>span:last-child{color:var(--muted);font-size:var(--font-size-label);flex:none;font-weight:700}.annotation-version-history .version-approved{color:#27794b}.annotation-version-history .version-invalidated{color:var(--danger)}@media (width<=900px){.annotation-admin-layout,.annotation-workspace-layout{grid-template-columns:1fr}.annotation-workspace-layout{grid-template-rows:auto auto auto;min-height:0}.annotation-label-picker{border-left:0;border-bottom:1px solid var(--outline);grid-area:1/1;padding:12px}.annotation-label-picker .annotation-label-options{grid-auto-columns:minmax(150px,1fr);grid-auto-flow:column;gap:8px;padding:3px;display:grid;overflow-x:auto}.annotation-label-picker .annotation-label-option{min-height:48px}.annotation-image-stage{grid-area:2/1;min-height:0;padding:12px}.annotation-image-stage .classification-image,.annotation-image-stage .annotation-canvas-image{object-fit:contain;width:auto;max-height:48svh}.annotation-label-panel{grid-area:3/1;padding:16px}.annotation-admin-section:nth-child(3){grid-column:auto}.annotation-stat-grid{grid-template-columns:repeat(2,1fr)}.annotation-label-panel{border-top:1px solid var(--outline);border-left:0}.annotation-workspace-header{flex-direction:column;align-items:flex-start}.annotation-correction-row{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr)}.annotation-correction-row>label,.annotation-correction-row>.button-row,.annotation-correction-self-review{grid-column:1/-1}}@media (width<=760px){.annotation-review-mode{grid-template-columns:minmax(0,1fr);gap:8px}.annotation-review-mode-copy{padding-bottom:0}}@media (width<=640px){.annotation-label-editor{gap:16px}.annotation-label-edit-row{grid-template-columns:48px minmax(0,1fr) 44px}.annotation-label-edit-row input:nth-child(-n+2){grid-column:1/-1}.annotation-label-edit-row .icon-button{width:44px;height:44px}.experiment-pagination,.annotation-assignment-pagination{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 12px;padding:12px;display:grid}.experiment-pagination>span:first-child,.annotation-assignment-pagination>span:first-child{grid-column:1/-1;margin:0}.experiment-pagination>label,.annotation-assignment-pagination>label{grid-area:2/1}.experiment-pagination>span:nth-of-type(2),.annotation-assignment-pagination>span:nth-of-type(2){grid-area:3/1/auto/-1;justify-self:end}.experiment-pagination-buttons,.annotation-pagination-buttons{grid-area:2/2}.annotation-assignment-pagination select{min-height:44px;font-size:1rem}.annotation-assignment-pagination .icon-button{width:44px;height:44px}}@media (width<=620px){.annotation-workspace-actions{padding:10px 12px max(10px, env(safe-area-inset-bottom));gap:10px;bottom:0}.annotation-workspace-actions>div>span{display:none}.annotation-workspace-actions .annotation-submit-button{white-space:normal;min-width:0;max-width:74%}.annotation-member-summary{flex-direction:column;align-items:flex-start}.annotation-member-row{grid-template-columns:1fr}.annotation-member-actions{justify-content:flex-end}.annotation-member-actions select{flex:1;min-height:44px}.annotation-member-actions .icon-button,.annotation-member-pagination .icon-button{width:44px;height:44px}.annotation-member-candidate-controls{grid-template-columns:1fr}.annotation-candidate-row{grid-template-columns:1fr;align-items:stretch}.annotation-member-add{min-height:44px}.annotation-asset-controls{grid-template-columns:1fr}.annotation-asset-pagination .icon-button{width:44px;height:44px}.annotation-review-mode select{min-height:44px}.annotation-correction-row{grid-template-columns:1fr}.annotation-correction-row>label,.annotation-correction-row>.button-row,.annotation-correction-self-review{grid-column:auto}.annotation-revision-action>.button,.annotation-revision-form{width:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.organization-tabs{border-bottom:1px solid var(--outline);gap:24px;margin-bottom:24px;display:flex}.organization-tabs a{min-height:44px;color:var(--muted);border-bottom:2px solid #0000;align-items:center;padding:0 2px;font-weight:500;display:inline-flex}.organization-tabs a.active{color:var(--primary-strong);border-color:var(--primary)}.organization-tabs a:hover{color:var(--primary-strong)}.approval-filters label,.department-assignment>label{gap:6px;min-width:0;display:grid}.approval-filters label>span{color:var(--muted);font-size:.75rem}.approval-filters select{width:100%;min-height:var(--density-field);color:var(--text);border:1px solid var(--outline-strong);background:var(--surface);font-size:var(--font-size-control);border-radius:6px;padding:6px 9px}.form-grid .account-form-fields{border:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;min-width:0;margin:0;padding:0;display:grid}.account-form-fields>legend{margin-bottom:18px;font-size:1rem;font-weight:600}.form-grid .department-assignment-fieldset{border:0;border-top:1px solid var(--outline);min-width:0;margin:16px 0 0;padding:20px 0 0}.department-assignment-fieldset>legend{padding:0 8px 0 0;font-size:1rem;font-weight:600}.department-assignment-fieldset>.field-hint{margin:0 0 16px}.department-assignment{border-bottom:1px solid var(--outline);grid-template-columns:minmax(130px,.65fr) minmax(0,1fr) auto;align-items:start;gap:12px;margin-bottom:16px;padding-bottom:16px;display:grid}.form-grid .department-role-options{border:0;flex-wrap:wrap;gap:10px 14px;min-width:0;margin:0;padding:0;display:flex}.department-role-options legend{margin-bottom:10px;font-size:.75rem}.department-role-options .checkbox-field{white-space:normal}.department-assignment .assignment-expiry{color:var(--muted);flex-wrap:wrap;grid-column:1/3;align-items:center;gap:8px;display:flex}.department-assignment>.icon-button{width:var(--density-field);height:var(--density-field);grid-area:1/3;align-self:start;margin-top:24px}.organization-detail-section{border-top:1px solid var(--outline);margin-top:28px;padding-top:22px}.organization-detail-section h2{margin:0 0 12px;font-size:1rem}.organization-detail-section>.form-grid{margin-top:16px}.organization-deactivate{justify-content:flex-end;margin-top:16px;display:flex}.access-summary-list{margin:12px 0 16px;padding:0;list-style:none}.access-summary-list li{border-bottom:1px solid var(--outline);overflow-wrap:anywhere;justify-content:space-between;align-items:center;gap:16px;padding:10px 0;display:flex}.access-summary-list li>div{min-width:0}.access-summary-list p{color:var(--muted);margin:4px 0}.pending-approvals>header,.approval-list article>header{justify-content:space-between;align-items:start;gap:12px;display:flex}.pending-approvals>header h2{margin:0}.pending-approvals>header>a{align-items:center;gap:4px;display:inline-flex}.approval-filters{gap:16px;margin-bottom:20px;display:flex}.approval-filters label{flex:0 260px}.approval-list .correction-decision{margin-top:20px}.approval-list h2{margin:0 0 8px;font-size:1rem}.approval-list p{overflow-wrap:anywhere}@media (width<=640px){.form-grid .account-form-fields{grid-template-columns:1fr}.department-assignment{grid-template-columns:minmax(0,1fr) auto}.form-grid .department-role-options{grid-column:1/-1}.department-assignment>.icon-button{grid-column:2;width:44px;height:44px}.department-assignment .assignment-expiry{grid-column:1/-1}.approval-filters{flex-wrap:wrap}.approval-filters label{flex:100%}.access-summary-list li{flex-wrap:wrap}}input,textarea{caret-color:var(--primary)}input::placeholder,textarea::placeholder{color:var(--faint);opacity:1}a{text-underline-offset:3px}.table-card,.tab-bar{scrollbar-width:thin;scrollbar-color:var(--outline-strong) transparent}.muted-text{color:var(--muted)}.text-button,.table-detail-link{min-height:32px;color:var(--primary-strong);white-space:nowrap;background:0 0;border:0;border-radius:4px;justify-content:center;align-items:center;gap:6px;padding:0 4px;font-size:.8125rem;font-weight:400;display:inline-flex}.text-button:hover,.table-detail-link:hover{text-decoration:underline}.text-button:disabled{cursor:not-allowed;opacity:.5}.danger-text{color:var(--error)}.list-filters{grid-template-columns:minmax(200px,1.5fr) repeat(3,minmax(120px,1fr));align-items:end;gap:12px;display:grid}.list-filter{gap:8px;min-width:0;display:grid}.list-filter>span{color:var(--muted);font-size:var(--font-size-label)}.list-filter input,.list-filter select{width:100%;min-width:0;min-height:var(--density-field);color:var(--text);border:1px solid var(--outline-strong);border-radius:var(--density-radius);background:var(--surface);font-size:var(--font-size-control);padding:6px 10px}.list-search>div{position:relative}.list-search svg{color:var(--muted);pointer-events:none;position:absolute;top:10px;left:12px}.list-search input{padding-left:36px}.list-toolbar-meta{min-height:44px;color:var(--muted);justify-content:space-between;align-items:center;gap:12px;font-size:.75rem;display:flex}.people-table{table-layout:fixed;min-width:660px}.people-table th:first-child{width:30%}.people-table th:nth-child(2),.people-table th:nth-child(3){width:15%}.people-table th:last-child:not(:nth-child(4)){width:80px}.people-table td{white-space:normal;height:72px}.people-table .user-identity{align-items:center;gap:12px;min-width:0;display:flex}.people-table .user-identity>div{overflow-wrap:anywhere;gap:4px;min-width:0;display:grid}.people-table .user-identity strong{font-size:.875rem;font-weight:500}.people-table small{color:var(--muted);font-size:.75rem}.person-department{overflow-wrap:anywhere;gap:4px;display:grid}.person-department>span{color:var(--muted);font-size:.75rem}.person-department>a:hover{color:var(--primary-strong);text-decoration:underline}.more-departments{margin-top:4px}.more-departments>summary{min-height:28px;color:var(--primary-strong);cursor:pointer;padding:4px 0;font-size:.75rem}.more-departments .person-department{margin-top:8px}.experiments-table-card .experiment-cell strong{font-weight:500}.experiment-state-line{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.experiment-identity .access-badge{color:var(--muted);background:0 0}.dashboard-layout{grid-template-columns:minmax(0,1fr) 260px;align-items:start;gap:32px;display:grid}.dashboard-main-stack{gap:var(--space-5);display:grid}.work-queue>header{margin-bottom:16px}.work-signals{border-bottom:1px solid var(--outline);flex-wrap:wrap;gap:12px 32px;padding-bottom:20px;display:flex}.work-signals a{min-height:32px;color:var(--muted);align-items:center;gap:12px;font-size:.8125rem;display:inline-flex}.work-signals a:hover{text-decoration:underline}.work-signals strong{font-variant-numeric:tabular-nums;color:var(--text);font-size:1rem;font-weight:600}.work-signals .has-alert strong{color:#b42318}.work-signals .has-attention strong{color:#935400}.queue-section-heading{justify-content:space-between;align-items:center;gap:16px;margin-top:16px;display:flex}.queue-section-heading h3{margin:0}.queue-clear{color:var(--muted);align-items:center;gap:8px;margin:8px 0 0;font-size:.8125rem;display:flex}.queue-clear svg{color:var(--success-strong);flex:none}.queue-approvals{padding:var(--space-4) 0;border-bottom:1px solid var(--outline)}.queue-approvals-clear{flex-wrap:wrap;align-items:center;gap:8px 16px;display:flex}.queue-approvals-clear h3,.queue-approvals-clear p{margin:0}.queue-approvals-clear p{color:var(--muted);flex:1;font-size:.8125rem}.queue-approvals-clear .table-detail-link{margin-left:auto}.queue-approvals>header{align-items:center}.queue-approvals>header h3{margin:0}.queue-approvals>header a{color:var(--primary-strong);min-height:32px;font-size:.8125rem}.queue-approvals .queue-count{margin:8px 0 0;font-size:.8125rem}.queue-approvals .access-summary-list{margin:4px 0 0}.queue-approvals .access-summary-list li:last-child{border-bottom:0}.work-item{border-bottom:1px solid var(--outline);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:16px;min-height:56px;padding:12px 0;display:grid}.work-item:last-child{border-bottom:0}.work-item strong{overflow-wrap:anywhere;font-size:.875rem;font-weight:500}.work-item>svg{color:var(--muted)}.work-item:hover strong{color:var(--primary-strong)}.work-item .attention-reasons{grid-column:auto}.work-item .attention-reason{border-radius:4px;font-size:.75rem;font-weight:400}.dashboard-recent-card>header{margin-bottom:8px}.dashboard-summary{padding-top:4px}.dashboard-summary>section+section{border-top:1px solid var(--outline);margin-top:24px;padding-top:24px}.dashboard-summary h2{margin-bottom:16px;font-size:.875rem}.summary-totals,.summary-quality{gap:16px;margin:0;display:grid}.summary-totals>div,.summary-quality>div{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.dashboard-summary dt{color:var(--muted);font-size:.8125rem}.dashboard-summary dd{font-variant-numeric:tabular-nums;margin:0;font-size:1rem;font-weight:500}.dashboard-summary p{color:var(--muted);margin:12px 0 0;font-size:.75rem;line-height:1.6}.summary-statuses{gap:12px;margin:0;padding:0;list-style:none;display:grid}.summary-statuses li{justify-content:space-between;align-items:center;gap:16px;display:flex}.summary-statuses strong{font-variant-numeric:tabular-nums;font-size:.875rem;font-weight:500}.quiet-empty{color:var(--muted);margin:0;padding:20px 0;font-size:.875rem}@media (width<=1100px){.list-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-layout{grid-template-columns:minmax(0,1fr) 220px;gap:24px}.department-layout{grid-template-columns:180px minmax(0,1fr);gap:20px}.department-member-row{grid-template-columns:minmax(0,1fr) auto}.department-member-row>.tag-row{grid-area:2/1}.department-member-row>button{grid-area:1/2/span 2}}@media (width<=800px){.department-layout,.dashboard-layout{grid-template-columns:minmax(0,1fr)}.department-list{position:static}.dashboard-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.dashboard-summary>section+section{border:0;margin:0;padding:0}}@media (width<=640px){.list-filters{gap:16px 12px}.list-search{grid-column:1/-1}.list-filter input,.list-filter select,.approval-filters select{min-height:44px}.list-search svg{top:14px}.text-button,.table-detail-link,.more-departments>summary,.queue-approvals>header a{min-height:44px}.people-table,.people-table tbody{min-width:0;display:block}.people-table thead{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.people-table tr{border-bottom:1px solid var(--outline);grid-template-columns:minmax(0,1fr) auto;padding:16px;display:grid}.people-table tr:last-child{border-bottom:0}.people-table td{border:0;grid-column:1/-1;align-items:baseline;gap:16px;min-width:0;height:auto;padding:6px 0;display:flex}.people-table td[data-label]:before{content:attr(data-label);color:var(--muted);flex:0 0 72px;font-size:.75rem}.people-table .person-name{grid-area:1/1;padding-bottom:12px}.people-table .table-row-actions{grid-area:1/2;justify-content:flex-end;align-items:center;padding:0 0 12px 8px}.people-table .person-departments>div{min-width:0}.people-table .avatar{display:none}.department-main>.department-heading{gap:12px}.department-heading .button{flex:none;padding:0 10px}.department-member-row{gap:8px}.department-member-row>button{align-self:start}.department-editor-actions .form-actions{margin-left:auto}.department-role-options .checkbox-field{min-height:44px}.dashboard-summary{grid-template-columns:minmax(0,1fr)}.dashboard-summary>section+section{border-top:1px solid var(--outline);padding-top:20px}.work-queue>header,.dashboard-recent-card>header{flex-direction:row;align-items:center}.queue-approvals-clear{grid-template-columns:minmax(0,1fr) auto;gap:0 12px;display:grid}.queue-approvals-clear p{grid-area:2/1/auto/-1}.queue-approvals-clear .table-detail-link{grid-area:1/2}.work-item{gap:10px}.work-item .attention-reasons{max-width:125px}.experiment-fact-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.experiment-fact-strip div,.experiment-fact-strip div+div{border:0;gap:4px;padding:0;display:grid}.experiment-pagination select{min-height:44px}}.catalog-create-action{white-space:nowrap}.catalog-layout>section{min-width:0;container:catalog-content/inline-size}.definition-scroll-hint{display:none}.catalog-layout .list-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.catalog-layout .list-search{grid-column:1/-1}.not-found-actions{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.not-found h1{color:var(--text);margin:8px 0 0}.not-found>p{max-width:48ch;margin:0 0 12px}@container catalog-content (width<=660px){.catalog-card{grid-template-columns:minmax(0,1fr);align-items:start;gap:9px;padding:12px}.catalog-card footer{flex-wrap:wrap;justify-content:flex-start;min-width:0}.catalog-card footer .row-actions{margin-left:auto}.catalog-layout .list-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.experiments-page .list-filters{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.experiment-extra-filters{min-width:0;padding-top:26px}.experiment-extra-filters>summary{min-height:44px;color:var(--primary-strong);font-size:var(--font-size-body);cursor:pointer;align-items:center;display:flex}.experiment-extra-filters>summary svg{flex:none;margin-left:6px}.experiment-extra-filters[open]>summary svg{transform:rotate(180deg)}.experiment-extra-filters>div{gap:12px;margin-top:12px;display:grid}.experiment-mobile-list{margin:0;padding:0;list-style:none}.experiment-mobile-list>li{border-bottom:1px solid var(--outline)}.experiment-mobile-list>li:last-child{border-bottom:0}.experiment-mobile-main{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;min-height:80px;padding:16px;display:grid}.experiment-mobile-main:hover{background:var(--primary-wash)}.experiment-mobile-main:focus-visible{outline-offset:-3px}.experiment-mobile-main>svg{color:var(--muted)}.experiment-mobile-identity{gap:10px;min-width:0;display:grid}.experiment-mobile-identity strong{overflow-wrap:anywhere;font-size:1rem;font-weight:600}.experiment-mobile-identity>span{color:var(--muted);font-size:var(--font-size-body);flex-wrap:wrap;align-items:center;gap:6px 10px;display:flex}.experiment-mobile-details{min-width:0;padding:0 16px 12px}.experiment-mobile-details summary{width:fit-content;min-height:44px;color:var(--muted);font-size:var(--font-size-body);cursor:pointer;align-content:center}.experiment-mobile-details dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:4px 0 12px;display:grid}.experiment-mobile-details dl>div{min-width:0}.experiment-mobile-details dt{color:var(--muted);font-size:var(--font-size-label)}.experiment-mobile-details dd{font-size:var(--font-size-body);overflow-wrap:anywhere;margin:4px 0 0}.experiment-mobile-details .button{white-space:normal;overflow-wrap:anywhere;max-width:100%}.catalog-layout .list-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.definition-picker-controls>.list-search{flex-basis:100%}.definition-scroll-hint{color:var(--muted);font-size:var(--font-size-label);margin:12px 0 0;display:block}.definition-picker-controls>.list-filter{flex-basis:130px}.definition-picker-controls input:not([type=checkbox]),.definition-picker-controls select,.factor-selection-table input:not([type=checkbox]),.factor-selection-table select{min-height:44px;font-size:1rem}.definition-selected-toggle,.form-grid .definition-selected-toggle{min-height:44px}.definition-selection-summary summary{align-content:center;min-height:44px}.definition-selection-summary li button{width:44px;height:44px}.definition-check,.factor-check-cell label{min-width:44px;min-height:44px}.list-filter input,.list-filter select{font-size:1rem}}:where(select:not([multiple]):not([size]),select[size="1"]:not([multiple])){padding-inline-start:var(--space-3)}select:not([multiple]):not([size]),select[size="1"]:not([multiple]){appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%235f6368' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--select-chevron-inset,12px) center;background-size:16px 16px;padding-inline-end:calc(var(--select-chevron-inset,12px) + 28px)}.select-box select{--select-chevron-inset:0px;padding-inline-start:0}@media (forced-colors:active){select:not([multiple]):not([size]),select[size="1"]:not([multiple]){appearance:auto;background-image:none}}.field-validation-error,.form-grid label>.field-validation-error,.form-stack label>.field-validation-error{color:#c5221f;overflow-wrap:anywhere;font-size:.875rem;font-weight:400;line-height:1.5;display:block}input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--error)}.input-with-icon:has(input[aria-invalid=true]){border-color:var(--error)}.form-error{overflow-wrap:anywhere}@media (width<=860px){.drawer-dialog,.image-preview-dialog{top:var(--visual-viewport-top,0px);height:var(--visual-viewport-height,100dvh);bottom:auto}.input-with-icon input,.correction-editor textarea,.correction-decision textarea,.position-change-reason textarea,.annotation-revision-form textarea,.annotation-correction-row input{min-height:44px;font-size:1rem}.main-content input,.main-content select,.main-content textarea,.form-error{scroll-margin-block-start:88px;scroll-margin-block-end:calc(120px + var(--keyboard-inset,0px))}.drawer-dialog input,.drawer-dialog select,.drawer-dialog textarea,.drawer-dialog .form-error{scroll-margin-block:16px}html[data-keyboard-open=true] .observation-actions,html[data-keyboard-open=true] .annotation-workspace-actions{bottom:calc(var(--keyboard-inset,0px) + 8px);padding-bottom:12px}html[data-keyboard-open=true] .observation-table-wrap{max-height:min(72vh, max(160px, calc(var(--visual-viewport-height,100dvh) - 180px)))}}.observation-result-configuration-notice{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.observation-result-configuration-notice p{flex:240px;margin:0}.result-type-filters{margin-bottom:16px}.metric-collection-details{overflow-wrap:anywhere;gap:4px;min-width:0;display:grid}.metric-collection-summary{margin-top:16px}.metric-collection-summary>div{margin-top:12px}.sensor-business-status{color:#7a3c00;white-space:normal;margin-inline-start:6px;font-size:.75rem;display:inline}
