
/* EasyCTL — consolidated shared design system */
:root{
  color-scheme:light;
  --bg-canvas:#f9f9fb;
  --surface-1:#ffffff;
  --surface-2:#f4f4f6;
  --surface-3:#eaeaef;
  --border-subtle:#e0e1e6;
  --border-strong:#cdced6;
  --text-primary:#1c2024;
  --text-secondary:#60646c;
  --text-muted:#6b6f7a; /* 0.7.19 : contraste AA ≥ 4.5:1 sur surfaces claires */
  --accent:#007C7C;
  --accent-hover:#006C6C;
  --accent-subtle:rgba(0,124,124,.10);
  --accent-border:rgba(0,124,124,.42);
  --primary-action:#00FFFF;
  --primary-action-hover:#00E6E6;
  --primary-action-active:#00CCCC;
  --primary-action-text:#0B0F14;
  --success:#218358;
  --success-subtle:rgba(33,131,88,.11);
  --warning:#ab6400;
  --warning-subtle:rgba(171,100,0,.11);
  --danger:#ce2c31;
  --danger-subtle:rgba(206,44,49,.10);
  --purple:#6e56cf;
  --focus-ring:#007C7C;
  --shadow-sm:none;
  --shadow-card:none;

  /* Legacy aliases so old page CSS keeps working */
  --bg:var(--bg-canvas);
  --s:var(--surface-1);
  --s2:var(--surface-2);
  --s3:var(--surface-3);
  --t:var(--text-primary);
  --m:var(--text-secondary);
  --b:var(--border-subtle);
  --nav:var(--surface-1);
  --blue:var(--accent);
  --green:var(--success);
  --orange:var(--warning);
  --red:var(--danger);
  --cyan:var(--accent);
  --shadow:var(--shadow-card);

  --font-body:16px;
  --font-label:16px;
  --font-field:17px;
  --font-small:14px;
  --font-meta:15px;
  --font-badge:14px;
  --font-button:15px;
  --font-section:22px;
  --font-title:clamp(26px,1.6vw,31px);
  --radius-sm:8px;
  --radius-md:12px;
  --radius-lg:16px;
  --space-1:.4rem;
  --space-2:.65rem;
  --space-3:.95rem;
  --space-4:1.25rem;
  --space-5:1.7rem;
  --field-min:300px;
  --easyctl-header-control:44px;
  --easyctl-table-action-control:32px;
  --easyctl-table-action-icon:16px;
  --status-draft:#475569;
  --status-progress:#1d4ed8;
  --status-review:#92400e;
  --status-completed:#166534;
  --status-cancelled:#9f1239;
  --status-surveillance:#6d28d9;
  --status-archived:#52525b;
  --scrollbar-thumb:#64748b;
  --scrollbar-track:transparent;
  --scrollbar-hover:#475569;
}
html[data-theme="dark"]{
  color-scheme:dark;
  --bg-canvas:#111113;
  --surface-1:#18191b;
  --surface-2:#212225;
  --surface-3:#27282b;
  --border-subtle:#303238;
  --border-strong:#44474e;
  --text-primary:#f2f2f3;
  --text-secondary:#c4c7cc;
  --text-muted:#9ea2aa;
  --accent:#00FFFF;
  --accent-hover:#00C4C4;
  --accent-subtle:rgba(0,178,178,.16);
  --accent-border:rgba(0,178,178,.55);
  --primary-action:#00FFFF;
  --primary-action-hover:#00E6E6;
  --primary-action-active:#00CCCC;
  --primary-action-text:#0B0F14;
  --success:#3dd68c;
  --success-subtle:rgba(61,214,140,.14);
  --warning:#ffc53d;
  --warning-subtle:rgba(255,197,61,.13);
  --danger:#ff9592;
  --danger-subtle:rgba(229,72,77,.16);
  --purple:#a184ff;
  --focus-ring:#00FFFF;
  --text-on-accent:#041F1F;
  --shadow-sm:none;
  --shadow-card:none;
  --status-draft:#94A3B8;
  --status-progress:#60A5FA;
  --status-review:#FBBF24;
  --status-completed:#4ADE80;
  --status-cancelled:#FDA4AF;
  --status-surveillance:#C4B5FD;
  --status-archived:#a1a1aa;
  --scrollbar-hover:#94a3b8;
}
*{box-sizing:border-box;scrollbar-width:auto;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}
html{font-size:16px;background:var(--bg-canvas);scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}
body{
  margin:0!important;
  background:var(--bg-canvas)!important;
  color:var(--text-primary)!important;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif!important;
  font-size:var(--font-body)!important;
  line-height:1.5;
  transition:background .16s linear,color .16s linear;
}
button,input,select,textarea{font:inherit}
input[type="number"],.mono{
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace!important;
}
.metric strong,td.num,.tabular-nums,input[type="number"]{
  font-variant-numeric:tabular-nums;
}
:focus-visible{outline:3px solid color-mix(in srgb,var(--focus-ring) 60%,transparent);outline-offset:2px}
a{color:var(--accent)}
a:hover{color:var(--text-primary)}
svg.lucide{width:1.18em;height:1.18em;stroke-width:2;flex:0 0 auto}
.ctd-icon{display:inline-flex;align-items:center;justify-content:center}
*::-webkit-scrollbar{width:12px;height:12px}
*::-webkit-scrollbar-track{background:var(--scrollbar-track)}
*::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border:3px solid transparent;border-radius:8px;background-clip:padding-box}
*::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-hover)}

/* Full-width application */
main,.head,.tabs,.workflow{
  width:100%!important;
  max-width:none!important;
}
main{padding:clamp(14px,1.35vw,28px)!important}
.head{padding:14px clamp(14px,1.35vw,28px)!important}
.tabs,.workflow{padding-inline:clamp(14px,1.35vw,28px)!important}

