:root{font-family:Arial,Helvetica,sans-serif;color:#101b35;background:#f7fafc;font-synthesis:none;--navy:#153550;--blue:#1267d7;--muted:#68768a;--border:#dce4eb;--surface:#fff;--focus:#e1a400}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.6}a{color:var(--blue);text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--focus);outline-offset:3px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(1.8rem,3.4vw,2.7rem);line-height:1.15;letter-spacing:-1px;margin-bottom:10px}h2{font-size:1.2rem;line-height:1.3}p{line-height:1.55}.icon{width:24px;height:24px;flex-shrink:0;vertical-align:middle}.skip-link{position:fixed;top:-100px;left:12px;background:white;padding:12px;z-index:10}.skip-link:focus{top:10px}.topbar{background:var(--navy);color:#fff;min-height:88px;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px clamp(20px,3vw,44px)}.brand{color:#fff;display:flex;flex-direction:column;line-height:1;flex-shrink:0}.brand strong{font-size:30px;letter-spacing:-.5px}.brand span{font-size:12px;letter-spacing:5px;padding-top:6px}.account-link{color:#fff;display:flex;align-items:center;gap:12px;min-height:44px;border-radius:8px}.avatar{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:#d5e7ff;color:#1045a1;font-size:18px;font-weight:700}.profile-livreur .avatar,.profile-caissier .avatar,.profile-mixte .avatar{background:#d9c6ff;color:#5129a5}.profile-magasin .avatar{background:#c5f6d4;color:#16723e}.account-label{max-width:270px;font-size:16px}.clock{border-left:1px solid #ffffff30;padding-left:24px;margin-left:12px;color:#e8eff7;text-align:center;font-size:12px}.clock strong{display:block;font-size:24px;letter-spacing:1px;margin-top:4px}.previewbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px clamp(16px,3vw,44px);background:#eaf2fa;border-bottom:1px solid #d7e5f2;color:#365c79;font-size:12px}.test-label{display:flex;align-items:center;gap:8px}.test-label b{background:#d2e5f8;border-radius:5px;padding:4px 6px;letter-spacing:1px;font-size:10px}.preview-picker{display:flex;align-items:center;gap:8px;flex-shrink:0}.preview-picker select{background:#fff;border:1px solid #c8d8e6;color:#22445f;border-radius:6px;padding:7px 8px;min-height:38px;font-size:12px;max-width:240px}.workspace{min-height:calc(100vh - 140px)}.sidebar{display:none;background:#f1f6fa;border-right:1px solid #e4ebf1;padding:22px 14px;min-width:0}.side-link{display:flex;align-items:center;gap:13px;min-height:52px;padding:12px 15px;color:#5d6c7e;margin-bottom:7px;border-radius:9px;font-size:15px}.side-link.active{background:#dfeeff;color:#0964c9;font-weight:bold}.side-link:last-child{margin-top:24px}.main{padding:clamp(22px,3vw,44px);min-width:0;max-width:1500px;margin:0 auto;width:100%}.pagehead{margin-bottom:30px}.pagehead p{color:var(--muted);font-size:clamp(1rem,2.4vw,1.55rem);margin:0}.back-link{display:inline-flex;gap:7px;align-items:center;min-height:44px;margin:-6px 0 12px;font-size:14px}.back-link .icon{width:18px}.dashboard{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.module-tile{position:relative;min-height:210px;padding:32px 25px;color:white;border-radius:21px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:transform .15s,filter .15s}.module-tile:hover{transform:translateY(-3px);filter:brightness(1.04)}.module-tile .tile-icon{width:66px;height:66px;margin-bottom:22px;stroke-width:1.8}.module-tile h2{font-size:clamp(1.05rem,2.1vw,1.65rem);margin:0 12px 9px;line-height:1.22}.module-tile p{margin:0;max-width:260px;font-size:clamp(.85rem,1.65vw,1.1rem);line-height:1.5;color:#fff}.module-tile .tile-arrow{position:absolute;right:14px;top:calc(50% - 12px)}.module-tile.blue{background:linear-gradient(125deg,#1673df,#1164d1)}.module-tile.green{background:linear-gradient(125deg,#248653,#1e7a4a)}.module-tile.orange{background:linear-gradient(125deg,#c95b05,#bd5100)}.module-tile.purple{background:linear-gradient(125deg,#8053cf,#7044c1)}.module-tile.red{background:linear-gradient(125deg,#d23851,#c52944)}.module-tile.slate{background:linear-gradient(125deg,#718698,#596f83)}.dashboard.magasin .module-tile:last-child{grid-column:1/-1;min-height:180px}.module-footer{color:var(--muted);font-size:12px;margin:20px 0 0;line-height:1.5}.orientation-hint{display:none;padding:12px 16px;border:1px solid #d9e8f5;background:#eef6fd;border-radius:9px;color:#385b79;font-size:13px;margin-bottom:20px}.panel{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:24px;margin-bottom:20px}.panel h2{margin-bottom:18px}.panel p:last-child{margin-bottom:0}.muted{color:var(--muted)}.status-badge{display:inline-flex;align-items:center;gap:6px;border-radius:6px;padding:6px 9px;background:#eaf2fa;color:#34617e;font-size:12px;font-weight:700}.status-badge.active{background:#e2f6e9;color:#1a7141}.status-badge.inactive{background:#eef0f3;color:#657080}.stage-panel{padding:32px;max-width:800px}.stage-panel>.icon{width:44px;height:44px;color:#577c9c;margin-bottom:20px}.stage-panel h2{font-size:1.5rem;margin-top:18px;margin-bottom:12px}.button{border:1px solid var(--border);background:#fff;display:inline-flex;gap:8px;align-items:center;justify-content:center;padding:12px 17px;min-height:46px;border-radius:9px;font-weight:600;font-size:14px;color:#46546a}.button.primary{color:#fff;background:var(--blue);border-color:var(--blue)}.button.danger{color:#bb263f;border-color:#efc6cd;background:#fff8f9}.button.small{padding:8px 11px;min-height:44px}.button .icon{width:20px;height:20px}.toolbar{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-bottom:22px}.toolbar .pagehead{margin:0}.button-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.searchbox{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--border);border-radius:10px;padding:3px 14px;max-width:700px;margin-bottom:22px;color:var(--muted)}.searchbox input{width:100%;min-height:45px;border:0;outline-offset:0;color:#14243b;background:transparent;font-size:14px}.table-wrap{overflow:auto;border:1px solid var(--border);border-radius:12px;background:#fff}.staff-table{width:100%;border-collapse:collapse;text-align:left;font-size:14px}.staff-table th{background:#f3f7fa;font-weight:700;color:#17253e}.staff-table td,.staff-table th{padding:16px;border-bottom:1px solid #e7edf2;vertical-align:middle}.staff-table tr:last-child td{border-bottom:0}.staff-table tr:nth-child(even){background:#fafcfd}.staff-table .email{color:#6e7a8b;font-size:13px}.tags{display:flex;gap:6px;flex-wrap:wrap}.tag{display:inline-flex;font-size:12px;font-weight:600;padding:7px 10px;border-radius:7px;white-space:nowrap;background:#e8eff7;color:#37516c}.tag.magasin{background:#e2efff;color:#1556a3}.tag.livreur{background:#fff0df;color:#9a4700}.tag.caissier{background:#e0f5e9;color:#146638}.tag.admin{background:#ede5fc;color:#6541a6}.empty{text-align:center;padding:35px;color:var(--muted)}.personnel-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:20px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 16px}.field{display:flex;flex-direction:column;gap:8px;font-size:14px;color:#263851}.field.wide{grid-column:1/-1}.field input,.field select,.field textarea{border:1px solid #cfd9e3;border-radius:8px;padding:12px;background:#fff;color:#1c2d45;min-height:46px;width:100%;max-width:100%}.field textarea{resize:vertical;min-height:100px}.role-choice{display:flex;align-items:center;gap:13px;border-radius:9px;margin-bottom:10px;padding:15px 12px;background:#f4f7fa;cursor:pointer;border:1px solid transparent}.role-choice:has(input:checked){border-color:#a0bddd;background:#edf5ff}.role-choice input{width:22px;height:22px;accent-color:var(--blue);flex-shrink:0}.role-choice .icon{width:28px;height:28px;color:#547698}.role-choice strong{display:block;font-size:14px;margin-bottom:5px}.role-choice small{font-size:12px;color:var(--muted);line-height:1.4;display:block}.role-preview{padding-top:15px;border-top:1px solid #e5ebf0;margin-top:18px}.role-preview h3{font-size:14px;margin:0 0 12px}.form-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:3px}.notice{color:#546d85;background:#eef5fb;padding:12px 15px;border-radius:9px;font-size:13px;line-height:1.5;margin-bottom:20px}.form-error{color:#a41f37;background:#fff0f2;padding:14px;border:1px solid #f1c4cd;border-radius:9px;margin-bottom:18px;font-size:14px}.account-summary{max-width:700px}.definition-list{display:grid;grid-template-columns:150px 1fr;gap:15px;font-size:14px;line-height:1.5}.definition-list dt{color:var(--muted)}.definition-list dd{margin:0;overflow-wrap:anywhere}.audit-list{list-style:none;padding:0;margin:0}.audit-list li{padding:18px 0;border-bottom:1px solid var(--border)}.audit-list li:last-child{border:0}.audit-list time{font-size:12px;color:var(--muted);display:block;margin-bottom:7px}.audit-list strong{font-size:14px}.audit-list p{font-size:13px;color:var(--muted);margin:7px 0 0}.calendar-week{background:#fff;border:1px solid var(--border);border-radius:12px;overflow:hidden;margin-bottom:18px}.calendar-week h2{font-size:14px;margin:0;padding:13px 15px;background:#eef3f8;color:#3b5671}.calendar-scroll{overflow:auto}.calendar{width:100%;border-collapse:collapse;table-layout:fixed;min-width:330px;font-size:12px}.calendar th,.calendar td{border:1px solid #e2e9ef;text-align:center;padding:8px 3px}.calendar th{background:#f8fafc;color:#65758a;font-size:11px;font-weight:600}.calendar th:first-child{width:100px}.calendar tbody th{color:#263d57;font-size:12px}.calendar .outside{background:#eef2f6}.calendar .weekday{display:block;font-size:10px;margin-bottom:4px}.cell-name{display:block;font-size:8px;color:#657080;margin-bottom:6px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.shift{display:inline-block;border-radius:5px;padding:4px 2px;font-size:10px;font-weight:700;max-width:100%;line-height:1.25}.shift.magasin{background:#e1f3e6;color:#21713d}.shift.livraison{background:#fff0d9;color:#975000}.shift.suppl{background:#f1e3f8;color:#7a3799}.shift.conge{background:#faf0d7;color:#805d15}.shift.midi{background:#e1efff;color:#235da2}.shift.vac,.shift.reduit{background:#e9edf1;color:#596572}.calendar tbody tr:nth-child(even) td{background:#fafcfd}.legend{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px;font-size:12px}.legend span{display:flex;gap:5px;align-items:center}.month-picker{display:flex;align-items:center;gap:12px}.month-picker strong{min-width:130px;text-align:center;text-transform:capitalize;font-size:15px}.toast{position:fixed;z-index:20;bottom:24px;left:50%;transform:translateX(-50%);background:#18384e;color:#fff;padding:14px 20px;border-radius:10px;box-shadow:0 6px 30px #0c294833;font-size:14px;max-width:min(560px,calc(100vw - 32px));line-height:1.5}.toast[hidden]{display:none}.loading{max-width:600px;margin:15vh auto;padding:32px}.fatal{color:#9a213a;background:#fff0f3}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.role-fieldset{border:0;padding:0;margin:0;min-width:0}
@media(min-width:1100px){.workspace{display:grid;grid-template-columns:230px minmax(0,1fr)}.sidebar{display:block}.dashboard{max-width:1000px}.module-tile{min-height:225px}.dashboard.caissier{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard.caissier .module-tile{min-height:310px;padding:30px 20px}.dashboard.caissier .module-tile h2{font-size:22px;margin:0 0 18px}.dashboard.caissier .module-tile .tile-arrow{top:auto;bottom:20px;right:20px}.dashboard.caissier .module-tile p{font-size:16px}.clock{display:block}}
@media(min-width:700px) and (max-width:1099px) and (orientation:landscape){.cashier .workspace{display:grid;grid-template-columns:175px minmax(0,1fr)}.cashier .sidebar{display:block;padding:18px 8px}.cashier .side-link{font-size:12px;padding:10px;gap:9px}.cashier .dashboard{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.cashier .module-tile{min-height:235px;padding:22px 14px}.cashier .module-tile .tile-icon{width:50px;height:50px;margin-bottom:20px}.cashier .module-tile h2{font-size:18px;margin:0 0 12px}.cashier .module-tile p{font-size:13px}.cashier .module-tile .tile-arrow{top:auto;bottom:12px;right:12px;width:18px}.cashier .main{padding:24px}.cashier .pagehead{margin-bottom:24px}.clock{display:none}}
@media(max-width:699px){.topbar{padding:14px 18px;min-height:78px}.brand strong{font-size:25px}.brand span{font-size:10px;letter-spacing:4px}.avatar{width:40px;height:40px;font-size:15px}.account-label{display:none}.account-link{gap:8px}.account-link>.icon{width:19px}.clock{display:none}.previewbar{padding:9px 16px;font-size:11px;gap:8px}.test-label{gap:6px}.test-label .long-label{display:none}.preview-picker label{position:absolute;clip:rect(0,0,0,0);width:1px;height:1px;overflow:hidden}.preview-picker select{max-width:176px;min-height:36px;font-size:11px;padding:6px}.main{padding:25px 16px 32px}.pagehead{margin-bottom:22px}.pagehead h1{font-size:29px;letter-spacing:-.6px}.pagehead p{font-size:17px}.dashboard{gap:11px}.module-tile{min-height:180px;border-radius:17px;padding:22px 12px}.module-tile .tile-icon{width:47px;height:47px;margin-bottom:17px}.module-tile h2{font-size:17px;margin:0 1px 9px;letter-spacing:-.25px}.module-tile p{font-size:12px;line-height:1.5;max-width:145px}.module-tile .tile-arrow{width:17px;height:17px;right:8px;top:calc(50% - 9px)}.module-tile h2{max-width:94%}.dashboard.magasin .module-tile:last-child{min-height:165px}.module-footer{font-size:11px}.panel{padding:20px 17px;border-radius:12px}.stage-panel{padding:25px 22px}.stage-panel h2{font-size:22px}.personnel-grid{grid-template-columns:1fr;gap:0}.form-grid{gap:17px 12px}.field{font-size:13px}.field input,.field select,.field textarea{padding:11px 9px;font-size:14px}.role-choice{padding:13px 10px}.form-footer{flex-direction:column-reverse;align-items:stretch}.form-footer>.button-row{justify-content:stretch}.form-footer>.button-row>.button{flex:1}.toolbar{gap:18px}.toolbar>.button{width:100%}.staff-table thead{display:none}.staff-table,.staff-table tbody,.staff-table tr,.staff-table td{display:block;width:100%}.staff-table tr{padding:15px}.staff-table td{border:0;padding:5px 0}.staff-table td[data-label="Nom"]{font-size:16px;font-weight:700}.staff-table .staff-actions{padding-top:12px;display:flex;justify-content:space-between;align-items:center}.staff-table td[data-label="Accès autorisés"]{padding:8px 0}.staff-table tr{border-bottom:1px solid var(--border)}.staff-table tr:last-child{border:0}.definition-list{grid-template-columns:1fr;gap:5px}.definition-list dd{margin-bottom:15px}.calendar th:first-child{width:72px}.calendar th,.calendar td{padding:8px 1px}.calendar tbody th{font-size:10px;overflow-wrap:anywhere}.calendar .shift{font-size:9px;padding:4px 1px}.cell-name{font-size:7px}.month-picker{justify-content:space-between;width:100%}.month-picker strong{min-width:130px}.calendar-toolbar{justify-content:stretch}.calendar-toolbar>.button-row{width:100%}.calendar-toolbar>.button-row .button{flex:1;font-size:12px;padding:9px}.cashier .orientation-hint{display:block}.legend{gap:8px;font-size:10px}}
@media(orientation:portrait){.cashier .orientation-hint{display:block}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@media print{.topbar,.previewbar,.sidebar,.back-link,.button,.toast,.module-footer{display:none}.workspace{display:block}.main{padding:0}.calendar-week{break-inside:avoid}.panel{border:0}}

/* Auth and account approval reuse the approved dashboard design. */
.auth-main{padding:40px 18px 60px;min-height:calc(100vh - 130px);display:grid;place-items:start center}.auth-card{background:#fff;border:1px solid var(--border);border-radius:20px;padding:36px;width:min(100%,470px);box-shadow:0 12px 40px #1535500a}.auth-card .pagehead h1{font-size:32px}.auth-card .pagehead p{font-size:16px;line-height:1.5}.auth-form{display:flex;flex-direction:column;gap:18px}.auth-form .button{width:100%}.auth-help{font-size:12px;line-height:1.5;margin-bottom:0}.google-button{width:100%;margin-top:16px}.auth-links{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;margin-top:20px}.text-button{border:0;background:transparent;color:var(--blue);font-weight:600;font-size:13px;min-height:38px;padding:6px 3px;text-align:left}.auth-footer{text-align:center;color:var(--muted);font-size:12px;margin:28px 0 0}.auth-back{margin-top:20px}.auth-header-label{font-size:14px;color:#d8e8f5}.audit-reason{max-width:720px;margin-bottom:22px}.audit-json{white-space:pre-wrap;overflow-wrap:anywhere;background:#f4f7fa;padding:16px;border-radius:8px;font-size:12px;max-height:380px;overflow:auto}.auth-card .form-error[hidden]{display:none}details summary{cursor:pointer;color:var(--blue);font-size:13px;padding:8px 0}@media(max-width:699px){.auth-main{padding:25px 16px 40px}.auth-card{padding:27px 22px}.previewbar{align-items:center}.previewbar>.text-button{font-size:11px;max-width:125px;text-align:right}.auth-card .pagehead h1{font-size:29px}}
/* Planning: compact weekly overview and vertical day editors on phones. */
.planning-toolbar h1{margin-bottom:18px}.week-nav{display:flex;align-items:center;gap:10px;justify-content:space-between;max-width:520px;margin-bottom:18px}.week-nav b{font-size:16px;text-align:center}.planning-controls,.planning-publication{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:16px 0}.planning-publication{justify-content:space-between}.planning-publication p{font-size:13px;color:var(--muted);margin:0}.planning-save-state{color:#19683e;font-size:13px;padding:10px 0}.planning-legend{display:flex;gap:8px 16px;flex-wrap:wrap;font-size:11px;color:var(--muted);margin:20px 0}.planning-person{padding:0;overflow:hidden}.planning-person>summary{display:block;padding:16px;list-style:none}.planning-person>summary>strong{display:block;font-size:18px;margin-bottom:12px}.week-glance{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.week-glance>span{background:#f0f5fa;padding:7px 2px;border-radius:5px;text-align:center;min-width:0}.week-glance small{display:block;color:var(--muted);font-size:10px;white-space:nowrap}.week-glance b{display:block;font-size:11px;margin-top:5px;overflow-wrap:anywhere}.planning-day{display:grid;grid-template-columns:100px minmax(0,1fr);gap:12px;padding:14px 16px;border-top:1px solid var(--border)}.planning-day-label{font-size:13px;line-height:1.5}.planning-day-label span{display:block;color:var(--muted)}.cell-badges{display:flex;gap:5px;flex-wrap:wrap}.service{display:inline-flex;flex-direction:column;gap:4px;border-radius:6px;padding:7px 9px;background:#e9f3ff;color:#1c548e;font-size:12px}.service small{font-size:10px;white-space:normal}.service-LIV{background:#fff0df;color:#995000}.service-SUP,.service-RED{background:#f0e8ff;color:#643797}.service-IND,.service-VAC{background:#edf0f2;color:#4d5e6c}.planning-cell-form fieldset{border:0;padding:10px 0 0;margin:0;min-width:0}.shift-options{display:flex;gap:8px 14px;flex-wrap:wrap}.shift-options label,.override-absence,.external-agreement{display:flex;gap:7px;align-items:center;font-size:12px;min-height:38px;line-height:1.5}.shift-options input,.override-absence input,.external-agreement input{min-width:18px;min-height:18px}.shift-times{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:12px 0}.shift-times>div{display:grid;grid-template-columns:36px 1fr 1fr;gap:4px;align-items:center;font-size:11px}.shift-times input{min-width:0;width:100%;min-height:40px;padding:5px;border:1px solid var(--border);border-radius:6px;background:white;font-size:12px}.cell-feedback{font-size:12px;line-height:1.5;margin-top:10px}.planning-request-form .button{margin-top:15px}.request-item{display:flex;gap:10px;align-items:center;flex-wrap:wrap;border-bottom:1px solid var(--border);padding:12px 0}.request-list article,.import-actions article{padding:15px 0;border-bottom:1px solid var(--border)}.request-list h3{font-size:15px}.import-actions{max-height:600px;overflow:auto}.import-actions article p{font-size:12px;margin:5px 0}.import-actions .has-conflict{background:#fff1e6;padding:12px;border:1px solid #e3ab7c;margin-top:8px}.import-actions label{font-size:13px;line-height:1.6}.planning-controls .button{font-size:12px}.planning-person[hidden]{display:none}
@media(max-width:699px){.planning-day{grid-template-columns:72px minmax(0,1fr);gap:8px;padding:12px}.shift-times{grid-template-columns:1fr}.planning-person>summary{padding:13px 11px}.week-glance b{font-size:9px}.week-glance small{font-size:8px}.week-nav b{font-size:14px}.planning-controls{gap:7px}.planning-controls .button{flex:1;padding:10px 8px}.planning-controls .button:last-child{flex-basis:100%}.planning-publication .button-row{width:100%}.planning-publication .button-row>.button{flex:1;font-size:12px}.service{font-size:11px;padding:6px}.planning-request-form .form-grid{grid-template-columns:1fr}.planning-request-form h2{font-size:20px}}
