*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}button{background:var(--accent);border-radius:var(--radius-control);color:var(--accent-contrast);cursor:pointer;min-height:36px;transition:background-color var(--duration-normal) var(--ease-standard), border-color var(--duration-normal) var(--ease-standard), box-shadow var(--duration-normal) var(--ease-standard), color var(--duration-normal) var(--ease-standard), opacity var(--duration-fast) ease, transform var(--duration-fast) var(--ease-standard);border:0;justify-content:center;align-items:center;gap:8px;padding:0 13px;display:inline-flex;position:relative}button:hover:not(:disabled){background:var(--accent-strong);box-shadow:none;color:var(--accent-strong-contrast)}button:active:not(:disabled){box-shadow:none;transform:translateY(0)}button:disabled{cursor:not-allowed;opacity:.45;transform:none}button.secondary{background:var(--surface-alt);border:1px solid var(--line);color:var(--text)}.text-button{color:var(--text);background:0 0}button.secondary:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 10%, var(--surface-alt));border-color:var(--line-strong);box-shadow:none;color:var(--accent-strong)}.text-button:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 10%, var(--surface-alt));box-shadow:none;color:var(--accent-strong)}button.danger,button.secondary.danger{background:var(--danger-bg);border:1px solid var(--danger-line);color:#ffe1e1}button.warning,button.secondary.warning{background:var(--warning-bg);border:1px solid var(--warning-line);color:#fff3d6}button.danger:hover:not(:disabled),button.secondary.danger:hover:not(:disabled),button.icon-button.danger:hover:not(:disabled){background:color-mix(in srgb, var(--danger-bg) 84%, var(--danger) 16%);border-color:var(--danger-line);box-shadow:none;color:#ffe1e1}button.warning:hover:not(:disabled),button.secondary.warning:hover:not(:disabled){background:color-mix(in srgb, var(--warning-bg) 84%, var(--warning) 16%);border-color:var(--warning-line);box-shadow:none;color:#fff3d6}.text-button{min-height:30px;padding:0}.icon-button{background:var(--surface-alt);color:var(--text);width:34px;height:34px;min-height:34px;padding:0}.theme-mode-toggle{background:var(--field-bg);border:1px solid var(--line);color:var(--field-text);flex:0 0 36px;width:36px;height:36px;min-height:36px}button.theme-mode-toggle:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 12%, var(--field-bg));border-color:var(--accent);box-shadow:none;color:var(--field-text)}input,select,textarea{background:var(--field-bg);border:1px solid var(--line);border-radius:var(--radius-control);color:var(--field-text);transition:background-color var(--duration-normal) var(--ease-standard), border-color var(--duration-normal) var(--ease-standard), box-shadow var(--duration-normal) var(--ease-standard);outline:none;width:100%;padding:9px 10px}input:focus,select:focus,textarea:focus{border-color:color-mix(in srgb, var(--focus) 72%, var(--outline-contrast));box-shadow:0 0 0 3px color-mix(in srgb, var(--outline-contrast) 24%, transparent)}input:hover:not(:disabled):not(:focus),select:hover:not(:disabled):not(:focus),textarea:hover:not(:disabled):not(:focus){background:color-mix(in srgb, var(--accent) 10%, var(--field-bg));border-color:var(--outline-contrast)}.password-input-field{gap:6px;min-width:0;display:grid}.password-input-control{width:100%;min-width:0;position:relative}.password-input-control .password-input-value{padding-inline-end:44px}.password-input-control .password-visibility-toggle{color:var(--muted);inset-inline-end:3px;background:0 0;border:0;width:32px;height:32px;min-height:32px;padding:0;position:absolute;top:50%;transform:translateY(-50%)}.password-input-control .password-visibility-toggle:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 10%, transparent);color:var(--field-text);transform:translateY(-50%)}.password-input-control .password-visibility-toggle:active:not(:disabled){transform:translateY(-50%)}input[type=checkbox]{accent-color:var(--accent);block-size:16px;box-shadow:none;cursor:pointer;height:16px;max-block-size:16px;inline-size:16px;max-height:16px;min-block-size:16px;max-inline-size:16px;min-height:16px;min-inline-size:16px;flex:0 0 16px;width:16px;margin:0;padding:0;transform:none}input[type=checkbox]:hover:not(:disabled):not(:focus){box-shadow:none;background:0 0;transform:none}input[type=checkbox]:focus{box-shadow:none;outline:2px solid color-mix(in srgb, var(--focus) 72%, var(--outline-contrast));outline-offset:2px}button:focus-visible,a:focus-visible,[role=button]:focus-visible{outline:2px solid color-mix(in srgb, var(--focus) 72%, var(--outline-contrast));outline-offset:2px}textarea{resize:vertical}label{color:var(--muted);gap:6px;font-size:.84rem;display:grid}.row{flex-wrap:wrap;gap:10px;display:flex}.eyebrow{color:var(--accent-strong);letter-spacing:0;text-transform:uppercase;margin:0;font-size:.74rem;font-weight:700}.brand{gap:2px;display:grid}.brand span{font-size:1.1rem;font-weight:800}.brand small{color:var(--muted)}.vispectr-logo{object-fit:contain;-webkit-user-select:none;user-select:none;flex:none;display:block}.vispectr-wordmark{font-family:var(--font-vispectr-wordmark), Montserrat, "Segoe UI", sans-serif;letter-spacing:-.035em;text-rendering:optimizelegibility;text-transform:none;font-style:italic;font-weight:300}.auth-screen{align-items:center;min-height:100vh;padding:24px;display:grid}.auth-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-panel);box-shadow:var(--shadow-raised);gap:28px;width:100%;max-width:440px;margin:0 auto;padding:28px;display:grid}.auth-heading-row{flex-wrap:wrap;justify-content:space-between;align-items:start;gap:16px;min-width:0;display:flex}.auth-heading-row .brand{flex:180px;min-width:0}.auth-brand-lockup{flex:180px;align-items:center;gap:12px;min-width:0;display:flex}.auth-brand-logo{width:42px;height:42px}.auth-brand-lockup-compact{gap:9px}.auth-brand-lockup-compact .auth-brand-logo{width:27px;height:27px}.auth-brand-lockup .vispectr-wordmark{color:var(--text)}.language-select{color:var(--muted);gap:6px;min-width:0;font-size:.84rem;display:grid}.language-select select{min-height:36px}.language-select-control{align-items:center;width:100%;min-width:0;display:flex;position:relative}.language-select-control svg{color:var(--muted);pointer-events:none;z-index:1;position:absolute;left:10px}.language-select-control select{padding-left:34px}.icon-language-select{flex:0 0 36px;justify-items:end;gap:0;width:36px;margin-left:auto}.language-icon-dropdown{position:relative}.language-icon-trigger{background:var(--field-bg);border:1px solid var(--line);color:var(--field-text);width:36px;height:36px;min-height:36px;padding:0}.language-icon-trigger:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 12%, var(--field-bg));border-color:var(--accent);box-shadow:none;color:var(--field-text)}.language-icon-menu{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-panel);box-shadow:var(--shadow-raised);z-index:1200;gap:4px;min-width:170px;padding:6px;display:grid;position:fixed;top:auto;right:auto}.language-icon-option{color:var(--bg-text);background:0 0;justify-content:flex-start;min-height:34px;padding:0 10px}.language-icon-option.active{background:color-mix(in srgb, var(--accent) 16%, var(--surface-alt));color:var(--accent-strong)}.language-icon-option:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 12%, var(--surface-alt));box-shadow:none;color:var(--accent-strong)}.auth-panel h1,.overview-create-panel h1,.workspace-menubar h1{margin:4px 0 0;font-size:1.55rem;line-height:1.15}.auth-heading-row .auth-title-brand{color:var(--text);flex:auto;margin:0;font-size:1.9rem}.auth-form,.new-project{gap:12px;display:grid}.auth-actions{grid-template-columns:repeat(auto-fit,minmax(132px,1fr));display:grid}.auth-actions button{width:100%;min-width:0}.auth-login-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.auth-login-actions button[type=submit]{grid-column:1}.auth-login-actions [data-auth-action=forgot-password]{grid-column:2}.auth-login-actions [data-auth-action=resend],.auth-login-actions [data-auth-action=register]{grid-column:1/-1}.project-type-choice-list{gap:8px;display:grid}.project-type-choice-list button{border:1px solid var(--line);color:var(--text);text-align:left;min-height:62px;transition:background-color var(--duration-normal) var(--ease-standard), border-color var(--duration-normal) var(--ease-standard), box-shadow var(--duration-normal) var(--ease-standard), color var(--duration-normal) var(--ease-standard), transform var(--duration-fast) var(--ease-standard);background:0 0;grid-template-columns:auto minmax(0,1fr);place-items:center start;gap:10px;display:grid}.project-type-choice-list button.active{border-color:var(--accent-strong);color:var(--accent-strong)}.project-type-choice-list span{gap:3px;min-width:0;display:grid}.project-type-choice-list small{color:var(--muted);font-weight:600;line-height:1.25}.project-source-option{background:var(--surface-alt);border:1px solid var(--line);border-radius:var(--radius-panel);padding:9px 10px}.project-upload-quality{gap:6px;display:grid}.project-upload-quality select{width:100%}.preview-preflight-dialog{gap:14px;max-height:calc(100vh - 48px);display:grid;overflow:auto}.preview-preflight-description{color:var(--muted);margin-bottom:0}.preview-preflight-review{gap:10px;display:grid}.preview-preflight-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.preview-preflight-summary>span{background:var(--surface-alt);border:1px solid var(--line);border-radius:var(--radius-panel);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:3px;padding:9px;display:grid}.preview-preflight-summary>span strong{grid-column:1/-1}.preview-preflight-summary>span small{color:var(--muted)}.preview-preflight-summary>p{color:var(--muted);grid-column:1/-1;margin:0}.preview-preflight-progress{gap:7px;display:grid}@media (max-width:640px){.preview-preflight-summary{grid-template-columns:1fr}}.inline-help{color:var(--muted);cursor:help;align-items:center;display:inline-flex}.workspace-app-shell{background:var(--bg);color:var(--bg-text);height:100dvh;min-height:0;transition:background-color var(--duration-normal) var(--ease-standard), color var(--duration-normal) var(--ease-standard);grid-template-columns:auto minmax(0,1fr);display:grid;overflow:hidden}.workspace-sidebar{--muted:var(--surface-strong-muted);--text:var(--surface-strong-text);background:var(--surface-strong);border-right:1px solid var(--line);color:var(--text);height:100dvh;min-height:0;transition:background-color var(--duration-normal) var(--ease-standard), border-color var(--duration-normal) var(--ease-standard), padding .16s ease, width .16s ease;z-index:20;grid-template-rows:auto auto minmax(0,1fr) auto;gap:16px;width:280px;padding:14px 12px;display:grid;position:sticky;top:0;overflow:hidden}.workspace-sidebar.collapsed{width:56px;padding-left:4px;padding-right:4px}.workspace-sidebar-brand,.workspace-sidebar-section,.workspace-sidebar-footer{min-width:0}.workspace-sidebar-brand{height:86px}.workspace-sidebar-brand-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;height:100%;display:grid}.workspace-sidebar-brand-button,.workspace-sidebar-item,.sidebar-profile-button{color:var(--text);text-align:left;min-width:0;transition:background-color var(--duration-normal) var(--ease-standard), border-color var(--duration-normal) var(--ease-standard), color var(--duration-normal) var(--ease-standard), transform var(--duration-fast) var(--ease-standard);background:0 0;border:1px solid #0000;border-radius:8px;grid-template-columns:auto minmax(0,1fr);justify-content:stretch;align-items:center;gap:10px;width:100%;padding:8px;display:grid;position:relative}.workspace-sidebar-brand-button{gap:4px;min-height:74px;padding:6px}.sidebar-avatar,.workspace-sidebar-icon{background:var(--accent);color:var(--accent-contrast);width:30px;height:30px;transition:background-color var(--duration-normal) var(--ease-standard), border-color var(--duration-normal) var(--ease-standard), color var(--duration-normal) var(--ease-standard), transform var(--duration-normal) var(--ease-standard);border-radius:8px;justify-content:center;align-items:center;font-weight:800;display:inline-flex}.workspace-brand-mark{width:60px;height:60px;padding:1px}.workspace-sidebar-icon{background:var(--surface-alt);border:1px solid var(--line);color:var(--accent-strong);font-size:.92rem}.workspace-sidebar-icon.workspace-themed-icon{background:color-mix(in srgb, var(--workspace-icon-accent) 16%, var(--surface-alt));border-color:color-mix(in srgb, var(--workspace-icon-accent) 48%, var(--line));color:var(--workspace-icon-accent-strong)}.workspace-sidebar-label{justify-content:start;gap:2px;min-width:0;display:grid}.workspace-sidebar-brand-button .vispectr-wordmark-vector{color:var(--text);width:132px;max-width:100%;height:auto;display:block;transform:translateY(2px)}.workspace-sidebar-label strong,.workspace-sidebar-label small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.workspace-sidebar-label small{color:var(--muted);font-size:.76rem;font-weight:650}.workspace-sidebar-section{align-content:start;gap:7px;display:grid}.workspace-sidebar-section-title{color:var(--muted);letter-spacing:0;text-transform:uppercase;margin:0 8px;font-size:.72rem;font-weight:800}.workspace-sidebar-list{align-content:start;gap:3px;min-height:0;display:grid}.workspace-sidebar-recents .workspace-sidebar-list{overflow:auto}.workspace-sidebar-item{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;min-height:42px}.workspace-sidebar-item:hover,.workspace-sidebar-brand-button:hover,.sidebar-profile-button:hover,.workspace-sidebar-item.active{background:var(--nav-active);border-color:var(--line)}.workspace-sidebar .workspace-sidebar-item:hover:not(:disabled),.workspace-sidebar .workspace-sidebar-brand-button:hover:not(:disabled),.workspace-sidebar .sidebar-profile-button:hover:not(:disabled){background:var(--nav-active);box-shadow:none;color:var(--text);transform:none}.workspace-sidebar .workspace-sidebar-item.active:hover:not(:disabled),.workspace-sidebar-item.active{color:var(--accent-strong)}.workspace-sidebar-item.active .workspace-sidebar-icon,.workspace-sidebar-item:hover .workspace-sidebar-icon{border-color:color-mix(in srgb, var(--accent-strong) 72%, var(--line));transform:scale(1.04)}.workspace-sidebar-item.active .workspace-sidebar-icon.workspace-themed-icon,.workspace-sidebar-item:hover .workspace-sidebar-icon.workspace-themed-icon{border-color:color-mix(in srgb, var(--workspace-icon-accent-strong) 72%, var(--line))}a.workspace-sidebar-item{text-decoration:none}.admin-console-link{align-self:start}.recent-project-dot{border:1px solid var(--line);background:0 0;border-radius:999px;width:9px;height:9px}.recent-project-dot.unread{background:var(--warning);border-color:var(--warning);box-shadow:0 0 0 0 color-mix(in srgb, var(--warning) 42%, transparent);animation:1.6s ease-in-out infinite unread-dot-pulse}@keyframes unread-dot-pulse{0%,to{box-shadow:0 0 0 0 color-mix(in srgb, var(--warning) 38%, transparent)}50%{box-shadow:0 0 0 5px #0000}}.workspace-sidebar-empty{color:var(--muted);padding:8px;font-size:.82rem}.workspace-sidebar-footer{grid-template-columns:minmax(0,1fr);align-items:center;gap:6px;display:grid}.workspace-sidebar-user-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;min-width:0;display:grid}.sidebar-profile-button{align-items:center;min-height:46px}.sidebar-logout-button{border:1px solid var(--line);background:0 0}.sidebar-collapse-toggle{background:var(--surface-alt);border:1px solid var(--line);color:var(--text);border-radius:999px;justify-content:center;align-self:center;align-items:center;width:30px;height:30px;min-height:30px;padding:0;display:inline-flex}.workspace-sidebar.collapsed .workspace-sidebar-label,.workspace-sidebar.collapsed .workspace-sidebar-section-title,.workspace-sidebar.collapsed .workspace-sidebar-empty,.workspace-sidebar.collapsed .sidebar-logout-button{display:none}.workspace-sidebar.collapsed .recent-project-item{position:relative}.workspace-sidebar.collapsed .recent-project-dot{display:none}.workspace-sidebar.collapsed .recent-project-dot.unread{box-shadow:0 0 0 2px var(--surface-strong);display:block;position:absolute;top:auto;bottom:5px;right:5px}.workspace-sidebar.collapsed .workspace-sidebar-brand-button,.workspace-sidebar.collapsed .workspace-sidebar-item,.workspace-sidebar.collapsed .sidebar-profile-button{grid-template-columns:1fr;justify-items:center;padding-left:4px;padding-right:4px}.workspace-sidebar.collapsed .workspace-sidebar-brand-button{width:48px;min-height:48px;padding:3px}.workspace-sidebar.collapsed .workspace-brand-mark{width:40px;height:40px}.workspace-sidebar.collapsed .workspace-sidebar-footer,.workspace-sidebar.collapsed .workspace-sidebar-user-row{grid-template-columns:1fr}.workspace-sidebar.collapsed .workspace-sidebar-brand-row{grid-template-rows:30px 48px;grid-template-columns:1fr;align-content:start;justify-items:center}.workspace-sidebar.collapsed .sidebar-collapse-toggle{order:-1;justify-self:center}.project-overview-page{--muted:var(--bg-muted);--text:var(--bg-text);grid-template-rows:auto minmax(0,1fr);min-width:0;height:100dvh;min-height:0;display:grid;overflow:hidden}.overview-topbar,.workspace-menubar{--muted:var(--surface-muted);--text:var(--surface-text);background:var(--nav-bg);border-bottom:1px solid var(--line);color:var(--text);justify-content:space-between;align-items:center;min-height:56px;padding:8px 18px;display:flex}.overview-actions,.workspace-menu-left,.workspace-menu-right{align-items:center;gap:12px;min-width:0;display:flex}.overview-topbar h1{margin:0;font-size:1.55rem;line-height:1.15}.overview-actions strong{text-overflow:ellipsis;white-space:nowrap;max-width:240px;overflow:hidden}.overview-content{gap:12px;min-height:0;padding:12px 18px 18px;display:grid;overflow:hidden}.workspace-management-content{grid-template-rows:auto minmax(0,1fr);grid-template-columns:1fr}.overview-section-header{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:16px;min-width:0;display:grid}.overview-section-header>div{min-width:0}.overview-section-header h2,.overview-create-panel h3,.workspace-settings-card h3,.profile-dialog h2{margin:0;font-size:1.18rem;line-height:1.2}.overview-section-header p{color:var(--muted);margin:5px 0 0}.workspace-selection-section,.project-management-section{gap:14px;min-width:0;min-height:0;display:grid}.project-management-section{grid-template-rows:auto minmax(0,1fr);overflow:hidden}.new-workspace-inline{grid-template-columns:minmax(180px,280px) auto;justify-self:end;align-items:center;gap:8px;display:grid}.workspace-selection-section .overview-section-header{align-items:center}.project-section-header{grid-template-columns:auto minmax(0,1fr);justify-content:start;align-items:stretch}.workspace-card-strip{grid-auto-columns:minmax(250px,310px);grid-auto-flow:column;gap:10px;min-width:0;padding-bottom:4px;display:grid;overflow-x:auto}.workspace-selection-card{--muted:var(--surface-muted);--text:var(--surface-text);background:var(--surface);border:1px solid var(--line);color:var(--text);text-align:left;min-height:132px;transition:background-color var(--duration-normal) var(--ease-standard), border-color var(--duration-normal) var(--ease-standard), box-shadow var(--duration-normal) var(--ease-standard), color var(--duration-normal) var(--ease-standard), transform var(--duration-fast) var(--ease-standard);border-radius:8px;grid-template-columns:auto minmax(0,1fr);place-content:start stretch;gap:8px;padding:14px;display:grid}.workspace-selection-card:hover,.workspace-selection-card.active{--muted:var(--surface-alt-muted);--text:var(--surface-alt-text);background:var(--surface-alt);border-color:var(--line-strong);color:var(--text)}.workspace-selection-card:hover{box-shadow:none;transform:none}button.workspace-selection-card:hover:not(:disabled){background:var(--surface-alt);box-shadow:none;color:var(--text);transform:none}.workspace-selection-card.active{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent-strong) 55%, transparent), 0 12px 26px color-mix(in srgb, var(--accent) 12%, transparent)}.workspace-card-icon{background:var(--surface-alt);border:1px solid var(--line);color:var(--accent-strong);width:42px;height:42px;transition:background-color var(--duration-normal) var(--ease-standard), border-color var(--duration-normal) var(--ease-standard), color var(--duration-normal) var(--ease-standard), transform var(--duration-normal) var(--ease-standard);border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.workspace-selection-card:hover .workspace-card-icon,.workspace-selection-card.active .workspace-card-icon{background:color-mix(in srgb, var(--accent) 18%, var(--surface-alt));border-color:color-mix(in srgb, var(--accent-strong) 64%, var(--line));transform:scale(1.04)}.workspace-selection-card strong,.workspace-selection-card small,.workspace-card-meta{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.workspace-selection-card>span:not(.workspace-card-icon){gap:3px;min-width:0;display:grid}.workspace-selection-card small,.workspace-card-meta{color:var(--muted);font-size:.84rem}.workspace-card-meta{grid-column:1/-1}.project-management-body{min-width:0;min-height:0;transition:column-gap var(--duration-slow) var(--ease-emphasis);grid-template-columns:auto minmax(0,1fr);align-items:stretch;gap:16px;display:grid;overflow:hidden}.project-management-body.settings-collapsed{grid-template-columns:auto minmax(0,1fr);column-gap:0}.project-management-body.settings-unavailable{grid-template-columns:minmax(0,1fr)}.workspace-settings-column{border-right:1px solid var(--line);align-content:start;gap:12px;width:100%;min-width:0;height:100%;min-height:0;max-height:none;padding-right:18px;display:grid;overflow-y:auto}.workspace-settings-motion{--workspace-settings-width:min(520px, 36vw);min-width:0;min-height:0;transition:opacity var(--duration-normal) var(--ease-standard), transform var(--duration-slow) var(--ease-emphasis), visibility 0s linear var(--duration-slow), width var(--duration-slow) var(--ease-emphasis);width:var(--workspace-settings-width);will-change:opacity, transform, width;overflow:hidden}.workspace-settings-motion.open{opacity:1;visibility:visible;transition-delay:0s;transform:translate(0)}.workspace-settings-motion.closed{opacity:0;pointer-events:none;visibility:hidden;width:0;transform:translate(-10px)}.workspace-settings-content{gap:12px;min-width:0;display:grid}.workspace-settings-header-action{background:var(--surface-alt);border-color:var(--line-strong);place-self:stretch start;width:44px;height:auto;min-height:68px;display:inline-flex}.workspace-settings-header-action.active{background:color-mix(in srgb, var(--accent) 14%, var(--surface-alt));border-color:var(--line-strong);color:var(--accent-strong)}.workspace-settings-card{--muted:var(--surface-muted);--text:var(--surface-text);background:var(--surface);border:1px solid var(--line);color:var(--text);border-radius:8px;align-content:start;gap:16px;min-width:0;padding:18px;display:grid}.workspace-settings-card .workspace-admin-panel{border-top:0;padding-top:0}.workspace-settings-card-header{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;display:grid}.workspace-settings-close{align-self:start}.workspace-settings-save-status{color:var(--muted);margin:0;font-size:.78rem;line-height:1.3}.workspace-settings-save-status[data-state=error]{color:var(--danger)}.danger-zone{border-top:1px solid var(--line);gap:10px;padding-top:14px;display:grid}.settings-danger-action{min-height:44px}.danger-zone p,.danger-confirmation p{color:var(--muted);margin:0;line-height:1.35}.danger-confirmation{background:color-mix(in srgb, var(--danger-bg) 34%, var(--surface-alt));border:1px solid var(--danger-line);border-radius:8px;gap:12px;padding:12px;display:grid}.danger-confirmation-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.project-overview-pane{grid-template-rows:auto minmax(220px,1fr);align-content:stretch;align-items:stretch;gap:12px;min-width:0;min-height:0;display:grid;overflow:hidden}.project-overview-project-strip{z-index:2;grid-auto-columns:minmax(292px,336px);grid-auto-flow:column;align-items:stretch;gap:12px;min-width:0;min-height:0;padding-bottom:4px;display:grid;position:relative;overflow:auto hidden}.project-overview-card{--muted:var(--surface-muted);--text:var(--surface-text);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-panel);color:var(--text);min-width:0;height:336px;min-height:336px;transition:background-color var(--duration-normal) var(--ease-standard), border-color var(--duration-normal) var(--ease-standard), box-shadow var(--duration-normal) var(--ease-standard), transform var(--duration-normal) var(--ease-standard);grid-template-rows:96px auto auto;gap:10px;padding:12px 12px 16px;display:grid}.project-overview-card-enter{animation:project-overview-card-enter var(--duration-slow) var(--ease-standard) both}@keyframes project-overview-card-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.project-overview-card-action{cursor:pointer}.project-overview-card-action:hover,.project-overview-card-action:focus-visible,.project-overview-card-action.highlighted{background:var(--surface-alt);border-color:var(--line-strong);outline:none}.project-overview-card-action.highlighted{border-color:color-mix(in srgb, var(--accent-strong) 58%, var(--line-strong))}.project-create-overview-card{cursor:default;grid-template-rows:auto minmax(0,1fr) auto;gap:6px;height:370px;min-height:370px;position:relative}.project-create-overview-card:has(.icon-picker-menu){z-index:5}.project-create-overview-card>div:first-child{gap:2px;display:grid}.project-create-overview-card h3{margin:0;font-size:1.05rem;line-height:1.15}.project-create-overview-card .new-project{align-content:start}.project-create-overview-card textarea{min-height:96px}.project-preview-button{background:var(--surface-alt);border:1px solid var(--line);border-radius:var(--radius-panel);color:var(--muted);width:100%;height:96px;min-height:96px;padding:0;overflow:hidden}.project-preview-button img{object-fit:cover;height:100%;transition:filter var(--duration-normal) var(--ease-standard), transform var(--duration-slow) var(--ease-standard);width:100%;display:block}.project-overview-card-action:hover .project-preview-button img,.project-overview-card-action.highlighted .project-preview-button img{filter:saturate(1.08)contrast(1.04);transform:scale(1.035)}.project-preview-button span,.project-edit-preview span{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.project-info-lines{gap:8px;min-width:0;display:grid}.project-info-lines>span{border-bottom:1px solid color-mix(in srgb, var(--line) 70%, transparent);gap:3px;min-width:0;padding-bottom:8px;display:grid}.project-info-lines small{color:var(--muted);text-transform:uppercase;font-size:.72rem;font-weight:800}.project-info-lines strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.project-card-summary{align-content:start;gap:9px;min-width:0;display:grid}.project-card-title-row{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;display:grid}.project-card-title-row>span:nth-child(2){gap:3px;min-width:0;display:grid}.project-card-title-row strong,.project-card-title-row small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.project-card-title-row small{color:var(--muted);font-size:.82rem}.project-card-icon{background:var(--surface-alt);border:1px solid var(--line);color:var(--accent-strong);border-radius:8px;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.project-storage-badge{background:color-mix(in srgb, var(--accent) 10%, var(--surface-alt));border:1px solid color-mix(in srgb, var(--accent-strong) 35%, var(--line));color:var(--accent-strong);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:4px 7px;font-size:.7rem;font-weight:800;display:inline-flex}.project-storage-badge.local{background:var(--surface-alt);border-color:var(--line-strong);color:var(--text)}.project-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;min-width:0;margin:0;display:grid}.project-meta-grid div{background:var(--surface-alt);border:1px solid var(--line);border-radius:var(--radius-control);min-width:0;transition:background-color var(--duration-normal) var(--ease-standard), border-color var(--duration-normal) var(--ease-standard);gap:2px;padding:6px 8px;display:grid}.project-overview-card-action:hover .project-meta-grid div,.project-overview-card-action.highlighted .project-meta-grid div{border-color:color-mix(in srgb, var(--accent-strong) 34%, var(--line))}.project-meta-grid dt,.project-meta-grid dd{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.project-meta-grid dt{color:var(--muted);text-transform:uppercase;font-size:.64rem;font-weight:800}.project-meta-grid dd{margin:0;font-size:.78rem;font-weight:750}.project-overview-map-panel{background:var(--surface);border:1px solid var(--line);z-index:1;border-radius:8px;min-height:0;position:relative;overflow:hidden}.overview-project-map.empty-map{min-height:100%}.project-card-actions,.project-edit-preview-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.project-card-actions{align-self:end;margin-top:4px}.project-card-actions button,.project-edit-preview-actions button{width:100%}.project-edit-preview-actions{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}.project-edit-preview-actions button.secondary{background:var(--surface-alt);border:1px solid var(--line);color:var(--text);text-align:center;white-space:normal;align-items:center;height:100%;min-height:46px;padding-block:8px;padding-inline:8px;line-height:1.15}.project-edit-preview-actions button.secondary:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 10%, var(--surface-alt));border-color:var(--line-strong);box-shadow:none;color:var(--text)}.project-edit-dialog{width:100%;max-width:min(560px,100vw - 36px)}.project-edit-preview{background:var(--surface-alt);border:1px solid var(--line);border-radius:8px;height:210px;overflow:hidden}.project-edit-preview img{object-fit:cover;width:100%;height:100%;display:block}.project-image-gallery{background:var(--surface-alt);border:1px solid var(--line);border-radius:8px;gap:8px;min-height:0;max-height:220px;padding:10px;display:grid;overflow:auto}.project-image-gallery-toolbar{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;min-width:0;display:grid}.project-image-gallery-toolbar label{min-width:0}.project-image-gallery-toolbar span{color:var(--muted);white-space:nowrap;padding-bottom:10px;font-size:.78rem;font-weight:750}.project-image-gallery-grid{grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px;display:grid}.project-image-gallery-item{background:var(--surface);border:1px solid var(--line);color:var(--text);text-align:left;border-radius:8px;align-content:start;gap:6px;min-width:0;min-height:112px;padding:6px;display:grid}.project-image-gallery-item:hover:not(:disabled){background:var(--surface-alt);border-color:var(--line-strong);box-shadow:none;color:var(--text);transform:none}.project-image-gallery-item img,.project-image-gallery-item span{background:var(--surface-strong);color:var(--surface-strong-text);object-fit:cover;border-radius:6px;justify-content:center;align-items:center;width:100%;height:68px;display:flex;overflow:hidden}.project-image-gallery-item small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;overflow:hidden}.project-edit-dialog .dialog-actions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.project-edit-dialog .dialog-actions button,.project-edit-delete-row button{width:100%}.project-edit-delete-row{border-top:1px solid var(--line);padding-top:12px;display:grid}.icon-picker-field{color:var(--muted);gap:8px;min-width:0;font-size:.84rem;display:grid}.icon-picker-dropdown{min-width:0;position:relative}.icon-picker-trigger{background:var(--surface-alt);border:1px solid var(--line);color:var(--text);text-align:left;grid-template-columns:26px minmax(0,1fr) auto;align-items:center;gap:9px;width:100%;min-height:40px;padding:6px 10px;display:grid}.icon-picker-trigger:hover,.icon-picker-trigger:focus-visible{background:color-mix(in srgb, var(--accent) 10%, var(--surface-alt));border-color:var(--line-strong);outline:none}button.icon-picker-trigger:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 10%, var(--surface-alt));box-shadow:none;color:var(--text)}.icon-picker-trigger:disabled{cursor:not-allowed;opacity:.58}.icon-picker-trigger-icon{background:var(--surface);border:1px solid var(--line);color:var(--text);border-radius:6px;justify-content:center;align-items:center;width:26px;height:26px;display:inline-flex}.icon-picker-trigger-label{color:var(--text);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:750;overflow:hidden}.icon-picker-menu{background:var(--surface);border:1px solid var(--line-strong);z-index:3000;grid-template-columns:repeat(auto-fill,minmax(38px,1fr));gap:7px;width:100%;max-height:230px;padding:8px;display:grid;position:absolute;top:calc(100% + 6px);left:0;overflow:auto;box-shadow:0 18px 38px #0006}.icon-picker-menu-fixed{z-index:5000;position:fixed}.icon-picker-dropdown-top .icon-picker-menu{max-height:196px;top:auto;bottom:calc(100% + 6px)}.icon-choice{background:var(--surface-alt);border:1px solid var(--line);color:var(--text);justify-content:center;min-width:0;height:38px;min-height:38px;padding:0;display:inline-flex}.icon-choice:hover,.icon-choice:focus-visible{background:color-mix(in srgb, var(--accent) 12%, var(--surface-alt));border-color:var(--line-strong);outline:none}button.icon-choice:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 12%, var(--surface-alt));box-shadow:none;color:var(--text)}.icon-choice.active{border-color:var(--accent-strong);color:var(--accent-strong);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent-strong) 35%, transparent)}.icon-choice.clear{color:var(--muted)}.icon-text-glyph{justify-content:center;align-items:center;width:100%;height:100%;font-size:.76rem;font-weight:850;line-height:1;display:inline-flex}.overview-inline-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:7px;margin:8px 0 0;font-size:.84rem;font-weight:700;line-height:1.35;display:flex}.back-button{justify-self:start;margin-bottom:8px}.workspace-admin-panel{border-top:1px solid var(--line);gap:14px;padding-top:16px;display:grid}.overview-create-panel,.project-card,.project-start-guide,.tool-panel,.settings-panel,.placeholder-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-panel);transition:background-color var(--duration-normal) var(--ease-standard), border-color var(--duration-normal) var(--ease-standard), box-shadow var(--duration-normal) var(--ease-standard)}.overview-create-panel{align-content:start;gap:22px;padding:18px;display:grid}.project-card-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));align-content:start;gap:10px;display:grid}.project-card{color:var(--text);text-align:left;justify-content:stretch;gap:8px;min-height:132px;padding:14px;display:grid}.project-card:hover{border-color:var(--line-strong);background:var(--surface-alt);box-shadow:none}.project-card-title{font-size:1rem;font-weight:800}.project-card-description,.project-card-meta{color:var(--muted)}.project-card-description{overflow-wrap:anywhere}.project-card-meta{align-self:end;font-size:.84rem}.project-workspace{--muted:var(--bg-muted);--text:var(--bg-text);grid-template-rows:auto auto minmax(0,1fr);height:100vh;display:grid;overflow:hidden}.workspace-menubar{min-height:74px}.workspace-project-search-trigger{background:color-mix(in srgb, var(--surface-alt) 88%, transparent);border:1px solid var(--line);border-radius:var(--radius-control);color:var(--muted);flex:0 420px;justify-content:flex-start;align-items:center;gap:8px;min-width:180px;margin-inline:12px;padding:0 10px;transition:border-color .12s,background .12s,color .12s;display:flex}.workspace-project-search-trigger:hover,.workspace-project-search-trigger:focus-visible{background:var(--surface);border-color:color-mix(in srgb, var(--accent) 55%, var(--line));color:var(--text)}.workspace-table-search{background:color-mix(in srgb, var(--surface-alt) 88%, transparent);border:1px solid var(--line);border-radius:var(--radius-control);color:var(--muted);align-items:center;gap:8px;min-width:140px;height:38px;padding:0 10px;font-size:1rem;transition:border-color .12s,background .12s,color .12s;display:flex}.workspace-table-search:hover,.workspace-table-search:focus-within{background:var(--surface);border-color:color-mix(in srgb, var(--accent) 55%, var(--line));color:var(--text)}.workspace-table-search>svg{flex:none}.workspace-table-search input{box-shadow:none;color:var(--text);background:0 0;border:0;flex:auto;min-width:0;height:100%;padding:0}.workspace-table-search input:hover:not(:disabled):not(:focus),.workspace-table-search input:focus{box-shadow:none;background:0 0;border:0}.workspace-table-search input::placeholder{color:var(--muted)}.workspace-project-search-trigger>span{text-align:left;text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.workspace-project-search-trigger kbd{background:var(--surface);border:1px solid var(--line);color:var(--muted);font:inherit;border-radius:5px;padding:2px 6px;font-size:.72rem}.project-search-backdrop{background:var(--overlay);z-index:1800;justify-content:center;align-items:flex-start;padding:min(12vh,110px) 24px 24px;display:flex;position:fixed;inset:0}.project-search-dialog{background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-panel);box-shadow:var(--shadow-floating);color:var(--text);grid-template-rows:auto auto minmax(110px,1fr) auto;width:100%;max-width:760px;max-height:min(76vh,720px);display:grid;overflow:hidden}.project-search-input-row{border-bottom:1px solid var(--line);align-items:center;gap:2px;padding:10px 12px;display:flex}.project-search-input-row>svg{color:var(--muted);flex:none}.project-search-input-row input{box-shadow:none;color:var(--text);background:0 0;border:0;outline:0;flex:1;min-width:0;padding:7px 8px;font-size:1rem}.project-search-input-row input:hover:not(:disabled):not(:focus),.project-search-input-row input:focus{box-shadow:none;background:0 0;border:0}.project-search-input-row input::placeholder{color:var(--muted)}.project-search-spinner{border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;width:17px;height:17px;animation:.7s linear infinite project-search-spin}@keyframes project-search-spin{to{transform:rotate(360deg)}}.project-search-filters{scrollbar-width:thin;gap:6px;padding:8px 12px;display:flex;overflow-x:auto}.project-search-filters button{background:var(--surface-alt);border:1px solid var(--line);color:var(--muted);border-radius:999px;flex:none;min-height:28px;padding:0 9px;font-size:.76rem}.project-search-filters button:hover,.project-search-filters button.active{background:color-mix(in srgb, var(--accent) 13%, var(--surface));border-color:color-mix(in srgb, var(--accent) 52%, var(--line));color:var(--text)}.project-search-results{border-top:1px solid var(--line);min-height:0;padding:6px 8px;overflow-y:auto}.project-search-group h3{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:6px;margin:8px 6px 4px;font-size:.72rem;font-weight:700;display:flex}.project-search-group>button{border-radius:var(--radius-control);color:var(--text);text-align:left;background:0 0;border:0;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;padding:8px;display:grid}.project-search-group>button:hover,.project-search-group>button.selected{background:color-mix(in srgb, var(--accent) 11%, var(--surface-alt));color:var(--text)}.project-search-result-visual{background:var(--surface-alt);border:1px solid var(--line);color:var(--muted);border-radius:5px;justify-content:center;align-items:center;width:42px;height:42px;display:flex;overflow:hidden}.project-search-result-visual img{object-fit:cover;width:100%;height:100%}.project-search-result-copy{gap:2px;min-width:0;display:grid}.project-search-result-copy strong,.project-search-result-copy span,.project-search-result-copy small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.project-search-result-copy strong{color:var(--text);font-size:.88rem}.project-search-result-copy span,.project-search-result-copy small,.project-search-match{color:var(--muted);font-size:.74rem}.project-search-match{text-overflow:ellipsis;white-space:nowrap;max-width:150px;overflow:hidden}.project-search-empty,.project-search-message{color:var(--muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:6px;min-height:150px;padding:22px;display:flex}.project-search-empty strong{color:var(--text)}.project-search-empty span{max-width:450px;font-size:.82rem}.project-search-message.error{color:var(--danger)}.project-search-footer{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;min-height:34px;padding:7px 12px;font-size:.7rem;display:flex}.workspace-menu-left>div{min-width:0}.workspace-project-heading{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;display:grid}.workspace-project-heading>div{min-width:0}.workspace-menubar h1{text-overflow:ellipsis;white-space:nowrap;max-width:min(56vw,780px);overflow:hidden}.workspace-menu-right .workspace-stat-chip,.workspace-menu-right .lock-chip,.workspace-menu-right .background-operation{background:var(--surface-alt);border:1px solid var(--line);border-radius:var(--radius-panel);color:var(--text);text-align:center;min-width:86px;height:44px;transition:background-color var(--duration-normal) var(--ease-standard), border-color var(--duration-normal) var(--ease-standard), box-shadow var(--duration-normal) var(--ease-standard), color var(--duration-normal) var(--ease-standard);align-items:center;padding:7px 10px}.workspace-menu-right .workspace-stat-chip{white-space:nowrap;justify-content:center;display:inline-flex}.background-operations{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;min-width:0;max-width:min(1040px,64vw);display:flex}.workspace-menu-right .background-operation{animation:background-operation-enter var(--duration-normal) var(--ease-standard) both;text-align:left;flex:0 0 282px;grid-template-rows:16px 5px;gap:7px;min-width:282px;min-height:44px;padding:7px 10px;display:grid;position:relative}@keyframes background-operation-enter{0%{opacity:0;transform:translateY(-8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.workspace-menu-right .background-operation.cancelable{padding-right:72px}.background-operation-cancel{background:color-mix(in srgb, var(--danger) 82%, #000);border:0;border-left:1px solid color-mix(in srgb, var(--danger) 60%, var(--line));color:#fff;border-radius:0 8px 8px 0;justify-content:center;align-items:center;width:40px;height:100%;padding:0;display:inline-flex;position:absolute;top:0;right:0}.background-operation-cancel:hover{background:var(--danger);color:#fff}.background-operation-title{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.background-operation strong{text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.background-operation-title>span{color:var(--muted);white-space:nowrap;flex:none;font-size:.72rem;font-weight:800;line-height:1}.workspace-menu-right .background-operation .mini-progress-track{background:var(--surface-strong);border:0;border-radius:999px;width:100%;min-width:0;height:4px;padding:0;overflow:hidden}.workspace-menu-right .background-operation .mini-progress-fill{background:linear-gradient(90deg, var(--accent), var(--accent-strong), var(--accent));background-size:180% 100%;border:0;min-width:0;height:100%;padding:0;transition:width .16s;animation:1.6s linear infinite progress-sheen;display:block}.workspace-menu-right .background-operation .mini-progress-track.indeterminate .mini-progress-fill,.point-cloud-progress.indeterminate .progress-fill{width:38%;transition:none;animation:1.1s ease-in-out infinite progress-indeterminate}@keyframes progress-indeterminate{0%{transform:translate(-110%)}to{transform:translate(285%)}}@keyframes progress-sheen{0%{background-position:180% 0}to{background-position:-180% 0}}.workspace-menu-right .lock-chip{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:6px;min-width:118px;max-width:240px;display:inline-flex;overflow:hidden}.lock-chip.active{border-color:var(--accent-strong);color:var(--accent-strong)}.lock-chip.conflict{color:#ffd2d2;border-color:#d76565}.workspace-toast{--muted:var(--surface-strong-muted);--text:var(--surface-strong-text);--toast-accent:var(--accent);--toast-icon-text:var(--accent-contrast);background:var(--surface-strong);border:2px solid color-mix(in srgb, var(--toast-accent) 72%, var(--outline-contrast));animation:toast-enter var(--duration-slow) var(--ease-standard) both;box-shadow:var(--shadow-floating), 0 0 0 1px color-mix(in srgb, var(--toast-accent) 32%, transparent), 0 0 34px color-mix(in srgb, var(--toast-accent) 24%, transparent);color:var(--text);isolation:isolate;z-index:1200;border-radius:10px;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:11px;width:min(560px,100vw - 48px);min-height:68px;padding:14px;display:grid;position:fixed;bottom:24px;right:24px}.workspace-toast[data-importance=important]{--toast-accent:var(--danger);--toast-icon-text:#fff}.workspace-toast[data-importance=important] .workspace-toast-icon{animation:toast-reminder-wiggle 5s ease-in-out var(--duration-slow) infinite}@keyframes toast-enter{0%{opacity:0;transform:translate(30px,18px)scale(.94)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes toast-reminder-wiggle{0%,84%,to{transform:translate(0)}87%{transform:translate(-3px)}90%{transform:translate(3px)}93%{transform:translate(-2px)}96%{transform:translate(2px)}98%{transform:translate(-1px)}}.workspace-toast-icon{background:var(--toast-accent);color:var(--toast-icon-text);border-radius:50%;justify-content:center;align-self:start;align-items:center;width:32px;height:32px;display:inline-flex}.workspace-toast-message{overflow-wrap:anywhere;min-width:0;font-weight:650;line-height:1.35}.workspace-toast button{background:color-mix(in srgb, var(--text) 10%, var(--surface-strong));border:1px solid color-mix(in srgb, var(--text) 18%, var(--line));color:var(--text);flex:none}.workspace-toast button:hover:not(:disabled){background:color-mix(in srgb, var(--text) 16%, var(--surface-strong));color:var(--text)}@media (max-width:600px){.workspace-toast{width:calc(100vw - 24px);bottom:12px;right:12px}}.workspace-tour-layer{pointer-events:none;z-index:1400;position:fixed;inset:0}.workspace-tour-scrim{pointer-events:auto;background:#0000002e;position:absolute;inset:0}.workspace-tour-highlight{border:2px solid var(--accent-strong);box-shadow:0 0 0 5px color-mix(in srgb, var(--accent) 22%, transparent), var(--shadow-floating);pointer-events:none;transition:height var(--duration-normal) var(--ease-standard), left var(--duration-normal) var(--ease-standard), top var(--duration-normal) var(--ease-standard), width var(--duration-normal) var(--ease-standard);z-index:1;border-radius:10px;position:fixed}.workspace-tour-dim{pointer-events:none;position:absolute;inset:0}.workspace-tour-card{animation:blocking-dialog-enter var(--duration-normal) var(--ease-standard) both;background:var(--surface);border:1px solid var(--line-strong);box-shadow:var(--shadow-floating);color:var(--text);pointer-events:auto;z-index:2;border-radius:8px;gap:12px;min-width:0;max-width:calc(100vw - 32px);padding:14px;display:grid;position:fixed}.workspace-tour-meta{color:var(--muted);text-transform:uppercase;justify-content:space-between;align-items:center;font-size:.74rem;font-weight:800;line-height:1;display:flex}.workspace-tour-copy{gap:5px;min-width:0;display:grid}.workspace-tour-copy h2{margin:0;font-size:1.05rem;line-height:1.2}.workspace-tour-copy p{color:var(--muted);margin:0;line-height:1.35}.workspace-tour-actions{grid-template-columns:minmax(0,1fr) auto auto;justify-content:end;gap:8px;display:grid}.workspace-tour-actions button{white-space:nowrap;min-width:0}.workspace-tour-skip-button,.workspace-tour-skip-icon{background:color-mix(in srgb, var(--accent) 16%, var(--surface-alt));border:1px solid color-mix(in srgb, var(--accent-strong) 46%, var(--line));color:var(--accent-strong)}.workspace-tour-skip-button:hover:not(:disabled),.workspace-tour-skip-icon:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 24%, var(--surface-alt));border-color:var(--accent-strong);color:var(--accent-strong)}.area-navigation{background:var(--surface-strong);border-bottom:1px solid var(--line);align-items:center;gap:6px;min-height:48px;padding:6px 8px;display:flex;overflow-x:auto}.area-navigation-content{display:contents}.area-navigation-content[hidden]{display:none}.area-navigation-toggle{background:var(--surface-alt);border:1px solid var(--line);color:var(--muted);z-index:4;flex:0 0 32px;align-self:stretch;width:32px;min-height:36px;padding:0;position:sticky;left:0}.area-navigation-toggle:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 12%, var(--surface-alt));border-color:var(--line-strong);color:var(--text)}.area-navigation.collapsed{gap:0;height:24px;min-height:24px;padding:0 8px;overflow:hidden}.area-navigation.collapsed .area-navigation-toggle{background:0 0;border:0;flex:auto;gap:8px;width:100%;height:24px;min-height:24px;display:flex;position:static}.area-navigation.collapsed .area-navigation-toggle:before,.area-navigation.collapsed .area-navigation-toggle:after{background:var(--line-strong);content:"";flex:auto;height:1px}.area-filter-button{background:var(--surface-alt);border:1px solid var(--line);color:var(--text);text-align:left;flex:none;justify-items:start;gap:2px;min-width:150px;min-height:36px;padding:5px 10px;display:grid;position:relative}.area-filter-button.active{background:var(--accent);border-color:var(--accent-strong);color:var(--accent-contrast)}.area-filter-button.active:hover:not(:disabled){background:var(--accent-strong);color:var(--accent-strong-contrast)}.area-filter-button.drop-target{border-color:var(--accent-strong);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent-strong) 72%, transparent)}.area-filter-button.dragging{opacity:.58}.area-filter-button.reorder-before:before,.area-filter-button.reorder-after:after{background:var(--accent-strong);box-shadow:0 0 0 1px color-mix(in srgb, var(--accent-strong) 32%, transparent);content:"";pointer-events:none;z-index:2;border-radius:999px;width:3px;position:absolute;top:4px;bottom:4px}.area-filter-button.reorder-before:before{left:-5px}.area-filter-button.reorder-after:after{right:-5px}.area-filter-button span,.area-filter-button small{text-overflow:ellipsis;white-space:nowrap;max-width:190px;overflow:hidden}.area-filter-button small{color:currentColor;opacity:.78;font-size:.75rem}.area-navigation-empty{color:var(--muted);padding:0 8px;font-size:.86rem}.tiled-workspace{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr);min-height:0;padding:8px;display:grid;overflow:hidden}.workspace-app-shell[data-workspace-presentation^=tablet]{overscroll-behavior:none;grid-template-columns:64px minmax(0,1fr)}.workspace-app-shell[data-workspace-presentation^=tablet] .project-overview-page,.workspace-app-shell[data-workspace-presentation^=tablet] .overview-content,.workspace-app-shell[data-workspace-presentation^=tablet] .project-management-body{overscroll-behavior:none}.workspace-app-shell[data-workspace-presentation^=tablet] .workspace-card-strip,.workspace-app-shell[data-workspace-presentation^=tablet] .project-overview-project-strip{overscroll-behavior:contain}@media (max-height:976px){.workspace-app-shell[data-workspace-presentation^=tablet] .project-overview-pane{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.workspace-app-shell[data-workspace-presentation^=tablet] .project-overview-map-panel{display:none}}.workspace-app-shell[data-workspace-presentation^=tablet] .workspace-sidebar{width:64px;padding:8px 4px}.workspace-app-shell[data-workspace-presentation^=tablet] .workspace-sidebar:not(.collapsed){z-index:42;width:min(320px,100vw - 64px);padding:14px 12px;position:fixed;top:0;left:0;box-shadow:18px 0 40px #0000004d}.workspace-sidebar-backdrop{z-index:41;background:#04080c7a;border:0;border-radius:0;padding:0;position:fixed;inset:0}.workspace-sidebar-backdrop:hover:not(:disabled){box-shadow:none;background:#04080c7a;transform:none}.workspace-app-shell[data-workspace-presentation^=tablet] .workspace-sidebar.collapsed{width:64px}.workspace-app-shell[data-workspace-presentation^=tablet] .sidebar-collapse-toggle,.workspace-app-shell[data-workspace-presentation^=tablet] .workspace-sidebar-item,.workspace-app-shell[data-workspace-presentation^=tablet] .sidebar-profile-button{min-height:44px}.workspace-app-shell[data-workspace-presentation^=tablet] .sidebar-collapse-toggle{width:44px;height:44px}.workspace-app-shell[data-workspace-presentation^=tablet] .project-workspace{height:100dvh;min-height:0}.workspace-app-shell[data-workspace-presentation^=tablet] .workspace-menubar{gap:8px;min-height:62px;padding:7px 10px}.workspace-app-shell[data-workspace-presentation^=tablet] .workspace-project-search-trigger{flex:none;width:44px;min-width:44px;margin-inline:auto 0;padding:10px 12px}.workspace-app-shell[data-workspace-presentation^=tablet] .workspace-project-search-trigger>span,.workspace-app-shell[data-workspace-presentation^=tablet] .workspace-project-search-trigger kbd,.workspace-app-shell[data-workspace-presentation^=tablet] .workspace-project-heading .eyebrow,.workspace-app-shell[data-workspace-presentation^=tablet] .workspace-menu-right .workspace-stat-chip,.workspace-app-shell[data-workspace-presentation^=tablet] .workspace-menu-right .lock-chip,.workspace-app-shell[data-workspace-presentation^=tablet] .workspace-menu-right>.secondary{display:none}.workspace-app-shell[data-workspace-presentation^=tablet] .workspace-project-heading h1{max-width:min(34vw,360px);font-size:1.08rem}.workspace-app-shell[data-workspace-presentation^=tablet] .workspace-menu-right{gap:5px}.workspace-app-shell[data-workspace-presentation^=tablet] .background-operations{flex-wrap:nowrap;max-width:min(34vw,310px);overflow-x:auto}.workspace-app-shell[data-workspace-presentation^=tablet] .workspace-menu-right .background-operation{flex-basis:180px;min-width:180px}.workspace-app-shell[data-workspace-presentation^=tablet] .area-navigation{min-height:54px;padding:5px 8px}.workspace-app-shell[data-workspace-presentation^=tablet] .area-navigation.collapsed{height:28px;min-height:28px;padding-block:0}.workspace-app-shell[data-workspace-presentation^=tablet] .area-navigation.collapsed .area-navigation-toggle{height:28px;min-height:28px}.workspace-app-shell[data-workspace-presentation^=tablet] .area-filter-button{min-height:44px}.workspace-app-shell[data-workspace-presentation^=tablet] .tiled-workspace{grid-auto-rows:unset;grid-template-rows:minmax(0,1fr);align-content:stretch;padding:6px;overflow:hidden}.workspace-app-shell[data-workspace-presentation^=tablet] .viewer-toolbar{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:6px;display:grid}.workspace-app-shell[data-workspace-presentation^=tablet] .viewer-toolbar.standard-image{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}.workspace-app-shell[data-workspace-presentation^=tablet] .viewer-title{grid-column:1;min-width:0}.workspace-app-shell[data-workspace-presentation^=tablet] .thermal-view-controls{display:contents}.workspace-app-shell[data-workspace-presentation^=tablet] .thermal-view-buttons{grid-column:2;justify-self:center}.workspace-app-shell[data-workspace-presentation^=tablet] .viewer-controls{overscroll-behavior-x:contain;justify-content:flex-end;gap:8px;width:100%;min-width:0;max-width:100%;padding:3px;display:flex;overflow-x:auto}.workspace-app-shell[data-workspace-presentation^=tablet] .icon-language-select{flex-basis:44px;width:44px}.workspace-app-shell[data-workspace-presentation^=tablet] .language-icon-dropdown,.workspace-app-shell[data-workspace-presentation^=tablet] .language-icon-trigger{width:44px;height:44px}.workspace-app-shell[data-workspace-presentation^=tablet] .viewer-controls>*,.workspace-app-shell[data-workspace-presentation^=tablet] .annotation-tools{flex:none}.workspace-app-shell[data-workspace-presentation^=tablet] .settings-tab-content,.workspace-app-shell[data-workspace-presentation^=tablet] .data-tab-content,.workspace-app-shell[data-workspace-presentation^=tablet] .image-metadata-tab-content,.workspace-app-shell[data-workspace-presentation^=tablet] .reports-tab-content,.workspace-app-shell[data-workspace-presentation^=tablet] .annotation-tab-content{overscroll-behavior:contain}.tablet-workspace-layout{min-width:0;height:100%;min-height:0;display:grid;position:relative}.tablet-workspace-layout.paired.landscape{grid-template-columns:minmax(0, var(--tablet-primary-fr,60fr)) 12px minmax(0, var(--tablet-secondary-fr,40fr));grid-template-rows:minmax(0,1fr)}.tablet-workspace-layout.paired.portrait{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0, var(--tablet-primary-fr,60fr)) 12px minmax(0, var(--tablet-secondary-fr,40fr))}.tablet-workspace-layout.single{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.tablet-workspace-resize-handle{touch-action:none;-webkit-user-select:none;user-select:none;z-index:10;background:0 0;position:relative}.tablet-workspace-layout.landscape .tablet-workspace-resize-handle{cursor:col-resize;place-self:stretch center;width:44px}.tablet-workspace-layout.portrait .tablet-workspace-resize-handle{cursor:row-resize;place-self:center stretch;height:44px}.tablet-workspace-resize-handle:after{background:var(--line-strong);content:"";opacity:.72;transition:background-color var(--duration-normal) var(--ease-standard), opacity var(--duration-normal) var(--ease-standard), height var(--duration-normal) var(--ease-standard), width var(--duration-normal) var(--ease-standard);border-radius:999px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.tablet-workspace-layout.landscape .tablet-workspace-resize-handle:after{width:3px;height:56px}.tablet-workspace-layout.portrait .tablet-workspace-resize-handle:after{width:56px;height:3px}.tablet-workspace-resize-handle:hover:after,.tablet-workspace-resize-handle:focus-visible:after,.tablet-workspace-layout.pane-resize-active .tablet-workspace-resize-handle:after{background:var(--accent-strong);opacity:1}.tablet-workspace-layout.landscape .tablet-workspace-resize-handle:hover:after,.tablet-workspace-layout.landscape .tablet-workspace-resize-handle:focus-visible:after,.tablet-workspace-layout.landscape.pane-resize-active .tablet-workspace-resize-handle:after{width:5px}.tablet-workspace-layout.portrait .tablet-workspace-resize-handle:hover:after,.tablet-workspace-layout.portrait .tablet-workspace-resize-handle:focus-visible:after,.tablet-workspace-layout.portrait.pane-resize-active .tablet-workspace-resize-handle:after{height:5px}.tablet-workspace-resize-handle:focus-visible{outline:0}.tablet-workspace-layout.pane-resize-active .viewer-canvas,.tablet-workspace-layout.pane-resize-active .asset-table,.tablet-workspace-layout.pane-resize-active .map,.tablet-workspace-layout.pane-resize-active .map3d-scene{pointer-events:none}.tablet-workspace-pane{height:100%;min-height:0}.tablet-tabbar{background:var(--nav-bg);border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px;min-height:52px;padding:4px 5px;display:grid}.tablet-tabs{overscroll-behavior-x:contain;scrollbar-width:thin;align-items:center;gap:3px;min-width:0;display:flex;overflow-x:auto}.tablet-tabs button,.tablet-pane-actions button{color:var(--muted);background:0 0;border:1px solid #0000;flex:none;justify-content:center;align-items:center;gap:6px;min-width:44px;height:44px;min-height:44px;padding:0 10px;display:inline-flex}.tablet-tabs button.active{background:var(--nav-active);border-color:var(--line);color:var(--text)}.tablet-pane-actions{align-items:center;gap:2px;display:flex}.tablet-pane-actions button{padding:0}.tablet-workspace-pane-content{min-height:0;position:relative;overflow:hidden}.tablet-workspace-pane-content>:only-child{height:100%;min-height:0}.tablet-open-pair{z-index:4;align-items:center;gap:8px;min-height:44px;display:inline-flex;position:absolute;bottom:18px;right:18px}.workspace-app-shell[data-workspace-presentation=tablet-portrait] .tablet-tabs button span{display:inline}.workspace-app-shell[data-workspace-presentation^=tablet] button,.workspace-app-shell[data-workspace-presentation^=tablet] select,.workspace-app-shell[data-workspace-presentation^=tablet] summary{min-height:44px}.workspace-app-shell[data-workspace-presentation^=tablet] .icon-button{width:44px;min-width:44px;height:44px}.workspace-app-shell[data-workspace-presentation^=tablet] input:not([type=checkbox]):not([type=radio]),.workspace-app-shell[data-workspace-presentation^=tablet] textarea{min-height:44px}@media (max-width:1020px){.workspace-app-shell[data-workspace-presentation=tablet-landscape] .tablet-tabs button span{display:none}}.workspace-split{gap:8px;width:100%;min-width:0;height:100%;min-height:0;display:grid}.workspace-split-horizontal{grid-template-columns:minmax(0, var(--workspace-first-fr,1fr)) 8px minmax(0, var(--workspace-second-fr,1fr));grid-template-rows:minmax(0,1fr)}.workspace-split-vertical{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0, var(--workspace-first-fr,1fr)) 8px minmax(0, var(--workspace-second-fr,1fr))}.workspace-resize-handle{background:color-mix(in srgb, var(--line) 44%, transparent);border-radius:var(--radius-control);touch-action:none;-webkit-user-select:none;user-select:none;min-width:0;min-height:0;transition:background-color var(--duration-normal) var(--ease-standard), box-shadow var(--duration-normal) var(--ease-standard);position:relative}.workspace-resize-handle:after{background:var(--line-strong);content:"";opacity:0;border-radius:999px;transition:opacity .12s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.workspace-resize-handle.vertical{cursor:col-resize}.workspace-resize-handle.vertical:after{width:3px;height:46px}.workspace-resize-handle.horizontal{cursor:row-resize}.workspace-resize-handle.horizontal:after{width:46px;height:3px}.workspace-resize-handle:hover,.workspace-resize-handle:focus-visible{background:color-mix(in srgb, var(--accent) 26%, transparent);outline:0}.workspace-resize-handle:hover:after,.workspace-resize-handle:focus-visible:after{background:var(--accent-strong);opacity:1}.tiled-workspace.pane-resize-active .viewer-canvas,.tiled-workspace.pane-resize-active .asset-table,.tiled-workspace.pane-resize-active .map,.tiled-workspace.pane-resize-active .map3d-scene{pointer-events:none}.dock-pane{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-panel);min-width:0;min-height:0;transition:background-color var(--duration-normal) var(--ease-standard), border-color var(--duration-normal) var(--ease-standard), box-shadow var(--duration-normal) var(--ease-standard);grid-template-rows:auto minmax(0,1fr);display:grid;position:relative;overflow:hidden}.workspace-tab-enter{min-width:0;height:100%;min-height:0}.workspace-tab-enter>:only-child{height:100%;min-height:0}html[data-workspace-layout-transition]{view-transition-name:none}::view-transition-old(root){animation:none;display:none}::view-transition-new(root){animation:none;display:none}::view-transition-group(*){animation-duration:.22s;animation-timing-function:var(--ease-emphasis)}.dock-tabbar{background:var(--nav-bg);border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:5px;min-height:42px;padding:5px 7px 0;display:grid}.dock-tabs{align-items:center;gap:3px;min-width:0;display:flex;overflow-x:auto}.dock-tabs button{color:var(--muted);min-height:36px;transition:background-color var(--duration-normal) var(--ease-standard), border-color var(--duration-normal) var(--ease-standard), color var(--duration-normal) var(--ease-standard), transform var(--duration-fast) var(--ease-standard);white-space:nowrap;background:0 0;border:1px solid #0000;border-bottom:0;border-radius:8px 8px 0 0;flex:none;align-items:center;gap:5px;padding:0 10px;display:inline-flex;position:relative}.dock-tabs .tab-grip{color:currentColor;opacity:.58;flex:none;margin-left:-4px}.dock-tabs button.active{background:var(--nav-active);border-color:var(--line);color:var(--text)}.dock-tabs button:hover:not(:disabled){background:var(--nav-active);box-shadow:none;color:var(--text);transform:none}.dock-tabs button.active:after{background:var(--accent-strong);content:"";border-radius:999px 999px 0 0;height:3px;position:absolute;bottom:0;left:9px;right:9px}.dock-tabs button[draggable=true]{cursor:grab}.dock-tabs button[draggable=true]:active{cursor:grabbing}.dock-tabs button.drop-before:before,.dock-tabs button.drop-after:after{background:var(--accent-strong);content:"";border-radius:2px;width:3px;position:absolute;top:5px;bottom:5px}.dock-tabs button.drop-before:before{left:-3px}.dock-tabs button.drop-after:after{right:-3px}.dock-pane-empty{opacity:.88;border-style:dashed}.dock-pane.drop-target,.dock-pane.split-drop-target{border-color:var(--accent-strong);box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--accent-strong) 55%, transparent), 0 0 0 4px color-mix(in srgb, var(--accent) 16%, transparent)}.pane-split-drop-preview{background:color-mix(in srgb, var(--accent) 22%, transparent);border:2px solid var(--accent-strong);border-radius:calc(var(--radius-panel) - 1px);opacity:0;pointer-events:none;z-index:20;transition:none;position:absolute;inset:0}.pane-tab-drop-surface{pointer-events:none;z-index:19;position:absolute;inset:0}:is(.pane-tab-drop-surface.active,.tiled-workspace:has(.dock-tabs button[draggable=true]:active) .pane-tab-drop-surface){pointer-events:auto}.pane-tab-drop-surface[data-drop-position=left] .pane-split-drop-preview{opacity:1;inset:0 50% 0 0}.pane-tab-drop-surface[data-drop-position=right] .pane-split-drop-preview{opacity:1;inset:0 0 0 50%}.pane-tab-drop-surface[data-drop-position=top] .pane-split-drop-preview{opacity:1;inset:0 0 50%}.pane-tab-drop-surface[data-drop-position=bottom] .pane-split-drop-preview{opacity:1;inset:50% 0 0}.empty-pane-label{color:var(--warning);white-space:nowrap;padding:0 8px;font-size:.86rem}.pane-toolbar-actions{align-items:center;gap:3px;min-width:0;display:flex}.pane-layout-button{border-radius:var(--radius-control);color:var(--muted);background:0 0;border:1px solid #0000;flex:0 0 30px;justify-content:center;align-items:center;width:30px;height:30px;padding:0;display:inline-flex}.pane-layout-button:hover:not(:disabled),.pane-layout-button:focus-visible{background:var(--nav-active);border-color:var(--line);color:var(--text);transform:none}.dock-pane-body{min-height:0;position:relative;overflow:hidden}.dock-pane-persistent-content{height:100%;min-height:0}.dock-pane-persistent-content[hidden]{display:none}.image-viewer{grid-template-rows:auto minmax(0,1fr);gap:8px;height:100%;min-height:0;padding:8px;display:grid;container-type:inline-size}.viewer-toolbar,.panel-title,.preview-item{justify-content:space-between;align-items:center;display:flex}.viewer-toolbar{grid-template-columns:minmax(0,1fr) 420px minmax(0,1fr);gap:6px;display:grid}.viewer-toolbar.standard-image{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}.viewer-title,.viewer-controls,.panel-title{align-items:center;gap:8px;display:flex}.viewer-title{grid-area:1/1;justify-self:start;min-width:0;max-width:100%}.viewer-title span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.viewer-controls{flex:none;justify-content:flex-end;min-width:0}.viewer-toolbar .viewer-controls{grid-area:1/3;justify-self:end;display:flex}.viewer-toolbar.standard-image .viewer-controls{grid-area:1/2;justify-self:stretch;width:100%}.viewer-toolbar .viewer-controls.with-thermal-opacity{grid-template-columns:minmax(200px,1fr) max-content max-content;justify-self:stretch;width:100%;display:grid}.viewer-controls.with-thermal-opacity>.thermal-overlay-opacity{grid-column:1;justify-self:center}.viewer-controls.with-thermal-opacity>.viewer-annotation-controls{grid-column:2}.viewer-controls.with-thermal-opacity>.viewer-navigation-controls{grid-column:3}.viewer-annotation-controls,.viewer-navigation-controls{flex:none;align-items:center;gap:4px;display:flex}.viewer-toolbar .icon-button{width:36px;height:36px;min-height:36px}.viewer-toolbar .icon-button>svg{width:18px;height:18px}.annotation-tools,.polygon-actions{align-items:center;gap:4px;display:flex}.icon-button.active,.annotation-mode-grid button.active{background:var(--accent);color:var(--accent-contrast);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent)}.icon-button.active:hover:not(:disabled),.annotation-mode-grid button.active:hover:not(:disabled){background:var(--accent-strong);color:var(--accent-strong-contrast)}.danger{color:#ffb7b7}.icon-button.danger{color:#ffd2d2;background:#713434}.zoom-readout{color:var(--muted);text-align:center;min-width:46px;font-size:.84rem}.viewer-canvas{transition:box-shadow var(--duration-normal) var(--ease-standard);cursor:default;touch-action:none;-webkit-user-select:none;user-select:none;background:#111;border-radius:8px;justify-content:center;align-items:center;min-height:0;display:flex;position:relative;overflow:hidden}.viewer-canvas.tool-select{cursor:grab}.viewer-canvas.panning{cursor:grabbing}.viewer-edge-navigation{color:#ffffffd1;opacity:.34;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;z-index:6;background:#00000047;border:1px solid #ffffff29;justify-content:center;align-items:center;width:clamp(42px,7%,64px);height:auto;min-height:0;padding:0;display:inline-flex;position:absolute;top:0;bottom:0}.viewer-edge-navigation.previous{border-radius:0 var(--radius-control) var(--radius-control) 0;border-left:0;left:0}.viewer-edge-navigation.next{border-radius:var(--radius-control) 0 0 var(--radius-control);border-right:0;right:0}.viewer-edge-navigation:hover:not(:disabled){box-shadow:none;color:#ffffffd1;background:#00000047}.viewer-edge-navigation:active:not(:disabled),.viewer-edge-navigation:focus-visible{color:#fff;opacity:1;background:#0000009e;transform:none}@media (hover:none),(pointer:coarse){.viewer-edge-navigation{opacity:.68}}.viewer-canvas.tool-rectangle,.viewer-canvas.tool-freehand,.viewer-canvas.tool-freehand-add,.viewer-canvas.tool-freehand-remove,.viewer-canvas.tool-polygon{cursor:crosshair}.viewer-stage{transform-origin:50%;-webkit-user-select:none;user-select:none;will-change:transform;flex:none;max-width:100%;max-height:100%;display:block;position:relative}.viewer-stage img{object-fit:contain;-webkit-user-select:none;user-select:none;width:auto;max-width:100%;height:auto;max-height:100%;display:block}.viewer-stage .viewer-progressive-original{object-fit:contain;opacity:0;max-width:none;max-height:none;transition:opacity .12s ease-out;position:absolute;inset:0}.viewer-stage .viewer-progressive-original.original-ready{opacity:1}.viewer-stage .viewer-thermal-overlay{object-fit:fill;pointer-events:none;transform-origin:0 0;max-width:none;max-height:none;position:absolute;inset:0}.viewer-thermal-overlay-frame{pointer-events:none;position:absolute;inset:0;overflow:hidden}.thermal-view-controls{flex-wrap:nowrap;align-items:center;gap:5px;display:flex}.viewer-toolbar .thermal-view-controls{display:contents}.thermal-view-buttons{flex:0 0 420px;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;width:420px;display:grid}.viewer-toolbar .thermal-view-buttons{grid-area:1/2;justify-self:center}.thermal-view-buttons>button{background:var(--surface-alt);border:1px solid var(--line);color:var(--muted);white-space:nowrap;min-height:32px;padding:5px 10px}.thermal-view-buttons>button.active{background:color-mix(in srgb, #e4662f 18%, var(--surface));color:var(--text);border-color:#e4662f}.workspace-app-shell[data-workspace-presentation^=tablet] .viewer-annotation-controls .icon-button[aria-pressed=false]:hover:not(:disabled){background:var(--surface-alt);box-shadow:none;color:var(--text)}.workspace-app-shell[data-workspace-presentation^=tablet] .thermal-view-buttons>button:not(.active):hover:not(:disabled){background:var(--surface-alt);border-color:var(--line);box-shadow:none;color:var(--muted)}.thermal-overlay-opacity{pointer-events:none;visibility:hidden;white-space:nowrap;flex:0 0 200px;justify-content:center;align-items:center;gap:6px;width:200px;font-size:.82rem;font-weight:600;display:flex}.thermal-overlay-opacity.visible{pointer-events:auto;visibility:visible}.thermal-overlay-opacity input[type=range]{width:120px}@media (pointer:fine){.viewer-toolbar .zoom-readout{min-width:36px;font-size:.78rem}}@container (max-width:1640px){.viewer-toolbar{grid-template-columns:minmax(0,1fr) auto}.viewer-toolbar .thermal-view-buttons{grid-column:2;justify-self:end}.viewer-toolbar .viewer-controls{grid-area:2/1/auto/-1;max-width:100%}.viewer-toolbar.standard-image .viewer-controls{grid-area:1/2}.viewer-toolbar .viewer-controls.with-thermal-opacity>.thermal-overlay-opacity{justify-self:start}.workspace-app-shell[data-workspace-presentation^=tablet] .viewer-toolbar{grid-template-columns:minmax(0,1fr) auto}.workspace-app-shell[data-workspace-presentation^=tablet] .viewer-toolbar.standard-image{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}.workspace-app-shell[data-workspace-presentation^=tablet] .thermal-view-buttons{grid-column:2;justify-self:end}}@container (max-width:1100px){.viewer-toolbar.standard-image,.workspace-app-shell[data-workspace-presentation^=tablet] .viewer-toolbar.standard-image{grid-template-columns:minmax(0,1fr) auto}.viewer-toolbar.standard-image .viewer-controls,.workspace-app-shell[data-workspace-presentation^=tablet] .viewer-toolbar.standard-image .viewer-controls{display:contents}.viewer-toolbar.standard-image .viewer-annotation-controls{overscroll-behavior-x:contain;grid-area:2/1/auto/-1;justify-self:center;max-width:100%;padding:3px;overflow-x:auto}.viewer-toolbar.standard-image .viewer-navigation-controls{grid-area:1/2;justify-self:end}}.blocking-surface.thermal-calibration-surface{padding:12px}.blocking-dialog.thermal-calibration-dialog{--thermal-calibration-space:12px;gap:var(--thermal-calibration-space);max-width:1920px;max-height:calc(100dvh - 24px);padding:var(--thermal-calibration-space);width:min(100vw - 24px,1920px);overflow:auto}.thermal-calibration-intro{gap:6px;display:grid}.thermal-calibration-grid{gap:var(--thermal-calibration-space);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.thermal-calibration-grid section{gap:var(--thermal-calibration-space);grid-template-rows:minmax(0,1fr) auto;min-width:0;display:grid}.thermal-calibration-toolbar{align-items:center;gap:var(--thermal-calibration-space);justify-content:space-between;min-height:28px;display:flex}.thermal-calibration-frame{background:0 0;place-items:center;width:100%;display:grid;overflow:hidden}.thermal-calibration-image{cursor:crosshair;touch-action:none;background:#111;width:100%;line-height:0;position:relative;overflow:hidden}.thermal-calibration-image.panning{cursor:grabbing}.thermal-calibration-image-layer{transform-origin:0 0;-webkit-user-select:none;user-select:none;will-change:transform;position:absolute;inset:0}.thermal-calibration-image-layer img{object-fit:fill;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.thermal-calibration-editor{gap:var(--thermal-calibration-space);display:grid}.thermal-calibration-zoom-bar{justify-content:flex-end;align-items:center;gap:5px;display:flex}.thermal-calibration-zoom-bar>span{color:var(--muted);text-align:right;min-width:38px;font-size:.7rem}.thermal-calibration-zoom-bar>button{justify-content:center;align-items:center;width:28px;height:28px;min-height:28px;padding:0;display:inline-flex}.thermal-calibration-dialog>.dialog-actions{gap:var(--thermal-calibration-space);grid-template-columns:repeat(2,minmax(0,1fr))}.thermal-calibration-marker{color:#fff;pointer-events:none;height:24px;transform:translate(-50%, -50%) scale(var(--thermal-calibration-marker-scale,1));background:#e4662f;border:2px solid #fff;border-radius:999px;justify-content:center;align-items:center;width:24px;font-size:.72rem;font-weight:900;line-height:1;display:flex;position:absolute;box-shadow:0 2px 8px #000a}@media (max-width:780px){.thermal-calibration-grid,.thermal-calibration-dialog>.dialog-actions{grid-template-columns:minmax(0,1fr)}}.annotation-layer{--annotation-stroke-default:3px;--annotation-stroke-editing:3px;--annotation-stroke-handle:2px;--annotation-stroke-handle-targeted:3px;--annotation-stroke-selected:4.5px;--annotation-stroke-selected-targeted:5px;--annotation-stroke-targeted:3px;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.annotation-shape{cursor:move;fill:color-mix(in srgb, var(--accent) 14%, transparent);pointer-events:auto;stroke:color-mix(in srgb, var(--accent-strong) 90%, transparent);stroke-linejoin:round;stroke-width:var(--annotation-stroke-default);transition:filter var(--duration-normal) var(--ease-standard), fill var(--duration-normal) var(--ease-standard), opacity var(--duration-fast) var(--ease-standard), stroke var(--duration-normal) var(--ease-standard), stroke-width var(--duration-fast) var(--ease-standard);vector-effect:non-scaling-stroke}.viewer-canvas.tool-rectangle .annotation-shape,.viewer-canvas.tool-freehand .annotation-shape,.viewer-canvas.tool-freehand-add .annotation-shape,.viewer-canvas.tool-freehand-remove .annotation-shape,.viewer-canvas.tool-polygon .annotation-shape{cursor:crosshair}.annotation-shape.selected{filter:drop-shadow(0 0 2px color-mix(in srgb, var(--focus) 78%, transparent)) drop-shadow(0 0 7px color-mix(in srgb, var(--focus) 48%, transparent));fill:color-mix(in srgb, var(--focus) 33%, transparent);stroke:var(--focus);stroke-width:var(--annotation-stroke-selected)}.annotation-shape.targeted:not(.selected){fill:color-mix(in srgb, var(--accent-strong) 22%, transparent);stroke:var(--accent-strong);stroke-width:var(--annotation-stroke-targeted)}.annotation-shape.selected.targeted{filter:drop-shadow(0 0 2px color-mix(in srgb, var(--focus) 86%, transparent)) drop-shadow(0 0 9px color-mix(in srgb, var(--focus) 56%, transparent));fill:color-mix(in srgb, var(--focus) 42%, transparent);stroke:var(--focus);stroke-width:var(--annotation-stroke-selected-targeted)}.annotation-shape.editing,.annotation-shape.targeted.editing,.annotation-shape.selected.editing,.annotation-shape.selected.targeted.editing{filter:drop-shadow(0 0 2px color-mix(in srgb, var(--focus) 36%, transparent));fill:color-mix(in srgb, var(--focus) 10%, transparent);opacity:.34;stroke:var(--focus);stroke-width:var(--annotation-stroke-editing)}.annotation-draft .annotation-shape,.annotation-shape.annotation-draft{fill:color-mix(in srgb, var(--warning) 16%, transparent);stroke:var(--warning);stroke-dasharray:.012 .01}.freehand-draft-canvas{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.annotation-handle{cursor:nwse-resize;fill:var(--surface-strong);pointer-events:auto;stroke:var(--focus);transition:fill var(--duration-normal) var(--ease-standard), stroke var(--duration-normal) var(--ease-standard), stroke-width var(--duration-fast) var(--ease-standard);stroke-width:var(--annotation-stroke-handle);vector-effect:non-scaling-stroke}.annotation-handle.targeted{fill:color-mix(in srgb, var(--focus) 28%, var(--surface-strong));stroke-width:var(--annotation-stroke-handle-targeted)}.viewer-hint{color:#fff;white-space:nowrap;background:#000000b8;border:1px solid #ffffff57;border-radius:8px;padding:7px 10px;font-size:.84rem;position:absolute;bottom:14px;left:50%;transform:translate(-50%)}.viewer-context-menu{background:var(--surface);border:1px solid var(--line);color:var(--text);z-index:1600;border-radius:6px;gap:3px;width:min(220px,100vw - 16px);max-height:min(360px,100vh - 16px);padding:5px;display:grid;position:fixed;overflow:auto;box-shadow:0 10px 24px #00000047}.viewer-context-menu-title{border-bottom:1px solid var(--line);color:var(--muted);min-width:0;padding:3px 6px 5px;font-size:.72rem;font-weight:700}.viewer-context-menu-title strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.viewer-context-menu-section{gap:2px;display:grid}.viewer-context-menu-section small{color:var(--muted);padding:4px 6px 2px;font-size:.7rem;font-weight:700}.viewer-context-menu button{color:var(--text);text-align:left;background:0 0;border-radius:4px;justify-content:flex-start;width:100%;min-height:28px;padding:0 7px}.viewer-context-menu button:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 12%, var(--surface-alt));box-shadow:none;color:var(--text)}.viewer-context-menu button.danger{color:#ffb7b7}.viewer-context-menu button.danger:hover:not(:disabled){background:color-mix(in srgb, var(--danger-bg) 28%, var(--surface-alt));color:#ffe1e1}.map3d-viewer{--field-bg:#111a22;--field-muted:#b8c3cc;--field-text:#f4f7f8;--line:#34424d;--line-strong:#647482;--muted:#c7d0d5;--surface-alt:#1b2530;--text:#f4f7f8;color:var(--text);background:#12161a;grid-template-rows:minmax(0,1fr);height:100%;min-height:0;display:grid;overflow:hidden}.map3d-viewer.empty{text-align:center;align-content:center;justify-items:center;gap:12px;padding:24px}.map3d-settings{position:relative}.map3d-settings-menu{--field-bg:#111a22;--field-muted:#b8c3cc;--field-text:#f4f7f8;--line:#34424d;--line-strong:#647482;--muted:#c7d0d5;--surface-alt:#1b2530;--text:#f4f7f8;color:var(--text);overscroll-behavior:contain;scrollbar-gutter:stable;z-index:8;background:#151d25f2;border:1px solid #3a4650;border-radius:8px;gap:12px;width:min(300px,100vw - 24px);min-width:min(256px,100vw - 24px);max-width:min(300px,100vw - 24px);max-height:calc(100vh - 24px);padding:12px;display:grid;position:fixed;overflow-y:auto;box-shadow:0 16px 42px #00000057}.map3d-menu-field,.map3d-slider-field,.map3d-toggle-field{color:var(--muted);font-size:.78rem;font-weight:800}.map3d-menu-field,.map3d-slider-field{gap:6px;display:grid}.map3d-menu-field>span,.map3d-slider-field>span{justify-content:space-between;align-items:center;gap:12px;display:flex}.map3d-slider-field output{color:var(--text);font-variant-numeric:tabular-nums}.map3d-menu-field select{width:100%;min-width:0;min-height:31px;padding:5px 8px}.map3d-slider-field input[type=range]{accent-color:var(--accent);width:100%}.map3d-toggle-field{align-items:center;gap:8px;display:flex}.map3d-toggle-field input{accent-color:var(--accent);width:16px;height:16px}.map3d-settings-action{background:color-mix(in srgb, var(--accent) 10%, var(--field-bg));border:1px solid var(--line-strong);color:var(--text);border-radius:6px;justify-content:center;align-items:center;gap:8px;width:100%;min-height:34px;padding:7px 10px;font-size:.8rem;font-weight:800;display:flex}.map3d-settings-action:hover:not(:disabled),.map3d-settings-action.active{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.map3d-scene{width:100%;height:100%;min-height:0;position:relative;overflow:hidden}.map3d-cesium-point-cloud,.map3d-cesium-point-cloud .cesium-widget,.map3d-cesium-point-cloud .cesium-widget canvas{width:100%;height:100%}.map3d-cesium-point-cloud{pointer-events:none;z-index:1;position:absolute;inset:0;overflow:hidden}.map3d-model-alignment-overlay{pointer-events:none;z-index:3;justify-content:center;align-items:center;display:flex;position:absolute;inset:0;overflow:hidden}.map3d-model-alignment-overlay img{-webkit-user-select:none;user-select:none;flex:none;max-width:none;max-height:none}.map3d-map .maplibregl-control-container{z-index:2;position:relative}.map3d-scene.image-hovering{cursor:pointer}.bim-viewer{color:#f4f7f8;background:#11161a;height:100%;min-height:0;position:relative;overflow:hidden}.bim-scene{outline:none;width:100%;height:100%;min-height:0}.bim-runtime{width:100%;height:100%}.bim-runtime.selection-active canvas,.bim-runtime.image-hovering canvas{cursor:pointer}.bim-runtime.calibration-picking canvas{cursor:crosshair}.bim-scene canvas{width:100%;height:100%;display:block}.bim-floating-controls{flex-wrap:nowrap;align-items:center;max-width:calc(100% - 24px)}.bim-element-controls{justify-content:flex-start;left:12px;right:auto}.bim-view-controls{justify-content:flex-end;left:auto;right:12px}.bim-floating-controls .icon-button{color:#f4f7f8;background:#151d25e8;border-color:#3a4650}.bim-floating-controls .icon-button.active{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.bim-center-state,.bim-empty-state{text-align:center;z-index:7;background:#101820e8;border:1px solid #465662;border-radius:8px;place-items:center;gap:10px;width:max-content;max-width:min(360px,100% - 32px);padding:18px;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.bim-center-state progress,.bim-empty-state progress{accent-color:#38a6c2;width:220px;max-width:100%}.bim-center-state.warning{border-color:#bd6f63}.bim-tool-panel{color:#f4f7f8;scrollbar-gutter:stable;z-index:9;background:#151d25f2;border:1px solid #465662;border-radius:8px;gap:10px;width:min(340px,100% - 24px);max-height:calc(100% - 70px);padding:10px;display:grid;position:absolute;bottom:12px;right:12px;overflow:auto;box-shadow:0 16px 42px #00000070}.bim-tool-panel>header{border-bottom:1px solid #34424d;justify-content:space-between;align-items:center;min-height:32px;padding-bottom:7px;display:flex}.bim-properties-panel dl,.bim-properties-panel dl>div{margin:0}.bim-properties-panel{scrollbar-gutter:stable both-edges}.bim-properties-panel dl{display:grid}.bim-properties-panel dl>div{border-bottom:1px solid #2e3a44;grid-template-columns:minmax(90px,.8fr) minmax(0,1.2fr);gap:4px;padding:7px 2px;display:grid}.bim-properties-panel dt{color:#b8c3cc;overflow-wrap:anywhere;font-size:.74rem}.bim-properties-panel dd{overflow-wrap:anywhere;font-size:.78rem}.bim-panel-empty{color:#b8c3cc;justify-content:center;align-items:center;gap:8px;min-height:80px;display:flex}.bim-calibration-panel fieldset{border:1px solid #34424d;border-radius:6px;gap:8px;margin:0;padding:9px;display:grid}.bim-calibration-panel legend{color:#b8c3cc;padding:0 5px;font-size:.74rem;font-weight:800}.bim-calibration-panel label{color:#b8c3cc;grid-template-columns:72px minmax(0,1fr);align-items:center;gap:6px;font-size:.74rem;display:grid}.bim-calibration-panel input{width:100%;min-width:0}.bim-map-point-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.bim-map-point-actions button{white-space:normal;width:100%;min-width:0}.blocking-dialog.bim-map-picker-dialog{grid-template-rows:auto minmax(280px,1fr) auto auto;width:min(920px,100vw - 48px);max-width:min(920px,100vw - 48px);height:min(760px,100vh - 48px)}.bim-map-picker-header{justify-content:space-between;align-items:flex-start;gap:16px;min-width:0;display:flex}.bim-map-picker-header h2,.bim-map-picker-header p{margin:0}.bim-map-picker-map{border:1px solid var(--line);border-radius:8px;min-height:280px;position:relative;overflow:hidden}.bim-map-picker-coordinate{background:var(--surface-alt);border:1px solid var(--line);border-radius:6px;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:8px;min-width:0;padding:9px 11px;display:grid}.bim-map-picker-coordinate span{color:var(--muted);font-size:.78rem;font-weight:800}.bim-map-picker-coordinate output{font-family:var(--font-mono,monospace);overflow-wrap:anywhere;text-align:right;min-width:0;font-size:.8rem}.bim-coordinate-row output,.bim-control-points code{color:#dce6eb;overflow-wrap:anywhere;font-size:.72rem}.bim-georef-status{color:#c7d0d5;text-transform:capitalize;align-items:center;gap:7px;font-size:.76rem;display:flex}.status-dot{background:#78848d;border-radius:50%;width:8px;height:8px}.status-dot.detected,.status-dot.manual{background:#63c195}.bim-control-points{gap:5px;display:grid}.bim-control-points>div{background:#111820;border:1px solid #34424d;border-radius:5px;grid-template-columns:22px minmax(0,1fr) minmax(0,1.3fr) 30px;align-items:center;gap:6px;padding:5px;display:grid}.bim-control-points>div>span{background:#2a3a44;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:.7rem;display:flex}.bim-panel-actions{flex-wrap:wrap;gap:6px;display:flex}.bim-transform-modes,.bim-transform-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.bim-transform-modes button,.bim-transform-actions button{justify-content:center;width:100%;min-width:0}.bim-transform-modes button.active{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}@media (max-width:720px){.map-floating-controls.bim-floating-controls{max-width:calc(100% - 24px);max-height:36px;overflow-x:auto}.map-floating-controls.bim-element-controls{top:12px;left:12px;right:auto}.map-floating-controls.bim-view-controls{top:52px;left:12px;right:auto}.bim-tool-panel{max-height:min(55%,430px)}.bim-control-points>div{grid-template-columns:22px minmax(0,1fr) 30px}.bim-control-points>div code:last-of-type{grid-column:2}.blocking-dialog.bim-map-picker-dialog{grid-template-rows:auto minmax(220px,1fr) auto auto;height:calc(100vh - 48px)}.bim-map-picker-map{min-height:220px}.bim-map-picker-coordinate{grid-template-columns:auto minmax(0,1fr)}.bim-map-picker-coordinate output{text-align:left;grid-column:1/-1}}.map3d-overlay-state{--muted:#c7d0d5;--text:#f4f7f8;border:1px solid var(--line-strong);color:var(--text);background:#101820d9;border-radius:8px;padding:8px 10px;position:absolute;top:12px;left:12px;box-shadow:0 12px 28px #0006}.map3d-overlay-state.warning{border-color:color-mix(in srgb, var(--warning) 60%, var(--line))}.map3d-overlay-state.limit{font-size:.78rem;top:auto;bottom:12px;left:12px}.asset-tab-content,.data-tab-content,.ai-tab-content,.annotation-tab-content,.annotation-detail-tab-content,.image-metadata-tab-content,.reports-tab-content,.settings-tab-content{min-width:0;height:100%;min-height:0;padding:8px;overflow:auto}.asset-tab-content{grid-template-rows:auto minmax(0,1fr);gap:8px;display:grid}.image-metadata-tab-content{flex-direction:column;gap:8px;display:flex;overflow:hidden;container:image-metadata/inline-size}.image-metadata-tab-content>.placeholder-panel{flex:1 1 0}.image-metadata-toolbar{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.image-metadata-feedback{color:var(--muted);text-align:end;min-width:0;font-size:.84rem}.image-metadata-notice{background:color-mix(in srgb, var(--warning) 10%, var(--surface-alt));border:1px solid color-mix(in srgb, var(--warning) 42%, var(--line));color:var(--text);border-radius:6px;padding:7px 9px;font-size:.78rem}.image-metadata-notice.failed{background:color-mix(in srgb, var(--danger) 9%, var(--surface-alt));border-color:color-mix(in srgb, var(--danger) 42%, var(--line))}.image-metadata-search{flex:220px;min-width:140px}.image-metadata-image-filter{flex:0 240px;min-width:180px}.image-metadata-namespace-filter{flex:0 170px;min-width:140px}.image-metadata-select-filter{position:relative}.image-metadata-select-filter select{appearance:none;min-width:140px;height:38px;padding-block:0;padding-inline:10px 36px}.image-metadata-select-filter>svg{color:var(--muted);pointer-events:none;position:absolute;top:50%;right:11px;transform:translateY(-50%)}.image-metadata-actions{flex-wrap:wrap;flex:0 auto;gap:6px;display:flex}.image-metadata-actions button{align-items:center;gap:6px;height:38px;min-height:38px;padding:0 11px;display:inline-flex}.image-metadata-table-scroll{scrollbar-gutter:stable;flex:1 1 0;min-width:0;min-height:0;overflow:auto}.image-metadata-table{border-collapse:separate;border-spacing:0 2px;table-layout:fixed;width:100%;min-width:620px;font-size:1rem}.image-metadata-table th{background:var(--surface-alt);border-block:1px solid var(--line);color:var(--muted);text-transform:uppercase;z-index:1;font-size:.74rem;font-weight:800;position:sticky;top:0}.image-metadata-table th:first-child{border-inline-start:1px solid var(--line);border-radius:6px 0 0 6px;width:20%}.image-metadata-table th:nth-child(2){width:22%}.image-metadata-table th:last-child{border-inline-end:1px solid var(--line);border-radius:0 6px 6px 0}.image-metadata-table th button{box-shadow:none;color:inherit;font:inherit;text-overflow:ellipsis;min-width:0;height:100%;min-height:34px;text-transform:inherit;white-space:nowrap;background:0 0;border:0;justify-content:center;align-items:center;gap:4px;width:100%;padding:0 9px;display:flex;overflow:hidden;transform:translateY(-1px)}.image-metadata-table th button:hover{background:color-mix(in srgb, var(--accent) 10%, transparent);box-shadow:none;color:var(--text);transform:translateY(-1px)}.image-metadata-table th:first-child button,.image-metadata-table th:nth-child(2) button{justify-content:flex-start}.image-metadata-table td{background:var(--surface-alt);text-overflow:ellipsis;vertical-align:middle;white-space:nowrap;border:0;height:38px;padding:0 7px;overflow:hidden}.image-metadata-table tbody tr:hover td{background:var(--accent-strong);color:var(--accent-strong-contrast)}.image-metadata-table td:first-child,.image-metadata-table td:nth-child(2){text-align:left}.image-metadata-value-cell{padding-inline-end:44px;position:relative}.image-metadata-value-cell details{min-width:0}.image-metadata-value-cell summary{cursor:pointer;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.image-metadata-value-cell pre{background:var(--surface);border:1px solid var(--line);color:var(--text);font-family:var(--font-mono), monospace;white-space:pre-wrap;word-break:break-word;border-radius:5px;max-height:260px;margin:7px 0 0;padding:7px;font-size:.72rem;overflow:auto}.asset-more-actions.image-metadata-copy-button{width:32px;height:32px;min-height:32px;top:3px;right:4px}.image-metadata-table tbody tr:hover .image-metadata-copy-button{opacity:1}@container image-metadata (min-width:521px){.image-metadata-table th:not(:first-child),.image-metadata-table td:not(:first-child){border-inline-start:1px solid color-mix(in srgb, currentColor 18%, transparent)}}@container image-metadata (max-width:520px){.image-metadata-toolbar,.image-metadata-actions,.image-metadata-actions button,.image-metadata-toolbar>label,.image-metadata-select-filter select{width:100%}.image-metadata-actions button{flex:110px;justify-content:center}}.asset-table-summary{background:var(--surface-alt);border:1px solid var(--line);border-radius:var(--radius-panel);color:var(--muted);justify-content:space-between;align-items:center;gap:10px;min-height:38px;padding:7px 10px;display:flex}.asset-table-summary.table-search-summary{background:0 0;border:0;border-radius:0;padding:0}.table-search-summary .workspace-table-search{flex:auto;min-width:90px}.asset-table-summary span,.asset-table-summary strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.asset-table-summary strong{color:var(--text);flex:none}.table-summary-actions{flex:none;align-items:center;gap:7px;min-width:0;display:flex}.table-view-menu{flex:none;position:relative}.table-view-menu-trigger{background:var(--surface);border:1px solid var(--line-strong);color:var(--muted);cursor:pointer;height:28px;transition:background-color var(--duration-normal) var(--ease-standard), border-color var(--duration-normal) var(--ease-standard), color var(--duration-normal) var(--ease-standard);border-radius:6px;justify-content:center;align-items:center;width:30px;padding:0;list-style:none;display:inline-flex}.table-view-menu-trigger:hover:not(:disabled),.table-view-menu-trigger:focus-visible,.table-view-menu-trigger[aria-expanded=true]{background:var(--surface-strong);border-color:var(--accent-strong);color:var(--text)}.table-view-menu-popover{background:var(--surface);border:1px solid var(--line-strong);overscroll-behavior:contain;z-index:1200;border-radius:8px;flex-direction:column;gap:10px;min-width:0;padding:10px;display:flex;position:fixed;overflow:hidden;box-shadow:0 14px 32px #00000059}.table-view-menu-popover fieldset{border:0;gap:6px;min-width:0;margin:0;padding:0;display:grid}.table-view-columns-fieldset{flex:auto;grid-template-rows:auto minmax(0,1fr);min-height:0;overflow:hidden}.table-view-menu-popover legend{color:var(--muted);text-transform:uppercase;padding:0 0 4px;font-size:.68rem;font-weight:800}.table-view-menu-popover label{color:var(--text);cursor:pointer;align-items:center;gap:8px;min-width:0;font-size:.82rem;line-height:1.2;display:flex}.table-view-menu-popover input{accent-color:var(--accent);flex:none;width:16px;height:16px;margin:0;padding:0}.table-view-menu-popover label>span{overflow-wrap:anywhere;min-width:0}.table-view-mode-options,.table-view-size-options{gap:6px;display:grid}.table-view-mode-options{grid-template-columns:repeat(2,minmax(0,1fr))}.table-view-size-options{grid-template-columns:repeat(auto-fit,minmax(min(86px,100%),1fr))}.table-view-mode-options label,.table-view-size-options label{background:var(--surface-alt);border:1px solid var(--line);border-radius:6px;padding:7px 8px}.table-view-size-options label{gap:5px;padding-left:6px;padding-right:6px}.table-view-size-options label>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}:is(.table-view-mode-options label:has(input:checked),.table-view-size-options label:has(input:checked)){background:color-mix(in srgb, var(--accent) 14%, var(--surface-alt));border-color:var(--accent-strong)}.table-view-column-options{gap:6px;min-height:0;padding:1px 4px 1px 1px;display:grid;overflow:hidden auto}.table-view-column-options label{border-radius:5px;padding:4px 5px}.table-view-column-options label:hover{background:var(--surface-alt)}.workspace-thumbnail-gallery{background:var(--surface-alt);border:1px solid var(--line);border-radius:var(--radius-panel);min-width:0;min-height:0;position:relative;overflow:auto}.workspace-thumbnail-gallery-spacer{width:100%;min-width:0;position:relative}.workspace-thumbnail-gallery-window{gap:var(--thumbnail-gallery-gap);grid-auto-rows:var(--thumbnail-gallery-card-height);will-change:transform;justify-content:center;display:grid;position:absolute;top:0;left:2px;right:2px}.workspace-thumbnail-gallery-item{height:var(--thumbnail-gallery-card-height);min-width:0;position:relative}.asset-more-actions{background:color-mix(in srgb, var(--surface-strong) 84%, transparent);border:1px solid color-mix(in srgb, var(--line) 80%, transparent);color:var(--surface-strong-text);opacity:0;z-index:5;justify-content:center;align-items:center;width:32px;height:32px;min-height:32px;padding:0;transition:none;display:inline-flex;position:absolute;top:6px;right:6px}.asset-row .asset-more-actions{top:3px;right:4px}.workspace-thumbnail-gallery-item:hover .asset-more-actions,.asset-row:hover .asset-more-actions,.asset-more-actions:focus-visible{opacity:1}@media (any-pointer:coarse){.asset-more-actions{opacity:1;width:44px;height:44px;min-height:44px;top:4px;right:4px}.asset-row{min-height:48px;padding-right:54px}.workspace-app-shell[data-workspace-presentation^=tablet] .asset-more-actions{width:28px;height:28px;min-height:28px;top:8px;right:8px}.workspace-app-shell[data-workspace-presentation^=tablet] .asset-more-actions:before{content:"";position:absolute;inset:-8px}.workspace-app-shell[data-workspace-presentation^=tablet] .asset-more-actions>svg{width:14px;height:14px}.workspace-app-shell[data-workspace-presentation^=tablet] .asset-row .asset-more-actions{top:50%;transform:translateY(-50%)}.workspace-app-shell[data-workspace-presentation^=tablet] .asset-row{padding-right:38px}.asset-context-menu,.viewer-context-menu{max-height:min(72dvh,620px);padding:10px max(10px, env(safe-area-inset-right)) max(10px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left));border-radius:16px 16px 0 0;width:100%;inset:auto 0 0!important}.asset-context-menu-section button,.asset-context-action,.viewer-context-menu button{min-height:44px}}button.workspace-thumbnail-card{color:var(--text);text-align:left;background:0 0;border:0;border-radius:9px;grid-template:minmax(0,1fr)/minmax(0,1fr);align-content:center;width:100%;min-width:0;height:100%;padding:0;display:grid;overflow:hidden}button.workspace-thumbnail-card:hover:not(:disabled),button.workspace-thumbnail-card.current-image{box-shadow:none;color:var(--text);background:0 0}button.workspace-thumbnail-card:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}button.workspace-thumbnail-card:active:not(:disabled){transform:none}.workspace-thumbnail-card strong,.workspace-thumbnail-card small,.workspace-thumbnail-meta{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.workspace-thumbnail-card strong{align-items:center;gap:5px;font-size:.82rem;display:flex}.workspace-thumbnail-card small{color:#ffffffc7;font-size:.72rem}.workspace-thumbnail-image{aspect-ratio:4/3;background:var(--surface-alt);color:var(--muted);border-radius:8px;justify-content:center;align-items:center;width:100%;min-width:0;height:100%;min-height:0;display:flex;position:relative;overflow:hidden}.workspace-thumbnail-image:after{border-radius:inherit;content:"";pointer-events:none;transition:border-color var(--duration-normal) var(--ease-standard);z-index:3;border:0 solid #0000;position:absolute;inset:0}.workspace-thumbnail-image>img,.workspace-thumbnail-placeholder{width:100%;height:100%}.workspace-thumbnail-image>img{object-fit:contain;object-position:center;display:block}.workspace-thumbnail-image>img.annotation-gallery-thumbnail-backdrop{filter:blur(12px)brightness(.58)saturate(.82);object-fit:cover;opacity:.72;pointer-events:none;z-index:0;position:absolute;inset:0;transform:scale(1.08)}.workspace-thumbnail-image>img.annotation-gallery-thumbnail-foreground{object-fit:contain;z-index:1;min-width:0;min-height:0;position:absolute;inset:0}.workspace-thumbnail-placeholder{justify-content:center;align-items:center;display:flex}.workspace-thumbnail-overlay{-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);color:#fff;text-shadow:0 1px 2px #000000a6;z-index:2;background:#080b0ead;gap:2px;padding:7px 8px;display:grid;position:absolute;bottom:0;left:0;right:0}.workspace-thumbnail-overlay strong{color:#fff}.workspace-thumbnail-meta{align-items:center;gap:7px;display:flex}.workspace-thumbnail-meta small:first-child{flex:auto}.workspace-thumbnail-meta small:last-child:not(:first-child){flex:none}button.workspace-thumbnail-card:hover:not(:disabled):not(.current-image):not(.dirty):not(.selected):not(.multi-selected) .workspace-thumbnail-image:after{border-color:var(--line-strong);border-width:1px}button.workspace-thumbnail-card.current-image:not(.dirty):not(.selected):not(.multi-selected) .workspace-thumbnail-image:after{border-color:color-mix(in srgb, var(--accent-strong) 62%, var(--line));border-width:1px}button.workspace-thumbnail-card.dirty:not(.selected):not(.multi-selected) .workspace-thumbnail-image:after{border-color:color-mix(in srgb, var(--warning) 76%, var(--line));border-width:2px}button.workspace-thumbnail-card.selected .workspace-thumbnail-image:after,button.workspace-thumbnail-card.multi-selected .workspace-thumbnail-image:after{border-color:var(--accent-strong);border-width:2px}.workspace-thumbnail-gallery>.empty-list{margin:2px}.asset-table{--asset-table-columns:minmax(90px, 1.32fr) minmax(58px, .82fr) minmax(34px, .26fr) minmax(30px, .22fr) minmax(86px, .48fr) minmax(46px, .48fr) minmax(72px, .82fr);align-content:start;gap:2px;min-width:0;min-height:0;display:grid;overflow:auto;container:asset-table/inline-size}.virtual-table-spacer{width:100%;min-width:0;position:relative}.virtual-table-row{position:absolute;top:0;left:0;right:0}.virtual-table-row>.asset-row,.virtual-table-row>.annotation-table-row{height:calc(100% - 2px);min-height:0}.asset-table-header{background:var(--surface-alt);border:1px solid var(--line);color:var(--muted);grid-template-columns:var(--asset-table-columns);text-transform:uppercase;z-index:1;border-radius:6px;align-items:stretch;gap:10px;min-height:34px;margin-bottom:6px;padding:0 9px;font-size:.74rem;font-weight:800;display:grid;position:sticky;top:0;box-shadow:0 8px 18px #0000001f}.asset-table-header button,.asset-table-header span{color:inherit;font:inherit;text-align:center;text-overflow:ellipsis;min-width:0;height:100%;text-transform:inherit;transition:color var(--duration-normal) var(--ease-standard), transform var(--duration-fast) var(--ease-standard);white-space:nowrap;background:0 0;border:0;justify-content:center;align-items:center;gap:4px;padding:0;line-height:1;display:inline-flex;overflow:hidden;transform:translateY(-1px)}.asset-table-header button{cursor:pointer}.asset-table-header button:hover{box-shadow:none;color:var(--text);background:0 0;transform:translateY(-1px)}.asset-row{--asset-row-muted:var(--muted);--asset-row-text:var(--text);background:var(--surface-alt);color:var(--asset-row-text);cursor:pointer;grid-template-columns:var(--asset-table-columns);text-align:left;min-width:0;min-height:38px;transition:background-color var(--duration-normal) var(--ease-standard), border-color var(--duration-normal) var(--ease-standard), box-shadow var(--duration-normal) var(--ease-standard), color var(--duration-normal) var(--ease-standard), transform var(--duration-fast) var(--ease-standard);border:1px solid #0000;border-radius:0;justify-content:stretch;align-items:center;gap:10px;width:100%;padding:7px;display:grid;position:relative}.asset-row:hover,.asset-row.selected{--asset-row-muted:currentColor;--asset-row-text:var(--accent-strong-contrast);background:var(--accent-strong);border-color:var(--accent-strong)}.asset-row:hover{transform:none}.asset-row:focus{outline:none}.asset-row:focus-visible{box-shadow:inset 0 0 0 1px var(--line)}.asset-row.multi-selected:not(.selected){background:color-mix(in srgb, var(--accent) 14%, var(--surface-alt));border-color:color-mix(in srgb, var(--accent-strong) 52%, var(--line));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent-strong) 35%, transparent)}.asset-row.selected{--asset-row-muted:currentColor;--asset-row-text:var(--accent-contrast);background:var(--accent);border-color:var(--accent-strong);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent-strong) 55%, transparent), 0 0 0 1px color-mix(in srgb, var(--accent) 12%, transparent);color:var(--asset-row-text)}.asset-row.selected:hover{--asset-row-text:var(--accent-strong-contrast);background:var(--accent-strong)}.asset-name,.asset-row small,.asset-annotation-count{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.asset-row small{color:var(--asset-row-muted);opacity:.78;transition:color var(--duration-normal) var(--ease-standard)}.asset-annotation-count{background:var(--accent);color:var(--accent-contrast);text-align:center;border-radius:999px;place-self:center;min-width:20px;padding:4px 6px;font-size:.74rem;font-weight:800;line-height:1}.asset-annotation-count:empty{visibility:hidden}.asset-category-cell,.annotation-category-cell .annotation-cell-value{justify-content:center;align-items:center;min-width:0;display:flex}.image-category-dots{flex-wrap:wrap;justify-content:center;align-items:center;gap:4px;min-width:0;min-height:12px;display:inline-flex}.image-category-dot{background:var(--image-category-color);border:1px solid color-mix(in srgb, var(--image-category-color) 72%, #000);border-radius:999px;flex:none;width:10px;height:10px;display:inline-block;box-shadow:0 0 0 1px #ffffff3d}.tool-panel,.project-start-guide,.settings-panel,.settings-section,.annotation-tool-panel,.annotation-field-panel,.annotation-list-panel,.annotation-detail-panel{align-content:start;gap:13px;min-width:0;padding:14px;display:grid}.data-tab-content,.annotation-tab-content,.annotation-detail-tab-content,.reports-tab-content,.settings-tab-content{gap:8px;display:grid;overflow-x:hidden}.reports-tab-content{container:reports-pane/inline-size}.project-start-guide{align-content:start;gap:12px;padding:14px;display:grid}.project-start-guide p{color:var(--muted);margin:0}.guide-action-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr));gap:8px;min-width:0;display:grid}.guide-action-tooltip{min-width:0;display:grid;position:relative}.guide-action-tooltip>button{width:100%}.guide-action-tooltip-content{background:var(--warning-bg);border:1px solid var(--warning-line);box-shadow:var(--shadow-floating);color:var(--text);opacity:0;pointer-events:none;visibility:hidden;z-index:30;border-radius:7px;width:max-content;max-width:240px;padding:7px 9px;font-size:.72rem;transition:opacity .12s,transform .12s;position:absolute;bottom:calc(100% + 7px);left:50%;transform:translate(-50%,3px)}.guide-action-tooltip:hover .guide-action-tooltip-content,.guide-action-tooltip:focus .guide-action-tooltip-content,.guide-action-tooltip:focus-within .guide-action-tooltip-content{opacity:1;visibility:visible;transform:translate(-50%)}.upload-originals-action{grid-template-columns:minmax(0,1fr) 38px;min-width:0;display:grid}.upload-originals-action>button{min-width:0}.upload-originals-main{border-top-right-radius:0;border-bottom-right-radius:0}.upload-originals-main span{white-space:normal;min-width:0}button.upload-originals-dismiss{border-top-left-radius:0;border-bottom-left-radius:0;min-height:36px;padding:0}.annotation-table-content,.annotation-detail-tab-content{height:100%;min-height:0;overflow:hidden}.annotation-table-content{grid-template-rows:auto minmax(0,1fr);align-content:stretch;gap:8px;display:grid}.annotation-tool-panel,.annotation-field-panel,.annotation-list-panel,.annotation-detail-panel,.ai-module,.ai-inspection,.settings-section{background:var(--surface);border:1px solid var(--line);border-radius:8px}.ai-panel{align-content:start;gap:10px;min-width:0;padding:14px;display:grid;overflow-x:hidden}.ai-panel .panel-title{grid-template-columns:auto minmax(0,1fr) auto}.ai-panel-summary{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:.74rem;display:flex}.ai-status-dot{background:var(--muted);border-radius:999px;width:8px;height:8px;display:inline-block}.ai-status-dot.active{background:var(--success)}.ai-module{align-content:start;gap:12px;min-width:0;padding:12px;display:grid}.ai-module-header,.ai-module-section{gap:4px;min-width:0;display:grid}.ai-module-header span,.ai-module-section p,.ai-text-element span,.ai-inspection summary small,.ai-log-section p{color:var(--muted)}.ai-module-section h3,.ai-log-section h3{margin:0;font-size:.78rem}.ai-module-section p{margin:0;font-size:.74rem}.ai-module-section-heading{gap:4px;margin-bottom:4px;display:grid}.ai-module-section.collapsible{gap:8px}.ai-module-section.collapsible summary{color:var(--text);cursor:pointer;align-items:center;gap:7px;min-width:0;font-size:.78rem;font-weight:800;list-style:none;display:flex}.ai-module-section.collapsible summary::-webkit-details-marker{display:none}.ai-module-section.collapsible summary svg{color:var(--muted);flex:none;transition:transform .16s}.ai-module-section.collapsible[open] summary svg{transform:rotate(180deg)}.ai-module-section.collapsible summary span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.ai-module-progress{background:var(--surface-alt);border:1px solid var(--line);border-radius:8px;gap:6px;min-width:0;padding:9px 56px 9px 10px;display:grid;position:relative}.ai-module-progress-header{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.ai-module-progress-header strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.78rem;overflow:hidden}.ai-module-progress-header span,.ai-module-progress small{color:var(--muted);flex:none;font-size:.72rem;font-weight:800}.ai-module-progress-meta{align-items:center;gap:6px;display:inline-flex}.ai-module-progress-cancel{background:color-mix(in srgb, var(--danger) 82%, #000);border:0;border-left:1px solid color-mix(in srgb, var(--danger) 60%, var(--line));color:#fff;border-radius:0 8px 8px 0;justify-content:center;align-items:center;width:42px;height:100%;padding:0;display:inline-flex;position:absolute;top:0;right:0}.ai-module-progress-cancel:hover:not(:disabled){background:var(--danger);color:#fff}.ai-module-progress-cancel:disabled{cursor:default;opacity:.72}.ai-module-progress small{overflow-wrap:anywhere}.ai-module-progress .mini-progress-track{background:var(--surface-strong);border:0;border-radius:999px;width:100%;min-width:0;height:5px;padding:0;overflow:hidden}.ai-module-progress .mini-progress-fill{background:linear-gradient(90deg, var(--accent), var(--accent-strong), var(--accent));background-size:180% 100%;border:0;min-width:0;height:100%;padding:0;transition:width .16s;animation:1.6s linear infinite progress-sheen;display:block}.ai-element-list{grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));gap:8px;min-width:0;display:grid}.ai-action-button{text-align:left;grid-template-columns:auto minmax(0,1fr);align-content:center;justify-items:start;gap:3px 7px;min-width:0;min-height:58px;display:grid}.ai-action-button svg{grid-row:1/span 2}.ai-action-button span,.ai-action-button small{overflow-wrap:anywhere;min-width:0}.ai-action-button small{color:currentColor;opacity:.78;font-weight:600}.ai-text-element{background:var(--surface-alt);border:1px solid var(--line);border-radius:8px;gap:4px;padding:9px 10px;display:grid}.ai-number-element{background:var(--surface-alt);border:1px solid var(--line);border-radius:8px;gap:7px;min-width:0;padding:9px 10px;display:grid}.ai-number-label{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.ai-number-label strong{overflow-wrap:anywhere;min-width:0}.ai-number-label span{color:var(--muted);flex:none;font-size:.74rem}.ai-number-element p{color:var(--muted);margin:0;font-size:.74rem}.ai-number-control{grid-template-columns:minmax(0,1fr) 78px;align-items:center;gap:8px;display:grid}.ai-number-control input[type=range]{width:100%;min-width:0}.ai-number-control input[type=number]{font-variant-numeric:tabular-nums;text-align:right;width:78px;min-width:0;padding-right:8px}.ai-number-control input[type=number]::-webkit-outer-spin-button{appearance:none;margin:0}.ai-number-control input[type=number]::-webkit-inner-spin-button{appearance:none;margin:0}.ai-number-control input[type=number]{appearance:textfield}.ai-settings-actions{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;min-width:0;display:grid}.ai-apply-button{align-items:center;gap:6px;min-height:34px;display:inline-flex}.ai-apply-button svg.spinning{animation:.9s linear infinite spin}.ai-settings-apply-progress{background:var(--surface-strong);border-radius:999px;min-width:0;height:5px;overflow:hidden}.ai-settings-apply-progress span{background:var(--accent);border-radius:inherit;width:42%;height:100%;animation:1.1s ease-in-out infinite ai-progress-indeterminate;display:block}@keyframes ai-progress-indeterminate{0%{transform:translate(-110%)}to{transform:translate(260%)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ai-inspection{min-width:0}.ai-inspection summary{cursor:pointer;align-items:center;gap:8px;min-width:0;padding:10px 12px;display:flex}.ai-inspection summary::-webkit-details-marker{display:none}.ai-inspection summary svg{color:var(--muted);flex:none;transition:transform .16s}.ai-inspection[open] summary svg{transform:rotate(180deg)}.ai-inspection summary span{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.ai-inspection summary small{flex:none;font-size:.72rem}.ai-text-log{border-top:1px solid var(--line);gap:12px;padding:12px;display:grid}.ai-log-section{gap:7px;min-width:0;display:grid}.ai-log-section p{margin:0;font-size:.74rem}.ai-log-entry{background:var(--surface-alt);border:1px solid var(--line);border-radius:8px;gap:6px;min-width:0;padding:8px 9px;display:grid}.ai-log-entry strong{overflow-wrap:anywhere;min-width:0;font-size:.74rem}.ai-log-entry pre{color:var(--muted);font-family:var(--font-mono,monospace);white-space:pre-wrap;word-break:break-word;min-width:0;max-height:220px;margin:0;font-size:.68rem;line-height:1.35;overflow:auto}.annotation-mode-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.annotation-mode-grid button{background:var(--surface-alt);color:var(--text);min-width:0}.annotation-context{background:var(--surface-alt);border:1px solid var(--line);border-radius:8px;gap:4px;padding:9px 10px;display:grid}.annotation-context strong,.annotation-context span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.annotation-context span{color:var(--muted);font-size:.86rem}.geometry-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.geometry-grid input{color:var(--muted);padding:7px 8px}.new-field-row,.area-create-row,.area-editor-list,.field-editor-list,.member-list,.invite-list,.annotation-field-values{gap:9px;display:grid}.new-field-row,.area-create-row{grid-template-columns:minmax(150px,1fr) minmax(130px,.6fr)}.new-field-row .field-options,.new-field-row button{grid-column:1/-1}.area-create-row button{min-width:94px}.area-editor-row{background:var(--surface-alt);border:1px solid var(--line);border-radius:8px;grid-template-columns:30px minmax(160px,1fr) minmax(152px,.72fr) 34px minmax(154px,auto);align-items:center;gap:7px;min-width:0;padding:8px;display:grid}.area-editor-row.selected{border-color:var(--accent-strong)}.areas-panel .area-editor-row{background:0 0;border:0;border-radius:0;padding:7px 8px}.area-name-input{width:100%;min-width:0}.area-drag-handle{border:1px solid var(--line);color:var(--muted);cursor:grab;background:0 0;justify-content:center;align-items:center;width:30px;height:30px;min-height:30px;padding:0;display:inline-flex}.area-drag-handle:disabled{cursor:default;opacity:.55}.area-drag-handle:active{cursor:grabbing}.area-count-summary{color:color-mix(in srgb, var(--muted) 82%, var(--text));text-overflow:ellipsis;white-space:nowrap;justify-content:flex-start;align-items:center;gap:6px;width:100%;min-width:0;min-height:0;padding:0 10px;line-height:1.25;display:flex;overflow:hidden}.area-count-summary:before{background:var(--line-strong);content:"";opacity:.55;width:1px;height:26px;display:block}.area-count-summary span{text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;font-weight:750;overflow:hidden}.area-expand-button{background:var(--surface);border:1px solid var(--line);color:var(--muted);justify-content:center;align-items:center;width:34px;height:38px;min-height:38px;padding:0;display:inline-flex}.area-expand-button:hover:not(:disabled),.area-expand-button:focus-visible{background:color-mix(in srgb, var(--accent) 10%, var(--surface));border-color:var(--line-strong);box-shadow:none;color:var(--text)}.area-inline-actions{grid-template-columns:repeat(2,minmax(74px,1fr));justify-content:flex-end;gap:7px;min-width:0;display:grid}.area-inline-actions button{justify-content:center;width:100%;min-width:0}.area-inline-actions .area-reorder-button{min-width:38px;padding-left:8px;padding-right:8px}@media (pointer:fine){.area-inline-actions .area-reorder-button{display:none}}.workspace-app-shell[data-workspace-presentation^=tablet] .area-inline-actions .area-reorder-button{display:inline-flex}.areas-panel{position:relative}.areas-panel .area-editor-list{background:0 0;border:0;border-radius:0;gap:8px;overflow:visible}.area-organizer-card{background:var(--surface-alt);border:1px solid var(--line);border-radius:var(--radius-panel);min-width:0;transition:background-color var(--duration-normal) var(--ease-standard), border-color var(--duration-normal) var(--ease-standard), box-shadow var(--duration-normal) var(--ease-standard), opacity var(--duration-fast) ease, transform var(--duration-fast) var(--ease-standard);gap:8px;padding:6px;display:grid;container:area-organizer/inline-size}.areas-panel .area-organizer-card{border:1px solid var(--line);border-radius:var(--radius-panel);padding:8px 10px}.areas-panel .area-organizer-card+.area-organizer-card{border-top:1px solid var(--line)}.area-organizer-card.selected{border-color:var(--accent-strong);background:color-mix(in srgb, var(--accent) 10%, var(--surface-alt))}.areas-panel .area-organizer-card.selected{background:color-mix(in srgb, var(--accent) 8%, var(--surface-alt));border-color:var(--accent-strong)}.area-organizer-card.drop-target{border-color:var(--accent-strong);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent-strong) 70%, transparent);transform:translateY(-1px)}.area-organizer-card.dragging{opacity:.6;transform:scale(.985)}.area-organizer-card.reorder-before{border-top-color:var(--accent-strong);box-shadow:0 -2px 0 var(--accent-strong)}.areas-panel .area-organizer-card.reorder-before{box-shadow:inset 0 2px 0 var(--accent-strong)}.area-organizer-card.reorder-after{border-bottom-color:var(--accent-strong);box-shadow:0 2px 0 var(--accent-strong)}.areas-panel .area-organizer-card.reorder-after{box-shadow:inset 0 -2px 0 var(--accent-strong)}.area-organizer-header{background:0 0;border:0;border-radius:0;padding:0}.area-image-list{background:var(--surface);border-top:1px solid var(--line);gap:4px;min-width:0;margin-top:0;padding:8px;display:grid}.area-image-row{--area-image-count-bg:var(--accent);--area-image-count-color:var(--accent-contrast);--area-image-subtext:var(--muted);background:var(--surface-alt);border:1px solid var(--line);color:var(--text);cursor:pointer;text-align:left;border-radius:6px;grid-template-columns:18px minmax(0,1fr) minmax(0,.95fr) 32px;align-items:center;gap:8px;width:100%;min-width:0;min-height:34px;padding:6px 8px;display:grid}.area-image-row:hover,.area-image-row.current{--area-image-count-bg:color-mix(in srgb, currentColor 14%, transparent);--area-image-count-color:currentColor;--area-image-subtext:currentColor;background:var(--accent-strong);border-color:var(--accent-strong);color:var(--accent-strong-contrast)}.area-image-list .area-image-row:hover:not(:disabled){background:var(--accent-strong);box-shadow:none;color:var(--accent-strong-contrast);transform:none}.area-image-row:focus{outline:none}.area-image-row:focus-visible{box-shadow:inset 0 0 0 1px var(--line)}.area-image-row.selected:not(.current){background:color-mix(in srgb, var(--accent) 14%, var(--surface));border-color:color-mix(in srgb, var(--accent-strong) 52%, var(--line));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent-strong) 35%, transparent)}.area-image-row.current{--area-image-count-bg:color-mix(in srgb, currentColor 14%, transparent);--area-image-count-color:currentColor;--area-image-subtext:currentColor;background:var(--accent);border-color:var(--accent-strong);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent-strong) 55%, transparent);color:var(--accent-contrast)}.area-image-row.current:hover{background:var(--accent-strong);color:var(--accent-strong-contrast)}.area-image-row span,.area-image-row small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.area-image-row>span{align-items:center;gap:6px;min-width:0;display:flex}.area-image-row .thermal-capture-badge{border:1px solid color-mix(in srgb, #e4662f 58%, currentColor);background:#e4662f29;border-radius:999px;flex:none;align-items:center;gap:3px;padding:3px 5px;font-size:.64rem;font-weight:800;line-height:1;display:inline-flex}.area-image-row small{color:var(--area-image-subtext);opacity:.78;transition:color var(--duration-normal) var(--ease-standard);font-size:.78rem}.area-image-row strong{background:var(--area-image-count-bg);color:var(--area-image-count-color);text-align:center;border-radius:999px;justify-self:end;min-width:20px;padding:4px 6px;font-size:.72rem;line-height:1}.area-image-row strong:empty{visibility:hidden}.area-image-empty{min-height:36px}.asset-context-menu{--muted:var(--surface-strong-muted);--surface-alt:color-mix(in srgb, var(--surface-strong-text) 10%, var(--surface-strong));--text:var(--surface-strong-text);background:var(--surface-strong);border:1px solid var(--line);color:var(--text);z-index:1600;border-radius:6px;gap:3px;width:min(220px,100vw - 16px);max-height:min(320px,100vh - 16px);padding:5px;display:grid;position:fixed;overflow:auto;box-shadow:0 10px 24px #00000047}.asset-context-menu-title{border-bottom:1px solid var(--line);color:var(--muted);min-width:0;padding:3px 6px 5px;font-size:.72rem;font-weight:700}.asset-context-menu-title strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.asset-context-menu-section{gap:2px;display:grid}.asset-context-menu-section small{color:var(--muted);padding:4px 6px 2px;font-size:.7rem;font-weight:700}.asset-context-menu-section>span{color:var(--text);padding:7px 7px 3px;font-size:.82rem;font-weight:750}.asset-context-menu-section button,.asset-context-action{color:var(--text);text-align:left;background:0 0;border-radius:4px;justify-content:flex-start;min-height:26px;padding:0 7px}.asset-context-menu-section button{width:calc(100% - 10px);min-height:28px;margin-left:10px;padding:2px 8px 2px 12px}.asset-context-menu-section button[role=menuitemcheckbox]{grid-template-columns:auto minmax(0,1fr) 16px;align-items:center;gap:8px;display:grid}.asset-context-category-name{color:inherit;text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.asset-context-menu-section button:hover:not(:disabled),.asset-context-action:hover:not(:disabled){background:var(--surface-alt);box-shadow:none;color:var(--text)}.workspace-hover-preview,.workspace-hover-preview-fan{pointer-events:none;z-index:1550;position:fixed}.workspace-hover-preview-modal{z-index:1850}.workspace-hover-preview-single{animation:workspace-hover-preview-enter .15s var(--ease-standard) both;background:color-mix(in srgb, var(--surface-strong) 86%, white 14%);border:0;border-radius:9px;width:184px;height:126px;padding:4px;overflow:hidden;box-shadow:0 16px 38px #00000057}.workspace-hover-preview-single img,.workspace-hover-preview-paper img{object-fit:cover;border-radius:6px;width:100%;height:100%;display:block}.workspace-hover-preview-paper{animation:workspace-hover-preview-paper-enter .32s var(--ease-emphasis) calc(var(--hover-preview-base-delay) + var(--hover-preview-delay)) both;background:color-mix(in srgb, var(--surface-strong) 84%, white 16%);height:var(--hover-preview-height);transform-origin:50%;width:var(--hover-preview-width);border:0;border-radius:8px;padding:5px;position:absolute;top:0;left:0;overflow:hidden;box-shadow:0 15px 34px #08121c3d,0 2px 6px #08121c2e,inset 0 0 0 1px #ffffff2e}.workspace-hover-preview-label{animation:workspace-hover-preview-label-enter .18s var(--ease-standard) .25s both;background:color-mix(in srgb, var(--surface-strong) 92%, transparent);border:1px solid color-mix(in srgb, var(--line) 76%, transparent);color:var(--text);box-sizing:border-box;text-overflow:ellipsis;text-align:center;white-space:nowrap;border-radius:8px;width:162px;max-width:162px;padding:8px 10px;font-size:.82rem;font-weight:750;line-height:1.25;display:block;position:absolute;top:84px;left:27px;overflow:hidden;box-shadow:0 10px 28px #08121c33}.project-map-hover-dot{pointer-events:none;background:orange;border:2px solid #fff;border-radius:999px;width:20px;height:20px;display:block;box-shadow:0 3px 10px #0000003d}@keyframes workspace-hover-preview-label-enter{0%{opacity:0;transform:translateY(5px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes workspace-hover-preview-enter{0%{opacity:0;transform:translateY(7px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes workspace-hover-preview-paper-enter{0%{opacity:0;transform:translate(-50%,-50%)rotate(0)scale(.56)}72%{opacity:1}to{opacity:1;transform:translate(calc(-50% + var(--hover-preview-x)), calc(-50% + var(--hover-preview-y))) rotate(var(--hover-preview-rotate)) scale(1)}}@media (hover:none),(pointer:coarse){.workspace-hover-preview,.workspace-hover-preview-fan{display:none}}.asset-context-action{width:100%}.asset-context-action.danger{color:#ffb7b7}.asset-context-action.danger:hover:not(:disabled){background:color-mix(in srgb, var(--danger-bg) 72%, var(--surface-alt));color:#ffe1e1}.image-category-filter-control{flex:none;position:relative}.image-category-filter-control .table-view-menu-trigger{position:relative}.image-category-filter-control .table-view-menu-trigger[data-filter-active=true]{border-color:var(--accent-strong);color:var(--text)}.image-category-filter-popover{background:var(--surface);border:1px solid var(--line-strong);color:var(--text);color-scheme:normal;z-index:1700;border-radius:8px;gap:2px;min-width:220px;max-height:min(320px,100vh - 16px);padding:6px;display:grid;position:absolute;top:calc(100% + 6px);right:0;overflow:auto;box-shadow:0 12px 30px #00000052}.image-category-filter-popover>small{color:var(--muted);padding:7px;font-size:.72rem}.image-category-filter-option{box-shadow:none;color:var(--text);text-align:left;background:0 0;border:0;border-radius:5px;grid-template-columns:auto minmax(0,1fr) 16px;justify-content:flex-start;align-items:center;gap:8px;width:100%;min-height:32px;padding:4px 7px;font-size:.82rem;display:grid;transform:none}.image-category-filter-option[aria-checked=false]{color:var(--muted)}.image-category-filter-option[aria-checked=false] .image-category-dot{opacity:.45}.image-category-filter-empty-dot{border:1px dashed var(--muted);box-shadow:none;background:0 0}.image-category-filter-option:hover:not(:disabled),.image-category-filter-option:focus-visible{background:var(--surface-alt);box-shadow:none;color:var(--text);transform:none}.image-category-filter-option-label,.asset-table-summary .image-category-filter-option-label{color:inherit;text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.asset-table-summary .image-category-filter-popover span{overflow:visible}.asset-drag-preview{--text:var(--surface-strong-text);background:var(--surface-strong);border:1px solid color-mix(in srgb, var(--accent-strong) 60%, var(--line));box-shadow:4px 4px 0 color-mix(in srgb, var(--accent) 20%, var(--surface-alt)), 8px 8px 0 color-mix(in srgb, var(--accent) 12%, var(--surface-alt)), 0 14px 30px #00000057;color:var(--text);pointer-events:none;white-space:nowrap;z-index:2000;border-radius:6px;padding:9px 11px;font-size:.82rem;font-weight:750;line-height:1;position:fixed;top:0;left:0;transform:translate(-1000px,-1000px)}.field-editor-row{background:var(--surface-alt);border:1px solid var(--line);border-radius:var(--radius-panel);grid-template-columns:minmax(150px,1fr) minmax(130px,.6fr);gap:9px;padding:10px;display:grid}.image-category-create-row,.image-category-editor-row{background:var(--surface-alt);border:1px solid var(--line);border-radius:var(--radius-panel);grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));align-items:end;gap:9px;min-width:0;padding:10px;display:grid}.image-category-editor-list{border-top:1px solid var(--line-strong);gap:9px;margin-top:4px;padding-top:14px;display:grid}.image-category-create-row label,.image-category-editor-row label{gap:5px;min-width:0;display:grid}.image-category-color-control>span{align-items:center;gap:8px;display:flex}.image-category-color-control input[type=color]{appearance:none;cursor:pointer;background:0 0;border-radius:6px;flex:none;width:46px;height:34px;padding:0;overflow:hidden}.image-category-color-control input[type=color]::-webkit-color-swatch-wrapper{padding:0}.image-category-color-control input[type=color]::-webkit-color-swatch{border-radius:inherit;border:0}.image-category-color-control input[type=color]::-moz-color-swatch{border-radius:inherit;border:0}.image-category-color-control code{color:var(--muted);font-size:.74rem}.image-category-create-row>button,.image-category-editor-row .annotation-actions{align-self:stretch}.image-category-editor-row .annotation-actions>button{height:100%}.member-row,.invite-row,.invite-create-row,.invite-options-row{background:var(--surface-alt);border:1px solid var(--line);border-radius:var(--radius-panel);transition:background-color var(--duration-normal) var(--ease-standard), border-color var(--duration-normal) var(--ease-standard), box-shadow var(--duration-normal) var(--ease-standard);grid-template-columns:minmax(0,1fr) minmax(130px,.45fr) auto;align-items:center;gap:9px;padding:10px;display:grid}.member-row:hover,.invite-row:hover{border-color:var(--line-strong)}.invite-row{grid-template-columns:minmax(0,1fr) auto auto auto}.member-row,.invite-create-row{grid-template-columns:minmax(0,1fr) minmax(132px,132px) minmax(112px,112px)}.invite-options-row{grid-template-columns:minmax(220px,1fr) minmax(168px,168px)}.invite-password-input{grid-column:1/-1;width:100%}.invite-deadline-input{width:100%;min-width:0}.invite-link-input{width:100%;min-width:0;font-family:inherit;font-size:.78rem}.member-row>span,.invite-row-main{gap:3px;min-width:0;display:grid}.member-row strong,.member-row small,.invite-row-title,.invite-row-stats{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.member-row small,.invite-row-stats{color:var(--muted);font-size:.78rem}.invite-row-heading{align-items:center;gap:8px;min-width:0;display:flex}.invite-row-title{flex:0 auto;min-width:0}.invite-row-stats{flex:auto;min-width:0}.invite-summary-separator{background:var(--line);flex:none;width:1px;height:12px}.invite-panel{gap:9px;display:grid}.invite-panel h3{margin:0;font-size:.95rem}.invite-status{border:1px solid var(--line);color:var(--muted);text-align:center;text-transform:capitalize;border-radius:999px;min-width:76px;padding:4px 8px;font-size:.76rem;font-weight:700}.invite-status.pending{border-color:var(--accent-strong);color:var(--accent-strong)}.invite-status.accepted{border-color:var(--warning);color:var(--warning)}.invite-status.revoked,.invite-status.expired{color:#ffb7b7}.role-badge{background:var(--surface-alt);border:1px solid var(--line);color:var(--accent-strong);border-radius:999px;align-items:center;gap:5px;margin-left:auto;padding:4px 8px;font-size:.78rem;display:inline-flex}.field-editor-row .field-checkbox,.field-editor-row .field-options,.field-editor-row .annotation-actions{grid-column:1/-1}.field-checkbox{flex-direction:row;align-items:center;gap:8px;display:flex}.field-checkbox input{width:auto}.annotation-field-control{gap:5px;display:grid}.annotation-field-label{align-items:center;gap:4px;min-width:0;display:inline-flex}.field-error{color:#ffb7b7;font-size:.78rem}.annotation-field-control.invalid input,.annotation-field-control.invalid select,.annotation-field-control.invalid textarea,.annotation-field-control.invalid .multi-list-field{border-color:#d76565}.multi-list-field{border:1px solid var(--line);border-radius:8px;gap:7px;margin:0;padding:10px;display:grid}.multi-list-field legend{color:var(--muted);padding:0 4px;font-size:.84rem}.annotation-list-panel{grid-template-rows:auto minmax(0,1fr);gap:8px;height:100%;min-height:0;overflow:hidden}.panel-count{color:var(--muted);margin-left:auto;font-size:.84rem}.annotation-table{--annotation-table-columns:minmax(48px, .32fr) minmax(54px, .42fr) minmax(78px, 1fr) minmax(96px, 1.3fr) minmax(54px, .58fr) minmax(58px, .58fr) minmax(58px, .58fr);align-content:start;gap:2px;min-width:0;min-height:0;display:grid;overflow:auto;container:annotation-table/inline-size}.annotation-table-header,.annotation-table-row{grid-template-columns:var(--annotation-table-columns);gap:6px;display:grid}.annotation-table-header{background:var(--surface-alt);border:1px solid var(--line);color:var(--muted);text-transform:uppercase;z-index:1;border-radius:6px;align-items:stretch;min-height:34px;margin-bottom:6px;padding:0 7px;font-size:.74rem;font-weight:800;position:sticky;top:0}.annotation-table-header button,.annotation-table-header span{color:inherit;font:inherit;text-align:center;text-overflow:ellipsis;min-width:0;height:100%;text-transform:inherit;white-space:nowrap;background:0 0;border:0;justify-content:center;align-items:center;gap:4px;padding:0;line-height:1;display:inline-flex;overflow:hidden;transform:translateY(-1px)}.annotation-table-header button{cursor:pointer}.annotation-table-header button:hover:not(:disabled){box-shadow:none;color:var(--text);background:0 0;transform:translateY(-1px)}.annotation-table-row{--annotation-row-label:var(--muted);--annotation-row-subtext:color-mix(in srgb, var(--muted) 78%, var(--surface-strong));background:var(--surface-alt);box-shadow:none;color:var(--text);text-align:left;border:1px solid #0000;border-radius:0;align-items:center;width:100%;min-height:66px;padding:9px 7px;position:relative;overflow:hidden}.annotation-table-row:hover{--annotation-row-label:currentColor;--annotation-row-subtext:currentColor;background:var(--accent-strong);border-color:var(--accent-strong);color:var(--accent-strong-contrast)}.annotation-table-row.current-image:not(.selected){--annotation-row-label:color-mix(in srgb, var(--accent-strong) 82%, var(--text));--annotation-row-subtext:color-mix(in srgb, var(--accent-strong) 62%, var(--muted));background:color-mix(in srgb, var(--accent) 12%, var(--surface-alt));border-color:color-mix(in srgb, var(--accent-strong) 38%, var(--line));color:var(--text)}.annotation-table-row.current-image:not(.selected):hover{background:color-mix(in srgb, var(--accent-strong) 24%, var(--surface-alt));border-color:color-mix(in srgb, var(--accent-strong) 58%, var(--line))}.annotation-table-row.selected{--annotation-row-label:currentColor;--annotation-row-subtext:currentColor;background:var(--accent-strong);border-color:var(--accent-strong);box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--accent-strong-contrast) 58%, transparent), 0 0 0 1px color-mix(in srgb, var(--accent-strong) 30%, transparent);color:var(--accent-strong-contrast)}.annotation-table-row.selected:hover{background:var(--accent-strong);color:var(--accent-strong-contrast)}.annotation-table-row.dirty{border-color:color-mix(in srgb, var(--warning) 70%, transparent)}.annotation-table-row>span,.annotation-image-cell strong,.annotation-image-cell small,.annotation-date-cell span,.annotation-date-cell small{text-overflow:ellipsis;overflow:hidden}.annotation-compact-label{display:none}.annotation-cell-value{text-overflow:ellipsis;min-width:0;overflow:hidden}.annotation-number .annotation-cell-value{align-items:center;gap:5px;display:inline-flex}.annotation-image-cell .annotation-cell-value,.annotation-date-cell .annotation-cell-value{gap:1px;min-width:0;display:grid}.annotation-thumbnail-value{justify-content:center;align-items:center;width:100%;min-width:0;height:48px;display:flex;overflow:hidden}.annotation-export-id-cell,.annotation-custom-field-cell{text-align:center;text-overflow:ellipsis;white-space:nowrap;justify-self:stretch;min-width:0;overflow:hidden}.annotation-number,.annotation-author-cell,.annotation-image-cell strong,.annotation-image-cell small,.annotation-date-cell span,.annotation-date-cell small{white-space:nowrap}.annotation-author-cell{text-align:center;justify-self:center;width:100%}.annotation-description-cell{overflow-wrap:anywhere;text-overflow:ellipsis;white-space:normal;align-self:center;max-height:2.5em;line-height:1.25;overflow:hidden}.annotation-description-cell>span{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.annotation-date-cell{justify-items:center;gap:1px;min-width:0;line-height:1.05;display:grid}.annotation-date-cell small{color:var(--annotation-row-subtext);opacity:.78;transition:color var(--duration-normal) var(--ease-standard);font-size:.68rem}.annotation-thumbnail-cell{justify-content:center;justify-self:center;align-items:center;width:100%;min-width:0;max-width:60px;height:48px;display:flex;overflow:hidden}.annotation-thumbnail-cell img,.annotation-thumbnail-placeholder{background:var(--surface);border:1px solid var(--line);object-fit:contain;border-radius:4px;width:100%;height:48px}.annotation-thumbnail-placeholder{color:var(--annotation-row-subtext);transition:color var(--duration-normal) var(--ease-standard);justify-content:center;align-items:center;display:flex}.annotation-image-cell{gap:2px;min-width:0;display:grid}.annotation-image-cell small{color:var(--annotation-row-subtext);opacity:.78;transition:color var(--duration-normal) var(--ease-standard);font-size:.76rem;font-weight:650}.annotation-detail-panel{gap:10px;height:100%;min-height:0;overflow:auto}.annotation-detail-form{gap:10px;display:grid}.annotation-detail-thumbnail{background:var(--surface-alt);border:1px solid var(--line);border-radius:6px;gap:8px;min-width:0;padding:8px 10px 10px;display:grid}.annotation-detail-thumbnail>span{color:var(--muted);font-size:.74rem}.annotation-detail-thumbnail img,.annotation-detail-thumbnail-placeholder{background:var(--surface);border:1px solid var(--line);object-fit:contain;border-radius:4px;width:100%;height:clamp(96px,20vh,180px)}.annotation-detail-thumbnail-placeholder{color:var(--muted);text-align:center;place-items:center;gap:8px;padding:16px;display:grid}.annotation-detail-thumbnail-placeholder small{font-size:.76rem;line-height:1.25}.annotation-property-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;display:grid}.readonly-detail{background:var(--surface-alt);border:1px solid var(--line);border-radius:6px;gap:5px;min-width:0;padding:8px 10px;display:grid}.readonly-detail span{color:var(--muted);font-size:.74rem}.readonly-detail strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.9rem;font-weight:600;overflow:hidden}.annotation-card{background:var(--surface-alt);border:1px solid #0000;border-radius:8px;gap:8px;padding:10px;display:grid}.annotation-card.selected{border-color:var(--accent-strong)}.annotation-card-main{color:var(--text);text-align:left;background:0 0;justify-content:stretch;gap:4px;min-height:0;padding:0;display:grid}.annotation-card-main strong,.annotation-card-main small,.annotation-number{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.annotation-number{color:var(--accent-strong);transition:background-color var(--duration-normal) var(--ease-standard), border-color var(--duration-normal) var(--ease-standard), color var(--duration-normal) var(--ease-standard);border:1px solid #0000;border-radius:999px;align-items:center;gap:5px;padding:2px 6px;font-size:.78rem;font-weight:800;display:inline-flex}.annotation-table-row:hover .annotation-number,.annotation-table-row.current-image .annotation-number,.annotation-table-row.selected .annotation-number{background:color-mix(in srgb, currentColor 14%, transparent);border-color:color-mix(in srgb, currentColor 42%, transparent);color:currentColor}.dirty-dot{background:var(--warning);border-radius:999px;width:7px;height:7px;display:inline-block}.dirty-indicator{background:color-mix(in srgb, var(--warning) 18%, transparent);border:1px solid color-mix(in srgb, var(--warning) 50%, transparent);color:var(--warning);border-radius:999px;margin-left:auto;padding:3px 8px;font-size:.76rem;font-weight:700}.dirty-indicator.invalid{color:#ffd2d2;background:#713434;border-color:#d76565}.annotation-card-main small{color:var(--muted)}.annotation-actions{justify-content:flex-end;gap:8px;display:flex}.panel-title{justify-content:flex-start}.panel-title h2{margin:0;font-size:1rem}.toggle{flex-direction:row;align-items:center;gap:8px;display:flex}.toggle input{width:auto}.wide{width:100%}.drop-zone{color:var(--muted);border:1px dashed #9da99a;border-radius:8px;place-items:center;min-height:78px;display:grid}.drop-zone.disabled{opacity:.5}.preview-list,.setting-grid{gap:8px;min-width:0;display:grid}.preview-item{background:var(--surface-alt);border-radius:8px;padding:9px 10px}.setting-item{background:var(--surface-alt);border:1px solid var(--line);border-radius:8px;grid-template-columns:minmax(0,.45fr) minmax(0,1fr);align-items:center;gap:10px;min-width:0;min-height:42px;padding:8px 10px;display:grid}.setting-item span,.status{color:var(--muted)}.setting-item strong{overflow-wrap:anywhere}.bim-model-settings-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.report-scope-copy{margin:-4px 0 0}.report-scope-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.report-scope-grid .setting-item{cursor:pointer}.report-statistics-grid{grid-template-columns:repeat(auto-fit,minmax(110px,1fr))}.report-statistics-grid .setting-item{grid-template-columns:minmax(0,1fr);align-content:center;gap:2px}.report-statistics-grid .setting-item strong{font-size:1.05rem}.pdf-report-panel .pdf-option-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:1fr;align-items:stretch;max-height:none;padding-right:0;overflow:visible}.pdf-report-panel .pdf-option-grid .field-checkbox{background:var(--field-bg);border:1px solid var(--line);border-radius:var(--radius-control);align-items:center;width:100%;min-width:0;height:100%;min-height:42px;padding:8px 10px}@container reports-pane (max-width:760px){.pdf-report-panel .pdf-option-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@container reports-pane (max-width:460px){.report-scope-grid,.pdf-report-panel .pdf-option-grid{grid-template-columns:minmax(0,1fr)}}.pdf-report-panel>.report-actions{grid-template-columns:repeat(auto-fit,minmax(min(160px,100%),1fr));align-items:stretch;width:100%;display:grid}.pdf-report-panel>.report-actions button{width:100%;min-width:0;height:100%}.inline-state-row,.list-title-row,.report-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.report-history-list{gap:8px;display:grid}.report-history-status{color:var(--muted);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:4px 10px;display:flex}.report-history-container{align-content:start;min-height:74px;max-height:260px;padding-right:4px;overflow:auto}.report-history-container .compact-empty{min-height:64px;padding:12px}.report-history-row{background:var(--surface-alt);border:1px solid var(--line);border-radius:8px;justify-content:space-between;align-items:center;gap:10px;min-height:44px;padding:8px 10px;display:flex}.report-history-row span{gap:2px;min-width:0;display:grid}.report-history-row small{color:var(--muted)}.report-row-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.report-progress{color:var(--muted);place-items:center end;gap:5px;min-width:120px;display:grid}.report-progress .mini-progress-track{background:var(--surface-strong);border-radius:999px;width:120px;height:5px;display:block;overflow:hidden}.report-progress .mini-progress-fill{background:var(--accent-strong);height:100%;transition:width .16s;display:block}.inline-state-row{background:var(--surface-alt);border:1px solid var(--line);color:var(--muted);border-radius:8px;min-width:0;min-height:40px;padding:8px 10px}.inline-state-row>span{overflow-wrap:anywhere;flex:180px;min-width:0}.inline-state-row.warning{border-color:var(--warning);color:var(--text)}.inline-state-row.danger{border-color:var(--danger);color:var(--text)}.storage-used-summary{margin-top:2px}.storage-meter{background:var(--surface-strong);border:1px solid var(--line);isolation:isolate;border-radius:9px;grid-column:1/-1;align-items:center;height:34px;display:grid;position:relative;overflow:hidden}.storage-meter-fill{background:color-mix(in srgb, var(--accent-strong) 58%, transparent);transition:width .22s var(--ease-standard);z-index:0;position:absolute;top:0;bottom:0;left:0}.storage-meter.warning{border-color:color-mix(in srgb, var(--warning) 72%, var(--line))}.storage-meter.warning .storage-meter-fill{background:color-mix(in srgb, var(--warning) 58%, transparent)}.storage-meter.danger{border-color:color-mix(in srgb, var(--danger) 72%, var(--line))}.storage-meter.danger .storage-meter-fill{background:color-mix(in srgb, var(--danger) 58%, transparent)}.storage-meter-label{color:var(--text);text-shadow:0 1px 1px color-mix(in srgb, var(--surface-strong) 72%, transparent);z-index:1;justify-self:center;padding:0 10px;font-size:.78rem;position:relative}.local-file-list{gap:8px;display:grid}.scrollable-list{max-height:280px;padding-right:4px;overflow:auto}.local-file-row{background:var(--surface-alt);border:1px solid var(--line);border-radius:8px;grid-template-columns:minmax(0,1fr);align-items:center;gap:10px;min-width:0;min-height:56px;padding:8px 10px;display:grid}.local-file-row>span{align-self:center;gap:4px;min-width:0;line-height:1.25;display:grid}.local-file-actions{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:6px;min-width:0;display:flex}.local-file-row strong,.local-file-row small{text-overflow:ellipsis;white-space:normal;overflow-wrap:anywhere;min-width:0;overflow:hidden}.local-file-row small{color:var(--muted);line-height:1.25}.export-options,.export-field-panel{gap:10px;display:grid}.segmented-control{background:var(--surface-alt);border:1px solid var(--line);border-radius:8px;flex-wrap:wrap;gap:6px;margin:0;padding:10px;display:flex}.segmented-control legend{color:var(--muted);padding:0 4px;font-size:.8rem;font-weight:700}.segmented-control label{background:var(--field-bg);border:1px solid var(--line);color:var(--text);border-radius:8px;flex-direction:row;flex:none;align-items:center;gap:7px;min-height:34px;padding:0 10px;display:inline-flex}.segmented-control label.active{border-color:var(--accent-strong);color:var(--accent-strong)}.segmented-control input{width:auto}.export-field-panel{background:var(--surface-alt);border:1px solid var(--line);border-radius:8px;padding:10px}.export-field-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:7px 12px;max-height:230px;padding-right:4px;display:grid;overflow:auto}.csv-field-groups{gap:14px;max-height:330px;padding-right:4px;display:grid;overflow:auto}.csv-field-group{gap:7px;display:grid}.csv-field-group-title{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:.76rem}.csv-field-grid{grid-template-columns:repeat(auto-fill,minmax(min(220px,100%),1fr));gap:8px;max-height:none;padding:0;overflow:visible}.csv-field-option{background:var(--field-bg);border:1px solid var(--line);border-radius:var(--radius-control);cursor:pointer;min-width:0;min-height:44px;transition:background-color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard);align-items:flex-start;padding:10px 11px}.csv-field-option:hover{border-color:color-mix(in srgb, var(--accent-strong) 58%, var(--line))}.csv-field-option:focus-within{outline:2px solid color-mix(in srgb, var(--focus) 72%, var(--outline-contrast));outline-offset:2px}.csv-field-option.selected{background:color-mix(in srgb, var(--accent) 10%, var(--field-bg));border-color:var(--accent-strong);box-shadow:0 0 0 1px color-mix(in srgb, var(--accent-strong) 28%, transparent)}.csv-field-option input{accent-color:var(--accent-strong);flex:none;margin:1px 0 0}.csv-field-option span{overflow-wrap:anywhere;min-width:0;line-height:1.3}.status{margin:0;font-size:.88rem}.map-shell,.map,.empty-map{width:100%;height:100%;min-height:0}.map-shell{position:relative;overflow:hidden}.map .maplibregl-canvas,.map .maplibregl-canvas-container{width:100%!important;height:100%!important}.map-floating-controls{z-index:5;align-items:flex-start;gap:6px;display:flex;position:absolute;top:12px;right:12px}.map-floating-controls .icon-button{background:color-mix(in srgb, var(--surface-strong) 92%, transparent);border:1px solid var(--line);flex:0 0 34px;width:34px;height:34px;min-height:34px;box-shadow:0 10px 28px #00000045}.map-floating-controls .icon-button:hover:not(:disabled){box-shadow:0 12px 30px #00000059}.map-floating-controls .icon-button.active,.map-floating-controls .icon-button.active:hover:not(:disabled){background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.map3d-preview-variant{background:color-mix(in srgb, var(--surface-strong) 92%, transparent);border:1px solid var(--line);border-radius:6px;align-items:center;gap:7px;height:34px;padding:0 8px 0 10px;display:flex;box-shadow:0 10px 28px #00000045}.map3d-preview-variant>span{color:var(--muted);white-space:nowrap;font-size:.72rem;font-weight:700}.map3d-preview-variant>select{background:var(--surface-alt);border:1px solid var(--line);color:var(--text);min-width:76px;height:24px;padding:0 22px 0 7px;font-size:.76rem}.workspace-app-shell[data-workspace-presentation^=tablet] .map3d-preview-variant{min-width:0;max-width:min(220px,100vw - 222px);height:44px}.workspace-app-shell[data-workspace-presentation^=tablet] .map3d-preview-variant>span{text-overflow:ellipsis;min-width:0;overflow:hidden}.workspace-app-shell[data-workspace-presentation^=tablet] .map3d-preview-variant>select{flex:0 96px;width:min(96px,100%);min-width:0;height:34px;min-height:34px}.map-viewer-help{position:relative}.map-viewer-help-menu{background:color-mix(in srgb, var(--surface-strong) 96%, transparent);border:1px solid var(--line);color:var(--text);overscroll-behavior:contain;scrollbar-gutter:stable;z-index:8;border-radius:8px;gap:8px;width:min(300px,100vw - 24px);min-width:min(256px,100vw - 24px);max-width:min(300px,100vw - 24px);max-height:calc(100vh - 24px);padding:12px;display:grid;position:fixed;overflow-y:auto;box-shadow:0 16px 42px #00000057}.map-viewer-help-menu strong{font-size:.82rem}.map-viewer-help-menu ul{color:var(--muted);gap:7px;margin:0;padding-left:18px;font-size:.76rem;line-height:1.35;display:grid}.map3d-floating-controls .icon-button{color:#f4f7f8;background:#151d25e8;border-color:#3a4650}.map3d-floating-controls .icon-button.active,.map3d-floating-controls .icon-button.active:hover:not(:disabled){background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.map3d-floating-controls .map-viewer-help-menu,.map3d-viewer-help-menu{color:#f4f7f8;background:#151d25f2;border-color:#3a4650}.map3d-floating-controls .map-viewer-help-menu ul,.map3d-viewer-help-menu ul{color:#c7d0d5}.map-settings{position:relative}.map-options-menu{background:color-mix(in srgb, var(--surface-strong) 96%, transparent);border:1px solid var(--line);color:var(--text);overscroll-behavior:contain;scrollbar-gutter:stable;z-index:8;border-radius:8px;gap:12px;width:min(300px,100vw - 24px);min-width:min(256px,100vw - 24px);max-width:min(300px,100vw - 24px);max-height:calc(100vh - 24px);padding:12px;display:grid;position:fixed;overflow-y:auto;box-shadow:0 16px 42px #00000057}.map-menu-field{color:var(--muted);gap:6px;font-size:.78rem;font-weight:800;display:grid}.map-menu-field select{width:100%;min-width:0;min-height:34px;padding:6px 8px}.map-bounds-control{background:color-mix(in srgb, var(--surface-strong) 92%, transparent);border:1px solid var(--line);z-index:2;border-radius:8px;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;max-width:min(360px,100% - 24px);padding:8px;display:flex;position:absolute;bottom:12px;right:12px;box-shadow:0 10px 28px #0000004d}.map-bounds-control .secondary.active{border-color:var(--accent);color:var(--accent)}.empty-list,.empty-preview,.empty-map,.placeholder-panel{color:var(--muted);text-align:center;place-items:center;gap:10px;min-height:180px;padding:22px;display:grid}.asset-empty-guide{min-height:140px}.empty-preview{align-content:center;height:100%}.empty-preview span{overflow-wrap:anywhere;max-width:100%}.placeholder-panel{border:0;height:100%}.blocking-surface{background:var(--overlay);animation:blocking-surface-enter var(--duration-slow) var(--ease-standard) both;z-index:1000;place-items:center;padding:24px;display:grid;position:fixed;inset:0;overflow:auto}@keyframes blocking-surface-enter{0%{opacity:0}to{opacity:1}}.blocking-surface.progress-handoff{pointer-events:none;animation:.48s cubic-bezier(.22,1,.36,1) forwards progress-handoff-overlay}.blocking-surface.progress-handoff .progress-dialog{transform-origin:50%;will-change:transform, opacity;overflow:hidden}.blocking-surface.progress-handoff.handoff-measured .progress-dialog{animation:.48s cubic-bezier(.22,1,.36,1) forwards progress-handoff-morph}.blocking-surface.progress-handoff:not(.handoff-measured) .progress-dialog{animation:.36s forwards progress-handoff-fallback}.blocking-surface.progress-handoff .progress-dialog-content{animation:.18s forwards progress-handoff-content}@keyframes progress-handoff-overlay{0%{background:var(--overlay)}to{visibility:hidden;background:0 0}}@keyframes progress-handoff-morph{0%{opacity:1;transform:translate(0,0)scale(1)}to{opacity:.96;transform:translate3d(var(--handoff-x,0), var(--handoff-y,0), 0) scale(var(--handoff-scale-x,1), var(--handoff-scale-y,1))}}@keyframes progress-handoff-fallback{0%{transform:translateY(0)scale(1)}to{transform:translateY(-10px)scale(.98)}}@keyframes progress-handoff-content{0%{opacity:1}to{opacity:0}}.blocking-dialog{background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-panel);box-shadow:var(--shadow-floating);color:var(--text);max-width:520px;animation:blocking-dialog-enter var(--duration-slow) var(--ease-standard) both;gap:14px;width:min(100%,520px);padding:20px;display:grid}.blocking-dialog-header{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:0 14px;min-width:0;display:grid}.blocking-dialog-header .eyebrow{grid-area:1/1}.blocking-dialog-header h2{grid-area:2/1;min-width:0}.blocking-dialog-close{grid-area:2/2;align-self:center}.blocking-dialog-header.without-eyebrow h2,.blocking-dialog-header.without-eyebrow .blocking-dialog-close{grid-row:1}@keyframes blocking-dialog-enter{0%{opacity:0;transform:translateY(10px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}.progress-dialog-content{gap:14px;min-width:0;display:grid}.progress-dialog-cancel{justify-self:end}.import-dialog{width:min(100%,920px);max-width:920px;max-height:calc(100vh - 48px);overflow:auto}.source-dialog{width:min(100%,620px);max-width:620px}.reconnect-overview-dialog{width:min(100%,720px);max-width:720px}.thermal-review-dialog{width:min(100%,960px);max-width:960px;max-height:calc(100vh - 48px);overflow:auto}.thermal-review-list{grid-auto-rows:max-content;align-content:start;max-height:min(48vh,520px);padding-right:4px;overflow:auto}.thermal-review-row{grid-template:"thermal companion confidence"".evidence evidence"/minmax(240px,1fr) minmax(220px,1fr) max-content;align-items:start}.thermal-review-file{grid-area:thermal;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;min-width:0;display:grid}.thermal-review-file.has-preview{grid-template-columns:auto 64px minmax(0,1fr)}.thermal-review-file img{background:var(--surface-strong);border:1px solid var(--line);object-fit:cover;border-radius:6px;width:64px;height:46px}.thermal-review-file span,.thermal-review-row>label:not(.thermal-review-file){gap:4px;min-width:0;display:grid}.thermal-companion-field{grid-area:companion}.thermal-pair-confidence{white-space:nowrap;grid-area:confidence;align-self:center}.thermal-review-row select{width:100%;min-width:0}.thermal-pair-evidence{grid-area:evidence}.thermal-ordinary-files{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:6px;margin-top:6px;display:grid}.thermal-ordinary-files label{overflow-wrap:anywhere;align-items:center;gap:7px;min-width:0;display:flex}@media (max-width:760px){.thermal-review-row{grid-template:"thermal""companion""confidence""evidence"/minmax(0,1fr)}}.reconnect-source-list{max-height:min(48vh,420px);padding-right:4px;overflow:auto}.source-dialog-summary{background:var(--surface-alt);border:1px solid var(--line);border-radius:var(--radius-panel);gap:4px;padding:10px 12px;display:grid}.source-dialog-summary span,.source-dialog-summary small{color:var(--muted)}.import-summary-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px;display:grid}.import-status-strip{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.status-pill{border:1px solid var(--line);color:var(--muted);width:fit-content;transition:background-color var(--duration-normal) var(--ease-standard), border-color var(--duration-normal) var(--ease-standard), color var(--duration-normal) var(--ease-standard);border-radius:999px;justify-content:center;align-items:center;gap:4px;padding:4px 8px;font-size:.72rem;font-weight:800;line-height:1.2;display:inline-flex}.status-pill.icon-only{width:24px;height:24px;padding:0}.status-pill.new{border-color:var(--accent-strong);color:var(--accent-strong)}.status-pill.changed{border-color:var(--warning);color:var(--warning)}.expanded-preview-item{gap:12px;min-width:0}.expanded-preview-item span{gap:3px;min-width:0;display:grid}.expanded-preview-item small,.expanded-preview-item strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.review-file-list{gap:6px;max-height:min(42vh,420px);padding-right:4px;display:grid;overflow:auto}.review-file-row{background:var(--surface-alt);border:1px solid var(--line);border-radius:var(--radius-panel);content-visibility:auto;contain-intrinsic-size:54px;min-width:0;min-height:54px;transition:background-color var(--duration-normal) var(--ease-standard), border-color var(--duration-normal) var(--ease-standard), transform var(--duration-fast) var(--ease-standard);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px 10px;display:grid}.review-file-row:hover{border-color:var(--line-strong);transform:none}.review-file-row>span{align-content:center;gap:3px;min-width:0;display:grid}.review-file-row strong,.review-file-row small{text-overflow:ellipsis;white-space:nowrap;min-width:0;line-height:1.25;overflow:hidden}.review-file-row strong{font-size:.82rem}.review-file-row span small{color:var(--muted);font-size:.72rem}.upload-resume-row{margin-top:10px}.data-source-list{gap:8px;min-width:0;display:grid}.data-source-row{background:var(--surface-alt);border:1px solid var(--line);border-radius:var(--radius-panel);min-width:0;min-height:48px;transition:background-color var(--duration-normal) var(--ease-standard), border-color var(--duration-normal) var(--ease-standard);grid-template-columns:minmax(0,1fr);align-items:center;gap:10px;padding:8px 10px;display:grid}.data-source-row:hover{border-color:var(--line-strong)}.data-source-row span:first-child{gap:2px;min-width:0;display:grid}.data-source-row small{color:var(--muted);overflow-wrap:anywhere}.data-source-row strong{text-overflow:ellipsis;white-space:normal;overflow-wrap:anywhere;min-width:0;overflow:hidden}.data-source-counts{color:var(--muted);overflow-wrap:anywhere;min-width:0;font-size:.82rem;font-weight:700}.data-source-actions{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:6px;min-width:0;display:flex}.point-cloud-panel{min-width:0;container:point-cloud-panel/inline-size}.point-cloud-panel-body,.point-cloud-upload,.point-cloud-dataset-row,.point-cloud-progress{gap:8px;min-width:0;display:grid}.point-cloud-panel-body{gap:10px}.point-cloud-dataset-row{background:var(--surface-alt);border:1px solid var(--line);border-radius:var(--radius-panel);padding:10px}.point-cloud-dataset-summary{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px;display:grid}.point-cloud-dataset-summary>span:last-child,.point-cloud-selected-file{gap:3px;min-width:0;display:grid}.point-cloud-selected-file{width:100%}.point-cloud-dataset-summary strong,.point-cloud-selected-file strong{overflow-wrap:anywhere;text-overflow:ellipsis;white-space:normal;min-width:0;overflow:hidden}.point-cloud-dataset-summary small,.point-cloud-selected-file small,.point-cloud-progress>span,.point-cloud-error{color:var(--muted);overflow-wrap:anywhere;font-size:.76rem}.point-cloud-error{color:var(--danger)}.point-cloud-progress .progress-track{height:10px}.point-cloud-progress .progress-fill{transition:width .36s}.point-cloud-form-row{grid-template-columns:minmax(160px,1fr) auto;align-items:end;gap:8px;display:grid}.point-cloud-form-row label,.point-cloud-epsg-optional{gap:5px;min-width:0;display:grid}.point-cloud-form-row label>span,.point-cloud-epsg-optional>span{color:var(--muted);font-size:.74rem;font-weight:800}.point-cloud-epsg-optional>span{white-space:nowrap}.point-cloud-alignment-hint{color:var(--muted);grid-column:1/-1;font-size:.76rem;line-height:1.4}.point-cloud-form-row input,.point-cloud-epsg-optional input{width:100%;min-width:0}.point-cloud-upload{border:1px dashed var(--line-strong);border-radius:var(--radius-panel);grid-template-columns:minmax(0,3fr) minmax(260px,2fr);align-items:end;padding:10px}.point-cloud-drop-hint{color:var(--muted);grid-column:1/-1;font-size:.76rem;font-weight:700}.point-cloud-resume-hint{color:var(--text);grid-column:1/-1;font-size:.78rem;line-height:1.45}.point-cloud-action{width:100%;min-width:0;min-height:36px;font-weight:700}.point-cloud-action-row{grid-column:1/-1;grid-template-columns:repeat(auto-fit,minmax(min(140px,100%),1fr));align-items:stretch;gap:8px;width:100%;min-width:0;display:grid}.point-cloud-form-row>.point-cloud-action{grid-column:1/-1}.point-cloud-recovery-notice{background:color-mix(in srgb, var(--warning) 8%, var(--surface-alt));border:1px solid var(--warning);border-radius:var(--radius-control);color:var(--text);gap:5px;min-width:0;padding:10px;display:grid}.point-cloud-recovery-notice>strong,.point-cloud-recovery-notice>span,.point-cloud-recovery-notice>small{overflow-wrap:anywhere;min-width:0}.point-cloud-recovery-notice>strong{font-size:.84rem}.point-cloud-recovery-notice>span{font-size:.8rem}.point-cloud-recovery-notice>small{color:var(--muted);font-size:.76rem;line-height:1.45}.point-cloud-recovery-notice>.point-cloud-action{margin-top:4px}.point-cloud-panel .spin{animation:.9s linear infinite spin}.point-cloud-status-ready{border-color:var(--success);color:var(--success)}.point-cloud-status-failed,.point-cloud-status-canceled{border-color:var(--danger);color:var(--danger)}.point-cloud-status-processing,.point-cloud-status-queued,.point-cloud-status-uploading,.point-cloud-status-needs_crs{border-color:var(--warning);color:var(--warning)}@media (max-width:620px){.point-cloud-form-row{grid-template-columns:1fr}}@container point-cloud-panel (max-width:560px){.point-cloud-upload{grid-template-columns:minmax(0,1fr)}}.blocking-dialog h2{margin:0;font-size:1.25rem}.blocking-dialog p{color:var(--muted);margin:0}.progress-track{background:var(--surface-strong);border:1px solid var(--line);border-radius:8px;height:16px;overflow:hidden}.progress-fill{background:linear-gradient(90deg, var(--accent), var(--accent-strong), var(--accent));background-size:180% 100%;height:100%;transition:width .12s;animation:1.6s linear infinite progress-sheen}.dialog-actions{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;display:grid}.dialog-actions button{white-space:normal;width:100%;min-width:0;min-height:40px;padding-block:8px;line-height:1.25}.profile-dialog{width:min(100%,620px);max-width:620px;max-height:calc(100vh - 48px);overflow:auto}.profile-dialog-header{justify-content:space-between;align-items:flex-start;gap:14px;min-width:0;display:flex}.profile-dialog-header .panel-title{min-width:0}.profile-dialog-close{flex:none}.profile-dialog-body{gap:18px;min-width:0;display:grid}.profile-form{border-top:1px solid var(--line);gap:11px;min-width:0;padding-top:16px;display:grid}.profile-form:first-child{border-top:0;padding-top:0}.profile-form-heading{gap:2px;min-width:0;display:grid}.profile-form-heading strong{font-size:.94rem}.profile-form-heading small{color:var(--muted);font-size:.78rem;font-weight:650}.profile-form-actions{grid-template-columns:1fr;align-items:center;gap:10px;min-width:0;display:grid}.profile-form-actions button,.profile-dialog>.dialog-actions button{width:100%}.profile-billing-summary{background:color-mix(in srgb, var(--accent) 8%, var(--surface-alt));border:1px solid var(--line);border-radius:10px;margin:0;padding:12px 14px}.profile-billing-summary>div{justify-content:space-between;align-items:center;gap:16px;display:flex}.profile-billing-summary dt{color:var(--muted);font-size:.78rem;font-weight:650}.profile-billing-summary dd{margin:0;font-size:.94rem;font-weight:800}.profile-billing-note{color:var(--muted);font-size:.78rem;font-weight:650}.profile-dialog>.dialog-actions{grid-template-columns:1fr;display:grid}.profile-dialog button.secondary:not(.warning):not(.danger){background:color-mix(in srgb, var(--accent) 16%, var(--surface-alt));border:1px solid color-mix(in srgb, var(--accent-strong) 46%, var(--line));color:var(--accent-strong)}.profile-dialog button.secondary:not(.warning):not(.danger):hover:not(:disabled){background:color-mix(in srgb, var(--accent) 24%, var(--surface-alt));border-color:var(--accent-strong);color:var(--accent-strong)}.profile-status{overflow-wrap:anywhere;min-width:0}.upload-resume-actions{grid-template-columns:1fr;gap:8px;display:grid}.upload-resume-action{text-align:left;text-overflow:clip;white-space:normal;grid-template-columns:20px minmax(0,1fr);place-items:center start;gap:8px;width:100%;min-width:0;display:grid;overflow:hidden}.upload-resume-action svg{justify-self:center}.sr-only{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (max-width:1050px){.project-workspace{height:100dvh;min-height:0;overflow:hidden}.workspace-sidebar{width:240px}.tiled-workspace,.overview-content{grid-template-columns:1fr}.project-management-body{grid-template-columns:auto minmax(260px,1fr);overflow-x:auto}.project-management-body.settings-collapsed{grid-template-columns:auto minmax(260px,1fr);column-gap:0}.project-management-body.settings-unavailable{grid-template-columns:minmax(260px,1fr)}.workspace-settings-column{border-right:1px solid var(--line);height:100%;max-height:none;padding-right:18px;overflow-y:auto}.workspace-settings-motion{--workspace-settings-width:min(420px, 42vw)}.workspace-resize-handle{display:none}.tiled-workspace{overscroll-behavior-y:contain;grid-template-rows:none;grid-auto-rows:minmax(360px,60vh);align-content:start;gap:8px;overflow-y:auto}.workspace-split{display:contents}.tiled-workspace .dock-pane{min-height:min(60vh,520px)}}@media (max-width:680px){.workspace-app-shell{grid-template-columns:auto minmax(0,1fr)}.workspace-sidebar{width:64px;padding-bottom:52px}.workspace-sidebar:not(.collapsed){width:min(280px,100vw - 42px);position:fixed;box-shadow:18px 0 40px #0000004d}.workspace-sidebar.collapsed{width:56px}.project-management-body,.project-management-body.settings-open,.project-management-body.settings-collapsed,.project-management-body.settings-unavailable{grid-template-columns:minmax(0,1fr);overflow-x:hidden}.project-management-body.settings-collapsed .workspace-settings-motion{display:none}.workspace-settings-motion{--workspace-settings-width:100%}.workspace-sidebar.collapsed+.project-overview-page,.workspace-sidebar.collapsed+.project-workspace{min-width:0}.overview-topbar,.workspace-menubar{align-items:flex-start;gap:12px;display:grid}.overview-actions,.workspace-menu-left,.workspace-menu-right{flex-wrap:wrap}.background-operations,.workspace-menu-right .background-operation{width:100%;max-width:100%}.workspace-menu-right .background-operation{flex-basis:100%;min-width:min(250px,100%)}.workspace-tour-card{max-width:none;bottom:12px;right:12px;width:auto!important;top:auto!important;left:12px!important}.workspace-tour-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace-tour-actions button:first-child{grid-column:1/-1}.overview-content,.tiled-workspace{padding:10px}.overview-section-header,.new-workspace-inline{grid-template-columns:1fr;align-items:stretch;display:grid}.project-section-header{grid-template-columns:auto minmax(0,1fr);align-items:stretch}.workspace-selection-section .overview-section-header{grid-template-columns:auto minmax(240px,1fr);align-items:center}.workspace-selection-section .new-workspace-inline{grid-template-columns:minmax(120px,1fr) auto}.workspace-card-strip{grid-auto-columns:minmax(230px,82vw)}.dock-tabbar{grid-template-columns:minmax(0,1fr)}.pane-toolbar-actions{grid-column:1/-1;justify-content:flex-end;padding-bottom:5px}.asset-row,.asset-table-header,.area-image-row,.annotation-table-row,.annotation-table-header,.member-row,.invite-row,.invite-create-row,.invite-options-row,.data-source-row,.area-editor-row,.setting-item{grid-template-columns:1fr}.area-inline-actions,.data-source-actions{justify-content:flex-start}.area-image-row{align-items:start}.area-image-row strong{justify-self:start}}@media (max-width:480px){.workspace-selection-section .overview-section-header,.workspace-selection-section .new-workspace-inline{grid-template-columns:1fr;align-items:stretch}}@container asset-table (min-width:521px){.asset-row,.asset-table-header{grid-template-columns:var(--asset-table-columns)}.asset-table-header>:not(:first-child),.asset-row>:not(:first-child):not(.asset-more-actions){border-inline-start:1px solid color-mix(in srgb, currentColor 18%, transparent);min-block-size:24px;padding-inline-start:4px}.asset-view-time-cell,.asset-height-cell,.asset-capture-cell{text-align:center}.asset-annotation-count-cell{justify-content:center;align-items:center;min-width:0;display:flex}}@container asset-table (max-width:620px){.asset-row,.asset-table-header{gap:6px;padding-inline:7px}}@container asset-table (max-width:520px){.asset-table-header{display:none}.asset-row{grid-template-columns:1fr;align-content:start;gap:2px;padding:10px}.asset-name{font-weight:800}.asset-area-cell,.asset-connected-image-cell,.asset-view-time-cell,.asset-annotation-count-cell,.asset-category-cell,.asset-height-cell,.asset-capture-cell{text-align:left;grid-template-columns:70px minmax(0,1fr);place-self:auto stretch;gap:8px;width:100%;min-width:0;margin-left:0;display:grid}.asset-category-cell .image-category-dots{justify-content:flex-start}.asset-annotation-count{color:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;text-align:left;background:0 0;border-radius:0;justify-self:start;min-width:0;padding:0}.asset-row>:not(:first-child):not(.asset-more-actions){border-block-start:1px solid color-mix(in srgb, currentColor 18%, transparent);padding-block-start:3px}.asset-area-cell:before,.asset-connected-image-cell:before,.asset-view-time-cell:before,.asset-annotation-count-cell:before,.asset-category-cell:before,.asset-height-cell:before,.asset-capture-cell:before{color:var(--asset-row-muted);content:attr(data-label);letter-spacing:0;transition:color var(--duration-normal) var(--ease-standard);text-transform:uppercase;font-size:.68rem;font-weight:800}}@container annotation-table (min-width:521px){.annotation-table-row,.annotation-table-header{grid-template-columns:var(--annotation-table-columns)}.annotation-table-header>:not(:first-child),.annotation-table-row>span:not(:first-child){border-inline-start:1px solid color-mix(in srgb, currentColor 18%, transparent);min-block-size:24px;padding-inline-start:4px}.annotation-number{justify-content:center}}@container annotation-table (max-width:620px){.annotation-table-row,.annotation-table-header{gap:5px;padding-inline:6px}.annotation-description-cell>span{-webkit-line-clamp:1;max-height:1.25em}}@container annotation-table (max-width:520px){.annotation-table-header{display:none}.annotation-table-row{grid-template-columns:64px minmax(0,1fr);grid-template-areas:"thumb number""thumb image""description description""author author""created created""updated updated";align-content:start;gap:7px 10px;padding:10px}.annotation-thumbnail-cell{grid-area:thumb;justify-self:start;width:60px;max-width:60px}.annotation-number{grid-area:number;place-self:end start}.annotation-image-cell{grid-area:image;align-self:start}.annotation-description-cell{grid-area:description;grid-template-columns:78px minmax(0,1fr);gap:8px;max-height:none;display:grid}.annotation-author-cell{text-align:left;grid-area:author;grid-template-columns:58px minmax(0,1fr);justify-self:stretch;justify-items:start;gap:8px;display:grid}.annotation-created-cell{grid-area:created}.annotation-updated-cell{grid-area:updated}.annotation-date-cell{text-align:left;grid-template-columns:58px minmax(0,1fr);justify-items:start;gap:1px 8px}.annotation-author-cell:before{content:"Name"}.annotation-created-cell:before{content:"Created"}.annotation-updated-cell:before{content:"Updated"}.annotation-author-cell:before,.annotation-date-cell:before{color:var(--annotation-row-label);letter-spacing:0;transition:color var(--duration-normal) var(--ease-standard);text-transform:uppercase;align-self:center;font-size:.68rem;font-weight:800}.annotation-date-cell:before{grid-row:1/span 2}.annotation-date-cell span,.annotation-date-cell small{grid-column:2}.annotation-description-cell>span{-webkit-line-clamp:2;-webkit-box-orient:vertical;max-height:2.5em;line-height:1.25}.annotation-description-cell:before{content:"Description";color:var(--annotation-row-label);letter-spacing:0;transition:color var(--duration-normal) var(--ease-standard);text-transform:uppercase;font-size:.68rem;font-weight:800}.annotation-table.configurable-table .annotation-table-header{display:none}.annotation-table.configurable-table .annotation-table-row{grid-template-columns:minmax(0,1fr);grid-template-areas:none;align-content:start;align-items:stretch;gap:3px;padding:10px}.annotation-table.configurable-table .annotation-table-row>span{text-align:left;grid-area:auto;grid-template-columns:minmax(78px,.35fr) minmax(0,1fr);place-self:auto stretch;justify-items:start;gap:8px;width:100%;max-width:none;min-height:22px;max-height:none;display:grid}.annotation-table.configurable-table .annotation-table-row>span:not(:first-child){border-block-start:1px solid color-mix(in srgb, currentColor 18%, transparent);padding-block-start:3px}.annotation-table.configurable-table .annotation-compact-label{color:var(--annotation-row-label);text-overflow:ellipsis;text-transform:uppercase;max-width:100%;transition:color var(--duration-normal) var(--ease-standard);white-space:nowrap;align-self:center;font-size:.68rem;font-weight:800;line-height:1.15;display:block;overflow:hidden}.annotation-table.configurable-table .annotation-cell-value{text-align:left;grid-column:2;place-self:center stretch;width:100%;max-width:100%}.annotation-table.configurable-table .annotation-thumbnail-cell{height:auto;min-height:48px}.annotation-table.configurable-table .annotation-thumbnail-value{grid-column:2;justify-self:start;max-width:120px}.annotation-table.configurable-table .annotation-number{color:inherit;font-size:inherit;font-weight:inherit;background:0 0;border:0;border-radius:0;padding:0}.annotation-table.configurable-table .annotation-number .annotation-cell-value{display:inline-flex}.annotation-table.configurable-table .annotation-image-cell,.annotation-table.configurable-table .annotation-description-cell{min-height:34px}.annotation-table.configurable-table .annotation-description-cell>span{-webkit-line-clamp:2;-webkit-box-orient:vertical;max-height:2.5em;line-height:1.25;display:-webkit-box}.annotation-table.configurable-table .annotation-date-cell{min-height:30px}.annotation-table.configurable-table .annotation-date-cell .annotation-cell-value{justify-items:start;gap:1px}.annotation-table.configurable-table .annotation-author-cell:before,.annotation-table.configurable-table .annotation-date-cell:before,.annotation-table.configurable-table .annotation-description-cell:before{content:none}.annotation-table.configurable-table .annotation-date-cell span,.annotation-table.configurable-table .annotation-date-cell small{grid-column:auto}}@container area-organizer (max-width:620px){.area-organizer-header{grid-template-columns:30px minmax(0,1fr) 34px}.area-organizer-header .area-name-input{grid-column:2}.area-organizer-header .area-expand-button{grid-area:1/3}.area-organizer-header .area-count-summary{grid-column:2/-1}.area-organizer-header .area-inline-actions{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));justify-content:stretch;display:grid}.area-organizer-header .area-inline-actions button{justify-content:center;width:100%;min-width:0}}@container area-organizer (max-width:420px){.area-organizer-header{grid-template-columns:30px minmax(0,1fr) 34px}.area-organizer-header .area-inline-actions{grid-column:1/-1}.area-organizer-header .area-count-summary{grid-column:2/-1}.area-organizer-header .area-expand-button{grid-column:3}.area-image-row{grid-template-columns:18px minmax(0,1fr) auto}.area-image-row small{grid-column:2/-1}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}button:hover:not(:disabled),.workspace-sidebar-item:hover,.workspace-sidebar-brand-button:hover,.sidebar-profile-button:hover,.workspace-selection-card:hover,.project-overview-card-action:hover,.asset-row:hover,.review-file-row:hover,.area-organizer-card.drop-target,.area-organizer-card.dragging{transform:none!important}.workspace-hover-preview,.workspace-hover-preview-paper,.workspace-hover-preview-single{animation-delay:0s!important}}.admin-console{background:var(--bg);color:var(--text);grid-template-columns:244px minmax(0,1fr);min-height:100dvh;display:grid}.admin-console.report-templates-active{height:100dvh;min-height:0;overflow:hidden}.admin-console.report-templates-active .admin-sidebar,.admin-console.report-templates-active .admin-main{height:100%;min-height:0}.admin-console.report-templates-active .admin-sidebar{overflow:auto}.admin-console.report-templates-active .admin-main{overflow:hidden}.admin-sidebar{--muted:var(--surface-strong-muted);--text:var(--surface-strong-text);background:var(--surface-strong);border-right:1px solid var(--line);grid-template-rows:auto minmax(0,1fr);gap:18px;min-height:100dvh;padding:18px 12px;display:grid;position:sticky;top:0}.admin-brand{color:var(--text);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;padding:4px 8px 12px;text-decoration:none;display:grid}.admin-brand-mark{width:34px;height:34px;padding:1px}.admin-brand span:last-child{gap:1px;display:grid}.admin-brand small{color:var(--muted);font-weight:700}.admin-sidebar nav{align-content:start;gap:5px;min-width:0;display:grid}.admin-sidebar nav button{color:var(--text);text-align:left;background:0 0;border:1px solid #0000;border-radius:8px;grid-template-columns:auto minmax(0,1fr);justify-content:start;min-height:40px;padding:0 10px;display:grid}.admin-sidebar nav button:hover:not(:disabled),.admin-sidebar nav button.active{background:var(--nav-active);border-color:var(--line);color:var(--accent-strong)}.admin-main{grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0;display:grid}.admin-topbar{background:var(--nav-bg);border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(360px,auto);align-items:center;gap:16px;min-height:68px;padding:12px 20px;display:grid}.admin-topbar h1{margin:2px 0 0;font-size:1.42rem;line-height:1.15}.admin-topbar-actions{grid-template-columns:minmax(180px,320px) 150px auto 36px;justify-content:end;align-items:center;gap:10px;display:grid}.admin-topbar-actions.with-primary-action{grid-template-columns:auto minmax(180px,320px) 150px auto 36px}.admin-search{background:var(--field-bg);border:1px solid var(--line);border-radius:var(--radius-control);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;padding:0 10px;display:grid}.admin-search input{box-shadow:none;background:0 0;border:0;min-height:38px;padding-left:0}.admin-content{align-content:stretch;gap:14px;min-height:0;padding:18px 20px 22px;display:grid;overflow:auto}.admin-content.report-templates-active{gap:0;padding:0;overflow:hidden}.admin-content>*{width:100%;min-width:0}.admin-error,.admin-loading,.admin-empty{color:var(--muted);align-items:center;gap:9px;min-height:64px;padding:16px;display:flex}.admin-error{background:var(--danger-bg);border-bottom:1px solid var(--danger-line);color:#ffe1e1;min-height:0}.admin-loading svg{animation:.9s linear infinite spin}.admin-overview-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.admin-span-2{grid-column:span 2}.admin-stat-card,.admin-panel{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-subtle);border-radius:8px}.admin-stat-card{align-content:start;gap:6px;min-height:142px;padding:16px;display:grid}.admin-stat-card svg{color:var(--accent-strong)}.admin-stat-card.warning svg{color:var(--warning)}.admin-stat-card.ok svg{color:var(--success)}.admin-stat-card span,.admin-stat-card small,.admin-key-value span,.admin-metric span,.admin-alert-row p,.admin-alert-row>span,.admin-rule-row small,.admin-table-frame small{color:var(--muted)}.admin-stat-card strong{font-size:1.7rem;line-height:1.08}.admin-warning-text{font-weight:700;color:var(--warning)!important}.admin-danger-text{font-weight:700;color:var(--danger)!important}.admin-panel{align-content:start;gap:14px;padding:14px;display:grid}.admin-panel-header{justify-content:space-between;align-items:center;gap:12px;min-width:0;display:flex}.admin-panel-header>div{align-items:center;gap:8px;min-width:0;display:flex}.admin-panel-header-actions,.admin-modal-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.admin-info-tip{background:var(--surface-alt);border:1px solid var(--line);color:var(--muted);cursor:help;border-radius:999px;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex;position:relative}.admin-info-tip:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.admin-info-tip>span{--muted:var(--surface-strong-muted);--text:var(--surface-strong-text);background:var(--surface-strong);border:1px solid var(--line);box-shadow:var(--shadow-raised);color:var(--text);opacity:0;pointer-events:none;text-transform:none;max-width:min(320px,100vw - 32px);transition:opacity var(--duration-fast) ease, transform var(--duration-fast) var(--ease-standard);z-index:5;border-radius:8px;width:max-content;padding:9px 10px;font-size:.78rem;font-weight:650;line-height:1.35;position:absolute;top:calc(100% + 8px);right:0;transform:translateY(-2px)}.admin-info-tip:hover>span,.admin-info-tip:focus-visible>span{opacity:1;transform:translateY(0)}.admin-panel-header h2,.admin-modal h2,.admin-report-grid h3{margin:0;font-size:1rem;line-height:1.2}.admin-metric-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.admin-metric,.admin-key-value{background:var(--surface-alt);border:1px solid var(--line);border-radius:8px;gap:4px;min-width:0;padding:10px;display:grid}.admin-metric strong{font-size:1.18rem}.admin-list,.admin-alert-stack,.admin-rule-list{gap:8px;display:grid}.admin-alert-row{background:var(--surface-alt);border:1px solid var(--line);border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;min-width:0;padding:10px;display:grid}.admin-alert-row p{margin:2px 0 0}.admin-table-frame{background:var(--surface);border:1px solid var(--line);border-radius:8px;height:calc(100dvh - 108px);min-height:0;overflow:auto}.admin-virtual-table{position:relative}.admin-virtual-table-header{background:var(--surface-alt);border-bottom:1px solid var(--line);color:var(--muted);text-transform:uppercase;z-index:2;min-width:920px;font-size:.75rem;font-weight:800;display:grid;position:sticky;top:0}.admin-virtual-table-header>div{align-items:center;min-width:0;min-height:40px;padding:0 12px;display:flex}.admin-virtual-spacer{min-width:920px;position:relative}.admin-virtual-row{border-bottom:1px solid var(--line);min-width:920px;display:grid;position:absolute;top:0;left:0;right:0}.admin-virtual-cell{align-content:center;gap:2px;min-width:0;padding:8px 12px;display:grid}.admin-virtual-cell>strong,.admin-virtual-cell>span,.admin-virtual-cell>small{text-overflow:ellipsis;white-space:nowrap;max-width:100%;display:block;overflow:hidden}.admin-align-center{text-align:center;justify-items:center}.admin-align-right{text-align:right;justify-items:end}.admin-table-frame table{border-collapse:collapse;width:100%;min-width:920px}.admin-table-frame th,.admin-table-frame td{border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;padding:11px 12px}.admin-table-frame th{background:var(--surface-alt);color:var(--muted);text-transform:uppercase;z-index:1;font-size:.75rem;font-weight:800;position:sticky;top:0}.admin-sort-header{color:inherit;font-size:inherit;font-weight:inherit;text-align:left;min-height:24px;text-transform:inherit;background:0 0;justify-content:flex-start;width:100%;padding:0;line-height:1;display:inline-flex}.admin-sort-header svg{color:color-mix(in srgb, var(--muted) 76%, transparent);margin-left:auto}.admin-sort-header.active,.admin-sort-header:hover:not(:disabled){box-shadow:none;color:var(--text);background:0 0}.admin-table-frame td{line-height:1.28}.admin-table-frame td.admin-centered-cell{text-align:center;vertical-align:middle}.admin-centered-cell .admin-pill,.admin-centered-cell .admin-role-chip,.admin-centered-cell .admin-tier-chip{margin-left:auto;margin-right:auto}.admin-table-frame td>strong,.admin-table-frame td>span,.admin-table-frame td>small{text-overflow:ellipsis;white-space:nowrap;max-width:360px;display:block;overflow:hidden}.admin-table-frame td>.admin-pill,.admin-table-frame td>.admin-role-chip,.admin-table-frame td>.admin-tier-chip,.admin-virtual-cell>.admin-pill,.admin-virtual-cell>.admin-role-chip,.admin-virtual-cell>.admin-tier-chip{display:inline-flex}.admin-row-actions{gap:6px;display:flex}.admin-pill{background:var(--surface-alt);border:1px solid var(--line);color:var(--text);text-align:center;text-transform:uppercase;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;min-width:74px;min-height:24px;padding:0 9px;font-size:.72rem;font-weight:800;line-height:1;display:inline-flex}.admin-pill.ok{background:color-mix(in srgb, var(--success) 12%, var(--surface-alt));border-color:color-mix(in srgb, var(--success) 42%, var(--line));color:var(--success)}.admin-pill.warning{background:var(--warning-bg);border-color:var(--warning-line);color:var(--warning)}.admin-pill.danger{background:var(--danger-bg);border-color:var(--danger-line);color:var(--danger)}.admin-feature-badges{flex-wrap:wrap;gap:5px;max-width:260px;display:flex}.admin-feature-badges span{background:var(--surface-alt);border:1px solid var(--line);color:var(--muted);border-radius:999px;justify-content:center;align-items:center;min-height:22px;padding:3px 7px;font-size:.7rem;font-weight:750;line-height:1;display:inline-flex}.admin-feature-badges span.enabled{border-color:color-mix(in srgb, var(--accent-strong) 45%, var(--line));color:var(--accent-strong)}.admin-role-chip,.admin-tier-chip,.admin-kind-chip{text-align:center;text-transform:uppercase;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;min-height:24px;padding:0 9px;font-size:.72rem;font-weight:800;line-height:1;display:inline-flex}.admin-role-chip{background:color-mix(in srgb, var(--accent) 12%, var(--surface-alt));border:1px solid color-mix(in srgb, var(--accent-strong) 38%, var(--line));color:var(--accent-strong)}.admin-tier-chip{background:color-mix(in srgb, var(--focus) 14%, var(--surface-alt));border:1px solid color-mix(in srgb, var(--focus) 42%, var(--line));color:var(--focus);min-width:64px}.admin-kind-chip{background:var(--surface-alt);border:1px solid var(--line);color:var(--muted);min-width:58px}.admin-kind-chip.job{border-color:color-mix(in srgb, var(--accent-strong) 38%, var(--line));color:var(--accent-strong)}.admin-kind-chip.upload{border-color:color-mix(in srgb, var(--success) 38%, var(--line));color:var(--success)}.admin-kind-chip.email{border-color:color-mix(in srgb, var(--warning) 38%, var(--line));color:var(--warning)}.admin-kind-chip.cleanup{border-color:color-mix(in srgb, var(--focus) 38%, var(--line));color:var(--focus)}.admin-operation-kind{margin-top:7px}.admin-error-snippet{cursor:help}.admin-page-footer{color:var(--muted);justify-content:space-between;align-items:center;display:flex}.admin-operations-layout{grid-template-columns:minmax(0,1fr);align-items:start;gap:12px;min-height:0;display:grid}.admin-cleanup-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.admin-cleanup-preview{background:var(--surface-alt);border:1px solid var(--line);border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:10px 12px;display:flex}.admin-cleanup-preview span{color:var(--muted)}.admin-settings-grid,.admin-alert-layout{grid-template-columns:minmax(0,1fr) minmax(340px,.56fr);align-items:start;gap:12px;height:calc(100dvh - 108px);min-height:0;display:grid}.admin-alert-layout .admin-table-frame,.admin-alert-layout .admin-panel{height:100%;min-height:0}.admin-alert-layout .admin-rule-list{min-height:0;overflow:auto}.admin-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.admin-settings-stack{gap:14px;width:100%;display:grid}.admin-settings-stack .admin-settings-grid{height:auto}.admin-settings-grid .admin-panel{border-top:3px solid var(--accent-strong)}.admin-settings-grid .admin-panel:nth-child(2){border-top-color:var(--success)}.admin-recipient-form{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;display:grid}.admin-recipient-form button,.admin-settings-save{justify-self:start;width:auto}.admin-recipient-list{gap:7px;min-height:0;max-height:264px;display:grid;overflow:auto}.admin-recipient-row{background:var(--surface-alt);border:1px solid var(--line);border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:7px 8px 7px 11px;display:grid}.admin-recipient-row>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-recipient-empty{color:var(--muted);margin:0;padding:8px 0}.admin-inquiry-modal{width:min(760px,100%);max-width:760px}.admin-inquiry-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.admin-inquiry-summary .admin-key-value strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-inquiry-message,.admin-inquiry-approval{background:var(--surface-alt);border:1px solid var(--line);border-radius:8px;padding:11px 12px}.admin-inquiry-message>span{color:var(--muted);text-transform:uppercase;font-size:.76rem;font-weight:750}.admin-inquiry-message p{white-space:pre-wrap;max-height:150px;margin:6px 0 0;line-height:1.5;overflow:auto}.admin-inquiry-approval{gap:14px;display:grid}.admin-inquiry-approval-heading{align-items:start;gap:9px;display:flex}.admin-inquiry-approval-heading>svg{color:var(--accent-strong);flex:none;margin-top:2px}.admin-inquiry-approval-heading>span{gap:3px;display:grid}.admin-inquiry-approval small{color:var(--muted);line-height:1.35}.admin-inquiry-limit-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.admin-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:10px;display:grid}.admin-form-grid>button{justify-self:start;width:auto;min-width:156px}.admin-form-section{color:var(--muted);letter-spacing:0;text-transform:uppercase;align-items:center;gap:6px;font-size:.78rem;font-weight:700;display:inline-flex}.admin-form-wide{grid-column:1/-1}.admin-copy-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.admin-copy-row input{font-family:var(--mono-font,ui-monospace, SFMono-Regular, Consolas, monospace);min-width:0}.admin-copy-row-with-close{grid-template-columns:minmax(0,1fr) auto auto}.admin-toggle-grid{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.admin-toggle{background:var(--surface-alt);border:1px solid var(--line);color:var(--text);border-radius:999px;align-items:center;gap:8px;min-height:30px;padding:0 10px;display:inline-flex}.admin-toggle input{accent-color:var(--accent);width:auto;margin:0}.admin-rule-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(116px,132px) auto;align-items:center;gap:10px;padding:8px 0;display:grid}.admin-rule-row:last-child{border-bottom:0}.admin-rule-row>div{min-width:0;display:grid}.admin-rule-row strong,.admin-rule-row small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-ai-rule-row{grid-template-columns:minmax(0,1fr) minmax(106px,124px) minmax(96px,auto) auto}.admin-ai-rule-row>small,.admin-ai-rule-row>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.admin-severity-select{text-transform:none;min-height:34px;padding:7px 32px 7px 10px;font-size:.78rem;font-weight:750}.admin-modal-backdrop{z-index:80;background:#00000075;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.admin-modal{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-raised);border-radius:8px;gap:16px;width:min(680px,100%);max-width:680px;max-height:min(760px,100vh - 40px);padding:18px;display:grid;overflow:auto}.admin-modal header,.admin-modal footer{justify-content:space-between;align-items:center;gap:12px;display:flex}.admin-modal footer{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));display:grid}.admin-modal footer button{width:100%;min-width:0}.admin-create-user-modal{max-width:560px}.admin-dialog-note{color:var(--muted);margin:0;line-height:1.45}.admin-dialog-error{border:1px solid var(--danger-line);border-radius:8px;min-height:0;padding:10px 12px}.admin-reason-modal{max-width:460px}.admin-report-modal,.admin-log-modal{width:min(980px,100%);max-width:980px}.admin-log-facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.admin-log-facts>div,.admin-log-section{background:var(--surface-alt);border:1px solid var(--line);border-radius:8px;gap:5px;min-width:0;padding:10px 12px;display:grid}.admin-log-facts span{color:var(--muted)}.admin-log-section pre{font-family:var(--font-mono), monospace;white-space:pre-wrap;word-break:break-word;max-height:320px;margin:0;font-size:.78rem;line-height:1.5;overflow:auto}.admin-report-summary{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.admin-report-fact,.admin-report-scope,.admin-report-section{background:var(--surface-alt);border:1px solid var(--line);border-radius:8px}.admin-report-fact{gap:2px;min-width:0;padding:9px 10px;display:grid}.admin-report-fact span,.admin-report-row span,.admin-report-empty,.admin-report-scope p{color:var(--muted)}.admin-report-fact strong,.admin-report-row strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-report-scope{gap:4px;padding:10px 12px;display:grid}.admin-report-scope p{margin:0}.admin-report-sections{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.admin-report-section{gap:0;min-width:0;display:grid}.admin-report-section header{border-bottom:1px solid var(--line);padding:9px 10px;display:flex}.admin-report-section header span{color:var(--muted);font-weight:800}.admin-report-list{max-height:176px;display:grid;overflow:auto}.admin-report-row,.admin-report-empty{border-bottom:1px solid var(--line);gap:2px;min-width:0;padding:8px 10px;display:grid}.admin-report-row:last-child,.admin-report-empty:last-child{border-bottom:0}@media (max-width:1120px){.admin-console{grid-template-columns:72px minmax(0,1fr)}.admin-brand span:last-child,.admin-sidebar nav button span{display:none}.admin-brand,.admin-sidebar nav button{justify-content:center}.admin-topbar{grid-template-columns:1fr}.admin-topbar-actions{grid-template-columns:minmax(0,1fr) 140px auto 36px;justify-content:stretch}.admin-topbar-actions.with-primary-action{grid-template-columns:auto minmax(0,1fr) 140px auto 36px}.admin-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-settings-grid,.admin-alert-layout,.admin-report-summary,.admin-log-facts{grid-template-columns:1fr}.admin-cleanup-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){.admin-console{grid-template-columns:1fr}.admin-sidebar{border-bottom:1px solid var(--line);border-right:0;min-height:0;padding:10px;position:static;overflow-x:auto}.admin-sidebar nav{grid-auto-columns:44px;grid-auto-flow:column;overflow-x:auto}.admin-topbar-actions,.admin-topbar-actions.with-primary-action,.admin-overview-grid,.admin-metric-grid,.admin-form-grid,.admin-recipient-form,.admin-inquiry-summary,.admin-inquiry-limit-grid,.admin-report-sections{grid-template-columns:1fr}.admin-ai-rule-row{grid-template-columns:minmax(0,1fr) auto;align-items:start}.admin-ai-rule-row>small,.admin-ai-rule-row>span{grid-column:1/-1}.admin-span-2{grid-column:auto}.admin-content{padding:12px}}.middle-ellipsis-text{line-height:inherit;min-width:0;max-width:100%;text-align:inherit;white-space:nowrap;flex:auto;width:100%;display:flex;overflow:hidden}.middle-ellipsis-text>.middle-ellipsis-text-prefix,.middle-ellipsis-text>.middle-ellipsis-text-suffix{color:inherit;font:inherit;white-space:nowrap;min-width:0;display:block;overflow:hidden}.middle-ellipsis-text>.middle-ellipsis-text-prefix{text-overflow:ellipsis;flex:0 auto}.middle-ellipsis-text>.middle-ellipsis-text-suffix{text-overflow:clip;flex:0 auto;justify-content:flex-end;display:flex}.middle-ellipsis-text-suffix-content{color:inherit;font:inherit;white-space:nowrap;flex:none;display:block}.maintenance-banner{background:var(--warning-bg);border-bottom:1px solid var(--warning-line);color:var(--text);z-index:30;grid-template-columns:auto minmax(0,1fr) auto;align-items:flex-start;gap:12px;padding:11px max(16px,50vw - 720px);display:grid;position:relative}.maintenance-banner.active{background:color-mix(in srgb, var(--danger-bg) 78%, var(--surface));border-bottom-color:var(--danger-line)}.maintenance-banner>svg{color:var(--warning);align-self:center;width:36px;height:36px}.maintenance-banner.active>svg{color:var(--danger)}.maintenance-banner>div{gap:2px;line-height:1.35;display:grid}.maintenance-banner strong,.maintenance-banner span,.maintenance-banner small{display:block}.maintenance-banner small{color:var(--muted);white-space:pre-wrap}.maintenance-screen{background:radial-gradient(circle at 20% 15%, color-mix(in srgb, var(--accent) 12%, transparent), transparent 34%), var(--bg);place-items:center;min-height:100dvh;padding:24px;display:grid;position:relative}.maintenance-screen-language{right:max(16px, env(safe-area-inset-right));top:max(16px, env(safe-area-inset-top));z-index:40;position:fixed}.maintenance-card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-raised);border-radius:12px;gap:16px;width:100%;max-width:660px;padding:clamp(22px,5vw,44px);display:grid}.maintenance-card h1,.maintenance-card p{margin:0}.maintenance-brand-lockup{align-items:center;gap:12px;display:flex}.maintenance-brand-lockup .maintenance-logo{width:54px;height:54px}.maintenance-wordmark{color:var(--text);width:160px;height:auto;display:block}.maintenance-card dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;display:grid}.maintenance-card dl>div,.maintenance-note{background:var(--surface-alt);border:1px solid var(--line);border-radius:8px;gap:4px;padding:12px;display:grid}.maintenance-card dt{color:var(--muted);text-transform:uppercase;font-size:.76rem;font-weight:750}.maintenance-card dd{margin:0;font-weight:700}.maintenance-form-actions{flex-wrap:wrap;gap:9px;display:flex}.maintenance-admin-stack{align-content:start;gap:14px;display:grid}.maintenance-admin-form{container-type:inline-size}.maintenance-default-time-grid,.maintenance-email-settings-grid,.maintenance-notes-grid{align-items:end;gap:10px;display:grid}.maintenance-default-time-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.maintenance-email-settings-grid,.maintenance-notes-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.maintenance-email-settings-grid{align-items:stretch}@container (max-width:680px){.maintenance-default-time-grid,.maintenance-email-settings-grid,.maintenance-notes-grid{grid-template-columns:1fr}}.maintenance-admin-intro>p{color:var(--muted);margin:0}.maintenance-admin-message{border:1px solid var(--danger-line);border-radius:8px}.maintenance-admin-notice{background:color-mix(in srgb, var(--success) 10%, var(--surface));border:1px solid color-mix(in srgb, var(--success) 42%, var(--line));color:var(--success);border-radius:8px;padding:12px 14px;font-weight:700}.maintenance-email-toggle{align-items:center;min-height:62px;display:flex}.maintenance-mail-warning,.maintenance-window-meta{color:var(--warning);align-items:flex-start;gap:7px;margin:0;display:flex}.maintenance-mail-warning>svg,.maintenance-window-meta>svg{flex:none;margin-top:2px}.maintenance-window-list{gap:10px;display:grid}.maintenance-window-card{background:var(--surface-alt);border:1px solid var(--line);border-radius:8px;gap:12px;padding:14px;display:grid}.maintenance-window-card.active{background:color-mix(in srgb, var(--warning) 5%, var(--surface-alt));border-color:var(--warning-line)}.maintenance-window-card>header,.maintenance-window-card>footer{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.maintenance-window-card>footer{border-top:1px solid var(--line);padding-top:12px}.maintenance-window-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;display:grid}.maintenance-window-facts>div,.maintenance-queue-state{background:var(--surface);border:1px solid var(--line);border-radius:7px;gap:4px;padding:9px 10px;display:grid}.maintenance-window-facts dt{color:var(--muted);text-transform:uppercase;font-size:.72rem;font-weight:750}.maintenance-window-facts dd{margin:0;font-weight:650}.maintenance-window-notes{border-left:2px solid var(--line-strong);gap:4px;padding-left:10px;display:grid}.maintenance-window-notes p{white-space:pre-wrap;margin:0}.maintenance-queue-state>div{flex-wrap:wrap;gap:6px;display:flex}.maintenance-queue-state span{background:var(--surface-alt);border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:4px 8px;font-size:.75rem}.admin-pill.maintenance-active,.admin-pill.maintenance-announced{background:var(--warning-bg);border-color:var(--warning-line);color:var(--warning)}.admin-pill.maintenance-completed{background:color-mix(in srgb, var(--success) 12%, var(--surface-alt));border-color:color-mix(in srgb, var(--success) 42%, var(--line));color:var(--success)}.admin-pill.maintenance-canceled,.admin-pill.maintenance-ended_early{background:var(--danger-bg);border-color:var(--danger-line);color:var(--danger)}@media (max-width:760px){.maintenance-banner{padding:10px 12px}.maintenance-card dl,.maintenance-window-facts{grid-template-columns:1fr}.maintenance-screen{align-items:start;padding:12px}}.annotation-export-id-cell .middle-ellipsis-text,.annotation-author-cell .middle-ellipsis-text,.annotation-custom-field-cell .middle-ellipsis-text{justify-content:center}@media (max-width:620px){.project-search-backdrop{padding:0}.project-search-dialog{border:0;border-radius:0;max-width:none;height:100dvh;max-height:none}.project-search-match{display:none}.project-search-footer{padding-bottom:max(8px, env(safe-area-inset-bottom))}}
