/* Organizer : navigation Quick Shift, première version */
:root{--ob-navy:#293461;--ob-navy-deep:#1b2345;--ob-charcoal:#292929}
body{margin:0;background:#f5f7fb;font-family:Arial,Helvetica,sans-serif;color:#162a43}
.ob-topbar{background:var(--ob-navy);color:white;display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:66px;padding:10px 18px;flex-wrap:wrap}
.ob-top-identity,.ob-top-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.ob-brand strong{font-size:20px;letter-spacing:.3px}.ob-appname{font-size:17px;font-weight:bold}.ob-appname span{font-weight:normal;color:#d5e0f4}
.ob-top-actions{gap:9px}.ob-user-identity{text-align:right;display:flex;flex-direction:column;font-size:12px;gap:3px}.ob-user-identity small{color:#d4e2ff;font-size:11px}
.ob-top-icon{display:inline-flex;justify-content:center;align-items:center;min-width:35px;height:35px;border:1px solid #9bacca;border-radius:7px;color:#fff!important;text-decoration:none!important;font-size:18px}
.ob-top-icon:hover{background:#425786}
.ob-primary-nav{background:var(--ob-navy-deep);padding:10px 12px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.ob-primary-nav .ob-nav-link{background:var(--ob-charcoal);color:white!important;text-decoration:none!important;display:inline-flex;align-items:center;gap:9px;padding:10px 12px;border-radius:5px;font-size:12px;font-weight:bold;white-space:nowrap;border:1px solid transparent}
.ob-primary-nav .ob-nav-link:hover{background:#3c4658}.ob-primary-nav .ob-nav-link.is-active{border-color:#a9bddf;background:#344461}
.ob-nav-icon{font-size:16px;line-height:1}
.ob-subnav{background:#fff;border-bottom:1px solid #dce3ed;padding:9px 18px;display:flex;gap:8px;flex-wrap:wrap}
.ob-subnav-link{font-size:12px;color:#183f69!important;padding:7px 12px;border-radius:6px;text-decoration:none!important;border:1px solid #d9e1ed;background:#f5f7fb}
.ob-subnav-link:hover,.ob-subnav-link.is-active{background:#e1eaf8;border-color:#9eb8dc}
.ob-main{max-width:1700px;margin:0 auto;padding:15px 20px 40px}
.ob-planning-navigation{display:flex;gap:15px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:12px;background:white;border:1px solid #dbe2eb;border-radius:8px;margin-bottom:10px}
.ob-planning-period,.ob-planning-views,.ob-planning-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ob-planning-period strong{min-width:180px;text-align:center;font-size:13px}.ob-planning-actions{margin:8px 0 12px}
.ob-planning-navigation .btn,.ob-planning-actions .btn{padding:7px 11px!important;background:#fff!important;color:#163452!important;border:1px solid #d0dae6!important;border-radius:6px!important;text-decoration:none!important;font-size:12px!important}
.ob-planning-navigation .btn.active{background:#203a60!important;color:white!important}
@media(max-width:850px){.ob-topbar{align-items:flex-start}.ob-top-identity{gap:12px}.ob-main{padding:12px}.ob-primary-nav{gap:5px}.ob-primary-nav .ob-nav-link{padding:8px}}

/* Planning livraisons / preparation : navigation compacte sur une ligne. */
.ob-planning-navigation {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    gap: 14px;
}
.ob-planning-navigation .ob-week-kpi {
    justify-self: start;
    border-left: 0;
    padding-left: 0;
    white-space: nowrap;
}
.ob-planning-navigation .ob-planning-period {
    grid-column: 2;
    justify-content: center;
    flex-wrap: nowrap;
}
.ob-planning-navigation .ob-planning-views {
    grid-column: 3;
    justify-content: flex-end;
    flex-wrap: nowrap;
}
@media (max-width: 1100px) {
    .ob-planning-navigation {
        grid-template-columns: 1fr auto;
    }
    .ob-planning-navigation .ob-week-kpi {
        grid-column: 1 / -1;
    }
    .ob-planning-navigation .ob-planning-period {
        grid-column: 1;
        justify-content: flex-start;
    }
    .ob-planning-navigation .ob-planning-views {
        grid-column: 2;
    }
}
@media (max-width: 680px) {
    .ob-planning-navigation {
        grid-template-columns: minmax(0, 1fr);
    }
    .ob-planning-navigation .ob-week-kpi,
    .ob-planning-navigation .ob-planning-period,
    .ob-planning-navigation .ob-planning-views {
        grid-column: 1;
        justify-self: center;
    }
    .ob-planning-navigation .ob-planning-period strong {
        min-width: 0;
    }
    .ob-planning-navigation .ob-planning-views {
        flex-wrap: wrap;
        justify-content: center;
    }
}

/* Planning Préparation : repère visuel jaune pâle, sans changer les statuts. */
html.ob-preparation-theme body {
    background: #fffdf4;
}
html.ob-preparation-theme .ob-planning-navigation,
html.ob-preparation-theme .ob-original-week,
html.ob-preparation-theme .week-nav {
    background: #fff3c8 !important;
    border-color: #e5cc80 !important;
}
html.ob-preparation-theme .ob-original-content .panel,
html.ob-preparation-theme .calendar-panel,
html.ob-preparation-theme .dms-day-col,
html.ob-preparation-theme .ob-cal-day {
    border-color: #e9d9a4 !important;
}
html.ob-preparation-theme .ob-original-content .ob-cal-head,
html.ob-preparation-theme .cal-prep-head,
html.ob-preparation-theme .week-day-head,
html.ob-preparation-theme .dms-day-name,
html.ob-preparation-theme .ob-main th {
    background: #fff0bb !important;
    color: #6e5218 !important;
}
html.ob-preparation-theme .ob-original-tabs .ob-day-tab.active,
html.ob-preparation-theme .ob-view-toggle .btn.active,
html.ob-preparation-theme .ob-planning-navigation .btn.active {
    background: #8b681e !important;
    border-color: #8b681e !important;
    color: #fff !important;
}
html.ob-preparation-theme .ob-subnav-link.is-active {
    background: #fff0bb !important;
    border-color: #d9b960 !important;
    color: #6e5218 !important;
}
html.ob-preparation-theme .ob-original-content .ob-cal-day,
html.ob-preparation-theme .dms-day-col {
    background: #fffdf6 !important;
}
/* Conserver les couleurs fonctionnelles des alertes et taux d'occupation. */
