:root{color:#17202a;font-synthesis:none;background:#f4f6f8;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,select,textarea{font:inherit}button{color:#fff;cursor:pointer;background:#1769aa;border:0;border-radius:8px;min-height:42px;padding:.65rem 1rem}button:disabled{opacity:.55;cursor:wait}button.secondary{color:#17202a;background:#e5e9ed}button.warning{background:#8a4b08}button.danger{background:#a61b1b}input,select,textarea{background:#fff;border:1px solid #aeb7c0;border-radius:7px;width:100%;margin-top:.35rem;padding:.65rem;display:block}input:focus,select:focus,textarea:focus,button:focus-visible{outline-offset:2px;outline:3px solid #9bc7ef}h1,h2{margin-top:0}h2{font-size:1.2rem}.centered{place-items:center;min-height:100vh;padding:1rem;display:grid}.page{max-width:1100px;margin:0 auto;padding:1rem}.page-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.admin-nav{flex-wrap:wrap;gap:.5rem;margin:-.25rem 0 1rem;display:flex}.admin-nav a{color:#184f78;background:#e7f1f8;border:1px solid #bad3e5;border-radius:8px;padding:.6rem .85rem;text-decoration:none}.admin-nav a[aria-current=page]{color:#fff;background:#1769aa;border-color:#1769aa}.card{background:#fff;border:1px solid #dde2e6;border-radius:12px;margin-bottom:1rem;padding:1.25rem;box-shadow:0 2px 10px #0000000f}.login-card{width:min(100%,420px)}.stack{gap:1rem;display:grid}.muted{color:#5f6b75}.error{color:#a61b1b;background:#fff0f0;border-left:4px solid #a61b1b;padding:.7rem}.user-form{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:.8rem;display:grid}.user-form .wide{grid-column:1/-1}.master-form{grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;gap:.8rem;width:100%;display:grid}.master-form .wide{grid-column:1/-1}.preset-row{flex-wrap:wrap;gap:.8rem;margin-bottom:.8rem;display:flex}.preset-row label{min-width:min(100%,220px)}.checkbox{align-items:center;gap:.5rem;min-height:42px;display:flex}.checkbox input{width:auto;margin:0;display:inline}.button-row{flex-wrap:wrap;gap:.55rem;display:flex}.user-list{gap:.75rem;display:grid}.user-item{border-top:1px solid #dde2e6;justify-content:space-between;gap:1rem;padding-top:.85rem;display:flex}.badge{color:#184f78;background:#dbefff;border-radius:999px;padding:.15rem .5rem;font-size:.8rem;display:inline-block}.badge.inactive{color:#555;background:#eee}.badge.status-open{color:#185b2b;background:#dff6e5}.badge.status-closed{color:#714600;background:#fff0cf}.badge.status-archived{color:#464650;background:#e8e8eb}.color-swatch{vertical-align:-.1rem;border:1px solid #68727a;border-radius:3px;width:1rem;height:1rem;margin-right:.45rem;display:inline-block}.wide-editor{width:100%}.danger-zone{border-top:1px solid #eed0d0;margin-top:1rem;padding-top:1rem}.memo{white-space:pre-wrap;margin-top:.4rem}.dialog-backdrop{background:#00000094;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.dialog{background:#fff;border-radius:12px;width:min(100%,560px);padding:1.4rem}.credential{overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;background:#f1f4f6;border:1px solid #ccd4da;margin:1rem 0;padding:1rem;font-family:ui-monospace,monospace;font-size:1.25rem;display:block}@media (width<=760px){.user-form{grid-template-columns:1fr}.user-form .wide{grid-column:auto}.master-form{grid-template-columns:1fr}.master-form .wide{grid-column:auto}.user-item{display:grid}}.mobile-page{max-width:760px}.self-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.self-header h1{margin-bottom:.25rem}.self-header p{margin:0}.period-card-list{gap:.8rem;display:grid}.period-card{background:#fff;border:1px solid #d8e0e6;border-radius:12px;justify-content:space-between;align-items:center;gap:1rem;padding:1rem;display:flex}.period-card h3{margin:0 0 .35rem}.period-card p{margin:.25rem 0}.text-button{color:#184f78;background:0 0;min-height:auto;margin-bottom:.8rem;padding:.35rem 0}.workflow-summary p{margin:.25rem 0}.success{color:#185b2b;background:#e7f8ec;border-left:4px solid #268540;padding:.7rem}.save-status{color:#4f5961;align-items:center;min-height:1.6rem;font-size:.9rem;display:inline-flex}.save-status.saved{color:#185b2b}.save-status.error{color:#a61b1b}.calendar-section{padding:.8rem}.calendar-section h3{margin:0 0 .6rem}.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:.3rem;display:grid}.weekday-row{text-align:center;color:#59636c;margin-bottom:.3rem;font-size:.8rem}.calendar-day{color:#17202a;background:#fff;border:1px solid #cbd4dc;flex-direction:column;justify-content:flex-start;align-items:center;gap:.3rem;min-width:0;min-height:70px;padding:.35rem .2rem;display:flex}.calendar-day strong{align-self:flex-start;margin-left:.2rem}.calendar-day small{text-overflow:ellipsis;width:100%;line-height:1.15;overflow:hidden}.calendar-day.entered{background:#edf7ff;border-color:#6ca6d4}.calendar-day.day_off{background:#fff2e8;border-color:#d69b6f}.calendar-day.all_day{background:#eef9e9;border-color:#82b86d}.calendar-day:disabled{cursor:default;opacity:.78}.day-editor{max-height:calc(100vh - 2rem);overflow-y:auto}.choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;margin-bottom:.8rem;display:grid}.choice,.pattern-choice{color:#17202a;background:#fff;border:2px solid #c8d0d7;min-height:58px}.choice.active,.pattern-choice.active{background:#e4f2fd;border-color:#1769aa;box-shadow:inset 0 0 0 1px #1769aa}.pattern-choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;margin-bottom:.8rem;display:grid}.pattern-choice{text-align:left;grid-template-rows:auto auto;grid-template-columns:auto 1fr;align-items:center;display:grid}.pattern-choice .color-swatch{grid-row:1/3}.pattern-choice small{color:#5f6b75}.custom-time-form{grid-template-columns:1fr 1fr;gap:.8rem;padding:.8rem 0;display:grid}.custom-time-form .checkbox{grid-column:1/-1}.dialog-actions{margin-top:1rem}.count-list{gap:.5rem;display:grid}.count-list div{border-bottom:1px solid #dde2e6;justify-content:space-between;padding:.5rem 0;display:flex}.count-list dt,.count-list dd{margin:0}.submission-entry-list{gap:.5rem;max-height:55vh;margin-bottom:1rem;display:grid;overflow-y:auto}.submission-entry-list div{border-bottom:1px solid #e1e5e8;justify-content:space-between;gap:1rem;padding:.5rem;display:flex}.history-list{gap:.5rem;display:grid}.history-item{text-align:left;justify-content:space-between;align-items:center;display:flex}.submit-card button{width:100%;min-height:52px}@media (width<=560px){.page.mobile-page{padding:.75rem}.self-header{display:grid}.period-card{align-items:stretch;display:grid}.period-card>button{width:100%}.calendar-section{margin-left:-.35rem;margin-right:-.35rem}.calendar-grid{gap:.2rem}.calendar-day{min-height:64px;padding:.3rem .1rem;font-size:.9rem}.calendar-day small{font-size:.68rem}.pattern-choices,.custom-time-form{grid-template-columns:1fr}.custom-time-form .checkbox{grid-column:auto}.history-item{align-items:flex-start;gap:.2rem;display:grid}}.admin-shifts-page{max-width:1800px}.shift-board-toolbar{justify-content:space-between;align-items:end;gap:1rem;display:flex}.shift-board-toolbar>label{min-width:min(100%,360px)}.toolbar-summary{flex-wrap:wrap;gap:.5rem;display:flex}.conflict-message{justify-content:space-between;align-items:center;gap:1rem;display:flex}.shift-board-layout{grid-template-columns:minmax(0,1fr);align-items:start;gap:1rem;display:grid}.shift-board-layout.with-editor{grid-template-columns:minmax(0,1fr) minmax(300px,360px)}.shift-board-card{min-width:0;padding:1rem}.shift-table-scroll{border:1px solid #cbd4dc;border-radius:8px;max-height:calc(100vh - 290px);position:relative;overflow:auto}.shift-table{border-collapse:separate;border-spacing:0;min-width:max-content;font-size:.88rem}.shift-table th,.shift-table td{background:#fff;border-bottom:1px solid #d7dde2;border-right:1px solid #d7dde2}.shift-table thead th{z-index:4;text-align:center;background:#eef4f8;min-width:150px;padding:.65rem .45rem;position:sticky;top:0;box-shadow:0 1px #aeb9c2}.shift-table .staff-column{z-index:3;text-align:left;background:#f7f9fa;width:180px;min-width:180px;max-width:180px;padding:.65rem;position:sticky;left:0;box-shadow:1px 0 #aeb9c2}.shift-table thead .staff-column{z-index:5;background:#e5edf3}.shift-table .staff-column small{color:#5f6b75;margin:.2rem 0;font-weight:400;display:block}.shift-cell{vertical-align:top;width:150px;min-width:150px;padding:0}.shift-cell.selected{box-shadow:inset 0 0 0 3px #1769aa}.shift-cell-button{color:#17202a;text-align:left;background:#fff;border-left:4px solid #0000;border-radius:0;align-content:start;gap:.25rem;width:100%;min-height:96px;padding:.45rem;display:grid}.shift-cell-button:hover{background:#f4f9fc}.request-line,.work-line{text-overflow:ellipsis;white-space:nowrap;border-radius:4px;min-height:1.45rem;padding:.15rem .25rem;display:block;overflow:hidden}.request-line small,.work-line small{color:#58636c;font-weight:600}.work-line.confirmed{border:2px solid #285a36;font-weight:700}.work-line.draft{border:1px dashed #526572}.cell-status{border-radius:999px;justify-self:start;padding:.1rem .4rem;font-size:.76rem;font-weight:700}.cell-status.confirmed{color:#174d28;background:#d7efdf}.cell-status.draft{color:#714600;background:#fff0cf}.cell-status.unset{color:#5f6870;background:#edf0f2}.change-marker{color:#8a3d08;justify-self:start;font-size:.78rem;font-weight:700}.cell-check{background:#f7f9fa;justify-content:center;align-items:center;gap:.3rem;padding:.3rem;font-size:.75rem;display:flex}.cell-check input{width:auto;margin:0;display:inline}.shift-editor{max-height:calc(100vh - 2rem);margin:0;position:sticky;top:1rem;overflow-y:auto}.shift-editor-heading{justify-content:space-between;align-items:start;gap:.75rem;display:flex}.shift-editor-heading h2,.shift-editor-heading p{margin-bottom:.2rem}.editor-reference{background:#f3f6f8;border-radius:8px;grid-template-columns:auto 1fr;align-items:center;gap:.4rem .7rem;margin:.8rem 0;padding:.75rem;display:grid}.editor-reference .badge{grid-column:1/-1;justify-self:start}.request-off{color:#7b3207;background:#ffe0cf}.warning-note{color:#714600;background:#fff4da;border-left:4px solid #c48516;padding:.65rem}.entry-kind-grid{border:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;margin:.8rem 0;padding:0;display:grid}.entry-kind-grid legend{grid-column:1/-1;margin-bottom:.35rem;font-weight:700}.entry-kind-grid label{border:1px solid #cbd4dc;border-radius:7px;align-items:center;gap:.4rem;padding:.55rem;display:flex}.entry-kind-grid input{width:auto;margin:0;display:inline}.shift-editor-actions{margin-top:1rem}@media (width<=1000px){.shift-board-layout.with-editor{grid-template-columns:minmax(0,1fr)}.shift-editor{grid-row:1;max-height:none;position:static}.shift-table-scroll{max-height:65vh}}@media (width<=760px){.shift-board-toolbar,.conflict-message{align-items:stretch;display:grid}.shift-board-card{padding:.65rem}.shift-table .staff-column{width:135px;min-width:135px;max-width:135px}}