/* Header / navigation */
header{
  background:var(--surface-1)!important;
  color:var(--text-primary)!important;
  border-bottom:1px solid var(--border-subtle)!important;
}
header .brand h1,header h1{font-size:clamp(22px,1.35vw,27px)!important;color:var(--text-primary)!important}
header .brand small,header small{color:var(--text-secondary)!important;font-size:14px!important}
header .base-status{font-size:14px!important}
header a,header button{white-space:nowrap}
.easyctl-app-header{
  position:sticky!important;top:0;z-index:1300;
  width:100%;min-height:64px;padding:9px clamp(14px,1.35vw,28px)!important;
  display:flex;align-items:center;gap:10px;flex-wrap:nowrap;
  background:var(--surface-1)!important;border-bottom:1px solid var(--border-subtle)!important;
  box-shadow:none!important;
}
.easyctl-brand-home{display:inline-flex;align-items:center;min-height:44px;padding:0 4px;color:#000!important;text-decoration:none;font-size:20px;font-weight:700;letter-spacing:-.02em}
html[data-theme="dark"] .easyctl-brand-home{color:#fff!important}
.easyctl-brand-wordmark{width:168px;height:44px;display:block;color:currentColor;overflow:visible}
.easyctl-brand-wordmark svg{display:block;width:100%;height:100%}
.easyctl-theme-choices{display:inline-flex;align-items:center;gap:4px;padding:3px;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-2)}
.easyctl-theme-choice{width:40px;height:40px;min-height:40px!important;padding:0!important;display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent!important;border-radius:var(--radius-sm)!important;background:transparent!important;color:var(--text-secondary)!important}
.easyctl-theme-choice:hover{border-color:var(--accent-border)!important;color:var(--text-primary)!important}
.easyctl-theme-choice.is-active{background:var(--primary-action)!important;border-color:var(--primary-action)!important;color:var(--primary-action-text)!important}
.easyctl-brand-home:hover,.easyctl-brand-home:focus-visible{color:var(--accent)!important}
.easyctl-header-spacer{flex:1 1 auto;min-width:12px}
.easyctl-app-header .easyctl-user-context{flex:0 1 auto}
.easyctl-app-header .easyctl-global-nav{flex:0 0 auto}
@media (max-width:900px){.easyctl-app-header{flex-wrap:wrap}.easyctl-header-spacer{display:none}.easyctl-app-header .easyctl-user-context{margin-left:auto}.easyctl-app-header .easyctl-global-nav{width:auto}}
@media (max-width:620px){.easyctl-brand-home{margin-right:auto}.easyctl-app-header .easyctl-user-context{order:3;width:100%;margin-left:0}.easyctl-app-header .easyctl-global-nav{order:2;width:auto}}
.secondary{
  background:var(--surface-2)!important;
  border:1px solid var(--border-strong)!important;
  color:var(--text-primary)!important;
}
.secondary:hover{border-color:var(--accent)!important;color:var(--accent)!important}
.primary,.orange{
  background:var(--primary-action)!important;
  border:1px solid var(--primary-action)!important;
  color:var(--primary-action-text)!important;
}
.primary:hover,.orange:hover{background:var(--primary-action-hover)!important;border-color:var(--primary-action-hover)!important}
.primary:active,.orange:active{background:var(--primary-action-active)!important;border-color:var(--primary-action-active)!important}
button,a.btn{
  min-height:44px!important;
  padding:9px 14px!important;
  border-radius:var(--radius-sm)!important;
  font-size:var(--font-button)!important;
  font-weight:600!important;
  gap:8px!important;
}
#theme,[data-ctd-theme-toggle]{
  min-width:44px;
  padding-inline:11px!important;
}

/* Summary header */
.summary{gap:8px!important}
.metric{
  min-width:128px!important;
  padding:8px 11px!important;
  background:var(--surface-2)!important;
  border:1px solid var(--border-subtle)!important;
  border-radius:var(--radius-sm)!important;
}
.metric span{font-size:14px!important;color:var(--text-secondary)!important;letter-spacing:.04em}
.metric strong{font-size:16px!important;color:var(--text-primary)!important}

/* Tabs */
.tabs{
  gap:4px;
  overflow-x:auto!important;
  overscroll-behavior-inline:contain;
  background:var(--surface-1)!important;
  border-top:0!important;
  border-bottom:1px solid var(--border-subtle)!important;
}
.tab{
  min-height:50px!important;
  padding:10px 15px!important;
  color:var(--text-secondary)!important;
  border-bottom:3px solid transparent!important;
  font-size:16px!important;
  display:inline-flex!important;
  align-items:center;
  gap:9px;
}
.tab:hover{color:var(--text-primary)!important;background:var(--surface-2)!important}
.tab.active{color:var(--accent)!important;border-bottom-color:var(--accent)!important}

/* Workflow */
.workflow{
  gap:8px!important;
  padding-block:9px!important;
  background:var(--surface-1)!important;
  border-top:0!important;
  border-bottom:1px solid var(--border-subtle)!important;
}
.workflow .wf-label{font-size:14px!important;color:var(--text-secondary)!important}
.wf-badge{font-size:var(--font-badge)!important;padding:6px 10px!important}
.wf-button{min-height:40px!important;font-size:var(--font-button)!important;padding:7px 11px!important}

/* Cards */
.card,.assistant-card,.modal{
  background:var(--surface-1)!important;
  border:1px solid var(--border-subtle)!important;
  border-radius:var(--radius-md)!important;
}
.card{padding:clamp(15px,1.15vw,22px)!important;margin-bottom:16px!important}
.card h2,.assistant-block h3{font-size:var(--font-section)!important;line-height:1.25;margin:0 0 9px!important}
.intro,.muted{font-size:var(--font-small)!important;color:var(--text-secondary)!important;line-height:1.5}

/* Responsive grids */
.g2,.g3,.filters,.g{display:grid!important;gap:16px 18px!important;width:100%}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.g3{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.filters,.g{grid-template-columns:repeat(auto-fit,minmax(min(100%,var(--field-min)),1fr))!important}
.g{align-items:end}
.field{min-width:0;position:relative;border-radius:12px;transition:background .16s ease,border-color .16s ease}
.field label{
  display:block;
  color:var(--text-secondary)!important;
  font-size:var(--font-label)!important;
  line-height:1.3;
  font-weight:650!important;
  margin-bottom:7px!important;
}
.field input,.field select,.field textarea,.filters input,.filters select,.g input,.g select,td input,td select{
  width:100%;
  min-height:46px!important;
  border:1px solid var(--border-strong)!important;
  border-radius:var(--radius-sm)!important;
  background:var(--surface-1)!important;
  color:var(--text-primary)!important;
  padding:9px 11px!important;
  font-size:var(--font-field)!important;
}
.field input:hover,.field select:hover,.field textarea:hover{border-color:color-mix(in srgb,var(--accent) 55%,var(--border-strong))!important}
.field input[readonly]{
  background:var(--surface-2)!important;
  border-color:var(--border-subtle)!important;
  color:var(--text-primary)!important;
  font-weight:700!important;
}
.field input:disabled,.field select:disabled{opacity:.62!important}
.currency-note{display:none!important;font-size:14px!important;color:var(--text-muted)!important}
.info-mini{
  width:32px!important;height:32px!important;min-width:32px!important;min-height:32px!important;
  padding:0!important;border-radius:999px!important;
  font-size:14px!important;background:var(--accent)!important;
}

/* Calculated values / notices */
.notice,.deadline-result,.result{
  background:var(--surface-2)!important;
  border-color:var(--border-subtle)!important;
  font-size:16px!important;
  line-height:1.5!important;
}
.notice{padding:12px 14px!important}
.deadline-result{padding:13px 14px!important}
.result{padding:18px!important;max-width:none}
.result.ok{border-color:var(--success)!important}
.result.warn{border-color:var(--warning)!important}
.result.bad{border-color:var(--danger)!important}

/* Assistant: compact by default */
.assistant-card{margin-top:16px!important;overflow:hidden}
.assistant-head{
  padding:12px 15px!important;
  background:var(--surface-1)!important;
  border-bottom:0!important;
  gap:12px!important;
}
.assistant-logo{
  width:42px!important;height:42px!important;
  background:var(--accent)!important;color:#fff!important;
  box-shadow:none!important;font-size:20px!important;
}
html[data-theme="dark"] .assistant-logo{color:#04241f!important}
.assistant-title strong{font-size:17px!important}
.assistant-title span{
  display:block;
  max-width:min(900px,70vw);
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
  font-size:14px!important;
  color:var(--text-secondary)!important;
}
.progress-wrap{min-width:220px}
.progress-label{font-size:14px!important;color:var(--text-secondary)!important}
.progress-bar{height:8px!important;background:var(--surface-3)!important}
.progress-fill{background:var(--accent)!important}
.assistant-details-toggle{margin-left:4px}
.assistant-card:not(.expanded) .assistant-body{display:none!important}
.assistant-card.expanded .assistant-head{border-bottom:1px solid var(--border-subtle)!important}
.assistant-body{
  grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr))!important;
  gap:14px!important;padding:14px!important;
}
.assistant-block{
  min-height:0!important;
  padding:14px!important;
  background:var(--surface-2)!important;
  border:1px solid var(--border-subtle)!important;
}
.assistant-block h3{font-size:17px!important}
.assistant-block p{font-size:14px!important;line-height:1.5!important}
.timeline{grid-template-columns:repeat(auto-fit,minmax(135px,1fr))!important;gap:8px!important}
.time-step{min-height:78px!important;padding:10px!important;background:var(--surface-1)!important}
.time-step span{font-size:14px!important}
.time-step strong{font-size:16px!important}
.time-step em{font-size:14px!important}
.guide-badge{font-size:14px!important;padding:5px 8px!important}
.guide-code{font-size:21px!important}
.guide-meta{grid-template-columns:105px 1fr!important;gap:7px 10px!important;font-size:14px!important}
.control{font-size:15px!important;padding:10px 11px!important;line-height:1.45!important}
.year-alert{font-size:15px!important;padding:10px 12px!important;background:var(--warning-subtle)!important;color:var(--warning)!important;border-color:color-mix(in srgb,var(--warning) 45%,transparent)!important}

