@font-face {font-family:'Geist';font-style:normal;font-weight:400;font-display:swap;src:url('/workspace/assets/fonts/geist-400.ttf') format('truetype');}
@font-face {font-family:'Geist';font-style:normal;font-weight:500;font-display:swap;src:url('/workspace/assets/fonts/geist-500.ttf') format('truetype');}
@font-face {font-family:'Geist';font-style:normal;font-weight:600;font-display:swap;src:url('/workspace/assets/fonts/geist-600.ttf') format('truetype');}
@font-face {font-family:'Geist';font-style:normal;font-weight:700;font-display:swap;src:url('/workspace/assets/fonts/geist-700.ttf') format('truetype');}

:root {
  color-scheme: light;
  --bg:#f2f4f7; --panel:#ffffff; --raised:#f7f8fa; --hover:#edf0f3; --selected:#e8ebef;
  --border:#e2e5e9; --rule:#edf0f3; --control:#c5cbd2;
  --text:#18191b; --muted:#5b6069; --primary:#202226; --primary-ink:#ffffff; --primary-hover:#35383e;
  --accent:#1d5fbf; --accent-soft:#eef4fe; --accent-border:#b1c9ef;
  --positive:#246446; --positive-bg:#e9f4ed;
  --warning:#8b5411; --warning-bg:#fff4e4; --warning-border:#ecd2ac;
  --negative:#b3353c; --negative-bg:#ffeff0;
  --teal:var(--accent); --amber:var(--warning); --red:var(--negative); --gold:var(--text);
  --overlay:rgb(0 0 0 / .5); --shadow-color:rgb(0 0 0 / .12); --shadow:0 16px 40px var(--shadow-color);
  font-family:'Geist',system-ui,-apple-system,'Segoe UI',sans-serif;
  font-size:14px; font-weight:400; line-height:1.5; font-synthesis:none;
}
:root[data-theme="dark"] {
  color-scheme:dark;
  --bg:#111213; --panel:#1a1b1d; --raised:#242528; --hover:#2b2d31; --selected:#303237;
  --border:#333538; --rule:#2a2c2f; --control:#51545b;
  --text:#f3f3f4; --muted:#b7bac1; --primary:#f0f1f3; --primary-ink:#141517; --primary-hover:#ffffff;
  --accent:#8eb8ff; --accent-soft:#1b2b44; --accent-border:#45658f;
  --positive:#81d2aa; --positive-bg:#1d3329;
  --warning:#efc078; --warning-bg:#382d1d; --warning-border:#755d32;
  --negative:#f2a5ab; --negative-bg:#3b2428;
  --shadow-color:rgb(0 0 0 / .35);
}
* {box-sizing:border-box;}
body {margin:0; background:var(--bg); color:var(--text);}
button,input,select,textarea {font:inherit;}
button,a,input,select,textarea,summary {outline-offset:3px;}
:focus-visible {outline:2px solid var(--accent);}
button {cursor:pointer; border:1px solid var(--control); background:var(--panel); color:var(--text); border-radius:6px; padding:9px 14px; min-height:36px; font-weight:500; transition:background-color .15s,border-color .15s;}
button:hover {background:var(--hover); border-color:var(--muted);}
button:active {background:var(--selected);}
button:disabled {cursor:not-allowed; color:var(--muted); background:var(--raised); border-color:var(--border);}
.primary {background:var(--primary); color:var(--primary-ink); border-color:var(--primary);}
.primary:hover {background:var(--primary-hover); color:var(--primary-ink); border-color:var(--primary-hover);}
.quiet {background:transparent; border-color:var(--border);}
.danger {color:var(--negative);}
.small {min-height:32px; padding:6px 10px; font-size:12px;}
a {color:var(--text);}
.skip-link {position:fixed; top:-80px; left:16px; z-index:30; padding:12px 16px; background:var(--primary); color:var(--primary-ink); border-radius:6px;}
.skip-link:focus {top:12px;}
/* Canvas: at 1440px, 2×32px gutters + 1376px content. Three peers:
   3×450.67px + 2×12px = 1376px. At 390px: 2×16px + 358px. */
.topbar {background:var(--panel); border-bottom:1px solid var(--border);}
.topbar-inner {max-width:1440px; margin:auto; padding:16px 32px; min-height:92px; flex-wrap:wrap; display:flex; align-items:center; justify-content:space-between; gap:24px;}
.brand {display:flex; flex-direction:column; align-items:flex-start; gap:4px; flex-shrink:0;}
.brand-logo {display:block; width:184px; height:46px;}
.brand-system {color:var(--muted); font-size:11px; line-height:1.4; font-weight:400;}
.theme-picker {display:flex; align-items:center; gap:9px; font-size:12px; color:var(--muted);}
.theme-picker>span {margin:0;}
.theme-picker select {width:124px; min-height:34px; padding:6px 10px; background:var(--raised); font-size:12px;}
.nav {display:flex; flex:1; min-width:0; align-items:center; justify-content:flex-end; gap:4px; margin:0; padding:0; overflow-x:auto;}
.nav button {display:inline-flex; align-items:center; gap:8px; border:0; background:transparent; color:var(--muted); padding:9px 11px; min-height:38px; white-space:nowrap; font-size:13px; flex-shrink:0;}
.nav button:hover {color:var(--text); background:var(--raised);}
.nav button.active {background:var(--selected); color:var(--text); font-weight:500;}
.nav-icon {width:16px; height:16px; flex-shrink:0; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round;}
.nav-toggle {display:none;}

