/* Procuro design system. Geist on a cool ground, a deep ink sidebar, cobalt for action. Each kind of object keeps one
   muted colour as ink on its line icon, so a screen can be scanned without anything shouting. */
@font-face{font-family:Geist;src:url("fonts/geist.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
/* Page continuity only where it can finish: without script a held transition could leave a blank page. */
@media (scripting:enabled) and (prefers-reduced-motion:no-preference){@view-transition{navigation:auto}}
:root{
  --ground:#f4f5f7;--surface:#fff;--raised:#f8f9fb;--active:#e8edf6;--hover:#f0f2f5;
  --border:#e3e6ec;--rule:#eef0f3;--control:#cbd1db;
  --text:#11151f;--muted:#586072;--brand:#1f57c3;--brand-hover:#19489f;--primary:var(--brand);--stamp:var(--brand);--stamp-ring:#1f57c326;
  --side:#101828;--side-panel:#232d40;--side-hover:#ffffff0c;--side-press:#ffffff14;--side-active:#ffffff17;--side-rule:#ffffff14;--side-text:#d7dde8;--side-muted:#94a0b6;
  --success:#2f7f57;--success-ink:#1d5f3f;--success-bg:#e8f4ed;--success-border:#c8e3d4;
  --warning:#a86a12;--warning-ink:#7f4f0e;--warning-bg:#fbf3e3;--warning-surface:#fffaf1;--warning-border:#efdcb4;
  --danger:#b8443f;--danger-ink:#b5312f;--danger-bg:#fdecea;--danger-border:#f3cdc9;
  --info-bg:#edf2fb;--info-border:#d3dff4;
  /* names kept for the screen-scoped rules below */
  --line:var(--rule);--surface-alt:var(--raised);--surface-code:var(--raised);--bg:var(--ground);--pale:#eef0f3;
  --dark:var(--text);--subtle:var(--muted);--accent:var(--brand);--accent-fill:var(--brand);--accent-ink:var(--brand);
  --radius-card:10px;--radius-control:7px;--radius-chip:5px;
  --gap:16px;--card-pad:20px;--control-height:34px;--sidebar-width:252px;--content-max:1440px;
  --fs-title:24px;--fs-section:15px;--fs-kpi:26px;--fs-body:14px;--fs-small:12px;
  --ease:cubic-bezier(.22,.8,.24,1);--ease-out:cubic-bezier(.16,1,.3,1);
  --fast:120ms;--medium:200ms;--slow:320ms;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:24px}
body{margin:0;font:400 var(--fs-body)/20px Geist,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-feature-settings:"tnum" 1;background:var(--ground);color:var(--text);-webkit-font-smoothing:antialiased}
a{color:var(--stamp);text-decoration:none;text-underline-offset:2px;transition:color var(--fast)}
a:hover{text-decoration:underline}
h1,h2,h3{color:var(--text);line-height:1.25;font-weight:600}
h1{font-size:var(--fs-title);line-height:30px;font-weight:600;letter-spacing:-.02em;margin:0 0 4px;overflow-wrap:anywhere}
h2{font-size:var(--fs-section);line-height:22px;letter-spacing:-.005em;margin:0 0 12px}
h3{font-size:14px;line-height:20px;margin:20px 0 8px}
p{margin:8px 0 16px}
small{display:block;color:var(--muted);font-size:var(--fs-small);line-height:16px}
kbd{font:inherit;font-size:var(--fs-small);color:var(--muted)}
:focus-visible{outline:2px solid var(--stamp);outline-offset:2px;border-radius:2px}
::selection{background:#1d5fbf26}
.muted{color:var(--muted)}
.mono,code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.93em}
.hash{font-size:11px;word-break:break-all}
.i{width:16px;height:16px;flex:none;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.icon-sprite{position:absolute}

/* Shell: a deep ink field. Sections are named and ruled off; rows are text with a quiet line icon, nothing more. */
.topbar{position:fixed;z-index:30;top:0;left:0;width:var(--sidebar-width);padding:14px 12px 8px;display:block;color:var(--side-text);background:var(--side)}
.brand{display:flex;align-items:center;gap:9px;padding:4px 8px;margin:0 0 10px;font-size:15px;font-weight:600;letter-spacing:-.01em;color:#fff;border-radius:var(--radius-control)}
.brand:hover{text-decoration:none}
.brand-mark{width:24px;height:24px;flex:none;color:#fff;fill:none}
.institution-context{position:relative;display:block;padding:7px 28px 8px 10px;color:var(--side-text);border:1px solid var(--side-rule);border-radius:8px;min-width:0;transition:background-color var(--fast),border-color var(--fast)}
.institution-context:hover{text-decoration:none;background:var(--side-hover)}
.institution-context strong{display:block;font-size:13px;line-height:18px;font-weight:500;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.institution-context small,.institution-context .context-roles{display:block;font-size:12px;line-height:16px;color:var(--side-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.institution-switch{position:absolute;right:7px;top:50%;margin-top:-8px;color:var(--side-muted)}
.topbar-right{position:fixed;left:0;bottom:0;width:var(--sidebar-width);padding:9px 12px 10px 20px;display:flex;align-items:center;gap:9px;font-size:13px;color:var(--side-muted);background:var(--side);border-top:1px solid var(--side-rule)}
.topbar-right>span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.topbar-right form{margin:0}
.topbar-right .icon-button{color:var(--side-muted);background:transparent;border-color:transparent}
.topbar-right .icon-button:hover{color:#fff;background:var(--side-hover);border-color:transparent}
.avatar{display:grid;place-items:center;flex:none;width:24px;height:24px;font-size:12px;font-weight:500;color:var(--side-text);background:var(--side-panel);border-radius:50%}
.sidebar{position:fixed;z-index:20;top:0;bottom:0;left:0;width:var(--sidebar-width);padding:132px 0 50px;display:flex;flex-direction:column;background:var(--side)}
.site-navigation{flex:1;min-height:0;overflow-y:auto;padding:0 12px 12px;scrollbar-width:thin;scrollbar-color:transparent transparent}
.site-navigation:hover{scrollbar-color:var(--side-panel) transparent}
.site-navigation>summary{display:none;list-style:none}
.site-navigation>summary::-webkit-details-marker{display:none}
/* The menu is a native disclosure: script opens it on wide screens; without script it stays a working toggle. */
@media (scripting:none){
 .site-navigation>summary{display:flex;align-items:center;gap:10px;min-height:32px;padding:6px 8px;font-size:14px;color:var(--side-text);cursor:pointer}
}
@media (scripting:enabled) and (min-width:701px){.site-navigation::details-content{content-visibility:visible}}
.site-navigation nav{position:relative;display:block}
.command-trigger{display:flex;align-items:center;gap:8px;width:100%;height:32px;margin:0;padding:0 8px;font-weight:400;font-size:13px;color:var(--side-muted);background:transparent;border:1px solid var(--side-rule);border-radius:8px}
.command-trigger:hover{background:var(--side-hover);color:var(--side-text);border-color:var(--side-rule)}
.command-trigger span{flex:1;text-align:left}
.command-trigger kbd{color:var(--side-muted);font-size:12px}
@media (scripting:none){.command-trigger{display:none}}
.nav-label,.nav-group:not(.nav-fold)>summary{display:flex;align-items:center;min-height:18px;margin:14px 0 4px;padding:13px 8px 0;font-size:12px;line-height:18px;font-weight:500;color:var(--side-muted);border-top:1px solid var(--side-rule)}
.nav-group{margin:0}
.nav-group>summary{cursor:pointer;list-style:none;transition:color var(--fast)}
.nav-group>summary::-webkit-details-marker{display:none}
.nav-group:not(.nav-fold)>summary{justify-content:space-between}
.nav-group:not(.nav-fold)>summary:hover{color:var(--side-text)}
.nav-group-chevron{width:13px;height:13px;flex:none;color:var(--side-muted);transition:transform 180ms ease}
.nav-group[open]>summary .nav-group-chevron{transform:rotate(90deg)}
/* The active highlight is one element behind the rows. It travels; the rows never move. */
.nav-pill{position:absolute;z-index:0;top:0;left:0;right:0;height:32px;background:var(--side-active);border-radius:7px;pointer-events:none;will-change:transform;view-transition-name:nav-pill;transition:transform 240ms cubic-bezier(.22,.8,.24,1)}
.nav-pill.is-tracking{transition:none}
.nav-group-links a{position:relative;z-index:1;display:flex;align-items:center;gap:10px;min-height:32px;padding:6px 8px;line-height:20px;font-size:13.5px;font-weight:400;color:var(--side-text);border-radius:7px;transition:background-color 100ms ease,color 100ms ease}
.nav-group-links a span{min-width:0}
.nav-group-links a:hover{background:var(--side-hover);color:#fff;text-decoration:none}
.nav-group-links a:active{background:var(--side-press)}
.nav-group-links a.is-active,.nav-group-links a.is-active:hover{background:transparent;color:#fff}
.nav-group-links a .tile,.nav-fold>summary .tile,.auth-step .tile{color:color-mix(in oklab,var(--tone) 42%,#c6cfdf);transition:color 100ms ease}
.nav-group-links a.is-active .tile{color:#fff}
/* Rarely used sections fold to one row; opened, their pages hang off a guide line. */
.nav-fold{position:relative}
.nav-fold>summary{display:flex;align-items:center;gap:10px;min-height:32px;padding:6px 8px;font-size:13.5px;line-height:20px;font-weight:400;color:var(--side-text);border-radius:7px;transition:background-color 100ms ease}
.nav-fold>summary:hover{background:var(--side-hover);color:#fff}
.nav-fold>summary:active{background:var(--side-press)}
.nav-fold>summary .nav-group-name{flex:1;min-width:0}
.nav-fold .nav-group-links{margin:1px 0 4px 16px;padding-left:9px;border-left:1px solid var(--side-rule)}
.nav-fold .nav-group-links a{min-height:30px;padding:5px 8px;font-size:13px;color:var(--side-muted)}
.nav-fold .nav-group-links a:hover,.nav-fold .nav-group-links a.is-active{color:#fff}
.sidebar-footer{display:none}
.workspace{margin-left:var(--sidebar-width);min-width:0}
main#page{max-width:var(--content-max);margin:0 auto;padding:28px 28px 72px;view-transition-name:page}
main#page>.notice:first-child{margin-top:0}

/* One colour per kind of object, the same wherever that object appears: as ink on its line icon, never as a fill. */
[data-tone="blue"]{--tone:#2a62c4}[data-tone="sky"]{--tone:#2b7fa8}[data-tone="teal"]{--tone:#2a8487}[data-tone="green"]{--tone:#2f7f57}
[data-tone="amber"]{--tone:#9a7420}[data-tone="orange"]{--tone:#b9652a}[data-tone="red"]{--tone:#b8443f}[data-tone="pink"]{--tone:#a84775}
[data-tone="purple"]{--tone:#6f5aa8}[data-tone="slate"]{--tone:#5d6a82}[data-tone="graphite"]{--tone:#48536a}
.tile{display:inline-grid;place-items:center;flex:none;width:18px;height:18px;color:var(--tone,currentColor)}
.tile .i{width:16px;height:16px;stroke-width:1.5}
.card-title{display:flex;align-items:center;gap:8px}

/* Title row. The small line above a title names where the screen sits; it is a crumb, not a label. */
.page-heading{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px 24px;margin-bottom:20px;min-width:0}
.page-heading>div:first-child{flex:1 1 380px}
.page-heading>.form-actions{margin-top:0;align-items:center}
.page-heading>*{min-width:0}
.page-heading p{margin:0;color:var(--muted);font-size:14px;line-height:20px;max-width:72ch}
.page-heading .button,.page-heading button{flex:none}
.eyebrow{margin:0 0 2px;font-size:13px;line-height:18px;font-weight:400;color:color-mix(in srgb,var(--page-tone,var(--muted)) 76%,#11151f);overflow-wrap:anywhere}
.heading-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}

/* Panels */
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:var(--card-pad);min-width:0}
.card>h2:first-child{margin-bottom:12px}
.section{margin-top:var(--gap)}
.card+.card{margin-top:var(--gap)}
.cards>.card+.card,.two-columns>.card+.card,.metrics>.card+.card{margin-top:0}
.two-columns{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:var(--gap);margin-bottom:var(--gap);align-items:start}
.two-columns>*,.cards>*{min-width:0}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--gap)}

/* Counts share one container, split by lines. */
.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:0;margin-bottom:var(--gap);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);overflow:hidden}
.metrics>.card{border:0;border-radius:0;border-left:1px solid var(--border);border-top:1px solid var(--border);margin:-1px 0 0 -1px;padding:14px var(--card-pad) 16px;background:transparent}
.metrics strong{display:block;margin:6px 0 2px;font-size:var(--fs-kpi);line-height:32px;font-weight:500;letter-spacing:-.02em;color:var(--text);font-variant-numeric:tabular-nums}
.metrics span,.metrics a{font-size:13px;line-height:18px;color:var(--muted)}
.metrics small{font-size:12px}

/* Controls */
button,.button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:var(--control-height);padding:7px 14px;font:inherit;font-weight:500;font-size:14px;line-height:20px;white-space:nowrap;cursor:pointer;color:#fff;background:var(--brand);border:1px solid var(--brand);border-radius:var(--radius-control);transition:background-color 100ms ease,border-color 100ms ease,color 100ms ease,transform 100ms ease}
button:hover,.button:hover{background:var(--brand-hover);border-color:var(--brand-hover);text-decoration:none}
button:active,.button:active{transform:scale(.985);transition-duration:40ms}
button:focus-visible,.button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--stamp);outline-offset:2px;border-radius:var(--radius-control)}
button:disabled,.button[aria-disabled="true"]{color:#667089;background:var(--pale);border-color:var(--pale);cursor:not-allowed;transform:none}
.secondary,button.secondary,.button.secondary{color:var(--text);background:var(--surface);border-color:var(--control)}
.secondary:hover,button.secondary:hover,.button.secondary:hover{color:var(--text);background:var(--raised);border-color:#b7bfcc}
.ghost,button.ghost,.button.ghost{color:var(--text);background:transparent;border-color:transparent}
.ghost:hover,button.ghost:hover,.button.ghost:hover{color:var(--text);background:var(--hover);border-color:transparent}
.danger,button.danger,.button.danger{color:var(--danger-ink);background:var(--surface);border-color:var(--danger-border)}
.danger:hover,button.danger:hover,.button.danger:hover{color:var(--danger-ink);background:var(--danger-bg);border-color:var(--danger-border)}
.small,button.small,.button.small{min-height:28px;padding:3px 10px;font-size:13px}
.icon-button{width:32px;min-height:32px;padding:0}
.form-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}
label{display:block;margin:0 0 6px;font-size:13px;line-height:18px;font-weight:500;color:var(--text)}
input,textarea,select{max-width:100%;min-height:var(--control-height);padding:7px 10px;font:inherit;font-size:14px;line-height:20px;color:var(--text);background:var(--surface);border:1px solid var(--control);border-radius:var(--radius-control);transition:border-color var(--fast),box-shadow var(--fast)}
input:hover,textarea:hover,select:hover{border-color:#a9b5cc}
input:focus,textarea:focus,select:focus{outline:0;border-color:var(--brand);box-shadow:0 0 0 3px var(--stamp-ring)}
input::placeholder,textarea::placeholder{color:#6b6f78}
input[type=checkbox],input[type=radio]{min-height:0;width:16px;height:16px;padding:0;accent-color:var(--primary);vertical-align:-3px}
input[type=file]{padding:6px;background:var(--raised)}
textarea{width:100%;resize:vertical}
fieldset{min-width:0;margin:16px 0;padding:16px;border:1px solid var(--border);border-radius:var(--radius-card)}
legend{padding:0 6px;font-size:14px;font-weight:500;color:var(--text)}
.field{margin:0 0 16px;min-width:0}
.field input,.field select{width:100%}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form-grid .field{margin:0}
.line-fields{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:12px;border:1px solid var(--border);border-radius:var(--radius-card);padding:16px;margin:16px 0}
.line-fields legend{color:var(--text);font-weight:500}
.filters{display:flex;align-items:center;gap:8px;margin-bottom:16px;flex-wrap:wrap}
.filters input{flex:1}
.filter-summary{cursor:pointer}

/* Tables: rules and alignment, no bands. */
table{width:100%;border-collapse:collapse;text-align:left;font-size:14px;line-height:20px}
th{padding:8px 12px;font-size:12px;line-height:16px;font-weight:500;color:var(--muted);background:none;vertical-align:bottom;border-bottom:1px solid var(--border)}
td{padding:11px 12px;border-bottom:1px solid var(--rule);vertical-align:top}
tbody tr{transition:background-color var(--fast)}
tbody tr:hover{background:var(--hover)}
tbody tr:last-child td{border-bottom:0}
td input{width:110px;margin:3px}
td small{margin-top:2px}
td a{color:var(--brand-hover);font-weight:500}
td a:hover{color:var(--brand)}
td a strong{font-weight:inherit}
th:first-child,td:first-child{padding-left:0}
th:last-child,td:last-child{padding-right:0}
/* Inherited overflow-wrap:anywhere let columns collapse until words split; only identifiers may break anywhere. */
th,td{overflow-wrap:break-word}
td :is(.hash,.mono,code),td:is(.hash,.mono){overflow-wrap:anywhere}
.table-scroll,.table-wrap{overflow:auto;min-width:0}

/* Rows */
.list-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:11px 0;color:var(--text);border-bottom:1px solid var(--rule);transition:background-color var(--fast),box-shadow var(--fast)}
a.list-row{margin:0 -8px;padding-left:8px;padding-right:8px;border-radius:var(--radius-control)}
a.list-row{transition:background-color 100ms ease}
a.list-row:hover{background:var(--hover);text-decoration:none}
a.list-row:active{background:var(--active)}
a.list-row strong{font-weight:500}
.list-row>span,.list-row small{color:var(--muted)}
.list-row:last-child{border-bottom:0}

/* Status chips: pale pairs, a word and nothing else. */
.badge{display:inline-flex;align-items:center;flex:none;min-height:20px;padding:0 7px;font-size:12px;line-height:18px;font-weight:500;white-space:nowrap;color:#3f4759;background:var(--pale);border-radius:var(--radius-chip)}
.badge.success{color:var(--success-ink);background:var(--success-bg)}
.badge.warning{color:var(--warning-ink);background:var(--warning-bg)}
.badge.danger{color:var(--danger-ink);background:var(--danger-bg);border:0}
.badge.info{color:#174d9c;background:var(--info-bg)}
.success{color:var(--success-ink)}

/* Messages */
.notice{margin:0 0 var(--gap);padding:12px 16px;font-size:14px;line-height:20px;color:#1c3e78;background:var(--info-bg);border:1px solid var(--info-border);border-radius:8px;overflow-wrap:anywhere}
.notice.success{position:relative;padding-left:40px}
.notice.success::before{content:"";position:absolute;left:14px;top:13px;width:18px;height:18px;border-radius:50%;background:var(--success) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4.500 8.300 2.400 2.400 4.600-5.200'/%3E%3C/svg%3E") center/16px no-repeat}
.notice a:not(.button){color:var(--stamp);text-decoration:underline}
.notice p:last-child{margin-bottom:0}
.notice.success{color:var(--success-ink);background:var(--success-bg);border-color:var(--success-border)}
.notice.warning{color:var(--warning-ink);background:var(--warning-bg);border-color:var(--warning-border)}
.notice.danger,.notice.error,.error,.errorlist{color:var(--danger-ink);background:var(--danger-bg);border-color:var(--danger-border)}
.notice.info{color:#174d9c;background:var(--info-bg);border-color:var(--info-border)}
.error,.errorlist{padding:10px 14px;font-size:14px;border:1px solid var(--danger-border);border-radius:var(--radius-card)}
.errorlist{list-style:none;margin:0 0 8px}
.field .errorlist{padding:6px 10px;font-size:13px}
.empty{padding:28px 20px;text-align:center;color:var(--muted);background:var(--raised);border:1px dashed var(--control);border-radius:8px}
.empty h3{margin:0 0 4px;color:var(--text)}
.empty p{margin:0}
.source-text,.diff{white-space:pre-wrap;font-size:13px;max-height:600px;overflow:auto;background:var(--raised);padding:14px;border-radius:var(--radius-card)}
details>summary{cursor:pointer}

/* Editor shell */
.editor-layout{display:grid;grid-template-columns:200px minmax(300px,1fr) 280px;align-items:start;gap:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card)}
.editor-layout>aside{position:sticky;top:16px;padding:16px;max-height:calc(100vh - 32px);overflow-y:auto}
.editor-layout aside h2{margin-top:16px;font-size:14px}
.editor-layout aside button{margin-top:12px;width:100%;white-space:normal}
.editor-paper #document-form textarea{min-height:340px;font:15px/1.75 Georgia,"Times New Roman",serif;padding:24px}
.chapter-link{display:block;margin:2px 0;padding:6px 8px;font-size:13px;color:var(--text);border-radius:var(--radius-control);scroll-margin-top:80px;transition:background-color var(--fast)}
.chapter-link:hover{background:var(--hover);text-decoration:none}

/* Access screens: the brand owns the left field; the form is one calm column. */
.auth-body{min-height:100dvh;background:var(--ground)}
.auth-shell{display:grid;grid-template-columns:minmax(0,1.22fr) minmax(0,1fr);min-height:100dvh}
.auth-brand-panel{position:sticky;top:0;display:flex;flex-direction:column;height:100dvh;min-height:640px;padding:18px 20px 24px;color:var(--side-text);background:var(--side);overflow:hidden;min-width:0}
.auth-brand{display:flex;align-items:center;gap:9px;padding:4px 8px;font-size:15px;font-weight:600;letter-spacing:-.01em;color:#fff}
.auth-brand:hover{text-decoration:none}
.auth-statement{margin:auto 0 0;padding:28px 36px 0;font-size:clamp(28px,2.9vw,42px);line-height:1.14;font-weight:600;letter-spacing:-.025em;color:#fff}
.auth-statement span{display:block}
.auth-demo{display:grid;gap:14px;margin:28px 0 auto;padding:0 36px;max-width:672px}
.auth-track{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));position:relative}
.auth-track i{position:absolute;top:0;bottom:0;left:0;width:calc(100%/6);background:var(--side-active);border-radius:var(--radius-control);transform:translateX(500%)}
.auth-step{position:relative;display:grid;justify-items:center;gap:5px;padding:9px 2px 8px;font-size:12px;line-height:16px;color:var(--side-text)}
.auth-paper{position:relative;padding:16px 18px 10px;color:var(--text);background:var(--surface);border-radius:var(--radius-card)}
.auth-paper header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.auth-paper header b{display:block;font-size:14px;line-height:20px;font-weight:600}
.auth-paper small{font-size:12px;line-height:16px;color:var(--muted)}
.auth-status{position:relative;display:inline-grid;flex:none;font-size:12px;line-height:18px;font-weight:500}
.auth-status span{grid-area:1/1;justify-content:center}
.auth-status .s1,.auth-status .s2{opacity:0}
.auth-rows{display:grid;gap:0;margin:0;padding:0;list-style:none;font-size:13px}
.auth-rows li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 0;border-top:1px solid var(--rule)}
.auth-rows li>span:first-child{color:var(--muted)}
.auth-rows li>b{font-weight:550;font-variant-numeric:tabular-nums}
.auth-rows .done{display:inline-grid;place-items:center;width:16px;height:16px;color:var(--success-ink)}
.auth-rows .done .i{width:16px;height:16px;stroke-width:1.75}
.auth-seal{position:absolute;right:52px;bottom:6px;width:84px;height:84px;color:var(--brand)}
.auth-sample{display:block;margin-top:8px;font-size:12px;line-height:16px;color:var(--side-muted)}
.auth-foot{margin:0;padding:0 36px;max-width:672px;font-size:13px;line-height:18px;color:var(--side-muted)}
.auth-shell .auth-card{align-self:center;justify-self:center;width:min(420px,calc(100% - 64px));margin:32px 0;padding:28px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);overflow-wrap:anywhere;min-width:0}
.auth-shell:has(.registration-workspace),.auth-shell:has(.email-flow){grid-template-columns:minmax(0,1fr)}
.auth-shell:has(.registration-workspace) .auth-brand-panel,.auth-shell:has(.email-flow) .auth-brand-panel{position:relative;top:auto;flex-direction:row;height:auto;min-height:0;padding:10px 12px}
.auth-shell:has(.registration-workspace) :is(.auth-statement,.auth-demo,.auth-foot),.auth-shell:has(.email-flow) :is(.auth-statement,.auth-demo,.auth-foot){display:none}
.auth-shell .auth-card:has(.registration-workspace){width:min(1060px,calc(100% - 48px));justify-self:center;align-self:start;margin:0;padding:24px 0 40px;background:none;border:0;border-radius:0}
.auth-shell .auth-card:has(.email-flow){width:min(540px,calc(100% - 48px));align-self:start;margin:0;padding:24px 0 40px;background:none;border:0;border-radius:0}
.auth-card h1{margin:0 0 4px;font-size:22px;line-height:28px;font-weight:600;letter-spacing:-.02em}
.auth-card>p.muted{margin:0 0 22px;font-size:14px;line-height:20px}
.auth-card label{font-size:13px;margin-bottom:6px}
.auth-card input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.auth-card select{width:100%;min-height:38px}
.auth-card button{width:100%;min-height:38px;margin-top:4px}
.auth-card .button{width:auto}
.auth-card .button.auth-sso{display:flex;width:100%;min-height:38px;white-space:normal;text-align:center}
.auth-card form p{margin:0 0 14px}
.auth-card img{max-width:100%;height:auto}
.auth-card pre{white-space:pre-wrap;overflow-wrap:anywhere}
.auth-field{margin-bottom:14px}
.auth-card>.personal-institution-context:first-child{margin-top:0}
.auth-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:-2px 0 18px;font-size:14px}
.auth-remember{display:flex;align-items:center;gap:8px;margin:0}
.auth-remember label{margin:0;font-weight:400;font-size:14px}
.auth-remember input{margin:0}
.auth-divider{display:flex;align-items:center;gap:12px;margin:22px 0;font-size:13px;color:var(--muted)}
.auth-divider::before,.auth-divider::after{content:"";flex:1;height:1px;background:var(--border)}
.auth-navigation{display:flex;flex-wrap:wrap;gap:6px 14px;margin-bottom:20px;font-size:13px}

/* Command palette: Spotlight's habit, not its glass. */
.command-palette{width:min(560px,calc(100vw - 32px));max-height:min(460px,70vh);margin:12vh auto auto;padding:0;color:var(--text);background:var(--surface);border:1px solid var(--border);border:1px solid var(--border);border-radius:12px;box-shadow:0 18px 48px -12px #10182859,0 2px 8px #1018281f;overflow:hidden;opacity:0;transform:translateY(-4px) scale(.99);transition:opacity 120ms ease,transform 160ms var(--ease),overlay 160ms allow-discrete,display 160ms allow-discrete}
.command-palette[open]{display:flex;flex-direction:column;opacity:1;transform:none}
@starting-style{.command-palette[open]{opacity:0;transform:translateY(-4px) scale(.99)}}
.command-palette::backdrop{background:#10121600;transition:background-color var(--medium) ease,overlay var(--medium) allow-discrete,display var(--medium) allow-discrete}
.command-palette[open]::backdrop{background:#10182838}
@starting-style{.command-palette[open]::backdrop{background:#10121600}}
.command-input{display:flex;align-items:center;gap:10px;padding:0 14px;border-bottom:1px solid var(--rule);color:var(--muted)}
.command-input input{flex:1;min-height:46px;padding:0;font-size:15px;border:0;background:none;box-shadow:none}
.command-input input:focus{box-shadow:none}
.command-palette ul{position:relative;list-style:none;margin:0;padding:6px;overflow-y:auto}
.command-palette li.command-highlight{position:absolute;z-index:0;left:6px;right:6px;top:0;padding:0;background:var(--hover);border-radius:7px;pointer-events:none;transition:transform 120ms var(--ease)}
.command-palette li{position:relative;z-index:1;display:flex;align-items:center;gap:10px;padding:7px 10px;font-size:14px;line-height:20px;border-radius:7px;cursor:pointer}
.command-palette li .command-label{flex:1;min-width:0}
.command-palette li small{flex:none;font-size:12px}

.calendar-table{table-layout:fixed;min-width:820px}.calendar-table td{vertical-align:top;height:130px;padding:10px}.outside-month{background:var(--surface-alt);color:var(--muted)}.calendar-task{display:block;border-left:3px solid var(--accent);background:var(--pale);padding:7px;margin-top:8px;font-size:12px;overflow-wrap:anywhere}.calendar-task.legal,.badge.legal{border-color:var(--danger-ink);background:var(--danger-bg);color:var(--danger-ink)}.calendar-task.procedural,.badge.procedural{border-color:var(--accent-ink);background:var(--info-bg)}.calendar-task.contractual,.badge.contractual{border-color:var(--success-ink);background:var(--success-bg);color:var(--success-ink)}.deadline-legend{display:flex;gap:12px;margin:18px 0}.task-event{padding:12px 0;border-bottom:1px solid var(--border)}.task-event summary{cursor:pointer;font-size:12px}.calendar-task small{display:block}dl{display:grid;grid-template-columns:130px 1fr;gap:12px;font-size:12px}dt{color:var(--muted)}dd{margin:0;overflow-wrap:anywhere}

.rich-chapter{border:1px solid var(--border);border-radius:8px;overflow:hidden}.editor-toolbar{display:flex;flex-wrap:wrap;gap:5px;padding:9px;background:var(--surface-alt);border-bottom:1px solid var(--border)}.editor-toolbar button{min-width:32px;padding:5px 8px;font-size:12px}.editor-toolbar button[aria-pressed=true]{background:var(--pale);border-color:var(--accent);color:var(--dark)}.rich-surface .tiptap{padding:24px;min-height:340px;font:14px/1.8 Georgia,serif;outline:none;white-space:pre-wrap;overflow-wrap:anywhere}.rich-surface .tiptap:focus{box-shadow:inset 0 0 0 2px var(--stamp-ring)}.rich-surface .tiptap p{margin:0 0 12px}.rich-surface .tiptap h2,.rich-surface .tiptap h3{font-family:inherit}.rich-surface .tiptap table{table-layout:fixed;font:inherit;margin:16px 0}.rich-surface .tiptap th,.rich-surface .tiptap td{position:relative;border:1px solid var(--border);padding:8px;vertical-align:top;min-width:40px}.rich-surface .tiptap th{text-transform:none;letter-spacing:normal;font:inherit;font-weight:bold}.rich-surface .tiptap td p,.rich-surface .tiptap th p{margin:0}.rich-surface .tiptap .selectedCell{background:var(--pale)}.rich-surface .tiptap [contenteditable=false]{user-select:all}.version-row{padding:12px 0;border-bottom:1px solid var(--border)}.version-row a{display:inline-block;margin-right:10px}.version-row.active{background:var(--pale);border-radius:6px;padding:10px}.pagination{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:15px 0}.editor-layout [hidden]{display:none!important}
.paper-evidence{margin-top:24px}.paper-evidence .version-row{overflow-wrap:anywhere}.paper-evidence .hash{font-family:ui-monospace,monospace;font-size:12px}

.numbering-panel { overflow-wrap: anywhere; min-width: 0; }
.import-comparison { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1.5rem; }
.import-comparison > div, .reading-projection { min-width: 0; overflow-wrap: anywhere; }
.reading-projection table { width: 100%; border-collapse: collapse; }
.reading-projection td { border: 1px solid var(--border); padding: .4rem; }
@media (max-width: 900px) { .import-comparison { grid-template-columns: 1fr; } }

.style-settings{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:32px}.style-settings section{min-width:0}.signatory-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;border-bottom:1px solid var(--border);padding:12px 0}.institution-logo{display:block;max-width:160px;max-height:64px;object-fit:contain;margin:12px 0}.style-settings code{white-space:nowrap;font-size:12px}.style-form textarea{resize:vertical}@media(max-width:1000px){.style-settings{grid-template-columns:1fr}}
.native-chapter{margin:24px 0;padding:20px;border:1px solid var(--border);border-radius:8px}.native-chapter legend{font-weight:600;color:var(--accent)}.native-prototype{overflow-wrap:anywhere;max-height:400px;overflow:auto;padding:12px;background:var(--surface-alt);border-radius:8px}

.audit-details{white-space:pre-wrap;overflow-wrap:anywhere;max-height:700px;overflow:auto;background:var(--surface-code);padding:18px;border-radius:8px}.card dd.mono{overflow-wrap:anywhere}

.invitation-filters{align-items:flex-end;flex-wrap:wrap}.invitation-filters .field{flex:1 1 180px;min-width:0;margin:0}.invitation-filters .field:first-child{flex-basis:300px}.invitation-filters button{align-self:flex-end}.invitation-filters input,.invitation-filters select{width:100%}

.personal-institution-context{margin-top:24px;padding:14px 16px;border:1px solid var(--border);border-radius:8px;background:var(--pale)}.personal-institution-context strong{display:block;color:var(--dark);margin:4px 0}.personal-institution-context a{display:inline-block;margin-top:8px;font-size:12px}

.context-submitted{white-space:pre-wrap;overflow-wrap:anywhere;max-width:100%;background:white;padding:12px;border-radius:6px}.context-roles{display:block;font-size:12px;color:var(--muted)}
.registration-workspace{overflow-wrap:anywhere}.registration-nav{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:24px 0}.registration-nav form{margin-left:auto}.registration-workspace form{max-width:760px}.registration-workspace input:not([type=checkbox]):not([type=hidden]),.registration-workspace textarea,.registration-workspace select{width:100%}.registration-workspace label{display:block;margin-bottom:6px}.registration-workspace input[type=checkbox]{margin-right:8px}.registration-workspace small{display:block;font-size:12px;color:var(--muted)}.registration-workspace dd{margin:6px 0 18px}.registration-workspace .errorlist{color:var(--danger-ink)}.registration-workspace h2{margin-top:28px}
.profile-facts{display:grid;grid-template-columns:minmax(140px,1fr) 3fr;gap:12px 20px;margin:20px 0}.profile-facts dt{color:var(--muted);font-weight:600}.profile-facts dd{margin:0;overflow-wrap:anywhere}.profile-form{max-width:960px}.profile-form p{margin:12px 0}.profile-form p>label{display:block;font-weight:600;margin:0 0 6px}.profile-register{margin:28px 0;border-top:1px solid var(--border);padding-top:20px}.profile-register fieldset{border:1px solid var(--border);border-radius:10px;padding:18px;margin:16px 0;background:var(--bg)}.profile-register legend{padding:0 8px;color:var(--muted)}@media(max-width:700px){.profile-facts{grid-template-columns:1fr;gap:6px}.profile-facts dd{margin-bottom:12px}}

.profile-sheet>.card{margin-bottom:20px}
.editor-layout .version-row{overflow-wrap:anywhere}

.registry-filters .form-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.registry-filters .field{min-width:0}#need-registry small,#need-matches small{display:block;color:var(--muted)}#need-registry td,#need-matches td{vertical-align:top}#need-registry{min-width:940px}

.need-route-form{max-width:760px}.need-route-form input:not([type=checkbox]):not([type=hidden]),.need-route-form select,.need-route-form textarea{width:100%}.need-route-form label{display:block;margin-bottom:6px}.need-route-form input[type=checkbox]{width:auto}

.source-reading-text{white-space:pre-wrap;overflow-wrap:anywhere}

.price-observation-form fieldset{border:1px solid var(--border);border-radius:10px;padding:20px;margin:20px 0;background:var(--bg)}.price-observation-form legend{color:var(--dark);font-weight:600;padding:0 8px}.price-observation-form .field{margin-bottom:18px}

.note-content { overflow-wrap: anywhere; }

[data-procedure-form]{max-width:1140px}[data-procedure-form] .price-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;border:1px solid var(--border);border-radius:10px;padding:20px;margin:20px 0}[data-procedure-form] .price-fields>div{min-width:0}[data-procedure-form] .price-fields>div:has(textarea){grid-column:1/-1}[data-procedure-form] legend{font-weight:600;color:var(--dark);padding:0 8px}.table-wrap{overflow-x:auto} @media(max-width:700px){[data-procedure-form] .price-fields{grid-template-columns:1fr}}

[data-recommendation-form] fieldset{min-width:0;border:1px solid var(--border);border-radius:10px;padding:18px}[data-recommendation-form] legend{font-weight:600;color:var(--dark);padding:0 8px;max-width:100%}[data-recommendation-form] .toolbar{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}[data-recommendation-form] button{white-space:normal}[data-recommendation-row],.recommendation-fact-row{display:grid;grid-template-columns:minmax(0,1fr);gap:6px;overflow-wrap:anywhere}[data-recommendation-row] p,.recommendation-fact-row p{margin:0}@media(max-width:700px){[data-recommendation-heading]{flex-direction:column;align-items:stretch}}
[data-checklist-row],[data-checklist-history],[data-checklist-version],.checklist-source-row{display:grid;grid-template-columns:minmax(0,1fr);gap:7px;overflow-wrap:anywhere}[data-checklist-row] p,[data-checklist-history] p,[data-checklist-version] p,.checklist-source-row p{margin:0}[data-checklist-summary]{overflow-wrap:anywhere}[data-checklist-event] select{width:100%}[data-checklist-create] button,[data-checklist-event] button{white-space:normal;margin:8px 8px 0 0}@media(max-width:700px){[data-checklist-heading]{flex-direction:column;align-items:stretch}}

.direct-annex-row { display: grid; grid-template-columns: minmax(0, 1fr); gap: 7px; overflow-wrap: anywhere; }
.case-workspace-row{display:grid;grid-template-columns:minmax(0,1fr);gap:6px;overflow-wrap:anywhere;padding:16px 0;border-bottom:1px solid var(--border)}.case-workspace-row p{margin:0}.case-map-stage.current{background:color-mix(in srgb,var(--tone) 7%,#fff)}
.case-map-stage.current h2{color:var(--tone)}
.case-workspace-nav{display:flex;gap:18px;flex-wrap:wrap;margin:20px 0}.case-workspace-grid>section{min-width:0}.case-profile-form fieldset{min-width:0;border:1px solid var(--border);border-radius:10px;padding:18px;margin:18px 0}.case-profile-form fieldset>div,.case-profile-form form>div{margin:14px 0}.case-profile-form button{white-space:normal}[data-case-workspace],#case-origins,#case-funding,#case-people{overflow-wrap:anywhere;min-width:0}#case-origins table{min-width:760px}[data-case-profile-heading]{min-width:0;overflow-wrap:anywhere}@media(max-width:700px){[data-case-profile-heading]{flex-direction:column;align-items:stretch}.case-workspace-grid .list-row{min-width:0}.case-workspace-nav{gap:10px}}
.direct-annex-row p { margin: 0; }
[data-direct-annex-summary] { overflow-wrap: anywhere; }
[data-direct-annex-heading] { min-width: 0; overflow-wrap: anywhere; }
@media (max-width: 600px) {
  [data-direct-annex-heading] { display: block; }
  [data-direct-annex-heading] .form-actions { margin-top: 1rem; flex-wrap: wrap; }
}

.case-initiation-form{min-width:0;overflow-wrap:anywhere}.case-initiation-form fieldset{min-width:0;border:1px solid var(--border);border-radius:10px;padding:18px;margin:18px 0}.case-initiation-form legend{color:var(--dark);font-weight:600;padding:0 6px}.case-initiation-form input:not([type=checkbox]):not([type=hidden]),.case-initiation-form select{max-width:100%}.case-initiation-form button{white-space:normal}.hash-value{overflow-wrap:anywhere;font-family:ui-monospace,monospace;font-size:12px}.case-context-list{display:grid;grid-template-columns:minmax(130px,1fr) minmax(0,3fr);gap:12px}.case-context-list dd{margin:0;overflow-wrap:anywhere}@media(max-width:700px){.case-context-list{grid-template-columns:1fr}.case-initiation-form .form-actions{flex-wrap:wrap}}

.case-initiation-heading{min-width:0;overflow-wrap:anywhere}.case-initiation-heading>div{min-width:0}@media(max-width:700px){.case-initiation-heading{flex-direction:column;align-items:stretch}}
/* Procedure workflow: keep evidence and history readable at each viewport. */
[data-workflow-heading],[data-workflow-summary],.workflow-step,[data-workflow-history],[data-workflow-version]{min-width:0;overflow-wrap:anywhere}
.workflow-step .list-row,[data-workflow-history],[data-workflow-version]{display:block}
.workflow-step .list-row p,[data-workflow-history] p,[data-workflow-version] p{margin:8px 0}
.workflow-step .button,.workflow-create button,[data-workflow-event] button{max-width:100%;white-space:normal}
.workflow-create fieldset{min-width:0}.workflow-create .workflow-step>div{margin:18px 0}
@media(max-width:700px){[data-workflow-heading]{flex-direction:column;align-items:stretch}[data-workflow-heading] .button{white-space:normal}}

[data-offer-version]{overflow-wrap:anywhere;min-width:0}[data-direct-offer-form] fieldset{min-width:0;border:1px solid var(--border);border-radius:8px;padding:16px;margin:16px 0}[data-direct-offer-form] legend{font-weight:600}

[data-comparison-version],[data-compared-offer],[data-compared-line],[data-offer-difference],[data-difference-value]{min-width:0;overflow-wrap:anywhere}[data-comparison-form] button{white-space:normal;margin:8px 8px 0 0}
[data-decision-page] .card{min-width:0;overflow-wrap:anywhere}[data-decision-page] button,[data-decision-page] .button{max-width:100%;white-space:normal}[data-decision-page] input,[data-decision-page] select,[data-decision-page] textarea{min-width:0}@media(max-width:700px){[data-decision-page] .page-heading{flex-direction:column;align-items:stretch}}

[data-order-record-page] .card,[data-order-record-page] .page-heading{min-width:0;overflow-wrap:anywhere}[data-order-record-page] button,[data-order-record-page] .button{white-space:normal;max-width:100%}[data-order-record-page] input,[data-order-record-page] textarea,[data-order-record-page] select{min-width:0}[data-order-record-page] .page-heading>div{min-width:0}@media(max-width:700px){[data-order-record-page] .page-heading{flex-direction:column;align-items:stretch}}

.casefile-component { align-items: flex-start; }
.casefile-component > strong, .casefile-component-meta { min-width: 0; overflow-wrap: anywhere; }
.casefile-component-meta { text-align: right; }
.casefile-component-digest { white-space: normal; overflow-wrap: anywhere; }
.casefile-component-sha256 { user-select: text; }
@media (max-width: 600px) {
  .casefile-component { flex-direction: column; align-items: stretch; gap: 6px; }
  .casefile-component-meta { text-align: left; }
}

/* ANAP typed repeating rows; isolated from the general procurement formsets. */
.document-rows { min-width:0; margin:1.25rem 0; padding:1rem; border:1px solid var(--border); border-radius:12px; }
.document-rows legend { font-weight:700; padding:0 .4rem; }
.document-row { min-width:0; padding:1rem 0; border-top:1px solid var(--border); }
.document-row h3 { margin:.2rem 0 .8rem; }
.document-row input, .document-row textarea { max-width:100%; box-sizing:border-box; }
.document-row-actions { display:flex; flex-wrap:wrap; align-items:center; gap:.6rem; }
.row-delete-choice { display:flex; align-items:center; gap:.4rem; width:100%; }
.row-delete-choice input { width:auto; }
.document-row-delete-notice { display:none; width:100%; }
.document-row-deleted { background:var(--warning-surface); border-left:3px solid var(--warning-ink); padding-left:.7rem; }
.document-row-deleted .document-row-delete-notice { display:block; }
.document-row [data-document-row-undo] { display:none; }
.document-row-deleted [data-document-row-remove] { display:none; }
.document-row-deleted [data-document-row-undo] { display:inline-flex; }
@media (max-width:600px) { .document-rows { padding:.7rem; } .document-row-actions button { white-space:normal; max-width:100%; } }

.editor-paper #document-form .document-row textarea,
.editor-paper #document-form textarea.conditional-controller { min-height:5rem; padding:10px 12px; font:inherit; }
.document-rows > [data-document-row-add] { max-width:100%; white-space:normal; }

/* Scoped search/source display: original literal text and complete hashes. */
.coordination-search-form input[name="q"]{min-width:0;width:100%;max-width:36rem}
.coordination-results{display:grid;gap:1rem;min-width:0}
.coordination-result,.coordination-source-version{min-width:0;overflow-wrap:anywhere}
.coordination-result h2{font-size:1.1rem;margin:.75rem 0}
.coordination-excerpt{white-space:pre-wrap}
.coordination-source-text{white-space:pre-wrap;overflow-wrap:anywhere;word-break:normal;font-family:inherit;max-width:100%}
.coordination-hash{overflow-wrap:anywhere;word-break:break-all;white-space:normal}

/* Case-bound escalation facts and exact preserved digests. */
.coordination-incident-digest { overflow-wrap:anywhere; user-select:text; }
.coordination-route { display:flex; flex-wrap:wrap; gap:0.75rem; align-items:center; }
.coordination-source-list { display:grid; gap:0.5rem; }
.coordination-source-list a { overflow-wrap:anywhere; }

/* Supplied33-screen reference: compact indigo header, lavender220px rail and restrained surfaces. */






/* Reference dashboard density; all values remain actual permission-filtered backend data. */


/* Supplied screen09: left brand panel and right live auth forms, with mobile stacking. */

/* Read-only design review: native desktop disclosure, vertical mobile list and bounded context. */




/* Keep actual MFA QR codes and long account text within the mobile form. */

/* Supplied screen14: guided input at left, a paper preview at right. */
.need-draft-layout{display:grid;grid-template-columns:minmax(0,56fr) minmax(0,44fr);gap:20px;align-items:start}
.need-guided-form{min-width:0;display:flex;flex-direction:column;gap:16px;scroll-padding-bottom:80px}.need-guided-form .field{margin-bottom:12px}.need-guided-form .form-grid .field{margin-bottom:0}.need-guided-form .form-grid{margin-bottom:12px}.required-marker{color:#b23636}
.need-guided-form .line-fields{grid-template-columns:repeat(2,minmax(0,1fr));padding:12px}.need-guided-form .line-fields .field:first-of-type{grid-column:1/-1}.need-guided-form .line-fields .field{margin:0}
.need-draft-actions{justify-content:space-between}.need-preview{position:sticky;top:76px;min-width:0;padding:18px;background:var(--pale);border:1px solid var(--border);border-radius:10px}
.need-preview-heading{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:14px}.need-preview-heading h2{font-size:12px;margin:0;color:var(--muted)}
.need-preview-paper{background:#fff;border-radius:8px;box-shadow:0 4px 16px #1012161a;padding:28px;max-height:calc(100vh - 180px);overflow-y:auto;overflow-wrap:anywhere}
.need-preview-paper header{text-align:center;border-bottom:1px solid var(--border);padding-bottom:18px}.need-preview-paper header small{color:var(--muted)}.need-preview-paper h3{font-size:15px;margin:12px 0}.need-preview-paper header p{font-weight:600}
.need-preview-paper dt{font-size:12px;font-weight:600;color:var(--muted);margin-top:16px}.need-preview-paper dd{font-size:12px;line-height:1.8;white-space:pre-wrap;margin:4px 0}.need-preview-note{border-top:1px solid var(--border);padding-top:16px;font-size:12px;line-height:1.6}
@media(max-width:1100px){.need-draft-layout{grid-template-columns:1fr}.need-preview{position:static}.need-preview-paper{max-height:none}}
@media(max-width:700px){.need-preview{padding:14px}.need-preview-paper{padding:20px}.need-preview-heading{flex-wrap:wrap}.need-guided-form .line-fields{grid-template-columns:1fr}.need-guided-form .line-fields .field:first-of-type{grid-column:auto}}

.need-preview-paper dl{display:block}.need-guided-form input[type=checkbox]{width:auto}

@media(min-width:1101px) and (min-height:600px){
 .need-guided-form{max-height:calc(100vh - 200px);overflow-y:auto;padding:0 6px 0 0;scrollbar-gutter:stable}.need-guided-form>*{flex-shrink:0}
 .need-draft-actions{position:sticky;bottom:0;padding:12px 0;background:var(--bg);border-top:1px solid var(--border)}.need-preview-paper{max-height:calc(100vh - 260px)}
}

.need-validation-summary ul{padding-left:18px;margin:8px 0 0}.need-validation-summary li{margin:6px 0}

/* Supplied screen15: personal pending queue and the exact selected review version. */
.approval-workspace{display:grid;grid-template-columns:320px minmax(0,1fr);border:1px solid var(--border);border-radius:var(--radius-card);overflow:hidden;background:#fff;align-items:stretch}
.approval-queue{min-width:0;background:var(--raised);border-right:1px solid var(--border);padding:16px}.approval-queue header{padding:0 4px 14px;border-bottom:1px solid var(--border)}.approval-queue h2{font-size:13px;margin-bottom:6px}.approval-queue h3{margin:20px 4px 8px}.approval-queue small{display:block;font-size:12px;color:var(--muted)}
.approval-queue-item{display:block;color:var(--text);padding:12px;margin:10px 0;border:1px solid var(--border);background:#fff;border-radius:8px;overflow-wrap:anywhere;text-decoration:none}.approval-queue-item:hover,.approval-queue-item.selected{border-color:var(--accent);background:var(--info-bg);text-decoration:none}.approval-queue-item strong{display:block;font-size:12px;margin-bottom:6px}.approval-queue-item small{margin:4px 0}.approval-queue-item .badge{margin-top:6px}.approval-queue .empty{padding:16px 4px;text-align:left;font-size:12px}
.approval-review{min-width:0;padding:24px 28px;overflow-wrap:anywhere;scroll-margin-top:76px}.approval-review-heading{display:flex;align-items:start;justify-content:space-between;gap:16px;border-bottom:1px solid var(--border);padding-bottom:16px;margin-bottom:20px}.approval-review-heading h2{font-size:18px;margin-bottom:6px}.approval-review-heading p{font-size:12px;color:var(--muted);margin:0}.approval-review-heading .button{flex:none}
.approval-facts{background:var(--pale);border:1px solid var(--border);border-radius:8px;padding:14px 16px;margin-bottom:20px}.approval-facts h3{margin:0 0 8px}.approval-facts p{margin:0 0 6px}.approval-facts small{display:block;color:var(--muted)}
.approval-reading article{border:1px solid var(--border);border-radius:8px;padding:16px;margin:12px 0}.approval-reading article h3{margin:0 0 6px}.approval-reading .note-content{overflow-x:auto;max-width:100%;margin-top:12px;white-space:pre-wrap}.approval-reading .note-content table{white-space:normal}
.approval-comparison{padding:14px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin:20px 0}.approval-comparison summary{cursor:pointer;font-weight:600;font-size:12px;color:var(--accent-ink)}.approval-comparison .diff{max-width:100%;overflow-x:auto;white-space:pre-wrap;overflow-wrap:anywhere}.approval-checks,.approval-decision{margin-top:20px}.approval-empty{padding:40px 12px;color:var(--muted)}
@media(min-width:1101px) and (min-height:600px){.approval-queue,.approval-review{max-height:calc(100vh - 200px);overflow-y:auto}}
@media(max-width:1100px){.approval-workspace{grid-template-columns:260px minmax(0,1fr)}.approval-review{padding:20px}.approval-review-heading{flex-wrap:wrap}}
@media(max-width:960px){.approval-workspace{grid-template-columns:minmax(0,1fr)}.approval-queue{border-right:0;border-bottom:1px solid var(--border)}}
@media(max-width:700px){.approval-workspace{grid-template-columns:minmax(0,1fr)}.approval-queue{border-right:0;border-bottom:1px solid var(--border)}.approval-review{padding:16px}.approval-review-heading{gap:12px}.approval-review-heading .button{white-space:normal;max-width:100%}}

.chapter-number{font-size:12px;font-weight:600;color:var(--muted);margin-right:6px}.editor-paper [id^="chapter-"]{scroll-margin-top:80px}
.chapter-structure-row{margin-bottom:16px}.chapter-structure-row .form-grid{grid-template-columns:minmax(0,1fr) 100px}.chapter-structure-row input[type=checkbox]{width:auto}.chapter-structure-reading{margin-top:16px;border-top:1px solid var(--border);padding-top:12px;max-height:220px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere}.chapter-structure-row input[name$="-label"]{width:100%}
@media(max-width:700px){.chapter-structure-row .form-grid{grid-template-columns:minmax(0,1fr)}}

/* Version comparison follows the existing P0 editor panels; content stays read-only. */
.version-comparison { margin-top: 24px; min-width: 0; }
.comparison-chapter { margin: 16px 0; border: 1px solid var(--border); border-radius: 8px; overflow: hidden; }
.comparison-flags { display: flex; flex-wrap: wrap; gap: 6px; padding: 10px 12px; background: var(--pale); }
.comparison-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.comparison-side { min-width: 0; padding: 12px; }
.comparison-side + .comparison-side { border-left: 1px solid var(--line); }
.comparison-side h3 { overflow-wrap: anywhere; font-size: 14px; }
.comparison-content { overflow: auto; max-height: 480px; overflow-wrap: anywhere; }
.comparison-content table { width: 100%; }
.comparison-content th, .comparison-content td { white-space: normal; }
.comparison-text, .comparison-native { white-space: pre-wrap; }
@media (max-width: 900px) { .comparison-columns { grid-template-columns: minmax(0, 1fr); } .comparison-side + .comparison-side { border-left: 0; border-top: 1px solid var(--line); } }

#comparison-heading { scroll-margin-top: 72px; }

/* Original editor paper: compact, version-bound annex rows. */
.document-attachments { margin-top: 24px; padding-top: 18px; border-top: 1px solid var(--border); }
.attachment-heading { display: flex; align-items: center; gap: 8px; }
.attachment-heading h2 { margin: 0; }
.attachment-row { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--border); }
.attachment-row > div { min-width: 0; }
.attachment-row small { display: block; }
.attachment-row, .attachment-hash { overflow-wrap: anywhere; }
.attachment-actions { display: grid; gap: 8px; flex-shrink: 0; }
.attachment-form { max-width: 780px; overflow-wrap: anywhere; }
.attachment-form input[type=checkbox] { width: auto; margin-right: 8px; }
@media (max-width: 600px) { .attachment-row { flex-direction: column; } .attachment-actions { display: flex; flex-wrap: wrap; } }

/* Original editor paper: collapsed, bounded historical identities. */
.document-provenance, .provenance-comparison { margin-top: 18px; padding: 12px 0; border-top: 1px solid var(--border); min-width: 0; overflow-wrap: anywhere; }
.document-provenance summary, .provenance-comparison summary { cursor: pointer; color: var(--dark); font-weight: 600; }
.provenance-group dl { margin: 8px 0 16px; }
.provenance-group dt { font-size: 11px; color: var(--muted); }
.provenance-group dd { margin: 0 0 8px; font-size: 12px; overflow-wrap: anywhere; }
.provenance-comparison > .comparison-chapter > h3 { margin: 12px; }

/* Exact read-only ANAP history uses the shared original-design cards. */
.template-history-entry{border-top:1px solid var(--border);padding:16px 0;min-width:0;overflow-wrap:anywhere}.template-history-entry pre{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;max-width:100%}.template-history-entry h3{font-size:12px;overflow-wrap:anywhere}

.template-history{display:grid;gap:20px;min-width:0}.template-history-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:0}.template-history .list-row>div:last-child{display:flex;flex-wrap:wrap;gap:8px}.template-history-entry .two-columns{margin-bottom:0}
@media(max-width:900px){.template-history-columns{grid-template-columns:minmax(0,1fr);gap:16px}}

.configuration-history-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;max-width:100%}.configuration-history-actions .button{white-space:normal;max-width:100%}

/* Reference screen05: joined chapter/content/assistant surfaces and recorded chapter origin. */

.editor-layout>.card{border:0;box-shadow:none;border-radius:0;min-width:0}
.editor-layout>.editor-chapter-rail{background:transparent;border-right:1px solid var(--border)}
.editor-layout>.editor-assistant-rail{background:transparent;border-left:1px solid var(--border)}
.editor-chapter-rail .chapter-link{background:transparent;color:var(--dark);padding:8px 10px;margin:2px 0}
.editor-chapter-rail .chapter-link:hover,.editor-chapter-rail .chapter-link:focus-visible{background:var(--active);color:var(--text)}
.document-chapter{padding:12px 16px;border-left:3px solid var(--border);border-radius:0 6px 6px 0;scroll-margin-top:76px}
.document-chapter{border-left:0;padding:12px 0}
.document-chapter:has([data-chapter-origin-kind="ai_accepted_by_human"]){padding:12px;background:var(--info-bg);border-radius:var(--radius-card)}
.chapter-origin{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center;margin:0 0 10px;overflow-wrap:anywhere}
.chapter-origin-label{border:1px solid var(--border);padding:2px 7px;border-radius:4px;font-size:12px;line-height:1.5;color:var(--muted);background:var(--raised)}
.chapter-origin-label{border:0}
.chapter-origin[data-chapter-origin-kind="ai_accepted_by_human"] .chapter-origin-label{color:#174d9c;background:var(--surface)}
.chapter-origin-author{font-size:12px;color:var(--muted)}
.document-chapter .rich-surface .tiptap{min-height:180px}.editor-paper #document-form .document-chapter textarea{min-height:180px}
.document-chapter .rich-chapter{background:transparent}.document-chapter .editor-toolbar{background:var(--raised)}
.document-chapter .editor-toolbar .secondary{border-color:transparent;background:transparent;color:var(--text)}
.document-chapter .editor-toolbar button[aria-pressed=true]{background:var(--active);border-color:var(--accent);color:var(--dark)}
.document-chapter .rich-surface .tiptap,.editor-paper #document-form .document-chapter textarea{font:13px/1.8 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:transparent;padding:16px;color:var(--dark)}
@media(max-width:1100px){

 .editor-layout>.editor-chapter-rail{border-right:0;border-bottom:1px solid var(--border);border-radius:10px 10px 0 0}
 .editor-layout>.editor-assistant-rail{border-left:0;border-top:1px solid var(--border);border-radius:0 0 10px 10px}
}
@media(max-width:700px){.document-chapter{padding:10px}.document-chapter .rich-surface .tiptap,.editor-paper #document-form .document-chapter textarea{padding:12px}}

/* Long document titles and author identities remain readable in the reference editor. */
.document-editor-heading,.document-editor-heading>div{min-width:0;overflow-wrap:anywhere}
.editor-chapter-rail .version-row,.editor-chapter-rail .chapter-link{overflow-wrap:anywhere}

/* Screen 01: actual procurement register and personal work rail. */

/* Reference screen 06: filters, actual document register and preserved history. */
.document-register-heading{min-width:0;overflow-wrap:anywhere}
.document-register-layout{display:grid;grid-template-columns:168px minmax(0,1fr) 260px;border:1px solid var(--border);border-radius:var(--radius-card);background:#fff;overflow:hidden;align-items:start}
.document-register-layout>*{min-width:0;overflow-wrap:break-word}.document-register-layout h2{font-size:13px;margin:0 0 10px}
.document-register-filters{padding:20px 14px;background:transparent;align-self:stretch;border-right:1px solid var(--border)}
.document-register-filter{display:flex;gap:12px;justify-content:space-between;padding:10px;margin:6px 0;border-radius:6px;color:var(--text);font-size:12px}.document-register-filter.selected{color:var(--brand-hover);background:var(--active);font-weight:550}
.document-register-table .table-scroll{overflow-x:auto}.document-register-table table{min-width:620px}.document-register-table td small{display:block;margin-top:6px;color:var(--muted);font-size:12px}.document-register-table tr.selected{background:var(--surface-alt)}.document-register-table .pagination{padding:14px}
.document-register-search{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:16px;border-bottom:1px solid var(--border)}.document-register-search label{font-size:12px}.document-register-search input:not([type=hidden]){min-width:100px;flex:1}.document-register-search button{font-size:12px;padding:9px 14px}
.document-register-history{padding:20px 16px;border-left:1px solid var(--border);align-self:stretch}.document-register-history header{padding-bottom:10px;border-bottom:1px solid var(--border)}.document-register-history header p,.document-register-history .muted{font-size:12px}
.document-register-version{padding:14px 0;border-bottom:1px solid var(--border)}.document-register-version>div{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.document-register-version p{font-size:12px;color:var(--muted);margin:8px 0}.document-register-version a{display:block;font-size:12px;margin-top:8px}
@media(max-width:1680px){.document-register-layout{grid-template-columns:168px minmax(0,1fr)}.document-register-history{grid-column:1/-1;border-left:0;border-top:1px solid var(--border)}}
@media(max-width:700px){.document-register-layout{grid-template-columns:minmax(0,1fr)}.document-register-filters{border-right:0;border-bottom:1px solid var(--border)}.document-register-filter{padding:8px}.document-register-history{grid-column:auto}.document-register-search{padding:14px}}

/* PAAP: articles waiting for allocation sit above a register that has the page's full width. */
.paap-register-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--gap)}
.paap-register-layout>*{min-width:0}
.card+.card.paap-register-table{margin-top:0}
.paap-count{display:inline-block;min-width:20px;padding:0 6px;font-size:12px;line-height:20px;font-weight:500;text-align:center;color:#3f4759;background:var(--pale);border-radius:var(--radius-chip)}
.paap-register-sources{padding:0}
.paap-register-sources>summary{display:flex;flex-wrap:wrap;align-items:center;gap:2px 8px;padding:14px var(--card-pad);list-style:none;border-radius:var(--radius-card)}
.paap-register-sources>summary::-webkit-details-marker{display:none}
.paap-register-sources>summary:hover{background:var(--raised)}
.paap-register-sources>summary>.i{color:var(--muted);transition:transform 180ms ease}
.paap-register-sources[open]>summary>.i{transform:rotate(90deg)}
.paap-register-sources h2,.paap-register-toolbar h2{margin:0;font-size:var(--fs-section);line-height:22px}
.paap-register-sources>summary p{flex-basis:100%;margin:0 0 0 24px;font-size:13px;line-height:18px}
.paap-source-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(170px,auto) minmax(130px,auto) auto;align-items:center;gap:4px 24px;padding:10px var(--card-pad);border-top:1px solid var(--rule);transition:background-color 100ms ease}
.paap-source-card:hover{background:var(--raised)}
.paap-source-what{min-width:0}
.paap-source-card h3{margin:0;font-size:14px;line-height:20px;font-weight:500}
.paap-source-card .paap-source-what a{font-size:13px;line-height:18px}
.paap-source-card p{margin:0;font-size:13px;color:var(--muted);white-space:nowrap}
.paap-source-card strong{font-size:14px;font-weight:500;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.paap-register-sources>.empty{margin:0 var(--card-pad) 14px;padding:10px 14px;font-size:13px;text-align:left}
.paap-register-sources .pagination,.paap-register-sources>nav{padding:8px var(--card-pad) 14px;margin:0}
.paap-register-table{padding:0}
.paap-register-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:2px 8px;padding:16px var(--card-pad) 12px}
.paap-register-toolbar p{flex-basis:100%;margin:0;font-size:13px;line-height:18px;color:var(--muted)}
.paap-register-table table{min-width:800px}
.paap-register-table th{white-space:nowrap}
.paap-register-table th:first-child,.paap-register-table td:first-child{padding-left:var(--card-pad)}
.paap-register-table th:last-child,.paap-register-table td:last-child{padding-right:var(--card-pad)}
.paap-register-table th:nth-child(1){width:18%}.paap-register-table th:nth-child(4){width:14%}.paap-register-table th:nth-child(7){width:15%}
.paap-register-table td{padding-top:12px;padding-bottom:12px}
.paap-register-table td:nth-child(2),.paap-cpv{white-space:nowrap;font-variant-numeric:tabular-nums}
.paap-register-table td small{margin-top:3px;line-height:17px}
.paap-object b{font-weight:500}
.paap-object small a,.paap-register-table td:nth-child(4) small a{color:var(--brand);font-weight:400}
.paap-origin a,.paap-case a{font-weight:400}
.paap-origin>div+div{margin-top:10px;padding-top:10px;border-top:1px solid var(--rule)}
.paap-origin .badge{width:fit-content;margin-top:5px}
.paap-register-table td small.paap-reason{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.paap-register-table .num{text-align:right;padding-right:28px}
.paap-net strong{font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}
.paap-net small{min-width:130px}
.paap-case a{display:block}
.paap-case a+a{margin-top:6px}
.paap-register-table .pagination,.paap-register-table>nav{padding:12px var(--card-pad);margin:0;border-top:1px solid var(--rule)}
.paap-register-programs{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 12px;padding:12px var(--card-pad) 14px;font-size:13px;line-height:18px;background:var(--raised);border-top:1px solid var(--border);border-radius:0 0 var(--radius-card) var(--radius-card)}
.paap-register-programs h2{margin:0;font-size:13px;line-height:18px;font-weight:500}
.paap-register-programs p{margin:0;color:var(--muted)}
/* Where the register fits the window, its header stays in view while the rows scroll. */
@media(min-width:1240px){
 .paap-register-table .table-scroll{overflow:visible}
 .paap-register-table thead th{position:sticky;top:0;z-index:2;background:var(--surface)}
}
@media(max-width:900px){
 .paap-source-card{grid-template-columns:minmax(0,1fr) auto}
 .paap-source-card .paap-source-what,.paap-source-card p{grid-column:1/-1}
 .paap-source-card p{white-space:normal}
 .paap-source-card strong{text-align:left}
}

/* Controlled corrections reuse the original pale source rail and white work surface. */
.correction-heading,.correction-heading>div{min-width:0;overflow-wrap:anywhere}
.correction-layout{display:grid;grid-template-columns:320px minmax(0,1fr);background:#fff;border:1px solid var(--border);border-radius:10px;overflow:hidden;align-items:start}
.correction-layout>*{min-width:0;overflow-wrap:anywhere}.correction-rail{padding:20px;background:var(--raised);border-right:1px solid var(--border);align-self:stretch}.correction-paper{padding:24px}.correction-rail h2{font-size:13px}.correction-rail dl{grid-template-columns:90px minmax(0,1fr)}.correction-rail p{font-size:12px}
.correction-history{padding:14px 0;border-bottom:1px solid var(--border)}.correction-history p{margin:8px 0}.correction-history .badge{display:inline-block;margin-top:8px}.correction-allocation{padding:14px 0;border-top:1px solid var(--border)}.correction-allocation .field{margin:10px 0}.correction-allocation input:not([type=hidden]){max-width:240px}.correction-confirm{display:flex;align-items:flex-start;gap:8px;margin:20px 0}.correction-confirm input{width:auto;flex-shrink:0;margin-top:3px}.correction-paper button,.correction-heading .button{white-space:normal;max-width:100%}.correction-paper .table-scroll table{min-width:540px}
@media(max-width:1100px){.correction-layout{grid-template-columns:260px minmax(0,1fr)}}
@media(max-width:800px){.correction-layout{grid-template-columns:minmax(0,1fr)}.correction-rail{border-right:0;border-bottom:1px solid var(--border)}.correction-paper{padding:18px 16px}.correction-heading{flex-direction:column;align-items:stretch}}
.case-completeness .list-row { display:block; min-width:0; }
.case-completeness .list-row > strong { display:block; margin-bottom:.5rem; font-size:1rem; }
.case-completeness p, .case-completeness a { overflow-wrap:anywhere; }

/* Native disclosure remains usable without JavaScript; only enhancement hides desktop toggle. */

.review-confirmation{display:flex;align-items:flex-start;gap:10px}
.field .review-confirmation input[type="checkbox"]{width:auto;flex:0 0 auto;margin:2px 0 0}
.review-confirmation label{margin:0;line-height:1.5;cursor:pointer}
@media(max-width:700px){

}

.approval-minimum-facts{grid-template-columns:minmax(0,1fr);gap:6px}.approval-minimum-facts dd{margin-bottom:12px}

[data-source-detail]{min-width:0;overflow-wrap:anywhere}
[data-source-detail] .card,[data-source-detail] .page-heading>div,[data-source-detail] .list-row>div{min-width:0}
[data-source-detail] .button{max-width:100%;white-space:normal}
[data-source-detail] .source-text{overflow-wrap:anywhere}
@media(max-width:700px){[data-source-detail] .page-heading{flex-direction:column;align-items:stretch}[data-source-detail] .list-row{flex-wrap:wrap}}
[data-closure-receipts],[data-closure-invoices],[data-closure-publications],[data-closure-casefile],[data-closure-spend]{overflow-wrap:anywhere}
[data-closure-receipts] .list-row>div,[data-closure-invoices] .list-row>div,[data-closure-publications] .list-row>div{min-width:0;max-width:100%}
.alop-facts{min-width:0;overflow-wrap:anywhere}.alop-facts select,.alop-facts input:not([type=checkbox]):not([type=hidden]),.alop-facts textarea{width:100%;max-width:100%;min-width:0}.alop-facts button{white-space:normal;max-width:100%}
.library-filters{flex-wrap:wrap}.library-filters input{flex:1 1 220px;min-width:0}.library-filters select{flex:0 1 auto;min-width:0}
/* M12.05 inline word-level changes; escaped text with only ins/del marks. */
.comparison-word-diff{margin:12px 0 18px}.word-diff{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--surface-code);padding:14px;border-radius:8px;max-height:520px;overflow:auto;font-size:13px;line-height:1.7}.comparison-word-diff ins,.word-diff ins{background:var(--success-bg);color:var(--success-ink);text-decoration:none;border-radius:3px;padding:0 1px}.comparison-word-diff del,.word-diff del{background:var(--danger-bg);color:var(--danger-ink);text-decoration:line-through;border-radius:3px;padding:0 1px}
[data-consultation-page] .card,[data-consultation-page] .page-heading,[data-consultation-page] .list-row,[data-consultation-page] .page-heading>div,[data-consultation-page] .list-row>div{min-width:0;overflow-wrap:anywhere}[data-consultation-page] button,[data-consultation-page] .button{white-space:normal;max-width:100%}[data-consultation-page] select{min-width:0;width:100%}@media(max-width:700px){[data-consultation-page] .page-heading,[data-consultation-page] .list-row{flex-direction:column;align-items:stretch}}
/* Design screen 33: ANAP source monitor (recorded facts only). */
.monitor-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.monitor-metrics .card small{display:block}.monitor-metrics strong.attention{color:#e5820a}
.monitor-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 360px;gap:20px;align-items:start;margin:20px 0 24px}.monitor-grid>*{min-width:0}
.monitor-panel{padding:0;overflow:hidden}.monitor-panel>h2{font-size:14px;margin:0;padding:14px 18px;border-bottom:1px solid var(--border)}.monitor-panel>p,.monitor-panel>dl,.monitor-panel>.notice{margin:12px 18px}
.monitor-row{display:flex;align-items:center;gap:12px;padding:12px 18px;border-bottom:1px solid var(--pale)}.monitor-row>div{flex:1;min-width:0}.monitor-row strong{font-size:12.5px;font-weight:500;color:var(--dark);overflow-wrap:anywhere}.monitor-row small{display:block;font-size:12px;color:var(--subtle);margin-top:2px;overflow-wrap:anywhere}
.badge.monitor-review{background:#fdecea;color:#b5312f}.badge.monitor-manual{background:#fff3e0;color:#b4660a}.badge.monitor-bytes,.badge.monitor-error{background:var(--pale);color:var(--muted)}.monitor-row .badge{white-space:nowrap;flex:none}
.monitor-facts{grid-template-columns:130px minmax(0,1fr);gap:10px;font-size:12.5px}.monitor-facts dt{color:var(--muted)}.monitor-facts dd{margin:0;overflow-wrap:anywhere}
.monitor-footnote,.monitor-steps{font-size:12px}.monitor-warning{background:#fff8ec;border-color:#f5d98b;color:#8b5e0a;font-size:12px}
@media(max-width:1200px){.monitor-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.monitor-impact{grid-column:1/-1}}
@media(max-width:900px){.monitor-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.monitor-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:420px){.monitor-metrics{grid-template-columns:minmax(0,1fr)}}
/* Design screen 17: requirements of the procedure (recorded checklist only). */
.package-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;background:var(--raised);margin-bottom:18px}.package-intro{min-width:0}.package-intro h2{font-size:18px;margin-bottom:6px}.package-intro p{font-size:13px;color:var(--muted)}
.package-progress{flex:none;background:white;border:1px solid var(--border);border-radius:9px;padding:10px 16px;text-align:center}.package-progress strong{display:block;font-size:20px;color:var(--primary)}.package-progress small{font-size:12px;color:var(--subtle)}
.package-list{padding:0;overflow:hidden}.package-list>h2{margin:0;padding:14px 18px;border-bottom:1px solid var(--border);font-size:14px}
.package-row{display:grid;grid-template-columns:26px minmax(0,1fr) auto auto minmax(0,auto);align-items:center;gap:12px;padding:12px 18px;border-bottom:1px solid var(--pale)}.package-name{min-width:0}.package-name strong{display:block;font-size:13px;color:var(--dark);overflow-wrap:anywhere}.package-name small{display:block;font-size:12px;color:var(--subtle);overflow-wrap:anywhere}.package-name .notice{margin:6px 0 0;font-size:12px}
.package-icon{width:26px;height:26px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:13px;background:var(--pale);color:var(--primary)}.package-icon-completed{background:#e4f4ec;color:#22a066}.package-icon-na{color:var(--subtle)}.package-icon-blocked,.package-icon-stale{background:#fdecea;color:#b5312f}
.package-row .badge{white-space:nowrap;border-radius:100px}.badge[class*="package-category-"]{background:transparent;color:var(--subtle);font-weight:500;padding:0}
.badge.package-status-completed{background:#e4f4ec;color:#22a066}.badge.package-status-na{background:var(--pale);color:var(--muted)}.badge.package-status-pending{background:transparent;color:var(--subtle);padding:0}.badge.package-status-blocked,.badge.package-status-stale{background:#fdecea;color:#b5312f}.badge.package-status-unresolved{background:#fff3e0;color:#b4660a}
.package-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end}.package-link{font-size:12px;font-weight:600;color:var(--primary);white-space:nowrap}
@media(max-width:800px){.package-head{flex-direction:column}.package-row{grid-template-columns:26px minmax(0,1fr)}.package-row>.badge,.package-actions{grid-column:2;justify-self:start}.package-actions{justify-content:flex-start}}

/* Design screen 13: people, roles and approval circuits. */
.members-table td{vertical-align:middle}.member-cell{display:flex;align-items:center;gap:10px;min-width:0}.member-cell strong{display:block;font-size:13px;overflow-wrap:break-word;word-break:normal}.member-cell small{display:block;color:var(--subtle);font-size:12px;overflow-wrap:anywhere}
.member-avatar{flex:none;width:32px;height:32px;border-radius:50%;background:var(--info-bg);color:var(--accent-ink);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}
.member-role{display:inline-block;background:var(--pale);color:#4b3e93;border-radius:5px;padding:2px 7px;font-size:12px;font-weight:700}.members-table td small{color:var(--subtle)}
.badge.member-state-active{background:#e4f4ec;color:#22a066}.badge.member-state-inactive{background:#fff3e0;color:#b4660a}.badge.member-state-revoked{background:var(--pale);color:var(--muted)}
.member-revoke{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:8px;align-items:end;font-size:12px}.member-revoke label{display:grid;gap:4px;min-width:0}.member-revoke select,.member-revoke input{min-width:0}
.members-route-links{display:flex;flex-wrap:wrap;gap:10px}
@media(max-width:1100px){.member-revoke{grid-template-columns:minmax(0,1fr)}}
.members-table td:first-child{min-width:230px}
@media(max-width:700px){.members-table thead{display:none}.members-table,.members-table tbody,.members-table tr,.members-table td{display:block;width:100%}.members-table tr{border-bottom:1px solid var(--line);padding:12px 0}.members-table td{border:0;padding:4px 0;min-width:0}.members-table td:first-child{min-width:0}.member-cell strong{overflow-wrap:anywhere}}
.member-revoke input[name="reason"],.member-revoke select{width:100%}
/* Design screen 32: invoices, expenses and observed payments with recorded ALOP phases. */
.financial-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:20px;align-items:start}.financial-grid>*{min-width:0}.financial-side{display:grid;gap:16px}.financial-side .notice,.financial-side>p{margin:0}
.financial-panel h2{font-size:14px}.financial-contract{display:grid;gap:6px;padding:8px 0;border-bottom:1px solid var(--pale)}.financial-contract>strong{font-size:12.5px}
.financial-phase{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:12.5px}.badge.financial-recorded{background:#e4f4ec;color:#22a066}.badge.financial-unrecorded{background:var(--pale);color:var(--muted)}
.financial-warning{background:#fff8ec;border-color:#f5d98b;color:#8b5e0a;font-size:12px}
@media(max-width:1100px){.financial-grid{grid-template-columns:minmax(0,1fr)}}
.financial-main{display:grid;gap:16px}.financial-main>.card{margin:0}
/* Design screen 30: contract / order project with its terms and preserved versions. */
.heading-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}
.order-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:20px;align-items:start}.order-grid>*{min-width:0}.order-main,.order-side{display:grid;gap:16px}.order-main>.card,.order-side>.card{margin:0}
.order-facts{grid-template-columns:200px minmax(0,1fr);gap:10px 16px;font-size:13px;margin:14px 0}.order-facts dd{overflow-wrap:anywhere}
@media(max-width:1100px){.order-grid{grid-template-columns:minmax(0,1fr)}}@media(max-width:700px){.order-facts{grid-template-columns:minmax(0,1fr)}.order-facts dd{margin-bottom:6px}.heading-actions{justify-content:flex-start}}
/* Design screen 31: deliveries and reception decisions (recorded only). */
.execution-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.execution-metrics .card small{display:block}.execution-metrics strong.attention{color:#e5820a}
.execution-basis-head{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin-bottom:12px}.execution-basis-head h2{margin:0}.execution-basis-head .button{margin-left:auto}
.execution-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;margin-top:16px}.execution-split>*{min-width:0}
.execution-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--pale)}.execution-row>div{flex:1;min-width:0}.execution-row strong{display:block;font-size:12.5px;overflow-wrap:anywhere}.execution-row small{display:block;font-size:12px;color:var(--subtle)}
.badge.execution-active{background:#e4f4ec;color:#22a066}.badge[class*="execution-"]:not(.execution-active){background:var(--pale);color:var(--muted)}
@media(max-width:900px){.execution-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.execution-split{grid-template-columns:minmax(0,1fr)}}@media(max-width:420px){.execution-metrics{grid-template-columns:minmax(0,1fr)}}
/* Design screen 26: preserved offer comparison (facts, never a ranking). */
.offercmp-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.offercmp-metrics .card small{display:block}.offercmp-metrics strong.attention{color:#e5820a}
.offercmp-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px;align-items:start}.offercmp-grid>*{min-width:0}.offercmp-side{display:grid;gap:16px}.offercmp-side>.card,.offercmp-main>.card{margin:0}
.offercmp-offers td small{display:block;color:var(--subtle);font-size:12px}.offercmp-offers .badge{display:inline-block;margin:2px 0;white-space:nowrap}.badge.offercmp-ok{background:#e4f4ec;color:#22a066}.badge.offercmp-gap{background:#fff3e0;color:#b4660a}.offercmp-signal{margin:0 0 2px;font-size:12px}
.offercmp-warning{background:#fff8ec;border-color:#f5d98b;color:#8b5e0a;font-size:12px}
@media(max-width:1200px){.offercmp-grid{grid-template-columns:minmax(0,1fr)}}@media(max-width:900px){.offercmp-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:420px){.offercmp-metrics{grid-template-columns:minmax(0,1fr)}}
.paap-steps{display:flex;flex-wrap:wrap;gap:6px;list-style:none;padding:0;margin:6px 0}.paap-steps li{font-size:12px;padding:3px 8px;border-radius:999px;border:1px solid var(--border);background:#fff}.paap-steps li[data-state="reached"]{background:var(--success-bg);border-color:var(--success-border)}.paap-steps li[data-state="unknown"]{background:var(--warning-bg);border-color:var(--warning-border)}
[data-tender-version]{min-width:0}[data-tender-files]{min-width:760px}[data-tender-files] code{white-space:nowrap}[data-tender-bidders],[data-tender-bidder-heading]>div{min-width:0;overflow-wrap:anywhere}
.pubcheck-page{overflow-wrap:anywhere;min-width:0}.pubcheck-page .list-row{flex-wrap:wrap}.pubcheck-page code{word-break:break-all}
[data-project-workspace],[data-workspace-agreement-page],[data-workspace-case-page]{min-width:0;overflow-wrap:anywhere}[data-project-workspace] .list-row,[data-workspace-case-page] .list-row{flex-wrap:wrap}[data-project-workspace] .list-row>div,[data-workspace-case-page] .list-row>div{min-width:0;flex:1 1 100%}[data-project-workspace] button,[data-project-workspace] .button,[data-workspace-case-page] button,[data-workspace-case-page] .button,[data-workspace-agreement-page] button,[data-workspace-agreement-page] .button{white-space:normal;max-width:100%}[data-project-workspace] select,[data-workspace-case-page] select,[data-workspace-agreement-page] select,[data-workspace-agreement-page] input{max-width:100%;min-width:0}@media(max-width:700px){[data-project-workspace] .page-heading,[data-workspace-case-page] .page-heading,[data-workspace-agreement-page] .page-heading{flex-direction:column;align-items:stretch}}
.form-assist{border-top:1px dashed var(--border);margin-top:12px;padding-top:12px}.form-assist-actions{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 12px}.form-assist-actions button{padding:5px 9px;font-size:12px;white-space:normal}[data-form-assist-text]{white-space:pre-wrap;font:inherit}
.procpkg-row{flex-wrap:wrap}.procpkg-row>div{min-width:0;overflow-wrap:anywhere}

/* M25.05: exact source digests must remain readable in narrow copy views. */
[data-governed-copy-detail] .page-heading>div{min-width:0}
[data-governed-provenance]{overflow-wrap:anywhere}

/* M26.03: long private originals must wrap under the existing strict CSP. */
.privacy-fact{overflow-wrap:anywhere;white-space:pre-wrap}
.privacy-original{min-width:0;max-width:100%;overflow-wrap:anywhere}

[data-historical-paap]{min-width:0;overflow-wrap:anywhere}[data-historical-paap]>.card{margin:20px 0}[data-historical-paap] .page-heading{flex-wrap:wrap}[data-historical-paap] .page-heading>div{min-width:0}[data-historical-paap] form p>label{display:block;font-weight:600;margin-bottom:5px}[data-historical-paap] input:not([type=hidden]):not([type=checkbox]),[data-historical-paap] textarea,[data-historical-paap] select{max-width:760px;width:100%}[data-historical-paap] button,[data-historical-paap] .button{white-space:normal;max-width:100%}

[data-historical-paap] [data-historical-rows]{min-width:900px;overflow-wrap:normal}
.assistant-provenance{display:block;overflow-wrap:anywhere}

/* Design status palette (33-screen reference): one semantic set for chips and notices; legacy category names alias it. */
.badge.success,.badge.contractual,.badge.member-state-active,.badge.email-verified,.badge.package-status-completed{background:var(--success-bg);color:var(--success-ink)}
.badge.warning,.badge.attention,.badge.member-state-inactive,.badge.package-status-unresolved{background:var(--warning-bg);color:var(--warning-ink)}
.badge.danger,.badge.legal,.badge.package-status-blocked,.badge.package-status-stale{background:var(--danger-bg);color:var(--danger-ink)}
.badge.info,.badge.procedural{background:var(--info-bg);color:var(--accent-ink)}
.badge.internal{background:var(--pale);color:var(--muted)}
.calendar-task.legal{border-color:var(--danger)}.calendar-task.contractual{border-color:var(--success)}.calendar-task.procedural{border-color:var(--accent)}
.notice.success{background:var(--success-bg);color:var(--success-ink);border:1px solid var(--success-border)}
.notice.warning{background:var(--warning-surface);color:var(--warning-ink);border:1px solid var(--warning-border)}
.notice.error,.notice.danger{background:var(--danger-bg);color:var(--danger-ink);border:1px solid var(--danger-border)}

.notice.error a:not(.button),.notice.danger a:not(.button){color:var(--danger-ink);text-decoration:underline}.notice.warning a:not(.button){color:var(--warning-ink);text-decoration:underline}

/* Screen rules that must follow the scoped layers. */
.approval-workspace{background:var(--surface);border-radius:var(--radius-card)}
.approval-queue{background:var(--raised)}
.approval-queue-item{background:var(--surface);transition:background-color var(--fast),border-color var(--fast)}
.approval-queue-item:hover{border-color:var(--control);background:var(--raised)}
.approval-queue-item.selected{border-color:var(--brand);background:var(--info-bg)}
.approval-queue-item strong{font-size:14px;font-weight:500}
.approval-facts{background:var(--raised)}
.need-preview{background:var(--pale);border-color:var(--border)}
.need-preview-heading h2{font-size:13px;font-weight:500;letter-spacing:0;text-transform:none}
.need-preview-paper{box-shadow:none;border:1px solid var(--border)}
.need-draft-actions{background:var(--ground)}
.required-marker{color:var(--danger-ink)}

/* Dashboard: the queue first, the register beside it. */
.dashboard-lede{margin:0;color:var(--muted)}
.dashboard-lede strong{font-weight:500;color:var(--text)}
.dashboard-lede.attention strong{color:var(--danger-ink)}
.card.section[data-dashboard-management]{margin:0 0 var(--gap)}
.dashboard-status{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap);margin-bottom:var(--gap)}
.dashboard-signal{display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:8px;padding:14px var(--card-pad) 16px;font-size:13px;line-height:18px;color:var(--muted);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card)}
a.dashboard-signal:hover{background:var(--raised);text-decoration:none}
.dashboard-signal strong{grid-column:1/-1;margin-top:6px;font-size:var(--fs-kpi);line-height:32px;font-weight:500;letter-spacing:-.02em;color:var(--text);font-variant-numeric:tabular-nums}
.dashboard-signal.attention{color:#8c2420;background:var(--danger-bg);border-color:var(--danger-border)}
.dashboard-signal.attention strong{color:var(--danger-ink)}
.dashboard-signal.stamp{color:#1c3e78;background:var(--info-bg);border-color:var(--info-border)}
.dashboard-signal.stamp strong{color:var(--brand)}
.dashboard-signal strong.zero{color:var(--muted)}
.dashboard-signal:has(strong.zero) .tile{color:#8a93a5}
.metrics.dashboard-counts>.card{display:grid;grid-template-columns:auto 1fr;column-gap:8px;align-items:center;padding:12px var(--card-pad) 14px}
.metrics.dashboard-counts strong{grid-column:1/-1;margin:4px 0 0;font-size:20px;line-height:26px}
.metrics.dashboard-counts small{grid-column:1/-1}
.dashboard-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:var(--gap);align-items:start;margin-bottom:var(--gap)}
.dashboard-main,.dashboard-side{display:grid;gap:var(--gap);min-width:0}
.dashboard-main>.card+.card,.dashboard-side>.card+.card{margin-top:0}
.card.dashboard-register,.card.dashboard-recent-needs{padding:0;overflow:hidden}
.dashboard-recent-needs>a.list-row{margin:0;padding-left:var(--card-pad);padding-right:var(--card-pad);border-radius:0}
.dashboard-recent-needs>.muted{margin:0 var(--card-pad) 16px}
.dashboard-card-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:20px var(--card-pad) 8px}
.dashboard-card-heading h2{margin:0}
.dashboard-card-heading>a{font-size:13px;white-space:nowrap;color:var(--brand)}
.dashboard-card-heading>a:hover{color:var(--brand-hover)}
.dashboard-register th:first-child,.dashboard-register td:first-child{padding-left:var(--card-pad)}
.dashboard-register th:last-child,.dashboard-register td:last-child{padding-right:var(--card-pad)}
.dashboard-register .empty{margin:0 var(--card-pad) var(--card-pad)}
.dashboard-personal>h2,.dashboard-decisions>h2,.dashboard-documents>h2{margin-bottom:4px}
.card-more{display:inline-block;margin-top:10px;font-size:13px;color:var(--muted)}
.card-more:hover{color:var(--text)}

/* The case file's contents, in the order the procedure runs. Every link stays visible and in place. */
.case-assist{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:var(--gap)}
.case-map{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:var(--gap);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);overflow:hidden}
.case-map-stage{padding:14px 12px 12px;border-left:1px solid var(--border);border-top:1px solid var(--border);margin:-1px 0 0 -1px;min-width:0}
.case-map-stage h2{display:flex;align-items:center;gap:7px;margin:0 0 6px;padding:0 6px;font-size:13px;line-height:18px;font-weight:500;color:var(--text)}
.case-map-stage h2::before{content:"";flex:none;width:6px;height:6px;background:var(--tone);border-radius:50%}
.case-map-stage a{display:block;margin:0 0 1px;padding:4px 6px;font-size:13px;line-height:18px;color:var(--text);border-radius:var(--radius-chip);transition:background-color 100ms ease}
.case-map-stage a:hover{background:var(--hover);text-decoration:none}
.case-map-stage.current{background:color-mix(in srgb,var(--tone) 7%,#fff)}
.case-map-stage.current h2{color:var(--tone)}
.case-workspace-nav{display:flex;flex-wrap:wrap;gap:4px 20px;margin:0 0 var(--gap);padding:0 2px;font-size:13px}
.case-workspace-nav a{color:var(--muted)}
.case-workspace-nav a:hover{color:var(--text)}
.document-register-table th{white-space:nowrap}
.document-register-table td:nth-child(n+2):not(:nth-child(4)){white-space:nowrap}
.document-register-table th:first-child,.document-register-table td:first-child{padding-left:16px}
.document-register-filter span{min-width:0}
.document-register-filter strong{flex:none;font-variant-numeric:tabular-nums}
.document-register-table th:last-child,.document-register-table td:last-child{padding-right:16px}
.document-register-layout .card+.card{margin-top:0}
.filters label{margin:0}

/* "Explică cu AI" waits on the label line until the field is in use. */
.form-assist-actions button.ghost{min-height:20px;padding:0 4px;font-size:12px;line-height:18px;font-weight:400;color:var(--muted)}
.form-assist-actions button.ghost:hover{color:var(--text)}
.field{position:relative}
.field>.form-assist-actions{position:absolute;top:-1px;right:0;margin:0;opacity:0;transition:opacity var(--fast)}
.field:hover>.form-assist-actions,.field:focus-within>.form-assist-actions{opacity:1}
.field:has(>.form-assist-actions)>label{padding-right:92px}
@media(hover:none){.field>.form-assist-actions{opacity:1}}

/* Filters fold behind one row on list screens. */
.filter-toolbar{display:grid;grid-template-columns:minmax(0,1fr) 200px auto auto;align-items:end;gap:8px;margin-bottom:8px}
.filter-toolbar .field{margin:0}
.filter-toolbar select,.filter-toolbar input{width:100%;height:var(--control-height)}
.filter-fold{margin-bottom:16px}
.filter-fold>summary{display:inline-flex;align-items:center;gap:4px;min-height:28px;padding:0 8px 0 4px;font-size:13px;color:var(--muted);list-style:none;border-radius:var(--radius-control);transition:background-color var(--fast),color var(--fast)}
.filter-fold>summary::-webkit-details-marker{display:none}
.filter-fold>summary:hover{background:var(--hover);color:var(--text)}
.filter-fold>summary .i{width:14px;height:14px;transition:transform var(--medium) var(--ease)}
.filter-fold[open]>summary .i{transform:rotate(90deg)}
.filter-fold>div{padding-top:12px}
.filter-fold .form-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
.filter-fold p{margin:12px 0 0}
.list-count{margin:0 0 4px;font-size:13px;color:var(--muted)}

/* Motion. Feedback and continuity only: short, no overshoot, nothing arrives on stage. The access panel's quiet loop is the one authored moment. */
@keyframes rise{from{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:none}}
@keyframes notice-in{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
@keyframes vt-fade{to{opacity:0}}
@keyframes vt-arrive{from{opacity:0;transform:translateY(6px)}}
::view-transition{pointer-events:none}
::view-transition-group(root){animation:none}
/* The shell is never snapshotted away: only the live new page shows, so the sidebar stays still while the highlight moves. */
::view-transition-old(root){display:none}
::view-transition-new(root){animation:none;mix-blend-mode:normal}
::view-transition-group(page){animation:none}
::view-transition-image-pair(page){isolation:auto}
::view-transition-old(page){animation:110ms ease-out both vt-fade}
::view-transition-new(page){animation:200ms cubic-bezier(.22,.8,.24,1) 30ms both vt-arrive}
/* Across a page load the highlight keeps travelling from wherever it was, on the compositor. */
::view-transition-group(nav-pill){animation-duration:240ms;animation-timing-function:cubic-bezier(.22,.8,.24,1)}
::view-transition-old(nav-pill){display:none}
::view-transition-new(nav-pill){animation:none}
/* Motion that needs its end state to be reached runs only where it can finish, and content is visible by default. */
@media (scripting:enabled) and (max-width:700px){
 .site-navigation[open]::before{animation:sheet-fade 180ms ease both}
 .site-navigation[open]>nav{animation:sheet-up 220ms cubic-bezier(.22,.8,.24,1) both}
}
@media (scripting:enabled){
 main#page>.notice{animation:notice-in 180ms ease-out backwards}
}
@media (scripting:enabled) and (prefers-reduced-motion:no-preference){
 /* The access panel: a dossier moves through the procedure under the sidebar's own highlight. */
 .auth-track i{animation:pill-step 16s var(--ease) 1s infinite}
 .auth-step:nth-of-type(n+2){animation:step-lit-2 16s linear 1s infinite}
 .auth-step:nth-of-type(3){animation-name:step-lit-3}.auth-step:nth-of-type(4){animation-name:step-lit-4}.auth-step:nth-of-type(5){animation-name:step-lit-5}.auth-step:nth-of-type(6){animation-name:step-lit-6}
 .auth-status .s1{animation:status-1 16s linear 1s infinite}.auth-status .s2{animation:status-2 16s linear 1s infinite}.auth-status .s3{animation:status-3 16s linear 1s infinite}
 .auth-rows .done{animation:check-in 16s linear 1s infinite}
 .auth-rows li:nth-child(4) .done{animation-name:check-in-2}.auth-rows li:nth-child(5) .done{animation-name:check-in-3}
 .auth-seal{animation:stamp-land 16s linear 1s infinite}
}
@keyframes sheet-up{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes sheet-fade{from{opacity:0}to{opacity:1}}
/* One 16 s cycle: the highlight walks the steps 6-40%, checks 34-52%, the stamp settles at 58%, rests, resets at 96%. */
@keyframes pill-step{0%,8%{opacity:1;transform:none}11%,15%{transform:translateX(100%)}18%,22%{transform:translateX(200%)}25%,29%{transform:translateX(300%)}32%,36%{transform:translateX(400%)}39%,95%{opacity:1;transform:translateX(500%)}98%{opacity:0;transform:translateX(500%)}98.01%{opacity:0;transform:none}100%{opacity:1;transform:none}}
@keyframes step-lit-2{0%,9%{opacity:.5}11%,95%{opacity:1}100%{opacity:.5}}
@keyframes step-lit-3{0%,16%{opacity:.5}18%,95%{opacity:1}100%{opacity:.5}}
@keyframes step-lit-4{0%,23%{opacity:.5}25%,95%{opacity:1}100%{opacity:.5}}
@keyframes step-lit-5{0%,30%{opacity:.5}32%,95%{opacity:1}100%{opacity:.5}}
@keyframes step-lit-6{0%,37%{opacity:.5}39%,95%{opacity:1}100%{opacity:.5}}
@keyframes status-1{0%,22%{opacity:1}24%,100%{opacity:0}}
@keyframes status-2{0%,22%{opacity:0}24%,56%{opacity:1}58%,100%{opacity:0}}
@keyframes status-3{0%,56%{opacity:0}58%,95%{opacity:1}100%{opacity:0}}
@keyframes check-in{0%,32%{opacity:0}34%,95%{opacity:1}100%{opacity:0}}
@keyframes check-in-2{0%,40%{opacity:0}42%,95%{opacity:1}100%{opacity:0}}
@keyframes check-in-3{0%,48%{opacity:0}50%,95%{opacity:1}100%{opacity:0}}
@keyframes stamp-land{0%,55%{opacity:0;transform:scale(1.05)}58%,95%{opacity:1;transform:none}100%{opacity:0;transform:none}}
details>*:not(summary){animation:none}
.nav-group::details-content,.filter-fold::details-content,.card details::details-content{overflow:clip;block-size:0;transition:block-size 200ms var(--ease),content-visibility 200ms allow-discrete}
.nav-group[open]::details-content,.filter-fold[open]::details-content,.card details[open]::details-content{block-size:auto}
:root{interpolate-size:allow-keywords}
main#page.htmx-request,main#page:has(>.htmx-request){transition:opacity var(--medium) ease 120ms;opacity:.6}
.htmx-swapping{opacity:0;transition:opacity 90ms ease}
@media(prefers-reduced-motion:reduce){
 *,*::before,*::after,::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){scroll-behavior:auto;animation-duration:.01ms!important;animation-delay:0ms!important;transition-duration:0s!important;transition-delay:0s!important}
 button:active,.button:active{transform:none}
}

/* Medium widths */
@media(max-width:1100px){
 :root{--sidebar-width:232px}
 main#page{padding:24px 24px 56px}
 .two-columns{grid-template-columns:minmax(0,1fr) 280px}
 .editor-layout{grid-template-columns:minmax(0,1fr)}
 .editor-layout>aside{position:static;max-height:none;overflow:visible}
}
/* The access panel needs real width; narrower screens lead with the promise and go straight to the form. */
@media(max-width:1000px){
 .auth-shell{display:block}
 .auth-brand-panel{position:relative;top:auto;height:auto;min-height:0;padding:10px 8px 22px}
 .auth-statement{margin:18px 0 0;padding:0 8px;font-size:clamp(24px,6.6vw,30px)}
 .auth-demo,.auth-foot{display:none}
 .auth-shell .auth-card{width:calc(100% - 32px);max-width:440px;margin:16px auto 32px;padding:22px 20px}
}
@media(max-width:900px){.two-columns,.dashboard-layout{grid-template-columns:minmax(0,1fr)}.two-columns>.card+.card{margin-top:0}}

/* Phone: the sidebar folds into a bar and a sheet. */
@media(max-width:700px){
 .topbar{position:sticky;display:flex;align-items:center;gap:8px;width:auto;height:52px;padding:0 56px 0 14px;background:var(--side)}
 .brand{flex:none;margin:0;padding:0}.brand span{display:none}
 .institution-context,.institution-context:hover{flex:1;padding:0;background:none;border:0}
 .institution-context strong{font-size:13px;line-height:16px}
 .institution-context small,.institution-switch{display:none}
 .context-roles{line-height:14px}
 .topbar-right{position:static;width:auto;padding:0;background:none;border:0;flex:none}
 .avatar{display:none}
 .topbar-right>span{display:none}
 .sidebar{position:static;display:block;width:auto;padding:0;background:none}
 .sidebar-footer{display:none}
 .site-navigation{overflow:visible;padding:0}
 .site-navigation>summary{position:fixed;z-index:40;top:6px;right:8px;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;font-size:0;color:#fff;border-radius:var(--radius-control);cursor:pointer;transition:background-color var(--fast),transform var(--medium) var(--ease)}
 .site-navigation>summary:active{transform:scale(.94)}
 .site-navigation>summary:hover{background:var(--side-hover)}
 .site-navigation:not([open])>nav,.site-navigation:not([open])>.command-trigger{display:none}
 .site-navigation[open]::before{content:"";position:fixed;z-index:24;inset:52px 0 0;background:#10121626}
 .site-navigation[open]>nav,.site-navigation[open]>.command-trigger{position:fixed;z-index:25;left:0;right:0;background:var(--side)}
 .site-navigation[open]>.command-trigger{display:none}
 .site-navigation[open]>nav{top:52px;bottom:0;display:block;padding:8px 14px 32px;overflow-y:auto;border-radius:0}
 .nav-group-links a,.nav-fold>summary{min-height:44px;font-size:15px}
 .nav-pill{left:14px;right:14px}
 .nav-fold .nav-group-links a{min-height:40px;font-size:14px}
 .workspace{margin:0}
 main#page{padding:18px 16px 40px}
 h1{font-size:23px;line-height:29px}
 .page-heading{flex-wrap:wrap;gap:12px;margin-bottom:16px}
 .page-heading .button{white-space:normal;max-width:100%}
 .metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .metrics>.card{padding:12px 14px 14px}
 .metrics>.card:last-child:nth-child(odd){grid-column:1/-1}
 .dashboard-status{grid-template-columns:minmax(0,1fr)}
 .dashboard-status{gap:10px}
 .dashboard-signal{padding:10px 14px}
 .dashboard-signal strong{font-size:22px;line-height:28px}
 .card{padding:16px}
 .card.dashboard-register,.card.dashboard-recent-needs{padding:0}
 .dashboard-recent-needs>a.list-row{padding-left:16px;padding-right:16px}
 .dashboard-register th:nth-child(2),.dashboard-register td:nth-child(2){display:none}
 .filter-toolbar{grid-template-columns:minmax(0,1fr) auto}
 .filter-toolbar .filter-search{grid-column:1/-1}
 .filter-toolbar .field:not(.filter-search){grid-column:1/-1}
 .form-grid,.line-fields{grid-template-columns:minmax(0,1fr)}
 button,.button{min-height:40px;white-space:normal}
 input,select,textarea{min-height:40px;font-size:16px}
 .small,button.small,.button.small{min-height:32px}
 .icon-button{width:36px;min-height:36px}
 .dashboard-register th:first-child,.dashboard-register td:first-child{padding-left:16px}
 .dashboard-card-heading{padding:12px 16px 8px}
}
.metrics span.tile{color:var(--tone)}
