:root{--vert: #5c7c5a;--vert-fonce: #46603f;--creme: #faf7f2;--encre: #2d2a26;--gris: #b9b2a7}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,Segoe UI,Helvetica,Arial,sans-serif;background:var(--creme);color:var(--encre);font-size:15px}.login{min-height:100vh;display:flex;align-items:center;justify-content:center}.login form{background:#fff;padding:40px;border-radius:14px;box-shadow:0 4px 24px #00000014;display:flex;flex-direction:column;gap:12px;width:320px;text-align:center}.logo-img-login{height:56px;width:auto;max-width:100%;object-fit:contain;margin:0 auto}.login input{padding:12px;border:1px solid #ddd5c8;border-radius:8px;font-size:1rem}.login button{background:var(--vert);color:#fff;border:none;border-radius:8px;padding:12px;font-size:1rem;cursor:pointer}header{background:#fff;display:flex;align-items:center;gap:16px;padding:10px 18px;box-shadow:0 1px 8px #0000000f;position:sticky;top:0;z-index:5;flex-wrap:wrap}.logo{display:flex;align-items:center;gap:10px;font-weight:700;color:var(--vert-fonce)}.logo-img{height:34px;width:auto;object-fit:contain;display:block}.logo-suffixe{font-size:.95rem}@media (max-width: 640px){.logo-img{height:26px}.logo-suffixe{display:none}}nav{display:flex;gap:4px;flex:1;flex-wrap:wrap}nav button,.compte button{border:none;background:transparent;padding:8px 12px;border-radius:8px;cursor:pointer;font-size:.95rem}nav button.actif{background:var(--vert);color:#fff}nav button:hover:not(.actif){background:var(--creme)}.nav-outils{position:relative}.nav-outils-menu{position:absolute;top:100%;left:0;background:#fff;border-radius:10px;box-shadow:0 4px 16px #0000001f;padding:6px;display:flex;flex-direction:column;gap:2px;z-index:20;min-width:200px}.nav-outils-menu button{text-align:left;white-space:nowrap}.nav-alerte{background:#fbe3e1!important;color:#b3473f!important;font-weight:700}.nav-alerte:hover{background:#f7d3d0!important}main{max-width:1100px;margin:0 auto;padding:24px 16px 64px}.barre{display:flex;align-items:center;gap:12px;margin:12px 0;flex-wrap:wrap}.barre h2,.barre h3{margin:0;color:var(--vert-fonce)}.barre button,.fiche button{border:1px solid #ddd5c8;background:#fff;border-radius:8px;padding:6px 12px;cursor:pointer}.barre button.actif{background:var(--vert);color:#fff;border-color:var(--vert)}button.action{background:var(--vert);color:#fff;border:none;border-radius:8px;padding:8px 14px;cursor:pointer}button.danger{background:#b3473f;color:#fff;border:none;border-radius:8px;padding:8px 14px;cursor:pointer}.indice{color:#8a8378;font-size:.9rem}.erreur{color:#b3473f}input,select{padding:8px 10px;border:1px solid #ddd5c8;border-radius:8px;font-size:.95rem}table{width:100%;border-collapse:collapse;background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 1px 6px #0000000d}th{text-align:left;background:#f1ece3;padding:9px 10px;font-size:.85rem}td{padding:8px 10px;border-top:1px solid #f3efe8}tbody tr:hover{background:#faf7f0;cursor:pointer}tr.ouverte{background:#eef3ed}tr.override td{background:#fdf6e3}td.cliquable{text-decoration:underline dotted}.cal-grille{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.cal-grille.entetes{color:var(--gris);font-size:.8rem;text-align:center;margin-bottom:4px}.cal-jour{background:#fff;border:1px solid #eee7db;border-radius:8px;min-height:76px;padding:4px;cursor:pointer;overflow:hidden}.cal-jour.sel{outline:2px solid var(--vert)}.cal-jour .num{font-weight:700;font-size:.85rem}.cal-vide{min-height:76px}.occ{display:block;color:#fff;font-size:.68rem;border-radius:4px;padding:1px 4px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.legende{font-size:.85rem;color:#8a8378}.legende i{display:inline-block;width:10px;height:10px;border-radius:3px;margin:0 3px}.cp-entete-fixe{position:sticky;top:52px;background:var(--creme);z-index:4;padding-top:4px}.cp-defilement{display:flex;flex-direction:column;gap:28px;margin-top:8px}.cp-mois{scroll-margin-top:90px}.cp-mois-titre{position:sticky;top:92px;z-index:3;background:var(--creme);margin:0 0 6px;padding:6px 4px;color:var(--vert-fonce);font-size:1.05rem;letter-spacing:.02em;border-bottom:2px solid #e5ddcf}.cp-mois-titre.cp-mois-courant{border-bottom-color:var(--vert)}.cp-badge-courant{font-size:.75rem;font-weight:400;color:var(--vert)}.cp-jour{cursor:pointer;min-height:78px;display:flex;flex-direction:column;gap:3px;padding:6px 4px}.cp-ligne1{display:flex;align-items:baseline;justify-content:space-between;gap:6px}.cp-ligne1 .num{font-weight:600;font-size:.78rem;color:#8a8378}.cp-prix{font-weight:800;font-size:1.15rem;color:var(--vert-fonce);line-height:1.1}.cp-override{font-size:.8rem}.cp-non-publie{font-size:1rem;color:var(--gris)}.cp-non-publie-texte{font-size:.62rem;color:#b0a99b;font-style:italic}.cp-disponible{font-size:.62rem;color:#5c7c5a}.cp-meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:auto}.cp-badge{font-size:.6rem;color:#8a8378;background:#f1ece3;border-radius:4px;padding:1px 4px}.cp-badge-arrivee{color:#b3473f;background:#fbe9e7}.cp-occ{font-size:.62rem}.cp-alerte{color:#b3473f;font-weight:600}.cp-resume-ligne{font-size:.78rem;color:#8a8378;margin:6px 0 0}@media (max-width: 640px){.cp-entete-fixe{top:0}.cp-mois-titre{top:40px}.cp-grille{grid-template-columns:1fr;gap:6px}.cp-grille .cal-vide{display:none}.cp-jour{flex-direction:row;align-items:center;gap:10px;min-height:unset}.cp-ligne1{gap:10px;flex:1;justify-content:flex-start}.cp-ligne1 .num{min-width:24px}.cp-prix{font-size:1.25rem}.cp-meta{margin-top:0}.cp-entetes{display:none}}.pg-entetes,.pg-ligne{display:grid;grid-template-columns:1.3fr 1.4fr 1fr 1fr 1fr 1fr 1fr .8fr;gap:4px;align-items:center;padding:6px 8px}.pg-entetes.cp-entete-fixe{top:92px;z-index:4;border-bottom:2px solid #e5ddcf}.pg-entetes{font-weight:700;font-size:.78rem;background:var(--creme)}.pg-ligne{border-bottom:1px solid #f1ece3;font-size:.85rem}.pg-ligne:nth-child(odd){background:#fbf9f5}.pg-col-date{font-weight:600}.pg-dow{font-weight:400;color:#8a8378;font-size:.75rem}.pg-cliquable{cursor:pointer;border-radius:6px;padding:3px 6px}.pg-cliquable:hover{background:#f1ece3}.pg-vide{color:#b0a99b;font-style:normal;font-size:.75rem}.pg-non-calcule{color:#b3473f;font-style:italic;font-size:.72rem}.pg-override-badge{font-size:.7rem}.pg-info{font-size:.72rem;color:#8a8378;cursor:pointer}.pg-info:hover{color:var(--vert-fonce)}.pg-statut{font-size:.72rem;border-radius:6px;padding:2px 6px}.pg-dispo{color:#5c7c5a}.pg-reserve{background:#fde9e8;color:#b3473f}.pg-hold{background:#fbf1d6;color:#8a6d1a}.pg-bloque{background:#ececec;color:#555}.pg-mois-titre-decale{top:126px!important;z-index:3}@media (max-width: 900px){.pg-entetes,.pg-ligne{grid-template-columns:1fr 1fr 1fr 1fr;font-size:.72rem}.pg-entetes>div:nth-child(n+6),.pg-ligne>div:nth-child(n+6){display:none}}@media (max-width: 640px){.pg-entetes.cp-entete-fixe{top:40px}.pg-mois-titre-decale{top:72px!important}}.fiche{background:#fff;border-radius:12px;padding:20px;margin-top:16px;box-shadow:0 2px 10px #0000000f}.fiche h3{margin-top:0;color:var(--vert-fonce)}.fiche h4{margin:14px 0 6px;color:var(--vert)}.fiche .ligne{display:flex;gap:10px;align-items:center;margin:4px 0;flex-wrap:wrap}.alerte{background:#fff3e0;border:1px solid #e8c894;border-radius:8px;padding:10px 14px;margin:8px 0}.dlg-fond{position:fixed;top:0;right:0;bottom:0;left:0;background:#2d2a2673;display:flex;align-items:center;justify-content:center;z-index:100;padding:20px}.dlg-boite{background:#fff;border-radius:14px;padding:22px;width:100%;max-width:420px;box-shadow:0 8px 40px #00000040}.dlg-message{margin:0 0 12px;white-space:pre-wrap}.dlg-boite input{width:100%;padding:12px;border:1px solid #ddd5c8;border-radius:8px;font-size:1rem;margin-bottom:12px}.dlg-boutons{display:flex;gap:10px;justify-content:flex-end}.dlg-boutons .ok{background:var(--vert);color:#fff;border:none;border-radius:8px;padding:10px 18px;cursor:pointer}.dlg-boutons .sec{background:#fff;border:1px solid #ccc;border-radius:8px;padding:10px 18px;cursor:pointer}.publication-channels{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin:18px 0}.publication-channel{padding:14px;background:#fff;border:1px solid #e5ded2;border-radius:10px}.publication-channel p{margin:8px 0}.publication-channel a{color:#315743}.publication-table{overflow-x:auto}.publication-table td{vertical-align:top}
