:root{--bg-page: #F6F1E8;--bg-surface: #FFFFFF;--bg-subtle: #E9E4DA;--bg-nav: #1C2629;--bg-nav-active: #2E3B3E;--text: #1C2629;--text-2: #5A6568;--text-on-nav: #E9E4DA;--text-on-nav-2: #9FAAA8;--border: #EEE8DD;--border-control: #D5CDBE;--border-button: #C9C0B0;--action: #0E5C61;--action-hover: #0A4549;--ok: #0E5C61;--ok-bg: #E3EFEE;--warn: #6B4A12;--warn-bg: #F2DDB0;--ko: #A8432E;--ko-bg: #F6E3DE;--neutral: #33403F;--neutral-bg: #E9E4DA;--data-bnb: #00909A;--data-location: #C27A12;--data-target: #B4ACA0;--font-display: Fraunces, Georgia, serif;--font-ui: "Instrument Sans", system-ui, sans-serif;--radius-control: 10px;--radius-card: 16px;--radius-pill: 999px}*{box-sizing:border-box}body{margin:0;background:var(--bg-page);color:var(--text);font:400 14px/1.45 var(--font-ui)}a{color:var(--action)}a:hover{color:var(--action-hover)}:focus-visible{outline:2px solid var(--action);outline-offset:2px}@media (prefers-reduced-motion: reduce){*{transition:none!important;animation:none!important}}.admin{display:grid;grid-template-columns:240px 1fr;min-height:100vh}.admin>nav{background:var(--bg-nav);color:var(--text-on-nav);padding:28px 16px;display:flex;flex-direction:column;gap:4px}.admin>nav .marque{font:600 20px var(--font-display);letter-spacing:4px;padding:0 12px}.admin>nav .sous-titre{color:var(--text-on-nav-2);font-size:13px;padding:0 12px 20px}.admin>nav a{color:var(--text-on-nav);text-decoration:none;padding:9px 12px;border-radius:var(--radius-control)}.admin>nav a[aria-current=page]{background:var(--bg-nav-active);font-weight:600}.admin>main{padding:28px 40px;min-width:0}@media (max-width: 900px){.admin{grid-template-columns:1fr}.admin>main{padding:20px 16px}}h1{font:400 34px/1.2 var(--font-display);margin:0 0 20px}h2{font:600 16px var(--font-ui);margin:24px 0 12px}h3{font:600 14px var(--font-ui)}main section,main form,main fieldset,main table{background:var(--bg-surface);border-radius:var(--radius-card)}main section,main form{padding:20px 22px;margin:0 0 16px}main section form,main form fieldset{padding:12px 0;margin:0;border-radius:0}fieldset{border:0;border-top:1px solid var(--border)}legend{font-weight:600;padding:0}table{width:100%;border-collapse:collapse;margin:0 0 16px;overflow:hidden}th,td{padding:10px 12px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}thead th{font-size:12px;font-weight:600;color:var(--text-2);text-transform:uppercase;letter-spacing:.4px}td.montant,th.montant{text-align:right;font-variant-numeric:tabular-nums}label{display:inline-flex;flex-direction:column;gap:4px;font-size:13px;margin:0 16px 12px 0;vertical-align:top}label:has(>input[type=checkbox]){flex-direction:row;align-items:center}input,select,textarea{font:inherit;min-height:42px;padding:8px 12px;border:1px solid var(--border-control);border-radius:var(--radius-control);background:var(--bg-surface);color:var(--text)}input[type=checkbox]{min-height:0;width:22px;height:22px;accent-color:var(--action)}select[multiple]{min-height:120px}button{font:inherit;min-height:44px;padding:0 16px;border-radius:var(--radius-control);cursor:pointer;background:var(--bg-surface);color:var(--text);border:1px solid var(--border-button);margin:0 8px 8px 0}button[type=submit]{background:var(--action);border-color:var(--action);color:#fff;font-weight:600}button[type=submit]:hover{background:var(--action-hover)}button:disabled{opacity:.5;cursor:not-allowed}td button{min-height:36px}[role=alert]{color:var(--ko);background:var(--ko-bg);padding:10px 14px;border-radius:var(--radius-control)}[role=status]{background:var(--ok-bg);padding:10px 14px;border-radius:var(--radius-control)}.badge{display:inline-block;padding:2px 10px;border-radius:var(--radius-pill);font-size:12px;font-weight:600}.badge.ok{color:var(--ok);background:var(--ok-bg)}.badge.warn{color:var(--warn);background:var(--warn-bg)}.badge.ko{color:var(--ko);background:var(--ko-bg)}.badge.neutral{color:var(--neutral);background:var(--neutral-bg)}.employe{max-width:430px;margin:0 auto;min-height:100vh;padding-bottom:72px}.employe>header{background:var(--bg-nav);color:var(--text-on-nav);padding:20px;display:flex;justify-content:space-between;align-items:baseline}.employe>header .marque{font:600 18px var(--font-display);letter-spacing:4px}.employe>header span:last-child{color:var(--text-on-nav-2);font-size:13px}.employe>main{padding:16px 14px}.employe>nav{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:430px;display:grid;grid-template-columns:repeat(4,1fr);background:var(--bg-surface);border-top:1px solid var(--border)}.employe>nav a{padding:14px 4px;text-align:center;font-size:13px;color:var(--text-2);text-decoration:none}.employe>nav a[aria-current=page]{color:var(--action);font-weight:600}.connexion{max-width:420px;margin:12vh auto;padding:0 16px}.connexion label{display:flex;margin-right:0}.connexion button{width:100%;margin-right:0}main header p{color:var(--text-2);font-size:13px;margin:0 0 4px}main header a{display:inline-block;margin:0 16px 16px 0}.employe label{display:flex;margin-right:0}.employe label:has(>input[type=checkbox]){flex-direction:row-reverse;justify-content:flex-end;gap:10px}.employe input,.employe select,.employe textarea{width:100%}.employe input[type=checkbox]{width:22px}.employe button[type=submit]{width:100%;min-height:52px;font-size:16px;margin:8px 0}.employe main table{display:block;overflow-x:auto}.employe h1{font-size:28px}.cartes{display:flex;flex-direction:column;gap:10px}.cartes a{background:var(--bg-surface);border-radius:var(--radius-card);padding:18px 20px;font-weight:600;color:var(--text);text-decoration:none;display:flex;justify-content:space-between}.cartes a:after{content:"›";color:var(--action)}.calendrier{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;text-align:center}.calendrier>span{font-size:12px;color:var(--text-2)}.calendrier button{min-height:48px;margin:0;padding:4px 0;display:flex;flex-direction:column;align-items:center;justify-content:center;border:2px solid transparent;background:var(--bg-subtle);color:var(--text-2)}.calendrier button small{font-size:10px}.calendrier [data-statut=travaille]{background:var(--ok-bg);color:var(--ok)}.calendrier [data-statut=conge],.calendrier [data-statut=absent]{background:var(--neutral-bg);color:var(--neutral)}.calendrier [data-statut=ferie]{background:var(--warn-bg);color:var(--warn)}.calendrier [data-statut=vide]{background:var(--bg-surface);border-color:var(--border-control);color:var(--text)}.calendrier [aria-pressed=true]{border-color:var(--action)}.employe>header{position:sticky;top:0;z-index:10;height:56px;padding:0 20px;align-items:center}.admin>.barre{display:none}@media (max-width: 900px){.admin>.barre{display:flex;position:sticky;top:0;z-index:10;height:56px;padding:0 16px;align-items:center;justify-content:space-between;background:var(--bg-nav);color:var(--text-on-nav)}.admin>.barre .marque{font:600 18px var(--font-display);letter-spacing:4px}.admin>.barre button{margin:0;min-height:44px;min-width:44px;padding:0;font-size:20px;background:transparent;color:var(--text-on-nav);border-color:var(--text-on-nav-2)}.admin>nav{display:none;position:fixed;top:56px;left:0;right:0;bottom:0;z-index:10;overflow-y:auto;padding:12px 16px}.admin>nav[data-ouvert=true]{display:flex}.admin>nav .marque,.admin>nav .sous-titre{display:none}.admin>nav a{margin-top:0!important}}@media (max-width: 900px){main label{display:flex;margin-right:0}main label:has(>input[type=checkbox]){flex-direction:row-reverse;justify-content:flex-end;gap:10px}main input:not([type=checkbox]),main select,main textarea{width:100%}main table{display:block;overflow-x:auto}main section,main form{padding:16px}h1{font-size:28px}}.calendrier [data-statut=ferie][data-travaille=true]{background:var(--ok-bg);color:var(--ok)}
