:root{--bg: #faf9f7;--surface: #ffffff;--border: #e8e3da;--text: #1c1917;--muted: #a8a29e;--stone: #78716c;--amber: #d97706;--amber-light: #fffbeb;--amber-dark: #b45309;--red: #dc2626;--red-light: #fef2f2;--green: #16a34a;--green-light: #f0fdf4;--blue: #2563eb;--blue-light: #eff6ff;--yellow-light: #fefce8;--radius: 8px;--radius-sm: 6px;--font-mono: "SF Mono", "Consolas", "Monaco", monospace}:root[data-theme=dark]{--bg: #101418;--surface: #171c21;--border: #2c343d;--text: #f4f1ec;--muted: #8f9aa6;--stone: #c2c8ce;--amber: #f59e0b;--amber-light: #3a2a12;--amber-dark: #fbbf24;--red: #f87171;--red-light: #3a181d;--green: #4ade80;--green-light: #12321f;--blue: #60a5fa;--blue-light: #142b45;--yellow-light: #332a11}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px;line-height:1.5;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit;font-size:inherit}input,select,textarea{font-family:inherit;font-size:inherit}.app-shell{display:flex;flex-direction:column;height:100%}.app-body{display:flex;flex:1;overflow:hidden}.app-main{flex:1;overflow-y:auto;background:var(--bg)}.topbar{display:flex;align-items:center;min-height:56px;padding:0 20px;background:var(--surface);border-bottom:1px solid var(--border);gap:12px;flex-shrink:0;z-index:10}.topbar-logo{display:flex;align-items:center;gap:8px}.topbar-home-link{min-height:36px;padding:4px 6px;border-radius:var(--radius-sm)}.topbar-home-link:hover{background:var(--bg)}.topbar-logomark{width:28px;height:28px;background:var(--amber);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#fff;font-family:Georgia,serif;letter-spacing:0}.topbar-title{font-size:15px;font-weight:600;color:var(--text);letter-spacing:0}.topbar-separator{width:1px;height:24px;background:var(--border);flex:0 0 auto}.topbar-admin-link{display:inline-flex;align-items:center;min-height:32px;padding:0 10px;border-radius:var(--radius-sm);color:var(--stone);font-size:13px;font-weight:600}.topbar-admin-link:hover,.topbar-admin-link.active{background:var(--amber-light);color:var(--amber-dark)}.topbar-spacer{flex:1}.topbar-theme-toggle{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--stone);flex:0 0 auto}.topbar-theme-toggle:hover{background:var(--bg);color:var(--text)}.topbar-theme-icon{width:17px;height:17px}.topbar-user{display:inline-flex;align-items:center;gap:10px;min-width:0}.topbar-user-copy{display:grid;gap:1px;min-width:0;text-align:right}.topbar-user-name,.topbar-user-email{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-user-name{color:var(--text);font-size:12.5px;font-weight:650}.topbar-user-email{color:var(--muted);font-size:11.5px}.topbar-avatar{width:30px;height:30px;border-radius:50%;background:var(--amber);color:#fff;font-size:11px;font-weight:600;display:flex;align-items:center;justify-content:center;object-fit:cover;flex-shrink:0}.topbar-signout{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--stone);min-height:30px;padding:0 10px;font-size:12.5px;font-weight:600}.topbar-signout:hover{background:var(--bg);color:var(--text)}.auth-loading-screen,.login-page{min-height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,rgba(37,99,235,.08),transparent 34%),var(--bg);padding:24px}.auth-loading-screen{gap:10px;color:var(--stone);font-weight:600}.login-panel{width:min(100%,420px);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:28px;box-shadow:0 18px 60px #1c191714}.login-brand{display:inline-flex;align-items:center;gap:9px;color:var(--text);font-weight:700;margin-bottom:24px}.login-title{color:var(--text);font-size:26px;line-height:1.15;font-weight:700;margin-bottom:8px}.login-subtitle{color:var(--stone);font-size:14px;margin-bottom:22px}.google-signin-button{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:42px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font-weight:650}.google-signin-button:hover:not(:disabled){border-color:var(--blue);background:var(--blue-light)}.google-signin-mark{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--blue);color:#fff;font-size:13px;font-weight:700}.sidebar{width:220px;background:var(--surface);border-right:1px solid var(--border);padding:16px 0;flex-shrink:0;overflow-y:auto}.sidebar-section-label{padding:0 16px 6px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.nav-item{display:flex;align-items:center;gap:8px;padding:8px 16px;font-size:13.5px;font-weight:500;color:var(--stone);border-radius:0;transition:background .12s,color .12s;cursor:pointer;text-decoration:none}.nav-item:hover{background:var(--bg);color:var(--text)}.nav-item.active{background:var(--amber-light);color:var(--amber-dark);font-weight:600}.nav-item-icon{font-size:15px;width:20px;text-align:center}.sidebar-project-list{display:grid;gap:3px;padding:2px 10px 12px 44px}.sidebar-project-list-label{padding:4px 8px 2px;color:var(--muted);font-size:11px;font-weight:750;text-transform:uppercase;letter-spacing:0}.sidebar-project-button{width:100%;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--stone);text-align:left;cursor:pointer}.sidebar-project-button{display:grid;gap:2px;padding:6px 8px;min-width:0}.sidebar-project-button:hover{background:var(--bg);color:var(--text)}.sidebar-project-button.active{background:var(--amber-light);color:var(--amber-dark)}.sidebar-project-name,.sidebar-project-meta{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-project-name{font-size:12.5px;font-weight:650}.sidebar-project-meta{color:var(--muted);font-size:11px}.sidebar-project-button.active .sidebar-project-meta{color:var(--amber-dark)}.sidebar-project-status{padding:6px 8px;color:var(--muted);font-size:12px;line-height:1.35}.sidebar-project-status.error{color:var(--red)}.btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:var(--radius-sm);font-size:13.5px;font-weight:500;border:1px solid transparent;transition:background .12s,border-color .12s,color .12s,opacity .12s;line-height:1.4;white-space:nowrap;cursor:pointer}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--amber);color:#fff;border-color:var(--amber)}.btn-primary:hover:not(:disabled){background:var(--amber-dark);border-color:var(--amber-dark)}.btn-secondary{background:var(--surface);color:var(--text);border-color:var(--border)}.btn-secondary:hover:not(:disabled){background:var(--bg);border-color:var(--border)}.btn-ghost{background:transparent;color:var(--stone);border-color:transparent}.btn-ghost:hover:not(:disabled){background:var(--bg);color:var(--text)}.btn-danger{background:var(--surface);color:var(--red);border-color:#fca5a5}.btn-danger:hover:not(:disabled){background:var(--red-light)}.btn-success{background:var(--green);color:#fff;border-color:var(--green)}.btn-success:hover:not(:disabled){background:#15803d;border-color:#15803d}.btn-sm{padding:4px 10px;font-size:12px}.badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:20px;font-size:11.5px;font-weight:600;letter-spacing:.02em}.badge-draft{background:var(--yellow-light);color:#92400e;border:1px solid #fde68a}.badge-submitted{background:var(--green-light);color:var(--green);border:1px solid #bbf7d0}.badge-critical{background:var(--red-light);color:var(--red);border:1px solid #fca5a5}.badge-high{background:#fff7ed;color:#c2410c;border:1px solid #fed7aa}.badge-medium{background:var(--yellow-light);color:#854d0e;border:1px solid #fef08a}.badge-low{background:var(--green-light);color:var(--green);border:1px solid #bbf7d0}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.card-body{padding:24px}.card-footer{display:flex;align-items:center;gap:10px;padding:16px 24px;border-top:1px solid var(--border);background:var(--bg)}.card-footer-spacer{flex:1}.page-header{display:flex;align-items:center;justify-content:space-between;padding:24px 28px 0;margin-bottom:24px}.page-title{font-size:20px;font-weight:700;color:var(--text);letter-spacing:0}.page-subtitle{margin-top:3px;color:var(--muted);font-size:13px}.page-content{padding:0 28px 32px}.admin-page-header{margin-bottom:18px}.admin-page-content{display:grid;gap:16px}.admin-metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.admin-metric{display:flex;align-items:start;justify-content:space-between;gap:12px;padding:14px 16px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.admin-metric span{color:var(--stone);font-size:12.5px;font-weight:650}.admin-metric strong{color:var(--text);font-size:22px;line-height:1}.admin-workspace{display:grid;grid-template-columns:minmax(260px,.42fr) minmax(0,1fr);gap:16px;align-items:start}.admin-detail-stack{display:grid;gap:16px}.admin-panel{min-width:0;padding:18px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.admin-project-list-panel{position:sticky;top:16px}.admin-panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.admin-panel-header.compact{margin-bottom:12px}.admin-panel-header h2,.admin-panel-header h3{color:var(--text);font-size:15px;font-weight:700}.admin-panel-header p{margin-top:2px;color:var(--muted);font-size:12.5px}.admin-project-select-block{display:grid;gap:8px}.admin-selected-project-summary{display:grid;gap:3px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg)}.admin-selected-project-summary strong,.admin-selected-project-summary span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-selected-project-summary strong{color:var(--text);font-size:12.5px}.admin-selected-project-summary span{color:var(--muted);font-size:11.5px}.admin-compact-form{gap:14px}.admin-actions-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.admin-divider{height:1px;margin:18px -18px;background:var(--border)}.admin-member-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-bottom:14px}.admin-list{display:grid;gap:8px}.admin-list-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg)}.admin-role-badge{margin-left:auto;padding:3px 8px;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--stone);background:var(--surface);font-size:11px;font-weight:750;text-transform:uppercase;letter-spacing:0;white-space:nowrap}.admin-user-identity{display:inline-flex;align-items:center;gap:10px;min-width:0}.admin-user-avatar{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:var(--blue-light);color:var(--blue);font-size:11px;font-weight:800;flex-shrink:0}.admin-list-title{display:block;min-width:0;color:var(--text);font-weight:650}.admin-list-meta{display:block;min-width:0;color:var(--muted);font-size:12px}.admin-empty{padding:18px;color:var(--muted);text-align:center;border:1px dashed var(--border);border-radius:var(--radius-sm)}.admin-alert{margin:0 0 16px}.admin-alert.success{color:var(--green);background:var(--green-light);border-color:#bbf7d0}.admin-users-panel{margin-top:2px}.admin-users-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.72fr);gap:16px;align-items:start}.admin-user-form-panel,.admin-user-list-panel{min-width:0}.admin-subsection-title{margin-bottom:12px;color:var(--text);font-size:13px;font-weight:700}.admin-table-heading{display:flex;align-items:center;gap:8px;margin-bottom:8px;color:var(--text);font-size:13px;font-weight:700}.metrics-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:28px}.metric-card{min-width:0;padding:16px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.metric-value{color:var(--text);font-size:26px;font-weight:750;line-height:1.1}.metric-label{margin-top:6px;color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:0}.section-heading{display:flex;align-items:center;justify-content:space-between;margin:4px 0 12px}.section-heading h2{color:var(--text);font-size:16px;font-weight:700}.observations-table-actions{display:flex;align-items:center;gap:10px}.selected-count{color:var(--muted);font-size:12px;font-weight:600}.steps{display:flex;align-items:center;margin-bottom:32px}.step{display:flex;align-items:center;gap:10px}.step-circle{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0;transition:background .2s,color .2s}.step-circle.future{background:var(--border);color:var(--muted)}.step-circle.active{background:var(--amber);color:#fff}.step-circle.done{background:var(--green);color:#fff}.step-label{font-size:13px;font-weight:500;color:var(--muted);white-space:nowrap}.step-label.active{color:var(--text);font-weight:600}.step-label.done{color:var(--green)}.step-connector{flex:1;height:2px;background:var(--border);margin:0 12px;min-width:40px}.step-connector.done{background:var(--green)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-fieldset{min-width:0;margin:0;padding:0;border:0}.form-fieldset:disabled .form-input,.form-fieldset:disabled .form-select,.form-fieldset:disabled .form-textarea{color:var(--text);background:var(--bg);opacity:1;cursor:default}.form-fieldset:disabled button{cursor:default}.form-full{grid-column:1 / -1}.form-group{display:flex;flex-direction:column;gap:5px}.form-label{font-size:13px;font-weight:600;color:var(--text)}.form-label .required{color:var(--amber);margin-left:2px}.form-input,.form-select,.form-textarea{width:100%;padding:8px 11px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font-size:13.5px;transition:border-color .12s,box-shadow .12s;outline:none}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--amber);box-shadow:0 0 0 3px #d977061f}.form-input.error,.form-select.error,.form-textarea.error{border-color:var(--red)}.form-input.error:focus,.form-select.error:focus,.form-textarea.error:focus{box-shadow:0 0 0 3px #dc26261f}.form-textarea{resize:vertical;line-height:1.6}.form-textarea.mono,.form-input.mono{font-family:var(--font-mono);font-size:12.5px}.form-hint{font-size:12px;color:var(--muted);margin-top:1px}.form-error{font-size:12px;color:var(--red);margin-top:1px}.config-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}.divider-label{grid-column:1 / -1;display:flex;align-items:center;gap:12px;margin:8px 0 4px}.divider-label-text{font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--stone);white-space:nowrap}.divider-label-line{flex:1;height:1px;background:var(--border)}.ctx-toggle{display:flex;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;margin-bottom:10px;width:fit-content}.ctx-tab{padding:6px 14px;font-size:12.5px;font-weight:500;color:var(--stone);background:var(--bg);border:none;cursor:pointer;transition:background .12s,color .12s;display:flex;align-items:center;gap:5px}.ctx-tab+.ctx-tab{border-left:1px solid var(--border)}.ctx-tab.active{background:var(--surface);color:var(--text);font-weight:600}.ctx-tab:hover:not(.active){background:var(--surface)}.ref-file-list{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}.ref-file-row{display:flex;align-items:center;gap:10px;padding:9px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);cursor:pointer;transition:border-color .12s,background .12s}.ref-file-row:hover{border-color:var(--border);background:var(--bg)}.ref-file-row.selected{border-color:var(--amber);background:var(--amber-light)}.ref-file-icon{font-size:14px}.ref-file-name{flex:1;font-size:13px;font-family:var(--font-mono);color:var(--text)}.ref-file-meta{margin-top:2px;color:var(--muted);font-size:12px}.ref-file-meta.mono{font-family:var(--font-mono);overflow-wrap:anywhere}.ref-file-check{font-size:14px;color:var(--amber)}.extra-outputs{display:flex;flex-direction:column;gap:12px}.extra-output-item{display:flex;flex-direction:column;gap:6px}.extra-output-header{display:flex;align-items:center;justify-content:space-between}.extra-output-label{font-size:12.5px;font-weight:600;color:var(--stone)}.pii-scan-banner{display:flex;align-items:center;gap:10px;padding:12px 16px;background:var(--red-light);border:1px solid #fca5a5;border-radius:var(--radius-sm);margin-bottom:20px;font-size:13.5px;font-weight:600;color:var(--red)}.pii-scan-banner-icon{font-size:16px}.pii-pending-count{font-weight:400;color:var(--red)}.pii-save-state{margin-left:auto;font-size:12px;font-weight:600;color:var(--stone)}.pii-review-gate{color:var(--stone);font-size:12px;font-weight:600}.pii-entities{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}.pii-entity{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}.pii-entity.accepted{border-color:#bbf7d0;background:var(--green-light)}.pii-entity-info{flex:1}.pii-type-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:20px;font-size:11px;font-weight:600;background:var(--red-light);color:var(--red);border:1px solid #fca5a5;margin-bottom:4px}.pii-entity-value{font-size:13.5px;font-weight:600;color:var(--text)}.pii-entity-actions{display:flex;gap:6px;flex-shrink:0;align-items:center}.pii-accepted-label{font-size:12px;color:var(--green);font-weight:600;display:flex;align-items:center;gap:4px}.pii-accepted-label.muted{color:var(--stone)}.pii-edit-row{display:grid;grid-template-columns:minmax(140px,.35fr) minmax(180px,1fr);gap:8px}.pii-empty-state{padding:14px 16px;border:1px dashed var(--border);border-radius:var(--radius-sm);color:var(--stone);font-size:13px}.pii-preview-label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:0;color:var(--stone)}.pii-redacted-preview{padding:14px 16px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:12.5px;line-height:1.7;color:var(--stone);margin-bottom:20px}.pii-redacted{display:inline-block;background:var(--text);color:var(--text);border-radius:2px;padding:0 2px;font-size:11px;letter-spacing:0;-webkit-user-select:none;user-select:none}.submit-success-card{text-align:center;padding:40px 32px}.submit-checkmark{width:56px;height:56px;border-radius:50%;background:var(--green-light);border:2px solid #bbf7d0;display:flex;align-items:center;justify-content:center;font-size:24px;margin:0 auto 20px}.submit-heading{font-size:20px;font-weight:700;color:var(--text);margin-bottom:8px}.submit-subtext{font-size:13.5px;color:var(--muted);margin-bottom:24px}.submit-summary{text-align:left;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:16px;margin-bottom:24px;display:grid;grid-template-columns:1fr 1fr;gap:12px}.submit-summary-item{display:flex;flex-direction:column;gap:3px}.submit-summary-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.submit-summary-value{font-size:13.5px;font-weight:500;color:var(--text)}.submit-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.submit-toast{margin-top:16px;padding:10px 16px;background:var(--green-light);border:1px solid #bbf7d0;border-radius:var(--radius-sm);font-size:13px;color:var(--green);font-weight:500;display:flex;align-items:center;gap:6px}.placeholder-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:calc(100vh - 52px);padding:40px}.placeholder-card{text-align:center;padding:48px 56px;max-width:400px}.placeholder-icon{font-size:36px;margin-bottom:16px}.placeholder-title{font-size:17px;font-weight:700;color:var(--text);margin-bottom:8px}.placeholder-text{font-size:13.5px;color:var(--muted)}.table-wrap{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-size:13.5px}.data-table th{padding:10px 16px;text-align:left;font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);border-bottom:1px solid var(--border);background:var(--bg);white-space:nowrap}.data-table td{padding:12px 16px;border-bottom:1px solid var(--border);color:var(--text);vertical-align:middle}.data-table .table-select-cell{width:44px;padding-left:14px;padding-right:8px;text-align:center}.table-select-cell input{width:16px;height:16px;accent-color:var(--amber)}.data-table tbody tr:hover{background:var(--bg)}.data-table tbody tr.clickable-row{cursor:pointer}.data-table tbody tr.clickable-row:focus{outline:2px solid rgba(217,119,6,.35);outline-offset:-2px}.table-empty{text-align:center;color:var(--muted);padding:48px 0;font-size:13.5px}.table-title{font-weight:650;color:var(--text)}.table-subtitle{margin-top:2px;color:var(--muted);font-size:12px}.link-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;border:0;background:transparent;color:var(--amber);font-weight:600;line-height:inherit}.link-button:hover{color:var(--amber-dark)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:24px;background:#1c19176b;z-index:50}.modal{width:min(680px,100%);max-height:min(760px,calc(100vh - 48px));overflow-y:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 20px 45px #1c19172e}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:20px 22px 16px;border-bottom:1px solid var(--border)}.modal-title{font-size:18px;font-weight:700;color:var(--text)}.modal-subtitle{margin-top:4px;color:var(--muted);font-size:13px}.modal-close{width:30px;height:30px;flex:0 0 auto;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--stone);font-size:15px;line-height:1}.modal-close:hover{background:var(--bg);color:var(--text)}.segmented-control{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:16px 22px 0}.segmented-control button{min-height:36px;border:1px solid var(--border);background:var(--surface);color:var(--stone);font-weight:600;border-radius:var(--radius-sm)}.segmented-control button.active{border-color:#fcd34d;background:var(--amber-light);color:var(--amber-dark)}.segmented-control button:disabled{opacity:.45;cursor:not-allowed}.form-alert{margin:16px 22px 0;padding:10px 12px;border:1px solid #fca5a5;border-radius:var(--radius-sm);background:var(--red-light);color:var(--red);font-size:13px}.form-alert.success{color:var(--green);background:var(--green-light);border-color:#bbf7d0}.observation-save-alert{margin:0 24px 16px}.observation-create-modal{width:min(560px,100%)}.observation-create-options{display:grid;gap:12px;padding:18px 22px 22px}.observation-create-option{display:grid;grid-template-columns:38px minmax(0,1fr);gap:12px;align-items:center;width:100%;padding:14px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);text-align:left}.observation-create-option:hover{border-color:#fcd34d;background:var(--amber-light)}.observation-create-option-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:var(--radius-sm);background:var(--bg);color:var(--amber-dark);font-weight:800}.observation-create-option strong,.observation-create-option span span{display:block}.observation-create-option strong{font-size:14px}.observation-create-option span span{margin-top:2px;color:var(--muted);font-size:12.5px}.bulk-upload-modal{width:min(720px,100%)}.bulk-upload-body{display:grid;gap:16px;padding:18px 22px 0}.bulk-template-actions{display:flex;flex-wrap:wrap;gap:8px}.bulk-template-hint{margin-top:-8px;color:var(--muted);font-size:12.5px;line-height:1.45}.bulk-file-drop{display:grid;gap:6px;padding:22px;border:1px dashed var(--border);border-radius:var(--radius-sm);background:var(--bg)}.bulk-file-drop input{max-width:100%}.bulk-file-title{color:var(--text);font-weight:700}.bulk-file-name{color:var(--muted);font-size:12.5px;overflow-wrap:anywhere}.bulk-upload-preview{display:grid;grid-template-columns:120px minmax(0,1fr);gap:8px 12px;padding:12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}.bulk-upload-preview span{color:var(--muted);font-size:12px;font-weight:700}.bulk-upload-preview strong{min-width:0;overflow-wrap:anywhere;color:var(--text);font-size:13px}.project-picker{display:grid;gap:10px;padding:18px 22px 4px}.project-option{display:flex;align-items:flex-start;gap:10px;padding:12px;border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer}.project-option:hover{border-color:#fcd34d;background:var(--amber-light)}.project-option input{margin-top:3px}.project-option-body{display:grid;gap:2px;min-width:0}.project-option-name{color:var(--text);font-weight:700}.project-option-meta{color:var(--muted);font-size:12.5px;overflow-wrap:anywhere}.project-empty{padding:28px 12px;color:var(--muted);text-align:center;border:1px dashed var(--border);border-radius:var(--radius-sm)}.project-form-grid{padding:18px 22px 4px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;padding:18px 22px 20px;border-top:1px solid var(--border);margin-top:18px}.new-obs-page{max-width:900px;margin:0 auto;padding:28px}.new-obs-page-title{font-size:20px;font-weight:700;color:var(--text);margin-bottom:8px;letter-spacing:0}.back-link-button{margin:-6px 0 14px;padding-left:0}.new-obs-page-subtitle{font-size:13.5px;color:var(--muted);margin-bottom:28px}.selected-project-panel{display:grid;grid-template-columns:minmax(180px,1.2fr) repeat(2,1fr);gap:16px;align-items:start;padding:14px 16px;margin-bottom:24px;border:1px solid #fde68a;border-radius:var(--radius);background:var(--amber-light)}.selected-project-label,.selected-project-detail span{display:block;margin-bottom:2px;color:var(--amber-dark);font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.selected-project-name{color:var(--text);font-size:15px;font-weight:700;overflow-wrap:anywhere}.selected-project-detail strong{display:block;color:var(--text);font-size:13px;font-weight:600;overflow-wrap:anywhere}.reference-attachment-panel{margin-top:16px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);overflow:hidden}.reference-attachment-header{padding:10px 16px;border-bottom:1px solid var(--border);background:var(--bg);color:var(--stone);font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.reference-attachment-row{display:flex;gap:10px;padding:14px 16px}.reference-attachment-body{min-width:0;flex:1}.attachment-viewer-trigger{width:100%;display:flex;align-items:center;gap:12px;padding:14px 16px;border:0;background:var(--surface);color:inherit;text-align:left}.attachment-viewer-trigger:hover{background:var(--bg)}.attachment-viewer-action{flex:0 0 auto;color:var(--amber-dark);font-size:12px;font-weight:700}.attachment-viewer-modal{width:min(960px,100%)}.attachment-viewer-body{min-height:420px;padding:16px}.attachment-viewer-empty{padding:18px;border:1px dashed var(--border);border-radius:var(--radius-sm);color:var(--muted)}.attachment-viewer-image{display:block;max-width:100%;max-height:min(640px,calc(100vh - 210px));margin:0 auto;object-fit:contain}.attachment-viewer-frame{width:100%;height:min(640px,calc(100vh - 210px));border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}.attachment-viewer-fallback{margin-top:10px;font-size:13px}.observation-detail-page{min-height:100%}.detail-page-header{align-items:flex-start}.detail-header-actions{display:flex;align-items:center;gap:10px}.detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px;align-items:start}.detail-main,.detail-side-panel{display:grid;gap:18px;min-width:0}.detail-side-panel{position:sticky;top:20px}.detail-section-header,.detail-block,.detail-grid{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.detail-section-header{display:flex;justify-content:space-between;gap:16px;padding:18px 20px}.detail-section-header h2{font-size:18px;font-weight:700;color:var(--text)}.detail-section-header p{margin-top:3px;color:var(--muted);font-size:13px}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.detail-row{min-width:0;padding:13px 16px;border-bottom:1px solid var(--border)}.detail-row:nth-child(odd){border-right:1px solid var(--border)}.detail-row:nth-last-child(-n+2){border-bottom:0}.detail-label{color:var(--muted);font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:0}.detail-value{margin-top:3px;color:var(--text);font-size:13.5px;overflow-wrap:anywhere}.detail-block{padding:16px}.detail-block h3{margin-bottom:10px;font-size:13px;font-weight:700;color:var(--text)}.detail-text-block{max-height:360px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;padding:12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--stone);font-family:var(--font-mono);font-size:12.5px;line-height:1.65}.detail-text-block+.detail-text-block{margin-top:10px}.detail-empty{padding:12px;border:1px dashed var(--border);border-radius:var(--radius-sm);color:var(--muted);font-size:13px}.detail-attachment{margin-top:0}.detail-entity-list{display:grid;gap:10px}.detail-entity{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:11px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg)}.detail-entity-value{color:var(--text);font-size:13px;font-weight:600;overflow-wrap:anywhere}.detail-redacted-preview{margin-top:12px}.synthetics-review-state{display:grid;gap:10px;padding:12px;border:1px solid #bbf7d0;border-radius:var(--radius-sm);background:var(--green-light)}.synthetics-review-state p{color:var(--stone);font-size:13px}:root[data-theme=dark] .auth-loading-screen,:root[data-theme=dark] .login-page{background:linear-gradient(135deg,rgba(96,165,250,.12),transparent 34%),var(--bg)}:root[data-theme=dark] .login-panel,:root[data-theme=dark] .modal{box-shadow:0 24px 60px #00000057}:root[data-theme=dark] .modal-backdrop{background:#0000009e}:root[data-theme=dark] .badge-draft,:root[data-theme=dark] .badge-medium{color:#fde68a;border-color:#6b5619}:root[data-theme=dark] .badge-submitted,:root[data-theme=dark] .badge-low,:root[data-theme=dark] .form-alert.success,:root[data-theme=dark] .admin-alert.success,:root[data-theme=dark] .submit-toast,:root[data-theme=dark] .synthetics-review-state{border-color:#245a37}:root[data-theme=dark] .badge-critical,:root[data-theme=dark] .form-alert,:root[data-theme=dark] .pii-scan-banner,:root[data-theme=dark] .pii-type-badge{border-color:#7f2a32}:root[data-theme=dark] .badge-high{background:#3a2412;color:#fdba74;border-color:#7c3f17}:root[data-theme=dark] .btn-danger{border-color:#7f2a32}:root[data-theme=dark] .btn-danger:hover:not(:disabled){background:var(--red-light)}:root[data-theme=dark] .selected-project-panel,:root[data-theme=dark] .segmented-control button.active,:root[data-theme=dark] .observation-create-option:hover,:root[data-theme=dark] .project-option:hover{border-color:#7c5c18}:root[data-theme=dark] .submit-checkmark,:root[data-theme=dark] .pii-entity.accepted{border-color:#245a37}:root[data-theme=dark] .topbar-avatar,:root[data-theme=dark] .topbar-logomark,:root[data-theme=dark] .btn-primary{color:#1c1917}@media (max-width: 760px){.form-grid,.config-row,.selected-project-panel,.metrics-grid,.admin-metrics-grid,.admin-workspace,.admin-users-grid,.admin-member-controls{grid-template-columns:1fr}.admin-project-list-panel{position:static}.page-header{align-items:flex-start;flex-direction:column;gap:12px}.modal-actions{flex-direction:column-reverse}.modal-actions .btn{justify-content:center;width:100%}.detail-layout,.detail-grid{grid-template-columns:1fr}.detail-side-panel{position:static}.detail-row,.detail-row:nth-child(odd),.detail-row:nth-last-child(-n+2){border-right:0;border-bottom:1px solid var(--border)}.detail-row:last-child{border-bottom:0}}.text-muted{color:var(--muted)}.text-stone{color:var(--stone)}.text-sm{font-size:12px}.mt-2{margin-top:8px}.mt-4{margin-top:16px}.flex{display:flex}.flex-1{flex:1}.items-center{align-items:center}.gap-2{gap:8px}.gap-3{gap:12px}