#app {min-height:100dvh; display:flex; flex-direction:column;}
main {width:100%; flex:1; max-width:1440px; margin:0 auto; padding:28px 32px 60px; min-width:0;}
.page-head {display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:24px;}
.page-head>div:first-child {min-width:0;}
h1 {font-size:26px; font-weight:600; letter-spacing:-.6px; line-height:1.25; margin:0 0 8px; overflow-wrap:anywhere;}
h2 {font-size:16px; font-weight:600; letter-spacing:-.15px; line-height:1.4; margin:0;}
h3 {font-size:14px; font-weight:500; margin:0; line-height:1.5;}
p {color:var(--muted); font-size:14px; line-height:1.6; margin:8px 0;}
.page-head p {margin:0;}
.head-actions,.actions,.toolbar,.segmented {display:flex; align-items:center; gap:8px;}
.head-actions {flex-wrap:wrap;}
.panel {background:var(--panel); border:1px solid var(--border); border-radius:8px; overflow:hidden; min-width:0;}
.panel-head {display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; border-bottom:1px solid var(--border); padding:18px 20px;}
.panel-body {padding:20px;}
.grid {display:grid; gap:12px; min-width:0;}
.stats {grid-template-columns:repeat(4,minmax(0,1fr)); margin-bottom:24px; gap:0; border:1px solid var(--border); background:var(--panel); border-radius:8px; overflow:hidden;}
.stat {padding:20px; border-right:1px solid var(--border); min-width:0;}
.stat:last-child {border-right:0;}
.stat .label {color:var(--muted); font-size:12px;}
.stat strong {display:block; font-size:30px; font-weight:500; line-height:1.3; letter-spacing:-.7px; margin:8px 0 5px; font-variant-numeric:tabular-nums;}
.stat small {font-size:12px; color:var(--muted);}
.stat.warning strong {color:var(--warning);}
.two-col {grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); align-items:start;}
.filters {padding:16px 20px; display:flex; flex-wrap:wrap; gap:12px; align-items:end; border-bottom:1px solid var(--border);}
label {display:block; font-size:13px; color:var(--text); font-weight:500;}
label>span {display:block; margin-bottom:7px;}
input,textarea,select {display:block; width:100%; min-width:0; border:1px solid var(--control); background:var(--panel); color:var(--text); border-radius:6px; padding:10px 11px; min-height:40px;}
input::placeholder,textarea::placeholder {color:var(--muted); opacity:1;}
input:focus,textarea:focus,select:focus {border-color:var(--accent);}
input[type=checkbox],input[type=radio] {min-height:0; accent-color:var(--primary);}
textarea {resize:vertical; min-height:100px;}
.filters label {min-width:130px; flex:1;}
.filters label.search {flex:2; min-width:200px;}
.toolbar {justify-content:space-between; padding:14px 20px; border-bottom:1px solid var(--border); flex-wrap:wrap;}
.segmented {gap:2px; background:var(--raised); border:1px solid var(--border); border-radius:6px; padding:3px;}
.segmented button {background:transparent; border:0; padding:6px 12px; color:var(--muted); font-size:12px; min-height:30px;}
.segmented .selected {background:var(--panel); color:var(--text);}
.subtabs {display:flex; flex-wrap:wrap; gap:20px; align-items:center;}
.subtabs button {border:0; background:none; padding:8px 0; color:var(--muted); font-size:13px;}
.subtabs .selected {color:var(--text); border-bottom:2px solid var(--text);}
table {border-collapse:collapse; width:100%; text-align:left; font-variant-numeric:tabular-nums;}
th {background:transparent; color:var(--muted); font-size:12px; text-transform:none; letter-spacing:0; font-weight:500; padding:12px 20px; border-bottom:1px solid var(--border); white-space:nowrap;}
td {padding:14px 20px; border-bottom:1px solid var(--rule); font-size:13px; vertical-align:middle;}
tr:last-child td {border-bottom:0;}
tbody tr:hover {background:var(--raised);}
.table-wrap {overflow:auto; max-width:100%;}
.table-wrap table:has(th:nth-child(5)) {min-width:720px;}
.num {text-align:right; font-variant-numeric:tabular-nums; white-space:nowrap;}
.cell-main {font-size:14px; font-weight:500; display:block; line-height:1.5;}
.cell-sub {display:block; color:var(--muted); font-size:12px; margin-top:4px; line-height:1.5;}
.link {color:var(--text); border:0; background:none; padding:0; min-height:0; text-align:left; font-weight:500;}
.link:hover {background:none; color:var(--accent);}
.badge {white-space:nowrap; flex:none; display:inline-flex; align-items:center; gap:5px; padding:3px 7px; border-radius:4px; font-size:11px; font-weight:500; background:var(--selected); color:var(--text); line-height:1.5;}
.badge:before {content:''; width:4px; height:4px; border-radius:50%; background:currentColor;}
.badge.teal {background:var(--positive-bg); color:var(--positive);}
.badge.amber {background:var(--warning-bg); color:var(--warning);}
.badge.red {background:var(--negative-bg); color:var(--negative);}
.muted {color:var(--muted);}
.empty {text-align:left; padding:28px 20px;}
.empty-icon {display:none;}
.empty h3 {margin:0 0 6px;}
.empty p {max-width:520px; margin:0 0 16px; font-size:13px;}
.count {color:var(--muted); font-size:12px;}
.event-date {font-weight:500; color:var(--text); white-space:nowrap;}
.event-date.late {color:var(--negative);}
.calendar {display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); min-width:630px;}
.weekday {padding:12px 8px; text-align:center; font-size:12px; font-weight:500; color:var(--muted); border-bottom:1px solid var(--border);}
.day {min-height:130px; border-right:1px solid var(--rule); border-bottom:1px solid var(--rule); padding:8px; overflow:hidden;}
.day:nth-child(7n) {border-right:0;}
.day.out {background:var(--raised); color:var(--muted);}
.day-number {display:inline-grid; place-items:center; width:26px; height:26px; font-size:12px; margin-bottom:6px;}
.day.today .day-number {background:var(--primary); color:var(--primary-ink); border-radius:50%; font-weight:500;}
.calendar-event {display:block; width:100%; background:var(--accent-soft); color:var(--accent); border:0; border-left:2px solid var(--accent); border-radius:4px; font-size:12px; padding:6px; min-height:30px; text-align:left; margin-bottom:4px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.calendar-event.completed {background:var(--raised); color:var(--muted); border-left-color:var(--control);}
.timeline {border-left:1px solid var(--border); margin-left:6px; padding-left:22px;}
.timeline article {position:relative; padding-bottom:24px;}
.timeline article:before {content:''; width:7px; height:7px; background:var(--accent); border-radius:50%; position:absolute; left:-26px; top:6px;}
.timeline time {font-size:12px; color:var(--muted);}
.timeline h3 {margin:6px 0;}
.timeline p {white-space:pre-wrap; font-size:13px;}
.detail-grid {display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px;}
.detail-grid dt {font-size:12px; color:var(--muted); margin-bottom:6px;}
.detail-grid dd {margin:0; font-size:14px; overflow-wrap:anywhere;}
.back {margin-bottom:20px; color:var(--muted);}
dialog {border:1px solid var(--control); border-radius:8px; color:var(--text); background:var(--panel); width:min(700px,calc(100% - 32px)); padding:0; box-shadow:var(--shadow); max-height:90dvh;}
dialog::backdrop {background:var(--overlay);}
.dialog-head {padding:20px 24px; border-bottom:1px solid var(--border); display:flex; align-items:center; justify-content:space-between; gap:16px;}
.dialog-head button {padding:3px 10px; background:none; font-size:22px; flex:none;}
.form-grid {padding:24px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px;}
.full {grid-column:1/-1;}
.form-foot {padding:16px 24px; background:var(--raised); border-top:1px solid var(--border); display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px;}
.form-error {color:var(--negative); font-size:13px; margin:0 24px 16px; white-space:pre-wrap;}
.help {font-size:12px; color:var(--muted); margin-top:5px; line-height:1.6;}
.auth {min-height:100dvh; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); background:var(--panel);}
.auth-intro {padding:64px max(32px,10%); display:flex; flex-direction:column; justify-content:space-between; background:var(--bg); border-right:1px solid var(--border);}
.auth-intro h2 {font-size:30px; max-width:440px; margin-bottom:16px; line-height:1.3;}
.auth-intro p {max-width:390px; font-size:15px;}
.auth-form {display:flex; flex-direction:column; align-items:center; justify-content:center; padding:64px 32px; position:relative;}
.auth-form form {width:100%; max-width:360px;}
.auth-form label {margin:18px 0;}
.auth-form h2 {font-size:24px; font-weight:600;}
.auth-form .primary {width:100%; margin-top:8px;}
.auth-theme {margin-top:32px; width:100%; max-width:360px;}
.auth-theme label {margin:0;}
.workspace-footer {max-width:1440px; width:100%; margin:0 auto; padding:20px 32px; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px; border-top:1px solid var(--border); color:var(--muted); font-size:12px;}
.auth-mobile-brand {display:none;}
.auth-note {font-size:12px; margin-top:20px;}
.loading {display:grid; place-items:center; min-height:100dvh; color:var(--muted);}
#toast {position:fixed; bottom:24px; right:24px; padding:14px 18px; background:var(--panel); border:1px solid var(--control); border-radius:8px; color:var(--text); box-shadow:var(--shadow); max-width:min(420px,calc(100vw - 32px)); opacity:0; pointer-events:none; transition:opacity .15s; z-index:20;}
#toast.show {opacity:1;}
.footnote {font-size:12px; color:var(--muted); margin-top:20px;}
.activity-row {padding:16px 20px; border-bottom:1px solid var(--rule); display:flex; align-items:flex-start; gap:12px;}
.activity-row:last-child {border-bottom:0;}
.activity-dot {width:5px; height:5px; border-radius:50%; background:var(--accent); margin-top:8px; flex:none;}
.activity-row p {font-size:13px; margin:4px 0;}
.activity-row time {font-size:12px; color:var(--muted);}
@media(max-width:1280px) {
 .topbar-inner {padding:12px 24px;}
 .nav-toggle {display:inline-flex; align-items:center; gap:6px; padding:7px 10px;}
 .nav {display:none; padding:8px 24px 16px; overflow:visible; border-top:1px solid var(--border);}
 .topbar[data-nav-open=true] .nav {display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:4px; flex-basis:100%; justify-content:stretch;}
 .nav button {white-space:normal; text-align:left; justify-content:flex-start; min-width:0;}
 main {padding:24px;}
 .two-col {grid-template-columns:1fr;}
 .detail-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
 .auth-intro {padding:40px 32px;}
}
@media(max-width:650px) {
 .topbar-inner {padding:10px 16px; min-height:72px; gap:12px;}
 .brand-logo {width:140px; height:35px;}
 .brand-system {font-size:11px; max-width:150px;}
 .workspace-footer {padding:20px 16px;}
 .theme-picker select {width:92px; min-height:40px; padding:6px;}
 .nav-toggle {min-height:40px; width:40px; padding:9px; justify-content:center;}
 .nav-toggle span {display:none;}
 .topbar[data-nav-open=true] .nav {grid-template-columns:1fr; padding:8px 16px 16px; max-height:70dvh; overflow:auto;}
 .nav button {min-height:44px;}
 main {padding:24px 16px 40px;}
 .page-head {flex-direction:column; align-items:flex-start; gap:16px; margin-bottom:20px;}
 h1 {font-size:24px;}
 .stats {grid-template-columns:repeat(2,minmax(0,1fr));}
 .stat {padding:16px;}
 .stat:nth-child(2n) {border-right:0;}
 .stat:nth-child(n+3) {border-top:1px solid var(--border);}
 .stat strong {font-size:26px;}
 .panel-head,.panel-body {padding:16px;}
 .filters,.toolbar {padding:16px;}
 .filters label.search {min-width:100%;}
 .filters label {min-width:120px;}
 .form-grid {grid-template-columns:1fr; padding:20px;}
 .detail-grid {grid-template-columns:1fr; gap:16px;}
 .form-foot {padding:16px;}
 .head-actions,.actions {flex-wrap:wrap;}
 .subtabs {gap:16px;}
 .table-wrap table {min-width:540px;}
 th,td {padding:12px 16px;}
 .table-wrap td:first-child,.table-wrap th:first-child {position:sticky; left:0; background:var(--panel); z-index:1; min-width:110px; max-width:200px;}
 .auth {grid-template-columns:1fr;}
 .auth-intro {display:none;}
 .auth-form {padding:100px 24px 40px; min-height:100dvh;}
 .auth-mobile-brand {display:block; width:100%; max-width:360px; margin-bottom:32px;}
 .empty {padding:24px 16px;}
 .calendar {min-width:630px;}
 .panel:has(>.calendar) {overflow-x:auto;}
 button,.small {min-height:40px;}
}
@media(prefers-reduced-motion:reduce) {*,*::before,*::after {transition:none!important; scroll-behavior:auto!important;}}
.client-tabs {
  display: flex;
  gap: 8px;
  border-bottom: 1px solid var(--border, var(--border));
  margin: 22px 0;
  padding-bottom: 8px;
}
.client-tabs button {
  background: transparent;
  border-color: transparent;
}
.client-tabs button.selected {
  color: var(--positive);
  background: var(--selected);
  border-color: var(--positive);
}
[hidden] {
  display: none !important;
}
.document-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin: 18px 0;
}
.documentation-case {
  border: 1px solid var(--border, var(--border));
  border-radius: 8px;
  margin: 18px 0;
  overflow: hidden;
}
.documentation-case .panel-head {
  padding: 18px;
}
.documentation-case h3 {
  margin: 0;
}
.documentation-case .help {
  margin: 6px 0 0;
}
.documentation-case td {
  white-space: normal;
}

