:root {
    --signal-red: #FF3B30;
    --signal-orange: #FF6A2A;
    --graphite: #3C4650;
    --ink: #1F252B;
    --data-teal: #0A7F86;
    --cloud: #F5F7F8;
    --paper: #FFFFFF;
    --edge: #D9DEE2;
    --muted: #68737E;
    --danger: #A3261E;
    --success: #176B3A;
    --warning: #8A5A00;
    --shadow: 0 10px 28px rgba(31, 37, 43, .06);
    --radius: 12px;
    --radius-large: 20px;
    --focus: 0 0 0 3px rgba(10, 127, 134, .18);
}

* { box-sizing: border-box; }
html { background: var(--cloud); color: var(--ink); font-family: "Golos Text", Arial, sans-serif; line-height: 1.5; }
body { margin: 0; min-width: 320px; }
a { color: var(--data-teal); text-underline-offset: 3px; }
a:hover { text-decoration-thickness: 2px; }
button, input, select, textarea { font: inherit; }
button, a, input, select, textarea { outline-offset: 2px; }
:focus-visible { outline: 2px solid var(--data-teal); box-shadow: var(--focus); }

.signal-line { height: 4px; background: linear-gradient(90deg, var(--signal-red), var(--signal-orange)); }
.app-header {
    min-height: 72px;
    display: grid;
    grid-template-columns: minmax(190px, 1fr) auto minmax(230px, 1fr);
    align-items: center;
    gap: 24px;
    padding: 12px clamp(18px, 3vw, 48px);
    background: var(--paper);
    border-bottom: 1px solid var(--edge);
    position: sticky;
    top: 0;
    z-index: 20;
}
.brand-text { display: inline-flex; flex-direction: column; gap: 1px; width: fit-content; color: var(--ink); text-decoration: none; }
.brand-text strong { color: var(--graphite); font-size: 18px; letter-spacing: -.02em; }
.brand-text span { color: var(--muted); font-size: 12px; }
.header-navigation { justify-self: center; }
.main-nav { display: flex; gap: 6px; }
.nav-link { color: var(--muted); text-decoration: none; padding: 9px 12px; border-radius: 8px; font-weight: 600; font-size: 14px; }
.nav-link:hover { background: var(--cloud); color: var(--ink); }
.nav-link.is-active { color: var(--ink); background: #edf3f3; }
.user-area { justify-self: end; display: flex; align-items: center; gap: 12px; }
.user-meta { text-align: right; display: flex; flex-direction: column; line-height: 1.25; }
.user-meta strong { font-size: 13px; }
.user-meta span { color: var(--muted); font-size: 12px; }
.demo-banner { padding: 8px 20px; text-align: center; background: #fff7e8; color: #76510e; border-bottom: 1px solid #efd9ae; font-size: 13px; }

.page-shell { max-width: 1360px; margin: 0 auto; padding: 36px clamp(16px, 3vw, 42px) 80px; }
.page-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; margin: 0 0 24px; }
h1, h2, h3 { color: var(--graphite); margin-top: 0; letter-spacing: -.025em; }
h1 { font-size: clamp(30px, 4vw, 46px); line-height: 1.08; margin-bottom: 10px; }
h2 { font-size: 23px; line-height: 1.2; margin-bottom: 14px; }
h3 { font-size: 18px; }
.eyebrow { color: var(--data-teal); font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .09em; margin-bottom: 7px; }
.lead { margin: 0; color: var(--muted); font-size: 17px; max-width: 780px; }
.muted { color: var(--muted); }
.mono { font-family: "IBM Plex Mono", Consolas, monospace; font-size: .9em; }
.break-word { overflow-wrap: anywhere; }
.hash { max-width: 260px; overflow-wrap: anywhere; }

.panel { background: var(--paper); border: 1px solid var(--edge); border-radius: var(--radius); padding: 22px; box-shadow: var(--shadow); margin: 0 0 22px; }
.section-stack > *:last-child { margin-bottom: 0; }
.section-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 14px; }
.section-heading h2 { margin-bottom: 0; }

