:root{font-family:Inter,"Segoe UI",Arial,sans-serif;color:#eaf8ff;background:#031d31;line-height:1.45;font-synthesis:none}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#031d31}body{min-height:100dvh}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}[hidden]{display:none!important}
.app-shell{min-height:100dvh;background:radial-gradient(circle at 52% -18%,#0b4a6a 0,#062b43 31%,#031d31 65%,#021829 100%)}
.topbar{min-height:72px;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px clamp(16px,2vw,30px);border-bottom:1px solid #1ebadd55;background:linear-gradient(180deg,#041e32ed,#06283ded);box-shadow:0 10px 28px #00121e66}
.app-brand,.access-brand{display:flex;align-items:center;gap:12px}.app-brand h1,.access-brand h1{margin:0;font-size:23px;letter-spacing:-.03em}.app-brand small,.access-brand small,.toolbar small,.panel-header small{display:block;color:#64cfe8;font-size:10px;font-weight:900;letter-spacing:.12em}
.brand-mark{width:40px;height:40px;display:grid;place-items:center;border-radius:10px;border:1px solid #25d4ee;background:linear-gradient(145deg,#37e7ff,#0d8fb9);color:#03263b;font-size:15px;font-weight:950;box-shadow:0 0 19px #1dd8f577}
.top-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.identity{color:#b7d5e3;font-size:12px;white-space:nowrap;margin-right:7px}
.exchange-menu{padding:18px clamp(16px,2vw,30px) 22px;border-bottom:1px solid #2589aa;background:linear-gradient(180deg,#0b3953,#05263b);box-shadow:0 12px 32px #00121e88}.exchange-heading{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:13px}.exchange-heading small{color:#5adcf2;font-size:10px;font-weight:900;letter-spacing:.12em}.exchange-heading h2{font-size:20px;margin:2px 0 0}.exchange-heading p{margin:0;color:#b3cfdd;font-size:12px}.exchange-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.exchange-option{min-height:86px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:5px;padding:15px 17px;border:1px solid #2785a2;border-radius:9px;background:#082d43;color:#ecfaff;text-align:left;box-shadow:inset 0 0 18px #00131f66}.exchange-option strong{font-size:19px;color:#46e3f8}.exchange-option span{font-size:12px;color:#bed8e5}.exchange-option:hover,.exchange-option[aria-pressed="true"]{border-color:#49e4fa;background:#0a435d;box-shadow:0 0 20px #1eccef44}.exchange-detail{margin-top:12px;padding:15px;border:1px solid #2a829e;border-radius:9px;background:#07263b}.exchange-detail h3{margin:0 0 10px;font-size:15px}.exchange-detail p{margin:10px 0 0;color:#bbd5e1;font-size:12px}.exchange-steps{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.exchange-step{display:inline-flex;padding:7px 11px;border:1px solid #3dd7e9;border-radius:6px;background:#0b4a5e;color:#e9fbff;font-size:13px;font-weight:900}.exchange-plus{font-size:20px;color:#74d8e8;font-weight:900}
.button{min-height:39px;border:1px solid #287895;border-radius:7px;background:#092c42;color:#eaf8ff;padding:8px 14px;font-weight:800;font-size:12px;transition:background .15s ease,border-color .15s ease,transform .15s ease}
.button:hover{background:#104260;border-color:#3bd7f6}.button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #53e7ff;outline-offset:2px}.button.primary{border-color:#29d9ff;background:linear-gradient(180deg,#2ad9fb,#0eb2dc);color:#002338;box-shadow:0 0 18px #1acff04d}.button.primary:hover{background:linear-gradient(180deg,#56e6ff,#16c3ea)}.button.subtle{background:#082b42}.button.icon-button{min-width:40px;padding-inline:10px}
.toolbar{display:flex;align-items:end;gap:12px;flex-wrap:wrap;padding:17px clamp(16px,2vw,30px);border-bottom:1px solid #1b728e5e;background:#082c43a8}.toolbar>div:first-child{display:flex;flex-direction:column;gap:5px}.date-label{font-size:0}.toolbar input{min-height:42px;min-width:160px;border:1px solid #287b9f;border-radius:7px;background:#06283d;color:#f5fbff;color-scheme:dark;padding:0 10px;font-size:14px;font-weight:800}.date-actions{display:flex;gap:7px;flex:1;flex-wrap:wrap}.toolbar>.button{margin-left:auto}
.source-banner{margin:13px clamp(16px,2vw,30px) 0;padding:9px 13px;border:1px solid #276c87;border-radius:7px;background:#0b3046;color:#b4d7e6;font-size:12px}.source-banner.demo{border-color:#cf9d3b;background:#49361655;color:#ffe0a4}.source-banner.error{border-color:#dd625d;background:#59303455;color:#ffd5d1}.message{min-height:1em;margin:10px 0 0;color:#ffbd91;font-size:13px}.team-error{margin:7px clamp(16px,2vw,30px)}
.groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;padding:13px clamp(16px,2vw,30px) 28px}.group{--accent:#28d9f8;--accent-strong:#41e8ff;position:relative;overflow:hidden;border:1px solid #1a91bd;border-radius:9px;background:linear-gradient(180deg,#062b43,#041f33);box-shadow:inset 0 0 25px #00111f80,0 0 18px #009fd220}.group::before{content:"";position:absolute;z-index:2;inset:0 auto 0 0;width:3px;background:var(--accent);box-shadow:0 0 12px var(--accent)}.group.evening{--accent:#ff982b;--accent-strong:#ffae58;border-color:#d8944a88}.group.evening2{--accent:#a978ff;--accent-strong:#b992ff;border-color:#8d69d899}.group-head{min-height:72px;display:flex;align-items:center;gap:13px;border-bottom:1px solid #2583a266;background:linear-gradient(180deg,#0a344d,#07283e);padding:12px 15px}.group-number{flex:none;width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:var(--accent);color:#04243a;font-size:18px;font-weight:950;box-shadow:0 0 16px var(--accent)}.group.evening .group-number,.group.evening2 .group-number{color:white}.group-head>div{min-width:0;flex:1}.group-head small{color:#74bed7;font-size:9px;font-weight:900;letter-spacing:.08em}.group-head h2{margin:2px 0 0;font-size:18px;line-height:1.1}.group-head>b{color:#acd5e6;font-size:10px;white-space:nowrap}
.service-list{min-height:310px}.service-card{position:relative;min-height:91px;display:grid;grid-template-columns:minmax(73px,.7fr) minmax(110px,1.55fr) minmax(95px,1fr);gap:12px;align-items:center;border-bottom:1px solid #1b597266;border-left:3px solid var(--accent);background:linear-gradient(90deg,#062b42,#05253a);padding:14px 12px}.service-card:last-child{border-bottom:0}.service-card:hover{background:linear-gradient(90deg,#093650,#062b42)}.service-card>div{min-width:0;display:flex;flex-direction:column;gap:4px}.service-card small{color:#80b6cd;font-size:9px;font-weight:900;letter-spacing:.035em}.service-card strong,.service-card b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#f1fbff;font-size:13px}.service-card .code{color:var(--accent-strong);font-size:20px;text-shadow:0 0 10px var(--accent)}.service-card span{color:#a0becc;font-size:10px;line-height:1.25}.service-card em{position:absolute;top:7px;right:9px;border:1px solid #42839c;border-radius:6px;background:#12384a;padding:2px 6px;color:#b8d3df;font-size:9px;font-style:normal;font-weight:900}.service-card.confirmed em{border-color:#168f84;background:#073f45;color:#66f4df}.service-card.planned em{border-color:#cf9d3b;background:#493616;color:#ffe2a2}.service-card.empty{background:linear-gradient(90deg,#122f40,#08283c)}.service-card.empty b{color:#bfd1da}
.group-tabs{display:none}
.access-shell{min-height:100dvh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 50% 0,#0b526d,#031d31 68%)}.access-card{width:min(100%,440px);border:1px solid #2995b5;border-radius:13px;background:linear-gradient(150deg,#0a354e,#041e30);padding:28px;box-shadow:0 25px 70px #00111ec9,0 0 25px #00b5e02b}.access-card>p,.panel-intro{color:#b6d2e0;font-size:13px}.access-note{border-top:1px solid #235b72;padding-top:15px}.quiet-link{color:#63e2fc;font-weight:700;font-size:13px}
.field-stack{display:grid;gap:15px}.field-stack label{display:grid;gap:6px;color:#a5c9d9;font-size:12px;font-weight:800}.field-stack input,.field-stack select,.field-stack textarea{width:100%;min-height:42px;border:1px solid #34718d;border-radius:7px;background:#06283d;color:#f5fbff;padding:9px 11px;font-size:14px;font-weight:500}.field-stack textarea{resize:vertical}.field-stack input[type=date]{color-scheme:dark}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.panel-backdrop{position:fixed;z-index:20;inset:0;display:flex;justify-content:flex-end;background:#001521b8;backdrop-filter:blur(4px)}.panel{width:min(100%,560px);height:100%;display:flex;flex-direction:column;border-left:1px solid #2a9dbe;background:linear-gradient(180deg,#0b344d,#041e30);box-shadow:-18px 0 55px #00111ec9}.panel-header{display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid #2e7f9b;padding:17px 21px}.panel-header h2{margin:3px 0 0;font-size:22px}.panel-content{overflow:auto;padding:18px 21px 35px}.panel-intro{margin:0 0 17px}.person-card,.summary,.request-card{border:1px solid #326c86;border-radius:8px;background:#082b41;padding:13px;margin-bottom:15px}.person-card strong{display:block;color:#e8faff}.person-card span{color:#a5c5d4;font-size:12px}.summary h3{margin:0 0 10px}.summary-fields{display:grid;gap:5px}.summary-fields p{margin:4px 0;color:#bfd8e5;font-size:13px}.summary-actions{display:flex;gap:9px;margin-top:16px}.request-card{display:grid;gap:7px}.request-card h3{margin:0;color:#e8faff;font-size:15px}.request-card p{margin:0;color:#b4cedc;font-size:12px}.request-card .status{width:max-content;border:1px solid #cf9d3b;border-radius:5px;background:#493616;padding:3px 7px;color:#ffe0a4;font-size:10px;font-weight:900}.request-card .status.ACCEPTEE{border-color:#2ab795;background:#073f45;color:#6df0cf}.request-card .status.REFUSEE{border-color:#db7979;background:#49313a;color:#ffd0d0}.request-card .decisions{display:flex;gap:8px;flex-wrap:wrap}.request-card .decisions .button{flex:1}
@media(max-width:1100px){.topbar{align-items:flex-start;flex-wrap:wrap}.top-actions{justify-content:flex-start}.group-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:12px clamp(16px,2vw,30px) 0}.group-tabs .button.active{background:#0a6079;border-color:#3ee0f5;color:#fff}.group-tabs .button.evening.active{background:#78451e;border-color:#ff9b3a}.group-tabs .button.evening2.active{background:#523577;border-color:#ac83f5}.groups{display:block}.group{display:none}.group.mobile-active{display:block}}
@media(max-width:700px){.topbar{padding:12px}.top-actions{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:7px}.identity{grid-column:1/-1}.top-actions .button{width:100%}.exchange-menu{padding:15px 12px}.exchange-heading{display:block}.exchange-heading p{margin-top:5px}.exchange-grid{grid-template-columns:1fr;gap:8px}.exchange-option{min-height:70px}.toolbar{padding:12px}.toolbar>div:first-child,.toolbar input,.toolbar>.button{width:100%}.date-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.date-actions .button{width:100%}.source-banner{margin-inline:12px}.team-error{margin-inline:12px}.group-tabs{gap:6px;padding:10px 12px 0}.group-tabs .button{padding:8px 4px;font-size:11px;min-height:45px}.groups{padding:10px 12px 25px}.service-card{grid-template-columns:76px minmax(0,1fr);gap:9px;min-height:88px}.service-card>div:nth-child(3){grid-column:2}.service-card em{position:static;grid-column:1/-1;justify-self:start}.panel{width:100%}.panel-content{padding:15px}.field-row{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;scroll-behavior:auto!important}}
.preview-badge{display:inline-flex;align-items:center;min-height:37px;padding:5px 10px;border:1px solid #ca9642;border-radius:7px;background:#4c361c;color:#ffe2a7;font-size:10px;font-weight:900;letter-spacing:.04em;white-space:nowrap}
.exchange-detail-head{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap}.exchange-detail-head small{color:#6cdbec;font-size:9px;font-weight:900;letter-spacing:.1em}.exchange-detail-head h3{margin:3px 0 0}.exchange-detail .field-stack{margin-top:16px}.exchange-detail .person-card{margin:0}.exchange-date-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.exchange-date-grid fieldset{display:grid;gap:10px;min-width:0;margin:0;padding:14px;border:1px solid #2c7894;border-radius:8px;background:#082b40}.exchange-date-grid legend{padding:0 5px;color:#79dbea;font-size:12px;font-weight:900}.exchange-date-grid fieldset label{min-width:0}.exchange-detail .summary{margin-top:15px;margin-bottom:0}.exchange-detail .summary p{margin:6px 0;color:#bfdae7;font-size:13px}.exchange-detail .summary .button{margin-top:12px}.demo-warning{padding:9px;border:1px solid #b68c3d;border-radius:6px;background:#49361655;color:#ffe1a3!important;font-weight:800}
.exchange-agents-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.exchange-agent-card{min-width:0;display:grid;gap:7px;padding:14px;border:1px solid #2c7894;border-radius:8px;background:#082b40}.exchange-agent-card span{color:#a9cad8;font-size:11px}.exchange-agent-card input[readonly]{border-color:#357b91;background:#0b394d;color:#83e5f2;font-weight:900;cursor:default}
@media(max-width:700px){.preview-badge{grid-column:1/-1;justify-content:center}.exchange-detail-head{display:block}.exchange-steps{margin-top:10px}.exchange-date-grid{grid-template-columns:1fr}.exchange-date-grid fieldset{padding:11px}}
@media(max-width:700px){.exchange-agents-grid{grid-template-columns:1fr}.exchange-agent-card{padding:11px}}
.page-tabs{position:sticky;top:0;z-index:10;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:9px clamp(16px,2vw,30px);border-bottom:1px solid #227c9a;background:#041f33f5;box-shadow:0 8px 24px #00131e77;backdrop-filter:blur(10px)}
.page-tab{min-width:0;min-height:53px;display:flex;align-items:center;justify-content:center;gap:12px;border:1px solid #2d6882;border-radius:8px;background:#082c42;color:#c6e0eb;font-size:15px;font-weight:850;white-space:nowrap;transition:background .15s,border-color .15s,box-shadow .15s}
.page-tab:hover{background:#0d3d58;border-color:#3fb9d9}.page-tab:focus-visible{outline:2px solid #64e7fa;outline-offset:2px}.page-tab[aria-selected=true]{background:#0a4d66;border-color:#46def3;color:white;box-shadow:inset 0 -3px #2cddfa,0 0 20px #12bfdd33}.page-tab[data-view=absence][aria-selected=true]{background:#584023;border-color:#f3a64c;box-shadow:inset 0 -3px #ff9c39,0 0 20px #f09b3a22}.page-tab[data-view=echange][aria-selected=true]{background:#49346b;border-color:#ad83f0;box-shadow:inset 0 -3px #ab7afd,0 0 20px #966af722}
.tab-symbol{width:28px;height:28px;display:grid;place-items:center;flex:none;border-radius:7px;background:#0a5873;color:#8ceeff;font-size:10px;font-weight:950}.page-tab[data-view=absence] .tab-symbol{background:#644020;color:#ffc17b}.page-tab[data-view=echange] .tab-symbol{background:#503474;color:#d0b5ff}
.app-view{min-height:calc(100dvh - 135px)}.content-view{width:min(100%,1600px);margin:0 auto;padding:24px clamp(16px,2vw,30px) 45px}.content-head,.exchange-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:20px}.content-head small,.exchange-heading small,.card-title small{color:#65d9ef;font-size:10px;font-weight:900;letter-spacing:.12em}.content-head h2,.exchange-heading h2{margin:3px 0 6px;font-size:clamp(25px,2.4vw,36px);letter-spacing:-.03em}.content-head p,.exchange-heading p{margin:0;color:#b8d2df;font-size:13px}.content-tag{align-self:center;flex:none;padding:7px 11px;border:1px solid #cf9d3b;border-radius:7px;background:#49361655;color:#ffe0a4;font-size:11px;font-weight:900}
.absence-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(270px,.9fr);gap:16px;align-items:start}.content-card{min-width:0;border:1px solid #287994;border-radius:10px;background:linear-gradient(145deg,#082f46,#051e31);padding:20px;box-shadow:0 12px 30px #00131e66}.card-title{display:flex;align-items:center;gap:12px;margin-bottom:17px}.card-title h3{margin:2px 0 0;font-size:19px}.card-index{width:39px;height:39px;display:grid;place-items:center;flex:none;border:1px solid #39d2ed;border-radius:9px;background:#0a6680;color:#d9fcff;font-weight:950}.side-card .card-index{border-color:#ffad5a;background:#714a24;color:#fff0d8}.content-card .person-card{margin-bottom:18px}.content-card .field-stack{gap:18px}.content-card .summary{margin:0}.content-card .summary p{margin:7px 0;color:#bdd8e5;font-size:13px}.empty-state{min-height:230px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border:1px dashed #36728b;border-radius:8px;background:#06283c;padding:23px}.empty-state>span{font-size:37px;color:#62dbea}.empty-state strong{margin-top:7px;font-size:14px}.empty-state p{margin:8px 0 0;color:#a9c7d5;font-size:12px}
.content-view .exchange-grid{margin-bottom:15px}.content-view .exchange-detail{margin-top:0}.content-view .exchange-detail>p{margin:8px 0 0}.content-view .exchange-detail .field-stack{margin-top:20px}
@media(max-width:900px){.absence-layout{grid-template-columns:1fr}.empty-state{min-height:130px}}
@media(max-width:700px){.top-actions{width:100%;display:flex;justify-content:space-between;align-items:center;gap:8px}.identity,.preview-badge{grid-column:auto}.page-tabs{gap:5px;padding:7px 10px}.page-tab{min-height:48px;gap:5px;padding:5px 4px;font-size:11px;white-space:normal;line-height:1.15}.tab-symbol{width:23px;height:23px;font-size:9px}.content-view{padding:18px 12px 30px}.content-head,.exchange-heading{display:block}.content-head p,.exchange-heading p{margin-top:6px}.content-tag{display:inline-flex;margin-top:12px}.content-card{padding:14px}.app-view{min-height:calc(100dvh - 175px)}}
.identity-fieldset{min-width:0;margin:0;padding:15px;border:1px solid #2c7894;border-radius:8px;background:#082b40}.identity-fieldset legend{padding:0 6px;color:#7ce1f0;font-size:12px;font-weight:900}.identity-fieldset p{margin:9px 0 0;color:#a9cad8;font-size:11px}.identity-input-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.exchange-agent-card strong{color:#dff8ff;font-size:13px}
@media(max-width:700px){.identity-input-grid{grid-template-columns:1fr}.identity-fieldset{padding:11px}}
.page-tabs{gap:12px;padding:12px clamp(16px,2vw,36px)}.page-tab{min-height:66px;font-size:18px}.tab-symbol{width:34px;height:34px;font-size:12px}.app-view{min-height:calc(100dvh - 165px)}.content-view{width:100%;max-width:none;padding:28px clamp(16px,2vw,42px) 50px}.content-head h2,.exchange-heading h2{font-size:clamp(30px,2.6vw,43px)}.content-head p,.exchange-heading p{font-size:15px}.absence-layout{display:block}.content-card{width:100%;padding:clamp(18px,2vw,30px)}.card-title h3{font-size:24px}.content-card #absence-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:22px}.content-card #absence-form>.identity-fieldset,.content-card #absence-form>.absence-comment,.content-card #absence-form>.absence-submit{grid-column:1/-1}.content-view .field-stack label{font-size:14px}.content-view .field-stack input,.content-view .field-stack select,.content-view .field-stack textarea{min-height:49px;font-size:16px}.content-view .field-stack textarea{min-height:126px}.content-view .exchange-option{min-height:94px}.content-view .exchange-option strong{font-size:23px}.content-view .exchange-option span{font-size:14px}.content-view .exchange-detail{padding:clamp(18px,2vw,28px)}.content-view .exchange-detail-head h3{font-size:21px}.content-view .exchange-detail>p{font-size:14px}.content-view .exchange-date-grid fieldset{padding:20px}.content-view .exchange-date-grid legend{font-size:15px}.sa-code-field{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-width:0}.sa-code-field label{min-width:0}.sa-code-choice{cursor:pointer}
@media(max-width:1100px){.sa-code-field{grid-template-columns:1fr}}
@media(max-width:700px){.page-tabs{gap:5px;padding:8px 10px}.page-tab{min-height:59px;gap:5px;padding:6px 4px;font-size:14px;line-height:1.1}.tab-symbol{width:25px;height:25px;font-size:9px}.app-view{min-height:calc(100dvh - 190px)}.content-view{padding:20px 12px 34px}.content-head h2,.exchange-heading h2{font-size:29px}.content-card{padding:15px}.content-card #absence-form{grid-template-columns:1fr;gap:16px}.content-card #absence-form>*{grid-column:1/-1}.content-view .exchange-option strong{font-size:20px}.content-view .exchange-option span{font-size:12px}.content-view .exchange-date-grid fieldset{padding:12px}.content-view .field-stack label{font-size:13px}}
#exchange-summary{padding:clamp(16px,2vw,27px);border-color:#3a8ca8;background:linear-gradient(145deg,#0c3850,#06263c);box-shadow:inset 0 0 30px #00152266}#exchange-summary>h3{margin:0 0 17px;font-size:clamp(21px,1.8vw,28px);letter-spacing:-.02em}.summary-overview{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px;padding:12px 15px;border:1px solid #347f9b;border-radius:9px;background:#083149}.summary-type-pill{display:inline-flex;align-items:center;min-height:33px;padding:5px 11px;border:1px solid #55dcf1;border-radius:99px;background:#0a617a;color:#ecfeff;font-size:13px;font-weight:950}.summary-overview-title{font-size:17px;color:#e8faff}.summary-common-date{margin-left:auto;color:#bfe9f5;font-size:14px;font-weight:850}.summary-agent-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.summary-agent-card{--agent-accent:#37dff1;min-width:0;padding:18px;border:1px solid #2686a0;border-radius:10px;background:linear-gradient(155deg,#10435b,#082b42);box-shadow:inset 3px 0 var(--agent-accent),0 10px 22px #00152244}.summary-agent-2{--agent-accent:#ad80fa;border-color:#7153ae;background:linear-gradient(155deg,#34294f,#15283f)}.summary-agent-header{display:flex;align-items:center;gap:15px;min-width:0}.summary-agent-badge{flex:none;display:grid;place-items:center;min-width:88px;min-height:38px;padding:7px 12px;border:1px solid var(--agent-accent);border-radius:99px;background:#052c40;color:var(--agent-accent);font-size:13px;font-weight:950;text-transform:uppercase}.summary-agent-2 .summary-agent-badge{background:#34224c}.summary-agent-identity{min-width:0;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.summary-agent-name{overflow-wrap:anywhere;color:#fff;font-size:clamp(19px,1.65vw,25px);line-height:1.1}.summary-agent-matricule{display:inline-flex;align-items:center;min-height:27px;padding:4px 9px;border:1px solid #4f93aa;border-radius:99px;background:#072b40;color:#c4e9f3;font-size:12px;font-weight:850;white-space:nowrap}.summary-agent-2 .summary-agent-matricule{border-color:#8467bb;background:#2c2348;color:#e1d0ff}.summary-duties{display:grid;gap:9px;margin-top:19px}.summary-duty{display:flex;align-items:center;gap:11px;min-height:55px;padding:9px 12px;border:1px solid #387991;border-radius:7px;background:#08283d}.summary-agent-2 .summary-duty{border-color:#66558c;background:#192b40}.summary-duty-type{display:grid;place-items:center;width:37px;height:31px;flex:none;border-radius:6px;font-size:12px;font-weight:950}.summary-duty-type.sa{background:#0f6c82;color:#e8ffff}.summary-duty-type.rh{background:#a25c1d;color:#fff0d9}.summary-duty-date{font-size:clamp(16px,1.25vw,19px);color:#fff}.summary-duty-code{margin-left:auto;padding:4px 9px;border-radius:6px;background:#163f54;color:#83ecfb;font-size:14px;font-weight:950}.summary-agent-2 .summary-duty-code{background:#393253;color:#d0b7ff}.summary-comment{margin-top:14px;padding:13px;border:1px solid #39768e;border-radius:8px;background:#092d42}.summary-comment strong{color:#87dcec;font-size:12px}.summary-comment p{margin:5px 0 0;color:#e4f5fb;font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere}#exchange-summary .demo-warning{margin-top:16px;padding:11px 13px;font-size:13px}#exchange-summary #exchange-edit{margin-top:14px}
@media(max-width:700px){.summary-agent-grid{grid-template-columns:1fr;gap:12px}.summary-agent-card{padding:13px}.summary-agent-header{align-items:flex-start;flex-direction:column;gap:8px}.summary-agent-badge{min-width:74px;min-height:32px;font-size:11px}.summary-agent-name{font-size:20px}.summary-agent-matricule{font-size:11px}.summary-overview{gap:8px;padding:10px}.summary-overview-title{font-size:15px}.summary-common-date{margin-left:0;width:100%}.summary-duty{gap:8px;padding:8px}.summary-duty-code{font-size:12px}}
#exchange-summary,#absence-summary{scroll-margin-top:96px}
.page-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}.page-tab[data-view=recap][aria-selected=true]{background:#184d48;border-color:#4ecdb7;box-shadow:inset 0 -3px #3fd8b9,0 0 20px #32cfae22}.page-tab[data-view=recap] .tab-symbol{background:#195e55;color:#a5ffe5}.tab-count{display:grid;place-items:center;min-width:23px;height:23px;padding:2px 6px;border-radius:99px;background:#1f8b7c;color:white;font-size:11px;font-weight:950}.settings-open{width:44px;height:44px;min-height:44px;display:grid;place-items:center;padding:0;border-color:#3b9eb2;border-radius:10px;background:#0a3a4e;color:#9becf2;font-size:26px;line-height:1}.settings-open:hover{background:#0f5665}
.summary-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.summary-actions .button{min-height:44px}#exchange-summary .summary-actions{margin-top:15px}#exchange-summary #exchange-edit{margin-top:0}.recap-empty{min-height:160px;display:grid;align-content:center;justify-items:center;gap:7px;padding:24px;border:1px dashed #3b8da2;border-radius:10px;background:#082c42;color:#ecfaff;text-align:center}.recap-empty strong{font-size:19px}.recap-empty p{margin:0;color:#a9cfdf;font-size:14px}.recap-list{display:grid;gap:17px}.recap-card{border:1px solid #367f99;border-radius:11px;background:linear-gradient(155deg,#0b364d,#06263a);padding:clamp(16px,2vw,26px);box-shadow:0 12px 26px #00111b55}.recap-card.echange{border-color:#7960aa}.recap-card-head{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap;margin-bottom:17px}.recap-card-title{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.recap-card-title h3{margin:0;font-size:clamp(19px,1.8vw,26px)}.recap-type-pill,.recap-state{display:inline-flex;align-items:center;min-height:31px;padding:5px 10px;border:1px solid #4ed5e9;border-radius:99px;background:#0b5269;color:#e8fdff;font-size:11px;font-weight:950}.recap-card.echange .recap-type-pill{border-color:#aa82ee;background:#4a3470}.recap-state{border-color:#b68b44;background:#523b20;color:#ffe4b0}.recap-preview>p{display:inline-flex;align-items:center;min-height:42px;margin:0 8px 9px 0;padding:8px 11px;border:1px solid #347891;border-radius:7px;background:#082a3e;color:#e8f6fc;font-size:13px}.recap-preview .summary-agent-grid{margin-bottom:5px}.recap-card-actions{display:flex;justify-content:flex-end;border-top:1px solid #316a82;margin-top:15px;padding-top:15px}.recap-future{margin:18px 0 0;color:#93bdce;font-size:12px}.button.danger-outline{border-color:#af6472;background:#482d3a;color:#ffd5d9}.button.danger-outline:hover{background:#683642}.button.warning{border-color:#d49b4d;background:#78491e;color:#fff5e8}.button.danger{border-color:#f37b80;background:#ad3545;color:#fff}.button.danger:hover{background:#c84555}
.delete-backdrop,.settings-backdrop{position:fixed;z-index:40;inset:0;display:flex;background:#00131fc9;backdrop-filter:blur(6px)}.delete-backdrop{align-items:center;justify-content:center;padding:18px}.delete-dialog{width:min(100%,480px);border:1px solid #b16a71;border-radius:12px;background:linear-gradient(145deg,#12394c,#071e31);padding:25px;box-shadow:0 24px 70px #000c16dd}.delete-step{color:#ffb29e;font-size:11px;font-weight:950;letter-spacing:.1em}.delete-dialog h2{margin:7px 0 9px;font-size:24px}.delete-dialog p{margin:0;color:#bdd5df;font-size:14px}.delete-actions{display:flex;justify-content:flex-end;gap:9px;flex-wrap:wrap;margin-top:25px}.delete-actions .button{min-height:45px}
.settings-backdrop{justify-content:flex-end}.settings-panel{width:min(100%,520px);height:100%;overflow:auto;border-left:1px solid #3c9bb0;background:linear-gradient(155deg,#0c3b52,#051e31);box-shadow:-18px 0 54px #000d18b3}.settings-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:19px 22px;border-bottom:1px solid #2d7892}.settings-header small{color:#61d9ed;font-size:10px;font-weight:950;letter-spacing:.1em}.settings-header h2{margin:3px 0 0;font-size:25px}.settings-lock{display:grid;justify-items:center;padding:27px 18px 40px}.settings-lock-icon{display:grid;place-items:center;width:64px;height:64px;border:1px solid #32c8df;border-radius:17px;background:#0a556b;color:#b9faff;font-size:37px;box-shadow:0 0 20px #1dc5df44}.settings-lock h3{margin:12px 0 2px;font-size:20px}.pin-display{min-height:52px;display:grid;place-items:center;color:#d7faff;font-size:27px;letter-spacing:.24em}.pin-keypad{width:min(100%,360px);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:10px}.pin-keypad button{min-height:74px;border:1px solid #388ca7;border-radius:11px;background:#0b354c;color:#f1fcff;font-size:30px;font-weight:900;box-shadow:0 5px 10px #00162388}.pin-keypad button:hover,.pin-keypad button:focus-visible{border-color:#5ceaff;background:#105875}.pin-keypad #pin-submit{border-color:#37d5ed;background:#11a9c9;color:#002638}.pin-keypad #pin-clear{color:#ffcfaf}.pin-error{min-height:21px;margin:13px 0 0;color:#ffb1aa;font-size:13px;font-weight:850}.settings-form{padding:24px}.settings-options{display:grid;gap:9px}.settings-form .settings-options label{display:flex;align-items:center;gap:10px;min-height:48px;padding:10px;border:1px solid #347d93;border-radius:8px;background:#082e43;color:#e9f7fc;font-size:14px}.settings-form .settings-options input{width:19px;min-height:19px;height:19px;accent-color:#13c5e5}.settings-feedback{margin:0;color:#9cc7d6;font-size:12px}
@media(max-width:700px){.page-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.page-tab{min-height:57px}.app-view{min-height:calc(100dvh - 250px)}.summary-actions .button{flex:1;min-width:130px}.recap-card{padding:14px}.recap-card-title h3{font-size:19px}.recap-preview>p{display:flex;margin-right:0}.recap-card-actions .button{width:100%}.settings-open{width:42px;height:42px}.settings-header{padding:15px}.settings-form{padding:17px}.pin-keypad button{min-height:68px}.delete-dialog{padding:20px}}
@media(max-width:700px){.top-actions .settings-open{width:42px;flex:none}}
.recap-code{display:inline-flex;align-items:center;min-height:32px;padding:5px 10px;border:1px solid #f0b457;border-radius:7px;background:#67451d;color:#ffe4ad;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:14px;font-weight:950;letter-spacing:.055em;white-space:nowrap}.recap-notice{margin:0 0 16px;padding:11px 14px;border:1px solid #62c8a8;border-radius:8px;background:#0c473f;color:#d6fff1;font-size:13px;font-weight:850}.settings-fixed{display:flex;align-items:center;min-height:48px;padding:10px;border:1px solid #347d93;border-radius:8px;background:#082e43;color:#89eddc;font-size:14px;font-weight:850}

/* Récapitulatif : période des journées concernées et cartes compactes. */
.recap-toolbar{display:flex;align-items:end;flex-wrap:wrap;gap:12px;margin-bottom:8px;padding:15px;border:1px solid #367f99;border-radius:11px;background:#082c42}
.recap-period{display:flex;flex-wrap:wrap;gap:6px}.recap-period .button{min-height:45px;padding:8px 14px;font-size:14px;font-weight:900}.recap-period .button[aria-pressed=true]{border-color:#51e3d2;background:#0c746f;color:#fff;box-shadow:inset 0 -2px #53e6d1}
.recap-date-tools{display:flex;align-items:end;gap:6px}.recap-date-tools>button{width:45px;min-height:45px;padding:0;font-size:20px}.recap-date-tools label,.recap-sort{display:grid;gap:5px;color:#9edbe8;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.recap-date-tools input,.recap-sort select{min-height:45px;padding:8px 10px;border:1px solid #397f99;border-radius:7px;background:#06283c;color:#fff;font-size:14px;font-weight:800;text-transform:none;letter-spacing:normal;color-scheme:dark}.recap-result-count{margin-left:auto;min-height:32px;display:inline-flex;align-items:center;padding:5px 11px;border:1px solid #4dc9b5;border-radius:99px;background:#0a524f;color:#d5fff4;font-size:13px;font-weight:900;white-space:nowrap}.recap-range-label{margin:0 0 14px;color:#b1dce5;font-size:14px;font-weight:750}
.recap-list{display:flex;flex-wrap:wrap;align-content:flex-start;align-items:flex-start;gap:16px;max-height:68dvh;min-height:0;overflow-y:auto;overscroll-behavior:auto;padding:2px 9px 4px 2px;scrollbar-color:#408aa2 #08283c}.recap-list:focus-visible{outline:2px solid #6be8ed;outline-offset:2px}
.recap-card{min-width:0}.recap-card.absence{width:min(100%,850px)}.recap-card.echange{width:100%}.recap-card.absence .recap-card-head{align-items:flex-start}.recap-card.absence .recap-card-title{gap:9px 12px}.recap-card.absence .recap-card-title h3{width:100%;font-size:clamp(25px,2vw,33px);line-height:1.1;color:#f5fdff}.recap-card.absence .recap-code{font-size:clamp(16px,1.2vw,19px);min-height:36px;padding:6px 12px}.recap-card.absence .recap-state{font-size:12px}.recap-card.absence .recap-card-actions{margin-top:17px;padding-top:13px}
#absence-summary-content{display:grid;gap:11px}.absence-summary-hero{display:flex;align-items:center;justify-content:space-between;gap:13px;flex-wrap:wrap;padding:17px 19px;border:1px solid #3e99ad;border-radius:9px;background:linear-gradient(135deg,#0c4b61,#092c42)}.absence-summary-identity{display:flex;align-items:center;gap:8px 13px;flex-wrap:wrap;min-width:0}.absence-summary-label{width:100%;color:#96dbea;font-size:11px;font-weight:950;letter-spacing:.08em}.absence-summary-name{color:#fff;font-size:clamp(25px,2vw,33px);line-height:1.05;overflow-wrap:anywhere}.absence-summary-matricule{display:inline-flex;align-items:center;min-height:31px;padding:5px 10px;border:1px solid #4a9bb1;border-radius:99px;background:#082c41;color:#d9f7ff;font-size:14px;font-weight:850}.absence-summary-type{display:grid;place-items:center;min-width:62px;min-height:43px;padding:6px 13px;border:1px solid #ffb466;border-radius:9px;background:#8d5424;color:#fff4e3;font-size:19px;font-weight:950}.absence-summary-fact{display:grid;gap:7px;padding:13px 18px;border:1px solid #397d98;border-radius:8px;background:#082a3e}.absence-summary-date{color:#fff;font-size:clamp(19px,1.6vw,25px);font-weight:950;letter-spacing:.015em}.recap-preview .absence-summary-hero{padding:13px 15px}.recap-preview .absence-summary-name{font-size:clamp(23px,1.7vw,29px)}.recap-preview .absence-summary-date{font-size:clamp(18px,1.4vw,22px)}
@media(max-width:700px){.recap-toolbar{align-items:stretch;padding:10px}.recap-period{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.recap-period .button{padding:7px 4px;font-size:12px}.recap-date-tools{width:100%}.recap-date-tools label{flex:1}.recap-date-tools input{width:100%;min-width:0}.recap-sort{width:100%}.recap-sort select{width:100%}.recap-result-count{margin-left:0;align-self:flex-start}.recap-list{display:grid;max-height:none;overflow:visible;padding:2px}.recap-card.absence,.recap-card.echange{width:100%}.recap-card.absence .recap-card-title h3{font-size:25px}.recap-card.absence .recap-code{font-size:16px}.absence-summary-hero{padding:12px}.absence-summary-name{font-size:24px}.absence-summary-matricule{font-size:12px}.absence-summary-date{font-size:19px}}

input[type="date"]:not(:disabled){cursor:pointer}

/* Une demande par ligne, avec défilement de la liste au doigt ou à la molette. */
.recap-list{display:grid;grid-template-columns:minmax(0,1fr);align-content:start;max-height:68dvh;overflow-y:auto;overflow-x:hidden;overscroll-behavior:auto;touch-action:pan-y;-webkit-overflow-scrolling:touch}
.recap-card.absence,.recap-card.echange{width:100%}
.recap-card.absence{display:flex;align-items:center;flex-wrap:wrap;gap:9px 14px;min-height:76px;padding:13px 17px}
.recap-card.absence .recap-type-pill,.recap-card.absence .recap-code{flex:none}
.recap-absence-name{color:#fff;font-size:clamp(21px,1.55vw,27px);line-height:1.1;overflow-wrap:anywhere}
.recap-absence-matricule{display:inline-flex;align-items:center;min-height:27px;padding:4px 9px;border:1px solid #4f93aa;border-radius:99px;background:#072b40;color:#c4e9f3;font-size:12px;font-weight:850;white-space:nowrap}
.recap-absence-date{color:#fff;font-size:clamp(18px,1.3vw,22px);white-space:nowrap}
.recap-absence-comment{flex:1 1 130px;min-width:0;max-width:42ch;padding-left:11px;border-left:2px solid #4499ae;color:#c9e4ef;font-size:13px;overflow-wrap:anywhere}
.recap-card.absence .recap-state{margin-left:auto}
.recap-card.absence .recap-card-actions{flex:none;align-self:center;display:block;margin:0;padding:0;border:0}
@media(max-width:700px){.recap-list{display:grid;max-height:64dvh;overflow-y:auto;overflow-x:hidden;padding:2px 6px 2px 2px}.recap-card.absence{gap:8px 10px;padding:13px}.recap-absence-name{font-size:21px}.recap-absence-date{font-size:18px;white-space:normal}.recap-absence-comment{flex-basis:100%;max-width:none}.recap-card.absence .recap-state{margin-left:0}.recap-card.absence .recap-card-actions{margin-left:auto}.recap-card.absence .recap-card-actions .button{width:auto}}

.topbar{min-height:58px;align-items:center;flex-wrap:nowrap;padding:8px clamp(14px,1.5vw,24px)}.app-brand{gap:9px}.app-brand h1{font-size:20px}.brand-mark{width:35px;height:35px;border-radius:9px;font-size:13px}.top-actions{width:auto;display:flex;flex-wrap:nowrap;margin-left:auto}.top-actions .settings-open{width:38px;height:38px;min-height:38px;padding:0;font-size:23px}
@media(max-width:700px){.topbar{min-height:55px;padding:7px 12px}.app-brand h1{font-size:19px}.brand-mark{width:33px;height:33px}.top-actions{width:auto;margin-left:auto;justify-content:flex-end}.top-actions .settings-open{width:38px;height:38px;min-height:38px}}

.form-error{margin:0;padding:12px 14px;border:1px solid #e77b77;border-radius:8px;background:#4d2534;color:#ffe5df;font-size:14px;font-weight:850}#exchange-form [aria-invalid="true"]{border-color:#f0887c;box-shadow:0 0 0 2px #f0887c33}

.identity-status{display:block;min-height:1.3em;color:#b1dce5;font-size:12px;text-transform:none;letter-spacing:normal}input[aria-invalid="true"]+.identity-status{color:#ffb1aa}
[hidden]{display:none!important}.auth-screen{min-height:100dvh;display:grid;place-items:center;padding:28px 16px;background:radial-gradient(at top right,#124e62,#061f2d)}.auth-card{width:min(100%,500px);padding:32px;border-radius:20px;background:#fff;color:#0b3042;box-shadow:0 20px 70px #00131c88}.auth-brand{display:flex;gap:12px;align-items:center;padding-bottom:25px;border-bottom:1px solid #dbe4e9}.auth-brand strong{font-size:18px}.auth-brand small{display:block;color:#617e8e;font-size:12px;margin-top:4px}.auth-brand .brand-mark{background:#fc6523;color:white}.auth-kicker{color:#f56228;font-size:12px;font-weight:900;letter-spacing:.09em;margin-top:30px}.auth-card h1{font-size:29px;margin:9px 0 12px;font-weight:650}.auth-card #auth-intro{color:#607f90;font-size:15px;line-height:1.6;margin:0 0 26px}.auth-card label{color:#143b4e}.auth-card input,.auth-card select{background:#fff;color:#12364a;border-color:#b9cdd7;min-height:47px;color-scheme:light}.auth-card .primary{background:#0c3040;color:#fff;border-color:#0c3040}.auth-card .button:not(.primary){color:#184259;background:white;border-color:#b9cdd7}.auth-card .auth-test{font-size:12px;color:#617f8f;line-height:1.7;margin:25px 0 0}.auth-feedback{color:#9c4221;font-size:14px;white-space:pre-wrap}.session-label{color:#c3e9ef;font-size:12px;max-width:220px}.chef-tabs{grid-template-columns:repeat(2,minmax(0,1fr))!important}.recap-card-actions{gap:10px}.state-accepted{background:#0b624f;border-color:#68d6ae}.state-refused{background:#713542;border-color:#ed919b}.state-cancelled{background:#3c4f5d;border-color:#91a7b4}.account-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:12px 0;border-bottom:1px solid #3c7289}.account-row .button{margin-left:auto}#account-approvals{margin-bottom:18px}#reload-requests{margin-bottom:12px}.recap-state{white-space:normal}.top-actions #logout{font-size:12px;min-height:36px;padding:6px 10px}@media(max-width:700px){.auth-card{padding:25px 20px}.session-label{max-width:120px;font-size:10px}.top-actions{gap:6px}.app-brand h1{font-size:16px}.topbar{gap:6px}.recap-card-actions{flex-wrap:wrap}.account-row .button{width:100%;margin:0}}
.settings-navigation{display:flex;gap:8px;padding:16px 22px;border-bottom:1px solid #34758c}.settings-navigation .button{flex:1;font-size:13px}.settings-navigation .button[aria-pressed=true]{background:#0e6a78;border-color:#64dbe3;color:white}.account-management{padding:22px}.account-management h3{margin:0;font-size:22px}.account-management>p{font-size:13px;color:#b3d6df;line-height:1.5}.account-filters{display:grid;gap:12px;margin:18px 0}.account-filters label{display:grid;gap:6px;font-size:12px;font-weight:800;color:#b9e5ec}.account-filters input,.account-filters select{width:100%;min-height:44px;padding:9px 11px;border:1px solid #40899f;border-radius:8px;background:#082b40;color:white;color-scheme:dark}.managed-account{padding:16px;margin:12px 0;border:1px solid #397c93;border-radius:10px;background:#092c40}.managed-account-head{display:flex;gap:10px;align-items:flex-start;justify-content:space-between}.managed-account-head strong{font-size:17px}.managed-account p{margin:9px 0;color:#bcdae3;font-size:12px;overflow-wrap:anywhere}.managed-account small{color:#99d9cf}.account-status{padding:4px 8px;border:1px solid #6b9cad;border-radius:99px;font-size:10px;white-space:nowrap}.status-active{background:#155749;color:#c9ffe7;border-color:#53b99b}.status-pending{background:#62451e;color:#ffe0a0;border-color:#c89d56}.status-suspended,.status-refused{background:#613440;color:#ffd2d5;border-color:#b8677e}.managed-account-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:13px}.managed-account-actions .button{min-height:40px;font-size:12px}.managed-account-actions .account-confirm{width:100%;font-size:13px;color:white}.account-result-count{font-size:12px;color:#b4d6df}#account-management-feedback{font-size:13px;color:#b8ede3;white-space:pre-wrap}@media(max-width:700px){.settings-navigation{padding:12px;gap:6px}.account-management{padding:16px}.managed-account{padding:13px}.managed-account-actions .button{flex:1}}
.mfa-qr{display:block;margin:16px auto;max-width:100%;height:auto;background:#fff;border:1px solid #d8e5ea;border-radius:10px}#mfa-enrollment p,.mfa-note,#mfa-recovery-screen p{color:#607f90;font-size:13px;line-height:1.6}.mfa-secret{display:block;overflow-wrap:anywhere;padding:12px;background:#edf5f7;font-size:15px;color:#123b4f;user-select:all}.mfa-recovery-list{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0;list-style:none}.mfa-recovery-list li{padding:10px 6px;background:#edf5f7;color:#12364a;border-radius:5px;font-family:monospace;font-size:13px;text-align:center;user-select:all}.auth-card .mfa-saved{display:flex;align-items:center;gap:8px;margin:20px 0;font-size:13px}.auth-card .mfa-saved input{min-height:20px;width:20px;flex:none}.auth-card #mfa-finish{width:100%}.auth-card details summary{cursor:pointer;font-size:13px;font-weight:750}.auth-card #mfa-code{font-size:22px;letter-spacing:.12em}.auth-card:has(#mfa-enrollment:not([hidden])){margin:15px 0}@media(max-width:450px){.mfa-recovery-list{grid-template-columns:1fr}.mfa-qr{width:230px}}
.auth-card button.button.primary{background:#0c3040;border-color:#0c3040;color:white}
/* Date centrée, boutons de jour adjacents et Aujourd’hui en dessous. */
.toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center}
.toolbar .date-navigation{grid-column:2;grid-row:1;justify-self:center;display:grid;grid-template-columns:auto minmax(0,148px) auto;gap:6px 10px;align-items:center;max-width:100%}
.date-navigation>small{grid-column:2;grid-row:1;text-align:center}
.date-navigation>#previous-day{grid-column:1;grid-row:2}
.date-navigation>.date-label{grid-column:2;grid-row:2}
.date-navigation>#next-day{grid-column:3;grid-row:2}
.date-navigation>#today{grid-column:2;grid-row:3;justify-self:center;min-height:32px;padding:6px 14px;font-size:12px}
.date-navigation input{width:148px;min-width:0;max-width:100%}
.date-navigation>#previous-day,.date-navigation>#next-day{min-height:42px;white-space:nowrap}
.toolbar>#refresh{grid-column:3;grid-row:1;justify-self:end;margin-left:0}
@media(max-width:700px){.toolbar{grid-template-columns:minmax(0,1fr);gap:12px}.toolbar .date-navigation{grid-column:1;grid-row:1;grid-template-columns:auto minmax(0,130px) auto;gap:6px}.date-navigation input{width:130px}.toolbar>#refresh{grid-column:1;grid-row:2;justify-self:end;width:auto}}
/* Aligner les libellés et les champs d’identité, indépendamment des messages d’aide. */
.identity-input-grid{align-items:start}
.identity-input-grid>label,.exchange-agent-card>label{align-self:start;align-content:start;grid-auto-rows:max-content}
.identity-input-grid input,.identity-input-grid select,.exchange-agent-card input,.exchange-agent-card select{height:49px;min-height:49px;box-sizing:border-box}
/* Horloge de référence, indépendante de la date de planning sélectionnée. */
.topbar{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:12px}.app-brand{grid-column:1;grid-row:1;min-width:0}.top-actions{grid-column:3;grid-row:1;justify-self:end;min-width:0;margin-left:0}.header-clock{grid-column:2;grid-row:1;display:grid;justify-items:center;align-content:center;gap:3px;min-width:170px;min-height:59px;padding:5px 22px;background:linear-gradient(120deg,#0a4358,#052c42 55%,#0a4358);clip-path:polygon(10% 0,90% 0,100% 50%,90% 100%,10% 100%,0 50%);border-top:2px solid #32ddef;border-bottom:2px solid #32ddef;filter:drop-shadow(0 0 7px #10d8ee55)}.header-clock-time{font-family:ui-monospace,Consolas,monospace;font-size:29px;font-weight:950;font-variant-numeric:tabular-nums;letter-spacing:.045em;line-height:1;color:#48eaff;text-shadow:0 0 6px #24dfff,0 0 15px #12cae9aa}.header-clock-date{color:#ecfbff;font-size:10px;font-weight:900;letter-spacing:.035em;white-space:nowrap}@media(max-width:700px){.topbar{grid-template-columns:minmax(0,1fr) auto;gap:8px}.header-clock{grid-column:1/-1;grid-row:2;justify-self:center;min-width:170px;min-height:55px}.top-actions{grid-column:2;grid-row:1}.header-clock-time{font-size:27px}}
/* Demandes d’absence : une phrase lisible, puis le service à remplacer. */
.content-card #absence-form>.absence-service{grid-column:1/-1;min-width:0;margin:0;padding:15px;border:1px solid #34758b;border-radius:9px;background:#082d40}
.absence-service legend{padding:0 7px;color:#9ce6ed;font-size:14px;font-weight:850}.absence-service p{margin:10px 0 0;color:#a5c9d6;font-size:12px;line-height:1.5}
.recap-card.absence{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px;padding:20px 24px;border-color:#397c91;background:linear-gradient(120deg,#0c3549,#08283b)}
.recap-absence-content{min-width:0}.recap-absence-sentence{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 9px;line-height:1.55}.recap-absence-sentence .recap-absence-name{font-size:clamp(20px,1.5vw,26px);font-weight:900;line-height:1.3}.recap-absence-words{color:#b2cdd8;font-size:15px}.recap-absence-type{display:inline-block;padding:1px 10px;border-radius:6px;background:#604224;color:#ffe0ab;font-size:20px;font-weight:900;border:1px solid #ac8250}.recap-absence-sentence .recap-absence-date{font-size:clamp(19px,1.4vw,24px);font-weight:850;white-space:nowrap}.recap-absence-details{display:flex;align-items:baseline;flex-wrap:wrap;gap:7px 22px;margin-top:10px}.recap-previous-service{color:#a7d1db;font-size:13px}.recap-previous-service strong{color:#86e7f0;font-size:17px;font-weight:900}.recap-agent-reference{color:#82aab9;font-size:11px}.recap-absence-note{margin:12px 0 0;padding-left:11px;border-left:2px solid #428b9d;color:#bdd8e2;font-size:13px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.recap-absence-status{display:flex;align-items:flex-end;flex-direction:column;gap:12px;max-width:380px}.recap-card.absence .recap-state{margin:0;font-size:11px}.recap-card.absence .recap-card-actions{display:flex;gap:8px;margin:0;padding:0;border:0;align-self:auto}.recap-card.absence .recap-card-actions .button{min-height:40px;font-size:12px}
@media(max-width:850px){.recap-card.absence{grid-template-columns:minmax(0,1fr);gap:16px;padding:17px}.recap-absence-status{max-width:none;align-items:flex-start;flex-direction:row;justify-content:space-between;flex-wrap:wrap;gap:12px}.recap-card.absence .recap-card-actions{margin-left:0}.recap-absence-words{font-size:14px}.recap-absence-type{font-size:18px}.recap-absence-details{gap:7px 14px}}
.recap-heading-actions{display:flex;flex-direction:column;align-items:flex-end;gap:7px;flex:none}.recap-heading-actions #reload-requests{min-height:46px;min-width:155px;margin:0;font-size:15px;font-weight:850}.recap-heading-actions #recap-last-refresh{color:#9ac8d5;font-size:11px;font-weight:650;white-space:nowrap}@media(max-width:700px){#view-recap .content-head{flex-wrap:wrap;gap:15px}.recap-heading-actions{width:100%;align-items:flex-start}.recap-heading-actions #reload-requests{width:100%}}

.refusal-dialog{width:min(580px,calc(100vw - 32px));max-height:90vh;overflow:auto;border:1px solid #24718a;border-radius:16px;background:#092c3f;color:#e6f6ff;padding:28px;box-shadow:0 24px 80px #0009}.refusal-dialog::backdrop{background:#00131dcc;backdrop-filter:blur(4px)}.refusal-dialog h2,.refusal-dialog p{margin:0}.refusal-dialog p{line-height:1.5;color:#aacddd}.refusal-dialog textarea{width:100%;min-height:120px}.decision-note,.decision-mail-status{width:100%;grid-column:1/-1}.decision-note{padding:14px;border-left:3px solid #ef9a9a;background:#7c292920;border-radius:6px}.decision-note p{white-space:pre-wrap;overflow-wrap:anywhere;margin:6px 0 0}.decision-mail-status{font-size:13px;color:#b9d5e2;margin:8px 0 0}.recap-card{flex-wrap:wrap}#refusal-feedback{color:#ffb3b3}

.team-sync{margin:8px clamp(16px,2vw,30px) 0;text-align:right;color:#a9cedc;font-size:11px;line-height:1.4}