/* Case dossiers share the official catalog and existing client/process links. */
.group-summary { display:flex; align-items:center; gap:20px; color:var(--muted); margin-bottom:22px; flex-wrap:wrap; }
.group-gold { background:var(--selected); color:var(--text); border:1px solid var(--border); }
.group-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin-top:24px; }
.group-card { padding:24px; background:var(--panel); text-align:left; border-radius:8px; display:flex; flex-direction:column; min-width:0; }
.group-card:hover { border-color:var(--accent); background:var(--hover); }
.group-card-heading { display:flex; justify-content:space-between; align-items:center; gap:10px; margin-bottom:22px; }
.group-monogram { display:grid; place-items:center; width:44px; height:44px; background:var(--raised); border:1px solid var(--border); border-radius:9px; color:var(--text); font-family:inherit; font-size:19px; }
.group-card h2 { font-size:18px; overflow-wrap:anywhere; }
.group-card p { font-weight:400; font-size:13px; margin:12px 0 22px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.group-metrics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; border-top:1px solid var(--border); padding-top:18px; margin-top:auto; }
.group-metrics strong { display:block; font-size:26px; font-weight:600; letter-spacing:-0.5px; color:var(--text); }
.group-metrics span { display:block; margin-top:5px; color:var(--muted); font-size:12px; font-weight:400; }
.group-open { color:var(--text); border-top:1px solid var(--border); margin-top:20px; padding-top:16px; font-size:12px; display:flex; justify-content:space-between; }
.group-hero { margin:20px 0 24px; padding:30px; border:1px solid var(--border); border-radius:8px; background:var(--panel); }
.group-hero h1 { font-family:inherit; font-size:28px; font-weight:400; letter-spacing:0; margin:14px 0; }
.group-hero>p { max-width:850px; white-space:pre-wrap; }
.group-hero .group-metrics { max-width:650px; margin-top:25px; padding-top:22px; }
.group-tabs { display:flex; gap:8px; overflow-x:auto; margin-bottom:24px; padding-bottom:5px; }
.group-tabs button { white-space:nowrap; background:transparent; border-color:transparent; color:var(--muted); }
.group-tabs button.selected { background:var(--selected); color:var(--text); border-color:var(--border); }
.group-tabs button span { margin-left:6px; font-size:12px; }
.group-section { margin-top:24px; }
.group-prose { white-space:pre-wrap; margin:12px 0 26px; }
.group-facts { display:grid; gap:20px; grid-template-columns:1fr 1fr; border-top:1px solid var(--border); padding-top:20px; }
.group-facts span { display:block; color:var(--muted); font-size:12px; margin-bottom:8px; }
.group-facts strong { font-weight:500; white-space:pre-wrap; }
@media(max-width:1100px) { .group-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:650px) { .group-grid { grid-template-columns:1fr; } .group-hero { padding:22px; } .group-hero h1 { font-size:30px; } .group-facts { grid-template-columns:1fr; } }