/* Tables: keep readable, scroll instead of shrinking text */
.tablewrap{overflow:auto!important;max-width:100%}
th,td{padding:11px 12px!important;font-size:14px!important}
th{
  background:var(--surface-2)!important;
  color:var(--text-secondary)!important;
  font-size:14px!important;
  white-space:nowrap;
}
td{color:var(--text-primary)!important;font-size:15px!important}
table .actions{display:flex;gap:7px;flex-wrap:wrap}
table .actions a,table .actions button{
  min-height:36px!important;padding:6px 9px!important;font-size:14px!important;
}
.badge,.new,.counter{font-size:12px!important}
.badge{padding:5px 8px!important}

/* Mailbox */



.counter{background:var(--surface-3)!important;color:var(--text-primary)!important}
/* Barèmes workspace */
.workspace{width:100%!important;max-width:none!important}
.sidebar{min-width:260px}
.content{min-width:0}
.row,.table-head{font-size:14px!important}
.row .param strong{font-size:15px!important}
.meta,.muted{font-size:13px!important}

/* Modal */
.modal{width:min(760px,100%)!important;padding:20px!important}
.modal h2{font-size:22px!important}
.modal textarea{min-height:110px!important}

/* Login */
.box{
  width:min(520px,100%)!important;
  background:var(--surface-1)!important;
  border-color:var(--border-subtle)!important;
  box-shadow:none!important;
}
.box h1{font-size:22px!important}
.box .sub{font-size:16px!important;color:var(--text-secondary)!important}
.box .field input{font-size:17px!important;background:var(--surface-2)!important;color:var(--text-primary)!important}
.box .btn{font-size:14px!important;min-height:48px!important;background:var(--primary-action)!important;color:var(--primary-action-text)!important;border-color:var(--primary-action)!important}

/* Responsive */
@media (min-width:1800px){
  :root{--field-min:320px}
  main{padding-inline:30px!important}
  .card{padding:22px!important}
}
@media (max-width:1199px){
  :root{--field-min:290px}
  .summary{order:3;width:100%}
  .metric{flex:1 1 150px}
  .sidebar{min-width:225px}
}
@media (max-width:900px){
  :root{--field-min:270px}
  .head{align-items:flex-start!important}
  .brand{flex:1 1 100%!important}
  .workflow{overflow-x:auto;flex-wrap:nowrap!important}
  .workflow>*{white-space:nowrap}
  .assistant-title span{max-width:65vw}
  .progress-wrap{min-width:170px}
  .workspace{display:block!important}
  .sidebar{position:static!important;width:100%!important;display:grid!important;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}
}
@media (max-width:700px){
  body{font-size:14px!important}
  main{padding:12px!important}
  .head,.tabs,.workflow{padding-inline:12px!important}
  .head{gap:8px!important}
  .summary{display:grid!important;grid-template-columns:1fr 1fr;width:100%}
  .metric{min-width:0!important}
  .metric:nth-child(n/**/+5){display:none}
  .tab{font-size:15px!important;padding:9px 12px!important}
  .assistant-head{align-items:flex-start!important}
  .assistant-title{min-width:0;flex:1}
  .assistant-title span{max-width:70vw}
  .progress-wrap{width:100%;order:5}
  .assistant-details-toggle{margin-left:auto}
  
  table{min-width:920px}
  .card{padding:14px!important}
}
@media (max-width:480px){
  .summary{grid-template-columns:1fr}
  .metric:nth-child(n/**/+4){display:none}
  .assistant-title span{max-width:58vw}
  button,a.btn{font-size:14px!important}
}
@media print{
  .assistant-card,.assistant-details-toggle,[data-ctd-theme-toggle]{display:none!important}
}


/* CTD 0.6.4b — progressive disclosure / simplified hierarchy */
.metric .metric-sub{
  display:block;
  margin-top:2px;
  color:var(--text-muted);
  font-size:14px!important;
  font-style:normal;
  font-weight:650;
  text-transform:none;
  letter-spacing:0;
}
.summary .metric.metric-version{display:none!important}

.result-header{
  display:flex;
  align-items:flex-start;
  gap:12px;
  flex-wrap:wrap;
}
.result-header .result-heading{
  min-width:0;
  flex:1;
}
.result-header h2{margin-bottom:5px!important}
.result-header p{margin:0;color:var(--text-secondary);font-size:16px;line-height:1.5}

.result-grid{
  width:min(900px,100%);
  margin-top:17px;
  display:grid;
  grid-template-columns:minmax(220px,1fr) minmax(160px,.55fr);
  border:1px solid var(--border-subtle);
  border-radius:var(--radius-md);
  overflow:hidden;
  background:var(--surface-1);
}
.result-row{display:contents}
.result-label,.result-value{
  min-height:48px;
  display:flex;
  align-items:center;
  padding:10px 14px;
  border-bottom:1px solid var(--border-subtle);
  font-size:15px;
}
.result-label{color:var(--text-secondary);font-weight:650;font-size:16px}
.result-value{
  justify-content:flex-end;
  color:var(--text-primary);
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;
  font-size:17px;
  font-weight:750;
}
.result-row:last-child .result-label,.result-row:last-child .result-value{border-bottom:0}
.result-row.result-emphasis .result-label,.result-row.result-emphasis .result-value{
  background:var(--accent-subtle);
  color:var(--accent);
  font-weight:800;
}