.button { border: 1px solid transparent; border-radius: 10px; min-height: 42px; padding: 10px 16px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; font-weight: 750; font-size: 14px; cursor: pointer; text-decoration: none; transition: background .15s ease, border-color .15s ease, transform .15s ease; }
.button:hover { transform: translateY(-1px); }
.button-primary { background: var(--graphite); color: var(--paper); border-color: var(--graphite); }
.button-primary:hover { background: var(--ink); border-color: var(--ink); }
.button-secondary { background: var(--paper); color: var(--ink); border-color: #bfc7cd; }
.button-secondary:hover { background: var(--cloud); }
.button-ghost { background: transparent; color: var(--muted); border-color: transparent; }
.button-ghost:hover { color: var(--ink); background: var(--cloud); }
.button-wide { width: 100%; }

.field { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.field > span { font-size: 13px; color: var(--graphite); font-weight: 700; }
.field-grow { flex: 1 1 320px; }
.field-wide { grid-column: 1 / -1; }
input, select, textarea { width: 100%; border: 1px solid #bdc6cc; border-radius: 8px; background: var(--paper); color: var(--ink); padding: 10px 11px; min-height: 42px; }
textarea { resize: vertical; min-height: 74px; }
input:hover, select:hover, textarea:hover { border-color: #98a5ad; }
input:disabled, select:disabled, textarea:disabled { background: #eef1f2; color: var(--muted); }

.flash-stack { display: grid; gap: 10px; margin-bottom: 16px; }
.flash-stack:empty { display: none; }
.alert { border: 1px solid; border-radius: 10px; padding: 13px 15px; }
.alert-success { background: #f2fbf6; border-color: #b9dfc8; color: #194d2d; }
.alert-error { background: #fff4f3; border-color: #efb8b4; color: #74231e; }
.alert-warning { background: #fff8ea; border-color: #ead39c; color: #684813; }
.alert-info { background: #f2f8f9; border-color: #b9dadd; color: #254c50; }

.filter-panel { padding: 16px; }
.filter-grid { display: grid; grid-template-columns: minmax(240px, 1fr) 180px 180px auto; align-items: end; gap: 12px; }
.filter-submit { white-space: nowrap; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 17px; }
.form-actions { display: flex; gap: 10px; justify-content: flex-end; margin-top: 24px; flex-wrap: wrap; }
.inline-form { display: flex; align-items: end; gap: 12px; flex-wrap: wrap; }
.document-form { max-width: 980px; }

.table-panel { padding: 0; overflow: hidden; }
.table-scroll { width: 100%; overflow-x: auto; }
.data-table { width: 100%; border-collapse: collapse; min-width: 760px; }
.data-table th { text-align: left; color: var(--muted); font-size: 12px; text-transform: uppercase; letter-spacing: .05em; background: #fafbfb; }
.data-table th, .data-table td { border-bottom: 1px solid #e8ecef; padding: 13px 14px; vertical-align: top; }
.data-table tbody tr:last-child td { border-bottom: 0; }
.data-table tbody tr:hover { background: #fbfcfc; }
.document-link { color: var(--ink); font-weight: 700; }
.registry-table td:nth-child(4) { min-width: 300px; }
.empty-state { background: var(--paper); border: 1px dashed #bfc7cd; border-radius: var(--radius); padding: 42px 24px; text-align: center; color: var(--muted); }
.empty-state strong { display: block; color: var(--graphite); font-size: 20px; margin-bottom: 4px; }
.empty-state p { margin: 0; }

.status, .sync-state, .decision { display: inline-flex; align-items: center; width: fit-content; border-radius: 999px; padding: 5px 9px; font-size: 12px; font-weight: 800; white-space: nowrap; }
.status-draft { color: #555f67; background: #eef1f2; }
.status-review { color: #72500c; background: #fff4d8; }
.status-approved { color: #0b5960; background: #e5f5f6; }
.status-registered { color: #1f5735; background: #e7f5ec; }
.status-executed { color: #334f70; background: #e8f0f8; }
.status-archived { color: #5c526b; background: #eeeaf3; }

.document-heading { align-items: center; }
.heading-meta { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; color: var(--muted); font-size: 13px; }
.heading-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.document-layout { display: grid; grid-template-columns: minmax(0, 2fr) minmax(300px, .8fr); gap: 22px; }
.detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; margin: 0; }
.detail-grid > div { padding: 12px 0; border-bottom: 1px solid #edf0f1; }
.detail-grid > div:nth-child(odd) { padding-right: 18px; }
.detail-grid dt { color: var(--muted); font-size: 12px; margin-bottom: 3px; }
.detail-grid dd { margin: 0; color: var(--ink); }
.workflow-panel { align-self: start; position: sticky; top: 98px; }
.workflow-stack, .workflow-form { display: grid; gap: 10px; }
.workflow-form { padding-top: 12px; border-top: 1px solid #edf0f1; }
.workflow-form:first-child { border-top: 0; padding-top: 0; }
.two-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.timeline { display: grid; }
.timeline-item { display: grid; grid-template-columns: 18px 1fr; gap: 10px; padding: 10px 0; }
.timeline-marker { width: 9px; height: 9px; border-radius: 50%; background: var(--data-teal); margin: 6px 0 0 3px; box-shadow: 0 0 0 4px #e5f2f3; }
.timeline-item strong { margin-right: 6px; }
.timeline-item p, .decision-card p { color: var(--muted); margin: 4px 0 0; font-size: 13px; }
.decision-list { display: grid; gap: 10px; }
.decision-card { border: 1px solid #e6eaec; border-radius: 10px; padding: 12px; }
.decision-approved { background: #e7f5ec; color: #1f5735; }
.decision-returned { background: #fff2ef; color: #7d2e26; }
.decision-card small { color: var(--muted); }
.link-list { display: grid; gap: 8px; }
.link-card { display: grid; grid-template-columns: 200px minmax(0, 1fr) auto; align-items: center; gap: 16px; border-top: 1px solid #edf0f1; padding: 12px 0; }
.link-card:first-child { border-top: 0; }
.link-card > div { display: flex; flex-direction: column; }
.link-card small { color: var(--muted); }

.metric-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 16px 0; }
.metric-grid-five { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.metric-grid > div { background: var(--cloud); border-radius: 10px; padding: 12px; }
.metric-grid strong { display: block; font-size: 25px; color: var(--graphite); }
.metric-grid span { color: var(--muted); font-size: 12px; }
.sync-state-create { background: #e7f5ec; color: #1f5735; }
.sync-state-update { background: #e5f5f6; color: #0b5960; }
.sync-state-unchanged { background: #eef1f2; color: #555f67; }
.sync-state-conflict { background: #fff4d8; color: #72500c; }
.sync-state-error { background: #fff2ef; color: #7d2e26; }
.error-list { color: var(--danger); }

.auth-shell { min-height: calc(100vh - 150px); display: grid; place-items: center; padding: 40px 0; }
.auth-card { width: min(100%, 440px); background: var(--paper); border: 1px solid var(--edge); border-radius: var(--radius-large); box-shadow: var(--shadow); padding: clamp(24px, 5vw, 42px); }
.auth-card h1 { font-size: 34px; }
.stack-form { display: grid; gap: 15px; margin-top: 24px; }
.legal-note { color: var(--muted); font-size: 12px; margin: 18px 0 0; padding-top: 16px; border-top: 1px solid #edf0f1; }

@media (max-width: 1050px) {
    .app-header { grid-template-columns: 1fr auto; }
    .header-navigation { grid-row: 2; grid-column: 1 / -1; justify-self: start; }
    .filter-grid { grid-template-columns: 1fr 1fr; }
    .filter-grid .field-grow { grid-column: 1 / -1; }
    .document-layout { grid-template-columns: 1fr; }
    .workflow-panel { position: static; }
    .metric-grid-five { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
    .app-header { position: static; grid-template-columns: 1fr auto; gap: 10px; padding: 12px 16px; }
    .header-navigation { overflow-x: auto; max-width: 100%; }
    .user-meta { display: none; }
    .page-shell { padding: 24px 14px 56px; }
    .page-heading { flex-direction: column; }
    .heading-actions { width: 100%; }
    .heading-actions .button { flex: 1; }
    .filter-grid, .form-grid, .detail-grid, .two-columns { grid-template-columns: 1fr; }
    .field-wide { grid-column: auto; }
    .detail-grid > div:nth-child(odd) { padding-right: 0; }
    .metric-grid, .metric-grid-five { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .link-card { grid-template-columns: 1fr; gap: 4px; }

    .registry-table { min-width: 0; }
    .registry-table thead { display: none; }
    .registry-table, .registry-table tbody, .registry-table tr, .registry-table td { display: block; width: 100%; }
    .registry-table tr { border-bottom: 1px solid var(--edge); padding: 10px 0; }
    .registry-table tr:last-child { border-bottom: 0; }
    .registry-table td { border: 0; display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 10px; padding: 6px 14px; }
    .registry-table td::before { content: attr(data-label); color: var(--muted); font-size: 12px; }
    .registry-table td:nth-child(4) { min-width: 0; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; }
}

/* 0.3.0 — administration, directories, extended filters */
.settings-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.settings-card { display: flex; min-height: 170px; flex-direction: column; justify-content: space-between; gap: 18px; color: var(--ink); text-decoration: none; }
.settings-card h2 { margin-bottom: 8px; }
.settings-card p { color: var(--muted); margin: 0; }
.settings-card .card-link { color: var(--data-teal); font-weight: 800; }
.admin-list { display: grid; gap: 14px; }
.admin-card { border: 1px solid var(--edge); border-radius: var(--radius); padding: 18px; background: var(--paper); }
.admin-card + .admin-card { margin-top: 0; }
.check-field { display: flex; align-items: center; gap: 9px; min-height: 42px; font-weight: 700; }
.check-field input[type="checkbox"] { width: 18px; height: 18px; accent-color: var(--data-teal); }
.field select[multiple] { min-height: 160px; padding: 7px; }
.field select[multiple] option { padding: 7px 8px; border-radius: 5px; }
.filter-actions { display: flex; align-items: end; gap: 8px; flex-wrap: wrap; }
.table-subtext { display: block; margin-top: 3px; color: var(--muted); font-size: 12px; }
.token-list { font-family: var(--mono); color: var(--muted); word-break: break-word; }
.reference-note { border-left: 3px solid var(--data-teal); padding: 10px 14px; background: #f3f9fa; color: var(--muted); }

@media (max-width: 960px) {
    .settings-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
    .settings-grid { grid-template-columns: 1fr; }
    .filter-actions .button { flex: 1; }
}

/* 0.4.0 — оргструктура и быстрые справочники */
.field-label-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px}.field-label-row>span{font-weight:600}.button-small{padding:6px 10px;font-size:13px}.quick-dialog{width:min(760px,calc(100vw - 32px));border:1px solid var(--edge,#d9dee2);border-radius:16px;padding:0;background:#fff;color:inherit;box-shadow:0 24px 80px rgba(31,37,43,.22)}.quick-dialog::backdrop{background:rgba(31,37,43,.45)}.quick-dialog-shell{padding:22px}.quick-dialog-error{min-height:22px;color:#a3261e;margin-top:10px}.permission-fieldset{border:1px solid var(--edge,#d9dee2);border-radius:12px;padding:14px}.permission-fieldset legend{font-weight:700;padding:0 6px}.permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px}.permission-grid .check-field{align-items:flex-start}.permission-grid small{display:block;color:var(--muted,#68737e);margin-top:2px}.inline-form{display:inline}.muted{color:var(--muted,#68737e)}
@media(max-width:720px){.permission-grid{grid-template-columns:1fr}.field-label-row{align-items:flex-start;flex-direction:column}.quick-dialog{width:calc(100vw - 20px)}}

.hierarchy-list{margin:18px 0;padding:16px;border:1px solid var(--edge);border-radius:12px;background:var(--cloud)}
.hierarchy-row{display:grid;grid-template-columns:minmax(260px,1fr) minmax(180px,.6fr) 100px;gap:12px;align-items:center;padding:9px 0;border-bottom:1px solid var(--edge)}
.hierarchy-row:last-child{border-bottom:0}.hierarchy-row strong,.hierarchy-row small{display:block}.hierarchy-row small{margin-top:3px;color:var(--muted)}
@media(max-width:700px){.hierarchy-row{grid-template-columns:1fr}.hierarchy-row .mono{font-size:12px}}

/* 0.5.0 — резолюции, задачи и проекты */
.workflow-section{margin-top:22px}.workflow-summary{display:grid;grid-template-columns:120px minmax(220px,1fr) minmax(200px,.8fr);gap:12px}.workflow-summary>div{background:var(--cloud);border-radius:10px;padding:12px}.workflow-summary span{display:block;color:var(--muted);font-size:12px}.workflow-summary strong{display:block;margin-top:4px}.workflow-decision-grid{display:grid;grid-template-columns:1fr 1.35fr;gap:18px}.workflow-card{border:1px solid var(--edge);border-radius:12px;padding:16px;background:var(--paper)}.workflow-history-columns{margin-top:4px}.task-mini-list,.project-list,.revision-list,.comment-list{display:grid;gap:10px}.task-mini-card,.revision-card,.comment-card{border:1px solid var(--edge);border-radius:10px;padding:12px}.task-mini-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 14px}.task-mini-card small{grid-column:1/-1;color:var(--muted)}.workflow-cycles{border-top:1px solid var(--edge);padding-top:12px}.workflow-cycles summary{cursor:pointer;font-weight:700}.task-tabs{display:flex;gap:8px;flex-wrap:wrap}.task-table td:first-child{min-width:260px}.special-control-panel{border-left:4px solid var(--accent)}.project-card{border:1px solid var(--edge);border-radius:14px;padding:16px;background:#fff}.project-actions{display:grid;gap:12px;margin-top:14px}.revision-card p{white-space:pre-wrap}.file-chip-list{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.file-chip{display:flex;flex-direction:column;gap:2px;padding:8px 11px;border:1px solid var(--edge);border-radius:9px;text-decoration:none;background:var(--cloud)}.file-chip small{color:var(--muted)}.comment-card p{white-space:pre-wrap;margin:8px 0}.comment-card>small{color:var(--muted);display:block}.hash{word-break:break-all}
@media(max-width:850px){.workflow-summary,.workflow-decision-grid{grid-template-columns:1fr}.task-mini-card{grid-template-columns:1fr}.task-mini-card small{grid-column:auto}}

/* 0.6.1 — compact workspace UI refresh */
:root {
    --sidebar-width: 240px;
    --topbar-height: 56px;
    --workspace-bg: #f4f6f8;
    --sidebar-bg: #222a31;
    --sidebar-edge: rgba(255,255,255,.08);
    --sidebar-text: #dfe5e9;
    --sidebar-muted: #93a0aa;
    --surface-soft: #f7f9fa;
    --surface-selected: #edf4f4;
    --edge-strong: #c7cfd5;
    --accent: var(--tenant-accent, var(--data-teal));
    --radius: 9px;
    --radius-large: 12px;
    --shadow: 0 1px 2px rgba(31,37,43,.04);
}

html { background: var(--workspace-bg); font-size: 15px; }
body { background: var(--workspace-bg); }
.signal-line { height: 3px; position: relative; z-index: 70; }

.app-shell {
    min-height: calc(100vh - 3px);
    display: grid;
    grid-template-columns: var(--sidebar-width) minmax(0,1fr);
    background: var(--workspace-bg);
}
.app-shell-guest { grid-template-columns: minmax(0,1fr); }
.sidebar {
    position: sticky;
    top: 0;
    height: calc(100vh - 3px);
    min-height: 560px;
    display: flex;
    flex-direction: column;
    background: var(--sidebar-bg);
    color: var(--sidebar-text);
    border-right: 1px solid rgba(0,0,0,.1);
    z-index: 60;
}
.sidebar-brand { padding: 22px 18px 16px; border-bottom: 1px solid var(--sidebar-edge); }
.sidebar .brand-text { color: #fff; }
.sidebar .brand-text strong { color: #fff; font-size: 16px; letter-spacing: -.015em; }
.sidebar .brand-text span { color: var(--sidebar-muted); font-size: 11px; margin-top: 2px; }
.sidebar-navigation { flex: 1 1 auto; padding: 14px 10px 20px; overflow-y: auto; }
.nav-group { display: grid; gap: 3px; }
.nav-group + .nav-group { margin-top: 22px; }
.nav-group-label {
    padding: 0 10px 7px;
    color: var(--sidebar-muted);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .09em;
    text-transform: uppercase;
}
.sidebar .nav-link {
    color: var(--sidebar-text);
    min-height: 38px;
    display: flex;
    align-items: center;
    padding: 8px 10px;
    border-radius: 7px;
    font-size: 13px;
    font-weight: 650;
    text-decoration: none;
    border-left: 2px solid transparent;
}
.sidebar .nav-link:hover { background: rgba(255,255,255,.055); color: #fff; }
.sidebar .nav-link.is-active {
    color: #fff;
    background: rgba(255,255,255,.095);
    border-left-color: var(--signal-orange);
}
.sidebar-user {
    display: grid;
    grid-template-columns: 34px minmax(0,1fr) auto;
    gap: 9px;
    align-items: center;
    padding: 12px 10px;
    margin: 0 10px 10px;
    border-top: 1px solid var(--sidebar-edge);
}
.user-avatar {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: rgba(255,255,255,.09);
    color: #fff;
    font-weight: 800;
    font-size: 12px;
}
.sidebar-user-meta { min-width: 0; display: flex; flex-direction: column; line-height: 1.25; }
.sidebar-user-meta strong { color: #fff; font-size: 12px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.sidebar-user-meta span { color: var(--sidebar-muted); font-size: 10px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.sidebar-user .button-quiet { color: var(--sidebar-muted); }
.sidebar-user .button-quiet:hover { color: #fff; background: rgba(255,255,255,.08); }

.workspace { min-width: 0; min-height: calc(100vh - 3px); }
.workspace-guest { display: block; }
.workspace-topbar {
    position: sticky;
    top: 0;
    z-index: 45;
    min-height: var(--topbar-height);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 8px clamp(18px,2.4vw,34px);
    background: rgba(255,255,255,.94);
    border-bottom: 1px solid var(--edge);
    backdrop-filter: blur(10px);
}
.topbar-context { min-width: 0; display: flex; align-items: center; gap: 10px; }
.topbar-title { color: var(--graphite); font-size: 14px; font-weight: 800; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.topbar-actions { display: flex; gap: 8px; align-items: center; }
.nav-toggle { display: none; }
.nav-scrim { display: none; border: 0; padding: 0; }
.workspace-content { max-width: 1520px; width: 100%; margin: 0 auto; padding: 24px clamp(18px,2.4vw,34px) 64px; }
.app-shell-guest .workspace-content { max-width: 920px; min-height: calc(100vh - 3px); }
.demo-banner { font-size: 12px; padding: 7px 16px; }

.page-shell { max-width: none; margin: 0; padding: 0; }
.page-heading { align-items: center; margin: 0 0 18px; gap: 18px; }
h1 { font-size: clamp(27px,2.3vw,31px); line-height: 1.12; margin-bottom: 5px; }
h2 { font-size: 19px; margin-bottom: 11px; }
h3 { font-size: 16px; }
.eyebrow { display: none; }
.lead { font-size: 14px; line-height: 1.45; }

.panel { border-radius: var(--radius); padding: 18px; margin-bottom: 16px; box-shadow: var(--shadow); }
.section-heading { margin-bottom: 11px; }
.button {
    min-height: 36px;
    border-radius: 7px;
    padding: 7px 12px;
    font-size: 13px;
    font-weight: 720;
    transition: background .12s ease,border-color .12s ease,color .12s ease;
}
.button:hover { transform: none; }
.button-primary { background: var(--graphite); border-color: var(--graphite); }
.button-primary:hover { background: #262f36; border-color: #262f36; }
.button-secondary { border-color: var(--edge-strong); }
.button-ghost, .button-quiet { background: transparent; color: var(--muted); border-color: transparent; }
.button-ghost:hover, .button-quiet:hover { background: #eef2f4; color: var(--ink); }
.button-icon { width: 34px; min-width: 34px; padding: 0; }
.button-small { min-height: 31px; padding: 5px 9px; font-size: 12px; }

input,select,textarea { min-height: 38px; padding: 8px 10px; border-radius: 7px; font-size: 13px; }
.field { gap: 5px; }
.field > span, label > span { font-size: 12px; }
.form-grid { gap: 14px; }
.form-actions { margin-top: 18px; }

.data-table th { font-size: 10px; letter-spacing: .06em; background: #f7f9fa; }
.data-table th,.data-table td { padding: 10px 12px; }
.data-table tbody tr:hover { background: #f8fafb; }
.document-link { font-weight: 720; }
.table-subtext,.table-note { font-size: 11px; }
.status,.sync-state,.decision { padding: 4px 8px; font-size: 11px; }

/* Registry */
.registry-toolbar { padding: 14px; }
.registry-filter-form { display: grid; gap: 11px; }
.registry-filter-primary {
    display: grid;
    grid-template-columns: minmax(260px,1fr) 170px 170px auto auto;
    gap: 10px;
    align-items: end;
}
.registry-filter-primary .field { min-width: 0; }
.advanced-filters { border-top: 1px solid #e9edef; padding-top: 10px; }
.advanced-filters > summary {
    width: fit-content;
    cursor: pointer;
    list-style: none;
    color: var(--muted);
    font-size: 12px;
    font-weight: 750;
    user-select: none;
}
.advanced-filters > summary::-webkit-details-marker { display:none; }
.advanced-filters > summary::before { content: '＋'; display:inline-block; margin-right:6px; color:var(--accent); }
.advanced-filters[open] > summary::before { content:'−'; }
.advanced-filter-grid {
    display: grid;
    grid-template-columns: repeat(4,minmax(150px,1fr));
    gap: 10px;
    padding-top: 12px;
}
.registry-table { min-width: 900px; }
.registry-table td:nth-child(2) { min-width: 310px; }
.registry-row-main { display: flex; flex-direction: column; gap: 2px; }
.registry-number { color: var(--graphite); font-size: 12px; font-weight: 800; }
.registry-meta { color: var(--muted); font-size: 11px; }

/* Document summary */
.document-summary-bar {
    display: grid;
    grid-template-columns: minmax(150px,.75fr) minmax(170px,1fr) minmax(190px,1.15fr) minmax(150px,.9fr) minmax(150px,.85fr) minmax(130px,.7fr);
    gap: 0;
    margin-bottom: 16px;
    background: var(--paper);
    border: 1px solid var(--edge);
    border-radius: var(--radius);
    overflow: hidden;
}
.document-summary-item { min-width:0; padding: 12px 14px; border-right:1px solid #e8ecee; }
.document-summary-item:last-child { border-right:0; }
.document-summary-item span { display:block; color:var(--muted); font-size:10px; text-transform:uppercase; letter-spacing:.05em; }
.document-summary-item strong { display:block; margin-top:4px; font-size:13px; color:var(--ink); overflow-wrap:anywhere; }
.document-summary-status { display:flex; align-items:center; }
.document-layout { gap: 16px; }
.workflow-panel { top: 72px; }

/* Queue rail */
.queue-rail { display:flex; gap:4px; align-items:center; border-bottom:1px solid var(--edge); margin:-4px 0 14px; overflow-x:auto; }
.queue-rail .nav-link { border-radius:0; padding:9px 11px; border-bottom:2px solid transparent; white-space:nowrap; }
.queue-rail .nav-link.is-active { background:transparent; color:var(--ink); border-bottom-color:var(--accent); }
.task-table td:first-child { min-width: 300px; }
.task-due.is-overdue { color:var(--danger); font-weight:800; }

/* Mail triage */
.mail-triage { display:flex; gap:6px; flex-wrap:wrap; margin-bottom:14px; }
.mail-triage .triage-item { border:1px solid var(--edge); background:var(--paper); border-radius:7px; padding:7px 10px; font-size:12px; font-weight:750; color:var(--muted); }
.mail-triage .triage-item.is-active { border-color:#9fc7ca; background:var(--surface-selected); color:#174e53; }
.mail-message-primary { display:flex; flex-direction:column; gap:3px; }
.mail-message-primary strong { font-size:13px; }
.mail-message-primary .muted { font-size:11px; }
.actions-cell { white-space:nowrap; }

/* Settings catalog */
.settings-catalog { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.settings-catalog .settings-card {
    min-height: 112px;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-content:center;
    gap:6px 16px;
    padding:16px;
    border:1px solid var(--edge);
    border-radius:var(--radius);
    background:var(--paper);
    box-shadow:var(--shadow);
}
.settings-catalog .settings-card strong { font-size:14px; }
.settings-catalog .settings-card span { color:var(--muted); font-size:12px; line-height:1.45; }
.settings-catalog .settings-card::after { content:'›'; grid-column:2; grid-row:1 / span 2; align-self:center; color:#96a1a9; font-size:22px; }
.settings-catalog .settings-card:hover { border-color:#b6c1c8; background:#fbfcfd; }

@media (max-width: 1180px) {
    :root { --sidebar-width: 216px; }
    .registry-filter-primary { grid-template-columns:minmax(220px,1fr) 150px 150px auto auto; }
    .advanced-filter-grid { grid-template-columns:repeat(3,minmax(150px,1fr)); }
    .document-summary-bar { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .document-summary-item:nth-child(3n) { border-right:0; }
    .document-summary-item:nth-child(n+4) { border-top:1px solid #e8ecee; }
}

@media (max-width: 900px) {
    .registry-filter-primary { grid-template-columns:1fr 1fr; }
    .registry-filter-primary .field-grow { grid-column:1 / -1; }
    .advanced-filter-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .settings-catalog { grid-template-columns:1fr; }
}

@media (max-width: 760px) {
    .app-shell { display:block; min-height:calc(100vh - 3px); }
    .sidebar {
        position:fixed;
        top:3px;
        left:0;
        width:min(86vw,280px);
        height:calc(100vh - 3px);
        transform:translateX(-102%);
        transition:transform .18s ease;
        box-shadow:10px 0 32px rgba(17,24,29,.22);
    }
    body.nav-open { overflow:hidden; }
    body.nav-open .sidebar { transform:translateX(0); }
    .nav-scrim {
        position:fixed;
        inset:3px 0 0;
        z-index:55;
        width:100%;
        height:calc(100vh - 3px);
        background:rgba(20,27,32,.44);
        cursor:pointer;
    }
    body.nav-open .nav-scrim { display:block; }
    .nav-toggle { display:inline-flex; }
    .workspace-topbar { top:0; min-height:50px; padding:7px 12px; }
    .workspace-content { padding:17px 12px 44px; }
    .topbar-title { font-size:13px; }
    h1 { font-size:26px; }
    .page-heading { align-items:flex-start; flex-direction:column; margin-bottom:14px; }
    .registry-filter-primary { grid-template-columns:1fr; }
    .registry-filter-primary .field-grow { grid-column:auto; }
    .registry-filter-primary .button { width:100%; }
    .advanced-filter-grid { grid-template-columns:1fr; }
    .document-summary-bar { grid-template-columns:1fr 1fr; }
    .document-summary-item,.document-summary-item:nth-child(3n) { border-right:1px solid #e8ecee; border-top:1px solid #e8ecee; }
    .document-summary-item:nth-child(-n+2) { border-top:0; }
    .document-summary-item:nth-child(2n) { border-right:0; }
    .settings-catalog .settings-card { min-height:96px; }
}

@media (prefers-reduced-motion: reduce) {
    .sidebar { transition:none !important; }
}

/* 0.6.1 — shared compact administrative surfaces */
.sidebar-logout { min-height:30px; padding:4px 7px; font-size:10px; }
.stack { display:grid; gap:10px; }
.settings-row { border:1px solid var(--edge); border-radius:var(--radius); background:var(--paper); padding:14px; }
.settings-row + .settings-row { margin-top:0; }
.history-item { display:grid; grid-template-columns:minmax(140px,1fr) auto auto minmax(180px,1.2fr); gap:10px; align-items:center; padding:9px 0; border-top:1px solid #edf0f1; font-size:12px; }
.history-item:first-child { border-top:0; }
.history-item small { color:var(--muted); }
.checkbox-row { display:flex; align-items:center; gap:8px; min-height:38px; }
.checkbox-row input[type="checkbox"] { width:17px; min-height:17px; height:17px; accent-color:var(--accent); }
.checkbox-row span { font-size:12px; font-weight:650; }
.empty-cell { text-align:center; color:var(--muted); padding:30px 14px !important; }
.actions-cell form { display:inline-block; margin:2px; }
.mail-excerpt { max-width:520px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; color:var(--muted); line-height:1.4; }
.mail-rule { color:var(--accent); font-size:10px; }
.admin-card { border-radius:var(--radius); padding:15px; box-shadow:none; }
.reference-note { border-radius:0 var(--radius) var(--radius) 0; font-size:12px; }
.quick-dialog { border-radius:12px; box-shadow:0 24px 64px rgba(31,37,43,.22); }
.metric-grid > div { border:1px solid #e7ebed; background:#f8fafb; }
.metric-grid strong { font-size:22px; }

@media (max-width: 760px) {
    .history-item { grid-template-columns:1fr; gap:3px; }
    .sidebar-logout { font-size:11px; }
}

/* 0.6.2 — controlled bulk operations and directory XLSX exchange */
.bulk-toolbar {
    display:flex;
    align-items:end;
    gap:10px;
    flex-wrap:wrap;
    padding:10px 12px;
    border-bottom:1px solid var(--edge);
    background:#f8fafb;
}
.bulk-toolbar-summary { min-width:74px; display:flex; flex-direction:column; gap:1px; padding-bottom:3px; }
.bulk-toolbar-summary strong { font-size:16px; line-height:1; }
.bulk-toolbar-summary span { color:var(--muted); font-size:10px; text-transform:uppercase; letter-spacing:.05em; }
.bulk-action-field { min-width:220px; }
.bulk-dependent-fields { display:flex; gap:10px; align-items:end; flex-wrap:wrap; }
.bulk-dependent-fields[hidden] { display:none !important; }
.bulk-dependent-fields .field { min-width:190px; }
.selection-cell { width:42px; min-width:42px; text-align:center; padding-left:10px !important; padding-right:6px !important; }
.selection-cell input[type="checkbox"] { width:16px; height:16px; min-height:16px; accent-color:var(--accent); cursor:pointer; }
.directory-sync { margin-top:18px; }
.sync-directory-preview { padding-top:14px; border-top:1px solid var(--edge); }
.sync-reasons { display:block; margin-top:4px; color:var(--danger); font-size:11px; }
.metric-grid-four { grid-template-columns:repeat(4,minmax(0,1fr)); }

@media (max-width:760px) {
    .bulk-toolbar { align-items:stretch; }
    .bulk-action-field,.bulk-dependent-fields,.bulk-dependent-fields .field,.bulk-toolbar .button { width:100%; min-width:0; }
    .bulk-dependent-fields { display:grid; grid-template-columns:1fr; }
    .metric-grid-four { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

/* 0.6.3 — adaptive/mobile foundation */
:root {
    --touch-target: 44px;
    --mobile-gutter: 12px;
    --mobile-bottom-safe: env(safe-area-inset-bottom);
    --mobile-top-safe: env(safe-area-inset-top);
}
html, body { max-width: 100%; overflow-x: hidden; }
body { overscroll-behavior-y: contain; }
a, button, input, select, textarea, summary { touch-action: manipulation; }
.mobile-topbar-brand, .drawer-close { display:none; }
.sidebar-brand { display:flex; align-items:center; justify-content:space-between; gap:10px; }

@media (max-width: 959px) {
    .workspace-content { padding-left:clamp(14px,2.2vw,22px); padding-right:clamp(14px,2.2vw,22px); }
    .document-layout { grid-template-columns:1fr; }
    .workflow-panel { position:static; }
}

@media (max-width: 639px) {
    :root { --topbar-height: 54px; }
    body { overscroll-behavior: none; }
    .workspace-topbar {
        min-height:calc(var(--topbar-height) + var(--mobile-top-safe));
        padding:calc(7px + var(--mobile-top-safe)) var(--mobile-gutter) 7px;
    }
    .workspace-content { padding:14px var(--mobile-gutter) calc(56px + var(--mobile-bottom-safe)); }
    .mobile-topbar-brand {
        display:block; max-width:132px; color:var(--ink); text-decoration:none; font-size:12px; font-weight:850;
        overflow:hidden; white-space:nowrap; text-overflow:ellipsis;
    }
    .topbar-title { display:none; }
    .topbar-actions { margin-left:auto; min-width:0; }
    .topbar-actions .button { min-height:var(--touch-target); padding-inline:11px; }
    .button, .nav-toggle { min-height:var(--touch-target); }
    .button-icon { width:var(--touch-target); min-width:var(--touch-target); }
    input, select, textarea { min-height:var(--touch-target); }
    .check-field, .checkbox-row { min-height:var(--touch-target); }
    .sidebar {
        width:min(88vw,320px);
        padding-bottom:var(--mobile-bottom-safe);
        overflow:hidden;
        overscroll-behavior:contain;
    }
    .sidebar-navigation { overscroll-behavior:contain; }
    .drawer-close { display:inline-flex; color:var(--sidebar-muted); flex:0 0 auto; }
    .drawer-close:hover { color:#fff; background:rgba(255,255,255,.08); }
    .sidebar .nav-link { min-height:var(--touch-target); font-size:14px; }
    .sidebar-user { padding-bottom:max(12px,var(--mobile-bottom-safe)); }
    .nav-scrim { touch-action:none; }
}

/* 0.6.3 — mobile document registry */
.mobile-record-list { display:none; }
.mobile-select-all { display:none; }
.registry-card { background:var(--paper); border:1px solid var(--edge); border-radius:var(--radius-large); padding:14px; }
.registry-card-head { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:10px; }
.registry-card-number { min-width:0; display:flex; flex-direction:column; gap:2px; }
.registry-card-number .mono { font-size:12px; font-weight:850; color:var(--graphite); overflow-wrap:anywhere; }
.registry-card-number small { color:var(--muted); font-size:11px; }
.registry-card-title { display:block; margin-top:11px; color:var(--ink); font-size:15px; line-height:1.35; font-weight:780; text-decoration:none; overflow-wrap:anywhere; }
.registry-card-meta { display:grid; grid-template-columns:1fr 1fr; gap:10px 14px; margin-top:13px; padding-top:12px; border-top:1px solid #edf0f2; }
.registry-card-meta div { min-width:0; }
.registry-card-meta span { display:block; color:var(--muted); font-size:10px; text-transform:uppercase; letter-spacing:.045em; }
.registry-card-meta strong { display:block; margin-top:3px; font-size:12px; font-weight:680; overflow-wrap:anywhere; }
.mobile-card-select { display:grid; place-items:center; width:var(--touch-target); min-height:var(--touch-target); margin:-8px 0 -8px -8px; }
.mobile-card-select input, .mobile-select-all input { width:20px; height:20px; min-height:20px; accent-color:var(--accent); }

@media (max-width: 760px) {
    .registry-desktop-table { display:none; }
    .mobile-record-list { display:grid; gap:10px; padding:10px; background:var(--surface-soft); }
    .mobile-select-all { min-height:var(--touch-target); display:flex; align-items:center; gap:9px; padding:0 4px; font-size:12px; font-weight:750; color:var(--muted); }
    .table-panel { padding:0; overflow:visible; background:transparent; border:0; box-shadow:none; }
    .table-panel > form { display:grid; gap:10px; }
    .mobile-bulk-bar {
        position:sticky; bottom:calc(8px + var(--mobile-bottom-safe)); z-index:38; margin:0 4px; border:1px solid var(--edge-strong);
        border-radius:12px; box-shadow:0 10px 28px rgba(31,37,43,.14); background:rgba(255,255,255,.97); backdrop-filter:blur(10px);
    }
    .mobile-bulk-bar .bulk-toolbar-summary { flex-direction:row; align-items:baseline; gap:5px; min-width:0; }
    .mobile-bulk-bar .bulk-toolbar-summary strong { font-size:14px; }
    .mobile-bulk-bar .bulk-toolbar-summary span { font-size:10px; }
    .advanced-filters > summary { min-height:var(--touch-target); display:flex; align-items:center; }
    .registry-toolbar { padding:12px; }
}

@media (max-width: 420px) {
    .registry-card-meta { grid-template-columns:1fr; gap:8px; }
}

/* 0.6.3 — mobile document view and forms */
.mobile-disclosure { display:contents; }
.mobile-disclosure > summary { display:none; }
.mobile-action-panel { min-width:0; }
.mobile-form-stack { min-width:0; }
.mobile-dialog-footer { margin-top:16px; }

@media (min-width: 761px) {
    .mobile-disclosure:not([open]) > :not(summary) { display:block !important; }
}

@media (max-width: 760px) {
    .document-heading h1 { overflow-wrap:anywhere; }
    .document-summary-bar { grid-template-columns:1fr 1fr; }
    .document-summary-status-item { grid-column:1 / -1; grid-row:1; border-top:0; border-right:0 !important; background:var(--surface-selected); }
    .document-summary-number, .document-summary-type { border-top:1px solid #e8ecee !important; }
    .document-layout { display:flex; flex-direction:column; gap:10px; }
    .mobile-action-panel { order:-1; margin-bottom:0; border-left:3px solid var(--accent); }
    .mobile-action-panel .button, .mobile-workflow-actions .button { width:100%; }
    .mobile-disclosure { display:block; margin-bottom:10px; border:1px solid var(--edge); border-radius:var(--radius-large); background:var(--paper); overflow:hidden; }
    .mobile-disclosure > summary {
        display:flex; align-items:center; justify-content:space-between; gap:10px; min-height:var(--touch-target); padding:10px 13px;
        cursor:pointer; font-size:13px; font-weight:800; color:var(--graphite); list-style:none; background:var(--surface-soft);
    }
    .mobile-disclosure > summary::-webkit-details-marker { display:none; }
    .mobile-disclosure > summary::after { content:'⌄'; color:var(--muted); font-size:16px; transition:transform .12s ease; }
    .mobile-disclosure[open] > summary::after { transform:rotate(180deg); }
    .mobile-disclosure > .panel, .mobile-disclosure > .two-columns { margin:0; border:0; border-top:1px solid var(--edge); border-radius:0; box-shadow:none; }
    .mobile-disclosure > .two-columns { display:grid; grid-template-columns:1fr; gap:0; }
    .mobile-disclosure > .two-columns > .panel + .panel { border-top:1px solid var(--edge); }
    .detail-grid { grid-template-columns:1fr; gap:0; }
    .detail-grid > div { padding:9px 0; border-bottom:1px solid #edf0f2; }
    .detail-grid > div:last-child { border-bottom:0; }
    .inline-form, .upload-form, .link-form { display:grid; grid-template-columns:1fr; gap:10px; width:100%; }
    .inline-form .button, .upload-form .button, .link-form .button { width:100%; }
    .form-grid.mobile-form-stack { grid-template-columns:1fr; gap:12px; }
    .form-grid.mobile-form-stack .field-wide { grid-column:auto; }
    .field-label-row { align-items:center; flex-direction:row; flex-wrap:wrap; }
    .field-label-row .button { min-height:var(--touch-target); margin-left:auto; }
    .quick-dialog { width:calc(100vw - 12px); max-width:none; max-height:calc(100dvh - 12px); margin:auto; border-radius:14px; }
    .quick-dialog-shell { max-height:calc(100dvh - 20px); overflow:auto; padding:16px 14px calc(12px + var(--mobile-bottom-safe)); }
    .mobile-dialog-footer { position:sticky; bottom:calc(-12px - var(--mobile-bottom-safe)); margin:14px -14px calc(-12px - var(--mobile-bottom-safe)); padding:10px 14px calc(10px + var(--mobile-bottom-safe)); background:rgba(255,255,255,.96); border-top:1px solid var(--edge); backdrop-filter:blur(8px); }
    .mobile-dialog-footer .button { width:100%; min-height:var(--touch-target); }
}

/* 0.6.3 — mobile tasks and mail triage */
.mobile-task-list, .mobile-mail-list { display:none; }
.task-card-mobile, .mail-card-mobile { background:var(--paper); border:1px solid var(--edge); border-radius:var(--radius-large); padding:14px; }
.task-card-mobile-head { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:start; gap:9px; }
.task-card-mobile-title { color:var(--ink); text-decoration:none; font-size:14px; line-height:1.35; font-weight:780; overflow-wrap:anywhere; padding-top:3px; }
.task-card-mobile-meta { display:grid; grid-template-columns:1fr 1fr 1fr; gap:10px; margin-top:12px; padding-top:11px; border-top:1px solid #edf0f2; }
.task-card-mobile-meta span { display:block; color:var(--muted); font-size:10px; text-transform:uppercase; letter-spacing:.045em; }
.task-card-mobile-meta strong { display:block; margin-top:3px; font-size:12px; font-weight:680; overflow-wrap:anywhere; }
.mail-card-mobile { display:grid; gap:11px; }
.mail-card-mobile-head { display:flex; justify-content:space-between; align-items:flex-start; gap:10px; }
.mail-card-mobile-head > div { min-width:0; display:grid; gap:3px; }
.mail-card-mobile-head strong { font-size:14px; line-height:1.35; overflow-wrap:anywhere; }
.mail-card-mobile-head span:not(.status):not(.sync-state) { color:var(--muted); font-size:11px; overflow-wrap:anywhere; }
.mail-card-mobile-excerpt { margin:0; color:var(--graphite); font-size:12px; line-height:1.45; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.mail-card-mobile-meta { display:grid; grid-template-columns:1fr 1fr; gap:8px 12px; margin:0; padding-top:10px; border-top:1px solid #edf0f2; }
.mail-card-mobile-meta div { min-width:0; }
.mail-card-mobile-meta dt { color:var(--muted); font-size:10px; text-transform:uppercase; letter-spacing:.045em; }
.mail-card-mobile-meta dd { margin:3px 0 0; font-size:12px; overflow-wrap:anywhere; }
.mail-card-mobile-note { margin:0; padding:8px 10px; border-left:3px solid var(--signal-orange); background:#fff8f4; font-size:11px; }
.mail-card-mobile-actions { display:flex; flex-wrap:wrap; gap:7px; }
.mail-card-mobile-actions form { flex:1 1 auto; margin:0; }
.mail-card-mobile-actions .button { width:100%; }

@media (max-width: 760px) {
    [data-scroll-rail="queue-rail-scroll"], [data-scroll-rail="triage-scroll"] {
        flex-wrap:nowrap; overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x proximity; scrollbar-width:none; margin-inline:-12px; padding-inline:12px;
    }
    [data-scroll-rail="queue-rail-scroll"]::-webkit-scrollbar, [data-scroll-rail="triage-scroll"]::-webkit-scrollbar { display:none; }
    [data-scroll-rail="queue-rail-scroll"] > *, [data-scroll-rail="triage-scroll"] > * { scroll-snap-align:start; flex:0 0 auto; min-height:var(--touch-target); display:inline-flex; align-items:center; }
    .task-desktop-table, .mail-desktop-table { display:none; }
    .mobile-task-list, .mobile-mail-list { display:grid; gap:10px; }
    .mobile-task-list { padding:10px; margin:0 -18px -18px; background:var(--surface-soft); }
    .mobile-mail-list { margin-top:0; }
    .task-card-mobile-meta { grid-template-columns:1fr 1fr; }
    .task-card-mobile-meta div:last-child { grid-column:1 / -1; }
    .mail-triage { margin-bottom:10px; }
    .mail-triage .triage-item { min-height:var(--touch-target); padding-inline:12px; }
}

@media (max-width: 390px) {
    .task-card-mobile-meta, .mail-card-mobile-meta { grid-template-columns:1fr; }
    .mail-card-mobile-actions { display:grid; grid-template-columns:1fr; }
}

/* 0.6.3 — resilient administrative surfaces */
.admin-stack-mobile { min-width:0; }
[data-mobile-table="scroll"] { max-width:100%; }
.form-actions.mobile-safe-actions { display:flex; flex-wrap:wrap; gap:8px; }
.mobile-section-heading { min-width:0; }

@media (max-width: 760px) {
    .admin-stack-mobile { grid-template-columns:1fr !important; gap:12px; }
    .admin-stack-mobile .field-wide { grid-column:auto; }
    .admin-card, .settings-row { padding:13px; }
    .admin-list { gap:10px; }
    .mobile-section-heading { align-items:flex-start; gap:10px; }
    .mobile-section-heading > .button, .mobile-section-heading > a.button { width:100%; }
    .form-actions.mobile-safe-actions { display:grid; grid-template-columns:1fr; width:100%; }
    .form-actions.mobile-safe-actions .button { width:100%; min-height:var(--touch-target); }
    [data-mobile-table="scroll"] {
        width:calc(100% + 24px); max-width:none; margin-inline:-12px; padding-inline:12px; overflow-x:auto; overscroll-behavior-x:contain;
        -webkit-overflow-scrolling:touch; scrollbar-gutter:stable both-edges;
    }
    [data-mobile-table="scroll"] > .data-table { min-width:680px; }
    .metric-grid, .metric-grid-five, .metric-grid-four { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .permission-grid { grid-template-columns:1fr; }
}

@media (max-width: 420px) {
    .metric-grid, .metric-grid-five, .metric-grid-four { grid-template-columns:1fr 1fr; }
}

/* 0.6.3 — tablet portrait shell */
@media (max-width: 959px) {
    .app-shell { display:block; min-height:calc(100vh - 3px); }
    .sidebar {
        position:fixed; top:3px; left:0; width:min(82vw,300px); height:calc(100vh - 3px); min-height:0;
        transform:translateX(-102%); transition:transform .18s ease; box-shadow:10px 0 32px rgba(17,24,29,.22);
    }
    body.nav-open { overflow:hidden; }
    body.nav-open .sidebar { transform:translateX(0); }
    .nav-scrim {
        position:fixed; inset:3px 0 0; z-index:55; width:100%; height:calc(100vh - 3px); background:rgba(20,27,32,.44); cursor:pointer;
    }
    body.nav-open .nav-scrim { display:block; }
    .nav-toggle, .drawer-close { display:inline-flex; }
    .workspace-topbar { padding-inline:clamp(12px,2vw,22px); }
}

@media (max-width: 899px) {
    .registry-desktop-table, .task-desktop-table, .mail-desktop-table { display:none; }
    .mobile-record-list, .mobile-task-list, .mobile-mail-list { display:grid; gap:10px; }
    .mobile-select-all { display:flex; }
}

/* 0.7.0 Workspace & Catalogs */
.catalog-tabs{display:flex;gap:4px;overflow:auto;margin:0 0 16px;padding:4px;background:var(--surface-muted,#f5f7f9);border-radius:10px}.catalog-tab{border:0;background:transparent;padding:9px 14px;border-radius:8px;font:inherit;color:var(--muted,#667085);white-space:nowrap;cursor:pointer}.catalog-tab.is-active{background:#fff;color:var(--text,#1d2939);box-shadow:0 1px 2px rgba(16,24,40,.08)}.catalog-panel{display:none}.catalog-panel.is-active{display:block}.catalog-toolbar{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-bottom:14px}.catalog-search{flex:1;max-width:520px}.catalog-search input{width:100%}.catalog-toolbar-actions{display:flex;gap:8px;align-items:center}.catalog-list{display:grid}.catalog-row{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:66px;padding:10px 4px;border-top:1px solid var(--border,#e4e7ec);color:inherit;text-decoration:none}.catalog-row:first-child{border-top:0}.catalog-row[hidden]{display:none}.catalog-main{display:flex;align-items:center;gap:14px;min-width:0}.catalog-main>div{min-width:0}.catalog-main strong,.catalog-main small{display:block}.catalog-main small{margin-top:3px;color:var(--muted,#667085);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.catalog-code{display:inline-flex;min-width:72px;color:var(--muted,#667085)}.catalog-avatar{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#eef2f6}.catalog-meta{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.entity-dialog{width:min(620px,calc(100vw - 32px));max-height:min(760px,calc(100vh - 32px));border:0;padding:0;border-radius:12px;box-shadow:0 24px 64px rgba(16,24,40,.22)}.entity-dialog-large{width:min(820px,calc(100vw - 32px))}.entity-dialog::backdrop{background:rgba(16,24,40,.45)}.dialog-shell{display:flex;flex-direction:column;max-height:inherit;background:#fff}.dialog-header,.dialog-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid var(--border,#e4e7ec)}.dialog-footer{border-top:1px solid var(--border,#e4e7ec);border-bottom:0;justify-content:flex-end}.dialog-body{padding:20px;overflow:auto}.workspace-search{display:flex;gap:8px;margin-bottom:20px}.workspace-search input{flex:1;min-height:44px}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:20px}.metric-card{padding:18px;border:1px solid var(--border,#e4e7ec);border-radius:10px;background:#fff;color:inherit;text-decoration:none}.metric-card strong{display:block;font-size:28px;line-height:1.1}.metric-card span{display:block;margin-top:6px;color:var(--muted,#667085)}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.compact-list{display:grid}.compact-list-row{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-top:1px solid var(--border,#e4e7ec);color:inherit;text-decoration:none}.compact-list-row:first-child{border-top:0}.compact-list-row strong,.compact-list-row small{display:block}.compact-list-row small{color:var(--muted,#667085);margin-top:2px}.saved-view-list{display:flex;gap:8px;flex-wrap:wrap}.saved-view-chip{display:inline-flex;gap:6px;padding:7px 10px;border:1px solid var(--border,#e4e7ec);border-radius:999px;color:inherit;text-decoration:none}.search-groups{display:grid;grid-template-columns:1fr 1fr;gap:16px}.search-group{margin:0}
@media(max-width:959px){.catalog-toolbar{align-items:stretch;flex-direction:column}.catalog-search{max-width:none}.catalog-toolbar-actions{justify-content:space-between}.metric-grid{grid-template-columns:1fr 1fr}.dashboard-grid,.search-groups{grid-template-columns:1fr}.entity-dialog,.entity-dialog-large{width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}.catalog-code{min-width:56px}}
@media(max-width:639px){.catalog-row{align-items:flex-start}.catalog-meta{flex-direction:column;align-items:flex-end}.metric-grid{grid-template-columns:1fr 1fr}.workspace-search{flex-direction:column}.dialog-body{padding:16px}.dialog-header,.dialog-footer{padding:14px 16px}}
.topbar-search{flex:1;max-width:420px;margin-left:auto}.topbar-search input{width:100%;min-height:36px;padding:7px 10px;border-radius:8px}.view-tools{display:flex;justify-content:flex-end;margin:-6px 0 12px}.human-timeline{display:grid;gap:0}.human-timeline-item{position:relative;padding:0 0 18px 24px}.human-timeline-item:before{content:"";position:absolute;left:5px;top:7px;width:8px;height:8px;border-radius:50%;background:var(--accent,#ef4b2f)}.human-timeline-item:after{content:"";position:absolute;left:8px;top:18px;bottom:0;width:1px;background:var(--border,#e4e7ec)}.human-timeline-item:last-child:after{display:none}.provenance-chain{display:grid;gap:8px}.provenance-node{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid var(--border,#e4e7ec);border-radius:8px}.version-stack{display:grid;gap:8px}.version-card{display:flex;justify-content:space-between;gap:12px;padding:12px;border:1px solid var(--border,#e4e7ec);border-radius:8px}.version-changes{margin-top:6px;color:var(--muted,#667085);font-size:.9em}
@media(max-width:959px){.topbar-search{display:none}}

/* 0.7.0.1 — unified mobile interaction and visual polish */
html.dialog-open, body.dialog-open { overflow: hidden; }
[data-entity-dialog]:not([open]):not(.is-fallback-open) { display: none; }
.entity-dialog.is-fallback-open {
    display: block;
    position: fixed;
    inset: 50% auto auto 50%;
    transform: translate(-50%, -50%);
    z-index: 1000;
}
.entity-dialog.is-fallback-open::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: -1;
    background: rgba(16, 24, 40, .52);
}

.catalog-panel.panel { padding: 18px 20px 8px; }
.catalog-tabs {
    scrollbar-width: none;
    border: 1px solid var(--edge);
    background: #f7f9fa;
}
.catalog-tabs::-webkit-scrollbar { display: none; }
.catalog-tab { min-height: 40px; font-size: 13px; font-weight: 650; }
.catalog-tab.is-active { box-shadow: 0 1px 3px rgba(16,24,40,.08); }
.catalog-toolbar { padding: 0 0 14px; border-bottom: 1px solid #edf0f2; }
.catalog-toolbar-actions select { min-width: 150px; }
.catalog-list { margin-top: 0; }
.catalog-row { min-height: 72px; padding: 13px 4px; }
.catalog-row:hover { background: #fbfcfd; }
.catalog-main strong { font-size: 14px; line-height: 1.35; }
.catalog-main small { max-width: min(52vw, 620px); }
.catalog-code { font-size: 12px; font-weight: 700; letter-spacing: .02em; }
.catalog-meta .status { font-weight: 700; }

.entity-dialog {
    overflow: hidden;
    color: var(--ink);
    background: var(--paper);
    border: 1px solid rgba(16,24,40,.08);
}
.dialog-shell { min-height: 0; }
.dialog-header { flex: 0 0 auto; background: #fff; }
.dialog-header h2 { margin: 0; font-size: 20px; }
.dialog-body { min-height: 0; overscroll-behavior: contain; }
.dialog-footer { flex: 0 0 auto; background: #fff; }
.dialog-footer .button { min-width: 112px; }

@media (max-width: 959px) {
    .catalog-panel.panel { padding: 14px; border-radius: 10px; }
    .catalog-toolbar { gap: 10px; }
    .catalog-toolbar-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
    .catalog-toolbar-actions > .button { grid-column: 1 / -1; width: 100%; }
    .catalog-toolbar-actions select { min-width: 0; width: 100%; }
    .catalog-row { min-height: 84px; padding: 12px 2px; }
    .catalog-main { align-items: flex-start; gap: 10px; }
    .catalog-code { min-width: 52px; padding-top: 2px; }
    .catalog-main small { white-space: normal; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
    .catalog-meta { min-width: 90px; }

    .entity-dialog,
    .entity-dialog-large {
        width: 100vw;
        max-width: none;
        height: min(92dvh, 780px);
        max-height: 92dvh;
        margin: auto 0 0;
        inset: auto 0 0 0;
        border-radius: 18px 18px 0 0;
        border-bottom: 0;
    }
    .entity-dialog.is-fallback-open { transform: none; }
    .dialog-shell { height: 100%; max-height: 92dvh; }
    .dialog-header { padding: 15px 16px 13px; padding-top: max(15px, env(safe-area-inset-top)); }
    .dialog-header .icon-button { min-width: 44px; min-height: 44px; }
    .dialog-body { flex: 1 1 auto; padding: 14px 16px 18px; overflow-y: auto; }
    .dialog-body.form-grid { grid-template-columns: 1fr; gap: 13px; }
    .dialog-body .field-wide { grid-column: auto; }
    .dialog-footer {
        display: grid;
        grid-template-columns: 1fr 1.4fr;
        gap: 8px;
        padding: 10px 16px calc(10px + env(safe-area-inset-bottom));
        box-shadow: 0 -8px 24px rgba(16,24,40,.06);
    }
    .dialog-footer .button { width: 100%; min-width: 0; min-height: 46px; }
}

@media (max-width: 639px) {
    .workspace-content { padding-inline: 10px; }
    .page-heading h1 { font-size: 24px; line-height: 1.15; }
    .page-heading .lead { font-size: 13px; line-height: 1.45; }
    .catalog-tabs { margin-inline: -2px; padding: 3px; }
    .catalog-tab { padding-inline: 11px; min-height: 38px; }
    .catalog-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; }
    .catalog-main { min-width: 0; }
    .catalog-meta { align-items: flex-end; justify-content: space-between; min-width: 82px; }
    .catalog-meta .button { min-height: 40px; padding: 7px 10px; }
    .metric-card { padding: 14px; }
    .metric-card strong { font-size: 24px; }
    .dashboard-grid { gap: 10px; }
    .panel { padding: 16px; margin-bottom: 12px; }
    .entity-dialog, .entity-dialog-large { height: 94dvh; max-height: 94dvh; }
    .dialog-shell { max-height: 94dvh; }
}

/* 0.7.1 — organization profile & minimal tenant branding */
:root { --tenant-accent: #0A7F86; }
body { --accent: var(--tenant-accent, var(--data-teal)); }
a { color: var(--accent); }
:focus-visible { outline-color: var(--accent); }

.brand-identity { display:flex; flex-direction:row; align-items:center; gap:10px; width:100%; min-width:0; }
.brand-logo { width:38px; height:38px; object-fit:contain; flex:0 0 38px; border-radius:8px; background:rgba(255,255,255,.06); }
.brand-copy { display:flex; min-width:0; flex-direction:column; line-height:1.2; }
.sidebar .brand-copy strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:14px; }
.sidebar .brand-copy span { color:var(--sidebar-muted); font-size:10px; margin-top:3px; letter-spacing:.02em; }
.auth-identity { display:flex; align-items:center; gap:16px; margin-bottom:10px; }
.auth-identity h1 { margin-bottom:0; }
.auth-logo { width:68px; height:68px; object-fit:contain; border:1px solid var(--edge); border-radius:12px; background:var(--paper); padding:6px; }

.organization-profile-form { display:grid; gap:0; }
.settings-section { margin-bottom:16px; }
.branding-settings-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(320px,.8fr); gap:24px; align-items:start; }
.brand-assets-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.brand-asset-card { border:1px solid var(--edge); border-radius:10px; padding:14px; background:var(--surface-soft, var(--cloud)); min-width:0; }
.brand-asset-card > strong { display:block; margin-bottom:10px; }
.brand-asset-preview { display:grid; gap:8px; margin-bottom:12px; }
.brand-asset-preview img { max-width:100%; height:88px; object-fit:contain; object-position:left center; border:1px solid var(--edge); border-radius:8px; padding:8px; background:#fff; }
.brand-asset-preview small { color:var(--muted); overflow-wrap:anywhere; }
.favicon-preview img { width:56px; height:56px; padding:6px; }
.color-field { display:flex; align-items:center; gap:10px; }
.color-field input[type="color"] { width:64px; padding:4px; min-height:42px; }
.color-field code { white-space:nowrap; }
.organization-save-bar { position:sticky; bottom:12px; z-index:12; display:flex; align-items:center; justify-content:space-between; gap:16px; margin:4px 0 28px; padding:12px 14px; border:1px solid var(--edge-strong, var(--edge)); border-radius:10px; background:rgba(255,255,255,.96); box-shadow:0 8px 30px rgba(31,37,43,.12); backdrop-filter:blur(8px); }
.organization-save-bar > div { display:flex; flex-direction:column; gap:2px; }
.organization-save-bar span { color:var(--muted); font-size:12px; }

@media (max-width: 959px) {
    .branding-settings-grid { grid-template-columns:1fr; }
    .brand-assets-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width: 639px) {
    .settings-organization-heading { display:grid; grid-template-columns:1fr; }
    .brand-assets-grid { grid-template-columns:1fr; }
    .organization-profile-form .form-grid { grid-template-columns:1fr; }
    .organization-save-bar { bottom:max(8px, env(safe-area-inset-bottom)); flex-direction:column; align-items:stretch; }
    .organization-save-bar .button { width:100%; min-height:48px; }
    .auth-identity { align-items:flex-start; }
    .auth-logo { width:56px; height:56px; }
}

/* 0.8.1 — execution control & notifications */
.notification-button{position:relative;display:inline-flex;align-items:center;justify-content:center}
.notification-badge{position:absolute;top:-4px;right:-5px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#d92d20;color:#fff;font-size:11px;font-weight:700;line-height:18px;text-align:center;border:2px solid var(--surface,#fff)}
.notification-list{display:grid;gap:8px}
.notification-item{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:14px 16px;border:1px solid var(--border,#dfe3e7);border-radius:10px;background:#fff}
.notification-item.is-unread{border-left:3px solid var(--tenant-accent,#0A7F86);background:#f4fbfb}
.notification-content{min-width:0;flex:1}.notification-title-row{display:flex;justify-content:space-between;gap:12px}.notification-title-row small{white-space:nowrap;color:#667085}.notification-content p{margin:.35rem 0 0;color:#475467}
.deadline-change{margin-top:12px;padding-top:12px;border-top:1px solid var(--border,#dfe3e7)}
@media(max-width:639px){.notification-item{align-items:stretch;flex-direction:column}.notification-title-row{flex-direction:column;gap:3px}.notification-item form .button{width:100%}.notification-badge{top:-2px;right:-2px}}

/* 0.8.2 — supervisor workspace */
.control-summary{grid-template-columns:repeat(5,minmax(0,1fr))}.control-filters{display:grid;grid-template-columns:minmax(240px,2fr) repeat(4,minmax(150px,1fr));gap:12px;align-items:end}.control-filter-actions{display:flex;gap:8px;grid-column:1/-1;justify-content:flex-end}.table-subline{display:block;margin-top:4px;color:var(--muted,#667085);max-width:420px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.control-mobile-list{display:none}.control-task-card .control-mobile-action{width:100%;margin-top:12px}.button-small{min-height:34px;padding:6px 10px}
@media(max-width:1199px){.control-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.control-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.control-search{grid-column:1/-1}}
@media(max-width:719px){.control-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.control-summary .metric-card{padding:13px}.control-summary .metric-card strong{font-size:22px}.control-filters{grid-template-columns:1fr}.control-search{grid-column:auto}.control-filter-actions{grid-column:auto;display:grid;grid-template-columns:1fr 1fr}.control-desktop-table{display:none}.control-mobile-list{display:grid;gap:10px}.control-task-card{margin:0}.control-filters .field select,.control-filters .field input{min-height:44px}}
/* 0.8.2.1 — catalog tabs/mobile stabilization */
.catalog-workspace{min-width:0}
.catalog-panel.panel{overflow:hidden}
.catalog-tabs[role="tablist"]{scrollbar-width:none;scroll-snap-type:x proximity}
.catalog-tabs[role="tablist"] .catalog-tab{scroll-snap-align:start;flex:0 0 auto}
.catalog-tab:focus-visible{outline:2px solid var(--accent,#0a7f86);outline-offset:2px}
@media(max-width:639px){.catalog-workspace{min-width:0;margin-inline:0}.catalog-tabs{margin:0 -12px 12px;padding:4px 12px;border-radius:0;overscroll-behavior-inline:contain}.catalog-tab{min-height:44px;padding:9px 13px}.catalog-panel.panel{overflow:hidden;margin-inline:0;padding:12px;border-radius:10px}.catalog-toolbar{gap:10px}.catalog-toolbar-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:100%}.catalog-toolbar-actions>select{width:100%;min-width:0}.catalog-toolbar-actions>.button{grid-column:1/-1;width:100%;min-height:44px}.catalog-list{gap:10px}.catalog-row{grid-template-columns:1fr;gap:10px;min-height:0;padding:13px;border:1px solid var(--border,#e4e7ec);border-radius:10px;background:#fff}.catalog-row:first-child{border-top:1px solid var(--border,#e4e7ec)}.catalog-row:hover{background:#fff}.catalog-main{display:grid;grid-template-columns:minmax(48px,auto) minmax(0,1fr);align-items:start;gap:10px;width:100%;min-width:0}.catalog-code{min-width:0;max-width:88px;overflow-wrap:anywhere}.catalog-main small{max-width:100%;white-space:normal;overflow-wrap:anywhere}.catalog-meta{display:flex;flex-direction:row;align-items:center;justify-content:space-between;width:100%;min-width:0;gap:8px}.catalog-meta .button{min-height:44px}.entity-dialog .dialog-shell{width:100%}}


/* 0.8.2.2 — mobile polish and cache-consistent layout */
.metric-card:link,
.metric-card:visited,
.compact-list-row:link,
.compact-list-row:visited {
    color: var(--ink);
    text-decoration: none;
}
.metric-card:hover,
.compact-list-row:hover { text-decoration: none; }

@media (max-width: 959px) {
    .topbar-search { display: none !important; }
    .workspace-topbar {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 8px;
    }
    .topbar-context { min-width: 0; }
    .topbar-actions { justify-self: end; }
}

@media (max-width: 639px) {
    .workspace-content {
        padding: 16px 12px calc(48px + env(safe-area-inset-bottom));
    }
    .page-heading { margin-bottom: 16px; }
    .page-heading h1 { font-size: 27px; line-height: 1.12; margin-bottom: 6px; }
    .page-heading .lead { font-size: 14px; line-height: 1.45; }

    .mobile-topbar-brand {
        max-width: min(48vw, 168px);
        font-size: 13px;
        line-height: 1.2;
    }
    .workspace-topbar .nav-toggle,
    .workspace-topbar .notification-button {
        width: 44px;
        min-width: 44px;
        min-height: 44px;
        padding: 0;
    }

    .mobile-dashboard-search {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 8px;
        margin-bottom: 16px;
    }
    .mobile-dashboard-search input {
        min-width: 0;
        min-height: 46px;
        font-size: 14px;
    }
    .mobile-dashboard-search .button {
        width: auto;
        min-width: 88px;
        min-height: 46px;
        padding-inline: 16px;
    }

    .mobile-dashboard-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
        margin-bottom: 16px;
    }
    .mobile-dashboard-metrics .metric-card {
        display: flex;
        min-width: 0;
        min-height: 92px;
        flex-direction: column;
        justify-content: space-between;
        padding: 14px;
        border: 1px solid var(--edge);
        border-radius: 12px;
        background: var(--paper);
        box-shadow: none;
    }
    .mobile-dashboard-metrics .metric-card strong {
        color: var(--graphite);
        font-size: 26px;
        line-height: 1;
        text-decoration: none;
    }
    .mobile-dashboard-metrics .metric-card span {
        margin-top: 10px;
        color: var(--muted);
        font-size: 12px;
        line-height: 1.3;
        text-decoration: none;
        overflow-wrap: anywhere;
    }

    .dashboard-grid { gap: 12px; }
    .dashboard-grid .panel {
        padding: 16px;
        margin-bottom: 0;
        box-shadow: none;
    }
    .dashboard-grid .section-heading h2 { font-size: 20px; }
    .compact-list-row {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: 4px;
        padding: 12px 0;
        color: var(--ink);
        text-decoration: none;
    }
    .compact-list-row strong {
        font-size: 14px;
        line-height: 1.35;
        overflow-wrap: anywhere;
    }
    .compact-list-row small,
    .compact-list-row time {
        color: var(--muted);
        font-size: 11px;
        line-height: 1.35;
        overflow-wrap: anywhere;
    }
    .compact-list-row time { justify-self: start; }

    .catalog-tabs {
        display: flex !important;
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        overflow-y: hidden;
        gap: 6px;
        margin: 0 -12px 12px;
        padding: 4px 12px 6px;
        border: 0;
        border-radius: 0;
        background: transparent;
        -webkit-overflow-scrolling: touch;
    }
    .catalog-tab {
        flex: 0 0 auto !important;
        min-height: 40px;
        padding: 8px 13px;
        border: 1px solid var(--edge);
        border-radius: 999px;
        background: #f8fafb;
        font-size: 13px;
        line-height: 1.2;
    }
    .catalog-tab.is-active {
        border-color: var(--accent);
        background: #fff;
        color: var(--ink);
        box-shadow: 0 1px 3px rgba(16, 24, 40, .08);
    }
    .catalog-panel.panel {
        padding: 12px;
        overflow: visible;
        box-shadow: none;
    }
    .catalog-toolbar {
        margin-bottom: 12px;
        padding-bottom: 12px;
    }
    .catalog-search input,
    .catalog-toolbar-actions select,
    .catalog-toolbar-actions .button { min-height: 46px; }
    .catalog-list { gap: 10px; }
    .catalog-row,
    .catalog-row:first-child {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: 10px;
        min-height: 0;
        padding: 13px;
        border: 1px solid var(--edge);
        border-radius: 10px;
        background: #fff;
    }
    .catalog-main {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: 3px;
        width: 100%;
        min-width: 0;
    }
    .catalog-code {
        display: block;
        min-width: 0;
        max-width: 100%;
        color: var(--muted);
        font-size: 11px;
        line-height: 1.2;
        overflow-wrap: anywhere;
    }
    .catalog-main strong {
        display: block;
        font-size: 15px;
        line-height: 1.3;
        overflow-wrap: anywhere;
    }
    .catalog-main small {
        display: block;
        margin-top: 2px;
        color: var(--muted);
        font-size: 12px;
        line-height: 1.35;
        white-space: normal;
        overflow-wrap: anywhere;
    }
    .catalog-meta {
        display: flex;
        width: 100%;
        min-width: 0;
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        gap: 8px;
    }
    .catalog-meta .button { min-height: 40px; }
}

@media (max-width: 359px) {
    .mobile-dashboard-search { grid-template-columns: 1fr; }
    .mobile-dashboard-search .button { width: 100%; }
    .mobile-dashboard-metrics { grid-template-columns: 1fr; }
}

/* 0.8.3 — quick registration and employee document actions */
.desktop-quick-actions{display:flex;align-items:center;gap:6px;min-width:0}
.quick-register-button{white-space:nowrap;padding-inline:10px}
.mobile-create-trigger{display:none}
.quick-create-list{display:grid;gap:10px}
.quick-create-item{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:54px;padding:12px 14px;border:1px solid var(--line,#d9e0e5);border-radius:10px;background:#fff;color:inherit;text-decoration:none}
.quick-create-item:hover,.quick-create-item:focus-visible{border-color:var(--tenant-accent,#0A7F86);box-shadow:0 0 0 2px rgba(10,127,134,.12)}
.quick-create-item span{font-size:12px;color:var(--muted,#6f7b86)}
.flow-locked-field,.readonly-field{display:flex;flex-direction:column;gap:7px;min-height:44px}
.flow-locked-field>span,.readonly-field>span{font-size:12px;font-weight:600;color:var(--muted,#6f7b86)}
.flow-locked-field>strong,.readonly-field>strong{font-size:14px;color:var(--text,#2f3943)}
@media (max-width:959px){
  .desktop-quick-actions{display:none!important}
  .mobile-create-trigger{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;padding:0;border-radius:10px}
  .quick-create-dialog .dialog-shell{width:min(100%,520px)}
  .quick-create-list{padding-bottom:max(8px,env(safe-area-inset-bottom))}
}
@media (max-width:420px){
  .quick-create-dialog.entity-dialog[open],.quick-create-dialog.entity-dialog.is-fallback-open{align-items:flex-end}
  .quick-create-dialog .dialog-shell{width:100%;max-width:none;border-radius:18px 18px 0 0;margin:0;max-height:82dvh}
  .quick-create-item{min-height:58px}
}

/* 0.9.0 — print-ready document card */
@media print {
    @page {
        size: A4 portrait;
        margin: 14mm 12mm 14mm;
    }

    html,
    body {
        background: #fff !important;
        color: #000 !important;
        font-size: 10pt;
        print-color-adjust: exact;
        -webkit-print-color-adjust: exact;
    }

    .signal-line,
    .sidebar,
    .nav-scrim,
    .workspace-topbar,
    .demo-banner,
    .flash-stack,
    .print-hidden,
    .mobile-action-panel,
    .logistics-form,
    .link-form,
    .form-actions,
    dialog,
    script {
        display: none !important;
    }

    .app-shell,
    .workspace,
    .workspace-main,
    .workspace-content,
    .print-document-card,
    .document-layout,
    .two-columns {
        display: block !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
        box-shadow: none !important;
        background: #fff !important;
    }

    .print-document-card .page-heading {
        margin: 0 0 7mm !important;
        padding: 0 0 4mm !important;
        border-bottom: 1px solid #777;
    }

    .print-document-card .document-summary-bar,
    .print-document-card .panel,
    .print-document-card .detail-subsection,
    .print-document-card .decision-card,
    .print-document-card .link-card,
    .print-document-card .timeline-item {
        break-inside: avoid;
        box-shadow: none !important;
    }

    .print-document-card .panel,
    .print-document-card .document-summary-bar {
        margin: 0 0 5mm !important;
        border: 1px solid #bbb !important;
        border-radius: 0 !important;
        background: #fff !important;
    }

    .print-document-card details {
        display: block !important;
    }

    .print-document-card details > summary {
        display: none !important;
    }

    .print-document-card a {
        color: #000 !important;
        text-decoration: none !important;
    }

    .print-document-card .button,
    .print-document-card button,
    .print-document-card input,
    .print-document-card select,
    .print-document-card textarea {
        display: none !important;
    }
}


/* 0.9.1 — pre-beta UX/UI hardening */
html {
    scroll-padding-top: calc(var(--topbar-height, 56px) + 18px);
    scroll-padding-bottom: 120px;
}

.skip-link {
    position: fixed;
    top: 8px;
    left: 8px;
    z-index: 2000;
    transform: translateY(calc(-100% - 16px));
    padding: 9px 12px;
    border-radius: 8px;
    background: var(--graphite);
    color: var(--paper);
    font-size: 13px;
    font-weight: 750;
    text-decoration: none;
    transition: transform .12s ease;
}
.skip-link:focus { transform: translateY(0); }

.workspace-content :focus-visible {
    scroll-margin-block: calc(var(--topbar-height, 56px) + 18px) 120px;
}

/* Slightly larger working typography without sacrificing information density. */
.field > span,
label > span { font-size: 13px; }
input,
select,
textarea { font-size: 14px; }
.data-table th { font-size: 11px; }
.data-table td { font-size: 13px; }
.registry-meta,
.table-subtext,
.table-note { font-size: 12px; }
.sidebar .nav-link { min-height: 40px; font-size: 13.5px; }

/* Do not hide the reset action at intermediate desktop widths. */
.registry-filter-primary .filter-reset { display: inline-flex; }

/* Use wide desktop space more efficiently in settings. */
.settings-catalog { grid-template-columns: repeat(3,minmax(0,1fr)); }
.settings-catalog .settings-card {
    min-height: 104px;
    transition: background .12s ease, border-color .12s ease, box-shadow .12s ease;
}
.settings-catalog .settings-card:focus-visible,
.settings-catalog .settings-card:hover {
    border-color: color-mix(in srgb, var(--accent) 42%, var(--edge));
    background: #fbfdfd;
}

/* Make keyboard position clear in dense lists and tables. */
.data-table tbody tr:focus-within,
.registry-card:focus-within,
.task-card-mobile:focus-within,
.mail-card-mobile:focus-within,
.catalog-row:focus-within {
    background: var(--surface-selected);
}

@media (max-width: 1260px) {
    .settings-catalog { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 900px) {
    .settings-catalog { grid-template-columns: 1fr; }
}

@media (max-width: 639px) {
    html {
        scroll-padding-top: calc(var(--topbar-height, 54px) + env(safe-area-inset-top) + 12px);
        scroll-padding-bottom: calc(128px + env(safe-area-inset-bottom));
    }
    .workspace-content :focus-visible {
        scroll-margin-block: calc(var(--topbar-height, 54px) + env(safe-area-inset-top) + 12px)
            calc(128px + env(safe-area-inset-bottom));
    }
    .field > span,
    label > span { font-size: 13px; }
    input,
    select,
    textarea { font-size: 16px; }
}

@media (prefers-reduced-motion: reduce) {
    .skip-link { transition: none; }
}

/* Public document status lookup */
.public-status-shell { min-height: calc(100vh - 72px); align-items: start; padding-top: clamp(28px, 7vh, 72px); }
.public-status-card { width: min(100%, 620px); }
.public-status-form { margin-top: 22px; }
.public-status-feedback { margin-top: 18px; }
.public-status-result { margin-top: 22px; border: 1px solid var(--edge); border-radius: var(--radius); padding: 18px; background: var(--cloud); }
.public-status-result-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; flex-wrap: wrap; }
.public-status-state { display: inline-flex; align-items: center; width: fit-content; border-radius: 999px; padding: 6px 10px; background: #edf3f3; color: var(--graphite); font-size: 13px; font-weight: 800; }
.public-status-state-success { background: #e7f5ec; color: var(--success); }
.public-status-state-warning { background: #fff8ea; color: var(--warning); }
.public-status-state-alert { background: #fff4f3; color: var(--danger); }
.public-status-requisites { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 20px; margin: 16px 0 0; }
.public-status-requisites > div { padding: 11px 0; border-top: 1px solid var(--edge); }
.public-status-requisites dt { color: var(--muted); font-size: 12px; margin-bottom: 3px; }
.public-status-requisites dd { margin: 0; color: var(--ink); font-weight: 650; }
.public-status-date-control { display: flex; width: 100%; min-width: 0; border: 1px solid #bdc6cc; border-radius: 8px; background: var(--paper); padding: 10px 11px; }
.public-status-date-control input[type="date"] { display: block; width: 100%; min-width: 0; min-height: 20px; padding: 0; border: 0; border-radius: 0; background: transparent; }
.public-status-footer { margin-top: 20px; text-align: center; }
.public-status-footer .legal-note { text-align: left; }
.auth-secondary-action { margin-top: 16px; text-align: center; font-size: 14px; }

@media (max-width: 560px) {
    .public-status-shell { padding-top: 20px; }
    .public-status-card { padding: 22px 18px; }
    .public-status-card h1 { font-size: 28px; }
    .public-status-requisites { grid-template-columns: 1fr; }
    .public-status-result-heading { display: grid; }
    .public-status-form input[type="text"] { font-size: 16px; }
    .public-status-date-control input[type="date"] { font-size: 16px; }
}