.case-visibility { flex-shrink:0; }
.case-visibility-label { display:block; color:var(--muted); font-size:12px; margin-bottom:10px; }
.case-visibility-options { display:flex; flex-wrap:wrap; gap:20px; min-height:40px; align-items:center; }
.filters label.case-toggle { display:inline-flex; flex-direction:row; align-items:center; gap:9px; margin:0; cursor:pointer; position:relative; }
.case-toggle input { position:absolute; opacity:0; width:1px; height:1px; }
.case-toggle-track { width:36px; height:21px; border:1px solid var(--control); border-radius:20px; background:var(--raised); position:relative; transition:background .15s,border-color .15s; flex-shrink:0; }
.case-toggle-track::after { content:""; position:absolute; width:13px; height:13px; top:3px; left:3px; border-radius:50%; background:var(--raised); transition:transform .15s; }
.case-toggle input:checked + .case-toggle-track { background:var(--accent); border-color:var(--text); }
.case-toggle input:checked + .case-toggle-track::after { transform:translateX(15px); background:var(--primary-ink); }
.case-toggle input:focus-visible + .case-toggle-track { outline:2px solid var(--accent); outline-offset:4px; }
.filters .case-toggle>span:last-child { color:var(--text); margin:0; font-size:13px; }


.group-metrics-pair { grid-template-columns: repeat(2, minmax(0, 1fr)); }

