:root{font:16px/1.55 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#273548;background:#f1f5fa;color-scheme:light}*{box-sizing:border-box}body{margin:0;min-height:100dvh;display:grid;place-items:center;padding:32px 20px}main{width:100%;max-width:520px;background:#fff;border:1px solid #e1e7ef;border-radius:24px;padding:36px;box-shadow:0 18px 60px #1834520c}header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:32px}header img{width:200px;max-width:65%;height:auto}.stage{font-size:11px;color:#58667b;border:1px solid #dce4ef;border-radius:20px;padding:5px 9px;white-space:nowrap}h1{font-size:26px;line-height:1.25;color:#23364f;margin:0 0 12px;letter-spacing:-.5px}h2{font-size:20px;margin-top:28px}p{margin:10px 0 20px}label{display:block;font-size:14px;font-weight:650;margin:20px 0 7px}input{width:100%;border:1px solid #bfcbd9;border-radius:10px;padding:13px;font:inherit;min-height:48px;background:#fff;color:inherit}input:focus{outline:3px solid #024da930;border-color:#024da9}small{display:block;font-size:12px;color:#647187;margin:8px 0}.password{position:relative}.password input{padding-right:56px}button{cursor:pointer;font:inherit;min-height:46px;border-radius:10px;border:1px solid #bfccdc;padding:10px 18px;color:#23364f;background:white}button:focus-visible{outline:3px solid #024da950;outline-offset:3px}.eye{position:absolute;right:3px;top:3px;min-height:42px;width:44px;padding:6px;border:0;background:transparent;color:#526a85;font-size:22px}.primary{display:block;background:#024da9;color:white;border:0;width:100%;margin:26px 0 18px;font-weight:650}.primary:hover{background:#03418c}button:disabled{opacity:.6;cursor:wait}footer{border-top:1px solid #edf0f5;margin-top:30px;padding-top:18px;color:#7b8697;font-size:12px;text-align:center}#feedback{padding:14px;border-radius:10px;border:1px solid #d8e3f1;background:#f1f6fc;color:#234669;font-size:14px;white-space:pre-wrap}#feedback.error{border-color:#f1cece;background:#fff4f3;color:#912d2d}.success-pill{display:inline-block;background:#e7f6ec;color:#237145;font-size:12px;font-weight:650;border-radius:16px;padding:5px 10px;margin-bottom:18px}.account-card{border:1px solid #dce6f2;border-radius:14px;background:#f5f8fd;padding:20px;margin-top:24px}.account-card p{margin:6px 0}.account-card span{font-size:12px;color:#647187}.notice{font-size:14px;color:#647187}[hidden]{display:none!important}@media(max-width:540px){body{padding:18px 12px}main{padding:26px 22px;border-radius:18px}header{gap:8px}.stage{font-size:10px}h1{font-size:24px}}

#invite-dialog{width:min(820px,calc(100vw - 28px));max-height:90dvh;border:1px solid #dce4ef;border-radius:20px;padding:28px;color:inherit}#invite-dialog::backdrop{background:#18345280}.invite-error{padding:14px;background:#fff3f2;border:1px solid #efc2be;border-radius:10px;color:#912d2d}.profile-actions{display:flex;align-items:center;gap:12px;margin-top:22px}.profile-actions .primary{margin:0;flex:1}#employee textarea{width:100%;font:inherit;padding:12px;border:1px solid #bfcbd9;border-radius:10px}#employee input[type=date]{min-width:0}#employee h2{margin-top:15px}.profile-progress{background:#eaf2fc;padding:8px 12px;border-radius:8px;color:#024da9}#invitation .option{display:flex;align-items:center;gap:10px}#invitation .option input{width:20px;min-height:20px}#invite-dialog h2{margin:0}.invite-state{font-size:12px;font-weight:650;color:#37618e}.mail-tools{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:16px 0}.mail-tools small{margin:0}

.employee-home{align-items:start;padding-top:40px}.employee-home main{max-width:920px}.employee-home header{margin-bottom:24px}.employee-topbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-bottom:20px;border-bottom:1px solid #e4eaf2}.employee-topbar>strong{color:#024da9}.employee-topbar button{font-size:13px}.employee-greeting{padding:28px 0}.employee-greeting h1{font-size:32px;outline:none}.employee-greeting p{margin-bottom:12px}.employee-ready{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:#246540;background:#edf8f0;padding:6px 12px;border-radius:20px}.employee-ready svg{width:16px;height:16px}.profile-saved{display:flex;align-items:center;gap:14px;padding:18px;border:1px solid #b8ddc4;background:#edf8f0;color:#1f6539;border-radius:14px;margin-top:24px}.profile-saved>svg{width:32px;height:32px;flex-shrink:0}.profile-saved strong,.profile-saved span{display:block}.profile-saved span{font-size:14px;margin-top:4px}.employee-profile-card{display:flex;align-items:center;gap:18px;padding:24px;border:1px solid #dce6f2;background:#f8faff;border-radius:16px}.employee-profile-card>div{flex:1;min-width:0}#employee .employee-profile-card h2{margin:0 0 6px}.employee-profile-card p{font-size:14px;color:#5f6f84;margin:0}.employee-profile-card small{overflow-wrap:anywhere}.employee-card-icon{display:grid;place-items:center;background:#e5effd;color:#024da9;width:52px;height:52px;border-radius:15px;flex-shrink:0}.employee-card-icon svg{width:28px;height:28px}.employee-service-note{font-size:13px;color:#66768b;line-height:1.7;margin-top:24px}@media(max-width:600px){.employee-home{padding:16px 12px}.employee-home main{padding:24px 20px}.employee-topbar button{padding:9px 12px}.employee-greeting h1{font-size:28px}.employee-profile-card{flex-wrap:wrap;gap:12px;padding:18px}.employee-profile-card button{width:100%}.profile-saved{align-items:start;padding:15px}.profile-saved span{font-size:13px}}

#employee select{width:100%;min-height:48px;border:1px solid #bfcbd9;border-radius:10px;padding:13px;font:inherit;color:inherit;background:white}

.forgot-link{display:block;text-align:center;color:#024da9;font-size:14px;margin:8px 0 24px}.recovery-message{padding:15px;background:#edf8f0;border:1px solid #b8ddc4;color:#246540;border-radius:12px;font-size:14px;outline:none}.recovery-message.error{background:#fff3f2;border-color:#efcbcb;color:#922b2b}.reset-show{display:flex;align-items:center;gap:10px}.reset-show input{width:20px;min-height:20px}#forgot a,#reset a{color:#024da9;font-size:14px}
.punch-card{padding:24px;border:1px solid #ceddf1;border-radius:18px;background:#f8fbff;margin:0 0 22px}.punch-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}#employee .punch-heading h2{margin:0}.punch-main{display:flex;align-items:center;gap:28px;margin:22px 0}.punch-icon{border:2px solid #cbd6e4;background:white;color:#7c8796;display:flex;align-items:center;flex-direction:column;gap:8px;min-width:150px;font-weight:650;font-size:13px;padding:16px}.punch-icon svg{width:68px;height:68px}.punch-icon.running{color:#024da9;border-color:#024da9;background:#edf4ff}.punch-main p{margin:5px 0;font-size:14px}.punch-timer{font-size:34px;font-variant-numeric:tabular-nums;color:#024da9;letter-spacing:1px}.punch-feedback{padding:12px;background:#eaf7ef;color:#246540;border-radius:10px;font-size:14px}.punch-feedback.error{background:#fff3f2;color:#922b2b}.punch-dialog-body{padding:24px}.punch-dialog-body textarea,.punch-dialog-body select{display:block;width:100%;min-height:48px;font:inherit;padding:12px;border:1px solid #bdcadb;border-radius:10px;margin-top:8px}.time-filters{display:flex;align-items:end;gap:16px;flex-wrap:wrap}.time-filters label{margin:0}.time-filters input{display:block;max-width:190px}.time-row{display:flex;gap:22px;align-items:center;padding:20px;border:1px solid #dce5ef;border-radius:14px;background:white;margin:12px 0}.time-row>div:first-child{flex:1;min-width:0}.time-row h2{margin:0;font-size:17px}.time-row p{margin:6px 0;font-size:14px}.time-row .state{display:block;text-align:center;margin-top:6px}.time-notes{margin-top:22px;padding:18px;border:1px solid #efce91;background:#fff9ed;border-radius:12px}.time-notes h3{margin-top:0}.time-notes p{white-space:pre-wrap}.time-notes .option{display:flex;align-items:center;gap:10px}.time-notes input{width:22px;min-height:22px;flex-shrink:0}@media(max-width:600px){.punch-card{padding:18px}.punch-main{gap:15px}.punch-icon{min-width:126px;padding:12px 8px}.punch-icon svg{width:56px;height:56px}.punch-timer{font-size:25px}.time-row{flex-wrap:wrap;gap:12px;padding:16px}.time-row button{width:100%}.punch-dialog-body{padding:18px}.time-filters{gap:10px}.time-filters label{flex:1;min-width:120px}}
.punch-fab{position:fixed;right:20px;bottom:20px;z-index:20;display:flex;align-items:center;gap:8px;padding:10px 16px;box-shadow:0 5px 24px #12345b30;border:2px solid #becbdc;border-radius:18px;background:white;color:#778595;font-size:13px;font-weight:700}.punch-fab svg{width:38px;height:38px}.punch-fab.running{color:#024da9;border-color:#024da9;background:#edf4ff}.employee-home main{margin-bottom:70px}@media(max-width:600px){.punch-fab{bottom:max(12px,env(safe-area-inset-bottom));right:12px;padding:8px 12px}.punch-fab svg{width:34px;height:34px}}

.time-actions,.time-edit-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.time-actions button,.time-edit-actions button{display:inline-flex;gap:7px;align-items:center;justify-content:center}.time-actions svg,.time-edit-actions svg{width:20px;height:20px;flex-shrink:0}.time-approve{background:#e6f6ed!important;color:#14663a!important;border-color:#9bd4b4!important}.time-delete{background:#fff0f0!important;color:#b4232c!important;border-color:#eeb8bb!important}.time-edit-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.time-edit-actions{margin-top:20px}.time-row{display:grid;grid-template-columns:minmax(180px,1fr) auto minmax(180px,auto)}.time-row small{display:block}.time-edit-grid input{width:100%}@media(max-width:760px){.time-row{grid-template-columns:1fr}.time-actions{width:100%}.time-actions button{flex:1}.time-edit-grid{gap:10px}.time-edit-actions button{width:100%}}

.punch-recent{margin-top:20px}.punch-recent article{padding:12px 0;border-top:1px solid #dce4ef}.punch-recent summary{cursor:pointer;font-weight:600}

#time-dialog .time-edit-grid input{min-width:0}#time-dialog .time-edit-grid label{min-width:0}#time-dialog form>label{margin-top:18px}.time-actions{max-width:440px}.time-notes p,.punch-recent p{overflow-wrap:anywhere;white-space:pre-wrap}@media(max-width:1000px){.time-actions{max-width:230px}}@media(max-width:760px){.time-actions{max-width:none}.time-row .state{text-align:left}}

.break-active{margin-top:18px;padding:20px;background:#fff5de;border:1px solid #e6be66;border-radius:14px;display:grid;gap:12px;text-align:center}.break-timer{font-size:28px;font-variant-numeric:tabular-nums}.resume-shift{background:#024da9!important;color:white!important;border:2px solid #024da9!important;min-height:58px;font-size:18px;font-weight:750;box-shadow:0 5px 14px #024da92a}.punch-action-choices{margin:0 0 18px;padding:12px;border:1px solid #d5e0ee;border-radius:12px}.punch-action-choices label,.break-modes label{display:flex;align-items:center;gap:10px;padding:10px;margin:0;cursor:pointer}.punch-action-choices input,.break-modes input{width:20px;min-height:20px;flex-shrink:0}.punch-action-choices label:has(input:checked){background:#e9f2ff;border-radius:8px;color:#024da9;font-weight:700}.break-edit{padding:16px;border:1px solid #dce4ef;border-radius:12px;margin:12px 0;background:#f8fbff}.break-edit-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}.break-edit-heading label{flex:1}.break-edit-heading button{display:flex;align-items:center;gap:6px}.break-edit-heading svg{width:18px;height:18px}.break-modes{display:flex;gap:12px;flex-wrap:wrap;margin-top:14px}.break-manager{margin:20px 0}.break-manager summary{cursor:pointer;font-weight:700}.time-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:18px}.time-summary p{margin:0;padding:12px;border:1px solid #dce4ef;border-radius:10px;font-size:12px;color:#5d6f87}.time-summary strong{display:block;font-size:19px;color:#024da9;margin-top:6px;font-variant-numeric:tabular-nums}[data-break-duration][hidden],[data-break-interval][hidden]{display:none!important}@media(max-width:600px){.time-summary{grid-template-columns:1fr}.time-summary p{display:flex;justify-content:space-between;align-items:center}.time-summary strong{margin:0}.break-edit{padding:12px}.break-edit-heading{align-items:end}.break-edit-heading button{font-size:12px;padding:10px}.break-active{padding:16px}}

.time-heading-actions{display:flex;gap:10px;flex-wrap:wrap}.time-heading-actions button{display:inline-flex;align-items:center;gap:8px}.time-heading-actions svg{width:20px;height:20px}.manual-shift-label{padding:12px;border:1px solid #c6d9f0;background:#eef5ff;border-radius:10px;color:#235990}[data-manual-form]>label{display:block;margin-top:18px}[data-manual-form] .primary{margin-top:16px}[data-manual-form] input,[data-manual-form] select{width:100%;min-width:0}@media(max-width:600px){.time-heading-actions{width:100%}.time-heading-actions button{flex:1;justify-content:center}}

.time-row-totals{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.time-net>small{font-size:11px;color:#68778b;margin-bottom:5px}.time-net>strong{font-size:18px;font-variant-numeric:tabular-nums}.time-meal{border:1px solid #e9d5aa;background:#fff9ed;border-radius:10px;padding:10px 12px;min-width:142px}.time-meal>span{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:650;color:#78551a}.time-meal svg{width:18px;height:18px;flex-shrink:0}.time-meal strong{display:block;margin:5px 0;font-size:17px;font-variant-numeric:tabular-nums;color:#60471f}.time-meal small{font-size:10px;color:#786743}@media(max-width:760px){.time-row-totals{gap:16px;justify-content:space-between;width:100%}.time-meal{min-width:138px}}

.time-net{padding:10px 0 10px 16px;border-left:2px solid #c6d9f0}.time-net>strong{font-size:20px;color:#024da9}.time-net>.time-net-help{font-size:10px;margin:7px 0 0;max-width:150px}.time-row-totals{flex-wrap:nowrap}@media(max-width:760px){.time-row-totals{flex-wrap:wrap}.time-net{flex:1;min-width:130px}}

/* Présentation compacte du repas, alignée sur le total des heures. */
.time-meal{background:transparent;border:0;border-radius:0;padding:0;min-width:0;max-width:140px}.time-meal>span{font-size:11px;font-weight:400;color:#68778b;gap:5px}.time-meal svg{width:14px;height:14px}.time-meal strong{font-size:18px;color:#36465b;margin:6px 0;font-weight:700}.time-meal small{font-size:10px;color:#68778b}.time-row-totals{gap:16px}.time-net{padding:0 0 0 16px}.time-net>.time-net-help{max-width:140px}@media(max-width:760px){.time-meal{min-width:0;max-width:140px}.time-row-totals{justify-content:flex-start;gap:16px}.time-net{flex:0 1 auto}}
