/* Repères communs avec LEVIA AAI. Présentation seulement : aucun effet sur les lettres imprimées. */
.sync-control{position:relative;flex:none}
.sync-control .read-state{display:inline-flex;align-items:center;gap:7px;min-height:32px;padding:6px 10px;border:1px solid #cedfe6;border-radius:8px;background:#f6fafb;color:#285a67;font-family:inherit;font-size:11px;font-weight:700;line-height:1.3;white-space:nowrap;cursor:pointer;max-width:165px}
.sync-control .read-state:hover{background:#e9f3f6;border-color:#8cb5c6}
.sync-dot{width:7px;height:7px;flex:none;border-radius:50%;background:#12977a;box-shadow:0 0 0 3px #12977a16}
.is-loading .sync-dot{width:11px;height:11px;background:transparent;border:2px solid #bdd7e3;border-top-color:#1778aa;box-shadow:none;animation:read-spin .8s linear infinite}
.is-error .sync-dot{background:#b76509;box-shadow:0 0 0 3px #b765091a}
.sync-control .is-error{color:#925112;background:#fffbf2;border-color:#e8d3a9}
@keyframes read-spin{to{transform:rotate(360deg)}}
.read-details{position:absolute;right:0;top:calc(100% + 10px);z-index:200;width:min(350px,85vw);padding:17px;border:1px solid #cbdae4;border-radius:12px;background:#fff;color:#173e58;box-shadow:0 12px 42px #092d4b26;text-align:left;white-space:normal}
.read-details-title{font-size:13px}.read-details>p{font-size:11px;line-height:1.5;color:#607b8b;margin:6px 0 12px}
.read-detail-row{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-top:1px solid #edf2f5;font-size:11px}
.read-detail-row>span:last-child{white-space:nowrap;color:#357161;font-weight:700}
.read-detail-row>.read-failed,.read-details .read-error-note{color:#975714}
.read-details .read-error-note{font-size:10px;margin:3px 0 9px;overflow-wrap:anywhere}
@media(prefers-reduced-motion:reduce){.is-loading .sync-dot{animation:none}}
@media screen{
  #activeKpis button.kpi{font-family:inherit;text-align:left;cursor:pointer;width:100%}
  #activeKpis button.kpi.active{background:#f1f8fc;border-color:#a6cadc;border-left-color:var(--tone);box-shadow:0 0 0 2px #2479a719}
  .active-filter-summary{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;border-top:1px solid #e3ebf0;border-bottom:1px solid #dbe7ef;background:#f5f9fc}
  .active-filter-summary>div{display:flex;align-items:center;flex-wrap:wrap;gap:7px;min-width:0}.filter-result-count{font-size:11px;color:#536e80;margin-right:4px}
  .filter-choice{font-size:10px;color:#235777;background:#e9f3fa;border:1px solid #c6dfec;border-radius:20px;padding:4px 9px;overflow-wrap:anywhere}
  .active-filter-summary button{flex:none;border:1px solid #bdd2df;background:#fff;color:#2b5a78;padding:6px 10px;border-radius:6px;font-family:inherit;font-size:11px;font-weight:600;line-height:1.4;cursor:pointer}.active-filter-summary button:hover{background:#e7f1f8}.active-filter-summary button span{margin-left:6px;font-size:15px}
  .campaign-empty{grid-column:1/-1;display:grid;grid-template-columns:100px 1fr;align-items:center;gap:20px;max-width:730px;min-height:150px;border:1px solid #dbe6ed;border-radius:12px;overflow:hidden;background:linear-gradient(110deg,#fff,#f8fbfd)}
  .campaign-empty .campaign-cover-scene{align-self:stretch;padding:17px 10px}.campaign-empty>div:last-child{padding:16px 20px 16px 0}.campaign-empty h3{font-size:14px;color:#204b68;margin:8px 0}.campaign-empty p{font-size:11px;line-height:1.6;color:#678091;margin:0;max-width:470px}
  #view-suivis .hero,.memory-banner{background:#0b344c;border:1px solid #496b80;border-radius:14px;min-height:192px;padding:26px 28px;box-shadow:0 12px 26px #12364e12}
  #view-suivis .hero:after,.memory-banner:after{background:linear-gradient(90deg,rgba(4,36,58,.98),rgba(5,47,76,.91) 40%,rgba(5,47,76,.48) 66%,rgba(5,47,76,.08))}
  #view-suivis .hero .banner-art,.memory-banner .banner-art{width:100%;object-position:center 53%;filter:saturate(.86) contrast(1.02)}
  #view-suivis .hero .hero-eyebrow,.memory-banner .eyebrow{color:#f2cc85;font-size:9px;letter-spacing:.11em}
  #view-suivis .hero h1,.memory-banner h2{color:#fff;line-height:1.22}
  #view-suivis .hero h1 span{color:#c9e7ee}
  #view-suivis .hero p,.memory-banner p{color:#deebf2;font-weight:500;max-width:650px}
  #view-suivis .hero-copy{max-width:calc(100% - 375px)}
  #view-suivis .hero-chip{background:#ffffffee;border-color:#ffffffb3;box-shadow:none}
  #view-suivis .process-route{display:none}
  .kpi{border-top:1px solid #d4e2ec;border-left:3px solid var(--tone);border-radius:10px;background:#fff}
  .split .prop-main{white-space:normal;overflow-wrap:anywhere}
  .split .ref-chip{border-radius:7px;border-color:#d8e4ed;background:#f3f7fa;color:#315b77;line-height:1.4}
  .timing-tag{border-radius:7px;background:#eff6ff;color:#225dc2;border-color:#c6dcfc;padding:5px 7px;line-height:1.5}
  .timing-tag.sent{color:#225dc2;background:#eff6ff;border-color:#c6dcfc}
  .timing-tag.expected{color:#176973;background:#edf9f9;border-color:#b8dfdf}
  .timing-tag.late{color:#995b10;background:#fff8e7;border-color:#eed08a}
  .timing-tag.received{color:#067454;background:#ecfdf5;border-color:#a7e3cc}
  .detail:not(.empty-state){gap:0;border:1px solid #cddde6;border-radius:14px;background:#fff;overflow:hidden;box-shadow:0 9px 30px #13384c0b}
  .detail .detail-head{border:0;border-radius:0;min-height:118px;padding:18px 18px 15px;background:linear-gradient(100deg,rgba(5,39,59,.99),rgba(6,45,67,.91) 56%,rgba(7,51,75,.40)),url('communications-officielles-hero.png') center 55%/cover;box-shadow:none;color:#fff;flex:none}
  .detail .detail-brandline{color:#e5c38a;font-size:8px;letter-spacing:.11em;margin-bottom:9px}
  .detail .detail-head-row{align-items:flex-start;gap:12px}
  .detail .detail-title{color:#fff;font-size:19px;line-height:1.2;letter-spacing:-.035em;margin:0}
  .detail-property{color:#e4eef4;font-size:12px;line-height:1.5;margin-top:5px;font-weight:650;overflow-wrap:anywhere}
  .detail .detail-sub{margin-top:9px;color:#e2edf2}
  .detail-type{display:inline-block;padding:3px 8px;border:1px solid #ffffff36;border-radius:20px;background:#ffffff12;color:#e3f3f8;font-size:10px;line-height:1.4}
  .communication-tools{padding:14px;background:linear-gradient(135deg,#edf6fb,#f8fbfd);border-bottom:1px solid #cadfea;flex:none}
  .detail-quick-actions{padding:10px 0 0;background:transparent;border:0;flex:none}
  .detail-quick-actions header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px}
  .detail-quick-actions h3{margin:0;color:#214b68;font-size:12px;line-height:1.3}
  .detail-quick-actions header p{margin:3px 0 0;color:#6c8493;font-size:9px}
  .detail-quick-actions header>span{padding:3px 6px;border-radius:5px;background:#e6eef3;color:#728693;font-size:8px;white-space:nowrap}
  .quick-action-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
  .quick-action-list.penalty-actions{grid-template-columns:1fr}
  .quick-action{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-width:0;min-height:62px;padding:9px 4px;border:1px solid #aec9dc;border-radius:8px;background:#fff;color:#245473;font-family:inherit;font-size:10px;font-weight:700;line-height:1.3;cursor:pointer;box-shadow:0 2px 3px #13384c09;transition:background-color .15s,border-color .15s,box-shadow .15s}
  .quick-action svg{width:18px;height:18px;flex:none;color:#277ca6}.quick-action:hover{border-color:#3983af;background:#e2f1fb;box-shadow:0 3px 8px #1e648624}
  .quick-action:active{background:#cee6f6;box-shadow:inset 0 1px 3px #153e5520}
  .detail-quick-actions.is-archived .quick-action-list{grid-template-columns:1fr}
  .detail .detail-actions.action-deck{display:block;min-height:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;flex:none}
  .detail-documents{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;background:#fff;border-bottom:1px solid #dbe6ed;flex:none}
  .detail-documents>div{min-width:0}.detail-documents strong{display:block;font-size:11px;color:#3b5b70}.detail-documents>div>span{display:block;font-size:9px;color:#748895;margin-top:4px}
  .detail-documents .quick-folder{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;padding:7px 9px;border:1px solid #bdcfda;border-radius:6px;background:#f8fafc;color:#315d79;font-family:inherit;font-size:10px;font-weight:650;white-space:nowrap;cursor:pointer;transition:background-color .15s,border-color .15s}
  .detail-documents .quick-folder svg{width:15px;height:15px}.detail-documents .quick-folder:hover{background:#e8f2f9;border-color:#5c98be}
  .split tbody tr[data-comm-id]{cursor:pointer}.split tbody tr.selected td:first-child{box-shadow:inset 4px 0 #1e85a2}
  .detail .workbench-tile{display:flex;width:100%;min-height:48px;height:auto;margin:0;padding:9px 12px;background:#216f9c;color:#fff;border:1px solid #1b6793;border-radius:7px;line-height:1.3;box-shadow:none;text-align:left}
  .detail .workbench-tile:hover{background:#105b89;border-color:#0a4f79;color:#fff;box-shadow:0 5px 11px #123e5c2e}
  .detail .action-symbol{width:16px;height:16px;flex:none}
  .primary-action-copy{display:flex;flex:1;flex-direction:column;min-width:0}.detail .primary-action-copy strong{font-size:13px}.primary-action-copy small{margin-top:3px;color:#d4e9f4;font-size:10px;font-weight:500}
  .primary-action-arrow{font-size:16px;line-height:1}
  .detail .detail-history{border:0;border-radius:0;box-shadow:none;min-height:180px}
  .detail .history-heading{padding:12px 15px;background:#fff;border-bottom:1px solid #e3ebf0}
  .detail .history-heading h3{font-size:12px}
  .detail .detail-grid{gap:8px}
  .detail .info{padding:11px 10px;background:#f5f8fa;border:1px solid #dfe8ed;border-radius:9px;min-width:0}
  .detail .info>span{color:#61798a;font-size:8px;line-height:1.45}
  .detail .info>strong{font-size:11px;line-height:1.5;overflow-wrap:anywhere}
  .detail .date-focus{padding:10px;border-radius:8px}
  .detail .date-focus strong{font-size:14px}
  .communication-object{margin:12px 0;border:1px solid #dce7ee;border-radius:9px;overflow:hidden}
  .communication-object h3{font-size:9px;text-transform:uppercase;letter-spacing:.05em;margin:0;padding:9px 11px;color:#4a6d85;background:#f0f6fa;border-bottom:1px solid #dce7ee}
  .communication-object p{margin:0;padding:11px;color:#284c64;font-size:11px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}
  .detail .section-title{margin-top:18px;color:#244f6d;font-size:10px}
  .detail .link-card{border-radius:8px;background:#fafcfd}
  .detail .link-card:hover{background:#edf6fc;border-color:#adcde1}
}
@media screen and (max-width:1200px){#view-suivis .hero-copy{max-width:100%}#view-suivis .hero-summary{display:none}}
@media screen and (max-width:1100px){.detail:not(.empty-state){max-height:none}.detail .detail-history{max-height:650px}}
@media screen and (max-width:420px){.communication-tools{padding:12px 9px}.detail-documents{padding:12px 9px}.quick-action{font-size:9px}.detail .workbench-tile{font-size:10px}}
.response-due-field[hidden]{display:none!important}
.deadline-change-summary{display:grid;gap:6px;margin:10px 0 14px;padding:11px 12px;border:1px solid #c9dfe9;border-left:3px solid #25819e;border-radius:8px;background:#f3f9fc;color:#30566c;font-size:11px;line-height:1.5}
.deadline-change-summary small{color:#6a8190}

/* Compact editor chrome: tools first, independent document scroll, display-only zoom. */
@media screen {
  #view-letter>.hero{display:none}
  .letter-preview-shell{height:calc(100dvh - 112px);min-height:440px;gap:0;overflow:hidden}
  .letter-sticky-tools{position:relative;top:auto;flex:none;display:grid;grid-template-columns:minmax(0,1fr) auto;box-shadow:0 3px 12px #0b3a6a0b}
  .letter-sticky-tools .version-ribbon{grid-column:1;grid-row:1;border:0;padding:8px;gap:6px;align-items:center}
  .letter-sticky-tools .version-tab{min-width:100px;padding:7px 10px;gap:3px;border-radius:7px}
  .letter-sticky-tools .version-tab>span{font-size:9px}
  .letter-sticky-tools .next-version{min-width:130px}
  .letter-sticky-tools .letter-actionbar{grid-column:2;grid-row:1;padding:8px;border:0;background:#fff;align-content:center}
  .letter-actionbar-left,.letter-sticky-tools .letter-version-nav{display:none}
  .letter-sticky-tools .delivery-summary{grid-row:2;grid-column:1/-1;display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:8px 12px;border-top:1px solid #e1eaf0;border-bottom:0;background:#f7fafc}
  .letter-sticky-tools .date-focus{display:grid;grid-template-columns:28px minmax(0,1fr);grid-template-rows:auto auto;column-gap:10px;row-gap:2px;flex:0 1 245px;padding:7px 11px;border:1px solid #d5e2ec;border-radius:8px;background:#fff;min-height:48px;box-sizing:border-box}
  .letter-sticky-tools .date-focus:before{content:'';grid-column:1;grid-row:1/3;align-self:center;width:26px;height:26px;background-color:#edf4fa;background-image:url("calendar-outline.svg");background-repeat:no-repeat;background-position:center;border-radius:6px}
  .letter-sticky-tools .date-focus>span{grid-column:2;font-size:10px;font-weight:600;text-transform:none;letter-spacing:0;line-height:1.3;color:#577083}
  .letter-sticky-tools .date-focus>strong{grid-column:2;font-size:14px;font-weight:750;line-height:1.3;margin:0;color:#143e5d}
  .letter-sticky-tools .date-focus.expected{background:#f2faf9;border-color:#c5e0da}
  .letter-sticky-tools .date-focus.expected:before{background-color:#dfefeb}
  .letter-sticky-tools .date-focus.late{background:#fff8eb;border-color:#ecd3a4}
  .letter-sticky-tools .date-focus.late>strong{color:#8d5b14}
  .letter-sticky-tools .date-focus.received{background:#f2faf5;border-color:#c4dfce}
  .letter-sticky-tools .date-focus.passive{background:#f4f6f8;border-color:#d9e1e7}
  .letter-sticky-tools .delivery-tags{padding:0;margin-left:auto;gap:5px}
  .letter-sticky-tools .delivery-tags>span{display:none}
  .letter-sticky-tools .letter-view-controls{grid-column:1/-1;grid-row:3;gap:8px;padding:6px 10px}
  .letter-view-controls .letter-tools{margin:0;padding:0 8px;border:0;border-left:1px solid #d8e2e7;border-radius:0;background:none;gap:4px}
  .letter-view-controls .letter-tools[hidden]{display:none}
  .letter-tools button:hover{background:#e8f3fc;border-color:#80b6d8}
  .letter-view-controls .letter-tools button{font-size:11px}
  .letter-zoom{margin-left:auto;display:flex;align-items:center;gap:6px;color:#587080;font-size:11px}
  .letter-zoom select{padding:5px;border:1px solid #cbdce8;border-radius:6px;background:#fff;color:#163f5d}
  .letter-document-scroll{flex:1;min-height:0;overflow:auto;padding:14px 10px 28px;scrollbar-gutter:stable}
  .letter-document-scroll>.letter-page,.letter-document-scroll .paginated-page{zoom:var(--letter-display-zoom,1);margin-left:auto;margin-right:auto}
  .letter-document-scroll .editing-hint{display:none}
  .pdf-export-root{position:fixed;left:-20000px;top:0;width:816px;pointer-events:none;background:#fff}
  .pdf-export-root .paginated-page{width:816px;height:1056px;min-height:1056px;zoom:1!important;box-shadow:none;outline:0;margin:0}
  .pdf-export-root .letter-token{background:transparent;padding:0}
}
@media screen and (max-width:1500px){.letter-sticky-tools{grid-template-columns:1fr}.letter-sticky-tools .letter-actionbar{grid-column:1;grid-row:2;padding:5px 8px}.letter-sticky-tools .delivery-summary{grid-row:3}.letter-sticky-tools .letter-view-controls{grid-row:4}#lwPageSummary{display:none}}
@media screen and (max-width:1250px){.letter-preview-shell{height:80dvh}.letter-sticky-tools .letter-view-controls{flex-wrap:wrap}}