.control-intro { display:flex; justify-content:space-between; align-items:flex-start; gap:28px; border:1px solid var(--border); border-radius:8px; padding:26px 30px; background:var(--panel); margin-bottom:24px; }
.control-intro h2 { font-family:inherit; font-size:27px; font-weight:400; margin:15px 0 10px; line-height:1.3; }
.control-intro p { max-width:720px; margin-bottom:0; }
.control-model-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin:28px 0 16px; }
.control-models { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-bottom:28px; }
.control-model { display:flex; align-items:flex-start; gap:14px; text-align:left; background:var(--panel); padding:20px; border-radius:8px; }
.control-model:hover { border-color:var(--accent); }
.control-model>div { flex:1; }
.control-model h3 { font-size:14px; line-height:1.45; }
.control-model p { font-size:12px; font-weight:400; margin-bottom:0; }
.control-model-number { color:var(--text); font-family:inherit; font-size:24px; }
.control-model>span:last-child { color:var(--text); }
.control-assignment { padding:7px 0; }
.control-method-detail { background:var(--raised); border-left:2px solid var(--accent); padding:16px; margin:20px 0; }
.control-method-detail h3 { margin-top:12px; }
.control-checks { border:1px solid var(--border); padding:16px; border-radius:8px; margin:20px 0; }
.control-checks summary { cursor:pointer; color:var(--text); }
#control-form .form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
@media(max-width:1100px) { .control-models { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:650px) { .control-intro { flex-direction:column; padding:22px; } .control-models,#control-form .form-grid { grid-template-columns:1fr; } .control-model-heading { align-items:flex-start; flex-direction:column; } }

.diagnostic-steps { display:flex; gap:8px; margin-bottom:24px; }
.diagnostic-steps button { flex:1; background:transparent; border-color:var(--border); color:var(--muted); padding:12px 8px; font-size:12px; }
.diagnostic-steps button span { display:inline-grid; place-items:center; width:22px; height:22px; border-radius:50%; background:var(--raised); margin-right:7px; }
.diagnostic-steps button[aria-current] { border-color:var(--accent); color:var(--text); background:var(--selected); }
.diagnostic-questions { display:grid; gap:16px; margin:24px 0; }
.diagnostic-question { margin:0; border:1px solid var(--border); padding:16px; border-radius:9px; min-width:0; }
.diagnostic-question legend { padding:0 7px; font-size:13px; line-height:1.6; color:var(--text); }
.diagnostic-question legend>span { color:var(--text); margin-right:8px; font-family:inherit; }
.diagnostic-answers { display:flex; gap:10px; flex-wrap:wrap; }
#control-form .diagnostic-answers label { display:flex; flex-direction:row; gap:7px; align-items:center; margin:0; padding:8px 12px; border:1px solid var(--border); border-radius:7px; cursor:pointer; }
#control-form .diagnostic-answers input,:is(#control-form,[data-case-procedures]) .diagnostic-routes input { width:auto; accent-color:var(--accent); margin:0; }
#control-form .diagnostic-answers label:has(input:checked) { background:var(--selected); border-color:var(--accent); }
#control-form .diagnostic-answers span,:is(#control-form,[data-case-procedures]) .diagnostic-routes span { color:var(--text); margin:0; font-size:13px; }
.decision-result { border:1px solid var(--border); border-radius:9px; background:var(--raised); padding:20px; margin:20px 0; }
.decision-result h3 { margin:14px 0; line-height:1.5; }
.decision-result li { color:var(--muted); margin-bottom:10px; line-height:1.6; }
.decision-transition { color:var(--text); }
.diagnostic-routes { display:grid; gap:12px; margin:18px 0; }
:is(#control-form,[data-case-procedures]) .diagnostic-routes label { display:flex; flex-direction:row; align-items:center; gap:12px; border:1px solid var(--border); padding:15px; border-radius:8px; margin:0; cursor:pointer; }
:is(#control-form,[data-case-procedures]) .diagnostic-routes label:has(input:checked) { border-color:var(--accent); background:var(--selected); }
.diagnostic-footer { display:flex; align-items:center; justify-content:space-between; gap:12px; border-top:1px solid var(--border); padding-top:20px; margin-top:24px; }
.diagnostic-footer>div { display:flex; gap:8px; }
.control-pending { padding:14px; border:1px solid var(--warning-border); background:var(--warning-bg); color:var(--amber); border-radius:8px; }
@media(max-width:650px) { .diagnostic-steps { gap:4px; } .diagnostic-steps button { font-size:12px; } .diagnostic-footer { flex-direction:column-reverse; align-items:stretch; } .diagnostic-footer>div { justify-content:space-between; } }

.method-explanation section { margin-bottom:24px; }
.method-explanation h3 { color:var(--text); margin-bottom:10px; }
.method-explanation p,.method-explanation li { line-height:1.8; color:var(--muted); }
.method-explanation li { padding-left:4px; margin-bottom:10px; }
.method-explanation .method-application { border-left:2px solid var(--accent); background:var(--raised); padding:16px 20px; }
.method-explanation .method-application p { margin-bottom:0; }

.control-nav-menu { position:fixed; inset:auto; margin:0; width:280px; max-width:calc(100vw - 24px); padding:8px; background:var(--panel); color:var(--text); border:1px solid var(--border); border-radius:8px; box-shadow:0 16px 40px var(--shadow-color); }
.control-nav-menu:popover-open { display:flex; flex-direction:column; gap:4px; }
.control-nav-menu button { width:100%; text-align:left; padding:13px 14px; background:transparent; border:0; color:var(--muted); }
.control-nav-menu button:hover,.control-nav-menu button:focus-visible,.control-nav-menu button[aria-current] { color:var(--text); background:var(--selected); }
.control-reference { margin-top:28px; }
.control-reference>summary { cursor:pointer; color:var(--text); font-size:15px; padding:18px 0; }
.control-reference .control-models { margin-top:12px; }
.control-case-summary .group-prose { max-width:1000px; line-height:1.85; }
.control-case-documents { border-top:1px solid var(--border); padding-top:22px; margin-top:24px; }
.control-document { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:18px 0; border-bottom:1px solid var(--border); }
.control-document:last-child { border-bottom:0; }
.control-document>div:first-child { min-width:0; overflow-wrap:anywhere; }
.button-link { display:inline-block; padding:9px 13px; border:1px solid var(--border); border-radius:7px; color:var(--text); background:var(--raised); text-decoration:none; white-space:nowrap; font-size:12px; }
.button-link:hover { background:var(--hover); }
.control-checks .control-case-summary { margin-top:20px; }
@media(max-width:650px){.control-document{align-items:flex-start;flex-direction:column;} .button-link{white-space:normal;}}

.client-reports-layout { display:grid; grid-template-columns:minmax(230px,30%) minmax(0,1fr); }
.client-reports-history { padding:16px; border-right:1px solid var(--border); display:flex; flex-direction:column; gap:8px; max-height:560px; overflow-y:auto; }
.client-reports-history button { text-align:left; padding:14px; background:transparent; border-color:transparent; overflow-wrap:anywhere; }
.client-reports-history time { display:block; color:var(--muted); font-size:12px; margin-bottom:8px; }
.client-reports-history strong { display:block; }
.client-reports-history button[aria-current] { background:var(--selected); border-color:var(--border); color:var(--text); }
.client-report-detail { padding:26px; overflow-wrap:anywhere; }
.client-report-detail h3 { font-size:22px; margin:12px 0 24px; }
.client-report-detail .button-link { margin-top:24px; }
@media(max-width:650px) { .client-reports-layout { grid-template-columns:1fr; } .client-reports-history { border-right:0; border-bottom:1px solid var(--border); max-height:240px; } }

.practice-tabs { padding-left:12px; border-left:2px solid var(--border); }

.concursal-pipeline { padding:18px 20px 12px; background:var(--panel); border:1px solid var(--border); border-radius:8px; }
.concursal-pipeline-head { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-bottom:12px; }
.concursal-pipeline-nav { display:flex; align-items:center; gap:6px; }
.concursal-stage-track { display:flex; gap:2px; flex:1; min-width:0; overflow-x:auto; scrollbar-width:thin; scrollbar-color:var(--border) transparent; padding:2px 0 7px; }
.concursal-stage { display:flex; align-items:center; justify-content:center; flex:0 0 196px; min-height:48px; padding:7px 18px 7px 22px; gap:8px; border:0; border-radius:0; color:var(--muted); background:var(--raised); font-size:12px; line-height:1.35; clip-path:polygon(0 0,calc(100% - 12px) 0,100% 50%,calc(100% - 12px) 100%,0 100%,12px 50%); }
.concursal-stage:first-child { clip-path:polygon(0 0,calc(100% - 12px) 0,100% 50%,calc(100% - 12px) 100%,0 100%); padding-left:12px; }
.concursal-stage.selected { background:var(--accent); color:var(--primary-ink); }
.concursal-stage:hover { background:var(--hover); color:var(--text); }
.concursal-stage.selected:hover { background:var(--primary-hover); color:var(--primary-ink); }
.concursal-stage:focus-visible { outline:0; box-shadow:inset 0 0 0 2px var(--accent); }
.stage-scroll { flex:0 0 30px; padding:7px 0; min-height:38px; color:var(--text); background:var(--selected); border-color:var(--border); font-size:23px; line-height:1; }
.concursal-stage-status { margin:10px 0 0; font-size:12px; }
.concursal-stage-status strong { color:var(--text); font-weight:500; }
@media(max-width:650px) { .concursal-pipeline { padding:14px 10px 10px; } .concursal-stage { flex-basis:164px; } .concursal-pipeline-head { align-items:flex-start; flex-direction:column; gap:4px; } }

.agenda-overview-card { cursor:pointer; }
.agenda-overview-card:hover { border-color:var(--border); }
.case-agenda-dialog { width:min(1180px,calc(100vw - 32px)); max-width:1180px; }
.case-agenda-dialog .dialog-head p { margin:7px 0 0; }
.case-agenda-dialog [data-case-agenda-content] { max-height:65vh; overflow:auto; }
.case-agenda-dialog .dialog-head { position:sticky; top:0; background:var(--panel); z-index:1; }

.case-model-summary { display:flex; flex-direction:column; gap:10px; margin:0 0 22px; padding:0 0 16px; border-bottom:1px solid var(--border); }
.case-model-summary strong { display:block; font-size:14px; font-weight:600; color:var(--text); }
.case-model-summary span { display:block; margin-top:5px; color:var(--muted); font-size:12px; }

.compact-action-card { padding:18px; align-self:start; }
.compact-action-card h2 { margin:0; font-size:18px; line-height:1.35; }
.compact-action-card p { margin:8px 0 0; }
.compact-action-card .case-card-stage { padding-bottom:12px; margin-bottom:14px; }
.compact-action-card .group-open { margin-top:14px; padding-top:12px; }
.individual-action-case { color:var(--muted); }
.individual-action-case strong { color:var(--text); font-weight:500; }

.individual-process-panel { margin-bottom:20px; }
.individual-process-panel .form-grid { padding:0; }

.case-card-stage { display:block; width:100%; padding-bottom:18px; margin-bottom:20px; border-bottom:1px solid var(--border); }
.case-card-stage-caption { display:block; color:var(--muted); font-size:12px; font-weight:400; letter-spacing:.3px; }
.case-card-stage > strong { display:block; margin-top:7px; color:var(--text); font-size:12px; font-weight:500; line-height:1.45; overflow-wrap:anywhere; }
.case-card-stage-track { display:flex; gap:3px; width:100%; margin-top:12px; }
.case-card-stage-track > span { flex:1; min-width:0; height:5px; border-radius:2px; background:var(--raised); }
.case-card-stage-track > span.reached { background:var(--accent); }


.observer-picker { margin:0; padding:16px; border:1px solid var(--border); border-radius:8px; min-width:0; }
.observer-picker legend { padding:0 6px; color:var(--muted); font-size:12px; }
.observer-search > span { font-size:12px; }
.observer-selected { display:flex; flex-wrap:wrap; gap:7px; padding:12px 0; }
.observer-chip { display:inline-flex; align-items:center; gap:10px; background:var(--selected); border:1px solid var(--border); color:var(--text); border-radius:20px; padding:6px 10px; font-size:12px; }
.observer-options { max-height:160px; overflow:auto; display:grid; gap:4px; }
.observer-options label { display:flex; align-items:center; gap:10px; padding:8px; border-radius:5px; cursor:pointer; }
.observer-options label:has(input:checked) { background:var(--selected); }
.observer-options input { width:16px; height:16px; margin:0; accent-color:var(--accent); }
.observer-options [hidden] { display:none; }

.control-card-definitions { display:flex; flex-wrap:wrap; gap:7px; margin-bottom:20px; }

.control-case-card { gap:0; }
.control-case-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; margin-bottom:15px; width:100%; }
.control-case-heading h2 { margin:0; font-size:20px; line-height:1.3; }
.control-case-heading > .badge { flex-shrink:0; margin-top:4px; }
.control-case-card .control-card-definitions { margin-bottom:4px; }
.control-case-front { display:block; width:100%; border-top:1px solid var(--border); margin-top:16px; padding-top:16px; }
.control-case-front-title { display:block; color:var(--muted); font-size:12px; font-weight:500; margin-bottom:10px; }
.control-case-process { display:block; margin-top:10px; }
.control-case-process > span { display:block; color:var(--muted); font-size:12px; margin-bottom:5px; font-weight:400; }
.control-case-process strong { display:block; color:var(--text); font-size:13px; font-weight:500; overflow-wrap:anywhere; }
.control-case-front .case-card-stage { margin:0 0 14px; padding:0; border:0; }
.control-case-card .group-open { margin-top:24px; }

.control-case-front .case-card-stage > strong { margin-top:0; }

.compact-card-title { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; width:100%; }
.compact-card-title .badge { flex-shrink:0; margin-top:3px; }

.case-feed { margin-top:22px; }
.case-feed .panel-head { gap:16px; }
.feed-entry + .feed-entry { border-top:1px solid var(--border); margin-top:22px; padding-top:22px; }
.feed-entry header { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px; }
.feed-entry header strong { font-size:13px; }
.feed-entry time,.feed-case-only { color:var(--muted); font-size:12px; }
.feed-process,.feed-case-only { display:inline-block; margin-top:8px; font-size:12px; }
.feed-message { white-space:pre-wrap; overflow-wrap:anywhere; line-height:1.65; margin:14px 0; }
.feed-attachments { display:grid; gap:8px; margin-top:14px; }
.feed-attachment { display:flex; align-items:center; gap:12px; padding:12px; border:1px solid var(--border); border-radius:7px; color:var(--text); text-decoration:none; }
.feed-attachment:hover { border-color:var(--gold); }
.feed-attachment > span:nth-child(2) { flex:1; overflow-wrap:anywhere; min-width:0; }
.feed-attachment small { display:block; color:var(--muted); margin-top:4px; }
[data-feed-more] { margin-top:20px; }
@media(max-width:600px){.case-feed .panel-head { flex-wrap:wrap; }}
.agenda-overview-card .panel-head { flex-direction:column; align-items:flex-start; gap:12px; }
.agenda-overview-card .head-actions { flex-wrap:wrap; }

.control-last-report { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:8px; margin-top:18px; padding-top:14px; border-top:1px solid var(--border); font-size:12px; }
.control-last-report > span:first-child { color:var(--muted); }
.control-last-report time { color:var(--text); font-weight:500; }

.score-case-entry { margin-top:22px; }
.score-case-entry .panel-head { flex-wrap:wrap; gap:14px; }
.score-queue-tabs { padding:16px 20px 0; flex-wrap:wrap; }
.score-more { margin:16px 20px; }
.score-checkbox-list { max-height:220px; overflow:auto; display:grid; gap:6px; padding:8px 0; }
.score-checkbox-list label,.score-review-checks label { display:flex; flex-direction:row; align-items:center; gap:10px; margin:0; padding:7px; }
.score-checkbox-list label[hidden] { display:none; }
.score-checkbox-list input[type=checkbox],.score-review-checks input { width:17px; height:17px; margin:0; flex-shrink:0; accent-color:var(--teal); }
.score-preview { padding:13px; border:1px solid var(--border); border-radius:6px; color:var(--text); margin:14px 0; }
.score-warning { margin:18px 0; padding:14px; border:1px solid var(--warning-border); border-radius:6px; background:var(--warning-bg); }
.score-warning p { margin-bottom:0; }
.score-review-checks { margin:12px 0; }
.score-history { border-top:1px solid var(--border); padding-top:14px; margin-top:20px; }
.score-history summary { cursor:pointer; color:var(--muted); }

.ice-panel { margin-bottom:24px; }
.ice-panel .panel-head { flex-wrap:wrap; gap:14px; }

.ice-value {display:flex; flex-wrap:wrap; align-items:center; gap:20px;}
.ice-value>strong {font-size:28px; color:var(--text); line-height:1.2;}
.ice-value small {display:block; margin-top:6px; color:var(--muted);}
.ice-details {margin-top:20px; border-top:1px solid var(--border); padding-top:14px;}
.ice-details summary {cursor:pointer; color:var(--muted);}
.score-fold {margin-bottom:24px;}
.score-fold>summary {display:flex; align-items:center; justify-content:space-between; gap:16px; padding:20px 24px; cursor:pointer; list-style:none;}
.score-fold>summary::-webkit-details-marker {display:none;}
.score-fold>summary:after {content:'+'; color:var(--text); font-size:22px;}
.score-fold[open]>summary:after {content:'−';}
.score-fold[open]>summary {border-bottom:1px solid var(--border);}
.score-fold>summary h2 {margin:0; font-size:18px;}
.score-board-toolbar {display:flex; flex-wrap:wrap; align-items:flex-end; gap:16px;}
.score-board-toolbar label {margin:0; max-width:240px;}

.case-investment {display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:8px 12px; margin-top:14px; padding-top:12px; border-top:1px solid var(--border);}
.case-investment>span,.case-investment small {color:var(--muted); font-size:12px; font-weight:400;}
.case-investment strong {color:var(--text); font-size:16px; font-weight:600; font-variant-numeric:tabular-nums;}
.case-investment small {flex-basis:100%;}
.amount-cell {text-align:right; white-space:nowrap; font-variant-numeric:tabular-nums;}
.case-habilitation {margin-top:10px; padding-top:10px;}
.score-requirements-confirm {display:flex; flex-direction:row; align-items:flex-start; gap:10px;}
.score-requirements-confirm input {width:auto; flex:none; margin-top:3px; accent-color:var(--accent);}

.case-investment-summary .case-investment {margin-top:0; padding-top:0; border-top:0;}

.front-view-switch {display:flex; gap:4px; flex:none;}
.front-view-button {display:inline-flex; align-items:center; justify-content:center; width:38px; min-height:38px; padding:8px; color:var(--muted);}
.front-view-button[aria-pressed="true"] {background:var(--selected); border-color:var(--border); color:var(--text);}
/* A 290px workflow lane plus a 16px gutter; overflow belongs to the board. */
.stage-board {display:flex; align-items:stretch; gap:16px; max-width:100%; overflow-x:auto; padding:4px 2px 18px; margin-bottom:20px; overscroll-behavior-x:contain;}
.stage-board-column {flex:0 0 290px; min-width:0; padding:12px; background:var(--raised); border:1px solid var(--border); border-radius:8px;}
.stage-board-column-head {display:flex; align-items:flex-start; justify-content:space-between; gap:10px; min-height:48px; padding-bottom:12px;}
.stage-board-column-head h2 {font-size:13px; line-height:1.45; font-weight:600; margin:0; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;}
.stage-board-column-head .badge {flex:none; font-variant-numeric:tabular-nums;}
.stage-board-cards {display:grid; gap:12px; max-height:65vh; overflow-y:auto; padding:2px;}
.stage-board-cards .group-card {width:100%; min-width:0; padding:16px; margin:0;}
.stage-board-cards .group-card h2 {font-size:16px;}
.stage-board-cards .compact-card-title {align-items:flex-start; flex-wrap:wrap; gap:8px;}
.stage-board-cards .case-investment {gap:6px;}
.stage-board-cards .case-investment strong {font-size:14px;}
.stage-board-empty {font-size:12px; color:var(--muted); margin:0; padding:12px 0;}
@media(max-width:640px){.front-view-button{width:44px;min-height:44px;}.stage-board-column{flex-basis:min(290px,calc(100vw - 64px));}.stage-board-cards{max-height:none;overflow-y:visible;}}
.stage-board-item {position:relative; min-width:0;}
.stage-board-item .group-open {padding-right:32px;}
.stage-board-item [draggable="true"] {cursor:grab;}
.stage-board-item [draggable="true"]:active {cursor:grabbing;}
.kanban-move-button {position:absolute; right:8px; bottom:9px; display:flex; align-items:center; justify-content:center; width:32px; min-height:32px; padding:6px; color:var(--muted);}
.kanban-dragging {opacity:.45;}
.stage-board-column.kanban-drop-target {border-color:var(--accent); background:var(--accent-soft);}
.kanban-saving {opacity:.6; pointer-events:none;}
.stage-board[aria-busy="true"] .group-card {pointer-events:none;}
@media(max-width:640px){.kanban-move-button{width:44px;min-height:44px;bottom:4px;right:4px;}.stage-board-item .group-open{padding-right:42px;}}
.individual-process-number {font-variant-numeric:tabular-nums;font-size:14px;margin-top:12px;}
.feed-individual {display:block;margin:8px 0;}
@media(max-width:640px){.individual-process-panel .actions{flex-wrap:wrap;}}
.individual-action-hero {padding:20px 24px;margin:16px 0 20px;}
.individual-action-hero h1 {font-size:24px;margin:0 0 8px;}
@media(max-width:640px){.individual-action-hero{padding:18px;}.individual-action-hero h1{font-size:24px;}[aria-label="Seções da ação individual"]{gap:4px;}[aria-label="Seções da ação individual"] button{font-size:12px;padding:8px 10px;}}
.nae-source-panel>summary {padding:18px 20px;cursor:pointer;font-weight:600;}
.nae-source-entry {padding:18px 0;border-bottom:1px solid var(--border);overflow-wrap:anywhere;}
.nae-source-entry:last-child {border-bottom:0;}
.nae-source-entry details>summary {cursor:pointer;font-size:12px;color:var(--muted);margin:10px 0;}
.nae-source-entry .group-facts dd {overflow-wrap:anywhere;white-space:pre-wrap;}
.nae-source-entry .head-actions {justify-content:space-between;align-items:flex-start;}

/* Each overview card occupies only its own height, including on narrow screens. */
.case-overview-grid { grid-auto-rows:1px; row-gap:0; grid-auto-flow:row dense; align-items:start; }
.case-overview-grid > .group-card { align-self:start; width:100%; }

/* Controladoria → Relatórios NIC */
.nic-stats .nic-stat {text-align:left; border:0; border-right:1px solid var(--border); border-radius:0; background:var(--panel); min-height:0; font-weight:400;}
.nic-stats .nic-stat:last-child {border-right:0;}
.nic-stats .nic-stat:hover {background:var(--hover);}
.nic-stats .nic-stat.selected {background:var(--accent-soft); box-shadow:inset 0 -3px 0 var(--accent);}
.nic-stats .nic-stat[data-nic-stage-card="camp"] strong {color:var(--positive);}
.nic-stats .nic-stat[data-nic-stage-card="pico"] strong {color:var(--negative);}
.nic-stats .nic-stat[data-nic-stage-card="retr"] strong {color:var(--warning);}
.nic-check {display:flex; align-items:center; gap:8px; min-width:0!important; flex:0 0 auto!important; min-height:36px;}
.nic-check input {width:auto; min-height:0;}
.nic-table td {vertical-align:top;}
.nic-table tr.nic-focus td:first-child {box-shadow:inset 3px 0 0 var(--positive);}
.nic-table tr.nic-focus-pico td:first-child {box-shadow:inset 3px 0 0 var(--negative);}
.nic-table tr.nic-focus-retr td:first-child {box-shadow:inset 3px 0 0 var(--warning);}
.nic-summary {margin:0; max-width:46ch; font-size:13px; color:var(--muted); display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;}
.nic-summary-full {margin:0; font-size:15px; line-height:1.7; white-space:pre-line;}
.nic-facts {display:grid; grid-template-columns:repeat(auto-fill,minmax(160px,1fr)); gap:12px 20px; margin:20px 0 0;}
.nic-facts dt {font-size:12px; color:var(--muted);}
.nic-facts dd {margin:2px 0 0; font-weight:500;}
.nic-detail {display:grid; grid-template-columns:minmax(0,2fr) minmax(0,1fr); gap:20px; margin-bottom:20px; align-items:start;}
.nic-clients {max-height:420px; overflow:auto;}
.nic-detail-news .panel-head label {min-width:200px;}
.nic-news-list {display:flex; flex-direction:column;}
.nic-news {padding:16px 20px; border-bottom:1px solid var(--rule);}
.nic-news:last-child {border-bottom:0;}
.nic-news h3 {margin:6px 0 4px; font-size:15px; font-weight:600; line-height:1.4;}
.nic-news h3 a {color:var(--text); text-decoration:none;}
.nic-news h3 a:hover {color:var(--accent); text-decoration:underline;}
.nic-news p {margin:0; color:var(--muted); font-size:13px;}
.nic-news-meta {display:flex; flex-wrap:wrap; align-items:center; gap:8px; font-size:12px; color:var(--muted);}
.nic-news-meta .badge {margin-top:0;}
@media(max-width:1100px) { .nic-detail {grid-template-columns:1fr;} }
@media(max-width:650px) { .nic-stats .nic-stat {border-bottom:1px solid var(--border);} .nic-summary {max-width:none;} }

/* Agenda → Agendar Reunião (meetings-ui.mjs). Uma cor por pessoa; a grade vai
   das 10h às 19h em faixas de 30 min (--mt-slots) e 1 ou 5 dias (--mt-days). */
:root { --mt-luis:#1d5fbf; --mt-luis-bg:#eef4fe; --mt-jorge:#246446; --mt-jorge-bg:#e9f4ed; --mt-mayra:#7a3fb0; --mt-mayra-bg:#f4edfb; }
:root[data-theme="dark"] { --mt-luis:#8eb8ff; --mt-luis-bg:#1b2b44; --mt-jorge:#81d2aa; --mt-jorge-bg:#1d3329; --mt-mayra:#d2adf5; --mt-mayra-bg:#33254a; }
.mt-p-luis { --mt-c:var(--mt-luis); --mt-bg:var(--mt-luis-bg); }
.mt-p-jorge { --mt-c:var(--mt-jorge); --mt-bg:var(--mt-jorge-bg); }
.mt-p-mayra { --mt-c:var(--mt-mayra); --mt-bg:var(--mt-mayra-bg); }
.mt-dot { display:inline-block; width:8px; height:8px; border-radius:50%; background:var(--mt-c,var(--muted)); flex:none; }
.mt-dots { display:inline-flex; gap:2px; }
.mt-people { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:16px; }
.mt-people button { display:inline-flex; align-items:center; gap:8px; font-size:13px; }
.mt-people button[aria-pressed="true"] { background:var(--selected); border-color:var(--text); }
.mt-bar h2 { margin:0 0 0 6px; font-size:15px; }
.mt-nav { display:flex; align-items:center; gap:6px; flex-wrap:wrap; }
.mt-scroll { overflow-x:auto; }
.mt-grid { display:grid; grid-template-columns:52px repeat(var(--mt-days),minmax(150px,1fr)); grid-template-rows:auto calc(var(--mt-slots) * 44px); min-width:calc(52px + var(--mt-days) * 150px); }
.mt-head { padding:10px 8px; border-bottom:1px solid var(--border); border-left:1px solid var(--rule); display:flex; flex-direction:column; align-items:center; gap:2px; min-width:0; }
.mt-head span { font-size:11px; color:var(--muted); text-transform:uppercase; letter-spacing:.04em; }
.mt-head strong { font-size:18px; line-height:1.2; }
.mt-head small { font-size:11px; color:var(--muted); min-height:16px; }
.mt-head.mt-today strong { color:var(--accent); }
.mt-corner { border-left:0; }
.mt-notes { display:flex; flex-wrap:wrap; justify-content:center; gap:4px; }
.mt-note { font-size:10px; padding:1px 6px; border-radius:4px; background:var(--mt-bg,var(--raised)); color:var(--mt-c,var(--muted)); max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.mt-hours { position:relative; display:grid; grid-template-rows:repeat(var(--mt-slots),1fr); }
.mt-hours span { font-size:11px; color:var(--muted); text-align:right; padding-right:8px; transform:translateY(-7px); }
.mt-hours .mt-half { visibility:hidden; }
.mt-hours .mt-end { position:absolute; right:0; bottom:-7px; }
.mt-column { position:relative; border-left:1px solid var(--rule); cursor:pointer; background-image:repeating-linear-gradient(to bottom, var(--rule) 0 1px, transparent 1px calc(100% / var(--mt-slots))); }
.mt-column.mt-today { background-color:var(--accent-soft); }
.mt-event { position:absolute; overflow:hidden; padding:4px 7px; border-radius:6px; border-left:3px solid var(--mt-c); background:var(--mt-bg); color:var(--text); font-size:12px; line-height:1.3; cursor:pointer; display:flex; flex-direction:column; gap:2px; }
.mt-event:hover,.mt-event:focus-visible { box-shadow:0 2px 10px var(--shadow-color); z-index:2; }
.mt-short { flex-direction:row; align-items:center; gap:6px; }
.mt-free { background:transparent; border:1px dashed var(--mt-c); border-left-width:3px; border-left-style:solid; color:var(--muted); }
.mt-event-time { font-size:11px; color:var(--mt-c); font-weight:500; display:inline-flex; align-items:center; gap:4px; white-space:nowrap; }
.mt-event-title { font-weight:500; overflow:hidden; text-overflow:ellipsis; }
.mt-short .mt-event-title { white-space:nowrap; }
.mt-tag { font-size:9px; padding:0 4px; border-radius:3px; background:var(--mt-c); color:var(--panel); letter-spacing:.04em; }
.mt-event-actions { display:flex; gap:4px; margin-top:auto; }
.mt-short .mt-event-actions { display:none; }
.mt-event-actions a,.mt-event-actions button { font-size:11px; min-height:22px; padding:1px 7px; border-radius:4px; border:1px solid var(--mt-c); background:var(--panel); color:var(--mt-c); text-decoration:none; }
.mt-now { position:absolute; left:0; right:0; height:2px; background:var(--negative); z-index:3; pointer-events:none; }
.mt-loading { margin:0; padding:12px 20px; color:var(--muted); font-size:13px; border-top:1px solid var(--border); }
.mt-dialog { width:min(620px,calc(100% - 32px)); }
.mt-dialog form { margin:0; }
.mt-label { display:block; margin-bottom:7px; }
.mt-choice button { display:inline-flex; align-items:center; gap:6px; }
.mt-choice button:disabled { opacity:.45; background:transparent; cursor:not-allowed; }
.mt-checks { display:flex; flex-wrap:wrap; gap:16px; }
.mt-check { display:inline-flex; align-items:center; gap:8px; cursor:pointer; white-space:nowrap; }
.mt-check input { display:inline-block; width:16px; height:16px; min-height:0; padding:0; margin:0; }
.mt-clash { margin:0 24px 12px; padding:10px 12px; border:1px solid var(--warning-border); background:var(--warning-bg); color:var(--warning); border-radius:6px; font-size:13px; }
.mt-body { padding:20px 24px; }
.mt-body .help { margin:0 0 14px; }
.mt-ok { margin:0 0 4px; font-size:12px; color:var(--positive); font-weight:500; }
.mt-link { display:flex; gap:8px; }
.mt-link input { flex:1; min-width:0; }
.mt-detail { display:grid; grid-template-columns:auto 1fr; gap:6px 16px; margin:0 0 16px; font-size:13px; }
.mt-detail dt { color:var(--muted); }
.mt-detail dd { margin:0; display:flex; align-items:center; gap:6px; }
@media(max-width:650px) { .mt-bar { align-items:flex-start; } .mt-link { flex-direction:column; } }
