:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--font-sans:"Instrument Sans", sans-serif;--font-sans-medium:"Instrument Sans", sans-serif;--font-sans-semibold:"Instrument Sans", sans-serif;--font-sans-bold:"Instrument Sans", sans-serif;--font-sans-condensed:"Instrument Sans", sans-serif;--font-serif:"Instrument Serif", serif;--font-mono:"Space Mono", monospace;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--color-navy:#002259;--color-blue-100:#e9f3ff;--color-blue-150:#d7e7fe;--color-blue-200:#d3e8ff;--color-blue-300:#bdd7ff;--color-blue-500:#79adf8;--color-blue-600:#155dfc;--color-blue-700:#2670dc;--color-blue-900:#0042ab;--color-white:#fff;--color-neutral-50:#f7f7f9;--color-neutral-200:#f4f9ff;--color-neutral-300:#e0e8f2;--color-neutral-400:#d1d9e6;--color-neutral-500:#8f9fb8;--color-neutral-550:#798aa6;--color-neutral-600:#777f8b;--color-neutral-700:#5f6b7c;--color-neutral-800:#3f4a61;--color-success:#0dde53;--color-error:#ef4444;--color-red-500:#fb2c36;--color-red-600:#e40014;--color-amber-700:#b75000;--color-skeleton:#eff4f9;--color-skeleton-dark:#e5ecf3;--bg-gradient:linear-gradient(#bdd7ff 0%, #fff 39.45%);--cta-gradient:linear-gradient(#0044b9 5.5%, #0074ec 35%, #4eb1ff 65%, #add9ff 95%);--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:32px;--radius-pill:9999px;--shadow-card:#ffffffbf -4px -4px 6px 0 inset, #ffffffbf 4px 4px 6px 0 inset;--shadow-search:#ebf3ffbf -2px -2px 4px 0 inset, #ebf3ffbf 2px 2px 4px 0 inset;--transition:.15s cubic-bezier(.4, 0, .2, 1);font-family:var(--font-sans)}*{box-sizing:border-box}html{background:var(--bg-gradient);min-height:100%}body{background:var(--bg-gradient);min-height:100vh;color:var(--color-navy);font-family:var(--font-sans);font-size:var(--text-base);letter-spacing:0;margin:0;line-height:1.5}button,input,textarea{font:inherit;letter-spacing:0}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}.shell{flex-direction:column;gap:12px;min-height:100vh;padding:20px;display:flex}.topbar{z-index:2;justify-content:space-between;align-items:center;gap:16px;width:100%;max-width:1223px;margin:0 auto;padding:0 2px 6px;display:flex}.brand-lockup{align-items:center;gap:12px;min-width:0;display:flex}.brand-mark{object-fit:contain;flex:none;width:58px;height:58px}.topbar-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.install-callout{border-radius:var(--radius-lg);max-width:430px;box-shadow:var(--shadow-search);background:#ffffffd1;border:1px solid #bdd7ff70;align-items:center;gap:10px;padding:8px;display:flex}.install-copy{gap:2px;min-width:0;display:grid}.install-copy span{color:var(--color-neutral-600);font-family:var(--font-sans-semibold);text-transform:uppercase;font-size:.66rem;font-weight:650;line-height:1}.install-copy strong{color:var(--color-navy);font-family:var(--font-sans-semibold);font-size:var(--text-sm);font-weight:650;line-height:1.2}.install-button{border-radius:var(--radius-md);background-image:var(--cta-gradient);min-height:34px;color:var(--color-white);font-family:var(--font-sans-semibold);font-size:var(--text-xs);white-space:nowrap;border:1px solid #fff3;flex:none;padding:8px 12px;font-weight:650}.eyebrow,.section-kicker{color:var(--color-neutral-600);font-size:var(--text-xs);font-family:var(--font-sans-semibold);letter-spacing:0;text-transform:uppercase;margin:0 0 4px;font-weight:650;line-height:1}h1,h2{letter-spacing:0;color:var(--color-navy);margin:0}h1{font-family:var(--font-serif);font-size:clamp(2rem, 3vw, var(--text-4xl));font-weight:400;line-height:1}h2{font-family:var(--font-sans-semibold);font-size:var(--text-2xl);font-weight:650;line-height:1.15}.model-chip{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:var(--radius-pill);box-shadow:var(--shadow-search);color:var(--color-blue-700);font-family:var(--font-sans-semibold);font-size:var(--text-sm);white-space:nowrap;background:#ffffffb8;border:1px solid #bdd7ff66;padding:10px 16px;font-weight:650}.dashboard{flex:1;grid-template-columns:330px minmax(380px,1fr) 330px;gap:12px;width:100%;max-width:1223px;min-height:0;margin:0 auto;display:grid}.panel{border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);min-width:0;box-shadow:var(--shadow-card);background:#ffffffc7;border:1px solid #bdd7ff47}.input-panel,.report-panel,.agents-panel{padding:12px}.input-panel{flex-direction:column;gap:8px;display:flex}.image-frame{aspect-ratio:16/10;border-radius:var(--radius-xl);background:linear-gradient(#0022592e, #0022590d), var(--color-skeleton);width:100%;max-height:260px;box-shadow:var(--shadow-card);border:1px solid #bdd7ff57;position:relative;overflow:hidden}.image-frame img,.camera-video{object-fit:cover;width:100%;height:100%;display:block}.camera-video{background:var(--color-navy);display:none}.camera-video.is-visible{display:block}.capture-canvas{display:none}.image-empty{color:#ffffffe6;font-family:var(--font-sans-semibold);place-items:center;font-weight:650;display:grid;position:absolute;inset:0}.image-state-tag{border-radius:var(--radius-pill);max-width:calc(100% - 20px);box-shadow:var(--shadow-search);color:var(--color-blue-700);font-family:var(--font-sans-bold);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;background:#ffffffe0;border:1px solid #bdd7ff6b;padding:8px 10px;font-weight:700;line-height:1;position:absolute;bottom:10px;left:10px;overflow:hidden}.camera-strip{grid-template-columns:1fr;gap:8px;display:grid}.camera-strip.is-live{grid-template-columns:minmax(0,1fr) minmax(112px,.45fr)}.camera-action{border-radius:var(--radius-md);min-height:38px}.image-selection-note{color:var(--color-blue-700);font-family:var(--font-sans-semibold);font-size:var(--text-sm);margin:-2px 0 0;font-weight:650;line-height:1.3}.location-tools{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.field-label{color:var(--color-navy);font-family:var(--font-sans-semibold);font-weight:650;font-size:var(--text-sm)}.file-input,textarea{border-radius:var(--radius-sm);width:100%;box-shadow:var(--shadow-search);color:var(--color-navy);background:#ffffffe6;border:1px solid #bdd7ff4d}.file-input{font-size:var(--text-sm);padding:8px}textarea{resize:vertical;min-height:74px;padding:10px;line-height:1.45}.file-input:focus,textarea:focus,button:focus-visible{outline-offset:2px;border-color:#2670dc8c;outline:3px solid #2670dc2e}.button-row{grid-template-columns:1fr;gap:8px;display:grid}.primary-button,.secondary-button,.glass-button{border-radius:var(--radius-lg);min-height:42px;font-family:var(--font-sans-semibold);font-size:var(--text-sm);transition:border-color var(--transition), transform var(--transition), background var(--transition);border:1px solid #0000;font-weight:650}.primary-button{background-image:var(--cta-gradient);color:var(--color-white);border-color:#fff3}.primary-button:hover:not(:disabled),.secondary-button:hover:not(:disabled),.glass-button:hover:not(:disabled){transform:translateY(-1px)}.secondary-button,.glass-button{color:var(--color-blue-700);box-shadow:var(--shadow-search);background:#ffffffeb;border-color:#bdd7ff66}.glass-button{border-radius:var(--radius-md);min-height:36px;padding:7px 8px}.error-message,.camera-error{min-height:20px;color:var(--color-error);font-family:var(--font-sans-semibold);font-size:var(--text-sm);margin:0;font-weight:650;line-height:1.35}.camera-error{min-height:0}.report-panel{flex-direction:column;gap:12px;display:flex}.report-head{justify-content:space-between;align-items:start;gap:12px;display:flex}.analysis-meta{color:var(--color-neutral-600);font-size:var(--text-xs);margin:6px 0 0;line-height:1.25}.report-status-stack{justify-items:end;gap:8px;display:grid}.risk-badge{border-radius:var(--radius-pill);text-align:center;min-width:108px;color:var(--color-white);background:var(--color-neutral-600);font-family:var(--font-sans-bold);font-size:var(--text-xs);text-transform:uppercase;padding:9px 12px;font-weight:700}.processing-meter{border-radius:var(--radius-md);background:var(--color-skeleton);min-width:108px;box-shadow:var(--shadow-search);color:var(--color-navy);text-align:right;border:1px solid #bdd7ff57;padding:8px 10px}.processing-meter span{color:var(--color-neutral-600);font-family:var(--font-sans-semibold);text-transform:uppercase;font-size:.66rem;font-weight:650;line-height:1;display:block}.processing-meter strong{font-family:var(--font-sans-bold);font-size:var(--text-lg);margin-top:3px;font-weight:700;line-height:1;display:block}.risk-awaiting{background:var(--color-neutral-600)}.risk-low{background:var(--color-blue-700)}.risk-medium{background:var(--color-amber-700)}.risk-high{background:var(--color-red-500)}.risk-critical{background:var(--color-red-600)}.report-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;display:grid}.report-grid div,.recommendation-block{border-radius:var(--radius-md);background:var(--color-skeleton);box-shadow:var(--shadow-card);border:1px solid #bdd7ff3d;min-width:0;padding:12px}dt{color:var(--color-neutral-600);font-size:var(--text-xs);font-family:var(--font-sans-semibold);text-transform:uppercase;font-weight:650}dd{color:var(--color-navy);font-size:var(--text-lg);font-family:var(--font-sans-semibold);overflow-wrap:anywhere;margin:5px 0 0;font-weight:650}.recommendation-block p:last-child{color:var(--color-navy);font-family:var(--font-serif);font-size:var(--text-2xl);margin:0;line-height:1.15}.evidence-list{color:var(--color-neutral-800);gap:6px;margin:0;padding-left:18px;line-height:1.45;display:grid}.agents-panel{flex-direction:column;min-height:0;display:flex}.agents-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.agents-head span{color:var(--color-neutral-600);font-family:var(--font-sans-semibold);font-weight:650;font-size:var(--text-sm)}.agent-list{gap:8px;padding-right:0;display:grid;overflow:visible}.agent-card{border-radius:var(--radius-md);background:var(--color-skeleton);box-shadow:var(--shadow-card);transition:border-color var(--transition), background var(--transition);border:1px solid #bdd7ff3d;padding:10px}.agent-card.is-active{background:#f4f9ff;border-color:#b7500059}.agent-card-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.agent-card-main{gap:2px;min-width:0;display:grid}.agent-name{color:var(--color-navy);font-family:var(--font-sans-semibold);font-weight:650;font-size:var(--text-sm)}.agent-summary{color:var(--color-neutral-600);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;line-height:1.25;overflow:hidden}.agent-card-actions{flex:none;align-items:center;gap:6px;display:flex}.agent-detail-button{border-radius:var(--radius-md);min-height:28px;box-shadow:var(--shadow-search);color:var(--color-blue-700);font-size:var(--text-xs);font-family:var(--font-sans-semibold);background:#ffffffeb;border:1px solid #bdd7ff66;padding:4px 8px;font-weight:650}.agent-detail-button:hover{border-color:#2670dc73}.status-pill{border-radius:var(--radius-pill);font-size:.68rem;font-family:var(--font-sans-bold);color:var(--color-white);white-space:nowrap;padding:5px 8px;font-weight:700}.status-idle{background:var(--color-neutral-600)}.status-loading{background:var(--color-amber-700)}.status-complete{background:var(--color-blue-700)}.status-error{background:var(--color-error)}.agent-output{white-space:pre-wrap;overflow-wrap:anywhere;min-height:62px;max-height:220px;color:var(--color-neutral-800);font-family:var(--font-mono);margin:10px 0 0;font-size:.76rem;line-height:1.45;overflow:auto}@media (max-width:1120px){.dashboard{grid-template-columns:1fr 1fr}.agents-panel{grid-column:1/-1}}@media (max-width:760px){.shell{padding:12px}.topbar{flex-direction:column;align-items:start}.brand-mark{width:48px;height:48px}.topbar-actions,.install-callout,.model-chip{width:100%}.topbar-actions{justify-content:stretch}.install-callout{flex-direction:column;align-items:stretch}.install-button{width:100%}.dashboard,.report-grid,.camera-strip,.location-tools{grid-template-columns:1fr}.report-head{flex-direction:column}.report-status-stack,.risk-badge,.processing-meter{width:100%}.report-status-stack{justify-items:stretch}.processing-meter{text-align:left}}
