:root {
  --paper: #f7f8f3;
  --panel: #fff;
  --side: #eef1e9;
  --ink: #1b2923;
  --muted: #546259;
  --faint: #dce3d9;
  --green: #1b4839;
  --deep: #173d32;
  --sage: #e5ede0;
  --lime: #deecaa;
  --amber: #7b4227;
  --radius: 16px;
  --serif: Constantia, Georgia, serif;
  font-family: "Segoe UI Variable Text", "Segoe UI", sans-serif;
  color: var(--ink);
  background: var(--paper);
  font-size: 16px;
}
*, *::before, *::after { box-sizing: border-box; }
body { margin: 0; min-width: 280px; }
button, input, textarea, select { font: inherit; color: inherit; }
button, select, summary { cursor: pointer; }
button:disabled { opacity: .52; cursor: default; }
a { color: var(--green); }
:focus-visible { outline: 2px solid #356e55; outline-offset: 3px; }
h1:focus, main:focus { outline: none; }
h1, h2, h3, p, dl, ul { margin: 0; }
h1, h2, h3 { line-height: 1.18; }
h1, h2 { font-family: var(--serif); font-weight: 600; letter-spacing: -.035em; }
h1 { font-size: clamp(2.25rem, 5vw, 3.55rem); overflow-wrap: anywhere; }
h2 { font-size: clamp(1.48rem, 2.5vw, 1.95rem); }
h3 { font-size: 1rem; }
p, dd, dt { line-height: 1.55; }
small { font-size: .82em; }
svg { flex-shrink: 0; vertical-align: middle; }
input, textarea, select {
  width: 100%; min-width: 0; border: 1px solid #cbd6cb; border-radius: 9px;
  padding: .65rem .75rem; background: var(--panel); line-height: 1.35;
}
input:not([type="checkbox"], [type="color"]), select { min-height: 44px; }
input[type="checkbox"] { width: 1.1rem; height: 1.1rem; margin: 0; flex: none; accent-color: var(--green); }
input[type="color"] { width: 36px; height: 32px; padding: 3px; cursor: pointer; }
textarea { display: block; resize: vertical; }
summary { min-height: 30px; line-height: 1.5; }
.sr-only, .skip:not(:focus) {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0;
}
.skip:focus { position: fixed; inset: .6rem auto auto .6rem; z-index: 10; background: white; padding: .7rem; }
.boot { padding: 3rem 1.4rem; text-align: center; }
.boot-mark { font: 700 2.8rem var(--serif); color: var(--deep); }
.muted { color: var(--muted); }
.preserve { white-space: pre-wrap; overflow-wrap: anywhere; }
.eyebrow {
  color: #496154; font-size: .7rem; font-weight: 750; letter-spacing: .13em;
  text-transform: uppercase; line-height: 1.4; overflow-wrap: anywhere;
}
.subtitle { color: var(--muted); font-size: .98rem; margin-top: .45rem; max-width: 64ch; }
.text-link { display: inline; font-weight: 600; text-underline-offset: 3px; overflow-wrap: anywhere; }
.text-link svg { margin-left: .22rem; }
.shell { min-height: 100vh; }
.sidebar {
  display: grid; grid-template-columns: 1fr auto; align-items: center;
  gap: .55rem; background: var(--side); border-bottom: 1px solid var(--faint); padding: .7rem 1rem;
}
.brand { display: flex; align-items: center; gap: .7rem; width: fit-content; text-decoration: none; }
.brand strong { display: block; font: 700 1.45rem/.96 var(--serif); letter-spacing: -.055em; color: var(--deep); }
.brand small { display: block; margin-top: .22rem; color: var(--muted); font-size: .66rem; letter-spacing: .11em; text-transform: uppercase; }
.side-menu { display: none; grid-column: 1 / -1; }
.side-label { margin: .6rem 0; color: #58665b; font-size: .7rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.side-menu nav { display: grid; gap: .25rem; }
.side-menu nav a {
  display: flex; align-items: center; gap: .72rem; min-height: 44px; padding: .6rem .68rem;
  border: 1px solid transparent; border-radius: 9px; text-decoration: none; color: #36473c;
}
.side-menu nav a:hover { background: #e5eae0; }
.side-menu nav a[aria-current] { border-color: #d4e0d1; background: #dae6d8; color: #1e4a3a; font-weight: 700; }
.side-menu nav svg { opacity: .85; }
.local-card {
  display: flex; align-items: center; gap: .62rem; background: #f7f8f3; border: 1px solid var(--faint);
  border-radius: 11px; padding: .65rem; margin: 1rem 0 .3rem; min-width: 0;
}
.local-card strong, .local-card small { display: block; }
.local-card strong { font-size: .83rem; color: #31493b; }
.local-card small { font-size: .72rem; color: var(--muted); margin-top: .08rem; }
.local-icon { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 8px; background: var(--sage); color: var(--green); }
.side-help {
  border: 0; background: transparent; color: var(--muted); display: flex; align-items: center; gap: .5rem;
  min-height: 44px; padding: .35rem .35rem; text-align: left; font-size: .79rem;
}
.side-help:hover { color: var(--deep); }
.side-help i { width: 7px; height: 7px; border-radius: 50%; background: #ab714d; }
.side-help i.connected { background: #468367; }
.workspace { min-width: 0; }
.topbar {
  display: flex; justify-content: space-between; align-items: center; gap: 1rem; min-height: 49px;
  padding: .6rem 1rem; border-bottom: 1px solid var(--faint); background: #fbfcf8; font-size: .83rem; color: var(--muted);
}
.topbar nav { display: flex; align-items: center; flex-wrap: wrap; gap: .36rem; }
.topbar nav a { color: var(--muted); text-decoration: none; }
.topbar nav a:hover { text-decoration: underline; }
.topbar nav span { color: var(--ink); font-weight: 650; }
.top-date { display: none; gap: .45rem; align-items: center; white-space: nowrap; }
main { max-width: 1480px; margin-inline: auto; padding: 1.4rem 1rem 3rem; min-width: 0; }
.page-heading, .case-header { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: 1.35rem; }
.page-heading .eyebrow { margin-bottom: .4rem; }
.page-actions, .inline-actions, .case-actions {
  display: flex; flex-wrap: wrap; gap: .48rem; align-items: center;
}
.btn, .icon-btn, .seg {
  display: inline-flex; align-items: center; justify-content: center; gap: .45rem; min-height: 44px;
  background: var(--panel); border: 1px solid #ced8cc; border-radius: 9px; padding: .56rem .8rem;
  color: #284538; text-decoration: none; font-size: .89rem; font-weight: 650;
  line-height: 1.25; text-align: center; transition: background-color .14s, border-color .14s;
}
.btn:not(:disabled):hover, .icon-btn:hover { background: #eef4eb; border-color: #9bb49e; }
.btn-primary { background: var(--green); border-color: var(--green); color: white; }
.btn-primary:not(:disabled):hover { background: #11382b; border-color: #11382b; }
.btn-secondary { background: #e9f0e4; border-color: #d6e2d4; }
.btn-small { font-size: .81rem; padding: .35rem .55rem; }
.icon-btn { width: 44px; padding: .4rem; flex-shrink: 0; }
.panel, .registry {
  border: 1px solid var(--faint); background: var(--panel); border-radius: var(--radius); min-width: 0;
  box-shadow: 0 2px 3px #263b2610;
}
.hero {
  position: relative; overflow: hidden; isolation: isolate; padding: 1.1rem;
  color: #fff; background: var(--deep); border: 1px solid #28513f; border-radius: var(--radius); margin-bottom: .9rem;
}
.hero-inner { position: relative; z-index: 1; }
.hero-kicker { display: flex; align-items: center; gap: .42rem; color: var(--lime); font-size: .73rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.hero h2 { font-size: clamp(1.8rem, 4vw, 2.55rem); line-height: 1.04; margin: .5rem 0 .86rem; color: #fafdf7; }
.hero-form { display: grid; gap: .45rem; max-width: 44rem; }
.hero-form input { border: 1px solid #d1e0c6; color: var(--ink); background: #f8fbf6; }
.hero-btn { background: var(--lime); border-color: var(--lime); color: #223c26; }
.hero-btn:not(:disabled):hover { background: #ecf5c1; border-color: #ecf5c1; }
.hero-note { margin-top: .58rem; color: #c5d6c8; font-size: .76rem; }
.hero-art { position: absolute; right: 0; top: 50%; transform: translateY(-50%); width: min(32%, 325px); height: auto; display: none; }
.metrics { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .45rem; margin-bottom: 1.3rem; }
.metric {
  display: flex; align-items: center; gap: .52rem; padding: .64rem;
  border: 1px solid var(--faint); border-radius: 11px; background: #fcfdf9; min-width: 0;
}
.metric-icon, .chat-icon {
  display: grid; place-items: center; width: 34px; height: 34px; flex: none;
  color: var(--green); background: var(--sage); border-radius: 9px;
}
.metric strong { display: block; font: 700 1.55rem/.95 var(--serif); }
.metric div span { display: block; margin-top: .27rem; color: var(--muted); font-size: .73rem; line-height: 1.2; overflow-wrap: anywhere; }
.registry { padding: .85rem; }
.section-heading, .panel-heading { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .65rem; margin-bottom: .9rem; }
.section-heading h2, .panel-heading h2 { margin-top: .1rem; }
.segments { display: inline-flex; flex-wrap: wrap; gap: 3px; background: #edf1e9; border-radius: 10px; padding: 3px; max-width: 100%; }
.seg { background: transparent; border-color: transparent; color: #526258; font-size: .83rem; }
.seg:hover { color: var(--deep); background: #e2eade; }
.seg[aria-pressed="true"] { background: var(--panel); border-color: var(--faint); color: var(--deep); box-shadow: 0 1px 3px #18382716; }
.toolbar { display: flex; flex-wrap: wrap; gap: .48rem; margin-bottom: .8rem; }
.search-box, .filter-box {
  display: inline-flex; gap: .35rem; align-items: center; min-width: 0; border: 1px solid #d5ded3; border-radius: 9px;
  background: #fbfcfa; color: var(--muted); padding-left: .6rem;
}
.search-box { flex: 1 1 100%; max-width: 23rem; }
.filter-box { max-width: 100%; }
.search-box input, .filter-box select { background: transparent; border: 0; padding-left: .18rem; }
.filter-box select { padding-right: .4rem; font-size: .85rem; }
.empty {
  display: grid; justify-items: center; gap: .55rem; text-align: center;
  background: #f8faf6; border: 1px dashed #cddacd; border-radius: 12px; padding: 1.45rem .85rem;
}
.empty-icon { display: grid; place-items: center; width: 48px; height: 48px; background: #e7eee3; border-radius: 13px; color: var(--green); }
.empty h3 { font: 700 1.24rem var(--serif); }
.empty p { max-width: 46ch; color: var(--muted); font-size: .89rem; }
.empty .btn { margin-top: .25rem; }
.table-wrap, .kanban { position: relative; max-width: 100%; overflow: auto; border: 1px solid var(--faint); border-radius: 11px; }
table { width: 100%; min-width: 655px; border-collapse: collapse; text-align: left; }
th, td { padding: .56rem .7rem; }
th { background: #f2f5ef; color: #53645a; font-size: .73rem; letter-spacing: .04em; font-weight: 700; white-space: nowrap; }
td { border-top: 1px solid var(--faint); font-size: .87rem; }
tr:hover td { background: #fbfcfa; }
td small { display: block; color: var(--muted); margin-top: .2rem; }
.offer-cell { display: flex; gap: .58rem; align-items: center; text-decoration: none; color: var(--ink); min-height: 44px; }
.offer-cell strong { overflow-wrap: anywhere; }
.offer-cell:hover strong { color: var(--green); text-decoration: underline; }
.initial { flex: none; display: grid; place-items: center; width: 35px; height: 35px; border-radius: 8px; background: #e3ede1; color: #35604e; font-size: .74rem; font-weight: 750; }
.initial-1 { background: #ebeadf; color: #594d37; }
.initial-2 { background: #e3edf0; color: #365866; }
.initial-3 { background: #eee7e2; color: #695044; }
.status, .tag {
  display: inline-flex; align-items: center; gap: .36rem; width: fit-content; min-height: 23px;
  padding: .21rem .49rem; border-radius: 6px; font-size: .75rem; font-weight: 650; line-height: 1.25;
}
.status { background: #eef0ee; color: #4e5a52; white-space: nowrap; }
.status i { width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.status[data-status="preparation"] { background: #faf0db; color: #76571e; }
.status[data-status="prete"] { background: #e7ebf5; color: #435787; }
.status[data-status="envoyee"], .tag-good { background: #e3f0e5; color: #24583c; }
.status[data-status="entretien"] { background: #eee7f5; color: #624c7b; }
.status[data-status="cloturee"] { background: #f3e8e3; color: #72584d; }
.tag { background: #edf0e9; color: #41594b; }
.tag.tag-good { background: #e3f0e5; color: #24583c; }
.tag.tag-warn { background: #f8ecd9; color: #754422; }
.deadline { color: var(--ink); font-weight: 600; text-decoration: none; }
.deadline:hover { text-decoration: underline; }
.deadline.late, .deadline.late small { color: var(--amber); }
.table-caption { color: var(--muted); font-size: .78rem; margin: .52rem 0 0 .18rem; }
.kanban { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(184px, 1fr); gap: .54rem; padding: .55rem; background: #f8faf6; }
.lane { min-height: 210px; padding: .46rem; border: 1px solid var(--faint); border-radius: 10px; background: #f0f3ed; }
.lane.drag-over { border-color: #4c7a5c; background: #e3efdf; }
.lane > header { display: flex; justify-content: space-between; align-items: center; gap: .3rem; margin-bottom: .45rem; }
.lane-count { color: var(--muted); font-size: .78rem; }
.lane-cards { display: grid; gap: .35rem; }
.lane-empty { color: var(--muted); font-size: .8rem; padding: .4rem .25rem; }
.kanban-card { padding: .55rem; border: 1px solid #dbe4d8; border-radius: 8px; background: white; cursor: grab; }
.kanban-card a { display: block; color: var(--ink); text-decoration: none; font-size: .87rem; }
.kanban-card a:hover strong { text-decoration: underline; }
.kanban-card span, .kanban-date { display: block; color: var(--muted); font-size: .78rem; margin-top: .25rem; }
.kanban-card select { margin-top: .45rem; font-size: .8rem; padding: .3rem; }
.section-panel, .agenda-panel, .calendar-panel, .day-agenda { padding: .92rem; }
.agenda-stack, .models-stack { display: grid; gap: .8rem; }
.agenda-panel > header { display: flex; align-items: center; gap: .55rem; margin-bottom: .6rem; }
.soft-empty { padding: .65rem 0 .3rem; color: var(--muted); font-size: .88rem; }
.reminder-row {
  display: flex; flex-wrap: wrap; align-items: center; gap: .62rem; padding: .64rem 0;
  border-top: 1px solid var(--faint);
}
.reminder-date {
  display: grid; place-items: center; flex: none; width: 45px; height: 48px; padding: .24rem;
  background: #edf3eb; border-radius: 8px; color: var(--deep); line-height: 1.1;
}
.reminder-date strong { font: 700 1.2rem var(--serif); }
.reminder-date span { font-size: .71rem; }
.reminder-row.is-late .reminder-date { background: #f8eee3; color: var(--amber); }
.reminder-content { flex: 1 1 11rem; min-width: 0; }
.reminder-content small, .reminder-content span { display: block; color: var(--muted); font-size: .76rem; }
.reminder-content strong { display: block; overflow-wrap: anywhere; font-size: .92rem; }
.reminder-content a { text-underline-offset: 3px; }
.is-late .reminder-content small { color: var(--amber); }
.reminder-actions { display: flex; flex-wrap: wrap; gap: .3rem; }
.calendar-layout, .case-layout, .profile-layout, .models-layout { display: grid; gap: .8rem; align-items: start; min-width: 0; }
.calendar-header { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; justify-content: space-between; margin-bottom: .62rem; }
.calendar-header h2 { text-transform: capitalize; }
.calendar-navigation { display: flex; gap: .22rem; }
.calendar-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 3px; }
.week-day { text-align: center; color: var(--muted); font-weight: 650; font-size: .74rem; padding: .15rem 0 .28rem; }
.day {
  display: flex; flex-direction: column; align-items: center; gap: .15rem; min-height: 44px;
  padding: .26rem .05rem; border: 1px solid var(--faint); border-radius: 6px; background: #fafbf8;
}
.day:hover { background: var(--sage); }
.day.other-month { color: #64746a; background: #f4f6f1; }
.day.is-today { border-color: #77a286; }
.day[aria-pressed="true"] { color: white; background: var(--green); border-color: var(--green); }
.day small { font-size: .66rem; font-weight: 700; background: #e1ebda; color: #31553f; border-radius: 8px; padding: 0 .26rem; }
.day small.late-dot { background: #f8e7d8; color: var(--amber); }
.day-agenda header { margin-bottom: .5rem; }
.day-agenda h3 { margin: .9rem 0 .5rem; }
.day-agenda .reminder-actions { margin-left: 3rem; }
.case-heading { display: flex; align-items: start; gap: .75rem; min-width: 0; }
.case-heading h1 { font-size: clamp(1.95rem, 4.5vw, 3.1rem); margin-top: .17rem; }
.case-mark { display: grid; place-items: center; width: 45px; height: 45px; border-radius: 12px; background: #e0ebdf; color: var(--green); flex: none; }
.status-control select { width: auto; color: var(--green); font-weight: 650; }
.case-tabs { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: .4rem; margin-bottom: .9rem; border-bottom: 1px solid #d3dfd2; }
.case-tabs nav { display: flex; flex-wrap: wrap; gap: .18rem; }
.case-tabs a {
  display: flex; align-items: center; gap: .32rem; min-height: 44px; padding: .4rem .45rem;
  border-bottom: 2px solid transparent; color: var(--muted); font-weight: 650; font-size: .85rem; text-decoration: none;
}
.case-tabs a:hover { background: #eef3eb; color: var(--green); }
.case-tabs a[aria-current] { color: var(--green); border-color: var(--green); }
.case-tabs small { color: var(--green); border-radius: 6px; background: var(--sage); padding: .08rem .28rem; }
.chat-jump { margin-bottom: .28rem; }
.case-main { min-width: 0; display: grid; gap: .8rem; }
.info-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; margin-bottom: .9rem; }
.info-grid div { border-radius: 8px; background: #f5f8f2; padding: .6rem; }
.info-grid dt { font-size: .78rem; color: var(--muted); }
.info-grid dd { margin: 0; font-size: .9rem; font-weight: 650; overflow-wrap: anywhere; }
.detail-text { margin-bottom: 1rem; }
.detail-text h3 { margin-bottom: .4rem; }
.concise-text { overflow-wrap: anywhere; }
.concise-text > summary { display: block; list-style: none; color: var(--ink); font-weight: 400; }
.concise-text > summary::-webkit-details-marker { display: none; }
.concise-preview { display: block; line-height: 1.55; }
.concise-toggle { display: inline-flex; align-items: center; gap: .4rem; min-height: 44px; color: var(--green); font-size: .875rem; font-weight: 650; }
.concise-toggle > svg { transition: transform .15s; }
.concise-open, .concise-text[open] .concise-preview, .concise-text[open] .concise-closed { display: none; }
.concise-text[open] .concise-open { display: inline; }
.concise-text[open] .concise-toggle > svg { transform: rotate(180deg); }
.concise-text > p { margin-top: .2rem; }
.case-fit-header .case-heading h1 { font-size: clamp(1.35rem, 3.5vw, 2rem); }
.case-fit-header { margin-bottom: 1rem; }
.case-layout.fit-layout { grid-template-columns: minmax(0, 1fr); max-width: 68rem; }
.case-tabs.case-fit-tabs .chat-jump { display: flex; }
.fit-panel > .panel-heading { align-items: center; }
.fit-panel h2 { font-size: 1.5rem; }
.fit-intro { padding: .8rem; margin-bottom: .9rem; background: #f4f7f0; border-radius: .65rem; }
.fit-intro > h3 { font-size: .875rem; color: var(--green); margin-bottom: .35rem; }
.fit-grid { display: grid; gap: 1.1rem; }
.fit-section { min-width: 0; }
.fit-section > h3 { display: flex; align-items: center; gap: .4rem; margin: .1rem 0 .5rem; color: var(--green); font-size: .95rem; }
.fit-section > h3 > span { margin-left: auto; font: 650 .875rem "Segoe UI", sans-serif; }
.fit-section.gaps > h3 { color: var(--amber); }
.fit-item { border-top: 1px solid var(--faint); overflow-wrap: anywhere; }
.fit-item:last-child { border-bottom: 1px solid var(--faint); }
.fit-item > summary { display: flex; align-items: center; gap: .55rem; min-height: 52px; padding: .6rem .15rem; list-style: none; font-size: .875rem; }
.fit-item > summary::-webkit-details-marker, .coach-criterion > summary::-webkit-details-marker { display: none; }
.fit-item > summary > strong { flex: 1; min-width: 0; font-weight: 600; }
.fit-item > summary > small { flex: none; color: var(--muted); font-size: .875rem; }
.fit-item[open] > summary > svg, .coach-criterion[open] > summary > svg { transform: rotate(180deg); }
.fit-item-body { padding: .1rem .2rem .85rem; font-size: .9375rem; }
.fit-proof-disclosure > summary { min-height: 44px; padding-block: .6rem; color: var(--green); font-size: .875rem; font-weight: 600; }
.fit-next { color: var(--amber); margin-top: .5rem; }
.fit-empty { padding: .65rem 0; font-size: .875rem; }
.fit-actions { display: flex; gap: .6rem; flex-wrap: wrap; margin-top: 1.1rem; }
.fit-actions > .btn { flex: 1 1 13rem; }
.fit-settings { margin-top: 1rem; border-top: 1px solid var(--faint); padding-top: .7rem; }
.fit-settings-header { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: .5rem; margin-bottom: .4rem; }
.fit-settings-header > p { color: var(--muted); font-size: .875rem; }
.fit-settings .fact-picker { border: 0; border-radius: .4rem; }
.fit-settings .fact-picker > summary, .fit-settings .check-label { min-height: 44px; }
.fit-progress { display: flex; align-items: center; gap: .5rem; padding: .6rem 0; color: var(--green); }
@media (min-width: 768px) {
  .fit-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; }
  .fit-actions > .btn { flex: initial; }
}
.proofs { list-style: none; padding: 0; margin-top: .6rem; }
.proofs li { padding: .56rem; border-left: 2px solid #adcaab; background: #f5f8f3; border-radius: 0 7px 7px 0; margin-top: .28rem; }
.proofs li .tag { margin-left: .35rem; }
.archive-list { margin-top: .52rem; list-style: none; padding: 0; }
.archive-list li { display: flex; align-items: center; justify-content: space-between; gap: .5rem; border-top: 1px solid var(--faint); padding: .42rem 0; }
.original-files { margin-bottom: 1rem; }
.original-files .archive-list li { align-items: flex-start; flex-wrap: wrap; gap: .65rem; padding: .75rem 0; }
.original-files .archive-list li > div { flex: 1 1 15rem; min-width: 0; overflow-wrap: anywhere; }
.original-files strong, .original-files small { display: block; }
.original-files .btn { min-height: 44px; }
.source-flags { padding-left: 1.2rem; color: var(--muted); }
.hero-assistant { margin-top: .8rem; color: var(--deep); background: var(--lime); border-color: var(--lime); }
.coach-layout { display: grid; gap: 1.2rem; align-items: start; }
.coach-main, .coach-sidebar { min-width: 0; }
.coach-sidebar { grid-row: 1; }
.coach-preferences > summary { display: flex; align-items: center; gap: .5rem; min-height: 44px; font-weight: 650; }
.coach-preferences form { display: grid; gap: .8rem; margin-top: 1rem; }
.coach-preferences p, .coach-explainer p { font-size: .88rem; }
.coach-facts-picker { max-height: 21rem; overflow-y: auto; }
.coach-facts-picker summary { min-height: 44px; }
.coach-facts-picker label { display: flex; align-items: start; gap: .6rem; padding: .65rem .1rem; border-top: 1px solid var(--faint); font-size: .85rem; }
.coach-facts-picker input { margin-top: .2rem; }
.coach-facts-picker small { display: block; color: var(--muted); }
.coach-explainer { display: none; }
.coach-welcome { padding: 1.7rem .3rem; }
.coach-orbit { display: grid; place-items: center; width: 3.4rem; height: 3.4rem; color: var(--green); background: var(--lime); border-radius: 50%; margin-bottom: 1rem; }
.coach-welcome h2 { font-size: clamp(2rem, 5vw, 3.1rem); margin: .5rem 0 .7rem; max-width: 15ch; }
.coach-welcome > p:not(.eyebrow) { color: var(--muted); max-width: 44rem; }
.coach-starters { display: grid; gap: .65rem; margin-top: 1.2rem; }
.coach-starters .btn { justify-content: flex-start; text-align: left; min-height: 48px; }
.coach-turn { margin-bottom: 1.5rem; }
.coach-past { border: 1px solid var(--faint); border-radius: 10px; margin-bottom: 1rem; padding: .6rem .8rem; }
.coach-past > summary { min-height: 44px; padding: .35rem 0; color: var(--muted); font-size: .83rem; }
.coach-past > summary span { display: block; margin-top: .3rem; color: var(--ink); overflow-wrap: anywhere; }
.coach-past[open] > summary { margin-bottom: 1rem; }
.coach-user { background: var(--sage); padding: .9rem 1rem; margin: 0 0 1.2rem 1rem; border-radius: 14px 14px 3px 14px; overflow-wrap: anywhere; }
.coach-user small { color: var(--muted); }
.coach-user p { margin-top: .3rem; }
.coach-reply > p, .coach-reply > .concise-text { margin-bottom: .9rem; }
.coach-reply > .eyebrow { display: flex; align-items: center; gap: .45rem; }
.coach-offer { padding: 1rem; margin-top: .9rem; overflow-wrap: anywhere; }
.coach-priority { border-color: #8aa77c; border-left: 4px solid var(--green); }
.coach-offer-top { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; margin-bottom: .9rem; }
.coach-rank { font-family: var(--serif); font-size: 1.5rem; margin-right: .2rem; color: var(--muted); }
.coach-offer h3 { font-family: var(--serif); font-size: 1.3rem; margin: .35rem 0; }
.coach-positioning { margin-top: .65rem; font-size: .9375rem; }
.coach-conditions { padding: .7rem; margin-top: .7rem; background: var(--paper); border-radius: 8px; font-size: .86rem; }
.coach-conditions strong { display: block; margin-bottom: .25rem; }
.coach-incompatible { color: var(--amber); background: #fff5ed; }
.coach-source { display: flex; gap: .35rem .8rem; flex-wrap: wrap; margin: 1rem 0; font-size: .8rem; color: var(--muted); }
.coach-criteria, .coach-method { border-top: 1px solid var(--faint); margin-top: .8rem; padding-top: .3rem; }
.coach-criteria > summary, .coach-method > summary { min-height: 44px; padding: .65rem 0; color: var(--green); font-weight: 600; }
.coach-score-note { font-size: .875rem; padding: .7rem; margin-bottom: .4rem; background: var(--paper); border-radius: 7px; }
.coach-score-note strong { display: block; margin-bottom: .3rem; }
.coach-score-note summary { min-height: 44px; padding-block: .6rem; color: var(--green); font-weight: 600; }
.coach-criterion { border-top: 1px solid var(--faint); }
.coach-criterion > summary { display: flex; align-items: center; gap: .45rem; min-height: 52px; padding: .65rem 0; list-style: none; font-size: .875rem; }
.coach-criterion > summary > strong { flex: 1; min-width: 0; }
.coach-criterion > summary > .tag { flex: 0 0 auto; max-width: 42%; white-space: normal; }
.coach-criterion-body { padding-bottom: .85rem; font-size: .9375rem; }
.coach-criterion-body > small { display: block; color: var(--muted); margin-bottom: .4rem; font-size: .875rem; }
.coach-criterion-proofs > summary, .coach-answer-proofs > summary { color: var(--green); min-height: 44px; padding-block: .6rem; font-weight: 600; font-size: .875rem; }
.coach-watchouts { margin-top: .8rem; color: var(--amber); font-size: .875rem; }
.coach-watchouts ul { padding-left: 1.15rem; margin-top: .3rem; line-height: 1.55; }
.coach-proofs { list-style: none; margin-top: .65rem; padding: 0; }
.coach-proofs li { background: #f2f6ee; border-left: 2px solid #a7bb96; border-radius: 0 8px 8px 0; padding: .7rem; margin-top: .5rem; font-size: .86rem; }
.coach-proofs .tag { margin-left: .4rem; }
.coach-proofs p { margin: .35rem 0; }
.coach-method { margin-top: 1rem; font-size: .86rem; }
.coach-leads { padding: 1rem; margin: 1rem 0; overflow-wrap: anywhere; }
.coach-leads > p { margin: .6rem 0; }
.coach-leads > article, .coach-search-details > section { padding: .8rem 0; border-top: 1px solid var(--faint); }
.coach-leads h4 { margin: 0 0 .4rem; }
.coach-leads .btn { margin-top: .65rem; min-height: 44px; }
.coach-search-details p { margin-bottom: .4rem; overflow-wrap: anywhere; }
.coach-method > ul, .coach-notices { padding-left: 1.3rem; line-height: 1.6; overflow-wrap: anywhere; }
.coach-progress { display: flex; align-items: center; gap: .65rem; }
.coach-compose { padding: 1rem; margin: 1.2rem 0; box-shadow: 0 8px 28px #173d3209; }
.coach-compose textarea { min-height: 6rem; }
.coach-compose-footer { display: flex; justify-content: space-between; gap: .7rem; align-items: center; flex-wrap: wrap; }
.coach-compose-footer small { color: var(--muted); }
@media (min-width: 1024px) {
  .coach-layout { grid-template-columns: minmax(0, 1fr) minmax(16rem, 19rem); gap: 1.7rem; }
  .coach-sidebar { grid-column: 2; grid-row: 1; position: sticky; top: 1rem; }
  .coach-main { grid-column: 1; grid-row: 1; }
  .coach-explainer { display: block; padding: 1.5rem .5rem; }
  .coach-explainer h2 { font-size: 1.5rem; }
  .coach-explainer p { margin-top: .75rem; }
  .coach-offer { padding: 1.3rem; }
}
.doc-segments { margin-bottom: .7rem; }
.draft-meta { display: flex; justify-content: space-between; flex-wrap: wrap; align-items: center; gap: .4rem; margin-bottom: .6rem; }
.version-select { max-width: 100%; }
.editor-panel textarea { min-height: 13rem; }
.editor-panel textarea[name="body"] { line-height: 1.55; }
.editor-panel .inline-actions { margin-top: .65rem; }
.cv-options { display: flex; align-items: center; gap: .7rem; flex-wrap: wrap; margin: .4rem 0 .65rem; }
.cv-layout-check { padding: .8rem; margin-bottom: 1rem; border: 1px solid var(--faint); border-radius: .65rem; background: var(--paper); font-size: .875rem; }
.cv-layout-check > div { display: flex; justify-content: space-between; gap: .5rem; flex-wrap: wrap; }
.cv-layout-check > div > span { color: var(--muted); }
.cv-layout-check p { margin-top: .4rem; }
.cv-layout-check meter { width: 100%; height: .8rem; margin-top: .45rem; accent-color: var(--green); }
.cv-fit-good #cv-fit-status { color: var(--green); font-weight: 600; }
.cv-fit-over #cv-fit-status { color: var(--amber); font-weight: 600; }
.cv-upgrade { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .6rem; }
.cv-format-help { margin: -.25rem 0 .5rem; font-size: .875rem; color: var(--muted); }
.cv-format-help > summary { min-height: 44px; padding-block: .6rem; color: var(--green); font-weight: 600; }
.cv-options label { display: flex; gap: .45rem; align-items: center; color: var(--muted); font-size: .84rem; }
.counter { text-align: right; font-size: .8rem; margin: -.35rem 0 .55rem; color: var(--green); }
.counter.over-limit { color: #9b3728; font-weight: 700; }
.conversation { overflow: hidden; }
.conversation-header { display: flex; align-items: center; gap: .62rem; border-bottom: 1px solid var(--faint); padding: .74rem; background: #f6f8f3; }
.conversation-header h2 { font-size: 1.47rem; }
.chat-icon { background: #e1ecd8; width: 36px; height: 36px; }
.chat-log { min-height: 90px; max-height: 23rem; overflow: auto; display: grid; align-content: start; gap: .48rem; padding: .65rem; font-size: .86rem; }
.chat-empty { padding: .46rem .1rem; color: var(--muted); }
.bubble { background: #eff4ec; border-radius: 10px; padding: .56rem .65rem; }
.bubble > small { display: block; font-weight: 700; color: #496455; margin-bottom: .2rem; }
.bubble p { font-size: .86rem; }
.bubble-user { background: #f3f1e8; margin-left: 1.2rem; }
.bubble .btn { margin-top: .45rem; }
.chat-wait { display: flex; align-items: center; gap: .35rem; padding: .35rem 0; color: var(--green); }
.fact-picker { background: #f7faf5; border-block: 1px solid var(--faint); padding: .35rem .72rem; }
.fact-picker summary { font-size: .86rem; font-weight: 650; color: var(--green); }
.fact-picker summary svg { margin-right: .18rem; }
.fact-picker p { font-size: .82rem; color: var(--muted); }
.fact-picker-list { max-height: 14rem; overflow: auto; margin-top: .27rem; }
.fact-picker-list .check-label { min-height: 39px; }
.fact-picker-list small { display: block; color: var(--muted); font-size: .75rem; }
.chat-form { padding: .68rem; }
.chat-form .muted { margin-bottom: .4rem; font-size: .83rem; }
.chat-form .field > span:not(.sr-only) { font-size: .8rem; }
.chat-form .btn { width: 100%; }
.field { display: grid; gap: .25rem; margin-bottom: .7rem; min-width: 0; }
.field > span { font-size: .87rem; font-weight: 650; color: #31483b; }
.field > small { color: var(--muted); line-height: 1.5; }
.check-label { display: flex; align-items: center; gap: .45rem; min-height: 44px; font-size: .86rem; }
.form-grid { display: grid; gap: 0 .64rem; }
.fact-total, .fact-kind { color: var(--muted); font-size: .8rem; }
.fact-total { margin-bottom: .24rem; }
.fact-row { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .55rem; padding: .76rem 0; border-top: 1px solid var(--faint); }
.fact-row > div:first-child { flex: 1 1 16rem; min-width: 0; }
.fact-row h3 { margin: .14rem 0 .32rem; overflow-wrap: anywhere; }
.fact-row p { font-size: .87rem; }
.fact-row .muted { margin-bottom: .27rem; }
.fact-row .fact-source { margin-top: .45rem; font-size: .79rem; color: var(--muted); }
.fact-row-actions { display: flex; flex-wrap: wrap; align-items: center; align-content: start; gap: .35rem; }
.contact-panel > p, .model-card > p:not(.eyebrow) { margin-bottom: .75rem; }
.model-card > .metric-icon { margin-bottom: .6rem; }
.model-card h2 { margin: .16rem 0 .5rem; }
.template-tokens { display: flex; flex-wrap: wrap; gap: .25rem; margin-bottom: .65rem; }
code { font-family: Consolas, monospace; font-size: .87em; background: #eff3eb; color: #2f5341; border-radius: 4px; padding: .15rem .25rem; }
#letter-template-form { margin-top: .7rem; }
dialog {
  width: min(calc(100% - 1.1rem), 36rem); padding: 0; max-height: calc(100dvh - 1.1rem);
  border: 1px solid #c5d5c6; border-radius: 15px; background: var(--panel); color: var(--ink);
  box-shadow: 0 12px 55px #142e2360; overflow: auto;
}
dialog.dialog-wide { width: min(calc(100% - 1.1rem), 54rem); }
dialog::backdrop { background: #192c23a1; }
.dialog-header {
  position: sticky; z-index: 1; top: 0; display: flex; justify-content: space-between; align-items: center; gap: .6rem;
  background: #f6f8f3; border-bottom: 1px solid var(--faint); padding: .65rem .85rem;
}
.dialog-body { padding: .84rem; }
.dialog-description { color: var(--muted); margin-bottom: .72rem; }
.dialog-actions { display: flex; align-items: center; flex-wrap: wrap; justify-content: end; gap: .44rem; padding-top: .72rem; }
.add-segments { margin-bottom: .72rem; }
.notice { background: #eff5ea; border-left: 3px solid #76a487; color: #345443; padding: .54rem .63rem; border-radius: 0 7px 7px 0; margin: .62rem 0; font-size: .88rem; }
.result-card { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: .65rem; border: 1px solid var(--faint); border-radius: 9px; padding: .72rem; margin-top: .57rem; }
.result-card > div { flex: 1 1 17rem; min-width: 0; }
.result-card h3 { font-size: 1.07rem; margin: .15rem 0; overflow-wrap: anywhere; }
.result-card .source-date, .result-card details { font-size: .81rem; margin-top: .25rem; }
.send-versions { border: 1px solid var(--faint); border-radius: 9px; margin: .12rem 0 .75rem; padding: .55rem; }
.send-versions legend { font-size: .9rem; font-weight: 650; padding: 0 .3rem; }
.mode-help div { padding: .4rem 0; border-top: 1px solid var(--faint); }
.mode-help dt { font-weight: 700; }
.mode-help dd { margin: .23rem 0 0; color: var(--muted); }
.upload-field { border: 1px dashed #b1c6b4; border-radius: 10px; padding: .7rem; background: #f6faf4; }
.import-list { display: grid; gap: .32rem; max-height: 47vh; overflow: auto; margin-top: .55rem; }
.import-row { display: flex; align-items: start; gap: .5rem; border: 1px solid var(--faint); border-radius: 8px; padding: .52rem; }
.import-row span, .import-row small { display: block; }
.import-row small { color: var(--muted); margin: .13rem 0; }
.import-row .preserve { margin: .22rem 0; font-size: .88rem; }
.review-controls { display: flex; gap: .3rem; flex-wrap: wrap; }
.error-line { background: #f9ebe6; color: #763e2a; border-radius: 7px; padding: .45rem; margin: .3rem 0; }
.preview-links { margin-bottom: .5rem; }
.pdf-preview { width: 100%; min-height: min(69vh, 760px); border: 1px solid var(--faint); border-radius: 8px; background: #edf1ea; }
#toast { position: fixed; z-index: 4; right: .9rem; bottom: .9rem; max-width: min(calc(100% - 1.8rem), 31rem); pointer-events: none; display: none; }
#toast.toast-visible { display: block; padding: .66rem .82rem; border-radius: 9px; background: #1c4939; color: #fff; box-shadow: 0 3px 18px #1d30213b; }
#toast.toast-error { background: #763829; }
.spinner { display: inline-block; width: 14px; height: 14px; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; animation: rotate .8s linear infinite; flex: none; }
@keyframes rotate { to { transform: rotate(360deg); } }

.access-shell {
  min-height: 100svh;
  background: radial-gradient(ellipse at 90% 7%, #dce8d5, transparent 51%), var(--paper);
}
.access-page { display: grid; align-content: center; justify-items: center; gap: 1rem; min-height: 100svh; padding-block: 1.6rem; }
.access-panel {
  width: min(100%, 28rem); background: white; border: 1px solid var(--faint); border-radius: 22px;
  padding: clamp(1rem, 6vw, 2rem); box-shadow: 0 16px 60px #173d3224;
}
.access-mark { margin-bottom: 1rem; }
.access-panel h1 { font-size: clamp(2.05rem, 8vw, 2.9rem); margin-top: .3rem; }
.access-panel form { margin-top: 1.15rem; }
.access-panel form .btn { width: 100%; min-height: 48px; }
.access-notice { display: flex; align-items: start; gap: .55rem; background: var(--sage); border-radius: 10px; padding: .72rem; margin: 1rem 0 .65rem; }
.access-notice svg { margin-top: .16rem; }
.access-footer { display: flex; align-items: center; gap: .36rem; color: var(--muted); font-size: .82rem; text-align: center; }
.login-error:empty { display: none; }
.login-error { color: #963c2a; margin-bottom: .65rem; font-size: .88rem; }
.settings-layout { display: grid; gap: .75rem; align-items: start; }
.settings-card form, .settings-card > .btn { margin-top: .85rem; }
.settings-card .inline-actions .btn { flex: 1 1 10rem; }

.mobile-add { background: var(--deep); border-color: var(--deep); color: #fff; }
.mobile-add:hover { color: var(--green); }
.mobile-nav {
  position: fixed; z-index: 3; inset: auto 0 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .2rem; padding: .3rem max(.4rem, env(safe-area-inset-right)) max(.34rem, env(safe-area-inset-bottom)) max(.4rem, env(safe-area-inset-left));
  background: #fbfcf8; border-top: 1px solid #d2ddd0; box-shadow: 0 -2px 12px #263b2610;
}
.mobile-nav > :is(a, button), .mobile-menu > a {
  display: grid; place-content: center; justify-items: center; gap: .18rem; min-height: 52px;
  border: 0; border-radius: 8px; padding: .2rem; background: transparent; color: var(--muted);
  font: 650 .73rem/1.15 "Segoe UI", sans-serif; text-decoration: none;
}
.mobile-nav > [aria-current], .mobile-nav > .current { background: #e4eee2; color: var(--deep); }
.mobile-menu { display: grid; gap: .4rem; }
.mobile-menu > a {
  display: flex; justify-content: start; align-items: center; gap: .65rem; padding: .6rem .75rem;
  border: 1px solid var(--faint); color: var(--green); font-size: .95rem;
}
.mobile-menu > a:hover { background: var(--sage); }
.mobile-offers { display: grid; gap: .45rem; }
.mobile-offer {
  display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: start; gap: .54rem;
  padding: .63rem; border: 1px solid var(--faint); border-radius: 11px;
  color: var(--ink); text-decoration: none; background: #fcfdfb;
}
.mobile-offer:hover { background: #eff5ec; }
.mobile-offer-main { min-width: 0; display: grid; gap: .16rem; overflow-wrap: anywhere; }
.mobile-offer-main strong { line-height: 1.24; }
.mobile-offer-main > span:not(.mobile-offer-status), .mobile-offer-main > small { color: var(--muted); font-size: .82rem; }
.mobile-offer > svg { color: var(--green); align-self: center; }
.mobile-offer-status { display: flex; flex-wrap: wrap; align-items: center; gap: .25rem .48rem; margin-top: .28rem; }
.mobile-offer-status > small { color: var(--muted); font-size: .74rem; }
.mobile-offer-status > .late { color: var(--amber); }

@media (max-width: 767px) {
  .shell main { padding: 1.1rem max(.78rem, env(safe-area-inset-right)) calc(5.2rem + env(safe-area-inset-bottom)) max(.78rem, env(safe-area-inset-left)); }
  .sidebar { padding: max(.52rem, env(safe-area-inset-top)) max(.78rem, env(safe-area-inset-right)) .52rem max(.78rem, env(safe-area-inset-left)); }
  .topbar { display: none; }
  .shell .page-heading { margin-bottom: .8rem; }
  .page-heading .page-actions [data-action="ajouter"] { display: none; }
  .page-heading .subtitle { margin-top: .24rem; font-size: .9rem; }
  .hero { padding: .85rem; }
  .hero h2 { font-size: clamp(1.4rem, 6.6vw, 1.9rem); }
  .hero-note { font-size: .78rem; }
  .metrics { margin-bottom: .78rem; }
  .registry { padding: .68rem; }
  .table-wrap { display: none; }
  .search-box { max-width: none; }
  .toolbar .filter-box { flex: 1 1 calc(50% - .5rem); }
  .filter-box select {
    appearance: none; padding-right: 1.25rem; border-radius: 8px; background-color: transparent;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%23445f51' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-position: right .3rem center; background-size: .85rem; background-repeat: no-repeat;
  }
  .segments { width: 100%; }
  .segments .seg { flex: 1 1 auto; }
  .add-segments .seg { flex: 1 1 calc(50% - 5px); }
  .kanban { grid-auto-columns: min(76vw, 250px); scroll-snap-type: inline mandatory; scroll-padding-inline: .55rem; }
  .lane { scroll-snap-align: start; }
  .case-tabs nav { gap: .1rem; }
  .case-tabs a { padding-inline: .33rem; }
  .case-tabs nav a > svg { display: none; }
  .case-tabs .chat-jump { margin: 0; }
  .case-mark { display: none; }
  .case-heading h1 { font-size: clamp(1.48rem, 6.2vw, 2.04rem); }
  .case-actions { width: 100%; }
  .case-actions .btn { flex: 1 1 11rem; }
  .case-actions .status-control { flex: 1 1 8rem; }
  .case-actions select { width: 100%; }
  .conversation .chat-log { max-height: min(50svh, 32rem); }
  .field :is(input, textarea, select), .search-box input, .filter-box select, .status-control select { font-size: 16px; }
  #toast { bottom: calc(4.3rem + env(safe-area-inset-bottom)); }
  dialog { max-height: min(94dvh, calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - .8rem)); }
  dialog.preview-dialog { width: calc(100% - .5rem); }
  .preview-dialog .dialog-body { padding: .45rem; }
  .pdf-preview { min-height: 68dvh; }
}

@media (max-width: 1023px) {
  .case-layout:not(.chat-view) .conversation, .case-layout.chat-view .case-main { display: none; }
}

@media (min-width: 768px) {
  .mobile-offers { display: none; }
  .top-date { display: inline-flex; }
  .topbar { padding-inline: 1.5rem; }
  main { padding: 1.85rem 1.5rem 3.2rem; }
  .shell main { padding-bottom: calc(5rem + env(safe-area-inset-bottom)); }
  .hero { padding: 1.25rem 1.4rem; }
  .hero-form { grid-template-columns: minmax(0, 1fr) auto; }
  .hero-art { display: block; opacity: .65; }
  .hero-inner { width: 70%; }
  .metrics { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .72rem; }
  .metric { padding: .85rem; gap: .68rem; }
  .metric div span { font-size: .8rem; }
  .registry, .section-panel, .agenda-panel, .calendar-panel, .day-agenda { padding: 1.03rem 1.15rem; }
  .search-box { flex: 1 1 16rem; }
  .case-tabs a { padding-inline: .68rem; }
  .case-mark { width: 52px; height: 52px; }
  .calendar-layout { grid-template-columns: minmax(0, 1.55fr) minmax(260px, 1fr); }
  .day { min-height: 56px; align-items: start; padding: .4rem; }
  .info-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dialog-body { padding: 1.12rem; }
  .dialog-header { padding-inline: 1.12rem; }
  .settings-layout { grid-template-columns: minmax(0, 1.4fr) minmax(260px, 1fr); }
}
@media (min-width: 1024px) {
  .shell { display: grid; grid-template-columns: 212px minmax(0, 1fr); }
  .sidebar {
    position: sticky; top: 0; display: flex; flex-direction: column; align-items: stretch; height: 100vh;
    padding: 1.24rem .88rem .75rem; border-bottom: 0; border-right: 1px solid var(--faint); overflow: auto;
  }
  .sidebar .brand { margin: .02rem .28rem 1.55rem; }
  .side-menu { display: flex; flex-direction: column; flex: 1; }
  .side-label { margin-inline: .64rem; }
  .side-menu nav { margin-bottom: auto; }
  .local-card { margin-top: 1rem; }
  .mobile-add, .mobile-nav { display: none; }
  .topbar { min-height: 55px; padding-inline: 1.8rem; }
  main { padding-inline: 1.8rem; }
  .shell main { padding-bottom: 3.2rem; }
  .hero-art { right: 1.2rem; opacity: 1; }
  .case-layout { grid-template-columns: minmax(0, 1fr) minmax(270px, .53fr); }
  .conversation { position: sticky; top: .6rem; }
  .profile-layout, .models-layout { grid-template-columns: minmax(0, 1.5fr) minmax(270px, 1fr); }
  .models-layout { grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); }
  .case-tabs .chat-jump { display: none; }
}
@media (min-width: 1280px) {
  .shell { grid-template-columns: 226px minmax(0, 1fr); }
  main { padding: 1.9rem 2.45rem 3.4rem; }
  .topbar { padding-inline: 2.45rem; }
  .hero { padding: 1.22rem 1.55rem; }
  .metric { padding: .9rem 1rem; }
  .registry { padding: 1.1rem 1.25rem; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation-duration: .01ms !important; }
}