.result-missing-action{
  width:min(820px,100%);
  margin-top:16px;
  padding:15px 16px;
  border:1px solid color-mix(in srgb,var(--warning) 48%,var(--border-subtle));
  border-radius:var(--radius-md);
  background:var(--warning-subtle);
  display:flex;
  align-items:center;
  gap:13px;
  flex-wrap:wrap;
}
.result-missing-action[hidden]{display:none!important}
.result-missing-icon{
  width:42px;height:42px;border-radius:10px;
  display:grid;place-items:center;
  background:color-mix(in srgb,var(--warning) 18%,transparent);
  color:var(--warning);
  flex:0 0 auto;
  font-size:21px;
}
.result-missing-copy{flex:1;min-width:240px}
.result-missing-copy strong{display:block;font-size:16px;color:var(--text-primary);margin-bottom:2px}
.result-missing-copy span{font-size:14px;color:var(--text-secondary)}
.result-missing-action .primary{margin-left:auto}

.comment-details{
  margin-bottom:14px;
  border:1px solid var(--border-subtle);
  border-radius:var(--radius-sm);
  background:var(--surface-2);
}
.comment-details summary{
  min-height:46px;
  display:flex;
  align-items:center;
  gap:9px;
  cursor:pointer;
  padding:9px 12px;
  color:var(--text-secondary);
  font-size:16px;
  font-weight:650;
  list-style:none;
}
.comment-details summary::-webkit-details-marker{display:none}
.comment-details summary:hover{color:var(--text-primary)}
.comment-details[open] summary{
  border-bottom:1px solid var(--border-subtle);
  color:var(--accent);
}
.comment-details .comment-body{padding:12px}
.comment-details textarea{
  width:100%;
  min-height:110px;
  resize:vertical;
  background:var(--surface-1);
  color:var(--text-primary);
  border:1px solid var(--border-strong);
  border-radius:var(--radius-sm);
  padding:10px 12px;
  font-size:16px;
}
.comment-preview{
  margin-left:auto;
  max-width:min(620px,50vw);
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
  color:var(--text-muted);
  font-size:14px;
  font-weight:500;
}

.workflow .wf-button.is-secondary-action{
  background:var(--surface-2)!important;
  border-color:var(--border-strong)!important;
  color:var(--text-primary)!important;
}
.workflow .wf-button.is-secondary-action:hover{
  border-color:var(--accent)!important;
  color:var(--accent)!important;
}
.workflow .wf-button:disabled{
  opacity:.48!important;
  cursor:not-allowed!important;
}

.assistant-head .progress-label span:first-child::after{content:"";}
#assistantProgressLabel{white-space:nowrap}

@media (max-width:700px){
  .result-grid{grid-template-columns:1fr}
  .result-label{
    min-height:auto;
    padding-bottom:3px;
    border-bottom:0;
    background:var(--surface-2);
  }
  .result-value{
    justify-content:flex-start;
    padding-top:3px;
    border-bottom:1px solid var(--border-subtle);
  }
  .result-missing-action .primary{width:100%;margin-left:0}
  .comment-preview{display:none}
}

/* CTD 0.6.5 — guided form */
.ctd-workbench{display:grid;grid-template-columns:minmax(0,1fr) clamp(380px,27vw,470px);gap:20px;align-items:start;width:100%}
.ctd-panel-stack{min-width:0}.ctd-panel-stack>.panel{width:100%}
.ctd-section{margin-top:24px;padding-top:22px;border-top:1px solid var(--border-subtle)}
.ctd-section:first-of-type{margin-top:8px;padding-top:6px;border-top:0}
.ctd-section-head{display:flex;align-items:center;gap:10px;margin-bottom:15px}
.ctd-section-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:var(--accent-subtle);color:var(--accent);flex:0 0 auto;font-size:19px}
.ctd-section-title h3{margin:0!important;color:var(--text-primary);font-size:20px!important;line-height:1.2}
.ctd-section-title p{margin:3px 0 0;color:var(--text-secondary);font-size:14px;line-height:1.4}
.ctd-section-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 18px;width:100%;align-items:start}
.ctd-section-actions{margin-top:12px}.ctd-section-toggle{min-height:40px!important;background:transparent!important;border:1px dashed var(--border-strong)!important;color:var(--text-secondary)!important}
.ctd-section-toggle:hover{color:var(--accent)!important;border-color:var(--accent)!important}

.field:not(.computed-field){padding:10px;border:1px solid transparent;position:relative;transition:background .15s ease,border-color .15s ease}
.field:not(.computed-field):focus-within{background:var(--accent-subtle);border-color:var(--accent-border);outline:2px solid color-mix(in srgb,var(--accent) 55%,transparent);outline-offset:1px}
.field.is-complete:not(.computed-field)::after,.field.needs-source:not(.computed-field)::after{content:"";position:absolute;right:12px;top:11px;width:9px;height:9px;border-radius:50%}
.field.needs-source:not(.computed-field)::after{background:var(--warning)}
.field.has-error:not(.computed-field){background:var(--danger-subtle);border-color:color-mix(in srgb,var(--danger) 62%,var(--border-strong))}
.field-error{margin-top:6px;display:flex;align-items:center;gap:6px;color:var(--danger);font-size:14px!important;font-weight:650}

.field.computed-field{padding:10px 12px;border:1px solid var(--border-subtle);background:var(--surface-2);min-height:0}
.field.computed-field label{display:flex!important;align-items:center;gap:8px;margin-bottom:8px!important}
.computed-icon{color:var(--accent);display:inline-flex}
.field.computed-field input[readonly]{min-height:auto!important;height:auto!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;pointer-events:none;color:var(--text-primary)!important;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace!important;font-size:18px!important;font-weight:800!important}

.ctd-input-unit{position:relative}.ctd-input-unit>input{padding-right:58px!important}.ctd-input-unit .unit{position:absolute;right:11px;top:50%;transform:translateY(-50%);color:var(--text-muted);font-size:14px;font-weight:750;pointer-events:none}

