:root{--color-bg:#f6f7f9;--color-surface:#fff;--color-border:#e3e6ea;--color-text:#1f2933;--color-text-muted:#5a6673;--color-primary:#0f766e;--color-primary-hover:#0b5a54;--color-danger:#b91c1c;--color-warning-bg:#fdf6d8;--color-warning-border:#e8d477;--color-success:#2e7d32;--color-warning:#b45309;--chart-series-1:#2a78d6;--chart-series-2:#eb6834;--chart-series-3:#1baf7a;--chart-negative:#e34948;--chart-grid:#e1e0d9;--chart-axis:#c3c2b7;--chart-muted:#898781;--color-subtotal-consultant-bg:#dff2f0;--color-subtotal-iaf-bg:#fdecc8;--header-height:56px;--radius:6px;--font-family:system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}*{box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--font-family);color:var(--color-text);background:var(--color-bg);margin:0;font-size:14px;line-height:1.5}h1{margin:0 0 1rem;font-size:1.4rem}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}main,.app-content{max-width:1100px;margin:0 auto;padding:1.5rem 1.25rem 3rem}.app-header{z-index:20;height:var(--header-height);background:var(--color-surface);border-bottom:1px solid var(--color-border);align-items:center;gap:1.5rem;padding:0 1.25rem;display:flex;position:sticky;top:0}.app-header__brand{color:var(--color-text);white-space:nowrap;align-items:center;gap:.5rem;font-size:1.05rem;font-weight:600;display:flex}.app-header__brand img{width:28px;height:28px}.app-header__nav{flex:1;align-items:center;gap:.25rem;display:flex}.app-header__user{color:var(--color-text-muted);white-space:nowrap;align-items:center;gap:.75rem;display:flex}.impersonation-banner{background:var(--color-warning-bg);border-bottom:1px solid var(--color-warning-border);color:var(--color-text);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.5rem 1.25rem;display:flex}.server-status-dot{background:var(--color-text-muted);border-radius:50%;flex-shrink:0;width:.65rem;height:.65rem;display:inline-block}.breadcrumb{max-width:1100px;color:var(--color-text-muted);flex-wrap:wrap;align-items:center;gap:.35rem;margin:0 auto;padding:.6rem 1.25rem 0;font-size:.85rem;display:flex}.breadcrumb a{color:var(--color-text-muted)}.breadcrumb a:not(:last-child):after,.breadcrumb span:not(:last-child):after{content:"›";margin-left:.35rem}.breadcrumb [aria-current=page]{color:var(--color-text);font-weight:600}.nav-dropdown{position:relative}.nav-dropdown__trigger{font:inherit;color:var(--color-text);border-radius:var(--radius);cursor:pointer;background:0 0;border:none;padding:.5rem .6rem}.nav-dropdown__trigger:hover,.nav-dropdown__trigger[aria-expanded=true]{background:var(--color-bg)}.nav-dropdown__menu{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);flex-direction:column;min-width:160px;max-height:calc(100vh - 5rem);margin-top:.25rem;padding:.25rem;display:flex;position:absolute;top:100%;left:0;overflow-y:auto;box-shadow:0 6px 16px #0f172a1a}.nav-dropdown__menu a{border-radius:var(--radius);color:var(--color-text);padding:.5rem .6rem}.nav-dropdown__menu a:hover{background:var(--color-bg);text-decoration:none}.nav-dropdown__menu button{font:inherit;text-align:left;border-radius:var(--radius);color:var(--color-text);cursor:pointer;background:0 0;border:none;padding:.5rem .6rem}.nav-dropdown__menu button:hover{background:var(--color-bg)}.nav-dropdown__group-label{text-transform:uppercase;letter-spacing:.02em;color:var(--color-text-muted);padding:.5rem .6rem .15rem;font-size:.75rem;font-weight:600}button,.button{font:inherit;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);border-radius:var(--radius);cursor:pointer;padding:.5rem .9rem}button:hover{background:var(--color-bg)}button:disabled{opacity:.6;cursor:not-allowed}.button--primary,button[type=submit]{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.button--primary:hover,button[type=submit]:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover)}form{flex-direction:column;gap:1rem;max-width:420px;display:flex}label{color:var(--color-text-muted);flex-direction:column;gap:.35rem;font-weight:500;display:flex}input{font:inherit;border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);padding:.5rem .65rem}input:focus{outline:2px solid var(--color-primary);outline-offset:1px}.checkbox-label{color:var(--color-text);flex-direction:row;align-items:center;gap:.5rem}.checkbox-label input{width:auto}.autocomplete{max-width:320px;position:relative}.autocomplete input{width:100%}.autocomplete__menu{z-index:10;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);max-height:240px;margin:.25rem 0 0;padding:.25rem;list-style:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 6px 16px #0f172a1a}.autocomplete__menu li{display:block}.autocomplete__menu button{text-align:left;border-radius:var(--radius);background:0 0;border:none;width:100%;padding:.4rem .5rem;display:block}.autocomplete__menu button:hover{background:var(--color-bg)}.autocomplete__status{color:var(--color-text-muted);padding:.4rem .5rem}dl{grid-template-columns:max-content 1fr;gap:.5rem 1.5rem;max-width:480px;margin:0 0 1.5rem;display:grid}dt{color:var(--color-text-muted)}dd{margin:0}table{border-collapse:collapse;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);width:100%;overflow:hidden}th,td{text-align:left;border-bottom:1px solid var(--color-border);padding:.6rem .75rem}th{background:var(--color-bg);color:var(--color-text-muted);font-weight:600}tbody tr:last-child td{border-bottom:none}[role=alert]{color:var(--color-danger)}.data-table{flex-direction:column;gap:.75rem;display:flex}.data-table__search{display:flex}.data-table__search input{width:100%;max-width:24rem}.data-table__toolbar{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.6rem .9rem;display:flex}.data-table__summary{color:var(--color-text-muted);font-weight:500}.data-table__actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.data-table__bulk-actions,.data-table__export{flex-wrap:wrap;gap:.4rem;display:flex}.data-table__page-size{color:var(--color-text-muted);flex-direction:row;align-items:center;gap:.4rem;font-weight:500;display:flex}.data-table__page-size select{font:inherit;border:1px solid var(--color-border);border-radius:var(--radius);padding:.35rem .5rem}.data-table__sort{font:inherit;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;padding:0;font-weight:600}.data-table__sort:hover{color:var(--color-text);background:0 0}.role-permission-row{align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}main:has(.projet-bons-commande){max-width:1600px}.projet-bons-commande__table-wrapper{margin-bottom:1rem;overflow-x:auto}main:has(.cra-table-wrapper){max-width:85rem;padding-left:1.5rem;padding-right:1.5rem}.cra-mois-nav{align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.cra-mois-nav__label{text-align:center;min-width:9rem;font-weight:600}.cra-consultant-picker .autocomplete{max-width:380px}.cra-table-wrapper{border:1px solid var(--color-border);border-radius:var(--radius);margin-bottom:1.25rem;overflow-x:auto}.cra-table{table-layout:fixed;border-collapse:collapse;width:100%;min-width:60rem}.cra-table th,.cra-table td{text-align:center;white-space:nowrap;vertical-align:middle;padding:.5rem .35rem}.cra-table th:first-child,.cra-table td:first-child{text-align:left;text-overflow:ellipsis;width:11rem;padding-left:.75rem;overflow:hidden}.cra-table th.cra-table__weekend{width:1.6rem}.cra-table th:nth-last-child(2),.cra-table td:nth-last-child(2){width:3.5rem;font-weight:600}.cra-table th:last-child,.cra-table td:last-child{width:2.5rem}.cra-table__input{text-align:center;border:1px solid var(--color-border);width:100%;font:inherit;color:var(--color-text);background:var(--color-surface);border-radius:3px;padding:.3rem .15rem}.cra-table__remove-btn{width:1.6rem;height:1.6rem;color:var(--color-text-muted);border:1px solid var(--color-border);cursor:pointer;background:0 0;border-radius:50%;padding:0;font-size:1rem;line-height:1}.cra-table__remove-btn:hover{color:var(--color-danger);border-color:var(--color-danger);background:color-mix(in srgb, var(--color-danger) 8%, var(--color-surface))}.cra-table__input:focus{outline:2px solid var(--color-primary);outline-offset:-1px}.cra-table__weekend{background:var(--color-bg);color:var(--color-text-muted)}.cra-table__conge td{color:var(--color-text-muted);font-style:italic}.cra-table__totals{font-weight:600}.cra-table__header-repeat{color:var(--color-text-muted);border-top:1px solid var(--color-border);font-weight:600}.cra-table__incoherent{color:var(--color-danger);font-weight:700}.cra-table__filled--full{background:color-mix(in srgb, var(--color-primary) 18%, var(--color-surface))}.cra-table__filled--half{background:color-mix(in srgb, var(--color-primary) 9%, var(--color-surface))}.cra-table__selected{outline:2px solid var(--color-primary);outline-offset:-2px;background:color-mix(in srgb, var(--color-primary) 12%, transparent)}.cra-table__hint{color:var(--color-text-muted);font-size:.9rem}.cra-synthese__ligne{margin-bottom:1rem}.cra-synthese__ligne dt{color:var(--color-text);margin-bottom:.35rem;font-weight:600}.cra-synthese__ligne textarea{width:100%;max-width:480px;font:inherit;border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);padding:.5rem .65rem}.pagination{flex-wrap:wrap;align-items:center;gap:.25rem;display:flex}.pagination button{padding:.35rem .6rem}.pagination__current{border-radius:var(--radius);background:var(--color-primary);color:#fff;padding:.35rem .6rem;font-weight:600}.ged-document-type{border:1px solid var(--color-border);border-radius:var(--radius);margin-bottom:1rem;padding:.75rem 1rem}.ged-document-type__version{margin-bottom:.5rem}.ged-document-type__toolbar{flex-wrap:wrap;align-items:flex-end;gap:1rem;margin-top:.5rem;display:flex}.ged-document-type__toolbar-upload{flex-wrap:wrap;align-items:flex-end;gap:1rem;display:flex}.ged-document-type__toolbar-review{align-items:center;gap:.5rem;margin-left:auto;display:flex}.ged-viewer-wrapper{align-items:stretch;gap:.75rem;margin-top:.75rem;display:flex}.ged-viewer{border:1px solid var(--color-border);border-radius:var(--radius);background:#f5f5f5;flex:1;height:480px;position:relative;overflow:hidden}.ged-viewer__overlay{cursor:grab;position:absolute;inset:0}.ged-viewer__overlay--dragging{cursor:grabbing}.ged-viewer__stage{transform-origin:0 0;width:100%;height:100%;position:absolute;top:0;left:0}.ged-viewer__frame{pointer-events:none;border:none;width:100%;height:100%}.ged-viewer__controls{flex-direction:column;gap:.4rem;display:flex}.historique-actions__filter{align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.historique-actions__diff-table{margin-top:.5rem;font-size:.85rem}.historique-actions__diff-table th,.historique-actions__diff-table td{text-align:left;padding:.2rem .5rem}.pagination__info{color:var(--color-text-muted);margin-left:auto}.rapport-do__filtres{flex-wrap:wrap;align-items:flex-end;gap:1rem;margin-bottom:1rem;display:flex}.rapport-do__row--consultant-sum{background:var(--color-subtotal-consultant-bg);font-weight:600}.rapport-do__row--iaf{background:var(--color-subtotal-iaf-bg);font-weight:700}.nav-dropdown__menu button[aria-pressed=true]{color:var(--color-primary);font-weight:600}[data-theme=corbeau]{--color-primary:#7c3aed;--color-primary-hover:#6d28d9}[data-theme=corbeau] .app-header{background:#1f2933;border-bottom-color:#111827}[data-theme=corbeau] .app-header__brand,[data-theme=corbeau] .nav-dropdown__trigger{color:#f3f4f6}[data-theme=corbeau] .nav-dropdown__trigger:hover,[data-theme=corbeau] .nav-dropdown__trigger[aria-expanded=true]{background:#ffffff1f}[data-theme=corbeau] .app-header__user{color:#cbd5e1}[data-theme=corbeau] h1{border-bottom:3px solid var(--color-primary);padding-bottom:.5rem;font-size:1.7rem;font-weight:700}[data-theme=heron]{--color-bg:#f7f7f8;--color-border:#e5e5e5;--radius:10px;--color-primary:#b45309;--color-primary-hover:#92400e}[data-theme=heron] .app-header{z-index:30;border-bottom:none;border-right:1px solid var(--color-border);flex-direction:column;align-items:stretch;gap:0;width:230px;height:100vh;padding:1rem 0;position:fixed;top:0;left:0}[data-theme=heron] .app-header__brand{padding:0 1rem 1rem}[data-theme=heron] .app-header__nav{flex-direction:column;flex:initial;align-items:stretch;gap:.15rem;padding:0 .6rem}[data-theme=heron] .app-header__user{border-top:1px solid var(--color-border);flex-direction:column;align-items:stretch;gap:.15rem;margin-top:auto;padding:.75rem .6rem 0}[data-theme=heron] .app-header .nav-dropdown__trigger{text-align:left;width:100%}[data-theme=heron] .app-header .nav-dropdown__menu{margin-top:0;margin-left:.25rem;top:0;left:100%}[data-theme=heron] .app-header__user .nav-dropdown__menu{top:auto;bottom:0}[data-theme=heron] main,[data-theme=heron] .app-content,[data-theme=heron] .breadcrumb,[data-theme=heron] .impersonation-banner{margin-left:230px;margin-right:auto}
