:root{--norot-blue:#0055a4;--norot-ink:#172b4d;--norot-border:#dce4ed;--norot-muted:#52647a;--color-primary-blue:#0055a4;--color-primary-red:#c53030}
[hidden]{display:none!important}
body{color:var(--norot-ink)}
body[data-layout="main"]{background:#f4f7fb}
body[data-layout="main"] header{box-shadow:none;border-bottom:1px solid var(--norot-border)}
body[data-layout="main"] main{background:#f4f7fb}
.desktop-sidebar{width:224px;min-width:224px}

/* ===== Sidebar fixe (desktop) =====
   La sidebar bleue reste figée à gauche pendant le scroll,
   occupe toute la hauteur de l'écran, et seule la zone principale scrolle. */
@media (min-width: 1024px) {
  .norot-sidebar-fixed {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    height: 100vh !important;
    overflow-y: auto !important;
    z-index: 30 !important;
  }
  /* Pousse le contenu principal à droite de la sidebar fixe */
  .norot-main-wrap {
    margin-left: 224px;
    min-height: 100vh;
    transition: margin-left .3s ease;
  }
  /* Si la sidebar est réduite (body.sidebar-collapsed), on adapte le margin */
  body.sidebar-collapsed .norot-main-wrap {
    margin-left: 5rem;
  }
}
@media (max-width: 1023px) {
  /* Sur mobile : pas de margin-left (la sidebar desktop est masquée via .hidden lg:flex) */
  .norot-main-wrap {
    margin-left: 0;
  }
}
.desktop-sidebar nav a{min-height:44px;border-radius:8px}
.desktop-sidebar nav a svg{margin-right:0}
.sidebar-section{padding:16px 12px 6px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#c9dcf2}
button,a,input,select,textarea{touch-action:manipulation}
:is(a,button,input,select,textarea,[tabindex]):focus-visible{outline:3px solid #1682dc!important;outline-offset:3px}
.skip-link{position:fixed;top:-80px;left:12px;z-index:9999;background:white;padding:12px 18px;border:2px solid var(--norot-blue);border-radius:8px}
.skip-link:focus{top:12px}
.page-heading-duplicate{display:none}
.norot-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.norot-panel{padding:20px;border:1px solid var(--norot-border);border-radius:12px;background:white}
.norot-panel h2{font-size:18px;font-weight:700}
.norot-subtitle{font-size:14px;color:var(--norot-muted);margin-top:4px}
.norot-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}
.norot-action{display:flex;flex-direction:column;gap:6px;padding:16px;border:1px solid #dce4ed;border-radius:10px;background:#f8fafc;color:#172b4d}
.norot-action:hover{border-color:#0055a4;background:#eff6ff}
.norot-action strong{font-size:26px;line-height:1.2}
.norot-action.is-urgent{border-left:4px solid #c53030}
.norot-action small{color:var(--norot-muted)}
.norot-message{padding:12px 16px;border:1px solid #b9d6ef;border-radius:8px;background:#eff6ff;font-size:14px}
.norot-message button{font-weight:600;text-decoration:underline;margin-left:12px}
.norot-error{border-color:#efb5b5;background:#fff5f5;color:#9b1c1c}
.norot-chip{padding:7px 12px;border:1px solid #cbd5e1;border-radius:20px;background:white;font-size:13px;color:#334155}
.norot-chip[aria-pressed="true"]{background:#0055a4;border-color:#0055a4;color:white}
.norot-notifications{position:absolute;right:0;top:50px;width:min(380px,90vw);max-height:75vh;overflow:auto;z-index:80;box-shadow:0 16px 40px #142a4630;border:1px solid var(--norot-border);border-radius:12px;background:white;color:#172b4d}
.norot-notifications h2{padding:16px;font-size:18px;font-weight:700;border-bottom:1px solid var(--norot-border)}
.norot-notifications button,.norot-notifications a{color:#0055a4!important}
.norot-notification{padding:14px 16px;border-bottom:1px solid #e5e7eb}
.norot-notification.is-unread{background:#eff6ff}
.norot-notification p{font-size:13px;margin:5px 0;color:#52647a}
.norot-notification small{color:#64748b}
.norot-notification a{display:block;font-weight:600}
.norot-count{position:absolute;right:-3px;top:-3px;border-radius:20px;background:#b91c1c;color:white;font-size:10px;padding:1px 5px}
.norot-status{display:inline-flex;align-items:center;padding:3px 9px;border-radius:20px;font-size:12px;font-weight:600;background:#f1f5f9;color:#475569}
.norot-status[data-status="confirmee"]{background:#dbeafe;color:#1e40af}
.norot-status[data-status="en_cours"]{background:#e0e7ff;color:#3730a3}
.norot-status[data-status="terminee"]{background:#dcfce7;color:#166534}
.norot-status[data-status="planifiee"]{background:#fef3c7;color:#92400e}
.norot-status[data-status="annulee"]{background:#f1f5f9;color:#475569;text-decoration:line-through}
body[data-page="planning"] .max-w-7xl{max-width:1600px}
body[data-page="planning"] .bg-gradient-to-br{background:white;box-shadow:none}
body[data-page="planning"] #calendar-view,body[data-page="planning"] #team-table-view{padding:12px;box-shadow:none;border:1px solid var(--norot-border)}
body[data-page="planning"] #calendar{min-height:480px!important}
.planning-legend{display:flex;flex-wrap:wrap;gap:12px;font-size:12px;color:#52647a;padding:12px 0}
.planning-legend span{display:flex;gap:6px;align-items:center}
.planning-legend i{width:9px;height:9px;border-radius:50%;display:inline-block}
.cal-event[data-status="en_cours"]{background:#e0e7ff!important;border-left-color:#4f46e5!important;color:#312e81!important}
.cal-event[data-status="terminee"]{background:#dcfce7!important;border-left-color:#16a34a!important;color:#14532d!important}
.cal-event[data-status="annulee"]{background:#f1f5f9!important;border-left-color:#64748b!important;color:#475569!important}
.draft-bar{margin-bottom:16px;display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.draft-bar [role="status"]{flex:1}
.dashboard-metrics{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.dashboard-metrics .truncate{white-space:normal;overflow:visible;text-overflow:clip}
.dashboard-metrics .w-0{width:auto;min-width:0}
.dashboard-metrics .p-5{padding:18px}
@media(min-width:1600px){.dashboard-metrics{grid-template-columns:repeat(6,minmax(0,1fr))!important}}
@media(max-width:640px){.dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important}.dashboard-metrics .h-8{display:none}.dashboard-metrics .ml-5{margin-left:0}}
@media(max-width:767px){
 .norot-actions{grid-template-columns:1fr}.norot-panel{padding:16px}.norot-action{display:grid;grid-template-columns:50px 1fr;align-items:center}.norot-action small{grid-column:2}
 body[data-layout="main"] .norot-cards{display:block;min-width:0!important;width:100%;background:transparent}
 .norot-cards thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 .norot-cards tbody{display:grid;gap:12px}.norot-cards tr{display:block;background:white;border:1px solid #dce4ed;border-radius:10px;padding:8px}
 .norot-cards td{display:grid;grid-template-columns:100px minmax(0,1fr);gap:10px;padding:9px 6px;white-space:normal;overflow-wrap:anywhere}
 .norot-cards td::before{content:attr(data-label);font-size:12px;font-weight:600;color:#52647a}.norot-cards td[colspan]{display:block}.norot-cards td[colspan]::before{display:none}
 .norot-notifications{position:fixed;right:12px;top:75px}
 body[data-page="planning"] .bg-gradient-to-br{padding:14px}
 .mobile-sync-status{padding:6px 16px;font-size:12px;color:#52647a;background:#eef4fb}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

@media(max-width:767px){body[data-layout="main"] .norot-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}.norot-summary>div{margin:0!important;padding:14px!important}.norot-cards td>*{grid-column:2}}
