@import url('/admin.css');
:root{--ink:#18241f;--green:#254e3c;--paper:#f3f5f0;--line:#dfe5dc}body{margin:0;background:var(--paper);color:var(--ink);font:15px -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}*{box-sizing:border-box}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid #cbd6c9;border-radius:8px;padding:10px 15px;background:#fff;color:var(--ink)}button.primary,.primary{background:var(--green);color:#fff;border-color:var(--green)}button:disabled{opacity:.5;cursor:wait}input,select,textarea{width:100%;padding:11px;border:1px solid #cbd6c9;border-radius:7px;background:#fff;color:var(--ink)}textarea{min-height:80px}label{display:block;font-size:13px;font-weight:600;margin:15px 0 7px}label input,label select,label textarea{display:block;margin-top:7px}h1{font-size:32px;letter-spacing:-1px;margin:6px 0 12px}h2{font-size:21px;margin:0 0 14px}h3{font-size:16px}.muted{color:#69766b}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:2px;color:#6c8270;font-weight:700}.auth-layout{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.auth-brand{background:#101610;color:#fff;padding:9vw 7vw;display:flex;flex-direction:column;justify-content:center}.auth-brand img{width:150px;border-radius:22px;animation:brand-turn 14s linear infinite}.auth-brand h1{font-size:55px;margin-top:35px}.auth-brand p{color:#aab8a9;line-height:1.8;max-width:370px}.auth-panel{display:flex;align-items:center;justify-content:center;padding:35px}.auth-card{max-width:430px;width:100%}.auth-card button.primary{width:100%;margin-top:18px}.auth-tabs{display:flex;gap:8px;margin:24px 0}.auth-tabs .active{background:#dce7d8;border-color:#8ba287}.error{color:#a33427;min-height:22px;font-size:13px;margin:12px 0}.success{color:#255c3e}.employee-top{padding:20px 4vw;background:#111a13;color:#fff;display:flex;justify-content:space-between;align-items:center;gap:15px}.employee-brand{display:flex;align-items:center;gap:16px}.employee-brand img{width:60px;height:60px;border-radius:12px}.employee-brand b{font-size:22px}.employee-brand small{display:block;color:#aebba9;margin-top:5px}.employee-actions{display:flex;gap:8px}.employee-top button{background:#253326;color:#fff;border-color:#445142}.employee-main{max-width:1500px;margin:auto;padding:30px 4vw}.employee-tabs{display:flex;gap:10px;margin-bottom:30px;flex-wrap:wrap}.employee-tabs .active{background:#254e3c;color:#fff}.employee-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.employee-heading p{color:#69766b}.week-controls{display:flex;align-items:center;gap:8px}.week-controls input{max-width:160px}.week-cards{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.day-card,.request-card{border:1px solid var(--line);background:white;border-radius:13px;padding:20px;min-width:0}.day-card h2{font-size:16px;padding-bottom:15px;border-bottom:1px solid var(--line)}.work-slot{border-left:3px solid #4e8262;background:#f2f6ef;padding:12px;margin:12px 0;font-size:13px;line-height:1.6}.work-slot strong{display:block;font-size:14px}.absent-slot{border-left-color:#bc8846;background:#faf4e9}.small-text{font-size:12px;color:#69766b}.team-grid{overflow:auto;border:1px solid var(--line);border-radius:12px;background:white}.team-grid table{border-collapse:collapse;width:100%;min-width:850px}.team-grid th,.team-grid td{padding:16px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);vertical-align:top;text-align:left;min-width:150px}.team-grid th{background:#edf2e9;font-size:13px}.team-grid tr> :first-child{position:sticky;left:0;background:#f7f9f4;z-index:1;min-width:170px}.request-layout{display:grid;grid-template-columns:1fr 1fr;gap:24px}.request-list{margin-top:30px}.request-row{display:flex;justify-content:space-between;gap:15px;padding:15px 0;border-bottom:1px solid var(--line);align-items:center}.pill{border-radius:30px;padding:5px 10px;font-size:12px;background:#edf1e8;display:inline-block}.pill.pending{background:#fff0d4;color:#93621c}.pill.approved{background:#dfeedd;color:#32603d}.pill.refused{background:#f6e1dd;color:#a4412e}.notice-card{padding:15px 20px;background:#e7eee1;border-radius:10px;font-size:13px;line-height:1.6;margin:20px 0}.account-dialog{border:1px solid #cad6c5;border-radius:14px;width:min(520px,94vw);padding:28px}.account-dialog::backdrop{background:#15201788}.account-dialog button{margin-top:10px}.loading{padding:40px}.empty{color:#74816f;font-size:13px;padding:20px 0}.access-link{margin:20px 0;padding:16px;background:#edf4e6;border-radius:10px;overflow-wrap:anywhere}.access-link input{margin-top:10px}.access-table{width:100%;border-collapse:collapse}.access-table td,.access-table th{padding:13px;text-align:left;border-bottom:1px solid var(--line)}@keyframes brand-turn{0%,80%{transform:rotateY(0)}100%{transform:rotateY(360deg)}}@media(prefers-reduced-motion:reduce){.auth-brand img{animation:none}}@media(max-width:1000px){.week-cards{grid-template-columns:repeat(2,1fr)}.auth-brand h1{font-size:38px}.request-layout{grid-template-columns:1fr}}@media(max-width:650px){.auth-layout{display:block}.auth-brand{padding:28px}.auth-brand img{width:65px}.auth-brand h1{font-size:30px;margin:15px 0 0}.auth-brand p{display:none}.auth-panel{padding:28px}.employee-top{align-items:flex-start;flex-direction:column}.employee-heading{align-items:flex-start;flex-direction:column}.employee-brand b{font-size:20px}.employee-main{padding:24px 16px}.week-cards{grid-template-columns:1fr}.employee-actions{width:100%}h1{font-size:28px}}

.period-controls{display:flex;flex-direction:column;gap:12px;align-items:flex-end}.employee-modes{display:flex;gap:5px}.employee-modes .active{background:#254e3c;color:#fff}.month-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.month-weekday{padding:10px 4px;font-size:12px;font-weight:700;color:#62765c;text-align:center}.month-calendar .day-card{padding:10px;min-height:140px;border-radius:8px}.month-calendar .day-card h2{font-size:13px;margin-bottom:8px;padding-bottom:8px}.month-calendar .work-slot{padding:7px;font-size:11px;overflow-wrap:anywhere}.month-calendar .work-slot strong{font-size:12px}.month-calendar .empty{font-size:11px}.month-weekend{background:#e9ede5!important}.team-month td,.team-month th{min-width:105px;padding:10px}.team-month .work-slot{padding:7px;font-size:12px}.team-month .work-slot strong{font-size:12px}.team-month tr>:first-child{min-width:160px}.month-empty{background:#eef1e9;border-radius:8px}@media(max-width:850px){.month-calendar{min-width:850px}.employee-main:has(.month-calendar){overflow-x:auto}.period-controls{align-items:flex-start}.team-month td,.team-month th{min-width:115px}}

.normal-hours-list{display:grid;gap:16px}.normal-hours-form{display:grid;grid-template-columns:minmax(240px,1fr) 200px auto;align-items:center;gap:18px}.normal-hours-form h2{font-size:17px}.normal-hours-form label{margin:0}.normal-hours-form .error{grid-column:2}.normal-hours-form button{grid-column:3;grid-row:1}.normal-hours-form .error:empty{display:none}@media(max-width:800px){.normal-hours-form{display:block}.normal-hours-form button{margin-top:15px}}

.work-slot.employee-assignment{background:rgba(var(--employee-rgb),.30);border-left-color:rgba(var(--employee-rgb),.55);color:#23312e}.employee-assignment .small-text{color:#35443d}.employee-dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--employee-color);margin-right:7px;border:1px solid #ffffff88}

.invitation-summary,.welcome-card{padding:20px;background:#edf2e8;border:1px solid #dce5d5;border-radius:14px;margin:18px 0}.invitation-summary p{font-size:14px;line-height:1.5}.welcome-actions{display:flex;gap:10px;flex-wrap:wrap}.welcome-card h2{margin-top:4px}

/* Logo original Planékip, sans déformation ni rotation du mot-symbole. */
.auth-brand{background:#101722}.auth-brand img{width:min(100%,430px);height:auto;max-height:145px;object-fit:contain;border-radius:0;animation:none}.employee-brand img{width:210px;height:70px;object-fit:contain;border-radius:0}.employee-brand b{display:none}.employee-top{background:#101722}.employee-brand small{color:#b9c7d6}.recovery-brand{background:#101722;padding:10px 18px;border-radius:10px;margin-bottom:20px}.recovery-brand img{display:block;width:210px;height:70px;object-fit:contain}@media(max-width:700px){.employee-brand img{width:170px;height:57px}.auth-brand img{max-width:350px}}
