:root{--brand-red:#dd503c;--brand-red-dark:#b83f2f;--brand-red-soft:#f9e2df;--brand-gray-light:#dbe1dc;--brand-gray-dark:#535656;--background:#eef1ee;--foreground:#252c2c;--muted:#5f6865;--line:#c8d0ca;--panel:#fbfcfb;--panel-soft:#e6ebe7;--accent:var(--brand-red);--accent-dark:var(--brand-red-dark);--danger:#b73527;--warning:#9a6700;--ok:#16803c}*{box-sizing:border-box}body,html{margin:0;min-height:100%}body{background:var(--background);color:var(--foreground);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.shell{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:100vh}.sidebar{background:var(--brand-gray-dark);color:#fbfcfb;gap:24px;height:100vh;left:0;overflow-y:auto;padding:24px 18px;position:-webkit-sticky;position:sticky;top:0}.brand,.sidebar{display:flex;flex-direction:column}.brand{gap:3px;padding:0 6px}.brand-product-name{color:#fbfcfb;font-size:18px;font-weight:800;line-height:1.15;margin-top:2px}.brand span{color:#dce3df;font-size:13px}.company-logo{align-items:center;display:inline-flex;max-width:100%}.company-logo.large{display:flex;justify-content:center;margin-bottom:10px}.company-logo-image{display:block;height:auto;max-width:100%;object-fit:contain;width:200px}.company-logo.large .company-logo-image{width:min(100%,360px)}.login-product-name{color:var(--brand-gray-dark);font-size:24px;font-weight:800;line-height:1.15;margin:0 0 18px;text-align:center}.nav{display:grid;grid-gap:6px;gap:6px}.nav a{align-items:center;border-radius:8px;color:#eef3ef;display:flex;gap:10px;min-height:40px;padding:9px 10px}.nav a:hover{background:rgba(255,255,255,.12)}.sidebar-logout{background:transparent}.sidebar-logout,.sidebar-mode-toggle{align-items:center;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:#eef3ef;cursor:pointer;display:flex;gap:10px;min-height:40px;padding:9px 10px;text-align:left;width:100%}.sidebar-mode-toggle{background:rgba(221,80,60,.18)}.sidebar-mode-toggle:hover{background:rgba(221,80,60,.28)}.sidebar-logout:hover{background:rgba(255,255,255,.12)}.sidebar-secondary-nav{border-top:1px solid rgba(255,255,255,.14);margin-top:auto;padding-top:10px}.sidebar-user{align-items:center;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:8px;color:#eef3ef;display:grid;grid-gap:10px;gap:10px;grid-template-columns:auto minmax(0,1fr);margin-top:auto;padding:10px}.sidebar-user svg{color:#fbfcfb}.sidebar-user div{display:grid;grid-gap:2px;gap:2px;min-width:0}.sidebar-user small,.sidebar-user span{color:#dce3df;font-size:12px;font-weight:700}.sidebar-user strong{color:#fbfcfb;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-user-password{align-items:center;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:8px;color:#eef3ef;cursor:pointer;display:inline-flex;font-size:12px;font-weight:800;gap:6px;grid-column:1/-1;justify-content:center;min-height:32px;padding:6px 8px}.sidebar-user-password:hover{background:rgba(255,255,255,.14)}.password-dialog-backdrop{align-items:center;background:rgba(37,44,44,.55);display:grid;inset:0;padding:24px;position:fixed;z-index:40}.password-dialog{box-shadow:0 20px 80px rgba(0,0,0,.24);justify-self:center;max-width:520px;width:min(100%,520px)}.main{min-width:0;padding:28px}.topbar{align-items:center;display:flex;justify-content:space-between;gap:16px;margin-bottom:24px}.eyebrow{color:var(--muted);font-size:13px;font-weight:600;margin:0 0 4px;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1{font-size:30px;line-height:1.15;margin-bottom:8px}h2{font-size:20px}.title-with-badge{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.beta-badge{background:var(--brand-red-soft);border:1px solid rgba(221,80,60,.28);border-radius:999px;color:var(--brand-red-dark);font-size:11px;font-weight:800;line-height:1;padding:4px 7px;text-transform:uppercase}.muted{color:var(--muted)}.grid{display:grid;grid-gap:16px;gap:16px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.card{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:18px}.metric{display:grid;grid-gap:4px;gap:4px}.metric strong{font-size:28px}.storage-card{display:grid;grid-gap:14px;gap:14px}.storage-metrics{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.storage-metrics div{background:var(--panel-soft);border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:4px;gap:4px;padding:12px}.storage-metrics strong{font-size:22px}.info-hero{align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:8px;display:flex;gap:18px;justify-content:space-between;margin-bottom:16px;padding:18px}.info-hero>div:first-child{display:grid;grid-gap:8px;gap:8px;max-width:760px}.info-hero h2,.info-hero p{margin:0}.info-hero svg{color:var(--accent)}.info-quick-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.info-section{margin-top:16px}.info-guide-grid,.info-section{display:grid;grid-gap:12px;gap:12px}.info-guide-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.info-guide-card{background:var(--panel);border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:12px;gap:12px;grid-template-columns:auto minmax(0,1fr);padding:16px}.info-guide-card>svg{color:var(--accent);margin-top:2px}.info-guide-card h3{font-size:16px;margin:0 0 6px}.info-guide-card p{line-height:1.5;margin:0}.print-only{display:none}.tutorial-anchor-nav{background:var(--panel);display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px;padding:10px;position:-webkit-sticky;position:sticky;top:12px;z-index:5}.tutorial-anchor-nav,.tutorial-anchor-nav a{border:1px solid var(--line);border-radius:8px}.tutorial-anchor-nav a{background:var(--panel-soft);color:var(--foreground);font-size:13px;font-weight:800;padding:8px 10px}.tutorial-anchor-nav a:hover{background:var(--brand-red-soft)}.tutorial-layout{align-items:start;display:grid;grid-gap:18px;gap:18px;grid-template-columns:260px minmax(0,1fr)}.tutorial-menu{background:var(--panel);border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:12px;gap:12px;max-height:calc(100vh - 32px);overflow-y:auto;padding:14px;position:-webkit-sticky;position:sticky;top:12px}.tutorial-menu-title{align-items:center;display:flex;gap:8px}.tutorial-menu-title svg{color:var(--accent)}.tutorial-menu-section{border-top:1px solid var(--line);display:grid;grid-gap:7px;gap:7px;padding-top:10px}.tutorial-menu-group-link{color:var(--foreground);font-size:13px;font-weight:900}.tutorial-menu-links{display:grid;grid-gap:4px;gap:4px}.tutorial-menu-links a{border-radius:8px;color:var(--muted);font-size:13px;font-weight:700;padding:7px 8px}.tutorial-menu-group-link:hover,.tutorial-menu-links a:hover{background:var(--brand-red-soft);color:var(--foreground)}.tutorial-menu-note{background:var(--panel-soft);border:1px solid var(--line);border-radius:8px;color:var(--muted);font-size:12px;font-weight:700;line-height:1.4;margin:0;padding:9px}.tutorial-content{min-width:0}.tutorial-workflows{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:16px}.tutorial-workflow-card{background:var(--panel);border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:12px;gap:12px;padding:14px}.tutorial-workflow-card>div:first-child{align-items:center;display:flex;gap:8px}.tutorial-workflow-card svg{color:var(--accent)}.tutorial-workflow-steps{display:flex;flex-wrap:wrap;gap:8px}.tutorial-workflow-steps span{align-items:center;background:var(--panel-soft);border:1px solid var(--line);border-radius:999px;display:inline-flex;font-size:12px;font-weight:800;gap:8px;padding:6px 8px}.tutorial-workflow-steps em{color:var(--accent);font-style:normal}.tutorial-topic-grid{display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.tutorial-topic-card{background:var(--panel);border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:14px;gap:14px;min-width:0;padding:16px}.tutorial-topic-header{display:flex;justify-content:space-between;gap:12px}.tutorial-topic-header h3{align-items:center;display:flex;font-size:18px;gap:8px;margin:4px 0 6px}.tutorial-topic-header svg{color:var(--accent)}.tutorial-page-label{color:var(--muted);font-size:12px;font-weight:800}.tutorial-screenshot{background:var(--panel-soft);border:1px solid var(--line);border-radius:8px;margin:0;overflow:hidden}.tutorial-screenshot-block{display:grid;grid-gap:8px;gap:8px}.tutorial-screenshot img{display:block;height:auto;width:100%}.tutorial-screenshot figcaption{align-items:center;border-top:1px solid var(--line);color:var(--muted);display:flex;gap:8px;font-size:12px;font-weight:700;justify-content:space-between;padding:9px 10px}.tutorial-screenshot figcaption strong{background:var(--brand-red-soft);border:1px solid rgba(221,80,60,.24);border-radius:999px;color:var(--brand-red-dark);flex:none;font-size:11px;padding:4px 7px}.tutorial-screenshot-placeholder{align-items:center;background:var(--panel-soft);border:1px dashed var(--line);border-radius:8px;color:var(--muted);display:grid;grid-gap:6px;gap:6px;min-height:180px;padding:16px;place-items:center;text-align:center}.tutorial-image-admin-controls{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.tutorial-image-admin-controls input[type=file]{inline-size:1px;opacity:0;overflow:hidden;position:absolute}.tutorial-image-admin-controls label.button{cursor:pointer}.tutorial-image-admin-controls svg{flex:none}.tutorial-image-error,.tutorial-image-status{color:var(--muted);font-size:12px;font-weight:700}.tutorial-image-error{color:var(--danger)}.tutorial-steps{counter-reset:tutorial-step;display:grid;grid-gap:10px;gap:10px;list-style:none;margin:0;padding:0}.tutorial-steps li{background:var(--panel-soft);border:1px solid var(--line);border-radius:8px;counter-increment:tutorial-step;display:grid;grid-gap:4px;gap:4px;padding:10px 10px 10px 42px;position:relative}.tutorial-steps li:before{align-items:center;background:var(--accent);border-radius:999px;color:white;content:counter(tutorial-step);display:inline-flex;font-size:12px;font-weight:900;height:22px;justify-content:center;left:10px;position:absolute;top:10px;width:22px}.tutorial-note span,.tutorial-steps span{color:var(--muted);line-height:1.45}.tutorial-note{background:#fff4d6;border:1px solid #ecd28a;border-radius:8px;display:grid;grid-gap:4px;gap:4px;padding:10px}.tutorial-faq-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.tutorial-faq-grid h3{font-size:16px;margin:0 0 8px}.storage-progress{display:grid;grid-gap:8px;gap:8px}.storage-progress div{color:var(--muted);display:flex;flex-wrap:wrap;font-size:13px;font-weight:700;gap:12px;justify-content:space-between}.storage-progress progress{accent-color:var(--accent);height:14px;width:100%}.storage-note{margin:0}.table{border-collapse:collapse;width:100%}.table td,.table th{border-bottom:1px solid var(--line);padding:12px 10px;text-align:left;vertical-align:top}.table th{color:var(--muted);font-size:13px;font-weight:700}.pagination{align-items:center;color:var(--muted);display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-top:14px}.pagination-current{color:var(--foreground);font-size:13px;font-weight:700}.inspection-filters{align-items:start;display:flex;flex-wrap:wrap;gap:12px;margin:12px 0}.date-preset-filter{align-items:center;background:var(--panel-soft);border:1px solid var(--line);border-radius:8px;display:flex;flex-wrap:wrap;gap:8px 10px;padding:10px;width:100%}.date-preset-filter>span{color:var(--muted);font-size:13px;font-weight:800}.date-preset-options{display:flex;flex-wrap:wrap;gap:6px}.date-preset-custom,.date-preset-options button{align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:8px;color:var(--muted);display:inline-flex;font-size:12px;font-weight:800;min-height:32px;padding:7px 10px}.date-preset-options button{cursor:pointer}.date-preset-options button:hover{border-color:var(--accent);color:var(--foreground)}.date-preset-options button.active{background:var(--accent);border-color:var(--accent);color:white}.date-preset-custom{background:#eef3ef}.date-calendar{background:var(--panel);border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:8px;gap:8px;padding:10px;width:min(100%,260px)}.date-calendar-header,.date-calendar-month{align-items:center;display:flex;justify-content:space-between;gap:8px}.date-calendar-header span{color:var(--muted);font-size:13px;font-weight:800}.date-calendar-clear{background:transparent;border:0;color:var(--accent);cursor:pointer;font-size:12px;font-weight:800;padding:0}.date-calendar-month strong{font-size:13px;text-align:center;text-transform:capitalize}.date-calendar-month button{align-items:center;background:var(--panel-soft);border:1px solid var(--line);border-radius:8px;cursor:pointer;display:inline-flex;height:30px;justify-content:center;width:30px}.date-calendar-month button:disabled{cursor:not-allowed;opacity:.45}.date-calendar-grid{display:grid;grid-gap:4px;gap:4px;grid-template-columns:repeat(7,1fr)}.date-calendar-weekdays span{color:var(--muted);font-size:11px;font-weight:800;text-align:center}.date-calendar-day{align-items:center;background:var(--panel-soft);border:1px solid transparent;border-radius:8px;color:var(--muted);cursor:not-allowed;display:inline-flex;font-size:12px;font-weight:800;height:30px;justify-content:center;padding:0}.date-calendar-day.has-inspection{background:#f5e6e3;border-color:#efc1b9;color:var(--foreground);cursor:pointer}.date-calendar-day.has-inspection:hover{border-color:var(--accent)}.date-calendar-day.selected{background:var(--accent);border-color:var(--accent);color:white}.date-calendar-day.outside-month{opacity:.25}.inspection-filter-count{color:var(--muted);font-size:13px;font-weight:700;margin-top:12px}.time-slot-picker{display:flex;flex-wrap:wrap;gap:8px}.change-detection-card{margin-bottom:16px;margin-top:16px}.change-detection-layout{display:grid;grid-gap:18px;gap:18px;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr)}.change-detection-layout.manual{grid-template-columns:minmax(0,1fr)}.change-detection-alerts,.change-detection-settings{display:grid;grid-gap:12px;gap:12px}.change-detection-summary{align-items:center;background:var(--panel-soft);border:1px solid var(--line);border-radius:8px;color:var(--muted);display:inline-flex;flex-wrap:wrap;font-size:13px;font-weight:700;gap:8px;min-height:38px;padding:8px 10px}.change-detection-summary strong{color:var(--foreground)}.change-detection-form{grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr));max-width:none;width:100%}.change-detection-form.advanced{background:var(--panel-soft);border:1px solid var(--line);border-radius:8px;padding:12px}.change-detection-form .field,.change-detection-form input,.change-detection-form select{min-width:0;width:100%}.change-detection-confirmation{align-items:center;display:flex;gap:8px}.change-detection-confirmation input{width:80px}.change-detection-test-panel{background:var(--panel-soft);border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:12px;gap:12px;padding:12px}.change-detection-test-panel p{margin:4px 0 0}.change-detection-test-form{grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));max-width:none;width:100%}.change-detection-test-form .field{min-width:0}.change-detection-test-form select{min-width:0;width:100%}.change-detection-image-result,.change-detection-test-result,.change-detection-test-signals{display:grid;grid-gap:10px;gap:10px}.change-detection-image-frame{background:#1f2827;border-radius:8px;border:1px solid var(--line);overflow:hidden;position:relative}.change-detection-image-frame img{display:block;height:auto;width:100%}.inspection-change-overlay{inset:0;pointer-events:none;position:absolute;z-index:5}.inspection-change-zone{border:2px solid #f05252;box-shadow:0 10px 28px rgba(15,23,42,.22);min-height:16px;min-width:16px;position:absolute}.inspection-change-zone.negative{border-color:#2f6feb}.inspection-change-zone span{background:#f05252;border-radius:4px;color:#ffffff;display:inline-block;font-size:12px;font-weight:900;line-height:1;max-width:100%;padding:4px 6px;white-space:nowrap}.inspection-change-zone.negative span{background:#2f6feb}.pipeline-configuration-card{margin-bottom:16px}.pipeline-agent-status,.pipeline-configuration-summary{align-items:center;background:var(--panel-soft);border:1px solid var(--line);border-radius:8px;display:flex;flex-wrap:wrap;gap:10px;padding:12px 14px}.pipeline-configuration-summary strong{margin-right:auto}.pipeline-configuration-layout{display:grid;grid-gap:16px;gap:16px;margin-top:16px}.pipeline-agent-status{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.pipeline-agent-status div{display:grid;grid-gap:4px;gap:4px}.pipeline-agent-status span,.pipeline-presets>span{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase}.pipeline-advanced-settings,.pipeline-mesh-section,.pipeline-reprocessing-section{border:1px solid var(--line);border-radius:10px;display:grid;grid-gap:14px;gap:14px;padding:16px}.pipeline-mesh-section h3{margin:0 0 4px}.pipeline-mesh-section p{margin:0}.form.pipeline-reprocessing-form,.pipeline-reprocessing-section{display:grid;grid-gap:14px;gap:14px}.form.pipeline-reprocessing-form{align-items:end;grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) auto;max-width:none;width:100%}.pipeline-reprocessing-action{padding-bottom:1px}.pipeline-reprocessing-history{display:grid;grid-gap:8px;gap:8px}.pipeline-reprocessing-item{align-items:center;background:var(--panel-soft);border:1px solid var(--line);border-radius:8px;display:flex;gap:16px;justify-content:space-between;padding:11px 12px}.pipeline-reprocessing-item>div:first-child,.pipeline-reprocessing-status{display:grid;grid-gap:4px;gap:4px}.pipeline-reprocessing-item small,.pipeline-reprocessing-item span{color:var(--muted);font-size:12px}.pipeline-reprocessing-status{justify-items:end}.form.pipeline-mesh-form,.form.pipeline-settings-form{align-items:start;display:grid;grid-gap:14px;gap:14px;max-width:none;width:100%}.form.pipeline-mesh-form{grid-template-columns:repeat(2,minmax(0,1fr))}.form.pipeline-settings-form{grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr))}.pipeline-mesh-form .field,.pipeline-settings-form .field{min-width:0}.pipeline-mesh-form select{max-width:100%;min-width:0;width:100%}.pipeline-file-picker{align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:10px;gap:10px;grid-template-columns:max-content minmax(0,1fr);min-height:42px;overflow:hidden;padding:5px;width:100%}.pipeline-file-picker input[type=file]{border:0;-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;min-height:0;opacity:0;overflow:hidden;padding:0;position:absolute;width:1px}.pipeline-mesh-form .pipeline-file-picker label{background:var(--panel-soft);border:1px solid var(--line);border-radius:6px;color:var(--foreground);cursor:pointer;font-size:13px;font-weight:800;padding:7px 10px;white-space:nowrap}.pipeline-mesh-form .pipeline-file-picker label:hover{border-color:var(--accent);color:var(--accent-dark)}.pipeline-file-picker:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.pipeline-file-picker>span{color:var(--muted);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pipeline-settings-form .full-span{grid-column:1/-1}.pipeline-presets{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.pipeline-advanced-toggle{justify-self:start}.pipeline-field-label,.pipeline-option-with-help,.pipeline-subsection-title{align-items:center;display:flex;gap:7px}.pipeline-field-label>span:first-child{color:var(--muted);font-size:13px;font-weight:700}.pipeline-option-with-help{justify-self:start;min-width:0}.pipeline-info-tip{display:inline-flex;flex:0 0 auto;position:relative}.pipeline-info-tip>button{align-items:center;background:transparent;border:0;border-radius:999px;color:var(--muted);cursor:help;display:inline-flex;height:22px;justify-content:center;padding:0;width:22px}.pipeline-info-tip>button:focus-visible,.pipeline-info-tip>button:hover{background:var(--panel-soft);color:var(--accent-dark);outline:2px solid color-mix(in srgb,var(--accent) 35%,transparent)}.pipeline-info-tip [role=tooltip]{background:#252c2c;border-radius:7px;bottom:calc(100% + 8px);color:#fff;font-size:12px;font-weight:500;left:50%;line-height:1.4;max-width:min(300px,calc(100vw - 32px));opacity:0;padding:9px 11px;pointer-events:none;position:absolute;text-align:left;text-transform:none;transform:translate(-50%,4px);transition:opacity .12s ease,transform .12s ease;visibility:hidden;white-space:normal;width:max-content;z-index:30}.pipeline-info-tip:focus-within [role=tooltip],.pipeline-info-tip:hover [role=tooltip]{opacity:1;transform:translate(-50%);visibility:visible}.pipeline-settings-form .time-slot-picker{display:grid;grid-gap:7px;gap:7px;grid-template-columns:repeat(12,minmax(48px,1fr))}.pipeline-settings-form .time-slot-option{justify-content:center;min-width:0;padding:7px 5px}.pipeline-settings-form .time-slot-option span{white-space:nowrap}.pipeline-settings-form .time-slot-option input{accent-color:var(--accent)}.pipeline-settings-form .time-slot-option:has(input:checked){background:var(--brand-red-soft);border-color:var(--accent);color:var(--accent-dark)}.pipeline-render-section,.pipeline-scale-section{display:grid;grid-gap:14px;gap:14px}.pipeline-render-section{border-bottom:1px solid var(--line);padding-bottom:18px}.pipeline-scale-details h4,.pipeline-subsection-title h3{margin:0}.pipeline-scale-heading{align-items:flex-start;display:flex;gap:16px;justify-content:space-between}.pipeline-scale-heading p{margin:5px 0 0}.pipeline-scale-editor{display:grid;grid-gap:18px;gap:18px;grid-template-columns:minmax(260px,.9fr) minmax(300px,1.1fr)}.pipeline-scale-bar{background:#1f2424;border:1px solid #111;border-radius:10px;display:flex;flex-direction:column;height:560px;overflow:hidden;padding:8px}.pipeline-scale-bar>button{align-items:stretch;background:#292f2f;border:1px solid #171b1b;color:#f7f9f8;cursor:pointer;display:grid;flex:1 1;font-size:11px;font-weight:700;grid-template-columns:58px minmax(0,1fr);line-height:1;min-height:18px;overflow:hidden;padding:0;text-align:left}.pipeline-scale-bar>button+button{border-top:0}.pipeline-scale-bar>button:hover{background:#38403f}.pipeline-scale-bar>button.selected{background:#495250;box-shadow:inset 0 0 0 2px #fff;position:relative;z-index:1}.pipeline-scale-bar>button>span:last-child{align-self:center;overflow:hidden;padding:0 8px;text-overflow:ellipsis;white-space:nowrap}.pipeline-scale-swatch{border-right:1px solid rgb(255 255 255/35%);min-height:100%}.pipeline-scale-details{align-self:start;background:var(--panel-soft);border:1px solid var(--line);border-radius:10px;display:grid;grid-gap:16px;gap:16px;padding:16px}.pipeline-scale-details .eyebrow{color:var(--muted);display:block;font-size:11px;font-weight:800;margin-bottom:4px;text-transform:uppercase}.pipeline-selected-color{align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:10px;gap:10px;grid-template-columns:54px minmax(0,1fr) 46px;padding:10px}.pipeline-selected-color>span{border:1px solid rgb(0 0 0/25%);border-radius:6px;height:38px}.pipeline-nan-color input[type=color],.pipeline-selected-color input[type=color]{border:0;cursor:pointer;height:38px;padding:0;width:46px}.pipeline-scale-bounds{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.pipeline-nan-color{align-items:center;border-top:1px solid var(--line);display:flex;gap:12px;justify-content:space-between;padding-top:14px}.pipeline-nan-color small{color:var(--muted);display:block;margin-top:4px}.pipeline-scale-raw{border-top:1px solid var(--line);padding-top:12px}.pipeline-scale-raw summary{color:var(--muted);cursor:pointer;font-size:13px;font-weight:800}.pipeline-scale-raw .field{margin-top:12px}.pipeline-json-file-input{-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.pipeline-field-error{color:var(--danger);font-size:12px;font-weight:700}.image-heatmap-card{margin:16px 0}.heatmap-report-card{margin-bottom:16px}.title-with-icon{align-items:center;display:flex;gap:8px}.heatmap-report-summary{align-items:center;background:var(--panel-soft);border:1px solid var(--line);border-radius:8px;display:flex;flex-wrap:wrap;gap:10px;padding:12px 14px}.heatmap-report-summary strong{margin-left:auto}.heatmap-report-layout{display:grid;grid-gap:14px;gap:14px}.heatmap-report-form{grid-template-columns:repeat(auto-fit,minmax(min(210px,100%),1fr));max-width:none;width:100%}.heatmap-report-form .field,.heatmap-report-form input,.heatmap-report-form select,.heatmap-report-form textarea{min-width:0;width:100%}.heatmap-report-recipients{grid-column:1/-1}.heatmap-report-status{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(auto-fit,minmax(min(190px,100%),1fr))}.heatmap-report-status div{background:var(--panel-soft);border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:4px;gap:4px;padding:10px 12px}.heatmap-report-status span{color:var(--muted);font-size:12px;font-weight:700}.image-heatmap-layout,.image-heatmap-picker-grid{display:grid;grid-gap:12px;gap:12px}.image-heatmap-picker-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.image-heatmap-state-picker{background:var(--panel-soft);border:1px solid var(--line);border-radius:10px;display:grid;grid-gap:10px;gap:10px;margin:0;min-width:0;padding:12px}.image-heatmap-state-picker legend{font-weight:900;padding:0 6px}.image-heatmap-picker-filters{display:grid;grid-gap:8px;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.image-heatmap-picker-filters .field,.image-heatmap-picker-filters input,.image-heatmap-picker-filters select{min-width:0;width:100%}.image-heatmap-picker-search{grid-column:1/-1}.image-heatmap-filter-meta{align-items:center;color:var(--muted);display:flex;flex-wrap:wrap;font-size:12px;font-weight:700;gap:8px;justify-content:space-between}.image-heatmap-filter-meta .button{min-height:30px;padding:5px 9px}.image-heatmap-state-list{min-height:132px;min-width:0;width:100%}.image-heatmap-state-list option{padding:7px 8px}.image-heatmap-selected-state{display:grid;grid-gap:3px;gap:3px}.image-heatmap-selected-state span{color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase}.image-heatmap-selected-state strong{font-size:13px;overflow-wrap:anywhere}.image-heatmap-selected-state small{color:var(--muted);font-size:12px}.image-heatmap-form{grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));max-width:none;width:100%}.image-heatmap-form .field,.image-heatmap-form input,.image-heatmap-form select{min-width:0;width:100%}.image-heatmap-label-with-info{align-items:center;display:flex;gap:6px;position:relative;width:-moz-fit-content;width:fit-content}.image-heatmap-info{display:inline-flex}.image-heatmap-info-trigger{align-items:center;background:var(--panel-soft);border:1px solid var(--line);border-radius:50%;color:var(--muted);cursor:help;display:inline-flex;height:20px;justify-content:center;padding:0;width:20px}.image-heatmap-info-trigger:focus-visible,.image-heatmap-info-trigger:hover{border-color:var(--brand-red);color:var(--brand-red);outline:none}.image-heatmap-info-content{background:#1f2827;border:1px solid #3f4b49;border-radius:8px;box-shadow:0 10px 24px rgb(0 0 0/24%);color:#ffffff;font-size:12px;font-weight:500;left:0;line-height:1.45;opacity:0;padding:10px 12px;pointer-events:none;position:absolute;top:calc(100% + 7px);transform:translateY(-4px);transition:opacity .14s ease,transform .14s ease,visibility .14s ease;visibility:hidden;width:min(360px,calc(100vw - 48px));z-index:30}.image-heatmap-info:focus-within .image-heatmap-info-content,.image-heatmap-info:hover .image-heatmap-info-content{opacity:1;transform:translateY(0);visibility:visible}.image-heatmap-toggle{align-self:end;min-height:42px}.image-heatmap-result{display:grid;grid-gap:10px;gap:10px}.image-heatmap-canvas-frame{align-items:center;background:#1f2827;border:1px solid var(--line);border-radius:8px;display:flex;justify-content:center;min-height:240px;overflow:hidden;position:relative}.image-heatmap-canvas{display:block;height:auto;max-height:72vh;width:100%}.image-heatmap-meta{margin:0}.image-heatmap-comparison{max-height:72vh;min-height:260px}.image-heatmap-ignored-zone{align-items:flex-start;background:rgba(31,40,39,.35);border-left:1px dashed rgba(255,255,255,.65);bottom:0;color:#ffffff;display:flex;justify-content:center;padding-top:10px;pointer-events:none;position:absolute;right:0;top:0;width:var(--ignored-right-width,18%);z-index:2}.image-heatmap-ignored-zone span{background:rgba(31,40,39,.78);border-radius:999px;font-size:11px;font-weight:900;padding:5px 8px}.image-heatmap-metrics{display:flex;flex-wrap:wrap;gap:8px}.image-heatmap-metrics span{background:var(--panel-soft);border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:12px;font-weight:800;padding:6px 10px}.change-detection-alerts-header{align-items:center;display:flex;justify-content:space-between}.change-detection-alerts-header span{background:var(--panel-soft);border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:12px;font-weight:800;padding:5px 9px}.change-detection-alert,.change-detection-alert-list{display:grid;grid-gap:10px;gap:10px}.change-detection-alert{border:1px solid var(--line);border-radius:8px;padding:12px}.change-detection-alert>div:first-child{align-items:center;display:flex;gap:8px}.change-detection-alert dl{display:grid;grid-gap:8px;gap:8px;grid-template-columns:repeat(3,minmax(0,1fr));margin:0}.change-detection-alert dl div{background:var(--panel-soft);border-radius:8px;padding:8px}.change-detection-alert dt{color:var(--muted);font-size:11px;font-weight:800}.change-detection-alert dd{font-size:13px;font-weight:800;margin:3px 0 0}.project-option,.time-slot-filter,.time-slot-option{align-items:center;background:var(--panel-soft);border:1px solid var(--line);border-radius:8px;display:inline-flex;gap:8px;min-height:38px;padding:8px 10px}.time-slot-option{cursor:pointer}.project-option{cursor:pointer;justify-self:start}.project-option input,.time-slot-filter input,.time-slot-option input{height:16px;width:16px}.project-option span,.time-slot-filter span,.time-slot-option span{font-size:13px;font-weight:800}.time-slot-filter{align-items:center;flex-wrap:wrap;gap:4px;min-width:220px}.time-slot-filter input{margin-right:6px;vertical-align:middle}.time-slot-filter small{color:var(--muted);flex-basis:100%;font-size:12px;font-weight:700;margin-left:24px}.time-slot-filter:has(input:disabled){opacity:.6}.comparison-toolbar{align-items:center;background:var(--panel-soft);border:1px solid var(--line);border-radius:8px;color:var(--muted);display:flex;flex-wrap:wrap;font-size:13px;font-weight:700;gap:12px;justify-content:space-between;margin:14px 0;padding:10px 12px}.compare-select{align-items:center;display:inline-flex;gap:8px;min-height:34px}.comparison-column{width:92px}.compare-select input{height:16px;width:16px}.compare-select span{color:var(--muted);font-size:13px;font-weight:700}.inspection-date-compact{display:none}.inspection-title-details{display:grid;grid-gap:4px;gap:4px}.inspection-reference-mesh{color:var(--muted);font-size:12px;font-weight:700;overflow-wrap:anywhere}.status{border-radius:999px;display:inline-flex;font-size:12px;font-weight:700;padding:4px 8px}.status-with-icon{align-items:center;gap:5px}.status.published{background:#e3f3e8;color:var(--ok)}.status.review{background:#fff4d6;color:var(--warning)}.status.failed{background:var(--brand-red-soft);color:var(--danger)}.status.draft{background:var(--panel-soft);color:var(--muted)}.status.candidate{background:#fff4d6;color:var(--warning)}.status.confirmed{background:#f5e6e3;color:var(--accent)}.status.validated{background:#e3f3e8;color:var(--ok)}.status.dismissed,.status.expired{background:var(--panel-soft);color:var(--muted)}.actions{display:flex;flex-wrap:wrap}.actions,.button{align-items:center;gap:8px}.button{background:var(--accent);border:0;border-radius:8px;color:white;cursor:pointer;display:inline-flex;font-weight:700;min-height:40px;padding:9px 14px}.button.compact{min-height:34px;padding:7px 10px}.button:disabled{cursor:not-allowed;opacity:.55}.button:hover{background:var(--accent-dark)}.button.secondary{background:var(--panel);border:1px solid var(--line);color:var(--foreground)}.button.danger{border-color:#efb7ae;color:var(--danger)}.button.danger:hover{background:var(--brand-red-soft)}.form{display:grid;grid-gap:14px;gap:14px;max-width:420px}.field{display:grid;grid-gap:6px;gap:6px}.field label{color:var(--muted);font-size:13px;font-weight:700}.field input{border:1px solid var(--line);border-radius:8px;min-height:42px;padding:10px 12px}.password-input-wrap{position:relative}.password-input-wrap input{padding-right:44px;width:100%}.password-toggle{align-items:center;background:transparent;border:0;border-radius:8px;color:var(--muted);cursor:pointer;display:inline-flex;height:34px;justify-content:center;position:absolute;right:4px;top:4px;width:34px}.password-toggle:hover{background:var(--panel-soft);color:var(--foreground)}.field select{background:var(--panel);min-height:42px;padding:10px 12px}.field select,.table-input{border:1px solid var(--line);border-radius:8px}.table-input{min-height:38px;padding:8px 10px;width:100%}.table-edit-fields{display:grid;grid-gap:8px;gap:8px;min-width:220px}.table-edit-fields label{display:grid;grid-gap:4px;gap:4px}.table-edit-fields span{color:var(--muted);font-size:12px;font-weight:700}.wide-form{align-items:end;grid-template-columns:repeat(4,minmax(0,1fr)) auto;max-width:none}.user-create-form{align-items:start;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:18px}.user-create-form>.button{justify-self:start}.client-create-form{align-items:end;grid-template-columns:minmax(180px,1fr) minmax(220px,2fr) auto;margin-bottom:12px}.full-span{grid-column:1/-1}.project-picker{grid-template-columns:repeat(2,minmax(0,1fr))}.project-form{align-items:end;grid-template-columns:repeat(5,minmax(0,1fr))}.new-project-form,.project-form{max-width:none}.new-project-form>.field:not(.new-project-map-field){max-width:520px;width:100%}.new-project-map-field{width:100%}.new-project-form>.button{justify-self:start}.project-map{aspect-ratio:4/3;min-width:180px}.detail-map,.project-map{border:1px solid var(--line);border-radius:8px;display:block;width:100%}.detail-map{aspect-ratio:16/9}.inspection-latest{align-items:center;display:grid;grid-gap:12px;gap:12px;grid-template-columns:minmax(160px,240px) minmax(0,1fr)}.inspection-latest p{margin-bottom:8px}.inspection-preview-image,.inspection-preview-placeholder{aspect-ratio:16/9;border:1px solid var(--line);border-radius:8px;display:block;max-width:240px;min-width:140px;overflow:hidden;width:100%}.inspection-preview-button{background:transparent;border:0;cursor:pointer;display:block;max-width:240px;padding:0;text-align:left;width:100%}.inspection-preview-button:disabled{cursor:not-allowed;opacity:.65}.inspection-preview-button:focus-visible .inspection-preview-image,.inspection-preview-button:focus-visible .inspection-preview-placeholder,.inspection-preview-button:not(:disabled):hover .inspection-preview-image,.inspection-preview-button:not(:disabled):hover .inspection-preview-placeholder{border-color:var(--accent);box-shadow:0 0 0 3px rgba(221,80,60,.16)}.inspection-preview-image{background:var(--panel-soft);background-position:50%;background-size:cover}.inspection-preview-placeholder{align-items:center;background:linear-gradient(135deg,rgba(221,80,60,.14),transparent),repeating-linear-gradient(90deg,#d4dbd5 0 1px,transparent 1px 22px),repeating-linear-gradient(0deg,#d4dbd5 0 1px,transparent 1px 22px);color:var(--muted);display:flex;flex-direction:column;font-size:12px;font-weight:700;gap:6px;justify-content:center;padding:10px;text-align:center}.inspection-fullscreen{background:rgba(38,44,44,.94);display:grid;grid-template-rows:auto minmax(0,1fr);inset:0;padding:18px;position:fixed;z-index:20}.inspection-fullscreen-toolbar{align-items:center;color:white;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:12px}.inspection-fullscreen-toolbar div{display:grid;grid-gap:4px;gap:4px;min-width:0}.inspection-fullscreen-toolbar span{color:#dbe1dc;font-size:13px}.inspection-fullscreen-controls{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.fullscreen-opacity,.fullscreen-toggle{align-items:center;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:8px;color:white;display:inline-flex;font-size:13px;font-weight:700;gap:8px;min-height:34px;padding:6px 10px}.fullscreen-toggle input{height:16px;width:16px}.fullscreen-opacity input{width:120px}.inspection-fullscreen-stage{align-items:center;display:flex;justify-content:center;min-height:0;overflow:hidden}.inspection-fullscreen-frame{background:#1f2827;border-radius:8px;box-shadow:0 18px 60px rgba(0,0,0,.32);max-height:100%;max-width:100%;min-height:220px;overflow:hidden;position:relative;width:min(100%,calc(100vh * 1.65))}.inspection-background-layer,.inspection-overlay-layer{height:100%;inset:0;object-fit:fill;position:absolute;transform-origin:0 0;width:100%}.inspection-background-layer{opacity:.95;z-index:1}.inspection-overlay-layer{z-index:2}.inspection-fullscreen-image{background-position:50%;background-repeat:no-repeat;background-size:contain;min-height:0;width:100%}.inspection-background-card{margin-bottom:16px}.icon-button{align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:8px;color:var(--foreground);cursor:pointer;display:inline-flex;flex:0 0 auto;height:36px;justify-content:center;width:36px}.icon-button:hover{background:var(--panel-soft)}.inspection-background-summary{align-items:center;background:var(--panel-soft);border:1px solid var(--line);border-radius:8px;color:var(--muted);display:inline-flex;font-size:13px;font-weight:700;gap:8px;min-height:38px;padding:8px 10px}.calibration-footer,.inspection-background-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin-top:12px}.inline-option{margin:0;width:auto}.inspection-background-reference{margin-top:14px;max-width:420px}.calibration-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:14px}.calibration-pane{display:grid;grid-gap:8px;gap:8px}.calibration-pane strong{color:var(--foreground);font-size:14px}.calibration-image{align-items:center;background:var(--panel-soft);border:1px solid var(--line);border-radius:8px;cursor:crosshair;display:flex;justify-content:center;min-height:260px;overflow:hidden;position:relative}.calibration-image img{height:100%;inset:0;object-fit:contain;position:absolute;width:100%}.calibration-marker{align-items:center;background:var(--accent);border:2px solid white;border-radius:999px;box-shadow:0 2px 10px rgba(0,0,0,.22);color:white;display:inline-flex;font-size:11px;font-weight:800;height:24px;justify-content:center;pointer-events:none;position:absolute;transform:translate(-50%,-50%);width:24px;z-index:2}.calibration-marker.pending{background:transparent;border-color:var(--warning)}.calibration-points{display:grid;grid-gap:6px;gap:6px;margin-top:12px}.calibration-point-row{align-items:center;background:var(--panel-soft);border:1px solid var(--line);border-radius:8px;color:var(--foreground);cursor:pointer;display:grid;grid-gap:8px;gap:8px;grid-template-columns:24px minmax(0,1fr) 18px;min-height:36px;padding:7px 9px;text-align:left}.calibration-point-row span{align-items:center;background:var(--accent);border-radius:999px;color:white;display:inline-flex;font-size:11px;font-weight:800;height:22px;justify-content:center;width:22px}.calibration-point-row code{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.temporal-inspection{background:var(--panel);margin-top:16px;padding:18px}.temporal-inspection,.temporal-viewer{border:1px solid var(--line);border-radius:8px}.temporal-viewer{background:var(--panel-soft);display:grid;overflow:hidden}.temporal-image-stage{aspect-ratio:16/9;background:linear-gradient(135deg,rgba(221,80,60,.16),transparent),repeating-linear-gradient(90deg,#d4dbd5 0 1px,transparent 1px 34px),repeating-linear-gradient(0deg,#d4dbd5 0 1px,transparent 1px 34px);background-position:50%;background-repeat:no-repeat;background-size:contain;min-height:360px;overflow:hidden;position:relative}.temporal-image-stage.has-image{background-color:#252c2c}.temporal-empty{color:var(--muted);display:grid;font-weight:700;grid-gap:8px;gap:8px;inset:0;justify-items:center}.temporal-empty,.temporal-overlay{align-items:center;position:absolute}.temporal-overlay{background:linear-gradient(180deg,rgba(37,44,44,.8),rgba(37,44,44,0));color:white;display:flex;justify-content:space-between;gap:16px;left:0;padding:18px;right:0;top:0}.temporal-overlay div{display:grid;grid-gap:4px;gap:4px;min-width:0}.temporal-overlay span,.temporal-overlay strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.temporal-counter{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.26);border-radius:999px;flex:0 0 auto;font-size:12px;font-weight:800;padding:5px 9px}.temporal-bar{background:rgba(251,252,251,.96);border-top:1px solid var(--line);display:grid;grid-gap:8px;gap:8px;padding:12px 16px 14px}.temporal-range-labels{color:var(--muted);display:flex;font-size:12px;font-weight:700;justify-content:space-between;gap:12px}.temporal-range-controls{display:grid;grid-gap:2px;gap:2px}.temporal-range-controls input{accent-color:var(--accent);min-height:28px;width:100%}.temporal-ticks{display:grid;grid-gap:4px;gap:4px;grid-auto-columns:minmax(14px,1fr);grid-auto-flow:column;overflow-x:auto;padding-bottom:2px}.temporal-ticks button{background:var(--accent);border:0;border-radius:999px;cursor:pointer;height:8px;opacity:.45;padding:0}.temporal-ticks button.active{opacity:1}.temporal-ticks button:disabled{background:var(--muted);cursor:not-allowed;opacity:.25}.comparison-page{display:grid;grid-gap:14px;gap:14px}.comparison-meta{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.comparison-meta div{background:var(--panel);border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:5px;gap:5px;padding:14px}.comparison-meta small,.comparison-meta strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.comparison-meta small{color:var(--muted);font-size:13px;font-weight:700}.comparison-side{border-radius:999px;color:white;display:inline-flex;font-size:12px;font-weight:800;justify-self:start;padding:4px 8px}.comparison-side.left{background:var(--brand-gray-dark)}.comparison-side.right{background:var(--accent)}.image-comparison{--comparison-position:50%;aspect-ratio:16/9;background:var(--brand-gray-dark);border:1px solid var(--line);border-radius:8px;min-height:420px;overflow:hidden;position:relative;width:100%}.comparison-image,.comparison-image-overlay{inset:0;position:absolute}.comparison-image{background-position:50%;background-repeat:no-repeat;background-size:contain}.comparison-image.base{background-color:#252c2c}.comparison-image-overlay{-webkit-clip-path:inset(0 0 0 var(--comparison-position));clip-path:inset(0 0 0 var(--comparison-position))}.comparison-divider{align-items:center;bottom:0;display:flex;justify-content:center;left:var(--comparison-position);pointer-events:none;position:absolute;top:0;transform:translateX(-50%);width:38px;z-index:2}.comparison-divider:before{background:white;box-shadow:0 0 0 1px rgba(37,44,44,.28);content:"";height:100%;width:3px}.comparison-divider span{background:white;border:2px solid var(--accent);border-radius:999px;box-shadow:0 2px 12px rgba(37,44,44,.32);height:34px;position:absolute;width:34px}.comparison-range{cursor:ew-resize;inset:0;opacity:0;position:absolute;width:100%;z-index:3}.comparison-empty{margin-top:16px}.inspection-viewer-shell{background:#f4f6f4;border:1px solid var(--line);border-radius:8px;display:grid;grid-template-columns:320px minmax(0,1fr);min-height:calc(100vh - 150px);overflow:hidden;width:100%}.inspection-viewer-stage{background:#f4f6f4;grid-column:2;grid-row:1;height:calc(100vh - 150px);min-height:560px;width:100%}.inspection-viewer-stage canvas{display:block;height:100%;width:100%}.inspection-viewer-panel{align-content:start;background:#fbfcfb;border:0;border-right:1px solid rgba(200,208,202,.92);display:grid;grid-gap:10px;gap:10px;grid-column:1;grid-row:1;height:calc(100vh - 150px);max-height:none;min-width:0;overflow-x:hidden;overflow-y:auto;padding:16px;position:relative;width:100%;z-index:2}.inspection-viewer-panel *{min-width:0}.inspection-viewer-panel .field select{min-height:38px;overflow:hidden;text-overflow:ellipsis;width:100%}.inspection-viewer-actions{display:grid;grid-gap:6px;gap:6px;grid-template-columns:repeat(2,minmax(0,1fr))}.inspection-viewer-actions .button{justify-content:center;min-width:0;padding-left:8px;padding-right:8px;width:100%}.inspection-viewer-admin,.inspection-viewer-help,.inspection-viewer-info,.inspection-viewer-pick{background:#edf1ee;border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:6px;gap:6px;padding:10px}.inspection-viewer-admin span,.inspection-viewer-help span,.inspection-viewer-info span,.inspection-viewer-pick span{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase}.inspection-viewer-admin strong,.inspection-viewer-help strong{font-size:14px}.inspection-viewer-admin span,.inspection-viewer-help span{font-weight:700;text-transform:none}.inspection-viewer-admin .button{justify-content:center;width:100%}.inspection-viewer-admin p{margin:0}.inspection-viewer-info code,.inspection-viewer-info strong,.inspection-viewer-pick code{font-size:12px;min-width:0;overflow-wrap:anywhere}.inspection-viewer-info code,.inspection-viewer-pick code{font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace}.inspection-viewer-pick>div{align-items:center;display:flex;gap:8px}.inspection-viewer-pick p{margin:0}.inspection-viewer-empty{min-height:420px}.alarm-mail-card{align-items:center;display:grid;grid-gap:10px;gap:10px;grid-template-columns:minmax(0,1fr) auto;margin-top:16px}.alarm-mail-card>div{align-items:center;display:flex;gap:8px}.alarm-mail-card p{grid-column:1/-1;margin:0}.alarm-project-list{display:grid;grid-gap:16px;gap:16px;margin-top:16px}.alarm-project-card{display:grid;grid-gap:14px;gap:14px}.project-alarm-card{margin-top:16px}.alarm-project-header{align-items:start;display:flex;gap:12px;justify-content:space-between}.alarm-project-header h2{margin-bottom:0}.alarm-project-status{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.alarm-project-status div{background:#edf1ee;border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:4px;gap:4px;padding:10px}.alarm-project-status span{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase}.alarm-project-status strong{font-size:14px;overflow-wrap:anywhere}.alarm-project-actions{align-items:center;display:flex;gap:12px;justify-content:space-between}.alarm-form{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(2,minmax(240px,1fr))}.project-alarm-form{align-items:start;margin-top:4px}.alarm-form .checkline{grid-column:1/-1}.alarm-form .field{align-content:start;display:grid;grid-gap:8px;gap:8px}.alarm-form label{line-height:1.25}.alarm-number-field input{max-width:220px}.alarm-recipients-field{grid-column:1/-1;max-width:720px}.field-help{color:var(--muted);font-size:12px;line-height:1.35;max-width:320px}.alarm-form textarea{resize:vertical}.alarm-history-card{margin-top:16px}.interactive-map{aspect-ratio:2/1;cursor:crosshair}.interactive-map,.overview-map{background:var(--brand-gray-light);border:1px solid var(--line);border-radius:8px;overflow:hidden;position:relative;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:100%}.overview-map{aspect-ratio:21/9;cursor:-webkit-grab;cursor:grab;min-height:320px}.overview-map:active{cursor:-webkit-grabbing;cursor:grabbing}.overview-map-empty{align-items:center;aspect-ratio:21/9;background:linear-gradient(135deg,rgba(221,80,60,.12),transparent),repeating-linear-gradient(90deg,#d4dbd5 0 1px,transparent 1px 34px),repeating-linear-gradient(0deg,#d4dbd5 0 1px,transparent 1px 34px);border:1px solid var(--line);border-radius:8px;display:flex;gap:8px;justify-content:center;min-height:220px;padding:24px;text-align:center}.interactive-map:active{cursor:-webkit-grabbing;cursor:grabbing}.map-tile{background-position:50%;background-size:cover;height:256px;position:absolute;width:256px}.map-marker{background:var(--danger);box-shadow:0 2px 8px rgba(0,0,0,.35);height:18px;width:18px}.map-marker,.overview-map-marker{border:3px solid white;border-radius:999px;position:absolute;transform:translate(-50%,-50%);z-index:2}.overview-map-marker{align-items:center;background:var(--accent);box-shadow:0 2px 10px rgba(0,0,0,.35);color:white;display:flex;font-size:12px;font-weight:800;gap:6px;max-width:190px;min-height:30px;padding:4px 10px 4px 8px}.overview-map-marker:before{background:white;border-radius:999px;content:"";flex:0 0 auto;height:8px;width:8px}.overview-map-marker:hover{background:var(--accent-dark);z-index:4}.overview-map-marker span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-controls{display:grid;grid-gap:6px;gap:6px;position:absolute;right:10px;top:10px;z-index:3}.map-controls button{background:var(--panel);border:1px solid var(--line);border-radius:8px;cursor:pointer;font-size:18px;font-weight:800;height:34px;line-height:1;width:34px}.mono-cell{font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:12px;max-width:220px;overflow-wrap:anywhere}.technical-variable-list{display:flex;flex-wrap:wrap;gap:8px}.technical-variable{align-items:center;background:var(--panel-soft);border:1px solid var(--line);border-radius:999px;display:inline-flex;font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:12px;gap:6px;padding:5px 8px}.technical-dot{border-radius:999px;height:8px;width:8px}.technical-dot.ok{background:var(--ok)}.technical-dot.missing{background:var(--warning)}.spaced-table,.table-toolbar{margin-top:18px}.table-toolbar{align-items:end;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}.search-field{max-width:420px;width:min(100%,420px)}.compact-table{margin-bottom:18px}.notice{background:var(--panel-soft);border:1px solid var(--line);border-radius:8px;margin:0 0 16px;padding:12px 14px}.notice.error{background:var(--brand-red-soft);border-color:#efb7ae;color:var(--danger)}.notice.warning{align-items:center;color:var(--warning);display:flex;gap:8px}.loading-page,.login-page{align-items:center;display:grid;min-height:100vh;padding:24px}.login-card{background:var(--panel);margin:0 auto;max-width:460px;padding:28px;width:100%}.login-card,.preview{border:1px solid var(--line);border-radius:8px}.preview{aspect-ratio:16/9;background:linear-gradient(135deg,rgba(221,80,60,.14),transparent),repeating-linear-gradient(90deg,#d4dbd5 0 1px,transparent 1px 34px),repeating-linear-gradient(0deg,#d4dbd5 0 1px,transparent 1px 34px);display:grid;place-items:center}.section-title{align-items:center;display:flex;justify-content:space-between;gap:12px;margin-bottom:12px}.checklist{display:grid;grid-gap:8px;gap:8px}.checkline{align-items:center;display:flex;gap:8px}.checkline input{height:16px;width:16px}@media (max-width:860px){.shell{grid-template-columns:1fr}.sidebar{gap:16px;height:auto;padding:18px;position:static}.company-logo-image{width:170px}.nav{grid-template-columns:repeat(2,minmax(0,1fr))}.nav a,.sidebar-logout{min-width:0}.info-hero,.section-title,.table-toolbar,.topbar{align-items:stretch;flex-direction:column}.section-title .button,.topbar .button{align-self:flex-start}.alarm-form,.alarm-project-status,.client-create-form,.comparison-meta,.form.pipeline-mesh-form,.form.pipeline-reprocessing-form,.form.pipeline-settings-form,.grid.three,.grid.two,.image-heatmap-picker-grid,.info-guide-grid,.inspection-latest,.pipeline-agent-status,.project-form,.project-picker,.storage-metrics,.tutorial-faq-grid,.tutorial-topic-grid,.tutorial-workflows,.user-create-form,.wide-form{grid-template-columns:1fr}.pipeline-reprocessing-action{padding-bottom:0}.pipeline-settings-form .full-span{grid-column:auto}.pipeline-scale-editor{grid-template-columns:1fr}.pipeline-scale-heading{align-items:stretch;flex-direction:column}.pipeline-settings-form .time-slot-picker{grid-template-columns:repeat(8,minmax(48px,1fr))}.alarm-project-actions{align-items:stretch;flex-direction:column}.tutorial-layout{grid-template-columns:1fr}.tutorial-menu{max-height:none;position:static}.main{padding:20px}.card,.login-card,.temporal-inspection{padding:16px}.table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}.table td,.table th{min-width:120px;white-space:nowrap}.compare-select span{display:none}.comparison-column{max-width:72px;min-width:72px;padding-left:6px;padding-right:6px;text-align:center;width:72px}th.comparison-column{color:var(--muted);font-size:13px;line-height:1.1;overflow-wrap:anywhere;white-space:normal}.comparison-column .compare-select{gap:0;justify-content:center;min-height:24px;width:100%}.comparison-column .compare-select input{margin:0}.inspections-table{display:block;overflow:visible;width:100%}.inspections-table thead{display:none}.inspections-table tbody{display:grid;grid-gap:12px;gap:12px}.inspections-table tr{background:var(--panel);border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:0;gap:0;overflow:hidden;padding:0}.inspections-table td{align-items:center;border-bottom:1px solid var(--line);display:grid;grid-gap:10px;gap:10px;grid-template-columns:84px minmax(0,1fr);min-width:0;padding:10px 12px;white-space:normal}.inspections-table td:last-child{border-bottom:0}.inspections-table td:before{color:var(--muted);content:attr(data-label);font-size:13px;font-weight:700}.inspections-table .comparison-column{max-width:none;min-width:0;text-align:left;width:auto}.inspections-table .comparison-column .compare-select{justify-content:flex-start;width:auto}.inspections-table .inspection-preview-button{max-width:180px}.inspections-table .inspection-preview-image,.inspections-table .inspection-preview-placeholder{min-width:0}.inspections-table .inspection-actions-column .actions{display:grid;grid-gap:8px;gap:8px;grid-template-columns:repeat(auto-fit,minmax(36px,40px));justify-content:start;width:auto}.inspections-table .inspection-actions-column .button{height:36px;justify-content:center;min-height:36px;padding:0;width:40px}.inspections-table .inspection-actions-column .publish-action{grid-column:1/-1;height:36px;justify-content:center;padding:0 10px;width:min(100%,150px)}.inspection-date-full{display:none}.inspection-date-compact{display:grid;font-size:12px;grid-gap:2px;gap:2px;line-height:1.15}.inspection-date-compact small{color:var(--muted);font-size:11px;font-weight:700}.inspection-filters{display:grid;grid-template-columns:1fr}.comparison-toolbar,.date-calendar,.time-slot-filter{width:100%}.comparison-toolbar{align-items:stretch;flex-direction:column}.inspection-preview-button,.inspection-preview-image,.inspection-preview-placeholder{max-width:none}.image-comparison,.temporal-image-stage{min-height:300px}.inspection-viewer-shell{grid-template-columns:1fr;min-height:0}.inspection-viewer-stage{grid-column:1;grid-row:2;height:68vh;min-height:420px}.inspection-viewer-panel{border-bottom:1px solid var(--line);border-right:0;grid-column:1;grid-row:1;height:auto;max-height:none;position:static;width:100%}.temporal-overlay{align-items:start;flex-direction:column;gap:8px;padding:14px}.temporal-overlay span,.temporal-overlay strong{white-space:normal}.temporal-bar{gap:10px;padding:12px}.temporal-ticks{grid-auto-columns:minmax(20px,1fr)}.overview-map,.overview-map-empty{min-height:240px}.inspection-fullscreen{padding:12px}.inspection-fullscreen-controls{justify-content:flex-start;width:100%}.calibration-grid{grid-template-columns:1fr}.calibration-image{min-height:220px}}@media (max-width:560px){.main{padding:14px}.sidebar{padding:16px 14px}.nav{grid-template-columns:1fr}.button{justify-content:center;width:100%}.actions{align-items:stretch;width:100%}.actions .button{width:auto}.comparison-toolbar .button,.section-title .button,.topbar .button{width:100%}h1{font-size:25px}h2{font-size:18px}.company-logo.large .company-logo-image{width:min(100%,280px)}.loading-page,.login-page{padding:14px}.date-calendar-day{height:34px}.image-comparison,.temporal-image-stage{min-height:240px}.inspection-viewer-stage{height:62vh;min-height:320px}.inspection-viewer-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.temporal-bar{padding:10px}.storage-progress div,.temporal-range-labels{flex-direction:column}.temporal-range-labels{gap:4px}.temporal-range-controls{gap:8px}.inspections-table .inspection-preview-button{max-width:160px}.inspections-table .inspection-date-column{font-size:12px;line-height:1.25}.inspections-table td{grid-template-columns:78px minmax(0,1fr);padding:9px 10px}.overview-map-marker{max-width:140px}.pipeline-settings-form .time-slot-picker{grid-template-columns:repeat(4,minmax(48px,1fr))}.pipeline-scale-bar{height:520px}.pipeline-scale-bounds{grid-template-columns:1fr}.pipeline-reprocessing-item{align-items:stretch;flex-direction:column}.pipeline-reprocessing-status{justify-items:start}.pipeline-info-tip [role=tooltip]{left:auto;right:-8px;transform:translateY(4px)}.pipeline-info-tip:focus-within [role=tooltip],.pipeline-info-tip:hover [role=tooltip]{transform:translateY(0)}}@media print{@page{margin:13mm 14mm}*{print-color-adjust:exact;-webkit-print-color-adjust:exact}body{background:#fff;color:#111;font-size:11pt}.shell{display:block;min-height:auto}.button,.info-hero,.info-quick-actions,.print-hidden,.sidebar,.topbar,.tutorial-image-admin-controls,.tutorial-menu{display:none!important}.main{padding:0}.print-only{display:block!important}.tutorial-print-cover{background:linear-gradient(135deg,#fbfcfb,#eef1ee);border:1px solid #b9c4bd;border-radius:10px;page-break-after:always;break-after:page;display:grid!important;min-height:235mm;padding:28mm 22mm;place-content:center}.tutorial-print-cover .eyebrow,.tutorial-print-toc .eyebrow{color:var(--brand-red-dark);letter-spacing:.04em}.tutorial-print-cover h1{font-size:34pt;line-height:1.05;margin:0 0 8mm}.tutorial-print-cover p{color:#3f4845;font-size:14pt;line-height:1.5;margin:0;max-width:170mm}.tutorial-print-cover-meta{display:flex;gap:8px;margin-top:14mm}.tutorial-print-cover-meta span{background:#fff;border:1px solid #c8d0ca;border-radius:999px;color:#252c2c;font-size:10pt;font-weight:800;padding:6px 10px}.tutorial-print-toc{page-break-after:always;break-after:page}.tutorial-print-toc h2{border-bottom:2px solid var(--brand-red);font-size:24pt;margin-bottom:8mm;padding-bottom:4mm}.tutorial-print-toc>div{display:grid;grid-gap:7mm;gap:7mm;grid-template-columns:repeat(2,minmax(0,1fr))}.tutorial-print-toc article{background:#fbfcfb;border:1px solid #c8d0ca;border-radius:8px;page-break-inside:avoid;break-inside:avoid;padding:6mm}.tutorial-print-toc strong{color:#252c2c;font-size:13pt}.tutorial-print-toc ul{color:#4e5855;margin:4mm 0 0;padding-left:5mm}.tutorial-print-toc li{margin-bottom:2mm}.section-title{align-items:flex-start;page-break-inside:avoid;break-inside:avoid;display:block;border-bottom:2px solid #d7ddd9;margin-bottom:7mm;padding-bottom:3mm}.section-title h2{font-size:22pt;margin-bottom:2mm}.card,.tutorial-topic-card{background:#fff;border-color:#bbb;box-shadow:none}.tutorial-content,.tutorial-faq-grid,.tutorial-layout,.tutorial-topic-grid{display:block}.info-section,.tutorial-faq-grid .card,.tutorial-topic-card{page-break-inside:avoid;break-inside:avoid;margin-bottom:9mm}.tutorial-topic-card{border-radius:9px;padding:8mm}.tutorial-note,.tutorial-screenshot,.tutorial-screenshot-placeholder,.tutorial-steps li{background:#fff;border-color:#bbb}.tutorial-topic-header h3{font-size:18pt}.tutorial-page-label{color:#68726f;font-size:9pt}.tutorial-screenshot{margin:4mm 0}.tutorial-screenshot img{max-height:110mm;object-fit:contain}.tutorial-screenshot figcaption{font-size:9pt}.tutorial-steps{gap:3mm}.tutorial-steps li{padding:4mm 4mm 4mm 13mm}.tutorial-steps li:before{left:4mm;top:4mm}a{color:#111}}