:root{color:#252a31;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#eef0f2;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica Neue,Arial,sans-serif}*{box-sizing:border-box}body{min-width:1180px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}:root{--orange:#f06418;--ink:#242932;--line:#dfe3e8;--soft-line:#edf0f3}.mobile-planning-navigation,.mobile-agenda{display:none}.planning-app{background:#eef0f2;min-height:100vh}.planning-topbar{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;height:86px;padding:0 24px;display:flex}.brand,.toolbar,.planning-summary,.planning-summary>div,.legend,.sticky-corner,.team-header{align-items:center;display:flex}.brand img{width:112px}.brand>span{background:var(--line);width:1px;height:38px;margin:0 18px}.brand p{color:#979ca4;letter-spacing:.13em;text-transform:uppercase;margin:0 0 3px;font-size:9px;font-weight:850}.brand h1{margin:0;font-size:20px}.toolbar{gap:8px}.year-select{color:#747b85;text-transform:uppercase;background:#fff;border:1px solid #d9dce1;border-radius:7px;align-items:center;gap:6px;height:38px;padding:0 9px;font-size:9px;font-weight:800;display:flex}.year-select select{color:#272c34;font:inherit;background:0 0;border:0;outline:0;font-size:11px}.planning-view-tabs{background:#f4f5f6;border:1px solid #dfe2e6;border-radius:9px;gap:3px;padding:4px;display:flex}.planning-view-tabs button{color:#727984;cursor:pointer;background:0 0;border:0;border-radius:6px;height:31px;padding:0 15px;font-size:10px;font-weight:800}.planning-view-tabs button.active{color:#fff;background:#20242c;box-shadow:0 3px 10px #20242c29}.toolbar button{cursor:pointer;background:#fff;border:1px solid #d9dce1;border-radius:7px;height:38px;padding:0 12px;font-size:11px;font-weight:750}.toolbar .add{border-color:var(--orange);background:var(--orange);color:#fff}.planning-search{color:#969ca5;background:#f7f8f9;border:1px solid #dfe2e6;border-radius:7px;align-items:center;gap:8px;width:260px;height:38px;padding:0 11px;display:flex}.planning-search input{background:0 0;border:0;outline:0;width:100%;font-size:11px}.planning-summary{border-bottom:1px solid var(--line);background:#fafafa;justify-content:space-between;height:52px;padding:0 24px;font-size:11px}.planning-summary>div{gap:9px}.planning-summary small{color:#8b919a;border-left:1px solid #dddfe3;padding-left:9px}.status-dot{background:#20a45b;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #dcf2e5}.status-dot.syncing{animation:.8s ease-in-out infinite alternate syncPulse}@keyframes syncPulse{to{opacity:.35;transform:scale(.75)}}.legend{color:#747b84;font-size:9px;gap:16px!important}.legend span{align-items:center;gap:5px;display:flex}.legend i{border-radius:2px;width:9px;height:9px;display:inline-block}.on-call-totals{align-items:center;gap:17px;display:flex}.on-call-totals span{color:#737a84;align-items:center;gap:6px;font-size:9px;font-weight:750;display:flex}.on-call-totals i{border-radius:2px;width:9px;height:9px}.on-call-totals b{color:#303640;text-align:center;background:#eceef1;border-radius:5px;min-width:22px;padding:4px 6px}.green{background:#61f22e}.red{background:#ef8582}.orange{background:#ffc000}.violet{background:#b700ff}.enedis{background:#dc2626}.grdf{background:#f4c20d}.aspiration{background:#7c3aed}.other-project{background:#64748b}.school-holiday-key{background:#dbeafe;border:1px solid #93c5fd}.absence-key{background:#f59e0b}.legend-separator{background:#d8dce1;width:1px;height:16px}.planning-scroll{height:calc(100vh - 138px);position:relative;overflow:auto}.planner-grid{background:#fff;width:max-content;min-width:100%}.sticky-corner{z-index:12;color:#fff;text-transform:uppercase;background:#242932;border-bottom:2px solid #4b5563;border-right:2px solid #4b5563;grid-template-columns:46px 70px 28px 106px;width:250px;height:66px;padding:0;font-size:8px;font-weight:850;display:grid;position:sticky;top:0;left:0}.sticky-corner>*{border-right:1px solid #ffffff1f;place-items:center;height:100%;display:grid}.team-header{z-index:11;width:360px;height:66px;margin-top:-66px;margin-left:calc(250px + (var(--team-index,0) * 360px));color:var(--ink);background:#fff;border-bottom:2px solid #c8ced6;border-right:2px solid #c8ced6;grid-template-columns:repeat(3,120px);display:grid;position:sticky;top:0}.team-header strong{text-align:center;text-transform:uppercase;letter-spacing:.05em;grid-column:1/-1;align-self:center;padding-top:7px;font-size:11px}.team-header span{color:#325b49;text-transform:uppercase;background:#e5f3ec;border-top:1px solid #d8e8e0;border-right:1px solid #d8e8e0;align-self:end;padding:6px 8px;font-size:8px;font-weight:800}.planning-row{height:var(--row-height);border-bottom:1px solid var(--soft-line);display:flex}.planning-row.week-start{border-top:2px solid #aeb5bf}.planning-row.today{box-shadow:inset 0 0 0 2px var(--orange)}.date-cell{z-index:8;background:#fafbfc;border-right:2px solid #c8ced6;flex:0 0 250px;grid-template-columns:46px 70px 28px 106px;align-items:center;width:250px;font-size:9px;display:grid;position:sticky;left:0}.date-cell span,.date-cell strong,.date-cell b,.date-cell em{border-right:1px solid var(--soft-line);place-items:center;min-width:0;height:100%;display:grid}.date-cell span{color:#7a828d;font-size:9px}.date-cell strong{font-weight:850}.date-cell b{color:#535b66;font-weight:850}.date-cell em{color:#7a828d;text-align:center;padding:0 7px;font-size:8px;font-style:normal;font-weight:750;line-height:1.15;overflow:hidden}.date-cell em.holiday-label{color:#2563a8;background:#e7f2ff}.today .date-cell{box-shadow:inset 4px 0 0 var(--orange);background:#fff1e8}.team-day{border-right:2px solid #c8ced6;flex:0 0 360px;grid-template-columns:repeat(3,120px);width:360px;display:grid;position:relative}.planning-cell-wrap{min-width:0;height:100%;position:relative;overflow:hidden}.planning-cell-wrap>button:first-child{width:100%;height:100%}.team-day button{border:0;border-right:1px solid var(--soft-line);color:#39414b;white-space:nowrap;text-overflow:ellipsis;text-align:left;cursor:default;background:#fff;min-width:0;padding:3px 7px;font-size:8px;font-weight:700;overflow:hidden}.planning-row.school-holiday .team-day button:not(.occupied){background:#f8fbff}.team-day button.occupied{border-left:5px solid var(--project-color,#64748b);background:color-mix(in srgb, var(--project-color,#64748b) 9%, white);color:#242932;cursor:pointer;font-weight:800}.team-day button.occupied:hover{z-index:3;box-shadow:inset 0 0 0 2px var(--project-color,#64748b);filter:brightness(.98);position:relative}.team-day button.empty-slot{color:#aab1bb;text-align:center;cursor:pointer}.team-day button.empty-slot:hover{color:var(--orange);background:#fff4ed}.team-day button.occupied>span{text-overflow:ellipsis;display:block;overflow:hidden}.team-day button.occupied>i{color:#fff;background:#168a4c;border-radius:50%;place-items:center;width:13px;height:13px;font-size:8px;font-style:normal;display:grid;position:absolute;top:2px;right:3px}.team-day button.occupied>b{color:#a44908;text-overflow:ellipsis;text-transform:uppercase;background:#fff8ee;border:1px solid #ea9a56;border-radius:4px;max-width:72px;padding:1px 4px;font-size:6px;position:absolute;bottom:1px;right:2px;overflow:hidden}.team-day button.site-ready{box-shadow:inset 0 -3px #168a4c}.team-day button.edit-planning-cell{z-index:7;color:#4c5663;cursor:pointer;opacity:0;background:#ffffffeb;border:1px solid #5b657238;border-radius:4px;place-items:center;width:16px;height:16px;padding:0;font-size:8px;transition:opacity .15s,transform .15s;display:grid;position:absolute;top:2px;right:2px}.planning-cell-wrap:hover .edit-planning-cell,.edit-planning-cell:focus-visible{opacity:1}.team-day button.edit-planning-cell:hover{color:#b84309;background:#fff1e8;transform:scale(1.08)}.team-day button.drag-planning-cell{z-index:8;color:#b84309;cursor:grab;opacity:0;touch-action:none;background:#fffffff5;border:1px solid #f0641873;border-radius:5px;place-items:center;width:22px;height:22px;padding:0;font-size:12px;font-weight:900;display:grid;position:absolute;bottom:2px;left:2px}.planning-cell-wrap:hover .drag-planning-cell,.drag-planning-cell:focus-visible{opacity:1}.team-day button.drag-planning-cell:active{cursor:grabbing;background:#fff1e8}.planning-cell-wrap>button[draggable=true]{cursor:grab}.planning-cell-wrap>button[draggable=true]:active{cursor:grabbing}.planning-cell-wrap.drag-source{opacity:.42}.planning-cell-wrap.drag-target{z-index:12;overflow:visible}.planning-cell-wrap.drag-target:before{content:"Déposer ici";z-index:20;color:#ad3e08;letter-spacing:.03em;pointer-events:none;background:#fff4edf5;border:2px dashed #f06418;border-radius:7px;place-items:center;font-size:9px;font-weight:900;display:grid;position:absolute;inset:2px}.date-cell{position:sticky}.date-cell em.company-event-label{color:#7a3e00;background:#fff2d8;box-shadow:inset 3px 0 #f59e0b}.date-cell em.company-event-label.event-formation{color:#5d31a2;background:#f0e9ff;box-shadow:inset 3px 0 #7c3aed}.edit-day-event{z-index:4;color:#5e6671;cursor:pointer;background:#ffffffe0;border:0;border-radius:4px;width:15px;height:15px;padding:0;font-size:9px;position:absolute;top:2px;right:2px}.team-day .team-absence-badge{z-index:5;color:#7c4a03;cursor:pointer;background:#fff7df;border:1px solid #f59e0b;border-radius:4px;width:auto;max-width:150px;height:14px;padding:0 5px;font-size:7px;line-height:12px;position:absolute;bottom:1px;right:2px;box-shadow:0 1px 4px #7c4a0326}.team-day .team-absence-badge:hover{background:#ffedb3}.team-day .team-conflict-badge{z-index:6;color:#991b1b;cursor:pointer;background:#fee2e2;border:1px solid #dc2626;border-radius:4px;width:auto;height:15px;padding:0 6px;font-size:7px;font-weight:900;line-height:13px;position:absolute;bottom:1px;right:2px;box-shadow:0 1px 5px #991b1b33}.detail-backdrop{z-index:30;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#13171d66;position:fixed;inset:0}.planning-detail{background:#fff;width:390px;height:100%;margin-left:auto;padding:32px;box-shadow:-15px 0 45px #14181f33}.planning-detail .close{float:right;cursor:pointer;background:#eff1f3;border:0;border-radius:7px;width:34px;height:34px;font-size:23px}.kicker{color:var(--orange);letter-spacing:.14em;text-transform:uppercase;margin:45px 0 6px;font-size:9px;font-weight:850}.planning-detail h2{margin:0 0 26px;font-size:23px;line-height:1.25}.planning-detail dl{border-top:1px solid #e4e6e9;margin:0}.planning-detail dl div{border-bottom:1px solid #e4e6e9;justify-content:space-between;padding:14px 0;display:flex}.planning-detail dt{color:#8a9098;text-transform:uppercase;font-size:10px}.planning-detail dd{text-align:right;max-width:230px;margin:0;font-size:12px;font-weight:750}.open-project{color:#fff;cursor:pointer;background:#262b33;border:0;border-radius:7px;width:100%;margin-top:25px;padding:13px;font-size:11px;font-weight:800}.open-project:disabled{color:#949aa3;cursor:not-allowed;background:#e3e5e8}.planning-entry-form{gap:13px;margin-top:18px;display:grid}.planning-entry-form label{color:#606977;letter-spacing:.06em;text-transform:uppercase;gap:6px;font-size:9px;font-weight:850;display:grid}.planning-entry-form input,.planning-entry-form select,.planning-entry-form textarea{box-sizing:border-box;color:#252b34;text-transform:none;resize:vertical;background:#fff;border:1px solid #d5dae1;border-radius:9px;outline:0;width:100%;padding:11px 12px;font:500 13px/1.4 inherit}.planning-entry-form input:focus,.planning-entry-form select:focus,.planning-entry-form textarea:focus{border-color:var(--orange);box-shadow:0 0 0 3px #f064181f}.planning-entry-form .ready-checkbox{color:#17683b;background:#f0fbf4;border:1px solid #b7ddc6;border-radius:9px;align-items:center;gap:9px;padding:11px;display:flex}.planning-entry-form .ready-checkbox input{accent-color:#168a4c;width:17px;padding:0}.planning-entry-actions{justify-content:flex-end;gap:9px;display:flex}.planning-entry-actions button{background:var(--orange);color:#fff;cursor:pointer;border:0;border-radius:9px;min-height:42px;padding:0 16px;font-weight:850}.planning-entry-actions button.delete-entry{color:#b42323;background:#fff;border:1px solid #edb4b4;margin-right:auto}.planning-entry-actions button:disabled{opacity:.55;cursor:wait}.planning-entry-readonly{color:#17683b;background:#f0f7f3;border-radius:10px;margin-top:18px;padding:13px}.planning-entry-readonly p{gap:5px;margin:0;display:grid}.planning-entry-readonly span{color:#57616d;white-space:pre-line}.event-dialog{overflow-y:auto}.event-dates{grid-template-columns:1fr 1fr;gap:10px;display:grid}.event-dates label{color:#606977;letter-spacing:.06em;text-transform:uppercase;gap:6px;font-size:9px;font-weight:850;display:grid}.agenda-company-event{color:#754000;text-align:left;background:#fff8e8;border:1px solid #f4c66f;border-radius:10px;gap:8px;width:100%;margin:0 0 8px;padding:10px 12px;display:flex}.agenda-company-event.event-formation{color:#593294;background:#f4efff;border-color:#cbb7f3}.agenda-company-event strong{text-transform:uppercase;flex:none;font-size:10px}.agenda-company-event span{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.agenda-task-wrap{position:relative}.agenda-task-wrap .agenda-task{width:100%}.agenda-edit-task{color:#48515d;background:#fffffff0;border:1px solid #5b657233;border-radius:9px;place-items:center;width:31px;height:31px;font-weight:900;display:grid;position:absolute;top:9px;right:9px;box-shadow:0 4px 12px #1e26301f}.agenda-drag-task{color:#ad3e08;touch-action:none;cursor:grab;background:#fffffff5;border:1px solid #f064188c;border-radius:9px;min-width:88px;height:34px;padding:0 10px;font-size:11px;font-weight:900;position:absolute;bottom:17px;right:48px;box-shadow:0 4px 12px #1e26301a}.agenda-drag-task:active{cursor:grabbing;background:#fff1e8}.agenda-task-wrap:has(.agenda-drag-task) .agenda-task{padding-bottom:52px}.mobile-drag-help{color:#884016;background:#fff7f1;border:1px solid #f3c4aa;border-radius:10px;margin:10px 0;padding:10px 12px;font-size:11px;font-weight:750;line-height:1.4}.agenda-task.empty-mobile-slot{border:1px dashed #cbd1d8;border-left:4px solid #cbd1d8;min-height:58px;color:#8a929d!important;background:#ffffff8c!important}.agenda-task-wrap.drag-source{opacity:.45}.agenda-task-wrap.drag-target:after{content:"Déposer ici";z-index:15;color:#ad3e08;pointer-events:none;background:#fff4edf5;border:2px dashed #f06418;border-radius:10px;place-items:center;font-size:12px;font-weight:900;display:grid;position:absolute;inset:2px}.absence-detail-list{gap:10px;margin-top:18px;display:grid}.absence-detail{background:#fafafa;border:1px solid #e0e3e8;border-left:5px solid #64748b;border-radius:8px;gap:4px;padding:13px;display:grid}.absence-conge{border-left-color:#2563eb}.absence-maladie{border-left-color:#dc2626}.absence-formation{border-left-color:#7c3aed}.absence-indisponibilite{border-left-color:#f59e0b}.absence-detail span{font-size:11px;font-weight:800}.absence-detail small{color:#737a84;font-size:10px}.absence-detail p{color:#555d68;margin:5px 0 0;font-size:11px;line-height:1.5}.on-call-scroll{height:calc(100vh - 138px);padding:18px 24px 30px;overflow:auto}.on-call-grid{background:#fff;border:2px solid #20242c;width:min(860px,100%);margin:0 auto;overflow:hidden;box-shadow:0 12px 35px #20242c17}.on-call-grid>header,.on-call-row{grid-template-columns:90px minmax(190px,1fr) repeat(3,minmax(115px,150px));display:grid}.on-call-grid>header{z-index:2;color:#fff;background:#20242c;min-height:52px;position:sticky;top:0}.on-call-grid>header>*{letter-spacing:.04em;text-transform:uppercase;border-right:1px solid #ffffff2e;place-items:center;font-size:10px;display:grid}.on-call-row{border-top:1px solid #cfd3d8;min-height:43px}.on-call-row:nth-child(odd){background:#f8f9fa}.on-call-week,.on-call-period{border-right:1px solid #d8dce1;justify-content:center;align-items:center;font-size:10px;display:flex}.on-call-week{font-weight:900}.on-call-period{color:#5f6670;font-weight:750}.on-call-row>button{color:#fff;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-right:1px solid #d8dce1;min-width:0;padding:0 9px;font-size:10px;font-weight:850;line-height:1.2;overflow:hidden}.on-call-row>button:last-child{border-right:0}.on-call-row>button:hover{background:#fff0e7}.on-call-row>button.assigned{background:var(--person-color);box-shadow:inset 0 0 0 3px #ffffff61}.on-call-detail-period{color:#707782;margin:10px 0 20px;font-size:11px;line-height:1.6}.on-call-options{flex-direction:column;gap:9px;display:flex}.on-call-options button{color:#363c45;cursor:pointer;background:#fff;border:1px solid #d9dde2;border-radius:8px;align-items:center;gap:10px;min-height:46px;padding:0 13px;font-size:11px;font-weight:800;display:flex}.on-call-options button i{background:var(--person-color);border-radius:3px;width:11px;height:11px}.on-call-options button span{color:var(--person-color);text-transform:uppercase;margin-left:auto;font-size:8px}.on-call-options button.active{border-color:var(--person-color)}.on-call-note{margin-top:20px;display:block;position:relative}.on-call-note>span{color:#555d68;letter-spacing:.06em;text-transform:uppercase;margin-bottom:7px;font-size:9px;font-weight:850;display:block}.on-call-note textarea{resize:vertical;color:#272c34;width:100%;min-height:104px;font:inherit;border:1px solid #d9dde2;border-radius:8px;outline:0;padding:12px;font-size:12px;line-height:1.45}.on-call-note textarea:focus{border-color:var(--orange);box-shadow:0 0 0 3px #f064181f}.on-call-note small{color:#969ca5;font-size:8px;position:absolute;bottom:8px;right:9px}.save-on-call-note{background:var(--orange);color:#fff;cursor:pointer;border:0;border-radius:8px;width:100%;margin-top:10px;padding:13px;font-size:11px;font-weight:850}.save-on-call-note:disabled{opacity:.55;cursor:wait}.planning-notice{z-index:50;color:#fff;text-align:left;cursor:pointer;background:#242932;border:0;border-radius:8px;align-items:center;gap:18px;max-width:min(430px,100vw - 30px);padding:13px 15px;font-size:11px;font-weight:750;display:flex;position:fixed;bottom:22px;right:22px;box-shadow:0 12px 30px #191d2447}.planning-notice span{color:#bfc4cb;margin-left:auto;font-size:17px}@media (width<=920px){.planning-topbar{flex-wrap:wrap;gap:10px;height:auto;min-height:86px;padding:12px}.planning-view-tabs{order:3;width:100%}.planning-view-tabs button{flex:1}.on-call-scroll{height:calc(100vh - 200px);padding:10px}.on-call-grid{min-width:620px;margin:0}.on-call-totals{gap:8px}.planning-summary{padding:0 12px}.planning-summary small{display:none}}@media (width<=720px){html,body,#root{overscroll-behavior-y:auto;width:100%;height:auto;min-height:100%;overflow:hidden auto}body{min-width:0}.planning-app{width:100%;height:auto;min-height:100dvh;display:block;overflow:visible}.planning-topbar{flex:none;gap:8px;padding:10px 12px}.brand{gap:12px;width:100%}.brand img{width:82px}.brand>span,.brand p{display:none}.brand h1{font-size:17px}.team-planning .planning-view-tabs{display:none}.toolbar{flex-wrap:wrap;gap:8px;width:100%}.planning-search{width:100%;height:44px}.planning-search input{font-size:16px}.toolbar button,.year-select{height:auto;min-height:44px;font-size:12px}.year-select select{font-size:16px}.planning-summary{height:auto;min-height:38px;padding:6px 12px;display:block;overflow:hidden}.planning-summary>div:first-child{display:none}.planning-summary .legend{scrollbar-width:none;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;width:100%;max-width:none;padding:2px 0 5px;overflow-x:auto;gap:7px!important}.planning-summary .legend::-webkit-scrollbar{display:none}.planning-summary .legend span{background:#fff;border:1px solid #e0e4e9;border-radius:999px;flex:none;padding:6px 8px}.mobile-planning-navigation{border-bottom:1px solid var(--line);background:#fff;gap:8px;padding:8px 12px;display:flex}.mobile-planning-navigation label{color:#737a84;flex:1;min-width:0;font-size:10px}.mobile-planning-navigation select,.mobile-planning-navigation input{border:1px solid var(--line);width:100%;min-width:0;height:44px;color:var(--ink);background:#fff;border-radius:7px;font-size:16px;display:block}.planning-scroll,.on-call-scroll{overscroll-behavior:auto;height:auto;min-height:0}.sticky-corner,.date-cell{grid-template-columns:23px 45px 22px;width:90px;padding:0;font-size:8px}.date-cell{flex-basis:90px}.sticky-corner>span:first-child{font-size:0}.sticky-corner>span:first-child:after{content:"S.";font-size:9px}.team-header{margin-left:calc(90px + (var(--team-index,0) * 330px))}.planning-row{min-height:44px}.team-day button{font-size:10px}.on-call-grid{width:100%;min-width:0}.on-call-grid>header,.on-call-row{grid-template-columns:32px minmax(84px,1.2fr) repeat(3,minmax(0,1fr))}.on-call-grid>header>*{overflow-wrap:anywhere;font-size:8px}.on-call-period{font-size:9px}.planning-detail{width:100%;max-width:100vw;overflow-y:auto}.planning-detail .close{min-width:44px;min-height:44px}.planning-scroll,.toolbar .grid-density-button,.team-planning .legend{display:none}.team-planning .mobile-planning-navigation{padding:6px 12px}.team-planning .mobile-planning-navigation label{white-space:nowrap;align-items:center;gap:10px;font-size:12px;display:flex}.team-planning .mobile-planning-navigation input{flex:1}.mobile-agenda{width:100%;min-height:50vh;padding:0 12px max(24px,env(safe-area-inset-bottom));overscroll-behavior:auto;display:block;overflow:visible}.mobile-agenda>header{z-index:10;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#eef0f2f5;justify-content:space-between;align-items:center;gap:8px;padding:10px 0;display:flex;position:sticky;top:0}.mobile-agenda>header div{text-align:center;min-width:0}.mobile-agenda>header strong,.mobile-agenda>header span{font-size:12px;display:block}.mobile-agenda>header span{color:#737a84;margin-top:4px}.mobile-agenda>header button{border:1px solid var(--line);background:#fff;border-radius:8px;flex-shrink:0;width:44px;height:44px;font-size:26px}.mobile-agenda article{margin-bottom:14px}.mobile-agenda h2{text-transform:capitalize;margin:12px 0 8px;font-size:13px}.mobile-agenda h2 small{color:#2563a8;text-transform:none;background:#dbeafe;border-radius:999px;margin-left:8px;padding:4px 7px;font-size:9px;font-weight:800;display:inline-flex}.mobile-agenda article.school-holiday{background:#f3f8ff;border-radius:10px;margin:8px -6px 14px;padding:1px 6px 6px}.mobile-agenda article>p{color:#737a84;padding:8px 0;font-size:12px}.agenda-task{text-align:left;border:1px solid var(--line);border-left:5px solid var(--task-color,#64748b);background:#fff;border-radius:10px;flex-direction:column;gap:8px;width:100%;margin-bottom:8px;padding:16px;display:flex}.agenda-task span{text-transform:uppercase;color:inherit;opacity:.72;font-size:10px}.agenda-task strong{overflow-wrap:anywhere;font-size:14px}.agenda-task small{color:inherit;opacity:.78;font-size:12px}.agenda-absence{color:#303640;text-align:left;background:#fff8e8;border:1px solid #e0e3e8;border-left:5px solid #f59e0b;border-radius:9px;gap:4px;width:100%;margin-bottom:8px;padding:12px 14px;display:grid}.agenda-absence span{text-transform:uppercase;font-size:9px;font-weight:850}.agenda-absence strong{font-size:13px}.agenda-absence small{color:#737a84;font-size:11px}.agenda-conflict{color:#991b1b;text-align:left;background:#fff1f0;border:1px solid #efaaa5;border-left:5px solid #dc2626;border-radius:9px;width:100%;margin-bottom:8px;padding:11px 13px;font-size:11px;font-weight:900}}@media (width<=430px){.planning-topbar{padding:9px 10px}.brand{min-height:42px}.brand img{width:76px}.brand h1{font-size:16px}.toolbar{grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.planning-search{grid-column:1/-1}.toolbar .add{grid-column:1/-1;width:100%}.planning-view-tabs{order:4;grid-column:1/-1}.planning-view-tabs button{min-width:0;padding-inline:7px;font-size:9px}.mobile-planning-navigation{grid-template-columns:1fr;display:grid}.mobile-planning-navigation label,.team-planning .mobile-planning-navigation label{white-space:normal;gap:5px;display:grid}.mobile-planning-navigation select,.mobile-planning-navigation input{width:100%}.mobile-agenda{padding-inline:9px}.mobile-agenda>header{margin-inline:-9px;padding-inline:9px}.mobile-agenda article{padding:8px}}.planning-app{background:radial-gradient(circle at 8% 0,#f064180e,#0000 25%),linear-gradient(#f8f9fb 0%,#eef1f4 100%)}.planning-topbar{z-index:20;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff2;position:relative;box-shadow:0 8px 28px #161d280d}.planning-topbar:after{content:"";background:linear-gradient(90deg,#0000,#f0641861 20%,#24293214 58%,#0000);height:1px;position:absolute;bottom:-1px;left:0;right:0}.brand img{filter:drop-shadow(0 5px 8px #191f2824);transition:transform .22s,filter .22s}.brand:hover img{filter:drop-shadow(0 8px 11px #191f282e);transform:translateY(-2px)}.brand h1{color:#171c24;letter-spacing:-.035em}.planning-view-tabs{background:#f2f4f6;border-color:#dce1e7;border-radius:11px;gap:4px;padding:5px;box-shadow:inset 0 1px 2px #191f280b}.planning-view-tabs button{border-radius:8px;height:33px;transition:color .18s,background .18s,transform .18s,box-shadow .18s}.planning-view-tabs button:hover{color:#272d36;transform:translateY(-1px)}.planning-view-tabs button.active{background:linear-gradient(135deg,#292f39,#181d24);box-shadow:0 6px 14px #191f2833,inset 0 1px #ffffff1f}.planning-view-tabs .oncall-tab:not(.active):after{content:"24/7";color:var(--orange);vertical-align:top;margin-left:6px;font-size:7px}.planning-search,.year-select,.toolbar button{border-color:#dce1e7;border-radius:9px;transition:border-color .18s,box-shadow .18s,transform .18s,background .18s;box-shadow:0 2px 7px #171e2809}.planning-search{background:#f7f8fa}.planning-search:focus-within,.year-select:focus-within{background:#fff;border-color:#f06418b8;box-shadow:0 0 0 4px #f0641817,0 7px 17px #181f290f}.toolbar button:hover{background:#fff;border-color:#c6ccd4;transform:translateY(-2px);box-shadow:0 8px 17px #181f2914}.toolbar .add{border-color:var(--orange);background:linear-gradient(135deg,#ff7429,#e6520d);box-shadow:0 7px 17px #f064183d}.toolbar .add:hover{border-color:var(--orange);background:linear-gradient(135deg,#ff7d36,#e6520d);box-shadow:0 10px 22px #f064184d}.planning-summary{z-index:19;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffc7;position:relative;box-shadow:0 5px 18px #181f2906}.status-dot{animation:2.2s ease-in-out infinite planningLive}@keyframes planningLive{50%{box-shadow:0 0 0 6px #20a45b14}}.legend{gap:8px!important}.legend span,.on-call-totals span{background:#ffffffdb;border:1px solid #e0e4e9;border-radius:999px;min-height:26px;padding:0 9px;font-weight:750;box-shadow:0 2px 6px #181f2909}.legend i,.on-call-totals i{border-radius:3px;width:10px;height:10px;box-shadow:inset 0 0 0 1px #00000014}.planning-scroll{scrollbar-width:thin;scrollbar-color:#9ea6b0 #e7eaee;background:#e8ecf0}.planning-scroll::-webkit-scrollbar{width:10px;height:10px}.on-call-scroll::-webkit-scrollbar{width:10px;height:10px}.planning-scroll::-webkit-scrollbar-track{background:#e7eaee}.on-call-scroll::-webkit-scrollbar-track{background:#e7eaee}.planning-scroll::-webkit-scrollbar-thumb{background:#9fa7b1;border:2px solid #e7eaee;border-radius:10px}.on-call-scroll::-webkit-scrollbar-thumb{background:#9fa7b1;border:2px solid #e7eaee;border-radius:10px}.planner-grid{background:#fff;box-shadow:0 12px 35px #181f2914}.sticky-corner{background:linear-gradient(145deg,#2b323d,#181d24);border-bottom-color:#4a535f;border-right-color:#4a535f;box-shadow:9px 7px 18px #13192221}.sticky-corner>*{color:#d6dbe2;letter-spacing:.05em}.team-header{background:linear-gradient(#fff,#f8fafb);border-bottom-color:#c7cdd5;border-right-color:#bbc2cb;box-shadow:0 8px 17px #181f290e}.team-header:before{content:"";background:var(--orange);border-radius:0 0 5px 5px;height:3px;position:absolute;top:0;left:12px;right:12px;box-shadow:0 3px 9px #f064183d}.team-header strong{color:#202630;letter-spacing:.045em;font-size:11px;font-weight:900}.team-header span{color:#2e5945;background:linear-gradient(#eaf6f0,#dff0e8);border-top-color:#dbe9e2;border-right-color:#d7e5de;padding-block:7px}.planning-row:nth-of-type(2n) .date-cell,.planning-row:nth-of-type(2n) .team-day button:not(.occupied){background-color:#fbfcfd}.planning-row:hover{z-index:2;position:relative;box-shadow:inset 0 1px #f0641829,inset 0 -1px #f0641829}.planning-row:hover .date-cell{background:#fff8f3}.planning-row.week-start{border-top:3px solid #8f98a4;box-shadow:0 -3px 8px #1e252f0d}.date-cell{background:#f7f9fb;border-right-color:#bbc2cb;box-shadow:7px 0 15px #181f2909}.date-cell strong{color:#242b35;font-variant-numeric:tabular-nums}.date-cell b{color:#626b77}.date-cell span{color:#818a96}.date-cell em.holiday-label{color:#235f9e;background:linear-gradient(90deg,#edf6ff,#dfeeff);box-shadow:inset 3px 0 #60a5fa}.planning-row.school-holiday .date-cell{background:#f2f8ff}.planning-row.today{z-index:4;box-shadow:inset 0 0 0 2px var(--orange), 0 5px 16px #f064181f;position:relative}.today .date-cell{color:#9e3907;box-shadow:inset 5px 0 var(--orange), 8px 0 18px #f0641814;background:linear-gradient(90deg,#fff0e6,#fff8f3)}.team-day{border-right-color:#bbc2cb}.team-day button.occupied{background:color-mix(in srgb, var(--project-color,#64748b) 8%, white);border-left-width:5px;position:relative;box-shadow:inset 0 1px #ffffff8c}.team-day button.occupied:hover{z-index:8;box-shadow:inset 0 0 0 2px var(--project-color,#64748b), 0 5px 13px #181f2926;filter:saturate(1.08);transform:translateY(-1px)}.team-day .team-conflict-badge,.team-day .team-absence-badge{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border-radius:5px}.detail-backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0f141b7a}.planning-detail{background:linear-gradient(#fff,#f7f9fb);animation:.24s cubic-bezier(.22,1,.36,1) planningDrawerIn;box-shadow:-28px 0 70px #11172040}@keyframes planningDrawerIn{0%{opacity:.7;transform:translate(45px)}}.planning-detail .close{transition:transform .18s,background .18s}.planning-detail .close:hover{color:#c64a0c;background:#ffece1;transform:rotate(90deg)}.planning-detail h2{color:#1b212a;letter-spacing:-.03em}.open-project{background:linear-gradient(135deg,#2b323d,#181d24);border-radius:10px;transition:transform .18s,box-shadow .18s;box-shadow:0 8px 19px #181f292e}.open-project:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 12px 25px #181f293d}.on-call-scroll{background:linear-gradient(#f4f6f8,#e9edf1)}.on-call-grid{border:1px solid #cfd5dc;border-radius:15px;overflow:hidden;box-shadow:0 18px 45px #191f281c}.on-call-grid>header{background:linear-gradient(135deg,#29313b,#171c23)}.on-call-row{border-top-color:#e0e4e9;transition:background .15s}.on-call-row:hover{background:#fff8f3}.on-call-row.current{box-shadow:inset 5px 0 var(--orange);background:linear-gradient(90deg,#fff0e6,#fff8f3)}.on-call-row>button{transition:transform .16s,box-shadow .16s,filter .16s}.on-call-row>button.assigned{box-shadow:inset 0 0 0 3px #ffffff6b, 0 4px 12px color-mix(in srgb, var(--person-color) 24%, transparent)}.on-call-row>button.assigned:hover{z-index:2;filter:saturate(1.08);position:relative;transform:scale(1.025)}.on-call-options button{border-radius:10px;transition:transform .15s,box-shadow .15s}.on-call-options button:hover{transform:translate(3px);box-shadow:0 7px 16px #181f2914}@media (width<=720px){.planning-topbar{background:#fffffff7}.planning-summary{background:#ffffffe6}.legend span{min-height:24px;padding:0 7px}.mobile-planning-navigation{background:#fffffff0;padding:9px 12px;box-shadow:0 5px 15px #181f290d}.mobile-planning-navigation select,.mobile-planning-navigation input{border-radius:10px}.mobile-agenda{background:linear-gradient(#f3f5f7,#edf0f3)}.mobile-agenda>header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f5f7f9f0;margin:0 -12px 8px;padding:10px 12px;box-shadow:0 5px 15px #181f290d}.mobile-agenda>header button{border-radius:11px;box-shadow:0 4px 11px #181f290f}.mobile-agenda article{background:#ffffffa8;border:1px solid #e0e4e9;border-radius:14px;padding:10px;box-shadow:0 6px 17px #181f290b}.mobile-agenda h2{color:#252c35;margin:2px 0 10px}.agenda-task{border-radius:12px;padding:15px;transition:transform .15s,box-shadow .15s;box-shadow:0 5px 14px #181f2912}.agenda-task:active{transform:scale(.985)}.planning-detail{padding:24px}}@media (prefers-reduced-motion:reduce){.planning-app *,.planning-app :before,.planning-app :after{transition:none!important;animation:none!important}}:root{--planning-shadow-sm:0 5px 15px #19202b0e;--planning-shadow-md:0 15px 38px #19202b1a;--planning-shadow-lg:0 30px 80px #0f151e3d;--planning-ease:cubic-bezier(.22,1,.36,1)}::selection{color:#171c23;background:#f0641833}.planning-app{animation:planningPageIn .42s var(--planning-ease) both}@keyframes planningPageIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.planning-search,.year-select,.toolbar button{border-radius:11px}.planning-view-tabs{border-radius:13px}.planning-view-tabs button{border-radius:9px}.toolbar .add{background:linear-gradient(135deg,#ff762b,#e9520a)}.toolbar button:active{box-shadow:none;transform:translateY(0)scale(.985)}.legend span,.on-call-totals span{transition:transform .2s var(--planning-ease), box-shadow .2s ease, border-color .2s ease}.legend span:hover,.on-call-totals span:hover{border-color:#cfd5dc;transform:translateY(-2px);box-shadow:0 7px 17px #19202b12}.planner-grid{animation:planningGridIn .5s var(--planning-ease) both}@keyframes planningGridIn{0%{opacity:.65;transform:translateY(5px)}to{opacity:1;transform:none}}.team-header{overflow:hidden}.team-header:after{content:"";background:linear-gradient(90deg,#0000,#f0641840,#0000);height:1px;position:absolute;bottom:0;left:0;right:0}.team-header strong{transition:color .2s ease, transform .2s var(--planning-ease)}.team-header:hover strong{color:#d9520d;transform:translateY(-1px)}.planning-row{transition:box-shadow .18s,filter .18s}.planning-row:hover{filter:saturate(1.025)}.date-cell{transition:background .18s,box-shadow .18s}.team-day button{transition:transform .2s var(--planning-ease), box-shadow .2s ease, filter .2s ease, background-color .2s ease}.team-day button.occupied:after{content:"";background:var(--project-color,#64748b);opacity:.75;border-radius:0 4px 4px 0;width:3px;position:absolute;top:4px;bottom:4px;left:0}.team-day button.occupied:hover{box-shadow:inset 0 0 0 2px var(--project-color,#64748b), 0 8px 18px #181f2929;transform:translateY(-2px)scale(1.01)}.team-day .team-conflict-badge,.team-day .team-absence-badge{transition:transform .18s var(--planning-ease), box-shadow .18s ease}.team-day .team-conflict-badge:hover,.team-day .team-absence-badge:hover{transform:translateY(-2px);box-shadow:0 7px 15px #19202b24}.detail-backdrop{animation:.2s both planningFadeIn}@keyframes planningFadeIn{0%{opacity:0}}.planning-detail{animation:planningDrawerSmoothIn .32s var(--planning-ease) both;padding:34px;position:relative}@keyframes planningDrawerSmoothIn{0%{opacity:0;transform:translate(55px)}to{opacity:1;transform:none}}.planning-detail:before{content:"";background:linear-gradient(90deg,#f06418,#ff9c65);height:4px;position:absolute;top:0;left:0;right:0}.planning-detail .close{border-radius:10px}.planning-detail dl{border-top-color:#e3e7eb}.planning-detail dl div{transition:transform .18s var(--planning-ease), background .18s ease;border-radius:9px;margin-inline:-8px;padding-inline:8px}.planning-detail dl div:hover{background:#f3f5f7;transform:translate(3px)}.absence-detail{box-shadow:var(--planning-shadow-sm);transition:transform .2s var(--planning-ease), box-shadow .2s ease;border-radius:11px}.absence-detail:hover{box-shadow:var(--planning-shadow-md);transform:translateY(-2px)}.open-project,.save-on-call-note{transition:transform .2s var(--planning-ease), box-shadow .2s ease, filter .2s ease}.save-on-call-note{background:linear-gradient(135deg,#ff762b,#e9520a);border-radius:11px;box-shadow:0 9px 22px #f0641838}.save-on-call-note:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 13px 28px #f064184a}.on-call-note textarea{border-radius:11px;transition:border-color .2s,box-shadow .2s,background .2s}.on-call-note textarea:focus{box-shadow:0 0 0 4px #f064181a, var(--planning-shadow-sm);background:#fff}.on-call-grid{animation:planningGridIn .48s var(--planning-ease) both}.on-call-row{transition:background .2s,box-shadow .2s}.on-call-row:hover{z-index:1;position:relative;box-shadow:0 7px 18px #19202b12}.on-call-row>button:not(:disabled):active{transform:scale(.98)}.on-call-options button{transition:transform .2s var(--planning-ease), box-shadow .2s ease, border-color .2s ease, background .2s ease}.on-call-options button.active{background:color-mix(in srgb, var(--person-color) 7%, white);box-shadow:0 7px 17px color-mix(in srgb, var(--person-color) 13%, transparent)}.planning-notice{animation:planningNoticeIn .28s var(--planning-ease) both;border-radius:12px}@keyframes planningNoticeIn{0%{opacity:0;transform:translateY(15px)scale(.98)}}@media (width<=720px){.planning-app{animation:none}.planning-topbar{border-radius:0 0 17px 17px;box-shadow:0 10px 26px #19202b13}.mobile-planning-navigation{border:1px solid #e0e4e9;border-radius:13px;margin:8px 10px 0}.mobile-planning-navigation select,.mobile-planning-navigation input{border-radius:10px}.mobile-agenda>header{border-radius:0 0 13px 13px}.mobile-agenda article{transition:transform .2s var(--planning-ease), box-shadow .2s ease;border-radius:16px}.mobile-agenda article:active{transform:scale(.992)}.agenda-task{border-radius:13px;position:relative}.agenda-task:after{content:"";background:var(--task-color,#64748b);border-radius:0 4px 4px 0;width:3px;position:absolute;top:9px;bottom:9px;left:0}.planning-detail{padding:26px 22px;position:relative}.planning-detail dl div:hover,.absence-detail:hover{transform:none}}@media (prefers-reduced-motion:reduce){.planning-app,.planner-grid,.detail-backdrop,.planning-detail,.planning-notice,.planning-app *,.planning-app :before,.planning-app :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.daily-summary-key{color:#6f7885;font-size:12px;font-weight:700}.daily-planning{background:radial-gradient(circle at 100% 0,#f1631612,#0000 28%),#f4f6f8;height:calc(100vh - 138px);min-height:0;padding:16px 20px 30px;overflow:auto}.daily-toolbar{z-index:8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff0;border:1px solid #dbe0e6;border-radius:14px;justify-content:center;align-items:center;gap:10px;margin:0 0 16px;padding:13px;display:flex;position:sticky;top:-16px;box-shadow:0 8px 28px #20262f14}.daily-toolbar>button{color:#20262f;cursor:pointer;background:#fff;border:1px solid #d7dde4;border-radius:10px;min-width:42px;height:42px;font-size:25px;font-weight:800}.daily-toolbar label{grid-template-columns:auto auto;align-items:center;gap:2px 14px;display:grid}.daily-toolbar label span{color:#f16316;letter-spacing:.11em;text-transform:uppercase;font-size:10px;font-weight:900}.daily-toolbar label input{height:42px;font:inherit;border:1px solid #d7dde4;border-radius:9px;grid-area:1/2/3;padding:0 10px}.daily-toolbar label strong{text-transform:capitalize;font-size:18px}.daily-toolbar .daily-today{color:#fff;background:#20262f;border-color:#20262f;width:auto;padding:0 16px;font-size:12px}.daily-export{gap:6px;display:flex}.daily-export button{color:#343b45;cursor:pointer;background:#fff;border:1px solid #d7dde4;border-radius:9px;min-height:42px;padding:0 12px;font-weight:800}.daily-export button:last-child{color:#c54a0b;border-color:#f16316}.daily-events{flex-wrap:wrap;gap:8px;margin:0 0 14px;display:flex}.daily-events article{color:#69400a;background:#fff9e8;border:1px solid #efc86f;border-left:5px solid #f59e0b;border-radius:9px;gap:2px;min-width:220px;padding:10px 13px;display:grid}.daily-events article.event-formation{color:#51308a;background:#f4efff;border-color:#cab7ed #cab7ed #cab7ed #7c3aed}.daily-events strong{text-transform:uppercase;font-size:10px}.daily-events span{font-weight:850}.daily-events small{opacity:.8}.daily-warning{color:#9a3b0b;background:#fff1e8;border-left:4px solid #f16316;border-radius:8px;margin:0 0 14px;padding:13px 16px;font-weight:700}.daily-grid{grid-template-columns:minmax(175px,1.1fr) minmax(150px,.9fr) minmax(185px,1.1fr) minmax(210px,1.35fr) 70px minmax(230px,1.5fr) minmax(125px,.8fr);display:grid}.daily-grid-head{z-index:7;color:#fff;background:#20262f;border-radius:11px 11px 0 0;min-width:1190px;position:sticky;top:80px;overflow:hidden}.daily-grid-head span{letter-spacing:.08em;text-transform:uppercase;border-right:1px solid #ffffff29;padding:13px 12px;font-size:10px;font-weight:900}.daily-rows{background:#fff;border:1px solid #cfd5dc;border-top:0;min-width:1190px}.daily-row{background:linear-gradient(var(--daily-color), var(--daily-color));color:#20262f;text-align:left;width:100%;min-height:96px;font:inherit;cursor:default;border:0;border-bottom:2px solid #78828e;padding:0}.daily-row:last-child{border-bottom:0}.daily-row.filled{cursor:pointer}.daily-row:hover{z-index:1;position:relative;box-shadow:inset 4px 0 #f16316,0 5px 16px #1f26301f}.daily-row>span{border-right:1px solid #cfd5dc;flex-direction:column;gap:5px;min-width:0;padding:12px;line-height:1.25;display:flex}.daily-row>span:last-child{border-right:0}.daily-row small{text-overflow:ellipsis;font-size:11px;display:block;overflow:hidden}.daily-row b{font-weight:900}.daily-team>b{color:#f16316;text-transform:uppercase;margin-bottom:4px;font-size:13px}.daily-team small{color:#58616e}.daily-order,.daily-site{font-size:11px}.daily-site em{color:#13733e;text-transform:uppercase;background:#dff6e8;border-radius:4px;margin-left:4px;padding:1px 5px;font-size:8px;font-style:normal;display:inline-block}.daily-empty{color:#7d8692;text-align:center;grid-column:1/-1;margin:0;padding:32px}.daily-backdrop{z-index:80;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#14192094;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.daily-dialog{background:#fff;border-radius:18px;width:min(920px,100%);max-height:calc(100vh - 48px);overflow:auto;box-shadow:0 24px 70px #0000004d}.daily-dialog>header{z-index:2;background:#fffffff5;border-bottom:1px solid #e2e6eb;justify-content:space-between;align-items:center;padding:22px 24px 17px;display:flex;position:sticky;top:0}.daily-dialog header span{color:#f16316;letter-spacing:.1em;text-transform:uppercase;font-size:10px;font-weight:900}.daily-dialog h2{margin:4px 0 0;font-size:22px}.daily-dialog header button{color:#747d88;cursor:pointer;background:#f0f2f5;border:0;border-radius:10px;width:38px;height:38px;font-size:23px}.daily-form{grid-template-columns:1fr 1fr;gap:17px;padding:22px 24px;display:grid}.daily-form>label{color:#626c79;letter-spacing:.07em;text-transform:uppercase;flex-direction:column;gap:7px;font-size:10px;font-weight:900;display:flex}.daily-form>label.wide{grid-column:1/-1}.daily-form input,.daily-form textarea,.daily-form select{box-sizing:border-box;color:#20262f;text-transform:none;resize:vertical;background:#f9fafb;border:1px solid #d4dae1;border-radius:9px;width:100%;padding:11px 12px;font:500 14px/1.4 inherit}.daily-form input:focus,.daily-form textarea:focus,.daily-form select:focus{background:#fff;border-color:#f16316;outline:3px solid #f1631624}.daily-assets{border:1px solid #d8dde3;border-radius:11px;min-width:0;margin:0;padding:12px}.daily-assets legend{color:#20262f;padding:0 7px;font-size:12px;font-weight:900}.daily-assets>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;max-height:178px;display:grid;overflow:auto}.daily-assets label{cursor:pointer;border:1px solid #e0e4e9;border-radius:8px;align-items:center;gap:8px;min-width:0;padding:9px;display:flex}.daily-assets label:has(input:checked){background:#fff4ed;border-color:#f16316}.daily-assets input{accent-color:#f16316;flex:none;width:16px}.daily-assets label span{flex-direction:column;min-width:0;display:flex}.daily-assets small{color:#6e7783;text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.daily-assets p{color:#7b8490;margin:8px;font-size:12px}.daily-interventions{grid-column:1/-1;gap:12px;display:grid}.daily-interventions>header{justify-content:space-between;align-items:center;gap:12px;display:flex}.daily-interventions>header div{gap:2px;display:grid}.daily-interventions>header strong{font-size:14px}.daily-interventions>header small{color:#727c89;font-size:11px}.daily-interventions>header button,.intervention-title button{color:#c74c0c;cursor:pointer;background:#fff;border:1px solid #f16316;border-radius:8px;min-height:34px;padding:0 11px;font-weight:800}.daily-interventions article{background:#fbfcfd;border:1px solid #dce1e7;border-left:5px solid #f16316;border-radius:12px;grid-template-columns:1fr 1fr;gap:12px;padding:14px;display:grid}.daily-interventions article>label{color:#626c79;letter-spacing:.06em;text-transform:uppercase;gap:6px;font-size:9px;font-weight:900;display:grid}.daily-interventions article input,.daily-interventions article textarea{box-sizing:border-box;color:#20262f;text-transform:none;resize:vertical;background:#fff;border:1px solid #d4dae1;border-radius:8px;width:100%;padding:10px 11px;font:500 13px/1.4 inherit}.intervention-title{grid-column:1/-1;justify-content:space-between;align-items:center;display:flex}.intervention-title button{color:#b42323;border-color:#efb5b5;min-height:30px}.daily-interventions article label.intervention-ready{color:#17683b;background:#f0faf4;border:1px solid #bce0ca;border-radius:8px;align-self:end;align-items:center;gap:8px;min-height:40px;padding:0 11px;display:flex}.daily-interventions article label.intervention-ready input{accent-color:#168a4c;width:17px;padding:0}.daily-dialog>footer{background:#fffffff7;border-top:1px solid #e2e6eb;grid-template-columns:auto 1fr auto auto;gap:9px;padding:15px 24px;display:grid;position:sticky;bottom:0}.daily-dialog footer button{cursor:pointer;background:#fff;border:1px solid #d4dae1;border-radius:9px;min-height:42px;padding:0 16px;font-weight:800}.daily-dialog footer .daily-save{color:#fff;background:#f16316;border-color:#f16316;box-shadow:0 7px 18px #f163163d}.daily-dialog footer .daily-delete{color:#bd2525;border-color:#e9a6a6}@media (width<=720px){.planning-view-tabs{order:3;width:100%;display:flex;overflow-x:auto}.planning-view-tabs button{flex:1 0 auto;min-height:42px}.team-planning .planning-view-tabs,.daily-summary-key{display:none}.daily-planning{flex:1;height:auto;padding:10px 10px 22px;overflow-x:hidden}.daily-toolbar{grid-template-columns:42px 1fr 42px;margin-bottom:10px;padding:10px;display:grid;top:-10px}.daily-toolbar label{text-align:center;flex-direction:column;gap:4px;min-width:0;display:flex}.daily-toolbar label span{display:none}.daily-toolbar label input{width:100%;height:40px}.daily-toolbar label strong{font-size:12px}.daily-toolbar .daily-today{grid-column:1/-1;width:100%;height:38px}.daily-export{grid-column:1/-1;grid-template-columns:repeat(3,1fr);display:grid}.daily-grid-head{display:none}.daily-rows{background:0 0;border:0;min-width:0}.daily-row{border:1px solid #d4dae1;border-left:4px solid #f16316;border-radius:12px;grid-template-columns:1fr;min-height:0;margin-bottom:10px;display:grid;overflow:hidden;box-shadow:0 5px 16px #20262f12}.daily-row>span{border-bottom:1px solid #a7afb961;border-right:0;min-height:32px;padding:9px 10px 9px 104px;position:relative}.daily-row>span:last-child{border-bottom:0}.daily-row>span:before{color:#7b8490;letter-spacing:.05em;text-transform:uppercase;width:85px;font-size:8px;font-weight:900;position:absolute;top:11px;left:10px}.daily-row>span:first-child:before{content:"Équipe"}.daily-row>span:nth-child(2):before{content:"Véhicules"}.daily-row>span:nth-child(3):before{content:"Engins"}.daily-row>span:nth-child(4):before{content:"Opérations"}.daily-row>span:nth-child(5):before{content:"Ordre"}.daily-row>span:nth-child(6):before{content:"Chantiers"}.daily-row>span:nth-child(7):before{content:"HRTP"}.daily-backdrop{align-items:end;padding:0}.daily-dialog{border-radius:18px 18px 0 0;width:100%;max-height:94vh}.daily-dialog>header{padding:17px 16px 13px}.daily-form{grid-template-columns:1fr;gap:13px;padding:16px}.daily-form>label.wide{grid-column:auto}.daily-assets>div,.daily-interventions article{grid-template-columns:1fr}.intervention-title{grid-column:auto}.daily-dialog>footer{grid-template-columns:1fr 1fr;padding:12px 16px}.daily-dialog footer span{display:none}.daily-dialog footer .daily-delete{grid-column:1/-1}}@media (width>=721px){.planning-topbar{gap:16px;height:auto;min-height:96px;padding-block:12px}.brand h1{font-size:23px}.brand p{font-size:10px}.planning-view-tabs button{min-height:40px;padding-inline:18px;font-size:12px}.toolbar button,.year-select,.planning-search{height:44px;min-height:44px}.toolbar button{font-size:12px}.year-select{font-size:10px}.year-select select,.planning-search input{font-size:13px}.planning-summary{height:auto;min-height:58px;padding-block:9px;font-size:13px}.planning-summary small,.legend{font-size:11px}.planning-scroll{height:calc(100vh - 154px)}.sticky-corner{grid-template-columns:50px 78px 34px 108px;width:270px;height:76px;font-size:10px}.team-header{width:420px;height:76px;margin-top:-76px;margin-left:calc(270px + (var(--team-index,0) * 420px));grid-template-columns:repeat(3,140px)}.team-header strong{font-size:13px}.team-header span{padding:8px;font-size:10px}.date-cell{flex-basis:270px;grid-template-columns:50px 78px 34px 108px;width:270px;font-size:11px}.date-cell span{font-size:10px}.date-cell em{font-size:9px}.team-day{flex-basis:420px;grid-template-columns:repeat(3,140px);width:420px}.team-day button{padding:5px 9px;font-size:10.5px;line-height:1.2}.team-day button.occupied>b{max-width:88px;padding:2px 5px;font-size:7px}.team-day button.occupied>i{width:17px;height:17px;font-size:10px}.team-day button.edit-planning-cell{width:24px;height:24px;font-size:11px}.team-absence-badge,.team-conflict-badge{min-height:18px!important;font-size:8px!important}.planning-detail{width:min(500px,48vw);padding:38px;overflow-y:auto}.planning-detail h2{font-size:28px}.planning-detail dt{font-size:11px}.planning-detail dd{font-size:14px}.planning-entry-form label,.event-dates label{font-size:11px}.planning-entry-form input,.planning-entry-form select,.planning-entry-form textarea{min-height:46px;font-size:15px}.open-project,.planning-entry-actions button{min-height:48px;font-size:13px}.on-call-grid{width:min(1020px,100%)}.on-call-grid>header,.on-call-row{grid-template-columns:100px minmax(220px,1fr) repeat(3,minmax(135px,165px))}.on-call-grid>header>*,.on-call-week,.on-call-period,.on-call-row>button{font-size:12px}.on-call-row{min-height:52px}.daily-toolbar>button,.daily-export button{min-height:48px}.daily-toolbar label strong{font-size:20px}.daily-grid-head span{font-size:11px}.daily-row small{font-size:12px}.daily-team>b{font-size:15px}}@media (width>=721px) and (width<=1180px){.planning-app{flex-direction:column;height:100dvh;display:flex;overflow:hidden}.planning-topbar{flex-wrap:wrap;flex:none;align-items:flex-start;padding:12px 16px}.brand{flex:260px}.brand img{width:96px}.planning-view-tabs{flex:340px;order:2}.planning-view-tabs button{flex:1;min-height:46px}.toolbar{order:3;grid-template-columns:minmax(220px,1fr) auto auto auto auto;gap:9px;width:100%;display:grid}.planning-search{width:auto}.toolbar button,.year-select{min-height:48px}.planning-summary{flex:none;padding-inline:16px}.planning-summary>div:first-child{min-width:0}.planning-summary small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.legend{white-space:nowrap;max-width:45%;padding-block:6px;overflow-x:auto}.mobile-planning-navigation{border-bottom:1px solid var(--line);background:#fff;flex:none;gap:10px;padding:10px 16px;display:flex}.mobile-planning-navigation label{color:#626c78;text-transform:uppercase;flex:1;gap:5px;font-size:11px;font-weight:800;display:grid}.mobile-planning-navigation select,.mobile-planning-navigation input{box-sizing:border-box;color:#222a34;background:#fff;border:1px solid #d4dae1;border-radius:10px;width:100%;min-height:48px;padding:0 12px;font-size:16px}.planning-scroll,.on-call-scroll,.daily-planning{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:1;height:auto;min-height:0}.planning-cell-wrap .edit-planning-cell,.planning-cell-wrap .drag-planning-cell{opacity:1}.planning-notice{padding:16px 18px;font-size:13px;bottom:18px;right:18px}.daily-toolbar{flex-wrap:wrap}.daily-export{justify-content:center;width:100%}.daily-export button{min-width:130px;font-size:13px}.daily-dialog{width:min(860px,100vw - 32px)}.daily-dialog header button{width:46px;height:46px}}@media (width>=721px) and (width<=820px){.toolbar{grid-template-columns:1fr 1fr 1fr}.planning-search{grid-column:1/-1}.toolbar .add{grid-column:span 2}.planning-summary small{display:none}.legend{max-width:55%}}@media print{body{background:#fff!important}.planning-topbar,.planning-summary,.daily-toolbar>button,.daily-export,.daily-backdrop,.planning-notice{display:none!important}.daily-planning{background:#fff;height:auto;padding:0;overflow:visible}.daily-toolbar{box-shadow:none;border:0;display:block;position:static}.daily-toolbar label{text-align:center;display:block}.daily-toolbar label input,.daily-toolbar label span{display:none}.daily-toolbar label strong{font-size:20px}.daily-grid-head,.daily-rows{min-width:0}.daily-row{break-inside:avoid}}
