/* Retours de Yohann des 05/11/2026 et de Gilles du 06/11/2026. */

/* ---------- En-tête : zone du logo élargie pour les logos horizontaux ---------- */
.app-header__inner{grid-template-columns:150px minmax(220px,600px) auto 1fr auto auto 260px;}
.header-logo{width:260px;padding:8px 16px;}
@media (min-width:992px) and (max-width:1399.98px){
  .app-header__inner{grid-template-columns:120px minmax(180px,300px) auto 1fr auto auto 210px;}
  .header-logo{width:210px;}
}
@media (max-width:991.98px){.header-logo{width:130px;}}

/* ---------- Profils client et administrateur PMS BECUS ---------- */
.role-ribbon{display:flex;align-items:center;gap:10px;padding:6px 24px;background:#fff4e0;border-bottom:1px solid #f1d39a;color:#7a4a05;font-size:13px;}
.role-ribbon i{font-size:15px;}
.role-ribbon span{font-weight:700;}
.role-ribbon small{color:#8c6420;font-size:12.5px;}
.role-ribbon a{margin-left:auto;color:#7a4a05;font-weight:600;text-decoration:underline;}
body[data-role="admin"] .app-header{box-shadow:inset 0 3px 0 #e0a43a;}
.role-choice{display:flex;align-items:center;}
.role-choice .role-choice__check{margin-left:auto;opacity:0;color:var(--cg-primary);}
.role-choice.active{background:var(--cg-primary-soft);color:var(--cg-primary);font-weight:600;}
.role-choice.active .role-choice__check{opacity:1;}
.admin-tag{margin-left:auto;padding:1px 6px;border-radius:4px;background:#fff1d6;color:#8a5a0a;font-size:10px;font-weight:700;letter-spacing:.04em;}
.app-nav .dropdown-item .admin-tag{margin-left:10px;}

/* ---------- Jugement en couleur (reprend l’existant) ---------- */
.badge-cg.judgment,.judgment{display:inline-flex;align-items:center;gap:6px;padding:0;background:transparent;border:0;font-weight:700;font-size:13.5px;}
.judgment::before{content:"";width:9px;height:9px;border-radius:50%;background:currentColor;flex:none;}
.judgment--ok{color:#1d8a4c;}
.judgment--ko{color:#cc2b2b;}
.judgment--na{color:#1a1f29;}
.judgment--warn{color:#b86b13;}

/* ---------- Visionneuse PDF ---------- */
.pdf-viewer-dialog .modal-body{padding:0;background:#525659;}
.pdf-viewer{display:flex;flex-direction:column;min-height:70vh;}
.pdf-viewer__bar{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:18px;padding:9px 16px;background:#323639;color:#f1f3f4;font-size:13px;}
.pdf-viewer__file{display:flex;align-items:center;gap:8px;font-weight:600;min-width:0;}
.pdf-viewer__file i{color:#ff6b5e;font-size:17px;}
.pdf-viewer__pages{color:#c7cbd0;}
.pdf-viewer__zoom{display:flex;align-items:center;gap:6px;margin-left:auto;}
.pdf-viewer__zoom button{width:28px;height:28px;border:0;border-radius:50%;background:transparent;color:#f1f3f4;}
.pdf-viewer__zoom button:hover{background:#ffffff1f;}
.pdf-viewer__actions{display:flex;gap:8px;}
.pdf-viewer__actions .btn{--bs-btn-color:#f1f3f4;--bs-btn-border-color:#ffffff40;--bs-btn-hover-bg:#ffffff1f;--bs-btn-hover-color:#fff;--bs-btn-hover-border-color:#ffffff60;}
.pdf-viewer__canvas{flex:1;padding:24px;overflow:auto;}
.pdf-page{--pdf-zoom:1;width:calc(794px * var(--pdf-zoom));min-height:calc(1000px * var(--pdf-zoom));margin:0 auto;padding:calc(44px * var(--pdf-zoom)) calc(52px * var(--pdf-zoom));background:#fff;box-shadow:0 4px 18px #0006;font-size:calc(12.5px * var(--pdf-zoom));color:#1d2733;font-family:Arial,Helvetica,sans-serif;position:relative;}
.pdf-page::after{content:"DÉMONSTRATION";position:absolute;top:44%;left:50%;transform:translate(-50%,-50%) rotate(-28deg);font-size:calc(70px * var(--pdf-zoom));font-weight:800;color:#0d2d5a0d;letter-spacing:.1em;pointer-events:none;}
.pdf-page__head{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:12px;border-bottom:3px solid #1d4f91;}
.pdf-page__brand strong{display:block;font-size:2em;letter-spacing:.04em;color:#1d4f91;line-height:1;}
.pdf-page__brand span{font-size:1.05em;color:#d0402f;font-weight:700;letter-spacing:.2em;text-transform:uppercase;}
.pdf-page__accr{text-align:right;font-size:.92em;color:#4b5868;}
.pdf-page__accr span{color:#a0632a;font-style:italic;}
.pdf-page__title{margin:22px 0 14px;font-size:1.7em;text-transform:uppercase;letter-spacing:.06em;color:#1d2733;display:flex;justify-content:space-between;align-items:baseline;}
.pdf-page__title span{font-size:.7em;color:#1d4f91;letter-spacing:0;}
.pdf-kv{width:100%;border-collapse:collapse;margin-bottom:12px;}
.pdf-kv th,.pdf-kv td{padding:6px 8px;border:1px solid #cfd7e2;text-align:left;vertical-align:top;}
.pdf-kv th{width:18%;background:#f1f5fa;font-weight:600;color:#3d4b5c;}
.pdf-page__section{margin:18px 0 8px;font-size:1.1em;color:#1d4f91;text-transform:uppercase;letter-spacing:.05em;}
.pdf-results{width:100%;border-collapse:collapse;}
.pdf-results th{background:#1d4f91;color:#fff;font-weight:600;padding:6px 8px;text-align:left;}
.pdf-results td{padding:6px 8px;border-bottom:1px solid #dfe5ed;}
.pdf-ok{color:#1d8a4c;font-weight:700;}
.pdf-ko{color:#cc2b2b;}
.pdf-page__judgment{margin:16px 0;font-size:1.15em;font-weight:600;}
.pdf-page__foot{margin-top:28px;padding-top:12px;border-top:1px solid #cfd7e2;display:flex;justify-content:space-between;gap:20px;color:#5b6878;font-size:.9em;}
.pdf-page__sign{text-align:center;min-width:180px;}
.pdf-page__sign i{display:block;margin-top:8px;padding:18px 0;border:1px dashed #b8c3d1;color:#9aa6b5;}
a.cert-reference,.instruments-table .cert-reference{cursor:pointer;}
.instruments-table .cert-reference:hover{text-decoration:underline;}

/* ---------- CE à consulter : lien PDF et validation ---------- */
.ce-ref__link{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:var(--cg-link);text-decoration:none;}
.ce-ref__link:hover{text-decoration:underline;}
.ce-ref__link i{color:#d0402f;}
.ce-state{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;white-space:nowrap;}
.ce-state small{font-weight:500;color:#66758a;margin-left:2px;}
.ce-state .instrument-status{width:18px;height:18px;}
.ce-state--ok{color:#1d6fd6;}
.ce-state--seen{color:#5a6a80;}
.ce-state--todo{color:#b86b13;}
.certificates-table tr.is-validated td{background:#f6faff;}
.ce-toolbar .toolbar__right{gap:10px;}
.ce-validate__table{width:100%;border-collapse:collapse;margin-bottom:14px;font-size:13.5px;}
.ce-validate__table th,.ce-validate__table td{padding:8px 10px;border:1px solid #e1e7ef;}
.ce-validate__table th{background:#f6f8fb;color:#4d5d73;font-weight:600;width:16%;}
.ce-validate__table a i{color:#d0402f;}
.ce-validate__checks{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.ce-validate__check{display:flex;gap:10px;padding:12px;border:1px solid #dbe3ee;border-radius:10px;cursor:pointer;}
.ce-validate__check:has(input:checked){border-color:var(--cg-primary);background:var(--cg-primary-soft);}
.ce-validate__check strong{display:block;font-size:14px;}
.ce-validate__check small{display:block;color:#5b6b82;font-size:12.5px;line-height:1.4;}
.ce-validate__done{color:#1d6fd6;font-weight:600;}
.ce-validate__multi{padding:10px 12px;border-radius:8px;background:#f3f6fa;}

/* ---------- Formulaires communs des fenêtres ---------- */
.cg-dialog .task-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;}
.cg-dialog .task-row>label{display:flex;flex-direction:column;gap:5px;font-size:13px;font-weight:600;color:#2f4158;}
.move-summary{padding:10px 12px;border-radius:8px;background:#f3f6fa;font-size:13.5px;font-weight:600;color:#263d5c;}
@media (max-width:767.98px){.cg-dialog .task-row,.ce-validate__checks{grid-template-columns:1fr;}}

/* ---------- Tâches : planifiée ou réalisée, détail, réalisation ---------- */
.task-mode{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px;}
.task-mode__option{display:flex;align-items:center;gap:12px;padding:12px 14px;border:2px solid #dbe3ee;border-radius:11px;background:#fff;cursor:pointer;transition:border-color .15s,background-color .15s;}
.task-mode__option input{position:absolute;opacity:0;pointer-events:none;}
.task-mode__option>i{font-size:22px;color:#7a8aa0;}
.task-mode__option strong{display:block;font-size:14.5px;color:#1f2f45;}
.task-mode__option small{display:block;font-size:12.5px;color:#5b6b82;}
.task-mode__option.is-active,.task-mode__option:has(input:checked){border-color:var(--cg-primary);background:var(--cg-primary-soft);}
.task-mode__option.is-active>i,.task-mode__option:has(input:checked)>i{color:var(--cg-primary);}
.task-mode__option:has(input:focus-visible){outline:2px solid var(--cg-primary);outline-offset:2px;}
.task-mode--result .task-mode__option--ok:has(input:checked){border-color:#1d8a4c;background:#ecf7f0;}
.task-mode--result .task-mode__option--ok:has(input:checked)>i{color:#1d8a4c;}
.task-mode--result .task-mode__option--ko:has(input:checked){border-color:#cc2b2b;background:#fdf0f0;}
.task-mode--result .task-mode__option--ko:has(input:checked)>i{color:#cc2b2b;}
.dash-todo__item.is-clickable{cursor:pointer;}
.dash-todo__item.is-clickable:hover{background:#f5f8fc;border-color:#cdd8e6;}
.dash-todo__item.is-clickable:focus-visible{outline:2px solid var(--cg-primary);outline-offset:1px;}
.tasks-table tr.is-clickable{cursor:pointer;}
.tasks-table tr.is-clickable:hover td{background:#f5f8fc;}
.task-detail__head{display:flex;align-items:center;gap:8px;}
.task-detail__title{margin:10px 0 14px;font-size:18px;font-weight:700;color:#1f2f45;}
.task-detail{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px;margin:0;}
.task-detail__row{padding:9px 11px;border:1px solid #e3e9f1;border-radius:9px;background:#fafbfd;}
.task-detail dt{font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#66758a;}
.task-detail dd{margin:2px 0 0;font-size:14px;color:#1f2f45;}
.task-file{display:inline-flex;gap:5px;align-items:center;}
.task-completion__task{padding:10px 12px;border-radius:8px;background:#f3f6fa;font-size:13.5px;font-weight:600;}
@media (max-width:767.98px){.task-mode,.task-detail{grid-template-columns:1fr;}}

/* ---------- Panier : actions toujours visibles ---------- */
.cart-footer{flex-direction:column;align-items:stretch;gap:12px;}
.cart-footer__top{display:flex;align-items:center;justify-content:space-between;gap:12px;}
.cart-footer__top .cart-footer__hint{font-size:12.5px;color:#657384;}
.cart-bulk--grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;}
.cart-bulk--grid>.btn,.cart-bulk--grid>.dropdown>.btn{width:100%;justify-content:center;display:inline-flex;align-items:center;gap:6px;font-size:13.5px;padding:7px 8px;}
.cart-bulk--grid .cart-export-label{display:inline;}
.cart-bulk--grid>.btn:disabled,.cart-bulk--grid>.dropdown>.btn:disabled{opacity:.45;}

/* ---------- Dérogation ---------- */
.derogation-indicator{display:inline-flex;margin-left:3px;}
.derog-kind{display:flex;gap:18px;margin-bottom:10px;font-weight:600;font-size:13.5px;}
.derog-kind label{display:flex;align-items:center;gap:6px;cursor:pointer;}
.derog-result{margin:12px 0 0;padding:9px 12px;border-radius:8px;background:#fff4e6;color:#8a4b0a;font-size:13.5px;}
.sheet-derogation{margin-top:12px;}
.sheet-derogation__on{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:0 0 8px;padding:8px 10px;border-radius:8px;background:#fff4e6;color:#8a4b0a;font-size:13.5px;}

/* ---------- Historique des actions ---------- */
.dashboard-history .dashboard-card__head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;}
.history-head-actions{display:flex;align-items:center;gap:8px;}
.history-reset{font-size:13px;}
.history-filters td{padding:6px 6px!important;background:#f6f8fb;border-bottom:1px solid #e3e9f1;}
.history-filters td.col-type{text-align:center;color:#7a8aa0;}
.history-filters .form-select,.history-filters .form-control{font-size:12.5px;min-width:96px;}
.history-page .table-card{overflow:visible;}

/* ---------- Fiche instrument : onglets ---------- */
.sheet-tabs{display:flex;gap:4px;margin:4px 0 16px;border-bottom:1px solid #d9e1ec;}
.sheet-tab{display:inline-flex;align-items:center;gap:7px;padding:10px 16px;border:0;border-bottom:3px solid transparent;margin-bottom:-1px;background:transparent;font-weight:600;font-size:14.5px;color:#55657d;}
.sheet-tab:hover{color:var(--cg-primary);}
.sheet-tab.is-active{color:var(--cg-primary);border-bottom-color:var(--cg-primary);}
.sheet-tab__count{padding:1px 7px;border-radius:10px;background:#e8eef6;font-size:12px;}
.history-panel__sub{margin-left:8px;font-weight:500;font-size:13px;color:#66758a;text-transform:none;letter-spacing:0;}
.history-progress{display:grid;grid-template-columns:180px 1fr 180px;gap:20px;align-items:center;padding:16px 18px;}
.history-progress span{display:block;font-size:12px;color:#66758a;}
.history-progress strong{font-size:15px;color:#1f2f45;}
.history-progress__mid{text-align:center;}
.history-progress__bar{height:14px;margin:8px 0 6px;border-radius:7px;background:#e6ebf2;overflow:hidden;}
.history-progress__bar span{display:block;height:100%;background:linear-gradient(90deg,#2f9e66,#d9822b);border-radius:7px;}
.history-progress__mid small{font-size:11.5px;color:#66758a;}
.history-progress__mid small i{color:#5bbf8a;}
.history-panel__actions{display:flex;gap:8px;flex-wrap:wrap;padding:0 18px 14px;}
.history-moves tr.is-current-cycle td{background:#eef8f2;}
.history-panel__legend{display:flex;align-items:center;gap:8px;margin:0;padding:10px 18px 14px;font-size:12.5px;color:#66758a;}
.history-legend-swatch{width:14px;height:14px;border-radius:3px;background:#cfeedd;border:1px solid #9fd5b6;}
@media (max-width:767.98px){.history-progress{grid-template-columns:1fr;text-align:center;}.history-progress .text-end{text-align:center!important;}}

/* ---------- Préférences : mes vues ---------- */
.preference-views h3 i{color:var(--cg-primary);}
.views-table{margin:6px 0 0;font-size:13.5px;}
.views-table th{font-size:12px;color:#66758a;font-weight:600;}
.views-table td{vertical-align:middle;}
.views-table td:first-child,.views-table th:first-child{width:90px;text-align:center;}

/* ---------- Droits spécifiques ---------- */
.permissions-subtitle{margin:4px 0 10px;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#55657d;}
.permissions-specific{margin-top:18px;padding-top:14px;border-top:1px solid #e3e9f1;}
.permission-switch{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:9px 0;border-bottom:1px solid #eef2f7;cursor:pointer;}
.permission-switch strong{display:block;font-size:14px;}
.permission-switch small{display:block;font-size:12.5px;color:#5b6b82;}

/* ---------- Champs personnalisés ---------- */
.cf-account{display:flex;align-items:center;gap:12px;margin-bottom:6px;}
.cf-account label{font-weight:700;font-size:13.5px;}
.cf-account .form-select{max-width:320px;}
.cf-account__fixed{display:inline-flex;align-items:center;gap:7px;padding:6px 12px;border-radius:8px;background:#f1f5fa;font-weight:600;}
.cf-table{font-size:13.5px;}
.cf-table th{font-size:12px;color:#66758a;font-weight:600;white-space:nowrap;}
.cf-table td{vertical-align:middle;}
.cf-order{white-space:nowrap;width:64px;}
.btn-cf{width:26px;height:26px;border:1px solid #d9e1ec;border-radius:6px;background:#fff;color:#55657d;}
.btn-cf:disabled{opacity:.35;}
.cf-limit{margin-left:12px;font-size:12.5px;color:#66758a;}
.form-panel__head .form-panel__link{margin-left:auto;font-size:13px;font-weight:600;text-transform:none;letter-spacing:0;color:var(--cg-link);text-decoration:none;}
.form-panel__head .form-panel__link:hover{text-decoration:underline;}

/* ---------- Page de connexion ---------- */
.login-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,#182238,#2d4a73);}
.login-card{width:min(940px,100%);display:grid;grid-template-columns:1fr 1fr;border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 20px 60px #0008;}
.login-card__intro{padding:40px;background:#1f2b47;color:#e8eef7;display:flex;flex-direction:column;gap:14px;}
.login-card__intro h1{margin:0;font-family:'Barlow Condensed',sans-serif;font-size:40px;font-weight:700;color:#fff;}
.login-card__intro h1 span{color:#f0b429;}
.login-card__intro p{margin:0;color:#b9c6d9;line-height:1.55;}
.login-card__intro ul{margin:8px 0 0;padding:0;list-style:none;display:grid;gap:8px;font-size:14px;}
.login-card__intro li i{color:#f0b429;margin-right:8px;}
.login-card__form{padding:36px 40px;}
.login-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:5px;border-radius:11px;background:#eef2f7;margin-bottom:22px;}
.login-tab{border:0;border-radius:8px;padding:10px;background:transparent;font-weight:700;color:#55657d;display:flex;align-items:center;justify-content:center;gap:7px;}
.login-tab.is-active{background:#fff;color:#1f2b47;box-shadow:0 2px 6px #1f2b4722;}
.login-tab[data-login-tab="admin"].is-active{color:#8a5a0a;}
.login-card__form label{display:block;margin-bottom:14px;font-weight:600;font-size:13.5px;color:#2f4158;}
.login-card__form .form-control{margin-top:5px;}
.login-note{font-size:12.5px;color:#66758a;margin:14px 0 0;}
.login-admin-note{display:flex;gap:8px;padding:10px 12px;border-radius:8px;background:#fff4e0;color:#7a4a05;font-size:13px;margin-bottom:14px;}
@media (max-width:767.98px){.login-card{grid-template-columns:1fr;}.login-card__intro{padding:28px;}}
.cg-dialog .task-row>label{display:block;}
.cg-dialog .task-row>label>.form-control,.cg-dialog .task-row>label>.form-select{margin-top:5px;}
.cg-file{display:flex;align-items:center;gap:10px;min-height:38px;margin-top:5px;padding:4px 6px 4px 4px;border:1px solid #d9e1ec;border-radius:8px;background:#fff;}
.cg-file .btn{white-space:nowrap;}
.cg-file__name{font-size:13px;font-weight:500;color:#66758a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.cart-bulk--grid{grid-template-columns:repeat(12,minmax(0,1fr));}
.cart-bulk--grid>*{grid-column:span 3;}
.cart-bulk--grid>[data-cart-action]{grid-column:span 4;}
@media (max-width:575.98px){.cart-bulk--grid>*,.cart-bulk--grid>[data-cart-action]{grid-column:span 6;}}
.history-moves{min-width:0!important;table-layout:auto;}
.history-moves th,.history-moves td{padding-left:16px;padding-right:12px;}
.history-moves td:last-child{white-space:normal;min-width:180px;}
.ce-validation{margin-top:3px;}
.ce-validation .ce-state{font-size:12.5px;}
.certificates-table{min-width:0!important;}
.certificates-table td:nth-child(3){max-width:220px;}
.certificates-table th,.certificates-table td{padding-left:10px;padding-right:10px;}
.certificates-table td:nth-child(3){max-width:190px;}
.certificates-table .ce-actions .btn{padding:4px 9px;}
