:root{--brand-blue: #007ac2;--brand-blue-deep: #00548a;--brand-blue-light: #3fa9e8;--brand-blue-tint: #e6f2fa;--ai-accent: #6e267b;--ai-border: #c9a6d0;--color-primary: #007ac2;--color-primary-hover: #00548a;--color-accent: #00a651;--color-bg: #f7f8f9;--color-surface: #ffffff;--color-border: #e0e3e6;--color-hairline: #eef0f2;--color-text: #141618;--color-text-muted: #62676b;--color-nav-active-bg: #e6f2fa;--state-pending: #993d00;--state-pending-bg: #fff0e6;--state-accepted: #0a6b38;--state-accepted-bg: #e6f6ee;--state-rejected: #c21217;--state-rejected-bg: #fdeaeb;--state-modified: #00548a;--state-modified-bg: #e6f2fa;--state-finalized: #141618;--state-finalized-bg: #e0e3e6;--impact-critical: #c21217;--impact-high: #993d00;--impact-medium: #8a5a00;--impact-low: #00548a;--impact-none: #0a6b38;--impact-medium-bg: #fff8e6;--chart-critical: #ed1c24;--chart-high: #ff6720;--chart-medium: #ffb500;--chart-low: #007ac2;--chart-none: #00a651;--sidebar-w: 240px;--radius: 8px;--radius-btn: 6px;--radius-tag: 4px;--shadow-card: none;--font: "Inter", "Segoe UI", system-ui, -apple-system, sans-serif}*{box-sizing:border-box}html,body,#root{margin:0;height:100%}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font);font-size:13px}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}h1{font-size:1.375rem;font-weight:700;color:var(--brand-blue-deep);margin:0 0 1rem}button{font-family:var(--font);cursor:pointer}.btn-primary{background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-btn);padding:.55rem 1.1rem;font-size:.9rem;font-weight:500}.btn-primary:hover{background:var(--color-primary-hover)}.btn-primary:disabled{background:var(--color-border);color:var(--color-text-muted);cursor:not-allowed}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-card);padding:1.25rem}.app-shell{display:grid;grid-template-rows:64px 1fr;grid-template-columns:var(--sidebar-w) 1fr;grid-template-areas:"topbar topbar" "sidebar content";height:100%;height:100dvh;transition:grid-template-columns .2s ease}.topbar{grid-area:topbar;background:var(--color-surface);border-bottom:1px solid var(--color-border);color:var(--color-text);display:flex;align-items:center;gap:.65rem;padding:0 1.25rem 0 .5rem}.topbar-brand{display:flex;align-items:center;gap:.6rem;white-space:nowrap;overflow:hidden}.topbar-divider{width:1px;height:20px;align-self:center;background:var(--color-border)}.topbar-subtitle{font-size:.68rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis}@media (max-width: 720px){.topbar-divider,.topbar-subtitle{display:none}}.topbar-spacer{flex:1}.topbar-iconbtn{position:relative;background:transparent;border:none;color:var(--color-text-muted);width:36px;height:36px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:1.1rem;flex:none}.topbar-iconbtn:hover{background:var(--color-bg);color:var(--color-text)}.avatar{background:var(--brand-blue);color:#fff;width:32px;height:32px;border-radius:50%;border:none;font-size:.8rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.avatar:hover{background:var(--brand-blue-deep)}.menu{position:absolute;top:68px;right:8px;max-width:calc(100vw - 16px);min-width:220px;background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:0 4px 16px #221a332e;padding:.4rem 0;z-index:30}.menu-header{padding:.5rem 1rem;font-size:.85rem;font-weight:600;color:var(--color-text);border-bottom:1px solid var(--color-border)}.menu-subheader{font-size:.75rem;font-weight:400;color:var(--color-text-muted);margin-top:2px}.menu-item{display:block;width:100%;text-align:left;background:none;border:none;padding:.55rem 1rem;font-size:.9rem;color:var(--color-text)}.menu-item:hover{background:var(--color-bg);text-decoration:none}.menu-empty{padding:1rem;color:var(--color-text-muted);font-size:.85rem;text-align:center}.topbar-badge{position:absolute;top:2px;right:2px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:#ed1c24;color:#fff;font-size:.65rem;font-weight:700;line-height:16px;text-align:center;box-sizing:border-box}.menu-notif{min-width:320px;max-width:360px;padding-bottom:0}.notif-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.notif-markall{background:none;border:none;color:var(--color-primary);font-size:.75rem;font-weight:600;padding:0}.notif-markall:hover{text-decoration:underline}.notif-list{list-style:none;margin:0;padding:0;max-height:400px;overflow-y:auto}.notif-item{display:block;width:100%;text-align:left;background:none;border:none;border-bottom:1px solid var(--color-border);padding:.55rem 1rem}.notif-item:hover{background:var(--color-bg)}.notif-list li:last-child .notif-item{border-bottom:none}.notif-unread{border-left:3px solid var(--brand-blue)}.notif-title{display:block;font-size:.85rem;color:var(--color-text);line-height:1.35}.notif-unread .notif-title{font-weight:600}.notif-meta{display:block;margin-top:2px;font-size:.72rem;color:var(--color-text-muted)}.data-table tr.row-overdue td{background:var(--state-rejected-bg)}.filter-toggle{display:inline-flex;align-items:center;gap:.45rem;font-size:.85rem;line-height:1;color:var(--color-text);white-space:nowrap;cursor:pointer}.filter-toggle input[type=checkbox]{margin:0;width:15px;height:15px;flex:none;accent-color:var(--brand-blue);cursor:pointer}.action-desc{display:block;max-width:40ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.action-assessment{display:inline-flex;align-items:center;gap:.5rem;flex-wrap:wrap}.cell-truncate{display:inline-block;max-width:42ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}.sidebar{grid-area:sidebar;background:var(--color-surface);border-right:1px solid var(--color-border);padding:1rem .75rem;display:flex;flex-direction:column;gap:4px;overflow:hidden}.nav-link{display:flex;align-items:center;gap:.75rem;padding:.7rem;border-radius:var(--radius);color:var(--color-text-muted);font-size:.85rem;font-weight:500;white-space:nowrap}.nav-link svg{flex:none}.nav-link:hover{background:var(--color-bg);color:var(--color-text);text-decoration:none}.nav-link.active{background:var(--color-nav-active-bg);color:var(--brand-blue-deep);font-weight:600}.nav-section{margin-top:auto;border-top:1px solid var(--color-border);padding-top:.5rem}.sidebar.collapsed .nav-link{justify-content:center;padding:.55rem 0}.sidebar.collapsed .nav-label{display:none}.content{grid-area:content;overflow:auto;padding:1.5rem}.empty-state{border:1px dashed var(--color-border);border-radius:var(--radius);background:var(--color-surface);padding:3rem 2rem;text-align:center;color:var(--color-text-muted)}.empty-state-title{font-weight:600;color:var(--color-text);margin-bottom:.4rem}.page-loading{color:var(--color-text-muted);padding:2rem 0}.kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.9rem;margin-bottom:1.1rem}.kpi-tile{padding:.9rem 1rem;display:block;color:inherit}.kpi-link:hover{text-decoration:none;border-color:var(--color-primary)}.kpi-value{font-size:1.7rem;font-weight:700;line-height:1.2}.kpi-danger{color:var(--impact-critical)}.kpi-label{color:var(--color-text-muted);font-size:.82rem;margin-top:2px}.kpi-hint{color:var(--color-text-muted);font-size:.72rem;margin-top:2px}.chart-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:.9rem;margin-bottom:1.1rem}.chart-card{padding:1rem 1.1rem}.chart-title{font-weight:600;font-size:.92rem;margin-bottom:.7rem}.chart-empty{color:var(--color-text-muted);font-size:.85rem;padding:1.5rem 0;text-align:center}.chart-grid{stroke:var(--color-border);stroke-width:1}.chart-tick,.chart-value,.chart-label{font-size:10px;fill:var(--color-text-muted)}.chart-label,.chart-value{font-size:11px;fill:var(--color-text)}.line-stroke{stroke:var(--brand-blue);stroke-width:2}.line-area{fill:var(--brand-blue);opacity:.12}.line-dot{fill:var(--brand-blue);stroke:var(--color-surface);stroke-width:2}.bar-fill{fill:var(--brand-blue)}.donut-wrap{display:flex;align-items:center;gap:1.1rem;flex-wrap:wrap}.donut-total{font-size:1.5rem;font-weight:700;fill:var(--color-text)}.donut-total-label{font-size:.72rem;fill:var(--color-text-muted)}.chart-legend{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem;font-size:.85rem}.chart-legend li{display:flex;align-items:center;gap:.5rem}.legend-swatch{width:10px;height:10px;border-radius:3px;flex:none}.legend-count{margin-left:auto;font-weight:600;padding-left:.75rem}.attention-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:.9rem}.attention-card{padding:1rem 1.1rem}.attention-list{list-style:none;margin:0;padding:0}.attention-list li{display:flex;align-items:baseline;justify-content:space-between;gap:.8rem;padding:.5rem 0;border-bottom:1px solid var(--color-hairline)}.attention-list li:last-child{border-bottom:none}.attention-title{color:var(--color-text);font-weight:500;min-width:0;overflow-wrap:anywhere}.attention-title:hover{color:var(--color-primary)}.attention-meta{color:var(--color-text-muted);font-size:.8rem;white-space:nowrap;display:flex;align-items:center;gap:.5rem;flex:none}.deadline-date{font-weight:600}.deadline-overdue,.deadline-overdue-note a{color:var(--impact-critical);font-weight:600}.badge{display:inline-flex;align-items:center;gap:6px;padding:2px 10px;border-radius:999px;font-size:.72rem;font-weight:600;white-space:nowrap}.badge:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;flex:none}.badge[data-level]{color:var(--badge-ink, var(--color-text));background:var(--badge-bg, var(--color-surface-2))}.badge-unknown{color:var(--color-text-muted);background:var(--color-bg)}.badge-ai{color:var(--ai-accent);background:transparent;border:1px solid var(--ai-border);border-radius:var(--radius-tag);font-size:.62rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:2px 6px}.badge-ai:before{display:none}.badge-status-received{color:var(--state-pending);background:var(--state-pending-bg)}.badge-status-in_review{color:var(--state-modified);background:var(--state-modified-bg)}.badge-status-finalized{color:var(--state-finalized);background:var(--state-finalized-bg)}.badge-superseded{color:var(--state-rejected);background:var(--state-rejected-bg)}.segmented{display:inline-flex;flex-wrap:wrap;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-btn);overflow:hidden;margin-bottom:1rem}.segment{display:inline-flex;align-items:center;gap:7px;border:none;background:none;font-family:var(--font);font-size:.85rem;font-weight:500;color:var(--color-text-muted);padding:.5rem .9rem;cursor:pointer;border-right:1px solid var(--color-border);white-space:nowrap}.segment:last-child{border-right:none}.segment:hover{background:var(--color-bg);color:var(--color-text)}.segment.active{background:var(--color-nav-active-bg);color:var(--brand-blue-deep);font-weight:600}.segment-count{font-size:.7rem;font-weight:600;line-height:1.5;padding:0 6px;border-radius:999px;background:#1416180f}.filters-panel{padding:.9rem 1.1rem 1.1rem;margin-bottom:1rem}.filters-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.7rem}.filters-title{display:inline-flex;align-items:center;gap:.6rem;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted)}.filters-active-count{text-transform:none;letter-spacing:0;font-size:.7rem;font-weight:600;padding:1px 8px;border-radius:999px;background:var(--color-nav-active-bg);color:var(--brand-blue-deep)}.filters-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.75rem .9rem}.filter-field{display:flex;flex-direction:column;gap:.3rem;min-width:0}.filter-field-search{grid-column:1 / -1}.filter-label{font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted)}.filter-field select,.filter-field input{width:100%;min-width:0;padding:.45rem .55rem;border:1px solid var(--color-border);border-radius:var(--radius-btn);font-family:var(--font);font-size:.85rem;background:var(--color-surface);color:var(--color-text)}.filter-field select:focus,.filter-field input:focus{outline:2px solid var(--brand-blue);outline-offset:-1px}.filters-head-actions{display:inline-flex;align-items:center;gap:.75rem}.filter-field-check .filter-toggle{padding:.45rem 0}.queue-summary{color:var(--color-text-muted);font-size:.82rem;margin-bottom:.6rem}.queue-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:.9rem}.assessment-card{padding:1rem 1.1rem;display:flex;flex-direction:column;gap:.55rem}.assessment-card-head{display:flex;flex-direction:column;gap:.15rem;min-width:0}.assessment-card-jurisdiction{font-size:.7rem;font-weight:700;letter-spacing:.06em;color:var(--color-text-muted)}.assessment-card-title{font-weight:600;font-size:.98rem;color:var(--color-text);line-height:1.35;min-width:0;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.assessment-card-title:hover{color:var(--color-primary)}.assessment-card-meta{color:var(--color-text-muted);font-size:.8rem}.assessment-card-badges{display:flex;gap:.4rem;flex-wrap:wrap}.assessment-card-summary{margin:0;font-size:.85rem;line-height:1.45;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.assessment-card-departments{display:flex;gap:.35rem;flex-wrap:wrap}.dept-chip{background:var(--color-bg);border:1px solid var(--color-border);border-radius:999px;padding:1px 8px;font-size:.72rem;color:var(--color-text-muted)}.assessment-card-counts{font-size:.8rem;color:var(--color-text-muted)}.assessment-card-footer{margin-top:auto;display:flex;justify-content:space-between;align-items:baseline;gap:.6rem;border-top:1px solid var(--color-border);padding-top:.55rem;font-size:.8rem}.assessment-card-received{color:var(--color-text-muted);white-space:nowrap}.assessment-card-footer .source-link{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pager{display:flex;align-items:center;justify-content:center;gap:1rem;margin:1.2rem 0 .4rem;font-size:.85rem;color:var(--color-text-muted)}.pager button{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:.4rem .8rem;font-size:.85rem;color:var(--color-text)}.pager button:disabled{opacity:.45;cursor:default}.pager button:not(:disabled):hover{border-color:var(--color-primary)}.login-wrap{height:100%;display:flex;align-items:center;justify-content:center;background:var(--color-bg)}.login-card{width:360px;display:flex;flex-direction:column;gap:.9rem;align-items:stretch}.login-card input{padding:.6rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius);font-family:var(--font);font-size:.9rem}.login-logo{display:flex;justify-content:center;margin-bottom:.5rem}.login-error{background:var(--state-rejected-bg);border:1px solid #f3b3b5;color:var(--state-rejected);border-radius:var(--radius);padding:.55rem .75rem;font-size:.85rem}.hint{color:var(--color-text-muted);font-size:.82rem;text-align:center}.detail-header{position:sticky;top:0;z-index:5;background:var(--color-bg);padding-top:.25rem;margin-bottom:1rem;border-bottom:1px solid var(--color-border)}.detail-header-top{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;flex-wrap:wrap}.detail-header-titleblock{display:flex;flex-direction:column;gap:.2rem;min-width:0;flex:1 1 320px}.detail-jurisdiction{font-size:.74rem;font-weight:700;letter-spacing:.06em;color:var(--color-text-muted)}.detail-title{margin:0;font-size:1.25rem;line-height:1.35;min-width:0;overflow-wrap:anywhere}.title-launch{display:inline-flex;align-items:center;vertical-align:baseline;margin-left:.35em;color:var(--color-primary)}.detail-header-top .detail-header-actions{flex:none}.progress-pill{display:inline-block;padding:3px 12px;border-radius:999px;font-size:.78rem;font-weight:600;color:var(--state-modified);background:var(--state-modified-bg);white-space:nowrap}.detail-header-actions{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}.report-error{color:var(--state-rejected);font-size:.82rem;margin-top:.35rem}.finalize-summary{font-size:.9rem;margin:0 0 .8rem}.finalize-rejected{background:var(--state-rejected-bg);border-radius:var(--radius);padding:.6rem .85rem;margin-bottom:.8rem;font-size:.85rem}.finalize-rejected-title{font-weight:600;margin-bottom:.35rem}.finalize-rejected ul{margin:0;padding-left:1.1rem}.finalize-rejected li{margin-bottom:.25rem}.finalize-rejected-kind{text-transform:uppercase;font-size:.7rem;font-weight:700;color:var(--state-rejected);margin-right:.25rem}.finalize-rejected-comment{color:var(--color-text-muted)}.finalize-note{font-size:.85rem;color:var(--color-text-muted);margin:0 0 .8rem}.detail-header-meta{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;margin:.5rem 0 .75rem}.detail-meta-text{color:var(--color-text-muted);font-size:.82rem}.tab-strip{display:flex;gap:.1rem;overflow-x:auto}.tab{border:none;background:none;font-family:var(--font);font-size:.85rem;color:var(--color-text-muted);padding:.5rem .75rem;cursor:pointer;border-bottom:2px solid transparent;white-space:nowrap}.tab:hover{color:var(--color-text)}.tab-active{color:var(--color-primary);font-weight:600;border-bottom-color:var(--color-primary)}.detail-sections{display:flex;flex-direction:column;gap:1rem}.detail-section h2{margin:0 0 .6rem;font-size:.95rem}.detail-description{color:var(--color-text-muted);margin-top:0}.detail-summary{margin:0;line-height:1.55}.detail-summary>p,.detail-summary>ul,.detail-summary>ol{margin:0 0 .7rem}.detail-summary>ul,.detail-summary>ol{padding-left:1.1rem}.detail-summary>:last-child{margin-bottom:0}.detail-summary li{margin-bottom:.25rem}.detail-note{color:var(--color-text-muted);font-size:.82rem}.meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.75rem}.meta-grid>.meta-item{border:1px solid var(--color-border);border-radius:var(--radius);padding:.75rem;min-width:0}.meta-grid-review{margin-top:.75rem}.meta-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted)}.meta-value{font-size:.88rem;max-height:5.5rem;overflow-y:auto;overflow-wrap:anywhere}.score-row{display:flex;gap:2rem;margin-top:.9rem}.classification-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}.classification-block{border:1px solid var(--color-border);border-radius:var(--radius);padding:.75rem}.classification-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);margin-bottom:.35rem}.classification-rationale{margin:.5rem 0 0;font-size:.83rem;color:var(--color-text-muted);line-height:1.5}.badge-neutral{color:var(--color-text);background:var(--color-bg);border:1px solid var(--color-border)}.badge-neutral:before{display:none}.state-chip-pending{color:var(--color-text-muted);background:var(--color-bg);border:1px solid var(--color-border)}.state-chip-accepted{color:var(--state-accepted);background:var(--state-accepted-bg)}.state-chip-rejected{color:var(--state-rejected);background:var(--state-rejected-bg)}.state-chip-modified{color:var(--state-modified);background:var(--state-modified-bg)}.state-chip-orphaned{color:var(--state-pending);background:var(--state-pending-bg)}.key-date-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.7rem}.key-date-row{border-bottom:1px solid var(--color-hairline);padding-bottom:.7rem}.key-date-row:last-child{border-bottom:none;padding-bottom:0}.key-date-head{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.key-date-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);flex:0 0 13rem}.key-date-value{font-size:.9rem;font-weight:600;flex:1 1 8rem;min-width:0}.key-date-row .key-date-note{margin-top:.25rem;padding-left:13.6rem}@media (max-width: 720px){.key-date-label{flex-basis:100%}.key-date-row .key-date-note{padding-left:0}}.question-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.9rem}.question-row{border-bottom:1px solid var(--color-hairline);padding-bottom:.9rem}.question-row:last-child{border-bottom:none;padding-bottom:0}.question-head{display:flex;align-items:flex-start;gap:.5rem}.question-text{flex:1;font-weight:500;font-size:.9rem}.answer-chip-yes{color:var(--state-accepted);background:var(--state-accepted-bg)}.answer-chip-no{color:var(--color-text-muted);background:var(--color-bg);border:1px solid var(--color-border)}.question-rationale{margin:.4rem 0 0;font-size:.83rem;color:var(--color-text-muted);line-height:1.5}.question-source{margin-top:.3rem;font-size:.75rem;color:var(--color-text-muted)}.data-table-wrap{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-size:.85rem}.data-table th{position:sticky;top:0;z-index:1;background:var(--color-surface);text-align:left;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);padding:.5rem .65rem;border-bottom:1px solid var(--color-border)}.data-table td{padding:.55rem .65rem;border-bottom:1px solid var(--color-hairline);vertical-align:top}.data-table tr:last-child td{border-bottom:none}.citation-head{display:flex;align-items:baseline;gap:.6rem;flex-wrap:wrap}.citation-loc{color:var(--color-text-muted);font-size:.8rem}.citation-quote{margin:.6rem 0;padding:.5rem .9rem;border-left:3px solid var(--color-primary);background:var(--color-bg);font-style:italic;font-size:.88rem}.citation-supports{font-size:.8rem;color:var(--color-text-muted);margin-bottom:.4rem}.citation-refs{color:var(--color-text-muted);white-space:nowrap}.citation-refs a{color:var(--color-primary)}.key-date-note{font-size:.8rem;color:var(--color-text-muted);line-height:1.5}.json-rows{margin:0;display:flex;flex-direction:column;gap:.45rem}.json-row{display:grid;grid-template-columns:minmax(140px,220px) 1fr;gap:.75rem}.json-row dt{font-size:.8rem;font-weight:600;color:var(--color-text-muted)}.json-row dd{margin:0;font-size:.86rem;line-height:1.5}.json-list{margin:0;padding-left:1.1rem;display:flex;flex-direction:column;gap:.4rem}@media (max-width: 640px){.json-row{grid-template-columns:1fr;gap:.15rem}}.cell-prose{font-size:.84rem;line-height:1.5;max-width:30rem}.gov-status-banner{padding:.6rem .8rem;border-radius:var(--radius-tag);border-left:3px solid var(--color-primary);background:var(--color-bg);font-size:.86rem;line-height:1.5}.gov-status-pass{border-left-color:var(--impact-none);background:var(--state-accepted-bg)}.gov-status-warn{border-left-color:var(--impact-medium);background:var(--impact-medium-bg)}.gov-status-escalate{border-left-color:var(--impact-critical);background:var(--state-rejected-bg)}.badge-pass,.badge-fail,.badge-na{border:1px solid var(--color-border);background:var(--color-bg)}.badge-pass:before,.badge-fail:before,.badge-na:before{display:none}.badge-pass{color:var(--impact-none);border-color:var(--impact-none)}.badge-fail{color:var(--impact-critical);border-color:var(--impact-critical)}.badge-na{color:var(--color-text-muted)}.changes-basis{padding:.6rem .8rem;border-radius:var(--radius-tag);border-left:3px solid var(--color-primary);background:var(--color-bg);font-size:.86rem;line-height:1.55;margin-bottom:.9rem}.changes-basis-warn{border-left-color:var(--impact-medium);background:var(--impact-medium-bg)}.changes-basis-detail{margin-top:.3rem;font-size:.8rem;color:var(--color-text-muted)}.changes-subhead{font-size:.86rem;font-weight:600;margin:1rem 0 .5rem}.changes-search{margin-top:.9rem;font-size:.84rem}.changes-search summary{cursor:pointer;color:var(--color-primary)}.ref-group{margin-bottom:1rem}.ref-group:last-child{margin-bottom:0}.ref-title{font-size:.86rem;line-height:1.5}.decision-buttons{display:inline-flex;gap:.3rem;white-space:nowrap}.decision-btn{border:1px solid var(--color-border);background:var(--color-surface);border-radius:var(--radius);font-family:var(--font);font-size:.75rem;font-weight:600;padding:.25rem .55rem;cursor:pointer;color:var(--color-text-muted)}.decision-btn:disabled{opacity:.45;cursor:not-allowed}.decision-accept:hover:not(:disabled){color:var(--state-accepted);background:var(--state-accepted-bg);border-color:var(--state-accepted)}.decision-reject:hover:not(:disabled){color:var(--state-rejected);background:var(--state-rejected-bg);border-color:var(--state-rejected)}.decision-modify:hover:not(:disabled){color:var(--state-modified);background:var(--state-modified-bg);border-color:var(--state-modified)}.question-decide{margin-top:.5rem}.editable-field-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin-bottom:.45rem}.editable-field-controls{display:inline-flex;align-items:center;gap:.5rem;margin-left:auto}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;z-index:50;padding:1rem}.modal{width:min(560px,100%);max-height:90vh;overflow-y:auto;display:flex;flex-direction:column;gap:.8rem}.modal-title{margin:0;font-size:1rem;line-height:1.4}.modal-field{display:flex;flex-direction:column;gap:.25rem}.modal-field-label{font-size:.75rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}.modal-required{text-transform:none;letter-spacing:0;font-weight:400}.modal-field input,.modal-field select,.modal-field textarea{padding:.45rem .6rem;border:1px solid var(--color-border);border-radius:var(--radius);font-family:var(--font);font-size:.85rem;background:var(--color-surface);color:var(--color-text)}.modal-original{font-size:.76rem;color:var(--color-text-muted);font-style:italic;white-space:pre-wrap}.modal-error{background:var(--state-rejected-bg);border:1px solid #f3b3b5;color:var(--state-rejected);border-radius:var(--radius);padding:.55rem .75rem;font-size:.85rem}.modal-actions{display:flex;justify-content:flex-end;gap:.5rem}.btn-primary,.btn-secondary{border-radius:var(--radius-btn);font-family:var(--font);font-size:.85rem;font-weight:500;padding:.45rem .9rem;cursor:pointer}.btn-primary{border:1px solid var(--color-primary);background:var(--color-primary);color:#fff}.btn-primary:disabled,.btn-secondary:disabled{opacity:.55;cursor:not-allowed}.btn-secondary{border:1px solid var(--brand-blue-deep);background:var(--color-surface);color:var(--brand-blue-deep)}.state-cell{display:inline-flex;flex-direction:column;align-items:flex-start;gap:.3rem}.edit-history-toggle{border:none;background:none;font-family:var(--font);font-size:.72rem;font-weight:600;color:var(--color-primary);cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:2px}.edit-history{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);padding:.6rem .8rem;margin-top:.5rem;font-size:.8rem}.edit-history-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.edit-history-row{display:flex;flex-wrap:wrap;gap:.3rem .6rem;align-items:baseline}.edit-field{font-weight:600;min-width:90px}.edit-old{color:var(--color-text-muted);text-decoration:line-through;text-decoration-color:var(--state-rejected);text-decoration-thickness:1px}.edit-new{color:var(--state-accepted);font-weight:600}.edit-arrow{color:var(--color-text-muted)}.edit-meta{color:var(--color-text-muted);font-size:.74rem;margin-left:auto}.edit-originals{margin-top:.5rem;padding-top:.45rem;border-top:1px dashed var(--color-border);color:var(--color-text-muted);font-size:.76rem;font-style:italic}.data-table-detail-row>td{background:var(--color-bg);padding-top:0}.audit-timeline{list-style:none;margin:0;padding:0;position:relative}.audit-timeline:before{content:"";position:absolute;left:5px;top:6px;bottom:6px;width:2px;background:var(--color-border)}.audit-event{position:relative;padding:0 0 1rem 1.6rem}.audit-event:last-child{padding-bottom:0}.audit-dot{position:absolute;left:0;top:4px;width:12px;height:12px;border-radius:50%;border:2px solid var(--color-surface);box-shadow:0 0 0 1px var(--color-border)}.audit-dot-decision{background:var(--state-accepted)}.audit-dot-edit{background:var(--state-modified)}.audit-dot-intake{background:var(--state-finalized)}.audit-dot-session{background:var(--color-text-muted)}.audit-dot-other{background:var(--state-pending)}.audit-dot-comment{background:var(--color-primary)}.audit-headline{font-size:.87rem;line-height:1.45}.audit-meta{color:var(--color-text-muted);font-size:.76rem;margin-top:.1rem}.audit-load-more{margin-top:.9rem}.audit-details-cell{display:inline-block;max-width:420px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.comment-list{list-style:none;margin:0 0 1.1rem;padding:0}.comment-item{padding:.65rem 0;border-bottom:1px solid var(--color-hairline)}.comment-item:last-child{border-bottom:none}.comment-meta{color:var(--color-text-muted);font-size:.76rem;margin-bottom:.2rem}.comment-author{color:var(--color-text);font-weight:600}.comment-body{font-size:.88rem;line-height:1.5;white-space:pre-wrap}.comment-composer{display:flex;flex-direction:column;align-items:flex-start;gap:.55rem}.comment-composer textarea{width:100%;resize:vertical;font:inherit;font-size:.88rem;padding:.55rem .7rem;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text)}.comment-composer textarea:focus{outline:none;border-color:var(--color-primary)}.comment-error{color:var(--state-rejected);font-size:.8rem}.conflict-banner,.finalized-banner{border-radius:var(--radius);padding:.55rem .85rem;font-size:.85rem;margin-bottom:1rem}.conflict-banner{background:var(--state-pending-bg);border:1px solid var(--state-pending);color:var(--state-pending)}.finalized-banner{background:var(--state-finalized-bg);border:1px solid var(--state-finalized);color:var(--state-finalized)}.cal-toolbar{display:flex;align-items:center;gap:.6rem;margin-bottom:1rem}.cal-toolbar button{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);border-radius:var(--radius);padding:.35rem .7rem;font-size:.95rem;line-height:1;cursor:pointer}.cal-toolbar button:hover{border-color:var(--color-primary);color:var(--color-primary)}.cal-title{font-size:1.05rem;font-weight:600;min-width:11rem;text-align:center}.cal-today{margin-left:auto}.cal-card{padding:0;overflow:hidden}.cal-head{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid var(--color-border)}.cal-head-cell{padding:.5rem;font-size:.75rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em;text-align:center}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr)}.cal-cell{min-height:112px;border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);padding:4px;display:flex;flex-direction:column;gap:3px;overflow:hidden}.cal-cell:nth-child(7n){border-right:none}.cal-cell.out{background:var(--color-bg)}.cal-cell.out .cal-daynum{color:var(--color-text-muted);opacity:.6}.cal-cell.today{box-shadow:inset 0 0 0 2px var(--color-primary)}.cal-daynum{font-size:.78rem;font-weight:600;color:var(--color-text);padding:1px 3px}.cal-pills{display:flex;flex-direction:column;gap:2px}.cal-pill{display:block;font-size:.72rem;line-height:1.3;padding:1px 6px;border-radius:var(--radius);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border:1px solid transparent}a.cal-pill:hover{text-decoration:none;filter:brightness(.96)}.cal-pill.deadline[data-prio]{color:var(--badge-ink, var(--color-text));background:var(--badge-bg, transparent);border-color:currentColor}.cal-pill.key-effective{background:transparent;color:var(--color-accent);border-color:var(--color-accent)}.cal-pill.key-implementation{background:transparent;color:var(--color-primary);border-color:var(--color-primary)}.cal-more{font-size:.7rem;color:var(--color-text-muted);padding:0 4px}.cal-legend{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.9rem}.cal-legend .cal-pill{flex:0 0 auto}.cal-empty{color:var(--color-text-muted);font-size:.85rem;margin-top:.75rem}.analytics-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.analytics-head h1{margin:0}.user-status{display:inline-block;padding:2px 10px;border-radius:999px;font-size:.75rem;font-weight:600}.user-status.active{color:var(--state-accepted);background:var(--state-accepted-bg)}.user-status.inactive{color:var(--state-rejected);background:var(--state-rejected-bg)}.row-actions{display:inline-flex;gap:.75rem;white-space:nowrap}.link-btn{border:none;background:none;padding:0;color:var(--color-primary);font:inherit;cursor:pointer}.link-btn:hover{text-decoration:underline}.page-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:.9rem;align-items:start}.page-card-grid .card-full{grid-column:1 / -1}.settings-form .modal-field input{max-width:420px}.profile-grid{display:grid;grid-template-columns:8rem 1fr;gap:.4rem 1rem;margin:.75rem 0 0}.profile-grid dt{color:var(--color-text-muted);font-size:.85rem}.profile-grid dd{margin:0;font-size:.9rem}.settings-form{margin-top:.75rem;display:flex;flex-direction:column;gap:.9rem}.settings-ok{color:var(--state-accepted);background:var(--state-accepted-bg);border-radius:var(--radius);padding:.5rem .75rem;font-size:.85rem;margin-bottom:.5rem}.dropzone-form{display:flex;flex-direction:column;gap:.9rem}.submit-card .modal-error,.submit-card .settings-ok{margin-top:.75rem}.dropzone-form .modal-error{margin-top:0}.dropzone{border:2px dashed var(--color-border);border-radius:var(--radius);padding:2rem 1rem;text-align:center;cursor:pointer;transition:border-color .15s,background .15s}.dropzone:hover,.dropzone.dragging{border-color:var(--color-primary);background:var(--color-nav-active-bg)}.dropzone-primary{margin:0;font-weight:600}.dropzone-secondary{margin:.35rem 0 0;color:var(--color-text-muted);font-size:.85rem}.dropzone-file{display:flex;align-items:center;gap:.75rem;margin-top:.75rem;padding:.5rem .75rem;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius)}.dropzone-file-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropzone-file-size{color:var(--color-text-muted);font-size:.82rem;margin-left:auto}.sub-status{display:inline-block;padding:2px 10px;border-radius:999px;font-size:.75rem;font-weight:600}.sub-status.queued{color:var(--state-pending);background:var(--state-pending-bg)}.sub-status.received{color:var(--state-accepted);background:var(--state-accepted-bg)}.sub-status.failed{color:var(--state-rejected);background:var(--state-rejected-bg)}.link-row{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}.link-row input{flex:1 1 320px;padding:.55rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius);font-family:var(--font);font-size:.9rem}.link-row input:focus{outline:2px solid var(--color-primary);outline-offset:-1px}.detail-back{margin-bottom:.75rem;font-size:.85rem}.change-add:before,.change-remove:before,.change-modify:before{display:none}.change-add{color:var(--state-accepted);background:var(--state-accepted-bg)}.change-remove{color:var(--state-rejected);background:var(--state-rejected-bg)}.change-modify{color:var(--state-modified);background:var(--state-modified-bg)}.citation-group{margin-top:.6rem;border-top:1px solid var(--color-hairline);padding-top:.6rem}.citation-group>summary{cursor:pointer;font-weight:600;font-size:.86rem}.citation-group-count{margin-left:.4rem;padding:1px 7px;border-radius:999px;background:var(--color-bg);color:var(--color-text-muted);font-size:.74rem;font-weight:600}.citation-group>.detail-sections{margin-top:.6rem}.tag-input{display:flex;flex-direction:column;gap:.4rem}.tag-input-chips{display:flex;flex-wrap:wrap;gap:.35rem;margin:0;padding:0;list-style:none}.tag-input-chip{display:inline-flex;align-items:center;gap:.35rem;padding:2px 4px 2px 10px;border:1px solid var(--color-border);border-radius:var(--radius-tag);background:var(--color-bg);font-size:.8rem}.tag-input-remove{border:0;background:none;cursor:pointer;padding:0 4px;color:var(--color-text-muted);font-size:1rem;line-height:1}.tag-input-remove:hover{color:var(--impact-critical)}.tag-input-empty{color:var(--color-text-muted);font-size:.8rem}
