:root{--color-brand-primary: #2563eb;--color-brand-primary-hover: #1d4ed8;--color-brand-primary-soft: #dbeafe;--color-brand-copper: #b87333;--color-brand-copper-soft: #f3e2d1;--color-bg: #f8fafc;--color-surface: #ffffff;--color-surface-muted: #f1f5f9;--color-border: #cbd5e1;--color-border-soft: #e2e8f0;--color-text-primary: #1f2937;--color-text-secondary: #475569;--color-text-muted: #64748b;--color-text-inverse: #ffffff;--color-success: #16a34a;--color-success-soft: #dcfce7;--color-warning: #d97706;--color-warning-soft: #fef3c7;--color-danger: #dc2626;--color-danger-soft: #fee2e2;--color-info: #0284c7;--color-info-soft: #e0f2fe;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-md: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 2rem;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--page-max-width: 1200px;--detail-max-width: 900px;--form-max-width: 760px;--radius-sm: .375rem;--radius-md: .75rem;--radius-lg: 1rem;--radius-xl: 1.25rem;--radius-pill: 999px;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .06);--shadow-md: 0 8px 24px rgba(15, 23, 42, .08);color:var(--color-text-primary);background:var(--color-bg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;line-height:1.5}*{box-sizing:border-box}body{background:var(--color-bg);margin:0;min-width:320px}a{color:inherit}button,.button{align-items:center;background:var(--color-brand-primary);border:1px solid var(--color-brand-primary);border-radius:var(--radius-md);color:var(--color-text-inverse);cursor:pointer;display:inline-flex;font:inherit;font-weight:var(--font-weight-semibold);justify-content:center;min-height:2.5rem;padding:.55rem .9rem;text-decoration:none;transition:background-color .12s ease,border-color .12s ease,box-shadow .12s ease}button:hover,.button:hover{background:var(--color-brand-primary-hover);border-color:var(--color-brand-primary-hover)}button:focus-visible,.button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--color-brand-primary-soft);outline-offset:2px}button:disabled{cursor:not-allowed;opacity:.7}button.secondary,.button.secondary{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text-primary)}button.secondary:hover,.button.secondary:hover{background:var(--color-surface-muted);border-color:var(--color-border)}button.danger,.button.danger{background:var(--color-danger);border-color:var(--color-danger);color:var(--color-text-inverse)}input,select,textarea{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font:inherit;min-height:2.4rem;padding:.55rem .65rem;width:100%}textarea{resize:vertical}input[aria-invalid=true]{border-color:var(--color-danger)}.app-shell{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100vh}.app-header{align-items:stretch;background:var(--color-surface);border-right:1px solid var(--color-border-soft);display:flex;flex-direction:column;gap:var(--space-6);justify-content:start;min-height:100vh;padding:var(--space-6) var(--space-4);position:sticky;top:0;width:248px;z-index:1}.brand{align-items:center;display:flex;min-height:6.9rem;text-decoration:none}.brand img{display:block;height:auto;max-height:6.9rem;object-fit:contain;width:min(100%,16.7rem)}.top-nav{align-items:stretch;display:flex;flex-direction:column;gap:var(--space-1)}.top-nav a{border-radius:var(--radius-md);color:var(--color-text-secondary);font-weight:var(--font-weight-semibold);padding:.6rem .75rem;text-decoration:none}.top-nav a.active{background:var(--color-brand-primary-soft);color:var(--color-brand-primary-hover)}.mobile-bottom-nav{display:none}.tab-nav{background:var(--color-surface);border:1px solid var(--color-border-soft);border-radius:var(--radius-lg);display:flex;flex-wrap:wrap;gap:.35rem;padding:.35rem}.tab-nav a{border-radius:var(--radius-md);color:var(--color-text-secondary);font-weight:var(--font-weight-bold);padding:.5rem .75rem;text-decoration:none}.tab-nav a.active{background:var(--color-brand-primary);color:var(--color-text-inverse)}.filter-panel{background:var(--color-surface);border:1px solid var(--color-border-soft);border-radius:var(--radius-lg);display:grid;gap:.9rem;padding:1rem}.filter-grid{display:grid;gap:1rem;grid-template-columns:repeat(4,minmax(0,1fr))}.app-main{margin:0 auto;max-width:var(--page-max-width);padding:var(--space-8) clamp(var(--space-4),4vw,var(--space-8));width:100%}.page-stack,.form-stack{display:grid;gap:1rem}.mode-panel{align-items:center;background:var(--color-surface);border:1px solid var(--color-border-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex;gap:var(--space-4);justify-content:space-between;margin-bottom:var(--space-4);padding:var(--space-4)}.mode-panel p{color:var(--color-text-secondary);margin:var(--space-1) 0 0}.cloud-mode-panel{border-color:var(--color-brand-primary-soft)}.narrow-page{max-width:820px}.page-header{align-items:start;display:flex;gap:1rem;justify-content:space-between}.page-header h1,.panel h2,.record-row h2{margin:0}.page-header p,.record-row p,.panel p{color:var(--color-text-secondary);margin:.25rem 0 0}.header-actions,.form-actions{display:flex;flex-wrap:wrap;gap:.65rem}.panel,.empty-state,.record-row{background:var(--color-surface);border:1px solid var(--color-border-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-4)}.empty-state{display:grid;gap:.8rem;justify-items:start}.record-list{display:grid;gap:.75rem}.record-row{align-items:center;display:grid;gap:1rem;grid-template-columns:minmax(0,1fr) auto;text-decoration:none}.record-row:hover{border-color:var(--color-brand-primary)}.row-meta{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:end;margin:0}.tag-list{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.55rem}.tag-pill{background:var(--color-brand-copper-soft);border-radius:var(--radius-pill);color:var(--color-brand-copper);font-size:.8rem;font-weight:var(--font-weight-bold);padding:.15rem .5rem}.row-meta div,.detail-list div{display:grid;gap:.15rem}dt{color:var(--color-text-muted);font-size:.76rem;font-weight:700;text-transform:uppercase}dd{margin:0}.form-grid,.detail-grid{display:grid;gap:1rem;grid-template-columns:repeat(3,minmax(0,1fr))}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}label{display:grid;gap:.35rem;font-weight:700}.checkbox-label{align-content:end;align-items:center;display:flex;gap:var(--space-2);min-height:2.4rem}.checkbox-label input{min-height:1rem;width:auto}.panel{display:grid;gap:.9rem}.panel-heading-row{align-items:center;display:flex;gap:1rem;justify-content:space-between}.detail-list{display:grid;gap:.8rem;margin:0}.field-error,.form-error{color:var(--color-danger);font-size:.9rem;font-weight:var(--font-weight-semibold)}.status-text,.eyebrow{color:var(--color-brand-primary);font-weight:var(--font-weight-bold)}.compact-form{margin-top:1rem}.compact-button{min-height:2rem;padding:.35rem .55rem}.field-capture-page{max-width:720px}.field-capture-header p{max-width:36rem}.field-status-strip{display:flex;flex-wrap:wrap;gap:.45rem}.field-status-strip span{background:var(--color-info-soft);border:1px solid var(--color-border-soft);border-radius:var(--radius-pill);color:var(--color-info);font-size:.86rem;font-weight:var(--font-weight-bold);padding:.22rem .6rem}.active-session-panel{align-items:center;background:var(--color-surface);border:1px solid var(--color-border-soft);border-radius:var(--radius-lg);display:flex;gap:1rem;justify-content:space-between;padding:1rem}.active-session-panel h2{margin:0}.field-readiness-page{max-width:980px}.readiness-grid{display:grid;gap:.75rem;grid-template-columns:repeat(4,minmax(0,1fr))}.readiness-card{background:var(--color-surface);border:1px solid var(--color-border-soft);border-radius:var(--radius-lg);display:grid;gap:.35rem;min-width:0;padding:1rem}.readiness-card h2,.readiness-card p{margin:0;overflow-wrap:anywhere}.readiness-card.ok{border-color:var(--color-success)}.readiness-card.warn{border-color:var(--color-warning)}.readiness-card.bad{border-color:var(--color-danger)}.capture-panel{gap:.85rem}.location-preview{background:var(--color-surface-muted);border:1px solid var(--color-border-soft);border-radius:var(--radius-lg);display:grid;gap:.75rem;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:.85rem}.location-preview div{display:grid;gap:.15rem;min-width:0}.location-preview dd{overflow-wrap:anywhere}.capture-photo-control{align-items:center;display:flex;gap:1rem;justify-content:space-between}.capture-photo-control h2{margin:0}.capture-file-button{flex:0 0 auto}.capture-file-button input{height:1px;opacity:0;overflow:hidden;position:absolute;width:1px}.optional-label{color:var(--color-text-muted);font-size:.85rem;font-weight:var(--font-weight-semibold)}.mobile-submit-bar{align-items:center;background:var(--color-bg);bottom:0;border-top:1px solid var(--color-border-soft);justify-content:space-between;margin:0 -.25rem;padding:.75rem .25rem max(.75rem,env(safe-area-inset-bottom));position:sticky;z-index:1}.mobile-submit-summary{display:grid;gap:.1rem;min-width:0}.mobile-submit-summary strong,.mobile-submit-summary span{min-width:0;overflow-wrap:anywhere}.mobile-submit-summary span{color:var(--color-text-muted);font-size:.88rem}.mobile-submit-actions{display:flex;flex:0 0 auto;gap:.5rem}.capture-preview-grid{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr))}.capture-preview-card{background:var(--color-surface-muted);border:1px solid var(--color-border-soft);border-radius:var(--radius-lg);display:grid;min-width:0;overflow:hidden}.capture-preview-card img{aspect-ratio:4 / 3;background:var(--color-surface-muted);display:block;object-fit:cover;width:100%}.capture-preview-body{display:grid;gap:.5rem;min-width:0;padding:.65rem}.capture-preview-body p{margin:0;min-width:0;overflow-wrap:anywhere}.photo-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}.photo-card{background:var(--color-surface-muted);border:1px solid var(--color-border-soft);border-radius:var(--radius-lg);display:grid;min-width:0;overflow:hidden}.photo-card img{aspect-ratio:4 / 3;background:var(--color-surface-muted);display:block;object-fit:cover;width:100%}.photo-card-body{display:grid;gap:.65rem;min-width:0;padding:.75rem}.photo-card h3{margin:0;text-transform:capitalize}.photo-edit-grid,.photo-actions{min-width:0}.photo-edit-grid{display:grid;gap:.5rem}.photo-edit-grid label,.photo-edit-grid input,.photo-edit-grid select{min-width:0}.photo-edit-grid p{margin:0;min-width:0;overflow-wrap:anywhere}.photo-actions{display:flex;flex-wrap:wrap;gap:.5rem}.photo-actions button{flex:1 1 5.5rem;min-width:0}.session-row{align-items:center}.session-row-main{align-items:center;color:inherit;display:grid;gap:1rem;grid-template-columns:minmax(0,1fr) auto;min-width:0;text-decoration:none}.session-row-actions{display:flex;justify-content:end}.evidence-list{display:grid;gap:.75rem}.evidence-row{align-items:start;background:var(--color-surface-muted);border:1px solid var(--color-border-soft);border-radius:var(--radius-lg);display:grid;gap:1rem;grid-template-columns:minmax(0,1fr) auto;padding:.85rem}.evidence-row h3{margin:0}.evidence-key{color:var(--color-text-muted);font-size:.82rem}.guidance-run,.guidance-candidates,.guidance-candidate,.guidance-tests{display:grid;gap:.75rem}.guidance-candidate{background:var(--color-surface-muted);border:1px solid var(--color-border-soft);border-radius:var(--radius-lg);padding:.85rem}.guidance-candidate ul,.guidance-tests ul{margin:0;padding-left:1.25rem}.knowledge-page{max-width:980px}.account-page{max-width:520px}.account-mode-tabs{align-self:start}.account-mode-tabs button{min-height:2.25rem}.knowledge-record h2{margin:0}.knowledge-notes{margin:0;padding-left:1.25rem}.knowledge-match{color:var(--color-text-muted);font-size:.88rem;font-weight:700}.current-assessment,.assessment-row{background:var(--color-surface-muted);border:1px solid var(--color-border-soft);border-radius:var(--radius-lg);padding:.85rem}.assessment-list{display:grid;gap:.75rem}.assessment-row{align-items:start;display:grid;gap:1rem;grid-template-columns:minmax(0,1fr) auto}.assessment-title-row{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.assessment-title-row h3,.current-assessment h3{margin:0}.status-pill{background:var(--color-brand-primary-soft);border-radius:var(--radius-pill);color:var(--color-brand-primary-hover);font-size:.78rem;font-weight:var(--font-weight-bold);padding:.15rem .5rem}.review-pill{background:var(--color-warning-soft);color:var(--color-warning)}.review-panel{align-items:center;display:flex;gap:1rem;justify-content:space-between}.alternatives-list ul{margin:.25rem 0 0;padding-left:1.2rem}.catalog-page{max-width:980px}.catalog-cover,.catalog-record{background:var(--color-surface);border:1px solid var(--color-border-soft);border-radius:var(--radius-lg);padding:1.25rem}.catalog-cover h1{margin:0}.catalog-records{display:grid;gap:1rem}.catalog-record{break-inside:avoid;display:grid;gap:1rem}.catalog-record-main{align-items:start;display:grid;gap:1rem;grid-template-columns:160px minmax(0,1fr)}.catalog-record-main h2,.catalog-section h3{margin:0}.catalog-photo{align-items:center;aspect-ratio:4 / 3;background:var(--color-surface-muted);border-radius:var(--radius-md);display:flex;justify-content:center;overflow:hidden}.catalog-photo img{height:100%;object-fit:cover;width:100%}.catalog-grid{display:grid;gap:.75rem;grid-template-columns:repeat(3,minmax(0,1fr));margin:0}.catalog-section{display:grid;gap:.5rem}.catalog-section ul{margin:0;padding-left:1.25rem}.no-print{display:flex}@media(max-width:760px){.app-shell{display:block}.app-main{padding:1rem clamp(.75rem,3vw,1rem) calc(5.25rem + env(safe-area-inset-bottom))}.app-header,.page-header,.record-row{align-items:stretch;grid-template-columns:1fr}.app-header,.page-header{flex-direction:column}.app-header{border-bottom:1px solid var(--color-border-soft);border-right:0;gap:var(--space-3);min-height:0;padding:var(--space-4);width:auto}.brand{min-height:4.6rem}.brand img{max-height:4.6rem;width:min(100%,13.8rem)}.header-actions,.top-nav{width:100%}.top-nav{-webkit-overflow-scrolling:touch;flex-direction:row;overflow-x:auto;padding-bottom:.15rem}.top-nav a{flex:0 0 auto;white-space:nowrap}.mobile-bottom-nav{align-items:center;background:var(--color-surface);border-top:1px solid var(--color-border-soft);bottom:0;display:grid;gap:.25rem;grid-template-columns:repeat(4,minmax(0,1fr));left:0;padding:.45rem .5rem max(.45rem,env(safe-area-inset-bottom));position:fixed;right:0;z-index:3}.mobile-bottom-nav a{border-radius:var(--radius-md);color:var(--color-text-secondary);display:flex;font-size:.78rem;font-weight:var(--font-weight-bold);justify-content:center;min-width:0;overflow:hidden;padding:.5rem .3rem;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.mobile-bottom-nav a.active{background:var(--color-brand-primary-soft);color:var(--color-brand-primary-hover)}.mobile-bottom-nav .field-nav-action{background:var(--color-brand-primary);color:var(--color-text-inverse)}.mobile-bottom-nav .field-nav-action.active{background:var(--color-brand-primary-hover);color:var(--color-text-inverse)}.button,button{width:100%}.compact-button,.photo-actions button{width:auto}.photo-actions button{flex:1 1 6rem}.capture-photo-control{align-items:stretch;flex-direction:column}.active-session-panel,.review-panel,.session-row-main{align-items:stretch;grid-template-columns:1fr}.active-session-panel,.mode-panel,.review-panel{flex-direction:column}.capture-file-button{width:100%}.mobile-submit-bar{align-items:stretch;bottom:calc(3.65rem + env(safe-area-inset-bottom));flex-direction:column}.mobile-submit-actions{width:100%}.mobile-submit-actions button{flex:1 1 0}.session-row-actions{justify-content:stretch}.session-row-actions button{width:100%}.form-grid,.detail-grid,.filter-grid,.location-preview,.readiness-grid,.catalog-record-main,.catalog-grid{grid-template-columns:1fr}.row-meta{justify-content:start}}@media print{:root{background:var(--color-surface);color:#111;font-size:12px}.app-header,.no-print{display:none}.app-main{max-width:none;padding:0}.catalog-cover,.catalog-record{border-color:#bbb;box-shadow:none}}