/* Contextual help */
#ctdAssistant{position:sticky;top:16px;margin-top:0!important;border:0!important;box-shadow:none!important;overflow:visible!important;background:transparent!important}
#ctdAssistant .assistant-head{padding:0 2px 10px!important;border:0!important;background:transparent!important}
#ctdAssistant .assistant-logo{width:44px!important;height:44px!important;border-radius:13px!important;font-size:21px!important}
#ctdAssistant .assistant-title strong{font-size:0!important}
#ctdAssistant .assistant-title strong::after{content:"Aide à la saisie";font-size:22px!important}
#ctdAssistant .assistant-title span{max-width:100%!important;white-space:normal!important;font-size:15px!important}
#ctdAssistant .progress-wrap{width:100%;order:4;min-width:0!important;margin-top:4px}
#ctdAssistant .assistant-details-toggle{display:none!important}
#ctdAssistant .assistant-body{display:block!important;padding:0!important}
#ctdAssistant .assistant-block{display:none}
#ctdAssistant .assistant-block.assistant-guide{display:block!important;position:relative;min-height:260px!important;padding:22px!important;border:1px solid var(--accent-border)!important;border-radius:18px!important;background:var(--surface-1)!important}
#ctdAssistant .assistant-block.assistant-guide::before{content:"";position:absolute;left:-14px;top:48px;width:26px;height:26px;transform:rotate(45deg);background:var(--surface-1);border-left:1px solid var(--accent-border);border-bottom:1px solid var(--accent-border)}
#guideTitle{position:relative;z-index:1;margin:0 0 12px!important;font-size:23px!important;color:var(--text-primary)!important}
#guideContent{position:relative;z-index:1}
#ctdAssistant .guide-badge{font-size:14px!important;padding:7px 10px!important}
#ctdAssistant .guide-code{margin:13px 0!important;font-size:23px!important;line-height:1.2!important}
#ctdAssistant .guide-meta{grid-template-columns:110px 1fr!important;gap:9px 12px!important;margin-top:14px!important;font-size:16px!important}
#ctdAssistant .guide-meta b{color:var(--text-secondary)!important;font-weight:650!important}
#ctdAssistant .guide-meta span{color:var(--text-primary)!important;font-weight:750!important}
#guideContent>p:not(.guide-code){margin-top:14px!important;color:var(--text-secondary)!important;font-size:17px!important;line-height:1.55!important}
.ctd-help-more{margin-top:12px;border:1px solid var(--border-subtle);border-radius:12px;background:var(--surface-1)}
.ctd-help-more summary{min-height:44px;padding:9px 12px;display:flex;align-items:center;gap:8px;cursor:pointer;color:var(--text-secondary);font-size:14px;font-weight:700;list-style:none}
.ctd-help-more summary::-webkit-details-marker{display:none}.ctd-help-more[open] summary{color:var(--accent);border-bottom:1px solid var(--border-subtle)}
.ctd-help-more-body{padding:12px}.ctd-help-more .timeline{grid-template-columns:1fr 1fr!important;margin-bottom:10px}
#guideContent,#guideTitle{transition:opacity .14s ease,transform .14s ease}
#ctdAssistant.is-switching #guideContent,#ctdAssistant.is-switching #guideTitle{opacity:.25;transform:translateY(4px)}

/* Date component */
.ctd-date-shell{display:grid;grid-template-columns:minmax(0,1fr) 46px;gap:6px;align-items:center}
.ctd-date-display{min-height:46px;width:100%;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface-1);color:var(--text-primary);padding:9px 11px;font-size:17px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;letter-spacing:.02em}
.ctd-date-button{width:46px;min-width:46px!important;min-height:46px!important;padding:0!important;display:grid!important;place-items:center;background:var(--surface-2)!important;border:1px solid var(--border-strong)!important;color:var(--text-secondary)!important}
.ctd-date-original{position:absolute!important;opacity:0!important;width:1px!important;height:1px!important;pointer-events:none!important}
.ctd-date-display[readonly]{background:var(--surface-2)!important;color:var(--text-primary)!important;font-weight:700}

.ctd-collapsible-section{margin-top:20px;border:1px solid var(--border-subtle);border-radius:12px;background:var(--surface-2)}
.ctd-collapsible-section>summary{min-height:48px;padding:10px 13px;display:flex;align-items:center;gap:9px;cursor:pointer;color:var(--text-primary);font-size:16px;font-weight:750;list-style:none}
.ctd-collapsible-section>summary::-webkit-details-marker{display:none}.ctd-collapsible-section[open]>summary{color:var(--accent);border-bottom:1px solid var(--border-subtle)}
.ctd-collapsible-body{padding:14px}

