.fo45 {
  --fo45-bg:var(--nos-bg,#030c18);
  --fo45-surface:var(--nos-surface,#0a192b);
  --fo45-elevated:var(--nos-surface-strong,#11233b);
  --fo45-line:var(--nos-line,#243b58);
  --fo45-text:var(--nos-text,#edf2ff);
  --fo45-muted:var(--nos-text-muted,#9ba8c4);
  --fo45-accent:var(--nos-accent,#8b64ff);
  --fo45-warning:var(--nos-warning,#efb451);
  box-sizing:border-box;
  width:100%; min-width:0; min-height:100%;
  background:var(--fo45-bg); color:var(--fo45-text);
  font:14px/1.5 var(--nos-font-ui,Inter,ui-sans-serif,system-ui,sans-serif);
  container:finance-office / inline-size;
}
.fo45 *, .fo45 *::before, .fo45 *::after {box-sizing:border-box}
.fo45 button,.fo45 input,.fo45 select {font:inherit}
.fo45 button {cursor:pointer}
.fo45 button:disabled {opacity:.5;cursor:not-allowed}
.fo45 :is(button,input,select,a):focus-visible {outline:2px solid var(--nos-focus,#27d5e9);outline-offset:3px}
.fo45-header {padding:28px clamp(18px,3cqi,36px) 21px;border-bottom:1px solid var(--fo45-line);background:linear-gradient(105deg,#0b1a30 0%,#081526 59%,#18213c 100%)}
.fo45-overline {display:block;color:#b99aff;font-size:10px;font-weight:700;letter-spacing:.17em;text-transform:uppercase}
.fo45-header .fo45-overline {margin:0 0 8px}
.fo45-header h1 {margin:0;color:#fbf8f2;font:400 clamp(31px,4.6cqi,48px)/1.08 var(--nos-font-display,Georgia,serif);letter-spacing:-.035em}
.fo45-header > p:last-child {margin:8px 0 0;color:#c7d1e4}
.fo45-tabs {display:flex;gap:3px;padding:9px clamp(18px,3cqi,36px) 0;border-bottom:1px solid var(--fo45-line);overflow-x:auto;scrollbar-width:thin;white-space:nowrap}
.fo45-tabs button {flex:none;padding:11px 13px 12px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--fo45-muted);font-weight:600}
.fo45-tabs button:hover {color:#fff}
.fo45-tabs button.is-active {border-bottom-color:var(--fo45-accent);color:#fff}
.fo45-stage {min-width:0}
.fo45-main {min-width:0;padding:24px clamp(18px,3cqi,36px) 40px}
.fo45-notice {margin:18px clamp(18px,3cqi,36px) 0;padding:11px 14px;border:1px solid #2e806e;border-radius:8px;background:#10332c;color:#d4f6e8}
.fo45-loading {color:var(--fo45-muted)}
.fo45-error-state .fo45-empty {padding:20px;border:1px solid #8f4c61;border-radius:10px;background:#321927;color:#ffd7df}
.fo45-error-state .fo45-empty strong {color:#ffe7ec}
.fo45-error-state [data-refresh] {margin-top:14px;padding:9px 13px;border:1px solid #a1788b;border-radius:8px;background:#44283a;color:#fff}
.fo45-toolbar {display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px}
.fo45-subtabs {display:flex;gap:3px;min-width:0;overflow-x:auto;padding:3px;border:1px solid var(--fo45-line);border-radius:10px;background:#071221}
.fo45-subtabs button {flex:none;padding:8px 11px;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--fo45-muted);font-size:12px}
.fo45-subtabs button[aria-pressed="true"] {border-color:#6d57c3;background:#352b6e;color:#fff}
.fo45-primary {border:1px solid #b19aff!important;border-radius:9px;background:#9a7dff!important;color:#071222!important;font-weight:700!important;box-shadow:0 5px 20px #6c4bcc3d}
.fo45-primary:hover {background:#b29cff!important}
.fo45-toolbar > .fo45-primary {flex:none;padding:9px 14px}
.fo45-workbench {display:grid;grid-template-columns:minmax(285px,.78fr) minmax(0,1.22fr);gap:14px;align-items:start}
.fo45-registry,.fo45-preview,.fo45-card,.fo45-metrics article,.fo45-composer {min-width:0;border:1px solid var(--fo45-line);border-radius:13px;background:linear-gradient(145deg,#10223b,#071626);box-shadow:0 8px 30px #0002}
.fo45-registry {overflow:hidden}
.fo45-registry-head {padding:17px 16px 14px;border-bottom:1px solid var(--fo45-line)}
.fo45-registry-head h2 {margin:4px 0 12px;font:400 25px var(--nos-font-display,Georgia,serif)}
.fo45-registry-head form {display:flex;gap:6px;min-width:0}
.fo45-registry-head input {width:100%;min-width:0;padding:9px 10px;border:1px solid #3a5376;border-radius:8px;background:#09172a;color:var(--fo45-text)}
.fo45-registry-head form button,.fo45-preview-actions :is(button,a),.fo45-composer-head button,.fo45-lines-head button,.fo45-form-actions button:not(.fo45-primary),.fo45-history button {padding:8px 10px;border:1px solid #456081;border-radius:8px;background:#132944;color:#edf2ff;text-decoration:none}
.fo45-registry-list {max-height:620px;overflow:auto}
.fo45-document-row {display:grid;gap:5px;width:100%;min-width:0;padding:14px 16px;border:0;border-bottom:1px solid var(--fo45-line);background:transparent;color:var(--fo45-text);text-align:left}
.fo45-document-row:hover {background:#1b3151}
.fo45-document-row.is-selected {box-shadow:inset 3px 0 var(--fo45-accent);background:#202d52}
.fo45-document-kind {color:#d7c8ff;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.fo45-document-kind small {color:var(--fo45-muted);font-weight:400}
.fo45-document-row strong {overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}
.fo45-document-row-bottom {display:flex;justify-content:space-between;gap:8px;min-width:0;color:var(--fo45-muted);font-size:12px}
.fo45-document-row-bottom small {min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fo45-document-row-bottom b {flex:none;color:var(--fo45-text);font-variant-numeric:tabular-nums}
.fo45-preview {padding:15px;background:#0b1a2e}
.fo45-preview-head {display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:13px}
.fo45-preview-head > div:first-child {display:grid;gap:4px;min-width:0}
.fo45-preview-head > div:first-child > span:last-child {font-size:13px;color:#d8e0ee}
.fo45-preview-actions {display:flex;justify-content:flex-end;flex-wrap:wrap;gap:5px}
.fo45-preview-actions :is(button,a) {padding:6px 8px;font-size:11px;white-space:nowrap}
.fo45-preview-actions :is(button,a):hover {border-color:var(--fo45-accent)}
.fo45-paper {min-width:0;min-height:480px;padding:clamp(20px,3.4cqi,36px);border-radius:5px;background:#f6f0e8;color:#172333;box-shadow:0 12px 34px #0005}
.fo45-paper--empty {display:grid;place-items:center;text-align:center}
.fo45-paper-top {display:flex;justify-content:space-between;gap:10px;padding-bottom:13px;border-bottom:1px solid #c7c3bc;color:#4e5964;font-size:10px;letter-spacing:.07em;overflow-wrap:anywhere}
.fo45-paper-kicker {margin:24px 0 5px;color:#554d6b;font-size:10px;font-weight:700;letter-spacing:.13em}
.fo45-paper h2 {margin:0;font:italic 400 clamp(30px,3.6cqi,44px)/1.12 var(--nos-font-display,Georgia,serif);letter-spacing:-.03em}
.fo45-paper-sub {margin:5px 0 26px;color:#56616b;font-size:12px}
.fo45-paper-meta {display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:25px;font-size:12px}
.fo45-paper-meta > div {display:grid;align-content:start;gap:2px;min-width:0;overflow-wrap:anywhere}
.fo45-paper-meta small {color:#6b6c6b}
.fo45-paper-meta strong {font-size:13px}
.fo45-paper-table {overflow-x:auto}
.fo45-paper table {width:100%;border-collapse:collapse;font-size:11px}
.fo45-paper th {padding:9px 5px;background:#e5dfd8;text-align:right;font-weight:700;white-space:nowrap}
.fo45-paper th:first-child,.fo45-paper td:first-child {text-align:left}
.fo45-paper td {padding:12px 5px;border-bottom:1px solid #ddd6cd;text-align:right;vertical-align:top;white-space:nowrap}
.fo45-paper td:first-child {min-width:130px;white-space:normal}
.fo45-paper-index {color:#756b83}
.fo45-paper-totals {display:grid;justify-content:end;gap:5px;margin-top:20px;font-size:11px}
.fo45-paper-totals span,.fo45-paper-totals strong {display:flex;justify-content:space-between;gap:30px}
.fo45-paper-totals strong {padding-top:8px;border-top:1px solid #aaa6a1;font-size:13px}
.fo45-paper-foot {margin-top:38px;padding:10px;border:1px solid #d6d0d1;border-radius:8px;background:#e9e6e4;color:#48515d;font-size:10px}
.fo45-history {display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:16px}
.fo45-history h3 {width:100%;margin:0 0 2px;font:400 18px var(--nos-font-display,Georgia,serif)}
.fo45-history button.is-selected {border-color:var(--fo45-accent);color:#d9caff}
.fo45-inline-state {color:var(--fo45-muted)}
.fo45-composer {margin-top:18px;padding:20px}
.fo45-composer-head {display:flex;justify-content:space-between;gap:12px;align-items:start}
.fo45-composer h2 {margin:4px 0 0;font:400 28px var(--nos-font-display,Georgia,serif)}
.fo45-composer > p {color:var(--fo45-muted)}
.fo45-conflict {margin:16px 0;padding:17px;border:1px solid #d4a85e;border-radius:10px;background:#302719;color:#fff1d8}
.fo45-conflict h3 {margin:5px 0 8px;font:400 23px var(--nos-font-display,Georgia,serif)}
.fo45-conflict p {margin:8px 0;overflow-wrap:anywhere}
.fo45-conflict .fo45-overline {color:#f2c678}
.fo45-conflict .fo45-hint {color:#ebd9bb}
.fo45-conflict-actions {display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.fo45-conflict-actions button {padding:9px 12px;border:1px solid #d1b17d;border-radius:8px;background:#182a43;color:#fff}
.fo45-form-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.fo45-composer label,.fo45-card label {display:grid;gap:5px;color:#c5d1e3;font-size:12px;font-weight:600}
.fo45-composer :is(input,select),.fo45-card select {width:100%;min-width:0;padding:10px;border:1px solid #496180;border-radius:8px;background:#0b1c33;color:#fff}
.fo45-lines-head {display:flex;justify-content:space-between;align-items:center;gap:12px;margin:21px 0 10px}
.fo45-lines-head h3 {margin:0;font:400 22px var(--nos-font-display,Georgia,serif)}
.fo45-line {display:grid;grid-template-columns:minmax(0,2fr) repeat(3,minmax(0,.8fr)) auto;gap:8px;align-items:end;margin:8px 0;padding:12px;border:1px solid var(--fo45-line);border-radius:8px}
.fo45-line legend {padding:0 5px;color:#b8c7db;font-size:11px}
.fo45-line > button {height:40px;padding:0 10px;border:1px solid #456081;border-radius:8px;background:#132944;color:#fff}
.fo45-form-actions {display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:20px}
.fo45-form-actions span {color:var(--fo45-muted);font-size:12px}
.fo45-form-actions button {padding:10px 14px}
.fo45-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.fo45-card {padding:21px}
.fo45-card h2 {margin:5px 0 9px;font:400 26px var(--nos-font-display,Georgia,serif)}
.fo45-card p {color:var(--fo45-muted)}
.fo45-card button:not(.fo45-row) {padding:9px 12px;border:1px solid #556b8a;border-radius:8px;background:#172d4b;color:#fff}
.fo45-card button:hover {border-color:var(--fo45-accent)}
.fo45-section {margin-top:14px}
.fo45-metrics {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:14px}
.fo45-metrics article {display:grid;align-content:start;gap:6px;padding:20px}
.fo45-metrics small,.fo45-metrics span {color:var(--fo45-muted)}
.fo45-metrics strong {font-size:26px;font-variant-numeric:tabular-nums}
.fo45-money-totals {display:grid;font-size:20px!important}
.fo45-money-total {white-space:nowrap}
.fo45-unknown {color:var(--fo45-warning)!important}
.fo45-row {display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;width:100%;padding:11px 0;border:0;border-top:1px solid var(--fo45-line);background:transparent;color:var(--fo45-text);text-align:left}
.fo45-row small {grid-column:1/-1;color:var(--fo45-muted)}
.fo45-row b {font-variant-numeric:tabular-nums}
.fo45-row--button:hover {color:#cfc0ff}
.fo45-empty {padding:25px 8px;color:var(--fo45-muted)}
.fo45-empty strong {color:var(--fo45-text)}
.fo45-empty p {margin:5px 0 0}
.fo45-paper .fo45-empty strong {color:#172333}
.fo45-paper .fo45-empty {color:#56616b}
.fo45-pill {display:inline-flex;width:max-content;padding:2px 8px;border:1px solid currentColor;border-radius:99px;font-size:10px;letter-spacing:.06em}
.fo45-pill--cyan {color:#73d9eb}.fo45-pill--amber {color:#eab967}.fo45-pill--green {color:#77d6ab}.fo45-pill--red,.fo45-error {color:#ff9ba7}.fo45-pill--muted {color:var(--fo45-muted)}
.fo45-file {margin-top:15px}
.fo45-file input {display:block;margin-top:5px;color:var(--fo45-text)}
.fo45-hint {font-size:12px;overflow-wrap:anywhere}
.fo45-dialog-backdrop {position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:16px;background:#020914d9}
.fo45-dialog {width:min(100%,520px);max-height:90vh;overflow:auto;padding:24px;border:1px solid #6357a7;border-radius:14px;background:#0e2037;color:var(--fo45-text);box-shadow:0 30px 90px #0009}
.fo45-dialog h2 {margin:0 0 10px;font:400 28px var(--nos-font-display,Georgia,serif)}
.fo45-dialog p {overflow-wrap:anywhere}
.fo45-dialog-actions {display:flex;justify-content:flex-end;gap:9px;margin-top:20px}
.fo45-dialog-actions button {padding:10px 14px;border:1px solid #61789a;border-radius:8px;background:#182f4e;color:#fff}
.fo45-dialog-actions [data-confirm-action] {border-color:#a68bff;background:#8062e3;color:#fff}
@container finance-office (max-width:760px) {
  .fo45-workbench {grid-template-columns:minmax(0,1fr)}
  .fo45-registry-list {max-height:310px}
  .fo45-grid,.fo45-metrics {grid-template-columns:minmax(0,1fr)}
}
@container finance-office (max-width:520px) {
  .fo45-header {padding-top:23px}
  .fo45-tabs {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 5px;padding:8px 18px 0;overflow:visible;white-space:normal}
  .fo45-tabs button {min-width:0;padding:9px 5px;font-size:12px;text-align:center}
  .fo45-toolbar {align-items:stretch;flex-direction:column}
  .fo45-subtabs {width:100%}
  .fo45-toolbar > .fo45-primary {width:100%}
  .fo45-preview-head {flex-direction:column}
  .fo45-preview-actions {justify-content:flex-start}
  .fo45-paper {min-height:370px;padding:20px}
  .fo45-paper table,.fo45-paper tbody {display:block;width:100%}
  .fo45-paper thead {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
  .fo45-paper tbody tr {display:grid;grid-template-columns:.7fr 1.3fr 1.3fr;gap:4px 7px;padding:10px 0;border-bottom:1px solid #d8d0c7}
  .fo45-paper tbody td {display:block;min-width:0;padding:0;border:0;text-align:left;white-space:normal;overflow-wrap:anywhere}
  .fo45-paper tbody td:first-child {grid-column:1/-1;min-width:0;font-weight:600}
  .fo45-paper tbody td:not(:first-child)::before {display:block;margin-bottom:2px;color:#665e67;font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.06em}
  .fo45-paper tbody td:nth-child(2)::before {content:'Qté'}
  .fo45-paper tbody td:nth-child(3)::before {content:'Prix unitaire'}
  .fo45-paper tbody td:nth-child(4)::before {content:'Total'}
  .fo45-form-grid {grid-template-columns:minmax(0,1fr)}
  .fo45-line {grid-template-columns:repeat(2,minmax(0,1fr)) auto}
  .fo45-line-label {grid-column:1/-1}
  .fo45-form-actions {align-items:stretch;flex-direction:column}
  .fo45-form-actions button {width:100%}
  .fo45-conflict-actions {display:grid}
}
@media (prefers-reduced-motion:reduce) {.fo45 *, .fo45 *::before, .fo45 *::after {scroll-behavior:auto!important;transition:none!important}}
