:root{--canvas: #FAFAF8;--ink: #0A0A0A;--muted: #737373;--line: #E5E5E5;--accent: var(--ink);--signal: var(--ink);--radius: 10px;--serif: "Instrument Serif", "Iowan Old Style", Georgia, serif;--sans: "Satoshi", "Helvetica Neue", Helvetica, Arial, sans-serif;--mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--canvas);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--ink);text-decoration:none;text-underline-offset:3px;transition:color .16s ease,text-decoration-color .16s ease}a:hover{color:var(--muted)}.app-shell{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:var(--canvas)}.skip-link{position:absolute;left:16px;top:-48px;z-index:200;background:var(--ink);color:var(--canvas);padding:8px 12px;font-size:13px;font-weight:500;border-radius:var(--radius)}.skip-link:focus{top:12px}.app-header{background:var(--canvas);color:var(--ink);border-bottom:1px solid var(--line);padding:14px 1.25rem;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:10}.brand,.app-title{display:flex;align-items:center;gap:10px;color:var(--ink);font-weight:500;font-size:15px;letter-spacing:-.01em;text-decoration:none}.brand:hover,.app-title:hover{color:var(--ink)}.brand-mark{font-family:var(--serif);font-size:22px;font-weight:400;font-style:normal;line-height:1;color:var(--ink)}.header-actions{display:flex;gap:1rem;align-items:center}.header-link,.btn-link{background:none;border:none;color:var(--muted);font-size:13px;font-weight:500;font-family:inherit;text-decoration:none;cursor:pointer;padding:8px 0;min-height:44px;display:inline-flex;align-items:center}.header-link:hover,.btn-link:hover{color:var(--ink)}main{flex:1;padding:1.5rem 1.25rem 2.5rem;max-width:640px;margin:0 auto;width:100%}.page h1,.page h2,.login-page h1,.page-header h2{font-family:var(--serif);font-weight:400;font-style:normal;letter-spacing:-.02em;color:var(--ink);line-height:1.15}.page h2,.page-header h2{font-size:2rem;margin:.35rem 0}.page h1{margin-top:0}.page-header{margin-bottom:1.5rem}.page-header h2{margin:.4rem 0 .35rem}.back-link{display:inline-flex;align-items:center;min-height:44px;color:var(--muted);font-weight:500;text-decoration:none;font-size:13px}.back-link:hover{color:var(--ink);text-decoration:underline}.rule-kicker,.section-label{display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:500;margin-bottom:8px}.required{color:var(--ink)}.input-error{border-color:var(--ink)!important;box-shadow:inset 0 0 0 1px var(--ink)}.field-error{color:var(--ink);font-size:.85rem;font-weight:400;margin:.35rem 0 0}.submit-missing{color:var(--muted);font-weight:400;border-top:1px solid var(--line);padding-top:.65rem;font-size:14px;line-height:1.6;margin:.85rem 0 0}.btn[aria-disabled=true],.btn:disabled,.btn[disabled]{opacity:.6;cursor:not-allowed;pointer-events:none}form.review-form .btn[disabled],form.review-form .btn[aria-disabled=true]{pointer-events:none}.btn-ghost:disabled,.btn-ghost[aria-disabled=true]{background:transparent;color:var(--muted);border-color:var(--line)}.field-hint{color:var(--muted);font-size:.85rem;font-weight:400;margin:.3rem 0 .85rem}.processing-status{color:var(--ink);font-weight:500;margin:0}.processing-status time,.processing-elapsed{font-family:var(--mono);font-variant-numeric:tabular-nums;font-weight:500}.processing-panel{background:var(--canvas);border:1px solid var(--line);border-radius:var(--radius);padding:1.1rem 1.15rem 1rem;margin:.75rem 0 1rem}.processing-steps{display:flex;gap:.75rem;list-style:none;padding:0;margin:.85rem 0 0;font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;border-top:1px solid var(--line);padding-top:.75rem}.processing-steps li{flex:1;text-align:left;padding:0 0 6px;border-radius:0;background:transparent;color:var(--muted);border-bottom:1px solid var(--line)}.processing-steps .step-active,.processing-steps .step-done{color:var(--ink);border-bottom-color:var(--ink)}.action-row{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.25rem}.detail-list{margin:0 0 1rem}.detail-list>div{margin-bottom:.85rem;padding-bottom:.85rem;border-bottom:1px solid var(--line)}.detail-list>div:last-child{border-bottom:0}.detail-list dt{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:500}.detail-list dd{margin:.2rem 0 0}.attached-statements{margin:1.75rem 0}.attached-statements h3{font-family:var(--serif);font-weight:400;font-style:normal;font-size:1.5rem;letter-spacing:-.015em;margin:0 0 .65rem}.statement-list{list-style:none;padding:0;margin:0 0 .85rem}.statement-card,.review-form,.card{background:var(--canvas);border:1px solid var(--line);border-radius:var(--radius);padding:1.15rem 1.2rem;margin-bottom:.75rem;box-shadow:none}.statement-card{display:flex;flex-direction:column;gap:.25rem}.audit-trail{margin:1rem 0}.audit-list{padding-left:1.1rem;font-size:.85rem;color:var(--muted)}.audit-list li{margin:.35rem 0;display:flex;gap:.6rem;flex-wrap:wrap}.audit-list strong{color:var(--ink);font-weight:500}.captured-check{color:var(--ink);font-weight:500;font-size:.8rem;letter-spacing:.04em;text-transform:uppercase}button:disabled{opacity:.6;cursor:not-allowed}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--ink);outline-offset:2px}label{display:block;margin:.85rem 0;font-weight:500;font-size:13px;color:var(--ink)}input,select,textarea{width:100%;padding:.75rem .85rem;margin-top:.35rem;border:1px solid var(--line);border-radius:var(--radius);font-size:16px;font-weight:400;font-family:inherit;color:var(--ink);background:var(--canvas);transition:border-color .16s ease}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--ink)}input:invalid,input:user-invalid,textarea:invalid,textarea:user-invalid,select:invalid,select:user-invalid{box-shadow:none!important;outline:none!important;border-color:var(--line)!important;background-color:var(--canvas)!important;color:var(--ink)!important;filter:none!important}input:-moz-ui-invalid,textarea:-moz-ui-invalid,select:-moz-ui-invalid{box-shadow:none!important;outline:none!important;border-color:var(--line)!important;background-color:var(--canvas)!important;background-image:none!important;color:var(--ink)!important}input.input-error:invalid,input.input-error:user-invalid,textarea.input-error:invalid,textarea.input-error:user-invalid{border-color:var(--ink)!important;box-shadow:inset 0 0 0 1px var(--ink)!important}input.input-error:-moz-ui-invalid,textarea.input-error:-moz-ui-invalid{border-color:var(--ink)!important;box-shadow:inset 0 0 0 1px var(--ink)!important}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 18px;min-height:48px;border-radius:var(--radius);border:1px solid transparent;font-size:14px;font-weight:500;font-family:inherit;letter-spacing:.01em;cursor:pointer;text-decoration:none;text-align:center;transition:background .16s ease,color .16s ease,border-color .16s ease,transform .16s ease,opacity .16s ease}.btn-primary{background:var(--ink);color:var(--canvas);border-color:var(--ink)}.btn-primary:hover{color:var(--canvas);opacity:.88}.btn-secondary,.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line)}.btn-secondary:hover,.btn-ghost:hover{border-color:var(--ink);color:var(--ink)}.btn-record,.btn-recording{width:100%;padding:1rem 1.25rem;min-height:56px;font-size:16px}.btn-record{background:var(--ink);color:var(--canvas);border-color:var(--ink)}.btn-record:hover{color:var(--canvas)}.btn-recording{background:var(--canvas);color:var(--ink);border-color:var(--ink)}.btn-recording:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--ink);flex-shrink:0}.record-timer{font-family:var(--mono);font-variant-numeric:tabular-nums;font-weight:500}.record-button{margin:1.15rem 0}.offline-banner{padding:.65rem 1.25rem;text-align:center;font-size:13px;font-weight:500;border-bottom:1px solid var(--line);background:var(--canvas);color:var(--ink)}.offline-banner.offline{background:var(--ink);color:var(--canvas);border-bottom-color:var(--ink)}.offline-banner.syncing{background:var(--canvas);color:var(--ink)}.qa-toast{position:fixed;right:16px;bottom:16px;z-index:40;max-width:min(420px,calc(100vw - 32px));background:var(--canvas);color:var(--muted);border:1px solid var(--line);border-radius:var(--radius);padding:10px 12px;font-size:13px;line-height:1.5;box-shadow:0 8px 24px #0a0a0a14;display:flex;gap:12px;align-items:flex-start}.qa-toast code{font-family:var(--mono);font-size:12px;color:var(--ink);word-break:break-all}.qa-toast-dismiss{margin-left:auto;background:none;border:none;color:var(--muted);font-size:12px;cursor:pointer;padding:0;flex-shrink:0}.qa-toast-dismiss:hover{color:var(--ink)}.error{color:var(--ink);font-weight:500;border-top:1px solid var(--line);padding-top:.65rem}.warning,.notice{color:var(--muted);font-weight:400;border-top:1px solid var(--line);padding-top:.85rem;font-size:14px;line-height:1.6}.warning strong,.notice strong{color:var(--ink);font-weight:500}.hint,.subtitle,.section-lede,.login-lede{color:var(--muted);font-size:1rem;line-height:1.65;font-weight:400}.transcript{font-style:normal;color:var(--ink);white-space:pre-wrap;font-size:.95rem;line-height:1.65}.watchlist-alert,.heuristic-banner{background:var(--canvas);border:1px solid var(--ink);border-radius:var(--radius);padding:1rem 1.1rem;margin:0 0 1rem;color:var(--ink);font-weight:400}.heuristic-banner{border-color:var(--line);color:var(--muted);font-weight:500}.structuring-banner{background:var(--canvas);border:1px solid var(--line);border-radius:var(--radius);padding:1rem 1.1rem;margin:0 0 1rem;color:var(--muted);font-weight:500}.tile-grid{display:grid;grid-template-columns:1fr;gap:.75rem;margin-top:1.5rem}.tile{background:var(--canvas);border:1px solid var(--line);border-radius:var(--radius);padding:1.35rem 1.25rem 1.5rem;text-align:left;text-decoration:none;color:var(--ink);box-shadow:none;display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;min-height:96px;transition:border-color .16s ease,transform .16s ease}.tile:hover,.tile:focus-visible{border-color:#c4c4c4;color:var(--ink)}.tile-icon{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:500;font-style:normal;margin-bottom:.35rem}.tile-title{font-family:var(--serif);font-weight:400;font-style:normal;font-size:1.45rem;letter-spacing:-.015em}.tile-desc{font-size:.9rem;color:var(--muted);font-weight:400;line-height:1.5}.login-page{text-align:left;margin-top:1.5rem;padding-bottom:2rem}.login-page h1{font-family:var(--serif);font-size:2.75rem;font-weight:400;font-style:normal;letter-spacing:-.025em;line-height:1.1;margin:0 0 .75rem}.login-lede{margin:0 0 1.5rem;max-width:36rem}.login-form{text-align:left;max-width:420px;margin:0;border:1px solid var(--line);border-radius:var(--radius);padding:1.5rem 1.4rem 1.6rem;background:var(--canvas)}.login-form .btn-primary{width:100%;margin-top:.35rem}.filters{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1.25rem;align-items:end}.filters>label{flex:1 1 140px;margin:0}.filter-actions{display:flex;gap:.5rem;flex:1 1 140px}.analytics-summary{display:flex;gap:.75rem;flex-wrap:wrap;margin-bottom:1.25rem}.stat{background:var(--canvas);border:1px solid var(--line);border-radius:var(--radius);padding:.85rem 1rem;text-align:left;min-width:96px;box-shadow:none}.stat-value{display:block;font-family:var(--mono);font-size:1.5rem;font-weight:500;letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:var(--ink)}.stat-label{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:500}.reports-table{width:100%;border-collapse:collapse;background:var(--canvas);font-size:.88rem;margin-bottom:1.25rem}.reports-table th,.reports-table td{padding:.7rem .5rem;border-bottom:1px solid var(--line);text-align:left}.reports-table th{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:500}.status-badge{padding:0 0 3px;border-radius:0;font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;background:transparent;color:var(--muted);border-bottom:1px solid var(--line)}.btn-link-inline{background:none;border:none;padding:0;color:var(--ink);font-weight:500;cursor:pointer;text-decoration:underline;font-size:inherit;font-family:inherit}.reports-table a{color:var(--ink);font-weight:500;text-decoration:none}.reports-table a:hover{text-decoration:underline}.status-draft{background:transparent;color:var(--muted);border-bottom:1px dashed var(--line)}.draft-resume-banner{border:1px solid var(--line);padding:.85rem 1rem;margin:0 0 1rem;color:var(--muted)}.draft-resume-banner p{margin:0 0 .75rem}.local-drafts{margin:0 0 1.25rem}.status-submitted,.status-under_review,.status-in_progress,.status-reviewed,.status-exported{background:transparent;color:var(--ink);border-bottom-color:var(--ink)}.status-projet{color:var(--muted);background:transparent;border:0;font-weight:500}.status-closed{background:transparent;color:var(--muted);border-bottom-color:var(--ink)}details{margin:1rem 0}summary{cursor:pointer;font-weight:500;font-size:14px;min-height:44px;display:flex;align-items:center}details p,details textarea{margin-top:.65rem}.schema-section{margin:0 0 1.35rem}.schema-section .rule-kicker{margin-top:.35rem}.schema-section-head dt{color:var(--ink)}@media (min-width: 560px){.tile-grid{grid-template-columns:repeat(2,1fr)}.login-page h1{font-size:3.15rem}}@media (max-width: 480px){.reports-table{display:block;overflow-x:auto}.page h2,.page-header h2{font-size:1.75rem}}@media (prefers-reduced-motion: no-preference){.tile:hover,.tile:focus-visible,.btn-primary:hover,.btn-secondary:hover,.btn-ghost:hover,.btn-record:hover{transform:translateY(-1px)}.btn[aria-disabled=true]:hover,.btn:disabled:hover,.btn-ghost:disabled:hover{transform:none;border-color:var(--line)}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.tile:hover,.btn:hover,.btn-primary:hover,.btn-secondary:hover,.btn-ghost:hover{transform:none}}.lang-toggle{position:relative}.lang-toggle-btn{gap:6px}.lang-toggle-label{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.lang-seg{display:flex;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.lang-seg-btn{flex:1;min-height:44px;border:0;background:var(--canvas);color:var(--muted);font:inherit;font-size:13px;font-weight:500;letter-spacing:.06em;cursor:pointer;padding:8px 12px}.lang-seg-btn+.lang-seg-btn{border-left:1px solid var(--line)}.lang-seg-btn[aria-pressed=true]{background:var(--ink);color:var(--canvas)}.lang-seg--quiet{border:0;overflow:visible;gap:.75rem}.lang-seg--quiet .lang-seg-btn{flex:0 0 auto;padding:8px 0;background:none;color:var(--muted);letter-spacing:.04em}.lang-seg--quiet .lang-seg-btn+.lang-seg-btn{border-left:0}.lang-seg--quiet .lang-seg-btn[aria-pressed=true]{background:none;color:var(--ink)}.lang-seg--quiet .lang-seg-btn:hover{color:var(--ink)}.lang-popover{position:absolute;right:0;top:calc(100% + 8px);width:min(280px,calc(100vw - 32px));background:var(--canvas);border:1px solid var(--line);border-radius:var(--radius);padding:1rem 1.1rem 1.15rem;z-index:30}.lang-popover label{margin:.65rem 0 .35rem}.lang-popover .field-hint{margin-bottom:0}.lang-sheet-backdrop{position:fixed;left:0;right:0;bottom:0;z-index:50;background:var(--canvas);border-top:1px solid var(--line);padding:1rem 1.25rem calc(1rem + env(safe-area-inset-bottom,0px))}.lang-sheet{width:min(640px,100%);margin:0 auto;background:var(--canvas);color:var(--ink);border-radius:var(--radius)}.lang-sheet .lang-seg{width:min(220px,100%)}.lang-sheet h2{font-family:var(--sans);font-weight:500;font-size:13px;letter-spacing:.02em;margin:0 0 .55rem;line-height:1.3;color:var(--ink)}.lang-sheet-dismiss{background:none;border:none;color:var(--muted);font:inherit;font-size:13px;font-weight:500;cursor:pointer;padding:8px 0;min-height:44px;text-align:left}.lang-sheet-dismiss:hover{color:var(--ink)}