.ctd-help-mobile-toggle{display:none}
@media (max-width:1180px){.ctd-workbench{grid-template-columns:minmax(0,1fr) 360px;gap:14px}}
@media (max-width:940px){
  .ctd-workbench{display:block}
  #ctdAssistant{position:fixed!important;inset:auto 12px 12px 12px;z-index:1200;display:none;max-height:min(78vh,720px);overflow:auto!important;padding:0;border-radius:18px!important;background:var(--surface-1)!important;box-shadow:none!important}
  #ctdAssistant.mobile-open{display:block}
  #ctdAssistant .assistant-head{padding:14px!important;background:var(--surface-1)!important}
  #ctdAssistant .assistant-block.assistant-guide{margin:0 14px 14px}
  #ctdAssistant .assistant-block.assistant-guide::before{display:none}
  .ctd-help-mobile-toggle{display:inline-flex;position:fixed;right:14px;bottom:14px;z-index:1190;align-items:center;gap:8px;min-height:48px!important;border-radius:999px!important;box-shadow:none;background:var(--accent)!important;border-color:var(--accent)!important;color:#fff!important}
  html[data-theme="dark"] .ctd-help-mobile-toggle{color:#04241f!important}
}
@media (max-width:620px){
  .ctd-section-grid{grid-template-columns:1fr}
  #ctdAssistant{left:8px;right:8px;bottom:8px;max-height:84vh}
  #ctdAssistant .guide-meta{grid-template-columns:1fr!important}
}


/* =========================================================
   CTD 0.6.6c — Global readability floor for legacy text
   ========================================================= */

/* Global body and common text */
p,li,dd,dt{font-size:16px;line-height:1.5}
small,.small,.muted,.meta,.help,.sub{
  font-size:14px!important;
  line-height:1.45!important;
}
label,.field label{font-size:16px!important}
input,select,textarea{font-size:17px!important}
.badge,.chip,.wf-badge,.guide-badge,.new,.counter{
  font-size:14px!important;
  line-height:1.2!important;
}

/* Header */
header .brand small,header small,header .base-status{font-size:14px!important}

/* Main navigation */

/* Content */
.card h2{font-size:22px!important}
.ctd-section-title p,.intro{font-size:15px!important}

/* Calculated values */

/* Source control */

/* Contextual assistant */
/* Contextual assistant */
/* Result */

/* Tables */

/* Mailbox */

/* Login */

/* Never solve density by shrinking on mobile */
@media (max-width:700px){
  body{font-size:14px!important}
  button,a.btn{font-size:14px!important}
  th,td{font-size:14px!important}
  small,.small,.muted,.meta,.help,.sub{font-size:13px!important}
}


/* =========================================================
   EasyCTL 0.7.0 — readability protection for legacy screens
   ========================================================= */
/* Barèmes */
details.sources-details summary{font-size:15px!important}.source strong{font-size:15px!important}.source div{font-size:14px!important}
.pill,.status-item,.section-badge,.state{font-size:14px!important;line-height:1.2!important}
.controls-label{font-size:14px!important}.acc-title{font-size:16px!important}.acc-sub{font-size:14px!important}
.table-head{font-size:14px!important}.row strong,.draft-val{font-size:15px!important}.row small{font-size:14px!important}
.edit-btn{font-size:14px!important;min-height:36px!important}.num{font-size:15px!important}.empty-filter{font-size:15px!important}
.info-body{font-size:16px!important}.info-body .ref{font-size:14px!important}
/* Audit */
.filters .field label{font-size:14px!important}.stats .badge{font-size:14px!important}.tablewrap th{font-size:14px!important}
/* Case history */
main .card table th,main .card table td{font-size:14px!important}
/* Report / printable document */
.page .meta{font-size:14px!important}.page .lead{font-size:15px!important}.page .tbl{font-size:14px!important}.page .foot{font-size:14px!important;line-height:1.4!important}


/* =========================================================
   EasyCTL 0.7.1 — top navigation / identity / day-night switch
   ========================================================= */

/* Icon-only top navigation */
.ctd-topnav{
  display:flex;
  align-items:center;
  gap:7px;
  flex-wrap:wrap;
}
.ctd-icon-action{
  width:var(--easyctl-header-control)!important;
  min-width:var(--easyctl-header-control)!important;
  height:var(--easyctl-header-control)!important;
  min-height:var(--easyctl-header-control)!important;
  padding:0!important;
  display:inline-grid!important;
  place-items:center!important;
  position:relative;
  border-radius:11px!important;
  flex:0 0 auto;
  box-sizing:border-box!important;
  aspect-ratio:1 / 1!important;
  line-height:1!important;
  overflow:visible;
}
.ctd-icon-action svg{
  width:20px;
  height:20px;
}
.ctd-icon-action .ctd-nav-label{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}

/* Global tooltip portal: never clipped by tables, cards or scroll containers. */
[data-tooltip]{position:relative}
.easyctl-tooltip-portal{
  position:fixed;z-index:2800;max-width:min(360px,calc(100vw - 16px));
  padding:7px 10px;border-radius:8px;border:1px solid var(--border-strong);
  background:#111318;color:#fff;font-size:13px;font-weight:750;line-height:1.25;
  white-space:normal;pointer-events:none;box-shadow:none!important
}
.easyctl-tooltip-portal[hidden]{display:none!important}

/* Global persistence feedback. */
.easyctl-toast-region{
  position:fixed;z-index:2850;top:76px;right:16px;width:min(390px,calc(100vw - 32px));
  display:grid;gap:8px;pointer-events:none
}
.easyctl-toast{
  display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;
  min-height:48px;padding:9px 10px 9px 12px;border:1px solid var(--border-strong);border-radius:10px;
  background:var(--surface-1);color:var(--text-primary);box-shadow:none!important;pointer-events:auto
}
.easyctl-toast>svg,.easyctl-toast>i{width:19px;height:19px}
.easyctl-toast-copy{font-size:14px;font-weight:750;line-height:1.35}
.easyctl-toast.is-success{border-color:color-mix(in srgb,var(--success) 55%,var(--border-strong))}
.easyctl-toast.is-success>svg{color:var(--success)}
.easyctl-toast.is-error{border-color:color-mix(in srgb,var(--danger) 55%,var(--border-strong))}
.easyctl-toast.is-error>svg{color:var(--danger)}
.easyctl-toast.is-warning{border-color:color-mix(in srgb,var(--warning) 55%,var(--border-strong))}
.easyctl-toast.is-warning>svg{color:var(--warning)}
.easyctl-toast.is-info>svg{color:var(--accent)}
.easyctl-toast-close{width:34px!important;height:34px!important;min-height:34px!important;padding:0!important;border-color:transparent!important;background:transparent!important}
@media (max-width:620px){.easyctl-toast-region{top:70px;right:8px;width:calc(100vw - 16px)}}

/* Improved signed-in user / service block */
.easyctl-user-context{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:48px;
  padding:6px 11px 6px 7px;
  background:var(--surface-2);
  border:1px solid var(--border-subtle);
  border-radius:12px;
  color:var(--text-primary);
}
.easyctl-user-avatar{
  width:36px;
  height:36px;
  flex:0 0 36px;
  display:grid;
  place-items:center;
  border-radius:10px;
  background:var(--accent-subtle);
  color:var(--accent);
  border:1px solid var(--accent-border);
}
.easyctl-user-avatar svg{width:20px;height:20px}
.easyctl-user-copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:3px;
}
.easyctl-user-copy strong{
  font-size:16px!important;
  line-height:1.15;
  color:var(--text-primary);
  white-space:nowrap;
}
.easyctl-user-meta{
  display:flex;
  align-items:center;
  gap:7px;
  flex-wrap:wrap;
  color:var(--text-secondary);
  font-size:14px!important;
  line-height:1.2;
}
.easyctl-role-chip{
  display:inline-flex;
  align-items:center;
  gap:4px;
  color:var(--accent);
  font-size:14px!important;
  font-weight:800;
}
.easyctl-service-chip{
  display:inline-flex;
  align-items:center;
  gap:5px;
  min-width:0;
  color:var(--text-secondary);
  font-size:14px!important;
  font-weight:700;
}
.easyctl-service-chip svg,.easyctl-role-chip svg{
  width:15px;
  height:15px;
}
.easyctl-service-select{
  min-height:36px!important;
  max-width:230px;
  padding:4px 28px 4px 8px!important;
  border-radius:7px!important;
  background:var(--surface-1)!important;
  color:var(--text-primary)!important;
  border:1px solid var(--border-strong)!important;
  font-size:14px!important;
  font-weight:700;
}

/* Day / night switch — the only theme control */
.ctd-theme-switch{
  position:relative;
  width:78px!important;
  min-width:78px!important;
  height:44px!important;
  min-height:44px!important;
  padding:0!important;
  border-radius:999px!important;
  background:var(--surface-2)!important;
  border:1px solid var(--border-strong)!important;
  color:var(--text-secondary)!important;
  cursor:pointer;
  display:block!important;
  flex:0 0 78px;
}
.ctd-theme-switch:hover{
  border-color:var(--accent)!important;
  color:var(--text-primary)!important;
}
.ctd-theme-switch .theme-icon{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  z-index:2;
  display:grid;
  place-items:center;
  width:24px;
  height:24px;
  transition:color .15s ease, opacity .15s ease;
}
.ctd-theme-switch .theme-icon svg{
  width:17px;
  height:17px;
}
.ctd-theme-switch .theme-knob{
  position:absolute;
  left:5px;
  top:5px;
  width:32px;
  height:32px;
  border-radius:50%;
  background:var(--accent);
  transition:transform .18s ease, background .18s ease;
  z-index:1;
}
html[data-theme="light"] .ctd-theme-switch .theme-knob{
  transform:translateX(0);
}
html[data-theme="dark"] .ctd-theme-switch .theme-knob{
  transform:translateX(35px);
}
html[data-theme="light"] html[data-theme="light"] html[data-theme="dark"] html[data-theme="dark"] /* Header menu remains compact on smaller screens. */
@media (max-width:900px){
  .easyctl-user-context{
    max-width:min(360px,100%);
  }
  .easyctl-user-meta{
    gap:5px;
  }
}
@media (max-width:620px){
  .easyctl-user-context{
    width:100%;
  }
  .ctd-topnav{
    width:100%;
  }
  .ctd-icon-action{
    flex:0 0 var(--easyctl-header-control);
  }
  [data-tooltip]::before,[data-tooltip]::after{
    display:none;
  }
}

/* Old theme buttons must no longer appear if one was missed by legacy markup. */
[data-ctd-theme-toggle]:not(.ctd-theme-switch){
  display:none!important;
}


/* =========================================================
   EasyCTL 0.7.2 — persistent global navigation
   ========================================================= */
.easyctl-global-nav{
  flex:0 0 auto;
}
.ctd-icon-action.is-active{
  background:var(--accent-subtle)!important;
  color:var(--accent)!important;
  border-color:var(--accent-border)!important;
}
.ctd-icon-action.is-active:hover{
  background:var(--accent-subtle)!important;
  color:var(--accent-hover)!important;
}
html[data-theme="dark"] .ctd-icon-action.is-active{
  color:#00C4C4!important;
}
@media (max-width:760px){
  .easyctl-global-nav{
    width:100%;
    overflow-x:auto;
    flex-wrap:nowrap;
    padding-bottom:2px;
    scrollbar-width:thin;
  }
}


/* EasyCTL 0.7.18.4 — Standalone form stabilization */
.save-state{display:inline-flex;align-items:center;min-height:34px;padding:5px 9px;border-radius:999px;font-size:14px;font-weight:750;color:var(--text-secondary);background:var(--surface-2);border:1px solid var(--border-subtle)}
.save-state.dirty{color:var(--warning);background:var(--warning-subtle)}.save-state.saving{color:var(--accent)}.save-state.saved{color:var(--success);background:var(--success-subtle)}.save-state.error{color:var(--danger);background:var(--danger-subtle)}
.good-faith-confirm{display:flex;align-items:flex-start;gap:12px;padding:14px 15px;border:1px solid var(--border-strong);border-radius:12px;background:var(--surface-2);cursor:pointer}.good-faith-confirm input{width:22px;height:22px;margin-top:2px;accent-color:var(--accent)}.good-faith-confirm span{display:flex;flex-direction:column;gap:3px}.good-faith-confirm small{color:var(--text-secondary);font-size:14px}

.field.is-complete:not(.computed-field){background:var(--success-subtle);border-color:color-mix(in srgb,var(--success) 38%,transparent)}.computed-state{display:block;margin-top:5px;font-size:13px;font-weight:750;color:var(--accent)}.computed-empty .computed-state{color:var(--text-muted)}.computed-na{opacity:.72}
.tab-progress{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:22px;padding:0 6px;border-radius:999px;background:var(--surface-2);color:var(--text-muted);font-size:12px;font-weight:800}.tab-progress.done{background:var(--success-subtle);color:var(--success)}
.guide-attention{margin-top:10px;padding:9px 11px;border-radius:9px;background:var(--warning-subtle);border-left:4px solid var(--warning);font-size:14px;color:var(--text-primary)}
.legal-motivation{margin-top:16px;padding:14px;border:1px solid var(--border-subtle);border-radius:10px;background:var(--surface-2)}.legal-motivation h3{display:flex;align-items:center;gap:8px;margin:0 0 8px;font-size:16px}.legal-motivation p{margin:0 0 9px;line-height:1.55}.legal-refs{font-size:14px;color:var(--text-secondary);line-height:1.5}
@media (max-width:1180px){.g3,.ctd-section-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}@media (max-width:760px){.g2,.g3,.ctd-section-grid{grid-template-columns:1fr!important}.workflow{align-items:flex-start}.save-state{order:3}}

/* EasyCTL 0.7.18.5 — Standalone clarity + dashboard workflow icons */
.optional-label{margin-left:6px;color:var(--text-muted);font-size:12px;font-weight:650}
.case-info{position:relative;display:flex;flex-direction:column;justify-content:center;min-height:82px;padding:10px 12px;border:1px solid var(--border-subtle);border-radius:12px;background:var(--surface-2);min-width:0}
.case-info-label{font-size:14px;font-weight:700;color:var(--text-secondary);margin-bottom:4px}
.case-info strong{font-size:16px;color:var(--text-primary);line-height:1.3}
.case-info small{margin-top:4px;color:var(--text-muted);font-size:12px;line-height:1.35}
.completion-note{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border-radius:9px;font-size:13px;font-weight:700;color:var(--warning);background:var(--warning-subtle);border:1px solid color-mix(in srgb,var(--warning) 32%,var(--border-subtle))}
.completion-note.complete{color:var(--success);background:var(--success-subtle);border-color:color-mix(in srgb,var(--success) 32%,var(--border-subtle))}
.page-info-pill{display:flex;align-items:flex-start;gap:8px;margin-top:10px;padding:9px 11px;border-radius:10px;background:var(--accent-subtle);border:1px solid var(--accent-border);color:var(--text-primary);font-size:13px;line-height:1.45}
.page-info-pill svg{color:var(--accent);margin-top:1px;flex:0 0 auto}
#navsField.has-error{background:var(--danger-subtle)!important;border-color:color-mix(in srgb,var(--danger) 55%,var(--border-strong))!important}


@media (max-width:900px){.dossier-grid{grid-template-columns:1fr!important}.case-info{min-height:70px}}
.field-error[hidden]{display:none!important}

/* EasyCTL 0.7.19 — accessibilité, complétude et légende */

.case-info-lock{position:absolute;top:10px;right:10px;width:14px!important;height:14px!important;opacity:.55;color:var(--text-secondary);pointer-events:none}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* EasyCTL 0.7.19.1 — aide fiscale contextuelle et données reprises */
.fiscal-assist{margin-top:14px;padding:12px;border:1px solid var(--accent-border);border-radius:12px;background:var(--surface-2);display:grid;gap:9px}
.fiscal-assist>strong{font-size:14px;color:var(--text-primary)}
.fiscal-assist label{display:grid;gap:5px;font-size:13px;font-weight:700;color:var(--text-secondary)}
.fiscal-assist select{width:100%;min-height:39px;border:1px solid var(--border-strong);border-radius:8px;background:var(--surface-1);color:var(--text-primary);padding:7px 9px}
.fiscal-assist small{font-size:12px;line-height:1.4;color:var(--text-muted)}
.case-origin-info{border-color:var(--accent-border);background:var(--accent-subtle)}
#navsHelp.navs-ok{color:var(--success);font-weight:750}#navsHelp.navs-warn{color:var(--text-secondary)}
#navsField.navs-valid{background:var(--success-subtle);border-color:color-mix(in srgb,var(--success) 38%,transparent)}


.field-state-label{display:block;margin-top:5px;font-size:12px;font-weight:750;color:var(--text-muted)}
.field-state-label.state-complete{color:var(--success)}.field-state-label.state-error{color:var(--danger)}.field-state-label.state-na{color:var(--text-muted)}














/* EasyCTL 0.7.19.4 — centre de notifications robuste, indépendant du dashboard */
.easyctl-notification-badge{position:absolute;top:-5px;right:-5px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#d62246;color:#fff;border:2px solid var(--surface-1);font-size:11px;font-weight:900;line-height:1}
.notification-list{display:grid;gap:10px}.notification-item{display:block;border:1px solid var(--border-subtle);border-radius:12px;padding:13px 14px;background:var(--surface-1);color:var(--text-primary);text-decoration:none;transition:border-color .16s ease}.notification-item:hover{border-color:var(--accent-border);background:var(--surface-2)}.notification-item.is-unread{border-left:4px solid var(--accent);background:var(--accent-subtle)}.notification-item-head{display:flex;gap:10px;align-items:flex-start}.notification-dot{width:9px;height:9px;border-radius:50%;background:var(--accent);margin-top:6px;flex:0 0 auto}.notification-item.is-read .notification-dot{background:var(--border-strong,#94a3b8)}.notification-item-copy{min-width:0;flex:1}.notification-item-title{font-weight:850;margin:0 0 4px}.notification-item-reference{font-weight:750;margin:0 0 3px}.notification-item-message{color:var(--text-secondary);font-size:14px;line-height:1.45}.notification-item-meta{display:flex;gap:8px;flex-wrap:wrap;color:var(--text-secondary);font-size:12px;margin-top:7px}.notification-toolbar{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap}.notification-empty{padding:34px;text-align:center;color:var(--text-secondary)}

/* EasyCTL 0.7.19.6 — aide assistée : raison métier + unité temporelle */
#ctdAssistant .guide-reason{margin-top:14px;padding:12px 13px;border:1px solid var(--border-subtle);border-radius:10px;background:var(--surface-2)}
#ctdAssistant .guide-reason strong{display:block;margin-bottom:5px;color:var(--text-primary);font-size:14px}
#ctdAssistant .guide-reason p{margin:0;color:var(--text-secondary);line-height:1.5}

/* EasyCTL 0.7.19.8 — profil utilisateur dans le bandeau */
.easyctl-user-profile-link{
  display:flex;
  align-items:center;
  gap:8px;
  color:inherit;
  text-decoration:none;
  border-radius:10px;
  padding:1px 3px;
}
.easyctl-user-profile-link:hover,.easyctl-user-profile-link:focus-visible{
  background:var(--accent-subtle);
  outline:2px solid transparent;
}
.easyctl-user-profile-link strong{font-size:16px;white-space:nowrap}

/* EasyCTL 0.7.19.15 — shared transfer dialog and reliable header hit targets */
.ctd-icon-action svg,.ctd-theme-switch svg,.easyctl-brand-home svg,.easyctl-user-profile-link svg{pointer-events:none!important}
.modal-mask{
  position:fixed;inset:0;z-index:2000;display:none;align-items:center;justify-content:center;
  padding:20px;background:rgba(0,0,0,.58)
}
.modal-mask.open{display:flex}
.easyctl-transfer-modal .modal{width:min(680px,100%)}
.modal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.modal-grid .full{grid-column:1/-1}
.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}
.easyctl-transfer-help{margin:0 0 14px;color:var(--text-secondary);font-size:13px;line-height:1.45}
.easyctl-transfer-modal .field textarea{min-height:100px;resize:vertical}
@media (max-width:760px){.modal-grid{grid-template-columns:1fr}.modal-grid .full{grid-column:auto}}





/* EasyCTL action-button contract: functional actions are icon-only; labels remain accessible through tooltip/ARIA. */
.ctd-action-control{display:inline-grid!important;place-items:center!important;gap:0!important}
.ctd-action-control .ctd-action-label{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}





.counter.is-error{color:var(--danger)!important;border-color:var(--danger)!important}

/* =========================================================
   EasyCTL 0.7.19.31 — geometry contract for action buttons / Lucide
   ========================================================= */

/* The HTML hidden state must win over component display declarations. */
[hidden]{display:none!important}

/* Action controls keep a stable square hit target in every state. */
.ctd-icon-action>svg.lucide,.ctd-icon-action>svg[data-lucide]{
  display:block!important;
  width:20px!important;
  min-width:20px!important;
  max-width:20px!important;
  height:20px!important;
  min-height:20px!important;
  max-height:20px!important;
  aspect-ratio:1 / 1!important;
  flex:0 0 20px!important;
  transform:none!important;
  stroke-width:2!important;
}






/* Explicitly labelled business actions are the exception to icon-only utility controls. */
.ctd-labeled-action{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  width:auto!important;
  min-width:0!important;
  height:auto!important;
  min-height:40px!important;
  padding:8px 12px!important;
  aspect-ratio:auto!important;
  line-height:1.2!important;
}
.ctd-labeled-action[hidden]{display:none!important}
.ctd-labeled-action>svg.lucide{
  display:block!important;
  width:18px!important;
  min-width:18px!important;
  max-width:18px!important;
  height:18px!important;
  min-height:18px!important;
  max-height:18px!important;
  aspect-ratio:1 / 1!important;
  flex:0 0 18px!important;
  transform:none!important;
  stroke-width:2!important;
}


/* Astra v2: semantic workflow tones are declared with the primary theme tokens. */
@media (forced-colors:active){*{scrollbar-color:auto}}

/* MV adapter uses common fields; booleans keep a native checkbox-sized control. */
[data-calculation-family="mv"] .field input[type="checkbox"]{width:20px!important;min-height:20px!important;height:20px!important;margin:8px 0;accent-color:var(--accent)}




/* Astra v2 R5 fix2 — aide réglementaire MV */
#ctdAssistant .ctd-help-more{margin-top:12px;border:1px solid var(--border-subtle);border-radius:10px;overflow:hidden;background:var(--surface-1)}#ctdAssistant .ctd-help-more summary{display:flex;align-items:center;gap:8px;padding:10px 12px;cursor:pointer;color:var(--accent);font-weight:800;list-style:none}#ctdAssistant .ctd-help-more summary::-webkit-details-marker{display:none}#ctdAssistant .ctd-help-more-body{padding:0 12px 12px}

/* 0.7.19.60 — shared inline form control; replaces MV-specific selector styling. */
.ctd-inline-select{max-width:100%;min-height:44px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface-1);color:var(--text-primary);padding:8px 10px;font:inherit}

/* Shared action row for generic pages. */
.ctd-action-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:var(--space-3)}

/* 0.7.19.60 — shared action dialog used outside the dashboard too. */
.easyctl-action-dialog{width:min(520px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow:auto;background:var(--surface-1);color:var(--text-primary);border:1px solid var(--border-strong);border-radius:var(--radius-md);padding:24px}
.easyctl-action-dialog::backdrop{background:rgb(0 0 0 / .6)}
.easyctl-action-dialog label,.easyctl-action-dialog textarea{display:block;width:100%}
.easyctl-action-dialog textarea{background:var(--surface-2);color:var(--text-primary);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:10px;margin-top:6px}
.easyctl-action-dialog .dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px;flex-wrap:wrap}
