:root{--font-size-min:13px;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#17202a;background:#f4f6f8;font-synthesis:none}*{box-sizing:border-box}small{font-size:var(--font-size-min)}body{margin:0}.app{display:flex;min-height:100vh}.sidebar{width:250px;background:#17212b;color:#dce3e8;padding:24px 16px;display:flex;flex-direction:column}.brand{font-size:19px;line-height:1.15;padding:4px 12px 28px;color:#fff}.brand strong{font-size:24px}.nav-title{font-size:var(--font-size-min);letter-spacing:.12em;color:#8795a1;margin:20px 12px 7px}.sidebar button{width:100%;border:0;background:transparent;color:#bfcad3;text-align:left;padding:10px 12px;border-radius:7px;font-size:14px;cursor:pointer}.sidebar button:hover,.sidebar button.active{background:#263544;color:#fff}.user-box{margin-top:auto;border-top:1px solid #30404d;padding:16px 8px 0;display:flex;gap:10px;align-items:center}.user-box small{display:block;color:#91a0ab;margin-top:3px}.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#e7edf2;color:#23313d;font-weight:700;font-size:var(--font-size-min)}main{flex:1;padding:34px 42px;max-width:1500px}header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:26px}.eyebrow{font-size:var(--font-size-min);letter-spacing:.12em;color:#7a8791;font-weight:700}h1{margin:4px 0 6px;font-size:29px}header p{margin:0;color:#71808c}.primary{background:#1d6b55;color:#fff;border:0;border-radius:7px;padding:11px 16px;font-weight:700;cursor:pointer}.panel{background:#fff;border:1px solid #e0e5e9;border-radius:10px;margin-bottom:22px;box-shadow:0 1px 2px #00000008}.panel-head{display:flex;justify-content:space-between;align-items:center;padding:19px 20px;border-bottom:1px solid #e7ebee}.panel-head h2{margin:0 0 4px;font-size:16px}.panel-head span{color:#7b8790;font-size:var(--font-size-min)}.legend{display:flex;gap:16px}.legend span{display:flex;align-items:center;gap:6px}.dot{width:8px;height:8px;border-radius:50%;display:inline-block}.green{background:#2c9b68}.gray{background:#aab2b8}.table{font-size:13px}.tr{display:grid;grid-template-columns:42px 1.6fr 1.5fr 1.3fr .7fr .9fr 1.25fr;align-items:center;padding:13px 20px;border-bottom:1px solid #edf0f2;gap:10px}.tr:last-child{border-bottom:0}.th{font-size:var(--font-size-min);text-transform:uppercase;letter-spacing:.06em;color:#84909a;font-weight:700;background:#fafbfb}.tr.disabled{background:#f0f1f2;color:#9ba3a9}.status{font-size:var(--font-size-min);padding:4px 8px;border-radius:20px}.status.on{background:#e7f5ee;color:#22744e}.status.off{background:#e2e4e6;color:#68737a}.actions{display:flex;gap:6px;justify-content:flex-end}.actions button,.month-nav button,.modal-actions button{border:1px solid #d9dfe3;background:#fff;border-radius:6px;padding:7px 9px;cursor:pointer;font-size:var(--font-size-min)}.actions button:disabled{opacity:.4;cursor:not-allowed}.calendar-panel{overflow:hidden}.month-nav{display:flex;align-items:center;gap:10px}.month-nav button{width:30px;padding:5px}.post-calendar{padding:18px 20px;border-bottom:1px solid #edf0f2}.post-calendar:last-child{border-bottom:0}.post-calendar-title{display:flex;gap:12px;align-items:baseline;margin-bottom:12px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.weekday{text-align:center;font-size:var(--font-size-min);font-weight:700;color:#8a949c;padding:4px}.empty{min-height:46px}.day{min-height:46px;border:1px solid #e6eaed;background:#fff;border-radius:6px;text-align:left;padding:6px 8px;cursor:pointer;color:#303b43;position:relative}.day:hover{border-color:#9db6ac}.day.selected{background:#eaf6f0;border-color:#8dc5ab;color:#166344;font-weight:700}.day small{position:absolute;right:6px;bottom:5px;font-size:var(--font-size-min);color:#43866a}.overlay{position:fixed;inset:0;background:#0006;display:grid;place-items:center;padding:20px;z-index:10}.modal{width:min(560px,100%);background:#fff;border-radius:12px;box-shadow:0 20px 60px #0003;padding:22px}.modal.small{width:min(450px,100%)}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.modal-head h2{margin:0 0 4px;font-size:19px}.modal-head span{font-size:var(--font-size-min);color:#7a8790}.modal-head>button{border:0;background:transparent;font-size:25px;color:#7b858d;cursor:pointer}.modal label{display:block;font-size:var(--font-size-min);font-weight:700;color:#46525b;margin:13px 0}.modal input,.modal select{display:block;width:100%;margin-top:6px;border:1px solid #d7dde1;border-radius:7px;padding:10px;font:inherit;background:#fff}.checks{display:flex;gap:22px;margin-top:8px}.checks label{font-weight:500;margin:0;display:flex;gap:6px;align-items:center}.checks input{width:auto;margin:0}.repeat{display:flex;gap:7px;margin-top:7px}.repeat button{border:1px solid #d7dde1;background:#fff;border-radius:7px;padding:8px 10px;font-size:var(--font-size-min);cursor:pointer}.repeat button.sel{background:#edf6f2;border-color:#9dc9b5;color:#1d6b55;font-weight:700}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:24px;padding-top:15px;border-top:1px solid #edf0f2}.modal-actions .primary{padding:9px 14px}@media(max-width:900px){.sidebar{width:210px}main{padding:24px}.tr{grid-template-columns:34px 1.4fr .9fr 1.2fr 1fr .5fr .8fr}.tr>*:nth-child(7){grid-column:1/-1;justify-content:flex-start}.table .th>*:nth-child(7){display:none}}.danger-cell{display:flex;align-items:center}.delete-icon{border:0;background:transparent;padding:3px;cursor:pointer;font-size:14px;line-height:1}.delete-icon:hover{transform:scale(1.08)}.action-primary{color:#fff!important;background:#1d6b55!important;min-width:110px}.danger-button{border:1px solid #c94b4b!important;background:#c94b4b!important;color:#fff!important;font-weight:700}.warning-text{background:#fff4e5;border:1px solid #f1d19c;color:#79521a;border-radius:7px;padding:11px 12px;font-size:13px;line-height:1.45}.specific-days{display:flex;gap:6px;margin-top:8px}.specific-days button{width:34px;height:32px;border:1px solid #d7dde1;background:#fff;border-radius:6px;cursor:pointer;font-weight:600}.specific-days button.sel{background:#edf6f2;border-color:#9dc9b5;color:#1d6b55}.modal-actions .primary{color:#fff!important}.modal-actions .primary:hover,.action-primary:hover{filter:brightness(.95)}.actions{justify-content:flex-end}.delete-icon{width:28px;height:28px;border:1px solid #d88787!important;border-radius:7px!important;background:#f9dddd!important;color:#a83f3f!important;font-size:16px!important;font-weight:700;padding:0!important;display:grid;place-items:center}.delete-icon:hover{background:#f4caca!important}.schedule-controls{background:#f8faf9;border:1px solid #e2e9e5;border-radius:8px;padding:13px 14px;margin:0 0 14px}.schedule-row{display:flex;gap:14px;align-items:flex-end;flex-wrap:wrap}.schedule-row+.schedule-row{margin-top:10px}.schedule-row label{font-size:var(--font-size-min);font-weight:700;color:#536069}.schedule-row input[type=date],.schedule-row select{display:block;margin-top:5px;border:1px solid #d7dde1;border-radius:6px;padding:7px 8px;background:#fff;font:inherit;font-size:var(--font-size-min)}.to-field{min-width:260px}.date-end{display:flex;gap:10px;align-items:center}.inline-check{font-weight:500!important;display:flex;gap:5px;align-items:center;white-space:nowrap}.inline-check input{width:auto!important;margin:0}.schedule-button{padding:8px 14px;margin-left:auto}.specific-inline{display:flex;gap:4px;margin-bottom:1px}.specific-inline button{width:28px;height:28px;border:1px solid #d7dde1;background:#fff;border-radius:5px;cursor:pointer;font-weight:700;font-size:var(--font-size-min)}.specific-inline button.sel{background:#edf6f2;border-color:#9dc9b5;color:#1d6b55}.shift-options{flex-wrap:wrap}.hint{display:block;margin-top:6px;color:#87929a;font-weight:400;font-size:var(--font-size-min)}.day small{white-space:nowrap}.post-calendar-title>div{display:flex;gap:12px;align-items:baseline}.post-calendar-title span{font-size:var(--font-size-min);color:#7b8790}.modal .shift-options label{font-weight:500}.actions button{white-space:nowrap}.post-calendar-toggle{width:100%;display:flex;justify-content:space-between;align-items:center;border:0;background:transparent;padding:0;text-align:left;cursor:pointer;color:inherit}.post-calendar-toggle>div{display:flex;gap:12px;align-items:baseline}.post-calendar-toggle span{font-size:var(--font-size-min);color:#7b8790}.post-calendar-toggle .chevron{font-size:16px;color:#71808c}.schedule-actions{display:flex;gap:8px;margin-left:auto}.secondary-button{border:1px solid #d9dfe3;background:#fff;color:#a33f3f;border-radius:6px;padding:8px 14px;font-size:var(--font-size-min);font-weight:700;cursor:pointer}.secondary-button:hover{background:#fff4f4;border-color:#d7a1a1}.schedule-controls{margin-top:14px}.sort-header{border:0;background:transparent;padding:0;color:#84909a;font:inherit;font-size:var(--font-size-min);text-transform:uppercase;letter-spacing:.06em;font-weight:700;text-align:left;cursor:pointer}.sort-header:hover{color:#4c5962}.delete-cell{display:flex;align-items:center;justify-content:flex-start}.modal-actions .primary{background:#1d6b55!important;color:#fff!important}.modal-actions .primary.action-primary{color:#fff!important}.schedule-options-row{align-items:flex-start}.schedule-option-field{min-width:220px}.schedule-option-field .checks{min-height:34px;align-items:center;margin-top:5px}.schedule-option-field select{width:220px;min-height:34px}.schedule-actions{display:flex;gap:8px;align-self:flex-end}.sort-header{border:0;background:transparent;padding:0;text-align:left;font:inherit;color:inherit;font-weight:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer}.schedule-list{font-size:13px}.schedule-list-row{display:grid;grid-template-columns:1.5fr .8fr .8fr .8fr .9fr 1.5fr;gap:12px;align-items:center;padding:13px 20px;border-bottom:1px solid #edf0f2}.schedule-list-row:last-child{border-bottom:0}.schedule-list-head{background:#fafbfb;color:#84909a;font-size:var(--font-size-min);text-transform:uppercase;letter-spacing:.06em;font-weight:700}.guard-form{display:grid;grid-template-columns:repeat(3,minmax(170px,1fr));gap:18px;padding:20px}.guard-form label{font-size:var(--font-size-min);font-weight:700;color:#46525b}.guard-form input,.guard-form select{display:block;width:100%;margin-top:6px;border:1px solid #d7dde1;border-radius:7px;padding:10px;font:inherit;background:#fff}.guard-check{grid-column:1/-1;display:flex!important;align-items:center;gap:8px}.guard-check input{width:auto!important;margin:0!important}.guard-note{margin:0 20px 20px;padding:12px 14px;border-radius:8px;background:#f6f8f9;color:#5c6871;font-size:var(--font-size-min);border:1px solid #e4e8eb}.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:14px}.specialty-list{font-size:13px}.specialty-list-row{display:grid;grid-template-columns:1.7fr .8fr 1.5fr;gap:12px;align-items:center;padding:13px 20px;border-bottom:1px solid #edf0f2}.specialty-list-row:last-child{border-bottom:0}.specialty-list-head{background:#fafbfb;color:#84909a;font-size:var(--font-size-min);text-transform:uppercase;letter-spacing:.06em;font-weight:700}.archived-row{background:#f4f5f6;color:#9ba3a9}.specialty-legend{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.level-chip{font-size:var(--font-size-min)!important;font-weight:700;padding:5px 8px;border-radius:7px;border:1px solid}.level-none{background:#f1f3f4!important;border-color:#d8dde0!important;color:#69757d!important}.level-exclusive{background:#e3f4ea!important;border-color:#8bc7a5!important;color:#17633f!important}.level-preferred{background:#fff4cd!important;border-color:#dec36a!important;color:#806612!important}.level-veto{background:#fae2e2!important;border-color:#d58e8e!important;color:#9a3333!important}.matrix-wrap{overflow:auto;padding:0 20px 20px}.specialty-matrix{display:grid;min-width:max-content;border-top:1px solid #e5eaed;border-left:1px solid #e5eaed}.matrix-head,.matrix-person,.matrix-cell{min-height:50px;border-right:1px solid #e5eaed;border-bottom:1px solid #e5eaed;padding:10px;display:flex;align-items:center;justify-content:center}.matrix-head{background:#fafbfb;font-size:var(--font-size-min);font-weight:700;color:#66727b;text-align:center}.matrix-person{justify-content:flex-start;flex-direction:column;align-items:flex-start;font-size:13px;font-weight:700}.matrix-person small{font-size:var(--font-size-min);color:#9aa3aa;font-weight:400;margin-top:3px}.matrix-cell{border-top:0;border-left:0;font:inherit;font-size:var(--font-size-min);font-weight:700;cursor:pointer;transition:.12s}.matrix-cell:hover{filter:brightness(.97);box-shadow:inset 0 0 0 1px #98a5ad}.matrix-note{margin:0 20px 20px;padding:11px 13px;background:#f6f8f9;border:1px solid #e4e8eb;border-radius:8px;color:#5c6871;font-size:var(--font-size-min)}.modal-actions button:disabled{opacity:.45;cursor:not-allowed}.specialty-list-row{grid-template-columns:1.55fr .75fr .8fr 1.5fr}.matrix-hint{margin:0 20px 10px;color:#7a8790;font-size:var(--font-size-min)}.matrix-wrap.draggable{cursor:grab;-webkit-user-select:none;user-select:none;scroll-behavior:auto}.matrix-wrap.draggable.dragging{cursor:grabbing}.matrix-head>div{display:flex;flex-direction:column;gap:2px;align-items:center}.matrix-head>div small{font-size:var(--font-size-min);color:#8b969e;font-weight:500;white-space:normal}.sticky-person{position:sticky;left:0;z-index:2;background:#fff}.matrix-head.sticky-person{z-index:3;background:#fafbfb}.matrix-person.sticky-person{background:#fff}main{min-width:0;width:calc(100% - 250px);max-width:none;overflow:hidden}.panel{min-width:0;max-width:100%}.matrix-wrap{width:100%;max-width:100%;overflow-x:auto;overflow-y:hidden;padding:0 20px 20px}.matrix-scroll-track{display:flex;align-items:flex-start;width:max-content;min-width:100%}.specialty-matrix{flex:0 0 auto;min-width:0}.matrix-end-spacer{flex:0 0 auto;height:1px;pointer-events:none}.matrix-wrap{padding-left:0;padding-right:20px;position:relative}.sticky-person{left:0;z-index:4}.matrix-head.sticky-person{z-index:5}.staff-table{font-size:13px}.staff-row{display:grid;grid-template-columns:36px 1.25fr 1.35fr .75fr .8fr .8fr .8fr .8fr .7fr 1.3fr;gap:12px;align-items:center;padding:13px 20px;border-bottom:1px solid #edf0f2}.staff-row:last-child{border-bottom:0}.staff-head{background:#fafbfb;color:#84909a;font-size:var(--font-size-min);text-transform:uppercase;letter-spacing:.06em;font-weight:700}.staff-row.disabled{background:#f5f6f7;color:#8c969d}.subline{display:block;font-size:var(--font-size-min);color:#8e999f;margin-top:3px}.info-panel{margin-top:20px}.info-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;padding:0 20px 20px}.info-grid>div{border:1px solid #e4e9ec;border-radius:8px;padding:14px;background:#fafbfb}.info-grid b{font-size:var(--font-size-min)}.info-grid p{font-size:var(--font-size-min);color:#6f7a82;line-height:1.45;margin:6px 0 0}.staff-modal{width:min(720px,calc(100vw - 40px));max-height:90vh;overflow:auto}.staff-section{margin-top:18px;padding-top:14px;border-top:1px solid #edf0f2}.staff-section h3{font-size:13px;margin:0 0 10px;color:#36434c}.check-line{display:flex!important;gap:8px;align-items:center;font-weight:600!important}.check-line input,.guard-range input{width:auto!important;margin:0!important}.guard-range{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-top:10px}.guard-range>label{display:flex!important;align-items:center;gap:6px;margin:0!important;font-weight:500!important}.range-fields{display:flex;gap:10px;margin-left:8px}.range-fields label{margin:0!important}.range-fields input{width:90px!important}.weekday-picks{display:flex;gap:6px;margin-top:8px}.weekday-picks button{width:34px;height:32px;border:1px solid #d7dde1;background:#fff;border-radius:6px;cursor:pointer;font-weight:700}.weekday-picks button.sel{background:#edf6f2;border-color:#9dc9b5;color:#1d6b55}.field-help{display:block;font-size:var(--font-size-min);color:#849099;margin-top:6px}@media(max-width:1200px){.staff-row{grid-template-columns:36px 1.2fr 1.3fr .75fr .8fr .8fr .8fr .8fr .7fr}.staff-row>*:last-child{grid-column:2/-1;justify-content:flex-start}.staff-head>*:last-child{display:none}.info-grid{grid-template-columns:1fr 1fr}}.leave-table,.request-table{font-size:13px}.leave-row{display:grid;grid-template-columns:1.35fr repeat(8,.62fr) 1.6fr;gap:10px;align-items:center;padding:12px 20px;border-bottom:1px solid #edf0f2}.leave-row:last-child,.request-row:last-child{border-bottom:0}.leave-head,.request-head{background:#fafbfb;color:#84909a;font-size:var(--font-size-min);text-transform:uppercase;letter-spacing:.05em;font-weight:700}.leave-row.disabled{background:#f5f6f7;color:#8d979e}.request-row{display:grid;grid-template-columns:1.35fr 1fr .8fr .8fr .5fr 1fr 1.45fr;gap:12px;align-items:center;padding:13px 20px;border-bottom:1px solid #edf0f2}.leave-status{display:inline-block;font-size:var(--font-size-min);font-weight:700;padding:5px 8px;border-radius:999px}.leave-status.pending{background:#fff4cd;color:#806612}.leave-status.approved{background:#e3f4ea;color:#17633f}.leave-status.rejected{background:#fae2e2;color:#9a3333}.leave-status.cancel-pending{background:#edf0f2;color:#5f6b73}.leave-settings{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:16px;padding:20px}.leave-settings label{font-size:var(--font-size-min);font-weight:700;color:#46525b}.leave-settings input{display:block;width:100%;margin-top:6px;border:1px solid #d7dde1;border-radius:7px;padding:10px;font:inherit;background:#fff}.ratio-line{display:flex;align-items:center;gap:8px}.ratio-line span{margin-top:6px;font-weight:700}.ratio-line input{max-width:110px}.leave-modal-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.leave-modal-grid label{margin:9px 0}@media(max-width:1250px){.leave-row{grid-template-columns:1.3fr repeat(4,.7fr) 1.4fr}.leave-head>*:nth-child(6),.leave-head>*:nth-child(7),.leave-head>*:nth-child(8),.leave-row>*:nth-child(6),.leave-row>*:nth-child(7),.leave-row>*:nth-child(8){display:none}.leave-row>*:last-child{grid-column:1/-1;justify-content:flex-start}.leave-settings{grid-template-columns:1fr 1fr}}.extra-time-row{display:flex;gap:8px;align-items:center;margin-top:6px}.extra-time-row input{min-width:0;flex:1}.extra-time-row button{white-space:nowrap}.field-error{display:block;color:#b42318;margin-top:5px}.extra-time-row button{border:1px solid #1d6b55!important;background:#1d6b55!important;color:#fff!important;border-radius:7px!important;padding:10px 14px!important;font-size:var(--font-size-min)!important;font-weight:700!important;cursor:pointer!important;line-height:1!important;min-height:38px}.extra-time-row button:hover{filter:brightness(.95)}.profile-form{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:16px;padding:20px}.profile-form label,.account-form label{font-size:var(--font-size-min);font-weight:700;color:#46525b}.profile-form input,.account-form input{display:block;width:100%;margin-top:6px;border:1px solid #d7dde1;border-radius:7px;padding:10px;font:inherit;background:#fff}.profile-form input:disabled{background:#f1f3f4;color:#78838b}.vd-choice{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:20px}.vd-choice button{border:1px solid #dce2e6;background:#fff;border-radius:9px;padding:15px;text-align:left;cursor:pointer;color:#34414a}.vd-choice button.selected{border-color:#75b396;background:#edf7f2;box-shadow:inset 0 0 0 1px #75b396}.vd-choice b{display:block;margin-bottom:6px}.vd-choice small{display:block;color:#74818a;line-height:1.4}.preference-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;padding:20px}.preference-card{min-height:68px;border:1px solid;border-radius:9px;padding:11px 12px;display:flex;align-items:center;justify-content:space-between;text-align:left;cursor:pointer}.preference-card span{display:flex;flex-direction:column;gap:3px}.preference-card span b{font-size:13px}.preference-card span small{font-size:var(--font-size-min);font-weight:500}.preference-card strong{font-size:var(--font-size-min)}.pref-like{background:#e3f4ea!important;border-color:#8bc7a5!important;color:#17633f!important}.pref-neutral{background:#f1f3f4!important;border-color:#d8dde0!important;color:#69757d!important}.pref-dislike{background:#fae2e2!important;border-color:#d58e8e!important;color:#9a3333!important}.account-form{display:flex;gap:14px;align-items:flex-end;padding:20px}.account-form label{flex:1;max-width:480px}.password-form label{max-width:360px}.account-message{margin:0 20px 20px;padding:10px 12px;background:#f6f8f9;border:1px solid #e2e7ea;border-radius:7px;color:#56636c;font-size:var(--font-size-min)}@media(max-width:900px){.profile-form,.vd-choice{grid-template-columns:1fr}.account-form{flex-direction:column;align-items:stretch}.account-form label{max-width:none}}.user-leave-summary{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px;padding:20px}.user-leave-summary>div{border:1px solid #e2e7ea;border-radius:9px;padding:14px;background:#fafbfb}.user-leave-summary span{display:block;font-size:var(--font-size-min);color:#7a8790;margin-bottom:6px}.user-leave-summary strong{font-size:22px;color:#2d3b44}.year-nav{display:flex;align-items:center;gap:10px}.year-nav button{border:1px solid #d9e0e4;background:#fff;border-radius:7px;width:32px;height:32px;cursor:pointer}.annual-calendar{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding:20px}.mini-month{border:1px solid #e2e7ea;border-radius:9px;padding:12px;background:#fff}.mini-month h3{margin:0 0 10px;text-transform:capitalize;font-size:13px}.mini-week,.mini-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.mini-week span{font-size:var(--font-size-min);font-weight:700;color:#93a0a8;text-align:center}.mini-day{position:relative;min-height:31px;border-radius:7px;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-min);border:1px solid transparent}.mini-day i{position:absolute;right:2px;bottom:1px;font-style:normal;font-size:var(--font-size-min);font-weight:800}.mini-day.approved{background:#e3f4ea;border-color:#9acbad;color:#17633f}.mini-day.pending{background:#fff0cf;border-color:#e4c575;color:#7b6010}.mini-day.cancel-pending{background:#edf0f2;border-color:#cbd2d7;color:#5f6b73}.user-request-row{display:grid;grid-template-columns:1.5fr .55fr .8fr 1fr;gap:12px;align-items:center;padding:13px 20px;border-bottom:1px solid #edf0f2}.user-request-row small{display:block;color:#89959d;font-size:var(--font-size-min);margin-top:3px}.empty-state{padding:22px;color:#7c8890;font-size:var(--font-size-min)}.request-days-preview{margin:14px 0 0;padding:12px;background:#f6f8f9;border:1px solid #e2e7ea;border-radius:8px;display:flex;align-items:baseline;gap:8px}.request-days-preview b{font-size:20px}.request-days-preview span{font-size:var(--font-size-min);color:#75818a}@media(max-width:1100px){.annual-calendar,.user-leave-summary{grid-template-columns:repeat(2,1fr)}}.calendar-request-toolbar{padding:16px 20px 0}.calendar-request-title{display:flex;align-items:baseline;gap:10px;margin-bottom:12px}.calendar-request-title b{font-size:13px}.calendar-request-title span{font-size:var(--font-size-min);color:#7c8992}.leave-type-buttons{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:9px}.leave-type-buttons button{border:1px solid #dce3e6;background:#fff;border-radius:9px;padding:10px 12px;text-align:left;cursor:pointer;display:grid;grid-template-columns:auto 1fr;column-gap:8px;row-gap:2px;align-items:center}.leave-type-buttons button strong{font-size:16px;color:#2d6251}.leave-type-buttons button span{font-size:var(--font-size-min);font-weight:700;color:#45525a}.leave-type-buttons button small{grid-column:2;font-size:var(--font-size-min);color:#849099}.leave-type-buttons button.selected{background:#edf7f2;border-color:#83bba4;box-shadow:0 0 0 1px #83bba4 inset}.calendar-selection-actions{margin-top:10px;padding:10px 12px;border:1px solid #dfe6e2;background:#f7faf8;border-radius:8px;display:flex;align-items:center;gap:9px}.calendar-selection-actions span{margin-right:auto;font-size:var(--font-size-min);color:#5f6d75}.calendar-selection-actions button{border:1px solid #d8dfe3;background:#fff;border-radius:6px;padding:8px 10px;cursor:pointer;font-size:var(--font-size-min)}.calendar-selection-actions .primary{background:#287a5e;color:#fff;border-color:#287a5e}.mini-day{font:inherit}.mini-day:disabled{cursor:default}.mini-day.non-working{background:#eceff1;border-color:#e1e5e7;color:#9aa3a9}.mini-day.calendar-selected{background:#dcebf8;border-color:#7aa8cc;color:#24597d;font-weight:800}.mini-day i{font-size:var(--font-size-min);right:3px;bottom:2px}.cancellation-alert{border-color:#e0c47f;background:#fffdf7}.cancellation-request{display:flex;align-items:center;gap:15px;padding:14px 20px;border-top:1px solid #eee6cf}.cancellation-request:first-of-type{border-top:0}.cancellation-request>div:first-child{display:flex;flex-direction:column;gap:3px}.cancellation-request span{font-size:var(--font-size-min);color:#7b858c}.cancellation-request .actions{margin-left:auto}.danger-action{border-color:#d49494!important;background:#fff4f4!important;color:#9c3d3d!important}.available-days-note{margin:-2px 0 10px;padding:9px 10px;background:#f4f8f6;border:1px solid #dfe8e3;border-radius:7px;font-size:var(--font-size-min);color:#607068}.available-days-note b{font-size:15px;color:#24684f}.request-days-preview.over-limit{background:#fff0f0;border-color:#e0a6a6;color:#9d3838}.leave-status.cancelled{background:#eceff1;color:#6e777d}@media(max-width:1000px){.leave-type-buttons{grid-template-columns:repeat(2,1fr)}}.mini-week span{font-size:var(--font-size-min);font-weight:800;color:#6f7b83;line-height:1;padding:2px 0 5px}.mini-day{background:#fff;border:1px solid #e0e5e8;color:#39464f;min-height:34px;font-size:var(--font-size-min)}.mini-day.non-working{background:#edf0f2;border-color:#cfd6da;color:#929ca3}.mini-day .day-number{font-size:var(--font-size-min);font-weight:500}.mini-day .day-main-code{font-size:13px;line-height:1;font-weight:800}.mini-day .day-corner-number{position:absolute;right:4px;bottom:3px;font-style:normal;font-size:var(--font-size-min);font-weight:400;line-height:1;opacity:.85}.mini-day:not(:disabled){cursor:pointer}.mini-day .day-number{font-size:var(--font-size-min)}.mini-day .day-main-code{font-size:14px}.mini-day .day-corner-number{font-size:var(--font-size-min)}.leave-type-buttons button:disabled{opacity:.42;cursor:not-allowed;background:#f3f5f6;border-color:#dfe4e7;color:#8b959b}.leave-type-buttons button:disabled:hover{transform:none;box-shadow:none}.holiday-add-row{display:grid;grid-template-columns:180px minmax(240px,1fr) auto;gap:12px;align-items:end;margin-bottom:18px}.holiday-add-row label{display:grid;gap:6px;font-size:var(--font-size-min);font-weight:700}.holiday-add-row input{width:100%}.holiday-table{border:1px solid #e2e7ea;border-radius:12px;overflow:hidden}.holiday-row{display:grid;grid-template-columns:190px minmax(260px,1fr) 130px;gap:12px;align-items:center;padding:10px 12px;border-top:1px solid #edf0f2}.holiday-head{background:#f6f8f9;font-size:var(--font-size-min);font-weight:800;color:#65717a}.holiday-row input{width:100%;box-sizing:border-box}@media(max-width:900px){.holiday-add-row,.holiday-row{grid-template-columns:1fr}}.leave-type-buttons{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.leave-type-buttons button{min-width:0;padding:8px}.leave-type-buttons button strong{font-size:13px}.leave-type-buttons button span{font-size:var(--font-size-min)}.leave-type-buttons button small{font-size:var(--font-size-min);white-space:nowrap}.holiday-table{width:100%;border:1px solid #dde3e6;border-radius:10px;overflow:hidden;background:#fff}.holiday-row{display:grid;grid-template-columns:180px minmax(0,1fr) 120px;gap:12px;align-items:center;padding:10px 12px;border-top:1px solid #edf0f2}.holiday-row:first-child{border-top:0}.holiday-head{background:#f4f6f7;color:#5f6a72;font-size:var(--font-size-min);font-weight:800}.holiday-actions-head,.holiday-actions{text-align:right}.holiday-date-cell input,.holiday-name-cell input{width:100%;height:36px;box-sizing:border-box;margin:0}.holiday-actions{display:flex;justify-content:flex-end;align-items:center}.holiday-add-row{display:grid;grid-template-columns:180px minmax(0,1fr) auto;gap:12px;align-items:end}@media(max-width:900px){.leave-type-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}.holiday-add-row,.holiday-row{grid-template-columns:1fr}.holiday-actions-head{display:none}.holiday-actions{justify-content:flex-start}}.calendar-selection-actions{margin-top:14px}.holiday-create-card{display:flex;align-items:flex-end;gap:12px;padding:14px;margin:0 0 16px;border:1px solid #e0e6e9;border-radius:10px;background:#f8fafb}.holiday-create-fields{display:grid;grid-template-columns:190px minmax(280px,1fr);gap:12px;flex:1;min-width:0}.holiday-create-fields label{display:flex;flex-direction:column;gap:6px}.holiday-create-fields label span{font-size:var(--font-size-min);font-weight:800;color:#56636c}.holiday-create-fields input{width:100%;height:38px;box-sizing:border-box;margin:0}.holiday-add-button{height:38px;padding:0 16px;white-space:nowrap}.holiday-table-wrap{width:100%;overflow:hidden;border:1px solid #dfe5e8;border-radius:10px;background:#fff}.holiday-table-clean{width:100%;border-collapse:collapse;table-layout:fixed}.holiday-table-clean th,.holiday-table-clean td{padding:10px 12px;border-bottom:1px solid #edf0f2;vertical-align:middle}.holiday-table-clean th{background:#f4f6f7;color:#5d6971;font-size:var(--font-size-min);font-weight:800;text-align:left}.holiday-table-clean th:nth-child(1),.holiday-table-clean td:nth-child(1){width:190px}.holiday-table-clean th:nth-child(3),.holiday-table-clean td:nth-child(3){width:110px;text-align:right}.holiday-table-clean tbody tr:last-child td{border-bottom:0}.holiday-date-input,.holiday-name-input{display:block;width:100%;height:36px;box-sizing:border-box;margin:0}.holiday-actions-cell{text-align:right}.holiday-delete-button{height:34px;padding:0 13px;border:1px solid #d98282;border-radius:7px;background:#fff5f5;color:#b33f3f;font-size:var(--font-size-min);font-weight:700;cursor:pointer}.holiday-delete-button:hover{background:#fdeaea;border-color:#c86262}@media(max-width:900px){.holiday-create-card{flex-direction:column;align-items:stretch}.holiday-create-fields{grid-template-columns:1fr}.holiday-add-button{align-self:flex-start}.holiday-table-wrap{overflow-x:auto}.holiday-table-clean{min-width:620px}}.holiday-panel .holiday-table-wrap{border:1px solid #e2e7ea;border-radius:12px;overflow:hidden;box-shadow:0 1px 2px #14232d06}.holiday-panel .holiday-table-clean{font-family:inherit;color:#26343d}.holiday-panel .holiday-table-clean thead th{height:42px;padding:0 16px;background:#f5f7f8;border-bottom:1px solid #e2e7ea;color:#52616b;font-family:inherit;font-size:var(--font-size-min);font-weight:750;letter-spacing:.01em;vertical-align:middle}.holiday-panel .holiday-table-clean tbody td{height:52px;padding:0 16px;background:#fff;border-bottom:1px solid #edf1f3}.holiday-panel .holiday-table-clean tbody tr:last-child td{border-bottom:0}.holiday-panel .holiday-table-clean tbody tr:hover td{background:#fafcfc}.holiday-panel .holiday-date-input,.holiday-panel .holiday-name-input{display:block;width:100%;height:36px;box-sizing:border-box;margin:0;padding:7px 9px;border:1px solid transparent;border-radius:7px;outline:none;background:transparent;color:#26343d;font-family:inherit;font-size:13px;font-weight:500;line-height:20px;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease}.holiday-panel .holiday-name-input{padding-left:0}.holiday-panel .holiday-date-input:hover,.holiday-panel .holiday-name-input:hover{background:#f6f8f9}.holiday-panel .holiday-date-input:focus,.holiday-panel .holiday-name-input:focus{background:#fff;border-color:#9fc8b8;box-shadow:0 0 0 3px #1f7a5b1a}.holiday-panel .holiday-date-input::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.55;margin-left:6px}.holiday-panel .holiday-date-input:hover::-webkit-calendar-picker-indicator{opacity:.85}.holiday-panel .holiday-actions-cell{text-align:right}.holiday-panel .holiday-delete-button{display:inline-flex;align-items:center;justify-content:center;height:32px;min-width:78px;padding:0 13px;border:1px solid #efb3b3;border-radius:8px;background:snow;color:#c24141;font-family:inherit;font-size:var(--font-size-min);font-weight:700;line-height:1;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.holiday-panel .holiday-delete-button:hover{background:#fff0f0;border-color:#df8e8e;color:#ad3030}.holiday-panel .holiday-create-card{border:1px solid #e2e7ea;border-radius:12px;background:#f8fafb;padding:14px 16px}.holiday-panel .holiday-create-fields input{height:38px;padding:8px 10px;border:1px solid #d8dfe3;border-radius:8px;background:#fff;color:#26343d;font-family:inherit;font-size:13px;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.holiday-panel .holiday-create-fields input:focus{border-color:#9fc8b8;box-shadow:0 0 0 3px #1f7a5b1a}.holiday-panel .holiday-create-fields input::placeholder{color:#9aa4aa}.holiday-panel .holiday-add-button{border-radius:8px;font-family:inherit;font-weight:700}.holiday-panel input,.holiday-panel button{font-family:inherit}.guard-header-actions{display:flex;gap:8px;align-items:center}.guard-toolbar{display:grid;grid-template-columns:auto auto 1fr;gap:18px;align-items:center}.guard-category-tabs{display:flex;gap:6px;background:#f2f5f6;padding:4px;border-radius:9px;width:max-content}.guard-category-tabs button{border:0;background:transparent;border-radius:7px;padding:8px 12px;font-weight:700;color:#66727a;cursor:pointer}.guard-category-tabs button.active{background:#fff;color:#1f5f4c;box-shadow:0 1px 3px #14281e1a}.guard-auto-mode{display:flex;gap:14px;justify-content:flex-end;font-size:var(--font-size-min);color:#56636b}.guard-auto-mode label{display:flex;gap:5px;align-items:center}.guard-rules-strip{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.guard-rules-strip span{padding:7px 10px;border-radius:8px;background:#f5f7f8;border:1px solid #e2e7ea;font-size:var(--font-size-min);color:#5f6b73}.guard-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.guard-day-card{min-width:0;border:1px solid #e0e5e8;border-radius:10px;background:#fff;padding:8px}.guard-day-card.weekend{background:#f7f8f9;border-color:#d5dce0}.guard-day-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:7px}.guard-day-head>div{display:flex;gap:6px;align-items:baseline}.guard-day-head strong{font-size:16px}.guard-day-head span{font-size:var(--font-size-min);font-weight:800;color:#7a858c}.guard-day-head small{font-size:var(--font-size-min);color:#748088}.guard-slots{display:grid;gap:5px}.guard-slot{display:grid;grid-template-columns:minmax(0,1fr) 28px;gap:4px;align-items:center}.guard-slot select{width:100%;min-width:0;height:30px;padding:0 6px;border:1px solid #dce2e5;border-radius:7px;background:#fff;font:inherit;font-size:var(--font-size-min);color:#35434b}.guard-slot.locked select{background:#eef7f3;border-color:#a9cdbf}.guard-lock{height:28px;width:28px;padding:0;border:1px solid #dce2e5;border-radius:7px;background:#fff;cursor:pointer;font-size:var(--font-size-min)}.guard-lock.on{background:#e7f3ee;border-color:#9fc7b8}.guard-summary-table{border:1px solid #e2e7ea;border-radius:10px;overflow:hidden}.guard-summary-row{display:grid;grid-template-columns:minmax(220px,1fr) 100px 160px 120px;gap:10px;align-items:center;padding:10px 12px;border-top:1px solid #edf0f2;font-size:var(--font-size-min)}.guard-summary-row:first-child{border-top:0}.guard-summary-head{background:#f5f7f8;color:#5d6870;font-weight:800}@media(max-width:1200px){.guard-calendar-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.guard-toolbar{grid-template-columns:1fr}.guard-auto-mode{justify-content:flex-start}}@media(max-width:760px){.guard-calendar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.guard-summary-table{overflow-x:auto}.guard-summary-row{min-width:620px}}.guard-month-weekdays,.request-calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin-bottom:7px}.guard-month-weekdays span,.request-calendar-weekdays span{text-align:center;font-size:var(--font-size-min);font-weight:800;color:#67737b}.guard-month-grid,.request-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.guard-month-empty,.request-calendar-empty{min-height:82px}.guard-month-day{position:relative;min-width:0;min-height:112px;padding:30px 7px 7px;border:1px solid #e0e5e8;border-radius:10px;background:#fff}.guard-month-day.non-working{background:#eef1f3;border-color:#cfd6da}.guard-month-number{position:absolute;top:8px;left:50%;transform:translate(-50%);font-size:15px;font-weight:700;color:#39464f}.guard-month-coverage{position:absolute;top:9px;right:8px;font-size:var(--font-size-min);color:#7c878e}.guard-month-day .guard-slots{display:grid;gap:5px}.guard-month-day .guard-slot select{height:29px;font-size:var(--font-size-min)}.request-config-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.request-config-grid label{display:grid;gap:6px;font-size:var(--font-size-min);font-weight:700}.request-config-grid input,.request-config-grid select{height:38px}.request-countdown{display:flex;justify-content:space-between;gap:12px;align-items:center}.request-countdown strong{font-size:15px}.request-countdown span{font-size:var(--font-size-min);color:#6e7980}.request-countdown.closed{background:#faf3f3;border-color:#ead0d0}.program-request-topbar{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:14px}.request-area-tabs{display:flex;gap:6px;padding:4px;border-radius:9px;background:#f2f5f6}.request-area-tabs button{border:0;background:transparent;padding:8px 14px;border-radius:7px;color:#66727a;font-weight:700;cursor:pointer}.request-area-tabs button.active{background:#fff;color:#1f5f4c;box-shadow:0 1px 3px #14281e1a}.request-paint-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:16px}.request-paint-options button{display:flex;align-items:center;gap:10px;min-width:0;padding:10px 12px;border:1px solid #dfe5e8;border-radius:10px;background:#fff;text-align:left;cursor:pointer}.request-paint-options button>i{width:18px;height:18px;border-radius:5px;border:1px solid rgba(0,0,0,.1);flex:0 0 auto}.request-paint-options button span{display:grid}.request-paint-options button b{font-size:var(--font-size-min)}.request-paint-options button small{font-size:var(--font-size-min);color:#768189}.request-paint-options button.selected{box-shadow:0 0 0 2px #1f7a5b29;border-color:#8ebdac}.request-paint-options button.request-cannot>i,.request-summary-legend i.request-cannot{background:#23272a}.request-paint-options button.request-avoid>i,.request-summary-legend i.request-avoid{background:#a7adb1}.request-paint-options button.request-want>i,.request-summary-legend i.request-want{background:#8dc8a8}.request-calendar-day{min-height:62px;border:1px solid #e0e5e8;border-radius:9px;background:#fff;color:#36434b;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;transition:transform .08s ease,border-color .12s ease,background .12s ease}.request-calendar-day.non-working{background:#eef1f3;border-color:#cfd6da}.request-calendar-day strong{font-size:14px}.request-calendar-day span{font-size:var(--font-size-min);font-weight:700}.request-calendar-day.request-cannot{background:#25292c;border-color:#191c1f;color:#fff}.request-calendar-day.request-avoid{background:#c5c9cc;border-color:#aeb4b8;color:#263238}.request-calendar-day.request-want{background:#dff1e8;border-color:#8ec3aa;color:#1f5a43}.request-calendar-day:disabled{cursor:not-allowed;opacity:.62}.request-calendar-day:not(:disabled):hover{transform:translateY(-1px)}.request-summary-legend{display:flex;gap:14px;margin:12px 0;font-size:var(--font-size-min);color:#68747c}.request-summary-legend span{display:flex;align-items:center;gap:6px}.request-summary-legend i{width:13px;height:13px;border-radius:4px;border:1px solid rgba(0,0,0,.1)}.request-summary-wrap{overflow-x:auto;border:1px solid #dfe5e8;border-radius:10px;background:#fff}.request-summary-grid{display:grid;min-width:max-content}.request-summary-name,.request-summary-day,.request-summary-cell{min-height:34px;border-right:1px solid #edf0f2;border-bottom:1px solid #edf0f2;display:flex;align-items:center;justify-content:center;box-sizing:border-box}.request-summary-name{position:sticky;left:0;z-index:2;justify-content:flex-start;padding:7px 10px;background:#fff}.request-summary-name small{display:block;margin-left:8px;color:#879198;font-size:var(--font-size-min)}.request-summary-head{position:sticky;top:0;z-index:3;background:#f5f7f8;font-size:var(--font-size-min);font-weight:800;color:#606c74}.request-summary-name.request-summary-head{z-index:4}.request-summary-cell.request-cannot{background:#25292c}.request-summary-cell.request-avoid{background:#b8bdc0}.request-summary-cell.request-want{background:#a9d7bd}@media(max-width:1100px){.request-config-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.guard-month-grid,.request-calendar-grid{grid-template-columns:repeat(7,minmax(88px,1fr));overflow-x:auto}}@media(max-width:760px){.program-request-topbar{align-items:stretch;flex-direction:column}.request-paint-options,.request-config-grid{grid-template-columns:1fr}}.request-config-panel .request-config-lines{display:grid;gap:10px}.request-config-panel .request-config-line{display:grid;align-items:center;gap:10px;padding:12px 14px;border:1px solid #e3e8eb;border-radius:10px;background:#f9fbfb}.request-config-panel .request-config-close{grid-template-columns:auto auto 90px auto minmax(180px,260px)}.request-config-panel .request-config-limits{grid-template-columns:90px repeat(3,minmax(150px,1fr))}.request-config-panel .request-config-line>b{font-size:var(--font-size-min);color:#33434c}.request-config-panel .request-config-line>span{font-size:var(--font-size-min);color:#68747c}.request-config-panel .request-config-line label{display:grid;grid-template-columns:minmax(0,1fr) 74px;gap:8px;align-items:center;margin:0;font-size:var(--font-size-min);font-weight:700;color:#5c6870}.request-config-panel .request-config-line input,.request-config-panel .request-config-line select{width:100%;height:36px;box-sizing:border-box;margin:0;padding:6px 9px;border:1px solid #d9e0e4;border-radius:8px;background:#fff;color:#34434b;font-family:inherit;font-size:var(--font-size-min);outline:none}.request-config-panel .request-config-line input:focus,.request-config-panel .request-config-line select:focus{border-color:#9fc8b8;box-shadow:0 0 0 3px #1f7a5b1a}@media(max-width:1000px){.request-config-panel .request-config-close,.request-config-panel .request-config-limits{grid-template-columns:1fr}.request-config-panel .request-config-line label{grid-template-columns:1fr 90px}}.staff-table,.specialty-matrix{contain:layout paint}.generation-report{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-top:12px;padding:10px 12px;border:1px solid #dfe5e8;border-radius:9px;background:#f8faf9;font-size:var(--font-size-min);color:#59666e}.generation-report b{color:#30413a}.generation-report.complete{border-color:#cfe3d9;background:#f5faf7}.generation-report.has-gaps{border-color:#ead5b9;background:#fff9f1}.weekend-capacity-warning{margin-top:12px;padding:10px 12px;border:1px solid #ead3ad;border-radius:9px;background:#fff8ed;color:#76552d;font-size:var(--font-size-min)}.weekend-capacity-warning b{color:#5f421f}.guard-summary-row{grid-template-columns:minmax(220px,1fr) 80px 110px 120px 100px}.weekend-overload{display:inline-flex;align-items:center;justify-content:center;width:26px;height:24px;border-radius:6px;background:#fff0e8;color:#b45122;font-weight:800}.audit-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}.audit-kpi{display:grid;gap:3px;padding:12px 14px;border:1px solid #e1e7ea;border-radius:10px;background:#f8fafb}.audit-kpi small{font-size:var(--font-size-min);font-weight:800;text-transform:uppercase;letter-spacing:.03em;color:#6d7980}.audit-kpi strong{font-size:21px;color:#2f3e46}.audit-kpi span{font-size:var(--font-size-min);color:#7a858c}.audit-kpi.ok{border-color:#cfe4da;background:#f5faf7}.audit-kpi.ok strong{color:#1f7154}.audit-kpi.danger{border-color:#ebc1c1;background:#fff7f7}.audit-kpi.danger strong{color:#b43d3d}.audit-table-wrap{width:100%;overflow-x:auto;border:1px solid #dfe5e8;border-radius:10px;background:#fff}.audit-table{min-width:980px}.audit-row{display:grid;grid-template-columns:minmax(180px,1.2fr) minmax(140px,1fr) 60px 60px 60px 60px minmax(260px,1.6fr);gap:10px;align-items:center;min-height:42px;padding:7px 12px;border-top:1px solid #edf1f3;font-size:var(--font-size-min);color:#42515a}.audit-row:first-child{border-top:0}.audit-head{min-height:38px;background:#f5f7f8;color:#5c6971;font-size:var(--font-size-min);font-weight:800}.audit-row>span:nth-child(3),.audit-row>span:nth-child(4),.audit-row>span:nth-child(5),.audit-row>span:nth-child(6){text-align:center}.audit-row small{display:block;margin-top:2px;color:#8a949a}.audit-row-danger{background:snow}.audit-bad{display:inline-flex;align-items:center;justify-content:center;min-width:22px;padding:3px 6px;border-radius:6px;background:#fdecec;color:#b73838;font-weight:800}.audit-good{color:#1f7757;font-weight:800}.audit-bad-text{color:#b73838;font-weight:700}.audit-ok-text{color:#32735a;font-weight:700}.audit-muted{color:#7b858c}@media(max-width:1000px){.audit-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.audit-kpis{grid-template-columns:1fr}}.guard-summary-row{grid-template-columns:minmax(220px,1fr) 72px 105px 105px 115px 95px}.audit-table{min-width:1080px}.audit-row{grid-template-columns:minmax(180px,1.2fr) minmax(150px,1fr) 70px 60px 60px 60px 60px minmax(260px,1.6fr)}.audit-row>span:nth-child(3),.audit-row>span:nth-child(4),.audit-row>span:nth-child(5),.audit-row>span:nth-child(6),.audit-row>span:nth-child(7){text-align:center}.collapsible-panel{padding:0;overflow:hidden}.collapsible-panel-head{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border:0;background:#fff;color:inherit;text-align:left;cursor:pointer;font-family:inherit}.collapsible-panel-head:hover{background:#fafbfb}.collapsible-panel-head>div{display:grid;gap:4px}.collapsible-panel-head h2{margin:0;font-size:16px}.collapsible-panel-head div>span{font-size:var(--font-size-min);color:#748088}.collapse-chevron{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid #e0e5e8;border-radius:8px;background:#f8fafb;color:#5f6c74;font-size:20px;line-height:1;transform:rotate(-90deg);transition:transform .15s ease}.collapse-chevron.open{transform:rotate(0)}.collapsible-panel-body{padding:0 20px 20px;border-top:1px solid #edf0f2}.collapsible-panel-body>.guard-summary-table,.collapsible-panel-body>.audit-kpis{margin-top:16px}.monthly-summary-panel .panel-head{margin-bottom:14px}.monthly-summary-wrap{width:100%;overflow-x:auto;border:1px solid #dfe5e8;border-radius:10px;background:#fff}.monthly-summary-table{min-width:1160px}.monthly-summary-row{display:grid;grid-template-columns:minmax(180px,1.25fr) 115px 105px 110px 64px 64px 64px 110px minmax(260px,1.8fr);gap:10px;align-items:center;min-height:42px;padding:7px 12px;border-top:1px solid #edf1f3;font-size:var(--font-size-min);color:#42515a}.monthly-summary-row:first-child{border-top:0}.monthly-summary-head{min-height:40px;background:#f5f7f8;color:#5c6971;font-size:var(--font-size-min);font-weight:800}.monthly-summary-row>span:nth-child(2),.monthly-summary-row>span:nth-child(3),.monthly-summary-row>span:nth-child(4),.monthly-summary-row>span:nth-child(5),.monthly-summary-row>span:nth-child(6),.monthly-summary-row>span:nth-child(7),.monthly-summary-row>span:nth-child(8){text-align:center}.monthly-summary-row small{display:block;margin-top:2px;color:#8a949a}.monthly-summary-danger{background:snow}.guard-header-actions{display:grid;gap:8px;justify-items:end}.guard-workflow-row,.guard-generation-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.guard-header-actions button:disabled{opacity:.48;cursor:not-allowed}.publication-status{display:inline-flex;align-items:center;min-height:32px;padding:0 11px;border-radius:999px;border:1px solid #dfe5e8;font-size:var(--font-size-min);font-weight:800}.publication-status.draft{background:#f5f7f8;color:#64717a}.publication-status.reviewed{background:#fff8e8;border-color:#ead6a8;color:#8b671e}.publication-status.published{background:#edf8f2;border-color:#b9d9ca;color:#216d51}.guard-result-overlay{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:24px;background:#121c2270}.guard-result-modal{width:min(680px,calc(100vw - 32px));max-height:82vh;overflow:auto;border-radius:14px;background:#fff;box-shadow:0 20px 60px #0a19233d}.guard-result-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 22px 16px;border-bottom:1px solid #e8edef}.guard-result-head h2{margin:4px 0 0;font-size:19px}.guard-result-close{width:32px;height:32px;padding:0;border:1px solid #dfe5e8;border-radius:8px;background:#f8fafb;font-size:20px;line-height:1;cursor:pointer}.guard-result-body{display:grid;gap:12px;padding:18px 22px}.guard-result-success{padding:13px 14px;border:1px solid #c9e2d6;border-radius:10px;background:#f3faf6;color:#27684f;font-weight:700}.guard-result-section{padding:13px 14px;border-radius:10px}.guard-result-section h3{margin:0 0 6px;font-size:13px}.guard-result-section p{margin:0 0 8px;font-size:var(--font-size-min)}.guard-result-section ul{margin:0;padding-left:20px;display:grid;gap:5px;font-size:var(--font-size-min)}.guard-result-section.error{border:1px solid #efc2c2;background:#fff7f7;color:#9f3434}.guard-result-section.warning{border:1px solid #ead7b0;background:#fff9ef;color:#7c5b24}.guard-result-actions{display:flex;justify-content:flex-end;padding:0 22px 20px}.staff-row{grid-template-columns:34px minmax(150px,1.25fr) minmax(165px,1.2fr) 92px 110px 105px 105px 82px 170px}.afternoon-calendar-panel .empty-state{padding:24px;border:1px dashed #d9e0e4;border-radius:10px;color:#738089;background:#fafbfb}.afternoon-days{display:grid;gap:12px}.afternoon-day-card{border:1px solid #e0e5e8;border-radius:10px;overflow:hidden;background:#fff}.afternoon-day-head{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:#f5f7f8;text-transform:capitalize;font-size:var(--font-size-min);color:#53616a}.afternoon-day-head span{font-size:var(--font-size-min);color:#7d8990}.afternoon-slots{display:grid;gap:1px;background:#edf1f3}.afternoon-slot{display:grid;grid-template-columns:minmax(170px,1fr) minmax(250px,1.35fr) 38px;align-items:center;gap:10px;padding:8px 12px;background:#fff}.afternoon-slot>span{display:grid;gap:2px;font-size:var(--font-size-min)}.afternoon-slot small{color:#879198}.afternoon-slot select{width:100%}.afternoon-summary-wrap{width:100%;overflow-x:auto;border:1px solid #dfe5e8;border-radius:10px;background:#fff}.afternoon-summary-table{min-width:980px}.afternoon-summary-row{display:grid;grid-template-columns:minmax(180px,1.4fr) 120px 120px 62px 62px 62px 125px minmax(220px,1.6fr);gap:10px;align-items:center;min-height:42px;padding:7px 12px;border-top:1px solid #edf1f3;font-size:var(--font-size-min);color:#42515a}.afternoon-summary-row:first-child{border-top:0}.afternoon-summary-head{background:#f5f7f8;color:#5c6971;font-size:var(--font-size-min);font-weight:800}.afternoon-summary-row>span:not(:first-child):not(:last-child){text-align:center}.afternoon-summary-row small{display:block;margin-top:2px;color:#8a949a}.afternoon-workweek-head{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:8px}.afternoon-workweek-head span{padding:8px 10px;border-radius:8px;background:#f4f6f7;color:#5d6971;font-size:var(--font-size-min);font-weight:800;text-align:center;text-transform:uppercase;letter-spacing:.03em}.afternoon-workweek-calendar{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.afternoon-calendar-empty{min-height:138px;border:1px dashed #edf0f2;border-radius:10px;background:#fafbfb}.afternoon-calendar-day{min-width:0;min-height:138px;border:1px solid #dfe5e8;border-radius:10px;background:#fff;overflow:hidden}.afternoon-calendar-day.no-slots{background:#fbfcfc}.afternoon-calendar-day.holiday{background:#f6f7f8}.afternoon-calendar-day-head{display:flex;align-items:flex-start;justify-content:space-between;gap:6px;padding:8px 9px;border-bottom:1px solid #edf1f3;background:#f7f9f9}.afternoon-calendar-day-head small{max-width:110px;color:#7b878e;font-size:var(--font-size-min);line-height:1.25;text-align:right}.afternoon-calendar-number{display:flex;align-items:center;justify-content:center;width:25px;height:25px;flex:0 0 25px;border-radius:7px;background:#fff;border:1px solid #dde4e7;font-size:var(--font-size-min);font-weight:800;color:#42515a}.afternoon-calendar-slots{display:grid;gap:7px;padding:8px}.afternoon-calendar-slot{display:grid;gap:5px;padding:7px;border:1px solid #e7ecee;border-radius:8px;background:#fff}.afternoon-calendar-post{display:flex;justify-content:space-between;gap:6px;min-width:0;font-size:var(--font-size-min)}.afternoon-calendar-post b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.afternoon-calendar-post small{flex:0 0 auto;color:#879198}.afternoon-calendar-assignment{display:grid;grid-template-columns:minmax(0,1fr) 30px;gap:5px;align-items:center}.afternoon-calendar-assignment select{width:100%;min-width:0;height:30px;padding:3px 5px;font-size:var(--font-size-min)}.afternoon-calendar-assignment .guard-lock{width:30px;height:30px;padding:0}@media(max-width:1100px){.afternoon-workweek-head,.afternoon-workweek-calendar{min-width:900px}.afternoon-calendar-panel{overflow-x:auto}}.afternoon-calendar-post>div{display:grid;min-width:0;gap:2px}.afternoon-calendar-post>div>b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.afternoon-calendar-post>div>span{overflow:hidden;color:#728089;font-size:var(--font-size-min);font-weight:400;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.assignment-select.assignment-warning{background:#fff7d6!important;border-color:#e2bd4d!important;box-shadow:inset 3px 0 #d5a91f}.assignment-select.assignment-error{background:#ffe4e4!important;border-color:#df7777!important;box-shadow:inset 3px 0 #c94d4d}.assignment-select.assignment-warning:focus{outline:2px solid rgba(213,169,31,.22);outline-offset:1px}.assignment-select.assignment-error:focus{outline:2px solid rgba(201,77,77,.22);outline-offset:1px}.position-toolbar-panel{display:grid;gap:14px}.position-view-tabs{display:flex;gap:6px;width:max-content;padding:4px;border:1px solid #dfe4e7;border-radius:10px;background:#f7f8f9}.position-view-tabs button{min-width:90px}.position-view-tabs button.active{background:#fff;border-color:#cfd7db;box-shadow:0 1px 3px #0000000f;font-weight:800}.position-date-nav{display:flex;align-items:center;justify-content:center;gap:8px}.position-date-nav>button{width:34px;height:34px;padding:0;font-size:18px}.position-date-picker{position:relative;min-width:310px;cursor:pointer}.position-date-picker>span{display:block;padding:9px 42px 9px 14px;border:1px solid #dfe4e7;border-radius:9px;background:#fff;font-size:var(--font-size-min);font-weight:800;text-align:center;text-transform:capitalize}.position-date-picker input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.position-status-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;font-size:var(--font-size-min);font-weight:700}.position-status-legend span{padding:5px 9px;border-radius:999px;border:1px solid transparent}.position-status-legend .green{background:#e9f6ee;border-color:#a9d8bb;color:#326b47}.position-status-legend .yellow{background:#fff6d5;border-color:#e0bd50;color:#846914}.position-status-legend .red{background:#ffe7e7;border-color:#df8585;color:#914545}.position-status-legend .dark-red{background:#7d2d2d;border-color:#672323;color:#fff}.position-staff-panel .panel-head{align-items:flex-start}.position-pool-legend{display:flex;gap:7px;font-size:var(--font-size-min);font-weight:700}.position-pool-legend span{padding:5px 8px;border:1px solid #cfd6da;border-radius:999px;background:#fff}.position-pool-legend span.unavailable{background:#eceff1;border-color:#aeb7bc;color:#717c82}.position-staff-pool{display:flex;flex-wrap:wrap;gap:7px}.position-person-chip{padding:7px 10px;border:1px solid #cfd7db;border-radius:999px;background:#fff;color:#33424a;font-size:var(--font-size-min);font-weight:400;cursor:grab;-webkit-user-select:none;user-select:none;box-shadow:0 1px 2px #00000008}.position-person-chip:active{cursor:grabbing}.position-person-chip.unavailable{background:#eceff1;border-color:#9faab0;color:#758087}.position-day-grid{display:grid;gap:7px}.position-day-row{display:grid;grid-template-columns:minmax(300px,1.15fr) minmax(260px,.85fr);gap:10px;align-items:stretch}.position-dropzone{min-height:46px;display:flex;align-items:center;padding:7px 9px;border:1.5px dashed #cbd3d7;border-radius:9px;background:#fafbfb;transition:.12s ease}.position-dropzone.position-ok{border-style:solid;border-color:#87c79f;background:#eaf7ef}.position-dropzone.position-warning{border-style:solid;border-color:#d9b64d;background:#fff6d5}.position-dropzone.position-error{border-style:solid;border-color:#dd7878;background:#ffe6e6}.position-dropzone.position-forced{border-style:solid;border-color:#622020;background:#7d2d2d;color:#fff}.position-dropzone.linked-afternoon{box-shadow:inset 3px 0 #66737a}.position-empty{width:100%;color:#8a959b;font-size:var(--font-size-min);font-weight:700;text-align:center}.position-assigned-person{display:flex;width:100%;align-items:center;justify-content:space-between;gap:7px}.position-assigned-person>span{min-width:0;display:grid;gap:2px}.position-assigned-person b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--font-size-min)}.position-assigned-person small{font-size:var(--font-size-min);opacity:.76}.position-assigned-person button{width:25px;height:25px;flex:0 0 25px;padding:0;border-radius:7px}.position-forced .position-assigned-person button{color:#fff;border-color:#ffffff59;background:#ffffff14}.position-post-info{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid #e1e6e8;border-radius:9px;background:#fff}.position-post-info>div{display:grid;gap:2px;min-width:0}.position-post-info b{font-size:var(--font-size-min)}.position-post-info small{color:#718087;font-size:var(--font-size-min)}.position-shift{display:inline-flex;align-items:center;justify-content:center;min-width:52px;padding:5px 7px;border-radius:7px;font-size:var(--font-size-min);font-weight:800;text-transform:uppercase}.position-shift.morning{background:#eef2f4;color:#53636c}.position-shift.afternoon{background:#ece8f7;color:#625783}.position-week-scroll{overflow-x:auto;padding-bottom:5px}.position-week-grid{display:grid;min-width:1320px;border-top:1px solid #e1e6e8;border-left:1px solid #e1e6e8}.position-week-head,.position-week-post,.position-week-cell{min-height:67px;padding:7px;border-right:1px solid #e1e6e8;border-bottom:1px solid #e1e6e8;background:#fff}.position-week-head{min-height:48px;display:grid;align-content:center;justify-items:center;gap:2px;background:#f5f7f8;color:#596970;font-size:var(--font-size-min)}.position-week-head b{font-size:var(--font-size-min)}.position-week-head span{font-size:var(--font-size-min);font-weight:800}.position-week-post-head{justify-items:start;padding-left:12px}.position-week-post{display:flex;align-items:center;gap:8px;background:#f9fafb}.position-week-post .position-shift{min-width:29px;padding:4px}.position-week-post b{font-size:var(--font-size-min)}.position-week-cell{display:flex;align-items:stretch}.position-week-cell.not-scheduled{align-items:center;justify-content:center;background:#f8f9fa;color:#c0c7ca}.position-week-cell .position-dropzone{width:100%;min-height:52px}.position-week-cell .position-assigned-person b{white-space:normal;line-height:1.2}.danger-button{background:#7d2d2d!important;border-color:#672323!important;color:#fff!important}@media(max-width:1100px){.position-day-row{grid-template-columns:1fr}.position-date-picker{min-width:240px}}.position-week-cell-inner{width:100%;display:grid;gap:4px}.position-week-cell-inner>small{overflow:hidden;color:#748188;font-size:var(--font-size-min);line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.service-time-section{display:grid;gap:8px}.service-time-options{display:grid;gap:7px}.service-since-line{display:flex!important;align-items:center;flex-wrap:wrap;gap:7px}.service-since-line select{width:auto;min-width:120px;margin:0}.service-since-line select:last-child{min-width:90px}.system-schedule-label{display:inline-flex;align-items:center;min-height:30px;padding:0 8px;border:1px solid #dde3e6;border-radius:7px;background:#f4f6f7;color:#6e7b82;font-size:var(--font-size-min);font-weight:700}.management-calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));margin-top:14px;border:1px solid #e1e6e8;border-bottom:0;border-radius:9px 9px 0 0;overflow:hidden}.management-calendar-weekdays span{padding:7px 5px;background:#f5f7f8;border-right:1px solid #e1e6e8;color:#68777e;font-size:var(--font-size-min);font-weight:800;text-align:center}.management-calendar-weekdays span:last-child{border-right:0}.management-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-left:1px solid #e1e6e8;border-top:1px solid #e1e6e8}.management-calendar-day,.management-calendar-empty{min-height:115px;padding:7px;border-right:1px solid #e1e6e8;border-bottom:1px solid #e1e6e8;background:#fff}.management-calendar-empty,.management-calendar-day.no-slots{background:#fafbfb}.management-calendar-day-head{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:6px}.management-calendar-day-head b{font-size:var(--font-size-min)}.management-calendar-day-head small{color:#7a878d;font-size:var(--font-size-min)}.management-calendar-slot{display:grid;gap:5px;padding:6px 0;border-top:1px solid #edf0f2}.management-calendar-slot:first-of-type{border-top:0}.management-calendar-post{display:grid;gap:1px;min-width:0}.management-calendar-post b{overflow:hidden;font-size:var(--font-size-min);text-overflow:ellipsis;white-space:nowrap}.management-calendar-post span,.management-calendar-post small{overflow:hidden;color:#738087;font-size:var(--font-size-min);line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.management-calendar-assignment{display:flex;align-items:center;gap:5px}.management-calendar-assignment select{min-width:0;width:100%;font-size:var(--font-size-min)}.management-calendar-assignment .guard-lock{width:27px;min-width:27px;height:27px}.management-summary-wrap{overflow-x:auto}.management-summary-row{display:grid;grid-template-columns:minmax(190px,1.4fr) repeat(6,minmax(72px,.55fr)) minmax(150px,1fr);min-width:930px;border-bottom:1px solid #edf0f2}.management-summary-row>span{padding:8px 9px;font-size:var(--font-size-min)}.management-summary-head{background:#f5f7f8;color:#5f6d74;font-weight:800}.management-summary-warning{background:#fff9e8}@media(max-width:1200px){.management-calendar-weekdays,.management-calendar{min-width:1120px}.management-calendar-weekdays,.management-calendar{overflow:visible}}.roster-header-summary{display:flex;align-items:flex-start;justify-content:flex-end}.roster-incident-counter{display:inline-flex;align-items:center;min-height:34px;padding:0 11px;border:1px solid #cfe0d5;border-radius:8px;background:#eef8f1;color:#3f6f4f;font-size:var(--font-size-min);font-weight:800}.roster-incident-counter.has-incidents{border-color:#e0a0a0;background:#fff0f0;color:#9a4040}.roster-toolbar-panel{display:grid;gap:14px}.roster-topline{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.roster-data-mode{display:flex;gap:5px;padding:4px;border:1px solid #dfe4e7;border-radius:9px;background:#f7f8f9}.roster-data-mode button.active{border-color:#cbd4d9;background:#fff;box-shadow:0 1px 3px #0000000d;font-weight:800}.roster-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:6px}.roster-legend span{padding:5px 8px;border:1px solid transparent;border-radius:999px;font-size:var(--font-size-min);font-weight:800}.roster-legend .morning{background:#edf2f4;color:#53636c;border-color:#d6dfe3}.roster-legend .afternoon{background:#eee9f8;color:#645783;border-color:#d8cfed}.roster-legend .management{background:#fff4db;color:#8a6815;border-color:#e7c979}.roster-legend .guard{background:#e5eef9;color:#3f5f84;border-color:#bdcfe4}.roster-legend .postguard{background:#eef0f2;color:#616b71;border-color:#d4dade}.roster-legend .leave{background:#e9f5ed;color:#4a7658;border-color:#c7ddcf}.roster-legend .incident{background:#ffe8e8;color:#9a4040;border-color:#e4a3a3}.roster-publication-grid{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:8px}.roster-publication-card{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 11px;border:1px solid #e2e7e9;border-radius:8px;background:#fafbfb}.roster-publication-card>span{color:#5e6c73;font-size:var(--font-size-min);font-weight:700}.roster-publication-card .publication-status{padding:4px 7px;border-radius:999px;font-size:var(--font-size-min);font-style:normal}.roster-day-table{overflow:hidden;border:1px solid #e2e7e9;border-radius:9px}.roster-day-row{display:grid;grid-template-columns:130px minmax(210px,1.4fr) minmax(190px,1.15fr) 100px minmax(220px,1.3fr);width:100%;min-height:52px;align-items:center;gap:10px;padding:8px 11px;border:0;border-bottom:1px solid #edf0f2;background:#fff;color:#35444c;text-align:left}.roster-day-row:last-child{border-bottom:0}button.roster-day-row{cursor:pointer}button.roster-day-row:hover{background:#fafcfc}.roster-day-head{min-height:38px;background:#f5f7f8;color:#7a878d;font-size:var(--font-size-min);font-weight:800;text-transform:uppercase;letter-spacing:.04em}.roster-day-assignment.has-incident{background:#fff2f2}.roster-day-row>span{min-width:0;font-size:var(--font-size-min)}.roster-day-row>span:nth-child(1){display:flex;align-items:center;gap:7px;font-weight:800}.roster-day-row>span:nth-child(2),.roster-day-row>span:nth-child(3){display:grid;gap:2px}.roster-day-row b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--font-size-min)}.roster-day-row small{overflow:hidden;color:#7c898f;font-size:var(--font-size-min);text-overflow:ellipsis;white-space:nowrap}.roster-day-row em{font-style:normal}.roster-kind-dot{display:inline-block;width:8px;height:8px;flex:0 0 8px;border-radius:50%;background:#aab4b9}.roster-kind-dot.morning{background:#80919a}.roster-kind-dot.afternoon{background:#8371a8}.roster-kind-dot.management{background:#ca9c2f}.roster-kind-dot.guard{background:#5379a5}.roster-incident-text{color:#a24242;font-weight:700}.roster-empty{padding:22px;color:#88949a;font-size:var(--font-size-min);text-align:center}.roster-empty.compact{padding:10px}.roster-availability-list{display:flex;flex-wrap:wrap;gap:7px}.roster-availability-chip{display:grid;gap:2px;min-width:180px;max-width:310px;padding:8px 10px;border:1px solid #dce2e5;border-radius:8px;background:#f8fafb;color:#47565e;text-align:left}.roster-availability-chip b,.roster-availability-chip span{font-size:var(--font-size-min)}.roster-availability-chip small{color:#a14545;font-size:var(--font-size-min);line-height:1.25}.roster-availability-chip.has-incident{border-color:#df8c8c;background:#fff0f0}.roster-event{display:grid;gap:2px;width:100%;padding:5px 6px;border:1px solid transparent;border-radius:6px;text-align:left}.roster-event b{overflow:hidden;font-size:var(--font-size-min);line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.roster-event small{overflow:hidden;font-size:var(--font-size-min);line-height:1.15;opacity:.8;text-overflow:ellipsis;white-space:nowrap}.roster-morning{background:#edf2f4;color:#53636c;border-color:#d4dde1}.roster-afternoon{background:#eee9f8;color:#645783;border-color:#d8cfeb}.roster-management{background:#fff4db;color:#876716;border-color:#e8ca7e}.roster-guard{background:#e5eef9;color:#3e6086;border-color:#c2d1e3}.roster-postguard{background:#eff1f2;color:#606b71;border-color:#d7dcdf}.roster-leave{background:#e9f5ed;color:#4d765a;border-color:#cadfd1}.roster-reduction{background:#f4f0e8;color:#786b4d;border-color:#dfd5c0}.roster-event.has-incident{border-color:#d96868!important;box-shadow:inset 3px 0 #c44747}.roster-week-scroll{overflow-x:auto;padding-bottom:5px}.roster-week-grid{display:grid;min-width:1400px;border-top:1px solid #e1e6e8;border-left:1px solid #e1e6e8}.roster-week-head,.roster-week-person,.roster-week-cell{min-height:72px;padding:7px;border-right:1px solid #e1e6e8;border-bottom:1px solid #e1e6e8;background:#fff}.roster-week-head{min-height:48px;display:grid;align-content:center;justify-items:center;gap:2px;background:#f5f7f8;color:#68767d}.roster-week-head b{font-size:var(--font-size-min)}.roster-week-head span{font-size:var(--font-size-min);font-weight:800}.roster-week-person-head{justify-items:start;padding-left:11px}.roster-week-person{display:grid;align-content:center;gap:3px;background:#f9fafb}.roster-week-person b{font-size:var(--font-size-min)}.roster-week-person small{color:#7a878d;font-size:var(--font-size-min)}.roster-week-cell{position:relative;display:flex;align-items:stretch}.roster-week-cell.has-incident{background:#fff3f3}.roster-week-events{display:grid;align-content:start;width:100%;gap:4px}.roster-week-free{margin:auto;color:#c3c9cc;font-size:var(--font-size-min)}.roster-week-incident{position:absolute;top:4px;right:4px;display:flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:#c64d4d;color:#fff;font-size:var(--font-size-min);font-weight:900;box-shadow:0 1px 2px #0000001a}@media(max-width:1200px){.roster-publication-grid{grid-template-columns:repeat(3,minmax(120px,1fr))}.roster-day-table{overflow-x:auto}.roster-day-row{min-width:980px}}.roster-week-panel-head{align-items:flex-start}.roster-week-axis{display:grid;justify-items:end;gap:5px}.roster-week-axis>span{color:#7a878d;font-size:var(--font-size-min);font-weight:800;letter-spacing:.04em;text-transform:uppercase}.roster-week-axis>div{display:flex;gap:4px;padding:3px;border:1px solid #dfe4e7;border-radius:8px;background:#f7f8f9}.roster-week-axis button{min-width:84px;padding:6px 9px;border-color:transparent;background:transparent;font-size:var(--font-size-min)}.roster-week-axis button.active{border-color:#cbd4d9;background:#fff;box-shadow:0 1px 3px #0000000d;font-weight:800}.roster-week-post{display:flex;align-items:center;gap:8px;min-height:72px;padding:7px;border-right:1px solid #e1e6e8;border-bottom:1px solid #e1e6e8;background:#f9fafb}.roster-week-post>div{display:grid;min-width:0;gap:2px}.roster-week-post b{overflow:hidden;font-size:var(--font-size-min);line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.roster-week-post small{overflow:hidden;color:#7a878d;font-size:var(--font-size-min);text-overflow:ellipsis;white-space:nowrap}.roster-week-post-kind{display:inline-flex;align-items:center;justify-content:center;min-width:54px;padding:4px 5px;border:1px solid transparent;border-radius:6px;font-size:var(--font-size-min);font-weight:800;line-height:1.1;text-align:center}.roster-week-post-kind.morning{background:#edf2f4;color:#53636c;border-color:#d4dde1}.roster-week-post-kind.afternoon{background:#eee9f8;color:#645783;border-color:#d8cfeb}.roster-week-post-kind.management{background:#fff4db;color:#876716;border-color:#e8ca7e}.roster-week-post-kind.guard{background:#e5eef9;color:#3e6086;border-color:#c2d1e3}.roster-person-event b{white-space:normal}.roster-week-no-posts{grid-column:1/-1;padding:22px;border-right:1px solid #e1e6e8;border-bottom:1px solid #e1e6e8;color:#8a969c;font-size:var(--font-size-min);text-align:center}@media(max-width:900px){.roster-week-axis{width:100%;justify-items:start}}.roster-kind-filter{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap}.roster-kind-filter>span{color:#748188;font-size:var(--font-size-min);font-weight:800;letter-spacing:.04em;text-transform:uppercase}.roster-kind-filter>div{display:flex;gap:5px;flex-wrap:wrap;justify-content:center}.roster-kind-filter button{min-width:78px;padding:6px 9px;border:1px solid #d9e0e3;border-radius:999px;background:#fff;color:#879298;font-size:var(--font-size-min);font-weight:800}.roster-kind-filter button.active{color:#35444c;box-shadow:0 1px 2px #0000000a}.roster-kind-filter button.active.morning{background:#edf2f4;border-color:#bdcbd1;color:#53636c}.roster-kind-filter button.active.afternoon{background:#eee9f8;border-color:#cfc3e7;color:#645783}.roster-kind-filter button.active.management{background:#fff4db;border-color:#dec06b;color:#876716}.roster-kind-filter button.active.guard{background:#e5eef9;border-color:#b7c9de;color:#3e6086}.roster-month-scroll{max-height:calc(100vh - 285px);overflow:auto;border:1px solid #dfe5e8;border-radius:9px}.roster-month-grid{display:grid;width:max-content;min-width:100%;border-top:0;border-left:0}.roster-month-head,.roster-month-person,.roster-month-post,.roster-month-cell{min-height:44px;border-right:1px solid #e2e7e9;border-bottom:1px solid #e2e7e9;background:#fff}.roster-month-head{position:sticky;top:0;z-index:5;display:grid;align-content:center;justify-items:center;gap:1px;min-height:42px;background:#f5f7f8;color:#66757c}.roster-month-head b{font-size:var(--font-size-min)}.roster-month-head small{font-size:var(--font-size-min);font-weight:800}.roster-month-head.weekend,.roster-month-cell.weekend{background:#f3f4f5}.roster-month-first{position:sticky;left:0;z-index:4;box-shadow:2px 0 #e0e6e9d9}.roster-month-head.roster-month-first{z-index:8;justify-items:start;padding-left:10px}.roster-month-person{display:grid;align-content:center;gap:2px;padding:6px 9px;background:#fafbfb}.roster-month-person b{overflow:hidden;font-size:var(--font-size-min);text-overflow:ellipsis;white-space:nowrap}.roster-month-person small{color:#849097;font-size:var(--font-size-min)}.roster-month-cell{position:relative;display:flex;align-items:center;justify-content:center;padding:3px}.roster-month-cell.has-incident{background:#fff1f1}.roster-month-events{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:2px}.roster-month-event{display:flex;align-items:center;justify-content:center;width:20px;min-width:20px;height:20px;padding:0;border-radius:5px;font-size:var(--font-size-min);font-weight:900;line-height:1}.roster-month-free{color:#c0c7ca;font-size:var(--font-size-min)}.roster-month-alert{position:absolute;top:2px;right:2px;display:flex;align-items:center;justify-content:center;width:12px;height:12px;border-radius:50%;background:#c74d4d;color:#fff;font-size:var(--font-size-min);font-style:normal;font-weight:900}.roster-month-post{display:flex;align-items:center;gap:6px;padding:5px 7px;background:#fafbfb}.roster-month-post>div{display:grid;min-width:0;gap:1px}.roster-month-post b{overflow:hidden;font-size:var(--font-size-min);text-overflow:ellipsis;white-space:nowrap}.roster-month-post small{overflow:hidden;color:#849097;font-size:var(--font-size-min);text-overflow:ellipsis;white-space:nowrap}.roster-month-post .roster-week-post-kind{min-width:47px;font-size:var(--font-size-min)}.roster-month-post-cell{min-height:48px}.roster-month-names{display:grid;width:100%;gap:2px}.roster-month-names button{overflow:hidden;width:100%;padding:2px 3px;border:1px solid #dce2e5;border-radius:4px;background:#f8fafb;color:#536168;font-size:var(--font-size-min);font-weight:800;text-overflow:ellipsis;white-space:nowrap}.roster-month-names button.has-incident{border-color:#d56d6d;background:#ffe8e8;color:#934141}.roster-month-no-posts{grid-column:1/-1;padding:20px;color:#879399;font-size:var(--font-size-min);text-align:center}@media(max-width:900px){.roster-kind-filter{justify-content:flex-start}.roster-month-scroll{max-height:calc(100vh - 320px)}}.changes-editor-panel{display:grid;gap:16px}.changes-mode-tabs{display:flex;gap:4px;padding:3px;border:1px solid #dfe4e7;border-radius:8px;background:#f7f8f9}.changes-mode-tabs button{min-width:104px;border-color:transparent;background:transparent}.changes-mode-tabs button.active{border-color:#cbd4d9;background:#fff;box-shadow:0 1px 3px #0000000d;font-weight:800}.changes-form-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:14px}.changes-form-grid.swap{grid-template-columns:repeat(2,minmax(0,1fr))}.changes-side{display:grid;align-content:start;gap:10px;padding:14px;border:1px solid #e1e6e8;border-radius:9px;background:#fafbfb}.changes-side-title{padding-bottom:8px;border-bottom:1px solid #e5e9eb}.changes-side-title b{font-size:var(--font-size-min)}.changes-side label,.changes-reason{display:grid;gap:5px;color:#66757c;font-size:var(--font-size-min);font-weight:800}.changes-side input,.changes-side select,.changes-reason textarea{width:100%}.changes-current{display:grid;gap:2px;padding:9px 10px;border:1px solid #dbe2e5;border-radius:8px;background:#fff}.changes-current>span{color:#829097;font-size:var(--font-size-min);font-weight:800;text-transform:uppercase}.changes-current b{font-size:var(--font-size-min)}.changes-current small{color:#77858c;font-size:var(--font-size-min)}.changes-help{padding:9px 10px;border-radius:8px;background:#f0f3f4;color:#6f7c83;font-size:var(--font-size-min);line-height:1.4}.changes-swap-preview{display:grid;gap:5px;padding:10px 12px;border:1px solid #d6e2e8;border-radius:8px;background:#f5f9fb;color:#4e6069;font-size:var(--font-size-min)}.changes-reason textarea{resize:vertical;min-height:72px}.changes-actions{display:flex;justify-content:flex-end}.changes-history-table{overflow-x:auto;border:1px solid #e2e7e9;border-radius:9px}.changes-history-row{display:grid;grid-template-columns:135px 90px minmax(360px,1.8fr) minmax(180px,1fr) 85px;min-width:980px;gap:10px;align-items:start;padding:9px 11px;border-bottom:1px solid #edf0f2;background:#fff;font-size:var(--font-size-min)}.changes-history-row:last-child{border-bottom:0}.changes-history-head{background:#f5f7f8;color:#76848b;font-size:var(--font-size-min);font-weight:800;letter-spacing:.04em;text-transform:uppercase}.changes-history-items{display:grid;gap:4px}.changes-history-items small{line-height:1.35}.changes-force-badge{display:inline-flex;align-items:center;justify-content:center;padding:4px 7px;border:1px solid;border-radius:999px;font-size:var(--font-size-min);font-weight:800}.changes-force-badge.ok{border-color:#bcd8c7;background:#edf7f0;color:#477157}.changes-force-badge.forced{border-color:#d58a8a;background:#ffe9e9;color:#9a4141}.changes-validation-modal{width:min(760px,calc(100vw - 40px))}.changes-force-warning{margin-top:12px;padding:10px 11px;border:1px solid #df9b9b;border-radius:8px;background:#fff0f0;color:#8f4545;font-size:var(--font-size-min);line-height:1.4}@media(max-width:950px){.changes-form-grid,.changes-form-grid.swap{grid-template-columns:1fr}}.peer-demo-user{display:grid;gap:4px;min-width:220px}.peer-demo-user>span{color:#7a878d;font-size:var(--font-size-min);font-weight:800;letter-spacing:.04em;text-transform:uppercase}.peer-demo-user select{width:100%}.peer-demo-user small{color:#8a969c;font-size:var(--font-size-min)}.peer-request-list,.peer-admin-list{display:grid;gap:10px}.peer-request-card,.peer-admin-card{display:grid;gap:10px;padding:12px;border:1px solid #e1e6e8;border-radius:9px;background:#fff}.peer-request-card.incoming{border-color:#cfdde4;background:#fbfdfe}.peer-request-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.peer-request-card-head>div{display:grid;gap:2px}.peer-request-card-head b{font-size:var(--font-size-min)}.peer-request-card-head span{color:#718087;font-size:var(--font-size-min)}.peer-status{display:inline-flex;align-items:center;justify-content:center;padding:4px 7px;border:1px solid;border-radius:999px;font-size:var(--font-size-min);font-weight:800;white-space:nowrap}.peer-status.pending{border-color:#d8c98a;background:#fff8dc;color:#816a1b}.peer-status.admin{border-color:#d7b58e;background:#fff2e4;color:#8a5e28}.peer-status.approved{border-color:#bcd8c7;background:#edf7f0;color:#477157}.peer-status.rejected{border-color:#dba1a1;background:#fff0f0;color:#984646}.peer-status.cancelled{border-color:#d8dddf;background:#f3f5f6;color:#6c787e}.peer-request-items{display:grid;gap:5px}.peer-request-items>div{display:grid;gap:2px;padding:7px 8px;border:1px solid #edf0f2;border-radius:7px;background:#fafbfb}.peer-request-items small{color:#7a878d;font-size:var(--font-size-min)}.peer-request-items span{font-size:var(--font-size-min)}.peer-request-card p,.peer-admin-card p{margin:0;color:#586970;font-size:var(--font-size-min);line-height:1.4}.peer-validation-preview{display:flex;flex-wrap:wrap;gap:6px}.peer-validation-preview span{padding:5px 7px;border-radius:6px;background:#f3f5f6;color:#6a777d;font-size:var(--font-size-min)}.peer-validation-preview span.error{background:#fff0f0;color:#994747}.peer-request-actions{display:flex;justify-content:flex-end;gap:7px}.peer-history-table{overflow:hidden;border:1px solid #e2e7e9;border-radius:9px}.peer-history-row{display:grid;grid-template-columns:130px 170px minmax(260px,1fr) 165px 90px;gap:10px;align-items:center;padding:9px 11px;border-bottom:1px solid #edf0f2;background:#fff}.peer-history-row:last-child{border-bottom:0}.peer-history-row>div{display:grid;gap:2px}.peer-history-row b{font-size:var(--font-size-min)}.peer-history-row small{color:#78868d;font-size:var(--font-size-min)}.peer-history-items{display:grid;gap:3px}.peer-admin-validation{display:grid;gap:4px;padding:9px 10px;border:1px solid;border-radius:8px;font-size:var(--font-size-min);line-height:1.35}.peer-admin-validation b{font-size:var(--font-size-min)}.peer-admin-validation.error{border-color:#e0a4a4;background:#fff2f2;color:#8f4848}.peer-admin-validation.warning{border-color:#e0cf96;background:#fff9e6;color:#7f6a27}@media(max-width:1000px){.peer-history-table{overflow-x:auto}.peer-history-row{min-width:900px}}.session-user-box{align-items:flex-start}.session-user-box>div{min-width:0;width:100%}.session-user-box select{width:100%;margin-top:6px;padding:5px 6px;border:1px solid #d9e0e3;border-radius:6px;background:#fff;color:#4c5a61;font-size:var(--font-size-min)}.mycal-pending-badge{display:inline-flex;align-items:center;min-height:34px;padding:0 11px;border:1px solid #dfc274;border-radius:8px;background:#fff7df;color:#83651b;font-size:var(--font-size-min);font-weight:800}.mycal-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.mycal-published-note{color:#7a878d;font-size:var(--font-size-min)}.mycal-date-nav{display:flex;align-items:center;justify-content:center;gap:8px}.mycal-date-nav>button{min-width:34px;height:34px;font-size:17px}.mycal-date-nav label{position:relative;display:flex;align-items:center;justify-content:center;min-width:300px;min-height:34px;padding:0 12px;border:1px solid #dce2e5;border-radius:8px;background:#fff;font-size:var(--font-size-min);font-weight:800;text-transform:capitalize}.mycal-date-nav input{position:absolute;inset:0;width:100%;height:100%;cursor:pointer;opacity:0}.mycal-day-list{display:grid;gap:6px}.mycal-assignment{display:grid;grid-template-columns:82px minmax(0,1fr) minmax(145px,.75fr);gap:8px;align-items:center;width:100%;padding:8px 10px;border:1px solid #dde3e6;border-radius:8px;background:#fafbfb;color:#46555d;text-align:left}.mycal-assignment:disabled{cursor:default;opacity:1}.mycal-assignment.mine{border-width:2px;border-color:#648fa3;background:#f2f9fc;box-shadow:inset 4px 0 #648fa3;cursor:pointer}.mycal-assignment.mine:hover{background:#eaf6fb}.mycal-assignment-kind{display:inline-flex;align-items:center;justify-content:center;width:max-content;min-width:52px;padding:4px 6px;border-radius:999px;font-size:var(--font-size-min);font-weight:800}.mycal-assignment.morning .mycal-assignment-kind{background:#e9eef0;color:#53636c}.mycal-assignment.afternoon .mycal-assignment-kind{background:#eee9f8;color:#645783}.mycal-assignment.management .mycal-assignment-kind{background:#fff1ca;color:#886814}.mycal-assignment.guard .mycal-assignment-kind{background:#e5eef9;color:#3e6086}.mycal-assignment b{overflow:hidden;font-size:var(--font-size-min);text-overflow:ellipsis;white-space:nowrap}.mycal-assignment small{overflow:hidden;color:#7c898f;font-size:var(--font-size-min);text-overflow:ellipsis;white-space:nowrap}.mycal-assignment.compact{grid-template-columns:52px minmax(0,1fr);padding:5px 6px}.mycal-assignment.compact small{display:none}.mycal-assignment.compact b{white-space:normal;line-height:1.15}.mycal-availability{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px;padding-top:10px;border-top:1px solid #edf0f2}.mycal-availability-item{padding:5px 7px;border:1px solid #d9dfe2;border-radius:999px;background:#f5f7f8;color:#66737a;font-size:var(--font-size-min)}.mycal-availability-item.mine{border-color:#9ebfcb;background:#edf7fa;color:#496d7b;font-weight:800}.mycal-week-grid{display:grid;grid-template-columns:repeat(7,minmax(150px,1fr));gap:7px;overflow-x:auto;padding-bottom:4px}.mycal-week-day{min-width:150px;border:1px solid #e1e6e8;border-radius:9px;background:#fff;overflow:hidden}.mycal-week-day.today{border-color:#8eafb9;box-shadow:0 0 0 1px #8eafb9}.mycal-week-day-head{display:flex;align-items:center;justify-content:space-between;padding:7px 8px;border-bottom:1px solid #e6eaec;background:#f5f7f8}.mycal-week-day-head b{font-size:var(--font-size-min);color:#68767d}.mycal-week-day-head span{font-size:var(--font-size-min);font-weight:800}.mycal-week-day-body{display:grid;align-content:start;gap:5px;min-height:260px;padding:7px}.mycal-week-empty{margin:auto;color:#b1babf;font-size:var(--font-size-min)}.mycal-own-availability{display:block;padding:4px 5px;border:1px dashed #9ebfcb;border-radius:6px;background:#edf7fa;color:#496d7b;font-size:var(--font-size-min);font-weight:800}.mycal-month-panel{overflow:hidden}.mycal-month-scroll{overflow-x:auto;overscroll-behavior-inline:contain}.mycal-month-weekdays,.mycal-month-grid{min-width:980px}.mycal-month-weekdays{display:grid;grid-template-columns:repeat(7,1fr);border:1px solid #e1e6e8;border-bottom:0;border-radius:9px 9px 0 0;overflow:hidden}.mycal-month-weekdays span{padding:9px 4px;border-right:1px solid #e1e6e8;background:#445a72;color:#fff;font-size:var(--font-size-min);font-weight:800;text-align:center}.mycal-month-weekdays span:last-child{border-right:0}.mycal-month-grid{display:grid;grid-template-columns:repeat(7,1fr);border-left:1px solid #e1e6e8;border-top:1px solid #e1e6e8}.mycal-month-day,.mycal-month-empty{min-height:180px;padding:7px;border-right:1px solid #e1e6e8;border-bottom:1px solid #e1e6e8;background:#fff}.mycal-month-empty{background:#fafbfb}.mycal-month-day.weekend{background:#fafafa}.mycal-month-day.today{background:#f4fafc;box-shadow:inset 0 0 0 2px #8eafb9}.mycal-month-day-head{display:flex;justify-content:flex-end;min-height:25px;margin-bottom:4px}.mycal-month-day-head b{font-size:14px;line-height:1.2}.mycal-month-day-body{position:relative;display:grid;grid-template-rows:1fr 1fr;min-height:138px;border:1px solid #edf0f2;border-radius:7px;overflow:hidden;background:#fff}.mycal-month-slot{display:flex;flex-direction:column;gap:4px;min-height:68px;padding:5px}.mycal-month-slot.morning{border-bottom:1px solid #dde4e8}.mycal-month-day .mycal-assignment.compact{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;width:100%;min-height:54px;padding:7px 8px;border-width:1px;border-radius:7px;box-shadow:none}.mycal-month-day .mycal-assignment-kind{min-width:0;padding:0;border-radius:0;background:transparent;font-size:var(--font-size-min);line-height:1.15;text-transform:uppercase}.mycal-month-day .mycal-assignment.compact b{width:100%;font-size:var(--font-size-min);line-height:1.25;white-space:normal;overflow-wrap:anywhere}.mycal-month-day .mycal-assignment.compact.morning{border-color:var(--schedule-morning-border,#93c5fd);background:var(--schedule-morning-bg,#dbeafe);color:var(--schedule-morning-text,#1f5f9e)}.mycal-month-day .mycal-assignment.compact.morning .mycal-assignment-kind{color:#2563eb}.mycal-month-day .mycal-assignment.compact.afternoon{border-color:var(--schedule-afternoon-border,#244d74);background:var(--schedule-afternoon-bg,#315f8c);color:#fff}.mycal-month-day .mycal-assignment.compact.afternoon .mycal-assignment-kind{color:#fff}.mycal-month-day .mycal-assignment.compact.management{border-color:var(--schedule-management-border,#d59600);background:var(--schedule-management-bg,#fef3c7);color:var(--schedule-management-text,#8c6500)}.mycal-month-day .mycal-assignment.compact.management .mycal-assignment-kind{color:#b77f00}.mycal-month-day .mycal-assignment.compact.guard{height:100%;min-height:0;align-items:center;border-color:var(--schedule-guard-border,#8b5bd1);background:var(--schedule-guard-bg,#e4ddfb);color:var(--schedule-guard-text,#6432ad);text-align:center}.mycal-month-day .mycal-assignment.compact.guard .mycal-assignment-kind{color:#6d3bc1}.mycal-month-full{position:absolute;inset:0;z-index:2;display:grid;grid-auto-rows:minmax(0,1fr);gap:5px;padding:5px;background:#fff}.mycal-month-full>.mycal-assignment,.mycal-month-full>.mycal-month-availability.full{min-height:0;height:100%}.mycal-month-availability{display:flex;align-items:center;justify-content:center;width:100%;padding:6px 7px;border:1px solid #d9dfe2;border-radius:7px;background:#eef1f2;color:#66737a;font-size:var(--font-size-min);font-weight:800;line-height:1.25;text-align:center}.mycal-month-availability.leave{border-color:#78a85e;background:#e2f0d9;color:#4f7d32}.mycal-month-availability.postguard{border-color:#9ca3aa;background:#e5e7eb;color:#626262}.mycal-month-availability.reduction{border-color:#d7cba9;background:#f4f0e8;color:#786b4d}.mycal-month-status{position:absolute;right:5px;bottom:5px;left:5px;z-index:3}.user-calendar-change-overlay{z-index:90}.user-calendar-change-modal{width:min(700px,calc(100vw - 40px));max-height:90vh;overflow:auto}.user-calendar-change-modal>label{display:grid;gap:5px;margin-top:11px;color:#66757c;font-size:var(--font-size-min);font-weight:800}.user-calendar-change-modal select,.user-calendar-change-modal input,.user-calendar-change-modal textarea{width:100%}.calendar-change-mode{margin:12px 0;width:max-content}.calendar-change-current{display:grid;gap:2px;padding:9px 10px;border:1px solid #dbe2e5;border-radius:8px;background:#fafbfb}.calendar-change-current span{color:#839097;font-size:var(--font-size-min);font-weight:800;text-transform:uppercase}.calendar-change-current b{font-size:var(--font-size-min)}.calendar-change-current small{color:#75838a;font-size:var(--font-size-min)}.calendar-change-review{display:grid;gap:8px;margin-top:12px}@media(max-width:1100px){.mycal-week-grid{min-width:1120px}.mycal-month-grid,.mycal-month-weekdays{min-width:900px}.mycal-month-panel{overflow-x:auto}}.peer-day-assignments,.admin-change-day-list,.calendar-swap-list{display:grid;gap:7px}.peer-day-assignments-title,.admin-change-day-list>span,.calendar-swap-list-title{color:#6c7980;font-size:var(--font-size-min);font-weight:800;letter-spacing:.04em;text-transform:uppercase}.change-assignment-card{display:flex;align-items:center;gap:8px;width:100%;padding:8px 9px;border:1px solid #dfe5e8;border-radius:8px;background:#fff;color:#47555d;text-align:left}.change-assignment-card:hover{background:#f7fafb}.change-assignment-card.selected{border-color:#648fa3;background:#edf7fa;box-shadow:inset 3px 0 #648fa3}.change-assignment-card b{font-size:var(--font-size-min)}.change-assignment-kind{display:inline-flex;align-items:center;justify-content:center;min-width:54px;padding:4px 6px;border:1px solid transparent;border-radius:999px;font-size:var(--font-size-min);font-weight:800;white-space:nowrap}.change-assignment-kind.morning{background:#edf2f4;color:#53636c;border-color:#d4dde1}.change-assignment-kind.afternoon{background:#eee9f8;color:#645783;border-color:#d8cfeb}.change-assignment-kind.management{background:#fff4db;color:#876716;border-color:#e8ca7e}.change-assignment-kind.guard{background:#e5eef9;color:#3e6086;border-color:#c2d1e3}.calendar-swap-person{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(0,1.4fr);gap:10px;align-items:center;width:100%;padding:8px 10px;border:1px solid #dfe5e8;border-radius:8px;background:#fff;color:#47555d;text-align:left}.calendar-swap-person:hover{background:#f7fafb}.calendar-swap-person.selected{border-color:#648fa3;background:#edf7fa;box-shadow:inset 3px 0 #648fa3}.calendar-swap-person b{font-size:var(--font-size-min)}.calendar-swap-person span{color:#69777e;font-size:var(--font-size-min);font-weight:400}.admin-change-filters{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 11px;border:1px solid #e1e6e8;border-radius:8px;background:#fafbfb}.admin-change-filters>span{color:#69777e;font-size:var(--font-size-min);font-weight:800}.admin-change-filters>div{display:flex;flex-wrap:wrap;gap:5px}.admin-change-filters button{padding:6px 9px;border-color:#dbe2e5;background:#fff;color:#6b777d;font-size:var(--font-size-min)}.admin-change-filters button.active{border-color:#7aa0b0;background:#edf7fa;color:#456b7a;font-weight:800}.admin-change-assignment-list{display:grid;gap:5px;max-height:310px;overflow:auto;padding-right:2px}.admin-change-assignment{display:grid;grid-template-columns:62px minmax(0,1fr);gap:8px;align-items:center;width:100%;padding:7px 8px;border:1px solid #dfe5e8;border-radius:7px;background:#fff;color:#47555d;text-align:left}.admin-change-assignment:hover{background:#f7fafb}.admin-change-assignment.selected{border-color:#648fa3;background:#edf7fa;box-shadow:inset 3px 0 #648fa3}.admin-change-assignment>div{display:grid;gap:2px;min-width:0}.admin-change-assignment b{overflow:hidden;font-size:var(--font-size-min);text-overflow:ellipsis;white-space:nowrap}.admin-change-assignment span:not(.change-assignment-kind){overflow:hidden;color:#6f7c83;font-size:var(--font-size-min);text-overflow:ellipsis;white-space:nowrap}@media(max-width:850px){.admin-change-filters{align-items:flex-start;flex-direction:column}.calendar-swap-person{grid-template-columns:1fr;gap:3px}}.postguard-auto-note{display:grid;gap:3px;padding:9px 10px;border:1px solid #b8d1dc;border-radius:8px;background:#eef7fa;color:#476a78;font-size:var(--font-size-min);line-height:1.4}.postguard-auto-note b,.postguard-auto-note span{font-size:var(--font-size-min)}.stats-controls{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:end}.stats-tabs{display:flex;gap:4px;padding:3px;border:1px solid #dfe4e7;border-radius:9px;background:#f7f8f9}.stats-tabs button{min-width:94px;border-color:transparent;background:transparent}.stats-tabs button.active{border-color:#cbd4d9;background:#fff;box-shadow:0 1px 3px #0000000d;font-weight:800}.stats-filter-grid{display:flex;flex-wrap:wrap;gap:8px;align-items:end}.stats-filter-grid label{display:grid;gap:4px;color:#6b787f;font-size:var(--font-size-min);font-weight:800}.stats-filter-grid select{min-width:115px}.stats-filter-grid.history select{min-width:165px}.stats-period-chip{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 11px;border:1px solid #d8e1e5;border-radius:8px;background:#f7fafb;color:#52666f;font-size:var(--font-size-min);font-weight:800}.stats-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.stats-kpi{display:grid;gap:4px;padding:13px 14px;border:1px solid #dfe5e8;border-radius:10px;background:#fff}.stats-kpi>span{color:#75838a;font-size:var(--font-size-min);font-weight:800;letter-spacing:.03em;text-transform:uppercase}.stats-kpi>b{color:#34474f;font-size:24px;line-height:1}.stats-kpi>small{color:#87939a;font-size:var(--font-size-min)}.stats-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.stats-hbars{display:grid;gap:6px;max-height:430px;overflow:auto;padding-right:4px}.stats-hbar-row{display:grid;grid-template-columns:minmax(145px,.8fr) minmax(150px,1.3fr) 34px;gap:8px;align-items:center;min-height:26px}.stats-hbar-label{display:grid;gap:1px;min-width:0}.stats-hbar-label b{overflow:hidden;font-size:var(--font-size-min);text-overflow:ellipsis;white-space:nowrap}.stats-hbar-label small{color:#8a959b;font-size:var(--font-size-min)}.stats-hbar-track{height:10px;overflow:hidden;border-radius:999px;background:#edf1f3}.stats-hbar-track span{display:block;height:100%;border-radius:999px;background:#7597a5;transition:width .2s ease}.stats-hbar-row strong{color:#53656d;font-size:var(--font-size-min);text-align:right}.stats-empty-chart{display:flex;min-height:160px;align-items:center;justify-content:center;color:#9aa4a9;font-size:var(--font-size-min)}.stats-line-wrap{overflow-x:auto}.stats-line-chart{display:block;width:100%;min-width:620px;min-height:220px}.stats-grid-line{stroke:#e7ecee;stroke-width:1}.stats-axis-label{fill:#7d8b91;font-size:var(--font-size-min)}.stats-series polyline{stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.stats-series circle{stroke:#fff;stroke-width:1.4}.stats-series-0 polyline,.stats-series-0 circle{stroke:#667f8a;fill:#667f8a}.stats-series-1 polyline,.stats-series-1 circle{stroke:#7a6d98;fill:#7a6d98}.stats-series-2 polyline,.stats-series-2 circle{stroke:#a17f35;fill:#a17f35}.stats-series-3 polyline,.stats-series-3 circle{stroke:#4f7596;fill:#4f7596}.stats-line-legend{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;padding-top:4px}.stats-series-key{display:flex;gap:5px;align-items:center;color:#68767d;font-size:var(--font-size-min)}.stats-series-key i{width:8px;height:8px;border-radius:50%}.stats-series-key-0 i{background:#667f8a}.stats-series-key-1 i{background:#7a6d98}.stats-series-key-2 i{background:#a17f35}.stats-series-key-3 i{background:#4f7596}.stats-table-wrap{overflow-x:auto}.stats-table{min-width:880px;border:1px solid #e2e7e9;border-radius:9px;overflow:hidden}.stats-tr{display:grid;align-items:center;gap:8px;min-height:34px;padding:6px 9px;border-bottom:1px solid #edf0f2;background:#fff;font-size:var(--font-size-min)}.stats-tr:last-child{border-bottom:0}.stats-table-summary .stats-tr,.stats-table-guards .stats-tr{grid-template-columns:minmax(190px,1.5fr) repeat(7,minmax(58px,.55fr))}.stats-th{background:#f5f7f8;color:#75838a;font-weight:800;text-transform:uppercase;letter-spacing:.035em}.stats-tr>span:not(:first-child){text-align:center}.stats-tr>span:first-child{display:grid;gap:1px}.stats-tr>span:first-child b{font-size:var(--font-size-min)}.stats-tr>span:first-child small{color:#8a959b;font-size:var(--font-size-min)}.stats-tr .positive{color:#347057;font-weight:800}.stats-tr .negative{color:#a14e4e;font-weight:800}.stats-tr .neutral{color:#8a959b}.stats-history-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stats-history-list{display:grid;gap:8px}.stats-history-card{display:grid;gap:8px;padding:11px 12px;border:1px solid #dfe5e8;border-radius:9px;background:#fff}.stats-history-card.forced{border-color:#d7aaaa;background:snow}.stats-history-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.stats-history-card-head>div:first-child{display:grid;gap:2px}.stats-history-card-head b{font-size:var(--font-size-min)}.stats-history-card-head small{color:#849198;font-size:var(--font-size-min)}.stats-history-badges{display:flex;flex-wrap:wrap;gap:5px}.stats-history-badges span{padding:4px 6px;border:1px solid #dce3e6;border-radius:999px;background:#f5f7f8;color:#65737a;font-size:var(--font-size-min);font-weight:800}.stats-history-badges .forced{border-color:#d69d9d;background:#fff0f0;color:#934848}.stats-history-badges .validated{border-color:#b8d5c4;background:#eff8f2;color:#477157}.stats-history-items{display:grid;gap:5px}.stats-history-items>div{display:grid;grid-template-columns:82px minmax(190px,.8fr) minmax(0,1.4fr);gap:8px;padding:6px 7px;border-radius:6px;background:#f7f9fa;font-size:var(--font-size-min)}.stats-history-items span{color:#78868d}.stats-history-items small{color:#66757c}.stats-history-card p{margin:0;color:#66757c;font-size:var(--font-size-min);line-height:1.4}@media(max-width:1100px){.stats-controls{grid-template-columns:1fr;align-items:start}.stats-period-chip{justify-self:start}.stats-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.stats-grid-2{grid-template-columns:1fr}}@media(max-width:700px){.stats-tabs{width:100%}.stats-tabs button{flex:1;min-width:0}.stats-kpis,.stats-history-summary{grid-template-columns:1fr}.stats-history-card-head{flex-direction:column}.stats-history-items>div{grid-template-columns:1fr;gap:2px}}.stats-method-note{grid-column:1/-1;color:#87939a;font-size:var(--font-size-min);line-height:1.35}.stats-collapsible{padding:0;overflow:hidden}.stats-collapsible-head{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;padding:14px 16px;border:0;border-radius:0;background:#fff;color:inherit;text-align:left}.stats-collapsible-head:hover{background:#fafbfb}.stats-collapsible-head>div{display:grid;gap:3px}.stats-collapsible-head h2{margin:0;font-size:var(--font-size-min)}.stats-collapsible-head span{color:#7d8a91;font-size:var(--font-size-min);font-weight:400}.stats-collapsible-head strong{display:flex;align-items:center;gap:6px;color:#60727a;font-size:var(--font-size-min);white-space:nowrap}.stats-collapsible-head i{font-style:normal;font-size:var(--font-size-min)}.stats-collapsible-body{padding:0 14px 14px;border-top:1px solid #edf0f2}.stats-controls-single{grid-template-columns:minmax(0,1fr) auto}.stats-controls-single .stats-method-note{grid-column:1/-1}.stats-load-selectors{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.stats-load-selectors select{min-width:145px}.stats-load-selectors select+select{min-width:175px}@media(max-width:850px){.stats-controls-single{grid-template-columns:1fr}.stats-load-selectors{width:100%}.stats-load-selectors select{flex:1;min-width:150px}}.stats-deviation-bars{display:grid;gap:7px;max-height:440px;overflow:auto;padding-right:4px}.stats-deviation-row{display:grid;grid-template-columns:minmax(155px,.85fr) minmax(220px,1.45fr) 72px;gap:9px;align-items:center;min-height:30px}.stats-deviation-label{display:grid;gap:1px;min-width:0}.stats-deviation-label b{overflow:hidden;font-size:var(--font-size-min);text-overflow:ellipsis;white-space:nowrap}.stats-deviation-label small{color:#8a959b;font-size:var(--font-size-min)}.stats-deviation-track{position:relative;height:12px;border-radius:999px;background:linear-gradient(90deg,#f3eeee 0 49.7%,#edf1f2 49.7% 50.3%,#edf5f0 50.3% 100%);overflow:hidden}.stats-deviation-track .center{position:absolute;z-index:2;top:0;bottom:0;left:50%;width:1px;background:#7e8b91}.stats-deviation-track span{position:absolute;top:2px;bottom:2px;border-radius:999px;min-width:2px}.stats-deviation-track span.over{background:#648b76}.stats-deviation-track span.under{background:#ad6c6c}.stats-deviation-row>strong{display:grid;gap:0;justify-items:end;font-size:var(--font-size-min)}.stats-deviation-row>strong small{font-size:var(--font-size-min);font-weight:600}.stats-deviation-row>strong.over{color:#47745d}.stats-deviation-row>strong.under{color:#9b5656}.stats-deviation-row>strong.balanced{color:#7d8a90}.stats-equity-note{margin-top:12px;padding:8px 10px;border:1px solid #e2e7e9;border-radius:7px;background:#f8fafb;color:#7d8a91;font-size:var(--font-size-min);line-height:1.4}.stats-person-block{border-bottom:1px solid #edf0f2}.stats-person-block:last-child{border-bottom:0}.stats-person-block .stats-tr{border-bottom:0}.stats-person-toggle{display:grid;gap:1px;width:100%;padding:0;border:0;background:transparent;color:inherit;text-align:left}.stats-person-toggle:hover b{text-decoration:underline}.stats-person-toggle b{font-size:var(--font-size-min)}.stats-person-toggle small{color:#8a959b;font-size:var(--font-size-min);font-weight:400}.stats-person-breakdown{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:10px 14px 12px;border-top:1px dashed #e1e6e8;background:#fafbfb}.stats-person-breakdown>div{display:flex;align-content:flex-start;flex-wrap:wrap;gap:5px}.stats-person-breakdown>div>b{flex-basis:100%;margin-bottom:2px;color:#627178;font-size:var(--font-size-min);text-transform:uppercase;letter-spacing:.035em}.stats-person-breakdown span{display:inline-flex;align-items:center;gap:5px;padding:4px 6px;border:1px solid #dfe5e8;border-radius:999px;background:#fff;color:#647279;font-size:var(--font-size-min)}.stats-person-breakdown span strong{min-width:17px;color:#40545d;text-align:center}.stats-person-breakdown small{color:#96a0a5;font-size:var(--font-size-min)}@media(max-width:800px){.stats-deviation-row{grid-template-columns:minmax(125px,.8fr) minmax(170px,1.2fr) 62px}.stats-person-breakdown{grid-template-columns:1fr}}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:28px;background:#f3f6f7}.auth-card{width:min(430px,100%);display:grid;gap:14px;padding:26px;border:1px solid #dce3e6;border-radius:14px;background:#fff;box-shadow:0 12px 36px #293b4314}.auth-brand{margin-bottom:4px;color:#52666f;font-size:16px;line-height:1.05}.auth-card h1{margin:3px 0 4px;font-size:20px}.auth-card p{margin:0;color:#748289;font-size:var(--font-size-min);line-height:1.45}.auth-card>label{display:grid;gap:5px;color:#65737a;font-size:var(--font-size-min);font-weight:800}.auth-card input{width:100%;min-height:38px}.auth-login-button{min-height:39px}.auth-link-button{border:0;background:transparent;color:#587887;font-size:var(--font-size-min);text-decoration:underline}.auth-message,.auth-help,.auth-account-email{padding:8px 10px;border:1px solid #dfe5e8;border-radius:7px;background:#f8fafb;color:#68777e;font-size:var(--font-size-min);line-height:1.4}.auth-account-email{font-weight:800}.auth-loading{text-align:center;justify-items:center}.auth-spinner{width:24px;height:24px;border:3px solid #e1e7ea;border-top-color:#698d9b;border-radius:50%;animation:auth-spin .8s linear infinite}@keyframes auth-spin{to{transform:rotate(360deg)}}.sidebar-signout{width:100%;margin-top:6px;padding:5px 6px;border:1px solid rgba(255,255,255,.14);background:#ffffff0f;color:inherit;font-size:var(--font-size-min)}.supabase-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.supabase-kpi-text{overflow:hidden;font-size:13px!important;line-height:1.2!important;text-overflow:ellipsis;white-space:nowrap}.supabase-actions{display:flex;flex-wrap:wrap;gap:8px}.supabase-message{margin-top:10px;padding:8px 10px;border:1px solid #dfe5e8;border-radius:7px;background:#f8fafb;color:#66757c;font-size:var(--font-size-min);line-height:1.4}.supabase-message.ok{border-color:#bcd6c6;background:#f0f8f3;color:#4f705b}.supabase-message.error{border-color:#dfb9b9;background:#fff4f4;color:#945858}.supabase-source-counts{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.supabase-source-counts span{display:inline-flex;align-items:center;gap:5px;padding:5px 7px;border:1px solid #e0e5e7;border-radius:999px;background:#fafbfb;color:#718087;font-size:var(--font-size-min)}.supabase-source-counts b{color:#40545d;font-size:var(--font-size-min)}.supabase-progress{display:grid;gap:7px;margin-top:12px;max-width:620px}.supabase-progress>div{display:flex;justify-content:space-between;gap:10px;font-size:var(--font-size-min)}.supabase-progress progress{width:100%;height:10px}.supabase-result{display:grid;gap:8px;margin-top:12px;padding:10px;border:1px solid #bfd7c8;border-radius:8px;background:#f1f8f3;color:#526c5b;font-size:var(--font-size-min)}.supabase-result>div{display:flex;flex-wrap:wrap;gap:5px}.supabase-result span{padding:4px 6px;border-radius:5px;background:#fff}.supabase-link-form{display:flex;align-items:end;gap:8px;flex-wrap:wrap}.supabase-link-form label{display:grid;gap:5px;min-width:320px;color:#69777e;font-size:var(--font-size-min);font-weight:800}.supabase-link-form select{width:100%}@media(max-width:1050px){.supabase-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.supabase-status-grid{grid-template-columns:1fr}.supabase-link-form label{min-width:100%;width:100%}}.test-env-sidebar{display:flex;align-items:center;gap:6px;margin:0 14px 10px;padding:6px 8px;border:1px solid rgba(224,173,81,.45);border-radius:7px;background:#a86f1021;color:#f0d7a2;font-size:var(--font-size-min)}.test-env-sidebar b{font-size:var(--font-size-min);letter-spacing:.08em}.test-env-sidebar span{opacity:.85}.test-environment-banner{display:flex;align-items:center;gap:12px;padding:10px 13px;border:1px solid #e6c67f;border-radius:9px;background:#fff8e8;color:#735918}.test-environment-banner b{padding:4px 7px;border-radius:999px;background:#8b691c;color:#fff;font-size:var(--font-size-min);letter-spacing:.06em}.test-environment-banner span{font-size:var(--font-size-min)}.sync-synced{color:#3e7356!important}.sync-syncing,.sync-loading{color:#876716!important}.sync-error{color:#9b4b4b!important}.production-prep-section{margin-top:20px}.production-prep-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.production-prep-card{border:1px solid var(--border, #d8dde5);border-radius:12px;padding:18px;min-width:0;background:var(--surface, #fff)}.production-prep-card h3{font-size:16px;margin:0 0 8px}.production-prep-card p{font-size:13px;line-height:1.5;margin:0 0 12px}.production-prep-card small{display:block;font-size:var(--font-size-min);line-height:1.5;margin-top:12px;opacity:.75}.production-prep-card button{margin:4px 0 10px}.production-prep-upload{display:block;font-weight:600;font-size:var(--font-size-min);margin:12px 0 6px}.production-prep-upload input{display:block;margin:7px 0 4px;max-width:100%;font-weight:400}.production-prep-error{color:#b42318;overflow-wrap:anywhere}.production-prep-ok{color:#167347;overflow-wrap:anywhere}.production-prep-note{font-size:13px;line-height:1.6;margin:16px 0 0}.production-prep-results{margin-top:12px;font-size:var(--font-size-min);max-height:300px;overflow:auto}.production-prep-results ul{padding-left:20px}.production-preview-list{margin-top:8px;line-height:1.6}@media(max-width:900px){.production-prep-grid{grid-template-columns:1fr}}.mycal-month-head{align-items:center}.mycal-month-head h2{margin:0;font-size:26px;line-height:1.1}.mycal-month-head .month-nav{gap:6px}.mycal-month-head .month-nav button{min-width:34px;height:34px}.mycal-month-day{display:flex;flex-direction:column}.mycal-month-day-head{flex:0 0 auto;min-height:28px;margin:0 0 6px;padding:0 1px 6px;border-bottom:1px solid #e4e9ec}.mycal-month-day-body{flex:1 1 auto;min-height:138px;border:0;border-radius:0;background:transparent;overflow:visible}.mycal-month-slot{min-height:0;padding:4px 0;gap:4px}.mycal-month-slot.morning{border-bottom:0}.mycal-month-day .mycal-assignment.compact{flex:1 1 0;min-height:0;justify-content:center;gap:2px;padding:7px 8px;text-decoration:none}.mycal-month-day .mycal-assignment.compact .mycal-assignment-kind{min-width:0;padding:0;border:0;border-radius:0;background:transparent!important;color:inherit!important;font-size:var(--font-size-min);font-weight:800;line-height:1.15;text-decoration:none;text-transform:uppercase}.mycal-month-day .mycal-assignment-detail{display:block;width:100%;overflow:visible;color:inherit;font-size:var(--font-size-min);font-weight:400;line-height:1.2;text-overflow:clip;white-space:normal;overflow-wrap:anywhere}.mycal-month-day .mycal-assignment.compact.guard{align-items:center;justify-content:center;text-align:center}.mycal-month-full{inset:0;gap:5px;padding:4px 0;background:transparent}.mycal-month-availability{border-radius:7px;text-transform:uppercase}.mycal-month-status{right:0;bottom:0;left:0}.mycal-roster-scroll{width:100%;overflow-x:auto;overscroll-behavior-inline:contain}.mycal-roster-table{width:100%;border-collapse:separate;border-spacing:0;color:#44535b;table-layout:fixed}.mycal-roster-table.day{min-width:680px}.mycal-roster-table.week{min-width:1320px}.mycal-roster-table th,.mycal-roster-table td{padding:8px;border-right:1px solid #e2e7e9;border-bottom:1px solid #e2e7e9;background:#fff;vertical-align:top}.mycal-roster-table thead th{border-top:1px solid #dce3e6;background:#f3f6f7;color:#5e6d75;font-size:var(--font-size-min);font-weight:800;text-align:center;text-transform:capitalize}.mycal-roster-table thead th:first-child,.mycal-roster-table tbody th{width:220px;border-left:1px solid #e2e7e9;text-align:left}.mycal-roster-table thead th:first-child{border-top-left-radius:9px}.mycal-roster-table thead th:last-child{border-top-right-radius:9px}.mycal-roster-table tbody tr:last-child th:first-child{border-bottom-left-radius:9px}.mycal-roster-table tbody tr:last-child td:last-child{border-bottom-right-radius:9px}.mycal-roster-table tbody th{background:#fafbfb}.mycal-roster-table tbody th b{display:block;font-size:var(--font-size-min);line-height:1.25}.mycal-roster-table tbody th small{display:block;margin-top:2px;color:#89959a;font-size:var(--font-size-min);font-weight:500}.mycal-roster-table.week thead th:not(:first-child){width:155px}.mycal-roster-table.week thead th b,.mycal-roster-table.week thead th span{display:block}.mycal-roster-table.week thead th span{margin-top:2px;color:#34444d;font-size:14px}.mycal-roster-table th.today,.mycal-roster-table td.today{background:#f2f8fa}.mycal-roster-special-row th{background:#f4f6f7!important}.mycal-roster-cell{display:flex;flex-wrap:wrap;align-items:flex-start;gap:5px;min-height:31px}.mycal-roster-chip{display:inline-flex;align-items:center;min-height:30px;max-width:100%;padding:5px 8px;border:1px solid transparent;border-radius:7px;font-size:var(--font-size-min);font-weight:700;line-height:1.2;text-align:left;white-space:normal}.mycal-roster-chip:disabled{cursor:default;opacity:1}.mycal-roster-chip.mine{position:relative;z-index:1;outline:0;cursor:pointer;font-weight:800;box-shadow:0 0 0 2px #fff,0 0 0 4px #17658f,0 2px 7px #17658f42}.mycal-roster-chip.mine:hover{box-shadow:0 0 0 2px #fff,0 0 0 4px #0f5277,0 3px 9px #0f527752}.mycal-roster-chip.morning{border-color:var(--schedule-morning-border,#93c5fd);background:var(--schedule-morning-bg,#dbeafe);color:var(--schedule-morning-text,#1f5f9e)}.mycal-roster-chip.afternoon{border-color:var(--schedule-afternoon-border,#244d74);background:var(--schedule-afternoon-bg,#315f8c);color:#fff}.mycal-roster-chip.management{border-color:var(--schedule-management-border,#d59600);background:var(--schedule-management-bg,#fef3c7);color:var(--schedule-management-text,#8c6500)}.mycal-roster-chip.guard{border-color:var(--schedule-guard-border,#8b5bd1);background:var(--schedule-guard-bg,#e4ddfb);color:var(--schedule-guard-text,#6432ad)}.mycal-roster-availability{display:inline-flex;flex-direction:column;align-items:flex-start;gap:1px;min-height:30px;max-width:100%;padding:5px 8px;border:1px solid #d9dfe2;border-radius:7px;background:#eef1f2;color:#66737a;font-size:var(--font-size-min);line-height:1.2}.mycal-roster-availability b{font-size:var(--font-size-min)}.mycal-roster-availability span{font-size:var(--font-size-min);font-weight:800;text-transform:uppercase}.mycal-roster-availability.leave{border-color:#78a85e;background:#e2f0d9;color:#4f7d32}.mycal-roster-availability.postguard{border-color:#9ca3aa;background:#e5e7eb;color:#626262}.mycal-roster-availability.reduction{border-color:#d7cba9;background:#f4f0e8;color:#786b4d}.mycal-roster-availability.mine{position:relative;z-index:1;outline:0;box-shadow:0 0 0 2px #fff,0 0 0 4px #17658f,0 2px 7px #17658f38}.mycal-roster-empty{align-self:center;color:#b5bdc1;font-size:var(--font-size-min)}@media(max-width:800px){.mycal-month-head h2{font-size:22px}.mycal-roster-table.day{min-width:620px}}.my-calendar-page{font-family:Bahnschrift Light,Bahnschrift,Segoe UI Variable Text,Segoe UI,sans-serif;letter-spacing:.005em}.my-calendar-page button,.my-calendar-page input,.my-calendar-page select{font-family:inherit}.my-calendar-page{font-family:Segoe UI Variable Text,Segoe UI Variable,Aptos,Segoe UI,system-ui,sans-serif;font-weight:400;letter-spacing:0}.my-calendar-page strong,.my-calendar-page b,.my-calendar-page h1,.my-calendar-page h2,.my-calendar-page h3,.my-calendar-page .active,.my-calendar-page .mycal-assignment-kind{font-weight:700}.mycal-page-header{margin-bottom:18px}.mycal-page-header h1{margin:0}.mycal-toolbar{justify-content:flex-start;padding:6px;border-color:#edf0f2;background:#fff}.mycal-toolbar .mycal-view-tabs{display:grid;grid-template-columns:repeat(3,minmax(104px,1fr));gap:8px;width:min(430px,100%);padding:0;border:0;border-radius:12px;background:#fff}.mycal-toolbar .mycal-view-tabs button{min-width:0;padding:10px 18px;border:0;border-radius:10px;background:#dedede;color:#20272d;font-size:14px;font-weight:400;box-shadow:none}.mycal-toolbar .mycal-view-tabs button.active{border:0;background:#9fc3e2;color:#17202a;font-weight:700;box-shadow:none}.mycal-month-head h2{font-size:28px;font-weight:700}.mycal-month-scroll{padding:16px 18px 18px}@media(max-width:800px){.mycal-toolbar .mycal-view-tabs{width:100%}.mycal-toolbar .mycal-view-tabs button{padding-inline:10px}.mycal-month-head h2{font-size:25px}.mycal-month-scroll{padding:12px}}.mycal-toolbar .mycal-view-tabs{grid-template-columns:repeat(3,minmax(86px,1fr));gap:7px;width:min(360px,100%)}.mycal-toolbar .mycal-view-tabs button{padding:7px 13px;border:1px solid transparent;border-radius:9px;cursor:pointer;transition:border-color .14s ease,box-shadow .14s ease,background-color .14s ease}.mycal-toolbar .mycal-view-tabs button:hover{border-color:#748a9b;box-shadow:0 0 0 1px #748a9b1f}.mycal-toolbar .mycal-view-tabs button.active{border:1px solid transparent}.mycal-toolbar .mycal-view-tabs button.active:hover{border-color:#5f89ab;box-shadow:0 0 0 1px #5f89ab24}.mycal-date-panel{padding:13px 18px}.mycal-date-nav>button,.mycal-month-head .month-nav button{display:inline-grid;place-items:center;min-width:36px;width:36px;height:36px;padding:0;border:1px solid #d9dfe3;border-radius:9px;background:#fff;color:#34444d;font-size:25px;font-weight:500;line-height:1;cursor:pointer}.mycal-date-nav>button:hover,.mycal-month-head .month-nav button:hover{border-color:#9aabb5;background:#f7f9fa}.mycal-date-nav label{min-height:38px;font-size:15px;font-weight:700}@media(max-width:800px){.mycal-toolbar .mycal-view-tabs{width:min(330px,100%)}.mycal-toolbar .mycal-view-tabs button{padding:7px 10px}.mycal-date-panel{padding:11px 12px}.mycal-date-nav label{min-width:230px;font-size:14px}}:root{--section-title-size:22px}.mycal-page-header p,.user-leave-page>header p{max-width:760px;margin:0;color:#71808c;font-size:14px;line-height:1.45}.mycal-month-head h2{font-size:var(--section-title-size);font-weight:700}.user-leave-page .panel-head h2{margin:0 0 4px;font-size:var(--section-title-size);line-height:1.15;font-weight:700}.mycal-date-nav>button,.mycal-month-head .month-nav button{display:flex;align-items:center;justify-content:center;line-height:1}.mycal-nav-glyph{display:block;font-size:29px;font-weight:500;line-height:1;transform:translateY(-1px)}@media(max-width:800px){.mycal-month-head h2,.user-leave-page .panel-head h2{font-size:21px}.mycal-page-header p,.user-leave-page>header p{font-size:var(--font-size-min)}}.mycal-month-head h2{font-size:20px;font-weight:700}.user-program-requests-page>header p{max-width:900px;line-height:1.5}.user-program-requests-page .request-countdown{padding:16px 20px;margin-bottom:22px}.user-program-requests-page .request-countdown strong{font-size:15px;line-height:1.35}.user-program-requests-page .request-countdown span{font-size:14px;font-weight:600;color:#58656e;white-space:nowrap}.user-program-request-panel{padding:18px 20px 20px}.user-program-request-panel .program-request-topbar{margin-bottom:16px}.user-program-requests-page .request-area-tabs{display:grid;grid-template-columns:repeat(2,minmax(96px,1fr));gap:7px;width:min(230px,100%);padding:0;border:0;border-radius:0;background:transparent}.user-program-requests-page .request-area-tabs button{min-width:0;padding:7px 13px;border:1px solid transparent;border-radius:9px;background:#dedede;color:#20272d;font-size:14px;font-weight:400;cursor:pointer;box-shadow:none;transition:border-color .14s ease,box-shadow .14s ease,background-color .14s ease}.user-program-requests-page .request-area-tabs button:hover{border-color:#748a9b;box-shadow:0 0 0 1px #748a9b1f}.user-program-requests-page .request-area-tabs button.active{background:#9fc4e5;color:#17202a;font-weight:700;border-color:transparent;box-shadow:none}.user-program-requests-page .request-area-tabs button.active:hover{border-color:#5f89ab;box-shadow:0 0 0 1px #5f89ab24}.user-program-requests-page .program-request-topbar .month-nav{flex:0 0 auto;gap:8px}.user-program-requests-page .program-request-topbar .month-nav b{display:flex;align-items:center;justify-content:center;width:205px;min-height:36px;padding:0 10px;border:1px solid #dce2e5;border-radius:8px;background:#fff;font-size:14px;font-weight:700;text-transform:capitalize;white-space:nowrap}.user-program-requests-page .program-request-topbar .month-nav button{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border-radius:9px;font-size:24px;line-height:1}@media(max-width:800px){.mycal-month-head h2{font-size:19px}.user-program-requests-page .request-countdown{align-items:flex-start;flex-direction:column;padding:14px 16px}.user-program-request-panel{padding:14px 16px 16px}.user-program-requests-page .program-request-topbar .month-nav b{width:175px;font-size:13px}.user-program-requests-page .request-area-tabs{width:100%}}.mycal-month-head h2{font-size:18px;line-height:1.2;font-weight:700}.peer-history-row{grid-template-columns:130px 170px minmax(260px,1fr) 220px 90px}.peer-history-row>.peer-status{justify-self:center;width:max-content;max-width:100%;padding:4px 10px;font-size:var(--font-size-min);font-weight:400;line-height:1.2;text-align:center}.peer-history-pagination{display:flex;align-items:center;justify-content:center;gap:12px;padding:14px 16px;border-top:1px solid #edf0f2;background:#fafbfb}.peer-history-pagination span{color:#6f7d86;font-size:var(--font-size-min)}.peer-history-pagination button{width:34px;height:34px;display:flex;align-items:center;justify-content:center;padding:0;border:1px solid #d8dfe3;border-radius:8px;background:#fff;color:#34444d;font-size:22px;line-height:1;cursor:pointer}.peer-history-pagination button:hover:not(:disabled){border-color:#9aabb5;background:#f4f7f8}.peer-history-pagination button:disabled{opacity:.4;cursor:not-allowed}@media(max-width:1000px){.peer-history-row{min-width:950px}}@media(max-width:800px){.mycal-month-head h2{font-size:18px}}.peer-history-content{padding:18px 20px 20px}.peer-history-content .peer-history-pagination{margin-top:12px;border:1px solid #e2e7e9;border-radius:9px}.calendar-change-source-picker{display:grid;gap:12px;padding:12px;border:1px solid #e1e6e8;border-radius:9px;background:#fafbfb}.calendar-change-source-picker>label{display:grid;gap:5px;margin:0;color:#66757c;font-size:var(--font-size-min);font-weight:800}.calendar-change-source-picker .calendar-swap-list{margin:0}@media(max-width:700px){.peer-history-content{padding:14px 12px 16px}}.user-program-requests-page .request-calendar-empty{min-height:62px}.peer-history-panel .panel-head{gap:16px}.peer-new-request-button{flex:0 0 auto;min-width:148px;white-space:nowrap;text-align:center}.user-calendar-change-modal{width:min(820px,calc(100vw - 40px))}.calendar-change-current{margin:0 0 12px}.calendar-change-mode{display:grid;grid-template-columns:repeat(2,minmax(120px,1fr));gap:7px;width:min(300px,100%);padding:0;border:0;border-radius:0;background:transparent}.calendar-change-mode button{min-width:0;padding:7px 14px;border:1px solid transparent;border-radius:9px;background:#dedede;color:#20272d;font-size:14px;font-weight:400;cursor:pointer;box-shadow:none;transition:border-color .14s ease,box-shadow .14s ease,background-color .14s ease}.calendar-change-mode button:hover{border-color:#748a9b;box-shadow:0 0 0 1px #748a9b1f}.calendar-change-mode button.active{background:#9fc4e5;color:#17202a;font-weight:700;border-color:transparent;box-shadow:none}.calendar-change-mode button.active:hover{border-color:#5f89ab;box-shadow:0 0 0 1px #5f89ab24}.calendar-change-source-picker .calendar-swap-person.source-assignment{display:block;width:100%;padding:10px 12px;white-space:nowrap;overflow:visible}.calendar-change-source-picker .calendar-swap-person.source-assignment b{display:block;white-space:nowrap;font-weight:500}.user-calendar-change-modal>label,.user-calendar-change-modal .calendar-swap-list-title{text-transform:uppercase;letter-spacing:.035em}.user-calendar-change-modal textarea{display:block;margin-top:6px;padding:10px 11px;border:1px solid #d7dde1;border-radius:9px;background:#fff;font:inherit;resize:vertical;min-height:82px}@media(max-width:700px){.peer-history-panel .panel-head{align-items:flex-start;flex-direction:column}.peer-new-request-button{min-width:155px}.calendar-change-mode{width:100%}.calendar-change-source-picker .calendar-swap-person.source-assignment,.calendar-change-source-picker .calendar-swap-person.source-assignment b{white-space:normal}}.user-calendar-change-modal textarea{font-weight:400}.calendar-change-review .changes-force-warning{color:#9b2f2f;background:#fff1f1;border-color:#e7b5b5}.peer-validation-preview span.error{line-height:1.4}.sidebar .session-user-box{margin-top:0;margin-bottom:14px;padding:12px 8px;border-top:1px solid #30404d;border-bottom:1px solid #30404d;align-items:flex-start}.sidebar .session-user-box>div{min-width:0;flex:1}.sidebar .session-user-box b{display:block;color:#fff;line-height:1.25}.sidebar .session-user-box .sidebar-signout{margin-top:8px}.panel-head h2.section-title-standard{margin:0 0 4px;font-size:18px;line-height:1.2;font-weight:700}.guard-programming-page .guard-title-line{display:flex;align-items:center;gap:12px;margin:4px 0 6px}.guard-programming-page .guard-title-line h1{margin:0}.guard-programming-page .publication-status{min-height:27px;padding:0 10px;font-weight:700}.guard-programming-page .guard-control-panel{padding:18px 20px}.guard-programming-page .guard-toolbar{display:grid;grid-template-columns:1fr auto 1fr;gap:18px;align-items:center}.guard-programming-page .guard-category-tabs{display:grid;grid-template-columns:repeat(2,minmax(105px,1fr));gap:7px;width:min(250px,100%);padding:0;background:transparent;border-radius:0}.guard-programming-page .guard-category-tabs button{min-width:0;padding:7px 13px;border:1px solid transparent;border-radius:9px;background:#dedede;color:#20272d;font-size:14px;font-weight:400;cursor:pointer;box-shadow:none;transition:border-color .14s ease,box-shadow .14s ease,background-color .14s ease}.guard-programming-page .guard-category-tabs button:hover{border-color:#748a9b;box-shadow:0 0 0 1px #748a9b1f}.guard-programming-page .guard-category-tabs button.active{background:#9fc4e5;color:#17202a;font-weight:700;border-color:transparent;box-shadow:none}.guard-programming-page .guard-category-tabs button.active:hover{border-color:#5f89ab}.guard-programming-page .month-nav{justify-self:center;gap:8px}.guard-programming-page .month-nav b{display:flex;align-items:center;justify-content:center;width:205px;min-height:36px;padding:0 10px;border:1px solid #dce2e5;border-radius:8px;background:#fff;font-size:14px;font-weight:700;text-transform:capitalize;white-space:nowrap}.guard-programming-page .month-nav button{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0 0 3px;border-radius:9px;font-size:24px;line-height:1}.guard-programming-page .guard-auto-mode{justify-content:flex-end}.guard-secondary-action{min-height:36px;padding:8px 14px;border:1px solid #1d6b55;border-radius:7px;background:#fff;color:#1d6b55;font-weight:700;cursor:pointer}.guard-secondary-action:hover:not(:disabled){background:#f0f8f5}.guard-programming-page .guard-header-actions button,.guard-programming-page .guard-calendar-actions button{min-height:36px}.guard-programming-page .guard-calendar-panel .panel-head h2,.guard-programming-page .monthly-summary-panel .collapsible-panel-head h2{font-size:18px;font-weight:700}.guard-calendar-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.guard-calendar-body{padding:18px 20px 20px}.guard-programming-page .guard-month-weekdays{margin-bottom:9px}.guard-programming-page .guard-month-grid{gap:10px}.guard-programming-page .guard-month-day{min-height:138px;padding:38px 10px 10px;border-radius:11px}.guard-programming-page .guard-month-day.non-working{background:#f2f4f5}.guard-programming-page .guard-month-number{top:11px;font-size:15px;font-weight:700}.guard-programming-page .guard-month-coverage{display:none}.guard-programming-page .guard-month-day .guard-slots{gap:8px}.guard-programming-page .guard-slot select{width:100%;min-width:0;height:46px;padding:0 40px 0 50px;border:1.5px solid #d7dfe4;border-radius:12px;font:inherit;font-size:13px;color:#25323a;box-shadow:none}.guard-programming-page .assignment-select.assignment-ok{background:#e8f5ed!important;border-color:#83bf9d!important}.guard-programming-page .assignment-select.assignment-warning{background:#fff3c9!important;border-color:#d5a514!important;box-shadow:none}.guard-programming-page .assignment-select.assignment-error{background:#fee5e5!important;border-color:#cf5c5c!important;box-shadow:none}.guard-programming-page .guard-slot.locked select,.guard-programming-page .guard-slot select:disabled{background:#e9ecef!important;border-color:#c9d0d5!important;color:#7a858c!important;opacity:1;cursor:not-allowed}.guard-programming-page .guard-lock{position:absolute;left:12px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;border:0;border-radius:7px;background:transparent;cursor:pointer;z-index:2}.guard-programming-page .guard-lock:hover{background:#35434b14}.guard-programming-page .guard-lock.on{background:#35434b0f}.guard-lock-placeholder{position:absolute;left:12px;top:50%;transform:translateY(-50%);display:block;width:26px;height:26px}.guard-lock-icon{position:relative;display:block;width:16px;height:12px;border-radius:3px;background:#3c4b55}.guard-lock-icon:before{content:"";position:absolute;width:10px;height:9px;top:-9px;border:2.25px solid #3c4b55;border-bottom:0;border-radius:8px 8px 0 0}.guard-lock-icon:after{content:"";position:absolute;left:6px;top:3px;width:4px;height:5px;border-radius:2px;background:#fff;opacity:.95}.guard-lock-icon.closed:before{left:1px}.guard-lock-icon.open:before{left:6px;transform:rotate(18deg);transform-origin:left bottom}.guard-programming-page .monthly-summary-panel{margin-bottom:22px}.guard-programming-page .monthly-summary-panel .collapsible-panel-head{padding:18px 20px}.guard-programming-page .monthly-summary-panel .collapsible-panel-body{padding:0 20px 20px}.guard-programming-page .monthly-summary-panel .monthly-summary-wrap{margin-top:16px}.guard-programming-page .collapse-chevron{font-size:22px}@media(max-width:1000px){.guard-programming-page .guard-toolbar{grid-template-columns:1fr;justify-items:start}.guard-programming-page .month-nav{justify-self:start}.guard-programming-page .guard-auto-mode{justify-content:flex-start}}.guard-programming-page .assignment-select.assignment-idle{background:#fff!important;border-color:#d7dfe4!important}.guard-programming-page .guard-slot{position:relative;display:block}.guard-programming-page .guard-slot select{height:42px;padding:0 34px 0 12px;border-radius:9px}.guard-programming-page .guard-slot.locked select,.guard-programming-page .guard-slot select:disabled{pointer-events:none}.guard-context-menu{position:fixed;z-index:120;min-width:190px;padding:5px;border:1px solid #d7dde1;border-radius:9px;background:#fff;box-shadow:0 10px 28px #0002}.guard-context-menu button{width:100%;border:0;border-radius:6px;background:transparent;padding:9px 11px;text-align:left;font:inherit;font-size:13px;color:#26343d;cursor:pointer;white-space:nowrap}.guard-context-menu button:hover{background:#f1f4f5}.guard-programming-page .guard-month-day .guard-slots{gap:5px}.guard-programming-page .guard-slot{position:relative;display:block;min-width:0}.guard-programming-page .guard-slot select{width:100%;min-width:0;height:32px;padding:0 25px 0 8px;border-radius:7px;line-height:30px;-webkit-appearance:none;appearance:none;background-image:none!important}.guard-programming-page .guard-slot:after{content:"";position:absolute;right:9px;top:50%;width:7px;height:7px;border-right:2px solid #35434b;border-bottom:2px solid #35434b;transform:translateY(-68%) rotate(45deg);pointer-events:none;z-index:1}.guard-programming-page .guard-slot.locked:after{border-color:#879198}.guard-programming-page .guard-month-day{min-height:128px;padding:34px 9px 8px}.guard-programming-page .collapse-chevron{position:relative;font-size:0;line-height:0;padding:0;transform-origin:center center}.guard-programming-page .collapse-chevron:before{content:"";display:block;width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translate(-1px,-1px)}.guard-programming-page .monthly-summary-panel .monthly-summary-wrap{width:100%;max-width:100%;overflow-x:hidden}.guard-programming-page .monthly-summary-table{width:100%;min-width:0}.guard-programming-page .monthly-summary-row{grid-template-columns:minmax(130px,1.15fr) minmax(68px,.7fr) minmax(58px,.58fr) minmax(62px,.62fr) minmax(42px,.42fr) minmax(42px,.42fr) minmax(42px,.42fr) minmax(76px,.75fr) minmax(150px,1.55fr);gap:6px;padding:7px 8px}.guard-programming-page .monthly-summary-row>span{min-width:0;white-space:normal;overflow-wrap:anywhere}.afternoon-programming-page .afternoon-control-panel{padding:18px 20px}.afternoon-programming-page .afternoon-toolbar-spacer{display:block;min-width:1px}.afternoon-programming-page .afternoon-calendar-panel{overflow:visible}.afternoon-programming-page .afternoon-calendar-panel .panel-head h2,.afternoon-programming-page .afternoon-summary-panel .collapsible-panel-head h2{font-size:18px;font-weight:700}.afternoon-programming-page .guard-calendar-body{padding:18px 20px 20px}.afternoon-programming-page .guard-month-weekdays{margin-bottom:9px}.afternoon-programming-page .guard-month-grid{gap:10px}.afternoon-programming-page .afternoon-month-day{min-height:128px;padding:34px 9px 8px;border-radius:11px}.afternoon-programming-page .afternoon-month-day.non-working{background:#f2f4f5;border-color:#d5dce0}.afternoon-programming-page .afternoon-month-slots{display:grid;gap:7px}.afternoon-programming-page .afternoon-month-slot{display:grid;gap:4px;min-width:0}.afternoon-programming-page .afternoon-month-post{min-width:0;padding:0 2px;color:#53616a;font-size:13px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.afternoon-programming-page .afternoon-month-post b{font-weight:700;color:#34424b}.afternoon-programming-page .afternoon-month-post span{font-weight:400;color:#687780}.afternoon-programming-page .afternoon-select-wrap{position:relative;display:block;min-width:0}.afternoon-programming-page .afternoon-select-wrap select{width:100%;min-width:0;height:32px;padding:0 25px 0 8px;border:1.5px solid #d7dfe4;border-radius:7px;font:inherit;font-size:13px;line-height:30px;color:#25323a;box-shadow:none;-webkit-appearance:none;appearance:none;background-image:none!important}.afternoon-programming-page .afternoon-select-wrap:after{content:"";position:absolute;right:9px;top:50%;width:7px;height:7px;border-right:2px solid #35434b;border-bottom:2px solid #35434b;transform:translateY(-68%) rotate(45deg);pointer-events:none;z-index:1}.afternoon-programming-page .afternoon-select-wrap.locked:after{border-color:#879198}.afternoon-programming-page .afternoon-select-wrap.locked select,.afternoon-programming-page .afternoon-select-wrap select:disabled{background:#e9ecef!important;border-color:#c9d0d5!important;color:#7a858c!important;opacity:1;cursor:not-allowed;pointer-events:none}.afternoon-programming-page .assignment-select.assignment-idle{background:#fff!important;border-color:#d7dfe4!important}.afternoon-programming-page .monthly-summary-panel{margin-bottom:22px}.afternoon-programming-page .monthly-summary-panel .collapsible-panel-head{padding:18px 20px}.afternoon-programming-page .monthly-summary-panel .collapsible-panel-body{padding:0 20px 20px}.afternoon-programming-page .afternoon-summary-wrap{width:100%;max-width:100%;margin-top:16px;overflow-x:hidden;border:1px solid #dfe5e8;border-radius:10px;background:#fff}.afternoon-programming-page .afternoon-summary-table{width:100%;min-width:0}.afternoon-programming-page .afternoon-summary-row{grid-template-columns:minmax(130px,1.2fr) minmax(78px,.72fr) minmax(86px,.82fr) minmax(44px,.42fr) minmax(44px,.42fr) minmax(44px,.42fr) minmax(92px,.86fr) minmax(150px,1.45fr);gap:6px;padding:7px 8px}.afternoon-programming-page .afternoon-summary-row>span{min-width:0;white-space:normal;overflow-wrap:anywhere}@media(max-width:1000px){.afternoon-programming-page .guard-toolbar{grid-template-columns:1fr;justify-items:start}.afternoon-programming-page .afternoon-toolbar-spacer{display:none}.afternoon-programming-page .month-nav{justify-self:start}.afternoon-programming-page .guard-auto-mode{justify-content:flex-start}}.management-programming-page .management-control-panel{padding:18px 20px}.management-programming-page .management-toolbar-spacer{display:block;min-width:1px}.management-programming-page .management-calendar-panel{overflow:visible}.management-programming-page .management-calendar-panel .panel-head h2,.management-programming-page .management-summary-panel .collapsible-panel-head h2{font-size:18px;font-weight:700}.management-programming-page .guard-calendar-body{padding:18px 20px 20px}.management-programming-page .guard-month-weekdays{margin-bottom:9px}.management-programming-page .guard-month-grid{gap:10px}.management-programming-page .management-month-day{min-height:128px;padding:34px 9px 8px;border-radius:11px}.management-programming-page .management-month-day.non-working{background:#f2f4f5;border-color:#d5dce0}.management-programming-page .management-month-slots{display:grid;gap:7px}.management-programming-page .management-month-slot{display:grid;gap:4px;min-width:0}.management-programming-page .management-month-specialty{min-width:0;padding:0 2px;color:#34424b;font-size:13px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.management-programming-page .management-month-specialty b{font-weight:700}.management-programming-page .management-select-wrap{position:relative;display:block;min-width:0}.management-programming-page .management-select-wrap select{width:100%;min-width:0;height:32px;padding:0 25px 0 8px;border:1.5px solid #d7dfe4;border-radius:7px;font:inherit;font-size:13px;line-height:30px;color:#25323a;box-shadow:none;-webkit-appearance:none;appearance:none;background-image:none!important}.management-programming-page .management-select-wrap:after{content:"";position:absolute;right:9px;top:50%;width:7px;height:7px;border-right:2px solid #35434b;border-bottom:2px solid #35434b;transform:translateY(-68%) rotate(45deg);pointer-events:none;z-index:1}.management-programming-page .management-select-wrap.locked:after{border-color:#879198}.management-programming-page .management-select-wrap.locked select,.management-programming-page .management-select-wrap select:disabled{background:#e9ecef!important;border-color:#c9d0d5!important;color:#7a858c!important;opacity:1;cursor:not-allowed;pointer-events:none}.management-programming-page .assignment-select.assignment-idle{background:#fff!important;border-color:#d7dfe4!important}.management-programming-page .monthly-summary-panel{margin-bottom:22px}.management-programming-page .monthly-summary-panel .collapsible-panel-head{padding:18px 20px}.management-programming-page .monthly-summary-panel .collapsible-panel-body{padding:0 20px 20px}.management-programming-page .management-summary-wrap{width:100%;max-width:100%;margin-top:16px;overflow-x:hidden;border:1px solid #dfe5e8;border-radius:10px;background:#fff}.management-programming-page .management-summary-table{width:100%;min-width:0}.management-programming-page .management-summary-row{grid-template-columns:minmax(130px,1.2fr) minmax(70px,.66fr) minmax(74px,.72fr) minmax(44px,.42fr) minmax(44px,.42fr) minmax(44px,.42fr) minmax(86px,.8fr) minmax(150px,1.45fr);gap:6px;padding:7px 8px}.management-programming-page .management-summary-row>span{min-width:0;white-space:normal;overflow-wrap:anywhere}@media(max-width:1000px){.management-programming-page .guard-toolbar{grid-template-columns:1fr;justify-items:start}.management-programming-page .management-toolbar-spacer{display:none}.management-programming-page .month-nav{justify-self:start}.management-programming-page .guard-auto-mode{justify-content:flex-start}}.position-programming-page .position-control-panel{padding:18px 20px}.position-programming-page .position-toolbar-grid{display:grid;grid-template-columns:1fr auto 1fr;gap:18px;align-items:center}.position-programming-page .position-toolbar-spacer{display:block;min-width:1px}.position-programming-page .position-view-tabs{display:grid;grid-template-columns:repeat(2,minmax(92px,1fr));gap:7px;width:min(220px,100%);padding:0;border:0;border-radius:0;background:transparent}.position-programming-page .position-view-tabs button{min-width:0;padding:7px 13px;border:1px solid transparent;border-radius:9px;background:#dedede;color:#20272d;font:inherit;font-size:14px;font-weight:400;cursor:pointer;box-shadow:none;transition:border-color .14s ease,box-shadow .14s ease,background-color .14s ease}.position-programming-page .position-view-tabs button:hover{border-color:#748a9b;box-shadow:0 0 0 1px #748a9b1f}.position-programming-page .position-view-tabs button.active{background:#9fc4e5;color:#17202a;font-weight:700;border-color:transparent;box-shadow:none}.position-programming-page .position-view-tabs button.active:hover{border-color:#5f89ab}.position-programming-page .position-date-nav{justify-self:center;display:flex;align-items:center;justify-content:center;gap:8px}.position-programming-page .position-date-nav>button{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0 0 3px;border:1px solid #dce2e5;border-radius:9px;background:#fff;font:inherit;font-size:24px;line-height:1;cursor:pointer}.position-programming-page .position-date-nav>button:hover{border-color:#748a9b;background:#f7f9fa}.position-programming-page .position-date-picker{position:relative;width:300px;min-width:300px;cursor:pointer}.position-programming-page .position-date-picker>span{display:flex;align-items:center;justify-content:center;width:100%;min-height:36px;padding:0 12px;border:1px solid #dce2e5;border-radius:8px;background:#fff;font-size:14px;font-weight:700;text-align:center;text-transform:capitalize;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.position-programming-page .position-date-picker input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.position-programming-page .position-staff-panel .panel-head{padding:18px 20px}.position-programming-page .position-faculty-title{font-size:18px;font-weight:700}.position-programming-page .position-staff-pool{justify-content:center;padding:18px 20px 20px}.position-programming-page .position-work-panel{overflow:visible}.position-programming-page .position-work-head{padding:18px 20px}.position-programming-page .position-work-head h2{font-size:18px;font-weight:700}.position-programming-page .position-work-body{padding:18px 20px 20px}.position-programming-page .position-day-row{grid-template-columns:minmax(270px,.9fr) minmax(320px,1.1fr);gap:10px;align-items:stretch}.position-programming-page .position-post-info{min-width:0}.position-programming-page .position-post-info>div{min-width:0}.position-programming-page .position-post-info b,.position-programming-page .position-post-info small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.position-programming-page .position-shift{min-width:78px;padding:5px 8px;border-radius:7px;font-size:13px;font-weight:700;text-transform:none}.position-programming-page .position-shift.morning{background:var(--schedule-morning-bg,#dbeafe);color:#23598b}.position-programming-page .position-shift.afternoon{background:var(--schedule-afternoon-bg,#315f8c);color:#fff}.position-programming-page .position-shift.management{background:var(--schedule-management-bg,#fef3c7);color:#936a00}.position-programming-page .position-shift.guard{background:var(--schedule-guard-bg,#e4ddfb);color:#6d3bc1}.position-programming-page .position-dropzone.linked-source{box-shadow:inset 3px 0 #66737a;cursor:default}.position-programming-page .position-status-legend-below{margin-top:16px;padding-top:14px;border-top:1px solid #edf0f2}.position-programming-page .position-week-scroll{padding-bottom:0}.position-programming-page .position-week-grid{min-width:1290px}.position-programming-page .position-week-post .position-shift{min-width:30px;padding:4px 5px}@media(max-width:1000px){.position-programming-page .position-toolbar-grid{grid-template-columns:1fr;justify-items:center}.position-programming-page .position-toolbar-spacer{display:none}.position-programming-page .position-view-tabs,.position-programming-page .position-date-nav{justify-self:center}}@media(max-width:700px){.position-programming-page .position-date-picker{width:235px;min-width:235px}.position-programming-page .position-day-row{grid-template-columns:1fr}}.position-programming-page .position-week-day-head{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:6px}.position-programming-page .position-week-day-head b,.position-programming-page .position-week-day-head span{line-height:1}.position-programming-page .position-week-head,.position-programming-page .position-week-post,.position-programming-page .position-week-cell{min-height:52px;padding:5px 6px}.position-programming-page .position-week-head{min-height:40px}.position-programming-page .position-week-cell .position-dropzone{min-height:36px;padding:4px 7px}.position-programming-page .position-week-cell-inner{gap:2px}.position-programming-page .position-week-cell-inner>small{font-size:12px;line-height:1}.position-programming-page .position-assigned-person{gap:4px}.position-programming-page .position-assigned-person button,.position-programming-page .position-forced .position-assigned-person button{width:26px;height:26px;flex:0 0 26px;padding:0;border:0!important;border-radius:4px;background:transparent!important;color:#111!important;font-size:22px;line-height:1;font-weight:400;box-shadow:none!important;cursor:pointer}.position-programming-page .position-assigned-person button:hover{background:#0000000d!important}.position-programming-page .position-dropzone.position-external-white{background:#fff!important;border:1px solid #d8dfe3!important;color:#25323a!important;box-shadow:none!important;cursor:default}.position-programming-page .position-dropzone.position-external-white .position-empty{color:#8a959b}.position-programming-page .position-post-single{display:flex!important;align-items:center}.position-programming-page .position-shift.extension{background:var(--schedule-extension-bg,#dce9f5);color:var(--schedule-extension-text,#315f8c)}.position-programming-page .position-assigned-name,.position-programming-page .position-assigned-person b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--font-size-min);font-weight:400}.position-programming-page .position-person-chip,.position-programming-page .position-assigned-person button,.position-programming-page .position-forced .position-assigned-person button{font-weight:400}.position-programming-page .position-dropzone.position-readonly-unassigned{background:#e9ecef!important;border-color:#cbd2d7!important;color:#7c878e!important}.position-programming-page .position-dropzone.position-readonly-unassigned .position-empty{color:#7c878e}.admin-changes-page .peer-admin-panel .peer-admin-list{padding:18px 20px 20px}.admin-changes-page .changes-editor-panel{gap:16px;padding-bottom:20px}.admin-changes-page .changes-editor-panel>.admin-change-filters,.admin-changes-page .changes-editor-panel>.changes-form-grid,.admin-changes-page .changes-editor-panel>.changes-swap-preview,.admin-changes-page .changes-editor-panel>.changes-reason,.admin-changes-page .changes-editor-panel>.changes-actions{margin-left:20px;margin-right:20px}.admin-changes-page .changes-editor-panel .panel-head h2,.admin-changes-page .changes-history-panel .collapsible-panel-head h2{font-size:18px;font-weight:700}.admin-changes-page .changes-mode-tabs{display:grid;grid-template-columns:repeat(2,minmax(120px,1fr));gap:7px;width:min(300px,100%);padding:0;border:0;border-radius:0;background:transparent}.admin-changes-page .changes-mode-tabs button{min-width:0;padding:7px 14px;border:1px solid transparent;border-radius:9px;background:#dedede;color:#20272d;font-size:14px;font-weight:400;cursor:pointer;box-shadow:none}.admin-changes-page .changes-mode-tabs button:hover{border-color:#748a9b;box-shadow:0 0 0 1px #748a9b1f}.admin-changes-page .changes-mode-tabs button.active{background:#9fc4e5;color:#17202a;font-weight:700;border-color:transparent}.admin-changes-page .admin-change-filters{justify-content:flex-start;gap:16px;padding:12px 14px;border:1px solid #e1e6e8;border-radius:10px;background:#fafbfb}.admin-changes-page .admin-change-filters>div{gap:8px}.admin-changes-page .admin-change-filters button.change-filter-bubble{padding:7px 13px;border:1px solid #d6dde1;border-radius:999px;background:#fff;color:#66747b;font-size:13px;font-weight:500;box-shadow:none}.admin-changes-page .admin-change-filters button.change-filter-bubble.active{font-weight:700}.admin-changes-page .admin-change-filters button.filter-morning.active{border-color:var(--schedule-morning-border,#93c5fd);background:var(--schedule-morning-bg,#dbeafe);color:var(--schedule-morning-text,#1f5f9e)}.admin-changes-page .admin-change-filters button.filter-afternoon.active{border-color:var(--schedule-afternoon-border,#244d74);background:var(--schedule-afternoon-bg,#315f8c);color:#fff}.admin-changes-page .admin-change-filters button.filter-management.active{border-color:var(--schedule-management-border,#d59600);background:var(--schedule-management-bg,#fef3c7);color:var(--schedule-management-text,#8c6500)}.admin-changes-page .admin-change-filters button.filter-guard.active{border-color:var(--schedule-guard-border,#8b5bd1);background:var(--schedule-guard-bg,#e4ddfb);color:var(--schedule-guard-text,#6432ad)}.admin-changes-page .changes-form-grid,.admin-changes-page .changes-form-grid.swap{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.admin-changes-page .changes-side{padding:16px;border-radius:10px;background:#fafbfb}.changes-date-field{display:grid;gap:6px}.changes-date-field>span{color:#66757c;font-size:var(--font-size-min);font-weight:800}.changes-date-nav{display:grid;grid-template-columns:36px minmax(0,1fr) 36px;align-items:center;gap:8px}.changes-date-nav>button{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0 0 3px;border:1px solid #d9dfe3;border-radius:9px;background:#fff;color:#34444d;font-size:24px;line-height:1;cursor:pointer}.changes-date-nav>button:hover{border-color:#9aabb5;background:#f4f7f8}.changes-date-nav label{position:relative;display:flex;align-items:center;justify-content:center;width:100%;min-width:0;height:36px;padding:0 12px;border:1px solid #dce2e5;border-radius:8px;background:#fff;color:#35434b;font-size:13px;font-weight:700;text-transform:capitalize;white-space:nowrap;overflow:hidden}.changes-date-nav label span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.changes-date-nav input{position:absolute;inset:0;width:100%;height:100%;margin:0;cursor:pointer;opacity:0}.admin-changes-page .change-assignment-kind.morning{border-color:var(--schedule-morning-border,#93c5fd);background:var(--schedule-morning-bg,#dbeafe);color:var(--schedule-morning-text,#1f5f9e)}.admin-changes-page .change-assignment-kind.afternoon{border-color:var(--schedule-afternoon-border,#244d74);background:var(--schedule-afternoon-bg,#315f8c);color:#fff}.admin-changes-page .change-assignment-kind.management{border-color:var(--schedule-management-border,#d59600);background:var(--schedule-management-bg,#fef3c7);color:var(--schedule-management-text,#8c6500)}.admin-changes-page .change-assignment-kind.guard{border-color:var(--schedule-guard-border,#8b5bd1);background:var(--schedule-guard-bg,#e4ddfb);color:var(--schedule-guard-text,#6432ad)}.admin-changes-page .changes-history-panel{margin-bottom:22px}.admin-changes-page .changes-history-panel .collapsible-panel-head{padding:18px 20px}.admin-changes-page .changes-history-panel .collapsible-panel-body{padding:18px 20px 20px}.admin-changes-page .changes-history-panel .changes-history-table{margin:0}.admin-changes-page .changes-history-pagination{margin-top:12px;border:1px solid #e2e7e9;border-radius:9px}@media(max-width:900px){.admin-changes-page .changes-form-grid,.admin-changes-page .changes-form-grid.swap{grid-template-columns:1fr}.admin-changes-page .admin-change-filters{align-items:flex-start;flex-direction:column}}.admin-changes-page .changes-side.replacement label{text-transform:uppercase;letter-spacing:.035em}.admin-changes-page .changes-side.replacement select{height:36px;margin-top:1px;padding:0 34px 0 11px;border:1px solid #dce2e5;border-radius:8px;background:#fff;color:#35434b;font:inherit;font-size:13px;font-weight:400;text-transform:none}.admin-changes-page .changes-side-title b,.admin-changes-page .changes-date-field>span,.admin-changes-page .changes-reason{text-transform:uppercase;letter-spacing:.035em}.admin-changes-page .changes-reason textarea{min-height:82px;padding:10px 11px;border:1px solid #d7dde1;border-radius:9px;background:#fff;color:#26343d;font:inherit;font-weight:400;text-transform:none;letter-spacing:normal}.admin-changes-page .changes-date-nav label,.admin-changes-page .changes-date-nav input{cursor:pointer}.admin-changes-page .change-assignment-kind{min-width:78px;padding:5px 8px;border:0;border-radius:7px;font-size:13px;font-weight:700;text-transform:none}.admin-changes-page .change-assignment-kind.morning{background:var(--schedule-morning-bg,#dbeafe);color:#23598b}.admin-changes-page .change-assignment-kind.afternoon{background:var(--schedule-afternoon-bg,#315f8c);color:#fff}.admin-changes-page .change-assignment-kind.management{background:var(--schedule-management-bg,#fef3c7);color:#936a00}.admin-changes-page .change-assignment-kind.extension{background:var(--schedule-extension-bg,#dce9f5);color:var(--schedule-extension-text,#315f8c)}.admin-changes-page .change-assignment-kind.guard{background:var(--schedule-guard-bg,#e4ddfb);color:#6d3bc1}.admin-changes-page .admin-change-assignment{grid-template-columns:120px minmax(0,1fr)}.admin-changes-page .admin-change-filters button.filter-extension.active{border-color:var(--schedule-extension-border,#9bb7d1);background:var(--schedule-extension-bg,#dce9f5);color:var(--schedule-extension-text,#315f8c)}.admin-changes-page .changes-history-panel .collapse-chevron{position:relative;font-size:0;line-height:0;padding:0;transform-origin:center center}.admin-changes-page .changes-history-panel .collapse-chevron:before{content:"";display:block;width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translate(-1px,-1px)}.roster-page .roster-toolbar-panel{padding:18px 20px 20px;gap:16px}.roster-page .roster-topline{align-items:center}.roster-page .position-view-tabs{display:grid;grid-template-columns:repeat(3,minmax(82px,1fr));gap:7px;width:min(300px,100%);padding:0;border:0;border-radius:0;background:transparent}.roster-page .position-view-tabs button{min-width:0;padding:7px 13px;border:1px solid transparent;border-radius:9px;background:#dedede;color:#20272d;font:inherit;font-size:14px;font-weight:400;cursor:pointer;box-shadow:none;transition:border-color .14s ease,box-shadow .14s ease,background-color .14s ease}.roster-page .position-view-tabs button:hover{border-color:#748a9b;box-shadow:0 0 0 1px #748a9b1f}.roster-page .position-view-tabs button.active{background:#9fc4e5;color:#17202a;font-weight:700;border-color:transparent;box-shadow:none}.roster-page .position-date-nav{justify-self:center;display:flex;align-items:center;justify-content:center;gap:8px}.roster-page .position-date-nav>button{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0 0 3px;border:1px solid #dce2e5;border-radius:9px;background:#fff;font:inherit;font-size:24px;line-height:1;cursor:pointer}.roster-page .position-date-nav>button:hover{border-color:#748a9b;background:#f7f9fa}.roster-page .position-date-picker{position:relative;width:300px;min-width:300px;cursor:pointer}.roster-page .position-date-picker>span{display:flex;align-items:center;justify-content:center;width:100%;min-height:36px;padding:0 12px;border:1px solid #dce2e5;border-radius:8px;background:#fff;font-size:14px;font-weight:700;text-align:center;text-transform:capitalize;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.roster-page .position-date-picker input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.roster-page .roster-kind-filter{justify-content:center;gap:8px}.roster-page .roster-kind-filter>span{font-size:13px;font-weight:700}.roster-page .roster-kind-filter>div{gap:6px}.roster-page .roster-kind-filter button{min-width:0;padding:5px 8px;border:1px solid #d9e0e3;border-radius:999px;background:#fff;color:#7b878e;font-size:13px;font-weight:700;line-height:1.2;cursor:pointer;box-shadow:none}.roster-page .roster-kind-filter button.active.morning{background:var(--schedule-morning-bg,#dbeafe);border-color:var(--schedule-morning-border,#93c5fd);color:var(--schedule-morning-text,#1f5f9e)}.roster-page .roster-kind-filter button.active.afternoon{background:var(--schedule-afternoon-bg,#315f8c);border-color:var(--schedule-afternoon-border,#244d74);color:var(--schedule-afternoon-text,#fff)}.roster-page .roster-kind-filter button.active.management{background:var(--schedule-management-bg,#fef3c7);border-color:var(--schedule-management-border,#d59600);color:var(--schedule-management-text,#8c6500)}.roster-page .roster-kind-filter button.active.guard{background:var(--schedule-guard-bg,#e4ddfb);border-color:var(--schedule-guard-border,#8b5bd1);color:var(--schedule-guard-text,#6432ad)}.roster-page .panel-head h2{font-size:18px;font-weight:700}.roster-page .roster-publication-grid,.roster-page .roster-day-table{margin:18px 20px 20px}.roster-page .roster-availability-list{padding:18px 20px 20px}.roster-page .roster-week-scroll,.roster-page .roster-month-scroll{margin:18px 20px 20px}.roster-page .roster-morning{background:var(--schedule-morning-bg,#dbeafe);color:var(--schedule-morning-text,#1f5f9e);border-color:var(--schedule-morning-border,#93c5fd)}.roster-page .roster-afternoon{background:var(--schedule-afternoon-bg,#315f8c);color:var(--schedule-afternoon-text,#fff);border-color:var(--schedule-afternoon-border,#244d74)}.roster-page .roster-management{background:var(--schedule-management-bg,#fef3c7);color:var(--schedule-management-text,#8c6500);border-color:var(--schedule-management-border,#d59600)}.roster-page .roster-guard{background:var(--schedule-guard-bg,#e4ddfb);color:var(--schedule-guard-text,#6432ad);border-color:var(--schedule-guard-border,#8b5bd1)}.roster-page .roster-postguard{background:#eceff1;color:#5f6b73;border-color:#cbd2d7}.roster-page .roster-leave{background:#e3f4ea;color:#17633f;border-color:#9acbad}.roster-page .roster-reduction{background:#f1f3f4;color:#626d73;border-color:#d5dadd}.roster-page .roster-kind-dot.morning{background:#60a5fa}.roster-page .roster-kind-dot.afternoon{background:var(--schedule-afternoon-bg,#315f8c)}.roster-page .roster-kind-dot.management{background:var(--schedule-management-border,#d59600)}.roster-page .roster-kind-dot.guard{background:var(--schedule-guard-border,#8b5bd1)}.roster-page .roster-week-post-kind.morning{background:var(--schedule-morning-bg,#dbeafe);color:var(--schedule-morning-text,#1f5f9e);border-color:var(--schedule-morning-border,#93c5fd)}.roster-page .roster-week-post-kind.afternoon{background:var(--schedule-afternoon-bg,#315f8c);color:var(--schedule-afternoon-text,#fff);border-color:var(--schedule-afternoon-border,#244d74)}.roster-page .roster-week-post-kind.management{background:var(--schedule-management-bg,#fef3c7);color:var(--schedule-management-text,#8c6500);border-color:var(--schedule-management-border,#d59600)}.roster-page .roster-week-post-kind.guard{background:var(--schedule-guard-bg,#e4ddfb);color:var(--schedule-guard-text,#6432ad);border-color:var(--schedule-guard-border,#8b5bd1)}.roster-page .roster-week-axis{display:block}.roster-page .roster-axis-tabs{display:grid;grid-template-columns:repeat(2,minmax(92px,1fr));gap:7px;width:min(220px,100%);padding:0;border:0;background:transparent}.roster-page .roster-axis-tabs button{min-width:0;padding:7px 13px;border:1px solid transparent;border-radius:9px;background:#dedede;color:#20272d;font:inherit;font-size:14px;font-weight:400;cursor:pointer;box-shadow:none}.roster-page .roster-axis-tabs button:hover{border-color:#748a9b}.roster-page .roster-axis-tabs button.active{background:#9fc4e5;color:#17202a;font-weight:700;border-color:transparent}@media(max-width:900px){.roster-page .position-date-picker{width:235px;min-width:235px}.roster-page .roster-week-axis,.roster-page .roster-axis-tabs{width:100%}}.roster-page .roster-switch-toggle{display:flex;align-items:center;gap:6px;padding:6px;border:2px solid #101010;border-radius:999px;background:#fff;box-shadow:none}.roster-page .roster-switch-toggle button{flex:1 1 0;min-width:0;min-height:46px;padding:0 18px;border:0;border-radius:999px;background:transparent;color:#101010;font:inherit;font-size:17px;font-weight:500;line-height:1;cursor:pointer;box-shadow:none;transition:background-color .16s ease,color .16s ease}.roster-page .roster-switch-toggle button:hover{border:0;box-shadow:none}.roster-page .roster-switch-toggle button.active{background:#101010;color:#fff;font-weight:700}.roster-page .roster-data-mode.roster-switch-toggle{width:min(430px,100%)}.roster-page .roster-axis-tabs.roster-switch-toggle{width:min(250px,100%)}@media(max-width:900px){.roster-page .roster-data-mode.roster-switch-toggle,.roster-page .roster-axis-tabs.roster-switch-toggle{width:100%}.roster-page .roster-switch-toggle button{font-size:15px;min-height:42px}}.roster-page .roster-switch-toggle{gap:2px;padding:2px;border:1px solid #cfd6da;border-radius:999px;background:#fff}.roster-page .roster-switch-toggle button{min-height:0;padding:5px 9px;border:0;border-radius:999px;background:transparent;color:#5f6b73;font-size:13px;font-weight:500;line-height:1.2}.roster-page .roster-switch-toggle button:hover{border:0;background:#f3f5f6;box-shadow:none}.roster-page .roster-switch-toggle button.active{background:#315f8c;color:#fff;font-weight:700}.roster-page .roster-data-mode.roster-switch-toggle{width:auto}.roster-page .roster-axis-tabs.roster-switch-toggle{width:auto;display:flex}@media(max-width:900px){.roster-page .roster-data-mode.roster-switch-toggle,.roster-page .roster-axis-tabs.roster-switch-toggle{width:auto}.roster-page .roster-switch-toggle button{font-size:13px;min-height:0}}.roster-page .roster-axis-tabs.roster-switch-toggle{width:210px}.roster-page .roster-data-mode.roster-switch-toggle button span{display:block;line-height:1.05;text-align:center}.admin-program-request-panel{padding:18px 20px 20px}.admin-program-request-panel .admin-program-request-topbar{display:grid;grid-template-columns:minmax(220px,1fr) auto minmax(300px,1fr);align-items:center;gap:18px;margin:0 0 18px}.admin-program-requests-page .request-area-tabs{display:grid;grid-template-columns:repeat(2,minmax(96px,1fr));gap:7px;width:min(230px,100%);padding:0;border:0;border-radius:0;background:transparent;justify-self:start}.admin-program-requests-page .request-area-tabs button{min-width:0;padding:7px 13px;border:1px solid transparent;border-radius:9px;background:#dedede;color:#20272d;font:inherit;font-size:14px;font-weight:400;cursor:pointer;box-shadow:none;transition:border-color .14s ease,box-shadow .14s ease,background-color .14s ease}.admin-program-requests-page .request-area-tabs button:hover{border-color:#748a9b;box-shadow:0 0 0 1px #748a9b1f}.admin-program-requests-page .request-area-tabs button.active{background:#9fc4e5;color:#17202a;font-weight:700;border-color:transparent;box-shadow:none}.admin-program-requests-page .admin-request-month-nav{display:flex;align-items:center;justify-content:center;gap:8px;justify-self:center}.admin-program-requests-page .admin-request-month-nav>button{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0 0 3px;border:1px solid #dce2e5;border-radius:9px;background:#fff;color:#26343c;font:inherit;font-size:24px;line-height:1;cursor:pointer}.admin-program-requests-page .admin-request-month-nav>button:hover{border-color:#748a9b;background:#f7f9fa}.admin-request-date-picker{position:relative;display:block;width:205px;min-width:205px;cursor:pointer}.admin-request-date-picker>span{display:flex;align-items:center;justify-content:center;width:100%;min-height:36px;padding:0 12px;border:1px solid #dce2e5;border-radius:8px;background:#fff;color:#26343c;font-size:14px;font-weight:700;text-align:center;text-transform:capitalize;white-space:nowrap}.admin-request-date-picker input[type=date]{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;border:0;opacity:0;cursor:pointer}.admin-program-requests-page .request-summary-legend{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px;margin:0;justify-self:end;color:#68747c;font-size:13px}.admin-program-requests-page .request-summary-legend span{display:flex;align-items:center;gap:5px;white-space:nowrap}.admin-program-requests-page .request-summary-legend i{width:12px;height:12px;border-radius:4px;border:1px solid rgba(0,0,0,.1);flex:0 0 auto}.admin-program-requests-page .request-summary-wrap{margin:0}@media(max-width:1100px){.admin-program-request-panel .admin-program-request-topbar{grid-template-columns:1fr;justify-items:center}.admin-program-requests-page .request-area-tabs,.admin-program-requests-page .request-summary-legend{justify-self:center}}@media(max-width:700px){.admin-program-request-panel{padding:14px 16px 16px}.admin-program-requests-page .request-area-tabs{width:100%}.admin-request-date-picker{width:175px;min-width:175px}.admin-program-requests-page .request-summary-legend{justify-content:center}}.config-posts-page .panel-head h2,.config-posts-page .config-post-list-toggle h2{margin:0 0 4px;font-size:18px;font-weight:700}.config-posts-page .config-post-month-head{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:16px;align-items:center;padding:18px 20px}.config-posts-page .config-post-month-nav{justify-self:center;display:flex;align-items:center;gap:8px}.config-posts-page .config-post-month-nav button{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0 0 3px;border:1px solid #dce2e5;border-radius:9px;background:#fff;font:inherit;font-size:24px;line-height:1;cursor:pointer}.config-posts-page .config-post-month-nav button:hover{border-color:#748a9b;background:#f7f9fa}.config-posts-page .config-post-month-nav b{display:flex;align-items:center;justify-content:center;width:170px;min-height:36px;padding:0 10px;border:1px solid #dce2e5;border-radius:8px;background:#fff;font-size:14px;font-weight:700;text-transform:capitalize;white-space:nowrap}.config-posts-page .config-post-month-spacer{min-width:1px}.config-posts-page .config-post-calendar-body{margin:18px 20px 20px;overflow:hidden;border:1px solid #e2e7ea;border-radius:10px;background:#fff}.config-posts-page .config-post-calendar-body .post-calendar{padding:15px 16px}.config-posts-page .config-post-calendar-body .post-calendar-toggle .chevron,.config-posts-page .config-post-list-toggle .chevron{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;color:#66747c;font-size:17px;line-height:1}.config-posts-page .config-post-list-panel{overflow:hidden}.config-posts-page .config-post-list-toggle{padding:18px 20px}.config-posts-page .config-post-list-toggle>div:first-child{display:block}.config-posts-page .config-post-list-toggle>div:first-child>div{display:grid;gap:4px}.config-posts-page .config-post-list-toggle>div:first-child span{color:#7b8790;font-size:13px}.config-posts-page .config-post-list-toggle-right{display:flex!important;align-items:center!important;justify-content:flex-end;gap:14px!important}.config-posts-page .config-post-list-toggle-right .legend{display:flex;align-items:center;gap:14px}.config-posts-page .config-post-list-toggle-right .legend span{display:flex;align-items:center;gap:6px;color:#68757d;font-size:13px}.config-posts-page .post-list-table{border-top:1px solid #edf0f2}.config-posts-page .post-list-table .tr>:not(:nth-child(2)){text-align:center}.config-posts-page .post-list-table .tr>.sort-header:nth-child(3){text-align:center}.config-posts-page .post-list-table .tr>:nth-child(2){text-align:left}.config-posts-page .post-list-table .delete-cell,.config-posts-page .post-list-table .actions{justify-content:center}.config-posts-page .post-list-table .tr>span:nth-child(3),.config-posts-page .post-list-table .tr>span:nth-child(4),.config-posts-page .post-list-table .tr>span:nth-child(5),.config-posts-page .post-list-table .tr>span:nth-child(6){display:flex;align-items:center;justify-content:center}.config-posts-page .schedule-row select{min-height:34px;border-radius:8px}@media(max-width:900px){.config-posts-page .config-post-month-head{grid-template-columns:1fr}.config-posts-page .config-post-month-nav{justify-self:center}.config-posts-page .config-post-month-spacer,.config-posts-page .config-post-list-toggle-right .legend{display:none}}.config-specialties-page .panel-head h2{font-size:18px;font-weight:700}.config-specialties-page .specialty-list{margin:16px 20px 20px;border:1px solid #e4e8eb;border-radius:10px;overflow:hidden}.config-specialties-page .specialty-list-row{padding-left:16px;padding-right:16px}.config-specialties-page .matrix-wrap{padding:16px 20px 20px}.config-specialties-page .specialty-matrix{border-radius:10px;overflow:hidden}.config-specialties-page .specialty-legend{gap:6px}.config-specialties-page .level-chip{border-radius:999px}.config-specialties-page .specialty-matrix{overflow:visible}.config-specialties-page .matrix-wrap{position:relative}.config-specialties-page .specialty-matrix .sticky-person{position:sticky;left:0;z-index:4;box-shadow:3px 0 5px #29374014;cursor:default}.config-specialties-page .specialty-matrix .matrix-head.sticky-person{z-index:5;background:#fafbfb}.config-specialties-page .specialty-matrix .matrix-person.sticky-person{background:#fff}.config-specialties-page .specialty-list-panel{overflow:hidden}.config-specialties-page .specialty-list-toggle{width:100%;padding:18px 20px}.config-specialties-page .specialty-list-toggle>div:first-child{display:block}.config-specialties-page .specialty-list-toggle>div:first-child>div{display:grid;gap:4px}.config-specialties-page .specialty-list-toggle h2{margin:0;font-size:18px;font-weight:700}.config-specialties-page .specialty-list-toggle span{color:#7b8790;font-size:13px}.config-specialties-page .specialty-list-toggle .chevron{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;color:#66747c;font-size:17px;line-height:1}.config-specialties-page .specialty-list-panel .specialty-list{margin-top:0;border-top:1px solid #edf0f2;border-radius:0 0 10px 10px}.config-specialties-page .matrix-viewport-shell{margin:16px 20px 20px;overflow:hidden;border-radius:10px}.config-specialties-page .matrix-viewport-shell .matrix-wrap{padding:0;margin:0;overflow:auto}.config-specialties-page .matrix-viewport-shell .specialty-matrix{border-radius:10px}.config-staff-page .panel-head h2{font-size:18px;font-weight:700}.config-staff-page .staff-table{margin:18px 20px 20px;border:1px solid #dfe5e8;border-radius:10px;overflow-x:auto;overflow-y:hidden;background:#fff}.config-staff-page .staff-row{display:grid;grid-template-columns:34px minmax(150px,1.2fr) minmax(170px,1.35fr) 90px 108px 105px 105px 105px 80px 166px;gap:8px;align-items:center;min-width:1160px;padding:11px 12px}.config-staff-page .staff-row>*{min-width:0}.config-staff-page .staff-head>*{align-self:center}.config-staff-page .staff-row>span:not(.actions){overflow-wrap:anywhere}.config-staff-page .staff-row .actions{display:flex;flex-wrap:nowrap;align-items:center;justify-content:flex-end;gap:6px;grid-column:10!important;white-space:nowrap}.config-staff-page .staff-row .actions button{flex:0 0 auto;white-space:nowrap}.config-staff-page .staff-head>*:last-child{display:block!important;grid-column:10!important}.config-staff-page .info-grid{padding:18px 20px 20px}@media(max-width:1200px){.config-staff-page .staff-row{grid-template-columns:34px minmax(150px,1.2fr) minmax(170px,1.35fr) 90px 108px 105px 105px 105px 80px 166px;min-width:1160px}.config-staff-page .staff-row>*:last-child{grid-column:10!important;justify-content:flex-end}}.config-staff-page .staff-table{overflow-x:visible}.config-staff-page .staff-row{grid-template-columns:30px minmax(125px,1.12fr) minmax(140px,1.22fr) 76px 86px 84px 84px 84px 68px 124px;gap:5px;width:100%;min-width:0;padding:10px}.config-staff-page .staff-row>span,.config-staff-page .staff-row>button{font-size:12.5px}.config-staff-page .staff-head{font-size:12px}.config-staff-page .staff-row .subline{font-size:11.5px}.config-staff-page .staff-row .actions{gap:4px}.config-staff-page .staff-row .actions button{padding:6px 7px;font-size:12px}.config-staff-page .staff-row .status{padding:5px 8px;font-size:12px}@media(max-width:1050px){.config-staff-page .staff-table{overflow-x:auto}.config-staff-page .staff-row{grid-template-columns:30px 125px 140px 76px 86px 84px 84px 84px 68px 124px;min-width:950px}}.schedules-config-page .schedules-panel{margin-bottom:22px}.schedules-config-page .panel-head{padding:18px 20px}.schedules-config-page .panel-head h2{font-size:18px;font-weight:700}.schedules-config-page .schedule-list{margin:0 20px 20px;border:1px solid #e3e8eb;border-radius:10px;overflow:hidden}.schedules-config-page .schedule-list-row{grid-template-columns:minmax(150px,1.3fr) 120px 90px 86px 86px 100px minmax(230px,1.5fr);gap:10px;padding:12px 14px}.schedules-config-page .schedule-list-row>span:not(:first-child):not(.actions){text-align:center}.schedules-config-page .schedule-list-head>span{display:flex;align-items:center;justify-content:center}.schedules-config-page .schedule-list-head>span:first-child{justify-content:flex-start;text-align:left}.schedules-config-page .schedule-color-cell{display:flex;align-items:center;justify-content:center;gap:7px}.schedules-config-page .schedule-color-cell i{display:inline-block;width:22px;height:22px;border:1px solid rgba(0,0,0,.16);border-radius:6px;flex:0 0 22px}.schedules-config-page .schedule-color-cell code{font-family:inherit;font-size:12px;color:#66747b}.schedules-config-page .actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;white-space:nowrap}.schedules-config-page .system-schedule-label{font-size:12px;color:#7b878e;white-space:nowrap}.schedules-config-page .guard-form{padding:18px 20px 20px}.schedules-config-page .request-config-lines{margin:0 20px}.schedules-config-page .request-config-panel>.guard-note{margin-top:18px}.schedule-modal .schedule-color-picker{display:grid;grid-template-columns:26px minmax(0,1fr) 72px;align-items:center;gap:10px;margin-top:6px}.schedule-modal .schedule-color-preview{width:26px;height:26px;border:1px solid rgba(0,0,0,.14);border-radius:6px}.schedule-modal .schedule-color-picker select{width:100%;min-height:38px;margin:0;padding:8px 34px 8px 10px;border:1px solid #d7dde1;border-radius:8px;background:#fff;font:inherit}.schedule-modal .schedule-color-picker code{font-family:inherit;color:#53616a;font-size:13px;text-align:right}.schedule-modal input:disabled{background:#f1f3f4;color:#859098;cursor:not-allowed}.mycal-month-day .mycal-assignment.compact.morning .mycal-assignment-kind,.position-programming-page .position-shift.morning,.admin-changes-page .change-assignment-kind.morning{color:var(--schedule-morning-text,#1f5f9e)}.mycal-month-day .mycal-assignment.compact.afternoon .mycal-assignment-kind,.position-programming-page .position-shift.afternoon,.admin-changes-page .change-assignment-kind.afternoon{color:var(--schedule-afternoon-text,#fff)}.mycal-month-day .mycal-assignment.compact.management .mycal-assignment-kind,.position-programming-page .position-shift.management,.admin-changes-page .change-assignment-kind.management{color:var(--schedule-management-text,#8c6500)}.mycal-month-day .mycal-assignment.compact.guard .mycal-assignment-kind,.position-programming-page .position-shift.guard,.admin-changes-page .change-assignment-kind.guard{color:var(--schedule-guard-text,#6432ad)}.position-programming-page .position-shift.extension,.admin-changes-page .change-assignment-kind.extension{color:var(--schedule-extension-text,#315f8c)}@media(max-width:1200px){.schedules-config-page .schedule-list{overflow-x:auto}.schedules-config-page .schedule-list-row{min-width:980px}}.schedule-modal .schedule-custom-color{display:grid;grid-template-columns:auto minmax(120px,1fr);align-items:center;gap:6px 10px;margin-top:9px}.schedule-modal .schedule-custom-color>span{font-size:13px;font-weight:700;color:#53616a}.schedule-modal .schedule-custom-color input{min-height:38px;margin:0;padding:8px 10px;border:1px solid #d7dde1;border-radius:8px;background:#fff;font:inherit;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;text-transform:uppercase}.schedule-modal .schedule-custom-color small{grid-column:2;color:#7a878d;font-size:12px}.config-leave-page .panel-head h2,.config-leave-page .config-leave-toggle h2{margin:0 0 4px;font-size:18px;font-weight:700}.config-leave-page .config-leave-request-panel,.config-leave-page .config-leave-collapsible-panel{overflow:hidden}.config-leave-page .config-leave-request-panel .panel-head{padding:18px 20px}.config-leave-page .config-leave-request-table{width:calc(100% - 40px);margin:18px 20px 20px;overflow:hidden;border:1px solid #e2e7ea;border-radius:10px;background:#fff}.config-leave-page .config-leave-request-table .request-row{grid-template-columns:minmax(140px,1.25fr) minmax(115px,.9fr) minmax(82px,.72fr) minmax(82px,.72fr) minmax(48px,.45fr) minmax(96px,.8fr) minmax(145px,1.25fr);gap:8px;padding:11px 12px}.config-leave-page .config-leave-request-table .request-row>span{min-width:0}.config-leave-page .config-leave-request-table .actions{justify-content:center;flex-wrap:nowrap}.config-leave-page .config-leave-request-table .actions button{padding:6px 8px}.config-leave-page .config-leave-toggle{width:100%;padding:18px 20px}.config-leave-page .config-leave-toggle>div{display:grid;gap:4px;min-width:0}.config-leave-page .config-leave-toggle>div>span{color:#7b8790;font-size:13px;font-weight:400}.config-leave-page .config-leave-toggle .chevron{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;flex:0 0 28px;color:#66747c;font-size:17px;line-height:1}.config-leave-page .config-leave-collapsible-body{display:grid;gap:16px;padding:18px 20px 20px;border-top:1px solid #edf0f2}.config-leave-page .config-leave-balance-table{width:100%;overflow:hidden;border:1px solid #e2e7ea;border-radius:10px;background:#fff}.config-leave-page .config-leave-balance-table .leave-row{grid-template-columns:minmax(135px,1.45fr) repeat(7,minmax(0,.56fr)) minmax(72px,.72fr) minmax(112px,.95fr);gap:6px;padding:11px 10px;width:100%}.config-leave-page .config-leave-balance-table .leave-row>span{display:flex!important;align-items:center;justify-content:center;min-width:0;text-align:center}.config-leave-page .config-leave-balance-table .leave-row>span:first-child{flex-direction:column}.config-leave-page .config-leave-balance-table .leave-row>.actions{grid-column:auto!important;flex-direction:row;justify-content:center!important}.config-leave-page .config-leave-balance-table .actions button{padding:6px 8px;white-space:nowrap}.config-leave-page .config-leave-balance-table .leave-head>span{line-height:1.15}.config-leave-page .config-leave-collapsible-body .leave-settings{padding:0}.config-leave-page .config-leave-collapsible-body>.guard-note{margin:0}.config-leave-page .holiday-panel .holiday-create-card,.config-leave-page .holiday-panel .holiday-table-wrap{margin:0}@media(max-width:1000px){.config-leave-page .config-leave-request-table,.config-leave-page .config-leave-balance-table{overflow-x:auto}.config-leave-page .config-leave-request-table .request-row{min-width:900px}.config-leave-page .config-leave-balance-table .leave-row{min-width:980px}}.config-leave-page .config-leave-balance-table .leave-row>span:first-child{align-items:flex-start;justify-content:center;text-align:left}.statistics-page .stats-controls{padding:18px 20px}.statistics-page .panel-head h2,.statistics-page .stats-collapsible-head h2{margin:0 0 4px;font-size:18px;font-weight:700}.statistics-page .stats-filter-grid{gap:10px}.statistics-page .stats-filter-grid label{gap:6px;font-size:13px;font-weight:700}.statistics-page .stats-filter-grid select,.statistics-page .stats-load-selectors select{min-height:36px;padding:7px 32px 7px 10px;border:1px solid #d7dde1;border-radius:8px;background:#fff;color:#26333b;font:inherit;font-size:13px}.statistics-page .stats-filter-grid select:focus,.statistics-page .stats-load-selectors select:focus{outline:none;border-color:#8ea6b5;box-shadow:0 0 0 2px #8ea6b51f}.statistics-page .stats-period-chip{min-height:36px;border-radius:8px}.statistics-page .stats-kpis{margin-bottom:22px;gap:12px}.statistics-page .stats-kpi{padding:15px 16px;border-radius:10px}.statistics-page .panel>.stats-hbars,.statistics-page .panel>.stats-deviation-bars{margin:18px 20px 20px}.statistics-page .panel>.stats-equity-note{margin:0 20px 20px}.statistics-page .stats-load-selectors{gap:8px}.statistics-page .stats-collapsible-head{padding:18px 20px}.statistics-page .stats-collapsible-body{padding:18px 20px 20px}.statistics-page .stats-table-wrap{overflow-x:auto}@media(max-width:850px){.statistics-page .stats-controls{padding:16px}.statistics-page .panel>.stats-hbars,.statistics-page .panel>.stats-deviation-bars{margin:16px}.statistics-page .panel>.stats-equity-note{margin:0 16px 16px}}.data-supabase-page .panel-head{padding:18px 20px}.data-supabase-page .panel-head h2{font-size:18px;font-weight:700}.data-supabase-page .test-environment-banner{margin-bottom:22px}.data-supabase-page .supabase-status-grid{gap:12px;margin-bottom:22px}.data-supabase-page .stats-kpi{padding:15px 16px;border-radius:10px}.data-supabase-page .supabase-actions{margin:18px 20px 0;gap:8px}.data-supabase-page .supabase-actions button,.data-supabase-page .production-prep-card button{min-height:36px;border-radius:8px}.data-supabase-page .supabase-message{margin-left:20px;margin-right:20px}.data-supabase-page .supabase-source-counts{justify-content:center;align-items:center;gap:7px;margin:16px 20px 20px}.data-supabase-page .supabase-source-counts span{justify-content:center;min-height:28px;padding:5px 9px}.data-supabase-page .production-prep-grid{gap:18px;margin:18px 20px 0}.data-supabase-page .production-prep-card{padding:18px}.data-supabase-page .production-prep-upload input[type=file]{width:100%;min-height:38px;padding:5px 7px;border:1px solid #d7dde1;border-radius:8px;background:#fff;font:inherit;font-size:13px}.data-supabase-page .production-prep-upload input[type=file]::file-selector-button{margin-right:10px;padding:7px 10px;border:1px solid #d7dde1;border-radius:7px;background:#f7f9fa;color:#334149;font:inherit;font-size:13px;cursor:pointer}.data-supabase-page select{min-height:36px;padding:7px 34px 7px 10px;border:1px solid #d7dde1;border-radius:8px;background:#fff;font:inherit;font-size:13px}.data-supabase-page .production-prep-note{margin:16px 20px 20px}.data-supabase-page .info-panel .info-grid{gap:16px;padding:18px 20px 20px}@media(max-width:850px){.data-supabase-page .supabase-actions,.data-supabase-page .production-prep-grid,.data-supabase-page .supabase-message,.data-supabase-page .supabase-source-counts,.data-supabase-page .production-prep-note{margin-left:16px;margin-right:16px}.data-supabase-page .info-panel .info-grid{padding-left:16px;padding-right:16px}}.data-supabase-page .data-secondary-action{min-height:36px;padding:8px 14px;border:1px solid #1d6b55;border-radius:7px;background:#fff;color:#1d6b55;font:inherit;font-weight:700;cursor:pointer;box-shadow:none}.data-supabase-page .data-secondary-action:hover:not(:disabled){background:#f0f8f5}.data-supabase-page .data-secondary-action:disabled{opacity:.55;cursor:not-allowed}.data-supabase-page .data-logout-button{min-height:36px;padding:8px 14px;border:1px solid #b83f3f;border-radius:7px;background:#fff;color:#a93434;font:inherit;font-weight:700;cursor:pointer;box-shadow:none}.data-supabase-page .data-logout-button:hover{background:#fff4f4}.auto-rules-page{min-width:0}.auto-rules-note{padding:12px 15px;border:1px solid #dce4e7;background:#f7fafb;border-radius:8px;color:#57656d;font-size:13px;line-height:1.55;margin-bottom:18px}.auto-rules-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.auto-rules-tabs button{padding:10px 14px;border:1px solid #d7dfe2;border-radius:8px;background:#fff;color:#50616b;cursor:pointer;font-size:13px;font-weight:650}.auto-rules-tabs button.selected{color:#176447;background:#e7f3ed;border-color:#85bea2}.auto-rules-summary{display:flex;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap}.auto-rules-summary span{font-size:13px;color:#697983}.auto-rules-summary button{margin-left:auto;background:#fff;border:1px solid #cfdad5;border-radius:7px;padding:8px 11px;color:#286e55;cursor:pointer}.auto-rules-panel{overflow:hidden;margin-bottom:12px}.auto-rules-group-head{width:100%;display:flex;align-items:center;justify-content:space-between;text-align:left;padding:15px 19px;border:0;background:#fff;cursor:pointer;color:#233440}.auto-rules-group-head>span:first-child{display:flex;align-items:baseline;gap:13px;flex-wrap:wrap}.auto-rules-group-head strong{font-size:14px}.auto-rules-group-head small{color:#7c8a94}.auto-rules-list{padding:5px 19px 13px;border-top:1px solid #e7ebee;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,370px),1fr));gap:0 20px}.auto-rules-item{display:flex;align-items:flex-start;gap:9px;padding:10px 0;font-size:13px;color:#394851;line-height:1.4;cursor:pointer}.auto-rules-item input{margin:2px 0 0;accent-color:#1d6b55;flex-shrink:0}@media(max-width:700px){.auto-rules-summary button{margin-left:0}.auto-rules-list{grid-template-columns:1fr}}.auto-rule-fixed{display:inline-block;margin-left:8px;color:#657682;font-size:11px;font-weight:600;white-space:nowrap}.auto-rules-item:has(input:disabled){color:#53616b;cursor:default}.auto-rules-item input:disabled{opacity:.63;cursor:default}.auto-rules-savebar{position:sticky;bottom:12px;background:#fff;border:1px solid #dce4e7;box-shadow:0 7px 24px #142e391c;border-radius:9px;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 15px;margin:20px 0;z-index:2;font-size:13px;color:#426151}.auto-rules-savebar button{white-space:nowrap}.auto-rules-error{color:#a53232}@media(max-width:550px){.auto-rules-savebar{flex-direction:column;align-items:stretch;bottom:6px}.auto-rules-savebar button{width:100%}}
