*{margin:0;padding:0}a{cursor:pointer;color:inherit;text-decoration:none}:root{--main-text: #1a1a2e;--main-text-faint: #64748b;--faint-text: #94a3b8;--bg: #f8f9fa;--line: #e2e8f0;--error: #dc2626;--warning: #ea580c}body{background-color:var(--bg);font-family:Inter,system-ui,-apple-system,sans-serif;display:flex;flex-direction:column;min-height:100dvh}main{background-color:var(--bg)}header{background-color:#fff;display:flex;flex-direction:row;align-items:center;height:56px;border-bottom:1px solid var(--line);justify-content:space-between;padding:0 24px;flex-shrink:0}header span{font-size:15px;letter-spacing:-.01em}main{display:flex;flex-direction:column;color:var(--main-text)}.supporting-text{color:var(--faint-text)}.logo-name{font-weight:800}.logo1{color:#1a1a2e}.logo2{color:#3b82f6}.main-btn{font-size:14px;font-weight:500;color:#fff;background:#3b82f6;border:1px solid #3b82f6;border-radius:8px;padding:8px 14px}.inline-form{display:inline}.secondary-btn{font-size:14px;font-weight:500;color:#1a1a2e;background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:8px 14px}.danger-btn{font-size:14px;font-weight:500;color:red;background:#fff;border:1px solid red;border-radius:8px;padding:8px 14px}.back-btn{font-size:13px}.drop-down-content{z-index:2;border:1px solid var(--line);border-radius:5px;padding:5px 15px;margin:0 0 15px 15px;list-style-type:none;overflow-y:auto;max-height:100px}.drop-down-box-multiple{min-width:120px}.drop-down-content label{display:flex;align-items:center;gap:8px}.drop-down-content input{margin:0;flex:none}li{padding-top:calc(var(--bs-gutter-y) * -1);padding-right:calc(var(--bs-gutter-x) * -.5);padding-left:calc(var(--bs-gutter-x) * -.5);font-size:small;padding:3px 0;display:flex;align-items:center}li:hover{background-color:#a9a9a9}.pill{padding:5px 9px;font-size:13px;font-weight:600;border-radius:12px;background-color:#7fffd4}.badge{--l: .95;--c: 0;--h: 0;display:inline-block;padding:5px 9px;border-radius:6px;font-size:12px;white-space:nowrap;background:oklch(var(--l) var(--c) var(--h));color:oklch(.39 .1 var(--h))}.badge.off{background:transparent;color:var(--faint-text)}.shift-legend{display:flex;align-items:center;gap:20px;padding:0 20px 8px}.legend-name{display:flex;align-items:center;gap:8px}.legend-time{font-size:13px;color:var(--main-text-faint)}.status-pill--generated{background:#f5d68a;color:#6b4b00}.status-pill--approved{background:#a8dcbf;color:#1e5637}.status-pill--editing{background:#bfdbfe;color:#1e3a8a}.modal{width:650px;max-width:100%;border-radius:16px;box-shadow:0 20px 50px #0f172a40;background:#fff;overflow:hidden}.modal-backdrop{position:fixed;inset:0;z-index:100;background-color:#0f172a73;display:flex;align-items:center;justify-content:center}.modal-header{border-bottom:1px solid #e2e8f0;padding:0 24px;height:56px;display:flex;justify-content:space-between;align-items:center}.modal-header h2{font-size:17px;font-weight:600}.close-btn{border:none;color:#94a3b8;background:transparent;padding:0}button:hover{cursor:pointer}#settingsForm{display:flex;flex-direction:column;font-size:13px;color:#475569}.form-group-row{margin:24px}.form-group-row{display:flex;flex-direction:row;justify-content:space-around}.form-group-left{display:flex;flex-direction:column;justify-content:flex-start;gap:16px;padding-right:16px;border-right:1px solid var(--line)}.form-group{display:flex;flex-direction:row;justify-content:space-between}input{border:1px solid #e2e8f0;border-radius:8px;padding:10px 12px;font-family:inherit;font-size:14px;color:var(--main-text);outline:none}input[type=date]{box-sizing:border-box;width:150px;font-size:12px}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield;appearance:textfield}#num_weeks,#num_employees{max-width:50px;text-align:center}.minimum-staff-label{font-weight:600;color:#1a1a2e;padding:8px}.minimum-staff{display:flex;flex-direction:column}.shift-input-row{display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding:8px 0}.inputMinStaff{max-width:25px;text-align:center}.minimum-shifts{border:1px solid #e2e8f0;background-color:#f8f9fa;border-radius:10px;font-size:14px;outline:none;padding:6px 14px}.modal-footer{border-top:1px solid #e2e8f0;padding:13px 17px 17px;height:36px;display:flex;justify-content:space-between;align-items:center}.modal-footer-right-side{display:flex;gap:8px}.main-btn:disabled,.secondary-btn:disabled{background-color:#e2e8f0;color:#94a3b8;opacity:1;border:1px solid #e2e8f0;cursor:not-allowed}#generateBtn:disabled:hover{cursor:not-allowed}.legal{max-width:720px;margin:0 auto;padding:32px 24px 64px;font-size:15px;line-height:1.6}.legal h1{font-size:22px;margin:40px 0 8px}.legal h1:first-child{margin-top:0}.legal h2{font-size:16px;font-weight:600;margin:28px 0 8px}.legal p,.legal ul{margin:0 0 12px}.legal ul{padding-left:22px}.legal li{display:list-item;font-size:inherit;padding:2px 0}.legal a{color:#3b82f6;text-decoration:underline}.legal-links{display:flex;justify-content:center;gap:8px;font-size:13px;color:var(--faint-text)}.legal-links a{color:var(--main-text-faint);text-decoration:underline}#agreeTermsOfUse{font-size:12px;text-align:center}#agreeTermsOfUse a{color:#00f;text-decoration:underline}#page-login{display:flex;min-height:100dvh;align-items:center;justify-content:center;padding:32px 0}.login-view{display:flex;flex-direction:column;width:400px;gap:24px}.login-title{display:flex;flex-direction:column;align-items:center;gap:8px}.login-title .logo-name{font-size:24px;letter-spacing:-.02em}.login-title .supporting-text{font-size:14px}.incorrect-credentials{color:var(--error);font-size:13px}.login-form{display:flex;flex-direction:column;border-radius:16px;border:1px solid var(--line);box-shadow:0 20px 50px #0f172a0f;padding:24px;gap:16px;background-color:#fff}.form-field-group{display:flex;flex-direction:column;gap:6px}.form-field-group label{font-size:13px;font-weight:500;color:#475569}.form-field-group input,.form-field-group select{padding:10px 12px;font-size:14px;border:1px solid var(--line);border-radius:8px;outline:none}#login-supporting-text{font-size:13px;text-align:center}#generateError{padding:10px;color:var(--error)}.schedule-table{padding:0 24px;display:flex;flex-direction:column;gap:10px}.schedule-table-header{display:flex;align-items:center;justify-content:space-between;padding:32px 24px 20px}.schedule-table-header h1{font-size:22px}.schedule-table-card{display:flex;flex-direction:row;justify-content:space-between;border:1px solid var(--line);border-radius:12px;background-color:#fff;padding:18px 20px;margin:15px 0}.schedule-card-details{display:flex;flex-direction:row;align-items:center;justify-content:space-around;gap:20px}.schedule-card-unit{width:160px;flex-shrink:0;font-size:13px;line-height:1.4}.schedule-card-details h2{font-size:15px;font-weight:600}.schedule-card-details .supporting-text{font-size:13px}.schedule-card-right-side{display:flex;align-items:center;gap:10px}.badge.empty-request{box-sizing:border-box;width:64px;height:24px;background:transparent;border:1px dashed var(--line);cursor:pointer}.badge.empty-request:hover{border-color:var(--faint-text);background:#fff}.badge.request{background:var(--line);color:var(--main-text-faint);cursor:pointer}.badge.shift-request{cursor:pointer}.page-form{display:flex;flex-direction:column;flex-grow:1}.request-menu{position:absolute;z-index:20;min-width:140px;padding:6px;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:0 12px 28px #0f172a2e}.request-menu-option{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:6px;font-size:13px;cursor:pointer}.request-menu-option[hidden]{display:none}.request-menu-option:hover{background:#f1f5f9}.request-menu-option:has(input:disabled){cursor:not-allowed}.request-menu-option input:disabled+span{color:var(--faint-text)}.request-menu-divider{height:1px;margin:4px 6px;background:var(--line)}.pref-star{--l: .95;--c: 0;--h: 0;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:20px;height:20px;margin-left:2px;padding:0;border:1px solid transparent;border-radius:6px;background:transparent;vertical-align:middle;cursor:pointer}.pref-star svg{fill:none;stroke:var(--faint-text)}.pref-star.set svg{fill:oklch(var(--l) var(--c) var(--h));stroke:oklch(var(--l) var(--c) var(--h))}.pref-star.active{border-color:#3b82f6;background:#eff6ff}.name-end{white-space:nowrap}#EmployeeView:not(.editing) .pref-star:not(.set){display:none}#EmployeeView:not(.editing) .pref-star{cursor:default}.pref-menu{width:280px;box-sizing:border-box;overflow-y:auto}.pref-menu-head{padding:6px 12px 8px}.pref-menu-name{font-size:13px;font-weight:600;color:var(--main-text)}.pref-menu-title{margin-top:2px;font-size:12px;font-weight:500;color:var(--main-text-faint)}.pref-menu .view-toggle{margin:0 6px 6px}.pref-menu .view-toggle button{flex-grow:1}.pref-menu-note{padding:6px 12px;font-size:12px;line-height:1.4;color:var(--main-text-faint)}.requests-error{color:var(--error);font-size:13px;margin-right:auto}.requests-message{color:var(--main-text-faint);font-size:13px;margin-right:auto;display:flex;align-items:center;gap:8px}.spinner{width:14px;height:14px;flex-shrink:0;border:2px solid var(--line);border-top-color:var(--main-text-faint);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.spinner{animation-duration:2.4s}}.modal-error{color:var(--error);font-size:13px}.blocked-body{padding:24px;display:flex;flex-direction:column;gap:20px}.blocked-alert{display:flex;gap:12px;padding:14px;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;font-size:13px;line-height:1.55}.blocked-alert svg{flex-shrink:0;margin-top:1px}.blocked-options{display:flex;flex-direction:column;gap:10px}.blocked-lead{font-size:13px;color:#64748b}.option-btn{text-align:left;padding:14px 16px;border:1px solid #e2e8f0;border-radius:10px;background:#fff}.option-btn--primary{border-color:#3b82f6;background:#eff6ff}.option-title{display:block;font-size:14px;font-weight:600;color:#1a1a2e;margin-bottom:2px}.option-text{display:block;font-size:13px;color:#64748b}.picker-lead{font-size:13px;color:#64748b;line-height:1.55}.option-btn.pick{display:flex;gap:12px;align-items:flex-start;cursor:pointer}.option-btn.pick input[type=checkbox]{position:absolute;opacity:0;pointer-events:none}.option-dot{flex-shrink:0;margin-top:2px;width:16px;height:16px;box-sizing:border-box;border-radius:4px;border:1px solid #94a3b8;background:#fff}.option-copy{display:block}.option-btn.pick:has(input:checked){border-color:#3b82f6;background:#eff6ff}.option-btn.pick:has(input:checked) .option-dot{background:#3b82f6;border-color:#3b82f6}.edit-strip{display:flex;align-items:center;gap:10px;margin:0 20px 8px;padding:10px 14px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;color:#1e40af;font-size:13px}.edit-strip[hidden]{display:none}.bend-note{margin:0;color:var(--warning);font-size:13px;line-height:1.5}.owed-note{margin:0;color:var(--main-text-faint);font-size:13px;line-height:1.5}.owed-strip{margin:0 20px 8px;color:var(--main-text-faint);font-size:13px;line-height:1.5}.footer-notes{display:flex;flex-direction:column;gap:4px;min-width:0;margin-right:auto;padding-right:24px}.footer-notes p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.toolbar{height:36px;padding:16px 24px;display:flex;justify-content:space-between;align-items:center}.toolbar-right-side{display:flex;align-items:center;gap:10px}.schedule-month{font-size:13px;color:var(--main-text-faint)}.table-wrapper{flex-grow:1;margin:5px 20px;overflow-x:auto;border-radius:16px}table{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%;background-color:#fff;border-radius:16px;border:1px solid var(--line)}thead{color:#94a3b8;margin:0;height:auto;font-size:11px;font-weight:500}thead th{border-bottom:1px solid rgb(226,232,240);padding:13px 16px}#EmployeeView:not(.editing) tr:hover{background-color:#d3d3d3}tbody tr:not(:last-child) td{border-bottom:1px solid rgb(226,232,240)}thead th:first-child,td.first-column{position:sticky;left:0;z-index:2;background-color:#fff;border-right:1px solid var(--line)}thead th:first-child{border-top-left-radius:16px}td.first-column{font-weight:600;font-size:14px;width:180px;text-align:left;padding-left:10px}.tally{display:flex;align-items:center;gap:12px;margin-top:5px}.tally-item{display:flex;align-items:center;gap:4px;color:var(--main-text-faint)}.tally-count{font-size:12px;font-weight:600;color:#334155}tbody tr:last-child td.first-column{border-bottom-left-radius:16px}:is(#EmployeeView,#ShiftView) .week-last:not(:last-child){border-right:1px solid var(--line)}td{text-align:center;padding:8px 15px}td[data-date],thead th:not(:first-child){min-width:calc((100vw - 480px) / 7)}.cell-badges{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;font-size:14px}footer{border-top:1px solid var(--line);display:flex;align-items:center;justify-content:end;background-color:#fff;padding:0 24px;min-height:68px;flex-shrink:0}footer .footer-left-side{flex-shrink:0}#EmployeeView.editing{border-color:#bfdbfe}#EmployeeView.editing th.editable{color:#3b82f6;font-weight:600}#EmployeeView.editing td.locked{background:#f8f9fa;cursor:not-allowed}#EmployeeView.editing td.locked .badge{opacity:.5}#EmployeeView.editing td[data-date]:not(.locked) .cell-badges{box-sizing:border-box;min-height:34px;padding:4px;border:1px dashed #bfdbfe;border-radius:8px;background:#fff;cursor:pointer}#EmployeeView.editing td[data-date]:not(.locked):hover .cell-badges,#EmployeeView.editing td.active .cell-badges{border:1px solid #3b82f6;background:#eff6ff}#EmployeeView.generating{pointer-events:none}#EmployeeView td[data-date]{position:relative}#EmployeeView td.changed .badge{outline:1.5px solid red}#EmployeeView:not(.editing) td[data-type]:not([data-type=""]):before,#EmployeeView.editing td[data-type^=SHIFT]:before{content:"";position:absolute;top:0;left:0;width:0;height:0;border-top:9px solid #1a1a2e;border-right:9px solid transparent}.cell-tip{position:absolute;z-index:30;transform:translate(-50%);min-width:180px;padding:8px 10px;border-radius:8px;background:#1a1a2e;color:#fff;max-width:720px;font-size:12px;line-height:1.45;text-align:center;box-shadow:0 12px 28px #0f172a2e;white-space:pre-line;pointer-events:none}.cell-tip[hidden]{display:none}#EmployeeView td.reverting .badge{outline:1.5px solid #3b82f6}.remove-staff{border:none;background:none;color:#64748b;font-size:12px;padding:0 8px 0 0;cursor:pointer}.remove-staff:hover{color:#1a1a2e}.add-staff{position:relative;padding:12px 10px}.add-staff .secondary-btn{font-size:13px;padding:6px 10px;white-space:nowrap}.add-staff-list{position:absolute;background:#fff;margin:4px 0 0;min-width:240px;max-height:220px}.add-staff-list.opens-up{bottom:100%;margin:0 0 4px}.add-staff-list li[hidden]{display:none}.add-staff-option{border:none;background:none;font:inherit;width:100%;text-align:left;padding:6px 0;cursor:pointer}#EmployeeView:not(.editing) .remove-staff{display:none}.schedule-add-staff{margin:0 20px}.modal-params{width:480px}.modal-params.per-day{width:720px}.params-body{padding:22px 26px;display:flex;flex-direction:column;align-items:center;gap:18px;max-height:calc(100vh - 160px);overflow-y:auto}.params-dates{display:flex;justify-content:center;gap:16px}.params-field{display:flex;flex-direction:column;width:190px}.params-field label{font-size:13px;font-weight:600;color:var(--main-text);text-align:center;margin-bottom:6px}.params-field input[type=date],.params-field select{box-sizing:border-box;width:100%;padding:9px 11px;font-family:inherit;font-size:14px;color:var(--main-text);text-align:center;border:1px solid var(--line);border-radius:8px;background:#fff}.params-unit{width:396px}.unit-card{box-sizing:border-box;width:100%;border:1px solid var(--line);border-radius:12px;overflow:hidden}.unit-card-header{padding:10px 14px;background:var(--bg);border-bottom:1px solid var(--line);text-align:center;font-size:14px;font-weight:600;color:var(--main-text)}.unit-card-body{padding:14px 15px;display:flex;flex-direction:column;align-items:center;gap:12px}.unit-ticks{border:none;padding:0;margin:0;display:flex;flex-wrap:wrap;justify-content:center;gap:8px 18px}.unit-ticks legend{width:100%;font-size:13px;font-weight:600;color:var(--main-text);text-align:center;margin-bottom:8px}.params-field .unit-tick{display:flex;align-items:center;gap:6px;margin:0;font-size:14px;font-weight:400;cursor:pointer}.unit-cards{width:100%;display:flex;flex-direction:column;gap:14px}.unit-card-header{position:relative}.unit-card-remove{position:absolute;right:8px;top:50%;transform:translateY(-50%);border:none;background:none;color:var(--main-text-faint);font-size:14px;cursor:pointer}.staffing-header{display:flex;align-items:center;gap:12px}.staffing-label{font-size:12.5px;font-weight:600;color:var(--main-text)}.staffing-toggle{display:inline-flex;border:1px solid var(--line);border-radius:8px;overflow:hidden}.staffing-toggle input{display:none}.staffing-toggle span{display:block;font-size:12px;padding:5px 11px;color:#475569;cursor:pointer}.staffing-toggle input:checked+span{background:var(--main-text);color:#fff;font-weight:600}.staffing-table{border-collapse:collapse;font-size:13px;width:auto;min-width:0;border:none;border-radius:0;background:none}.staffing-table thead th{position:static;min-width:0;border:none;border-radius:0;background:none}.staffing-table tbody tr td{border:none}.staffing-table td,.staffing-table th{padding:3px 4px}.staffing-table tbody tr{height:44px}.staffing-table:not(.per-day) thead{display:none}.staffing-table th{padding-bottom:6px;font-size:11.5px;font-weight:700;color:var(--main-text-faint);text-transform:uppercase;letter-spacing:.5px}.staffing-table th.sunday{color:var(--error)}.staffing-table .shift-name{width:128px;text-align:left;white-space:nowrap;color:var(--main-text)}.staffing-table .shift-time{color:var(--faint-text)}.staffing-table .staffing-type{display:inline-block;box-sizing:border-box;width:100px;text-align:center;font-size:12px;padding:4px 10px;border-radius:6px;background:#f1f5f9;color:#475569}.staffing-table input{box-sizing:border-box;width:46px;padding:5px 7px;font-size:12.5px;text-align:center;border-radius:7px}.staffing-table .day-col{display:none}.staffing-table.per-day .day-col{display:table-cell}.staffing-table.per-day .same-col{display:none}.staffing-table .optional-shift .shift-name{color:var(--main-text-faint)}.share-modal{width:520px}.share-body{padding:22px 24px;display:flex;flex-direction:column;gap:16px}.share-title{font-size:14px;font-weight:600;color:var(--main-text)}.share-field{display:flex;flex-direction:column;gap:6px}.share-label{font-size:13px;color:var(--main-text-faint)}.share-link-row{display:flex;gap:8px}.share-link-row input{flex:1;min-width:0;font-size:13.5px;background:var(--bg)}.share-link-row .main-btn{white-space:nowrap}.share-pin{font-size:22px;font-weight:600;letter-spacing:.15em;font-variant-numeric:tabular-nums;color:var(--main-text)}.share-note{font-size:12.5px;color:var(--faint-text)}.share-footer{justify-content:flex-end}.staff-refresh{display:inline-flex;align-items:center;gap:6px;min-height:44px;font-size:14px;font-weight:600;color:#3b82f6}.staff-top{padding:10px 24px;display:flex;flex-direction:column;gap:2px}.staff-title{font-size:17px;font-weight:700;line-height:24px;letter-spacing:-.01em;color:var(--main-text)}.staff-period{margin-left:8px;font-size:14px;font-weight:400;letter-spacing:0;color:var(--main-text-faint)}.staff-version{font-size:12.5px;line-height:18px;color:var(--main-text-faint)}.staff-missing{margin:48px 24px;text-align:center;font-size:15px;color:var(--main-text-faint)}.staff-table th span,.staff-table td.first-column span{display:block}.staff-weekday{font-size:11px}.staff-date{font-size:12.5px;font-weight:600;color:var(--main-text)}.staff-firstname{font-size:12px;font-weight:400;color:var(--main-text-faint)}body.staff-view{height:100dvh}.staff-top{flex-shrink:0}.staff-table-box{position:relative;flex:0 1 auto;min-height:0;display:flex;flex-direction:column;margin:5px 24px 12px}.staff-table-box .table-wrapper{flex:0 1 auto;min-height:0;margin:0;overflow:auto}.staff-table thead th{position:sticky;top:0;z-index:3;background-color:#fff}.staff-table thead th:first-child{z-index:4}.staff-legend{margin-top:auto;flex-shrink:0;flex-wrap:wrap;padding:12px 24px;background:#fff;border-top:1px solid var(--line)}@media(max-width:640px){.staff-view header{height:52px;padding:0 8px 0 16px}.staff-top{padding:10px 16px}.staff-table-box{margin:0;border-top:1px solid var(--line)}.staff-table-box:after{content:"";position:absolute;top:0;right:0;bottom:0;width:22px;z-index:5;pointer-events:none;background:linear-gradient(to right,#fff0,#fff)}.staff-table-box .table-wrapper,.staff-table table{border:none;border-radius:0}.staff-table thead th{height:42px;padding:0}.staff-table td.first-column,.staff-table thead th:first-child{box-sizing:border-box;width:100px;min-width:100px;padding:0 8px 0 12px}.staff-table td.first-column span{max-width:80px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.staff-surname{font-size:12.5px}.staff-firstname{font-size:11px}.staff-table td[data-date],.staff-table thead th:not(:first-child){width:72px;min-width:72px}.staff-table td{height:46px;padding:0 4px}.staff-table .badge,.staff-legend .badge{padding:4px 6px;font-size:11px}.staff-legend{gap:6px 12px;padding:8px 12px;box-shadow:0 -4px 10px #0f172a0f}.staff-legend .legend-time{font-size:11.5px}}.staff-pin{flex:1;align-items:center;justify-content:center;padding:24px 16px}.staff-pin-form{width:100%;max-width:320px;box-sizing:border-box}.staff-pin-form input{font-size:22px;letter-spacing:.3em;text-align:center;font-variant-numeric:tabular-nums}:is(#EmployeeView,#ShiftView) .unit-section-head td{background-color:#eef2f7;font-size:14px;font-weight:700;padding-top:12px;padding-bottom:12px;border-bottom:1px solid #cbd5e1}:is(#EmployeeView,#ShiftView) .unit-section+.unit-section .unit-section-head td{border-top:20px solid var(--bg)}.shift-legend .legend-unit{min-width:80px;font-size:13px;font-weight:700;color:var(--main-text);white-space:nowrap}.legend-group{display:flex;align-items:center;flex-wrap:wrap;gap:8px 20px}.shift-legend.by-unit{flex-direction:column;align-items:flex-start;gap:8px}#EmployeeView .unit-add-row td.first-column:has(.add-staff-list:not([hidden])){z-index:3}.elsewhere{font-size:12px;font-weight:600;color:var(--main-text-faint);white-space:nowrap}#EmployeeView .guest-row td{background-color:#fbfcfd}.guest-from{display:block;font-size:12px;font-weight:500;color:var(--main-text-faint)}body.table-view{height:100dvh}.table-view .toolbar,.table-view .view-toggle-row,.table-view .shift-legend,.table-view .edit-strip,.table-view .owed-strip{flex-shrink:0}.table-view .page-form{min-height:0}.table-view .table-wrapper{min-height:0;overflow:auto}.table-view :is(#EmployeeView,#ShiftView) thead th{position:sticky;top:0;z-index:3;background-color:#fff}.table-view :is(#EmployeeView,#ShiftView) thead th:first-child{z-index:4}body.table-view.folded .toolbar,body.table-view.folded .view-toggle-row,body.table-view.folded .shift-legend,body.table-view.folded .edit-strip,body.table-view.folded .owed-strip{display:none}.schedule-toolbar .toolbar-side{flex:1 1 0;display:flex;align-items:center}.schedule-toolbar .toolbar-right-side{justify-content:flex-end}.schedule-toolbar .toolbar-title{text-align:center}.view-toggle-row{display:flex;justify-content:flex-end;padding:0 24px 8px}.view-toggle-row[hidden]{display:none}.view-toggle{display:flex;gap:2px;padding:3px;background-color:#f1f5f9;border-radius:9px}.view-toggle button{font:inherit;font-size:13px;font-weight:500;color:var(--main-text-faint);background:transparent;border:0;border-radius:7px;padding:6px 12px;cursor:pointer}.view-toggle button.active{font-weight:600;color:var(--main-text);background-color:#fff;box-shadow:0 1px 2px #0f172a1f}body.shift-mode .shift-legend,body.shift-mode #editScheduleBtn,body.shift-mode #shareBtn,body.shift-mode .bend-note,body.shift-mode .owed-note,.shift-view-note{display:none}body.shift-mode .shift-view-note{display:block;margin:0;font-size:13px;color:var(--main-text-faint)}#ShiftView thead th:not(:first-child){min-width:0;padding:0}#ShiftView .day-toggle{width:100%;min-width:44px;min-height:48px;padding:4px;font:inherit;color:inherit;background:transparent;border:0;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px}#ShiftView .day-name{font-size:11px;font-weight:500}#ShiftView .day-date{font-size:12px;font-weight:600;color:#475569}.table-view #ShiftView thead th.open{background-color:#eff6ff}#ShiftView th.open .day-toggle{min-width:150px}#ShiftView th.open .day-date{color:#1e40af}#ShiftView td.day-cell{padding:6px 4px;cursor:pointer}#ShiftView td.open{min-width:150px;box-shadow:inset 1px 0 #bfdbfe,inset -1px 0 #bfdbfe}#ShiftView .day-count{font-size:13px;font-variant-numeric:tabular-nums;color:#334155}#ShiftView .day-names{display:none}#ShiftView td.open .day-names{display:flex;flex-direction:column;align-items:center;gap:4px}#ShiftView .shift-row td.open .day-count,#ShiftView .off-row td.open .day-count{display:none}#ShiftView .name-chip{font-size:12px;line-height:16px;padding:3px 7px;border-radius:6px;background-color:#fff;white-space:nowrap}#ShiftView .shift-row td{background-color:var(--soft);border-bottom:2px solid #ffffff}#ShiftView .shift-row td.first-column{background-color:var(--strong);color:var(--ink)}#ShiftView .shift-name{display:block;font-size:13px;font-weight:600}#ShiftView .shift-time{display:block;font-size:12px;font-weight:400;opacity:.8}#ShiftView .total-row td{background-color:#fbfcfd}#ShiftView .total-row td.first-column,#ShiftView .total-row .day-count{font-size:12px;font-weight:400;color:var(--main-text-faint)}#ShiftView .off-row td{vertical-align:top;background-color:#fcfcfd}#ShiftView .off-row.rest .name-chip{color:var(--main-text-faint);border:1px dashed #cbd5e1}#ShiftView .off-row.leave .name-chip{color:#475569;background-color:var(--line)}body.personal-view{max-width:480px;margin:0 auto;padding:16px 12px 0;box-sizing:border-box;gap:12px}.personal-brand{margin:0;padding:10px 4px;font-weight:800;font-size:16px}.personal-card{margin-top:56px;padding:28px 20px 24px;background-color:#fff;border:1px solid var(--line);border-radius:16px;text-align:center}.personal-card h1{margin:0 0 6px;font-size:20px}.personal-hint{margin:0;font-size:14px;line-height:1.5;color:#475569}.personal-pin-form{display:flex;flex-direction:column;gap:16px;text-align:left}.personal-pin-form h1,.personal-pin-form .personal-hint{text-align:center}.personal-pin-form input{height:52px;box-sizing:border-box;font-size:20px;letter-spacing:.12em;font-variant-numeric:tabular-nums}.personal-pin-form input[aria-invalid=true]{border:1.5px solid var(--error)}.personal-pin-form .main-btn{height:48px;font-size:15px;font-weight:600}.personal-error{margin:2px 0 0;font-size:13px;font-weight:500;color:#b91c1c}.personal-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 4px}.personal-top h1{margin:0;font-size:20px}.personal-refresh,.month-arrow{width:44px;height:44px;flex-shrink:0;box-sizing:border-box;border:1px solid var(--line);border-radius:10px;background-color:#fff;color:var(--main-text);display:flex;align-items:center;justify-content:center;text-decoration:none}.month-arrow{font-size:24px;line-height:1}.month-arrow.disabled{color:#cbd5e1}.personal-month{display:flex;align-items:center;justify-content:space-between;gap:8px}.personal-month h2{margin:0;font-size:17px}.personal-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.personal-calendar .weekday{font-size:11.5px;font-weight:600;color:var(--main-text-faint);text-align:center;padding-bottom:2px}.personal-calendar .day{position:relative;box-sizing:border-box;height:64px;padding:5px 5px 6px 6px;border-radius:8px;display:flex;flex-direction:column;align-items:flex-start;overflow:hidden}.personal-calendar .day.blank{padding:0}.day-number{font-size:12.5px;font-weight:700}.day-start{margin-top:auto;font-size:11.5px;font-weight:700}.day-unit,.day-label{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.day-unit{font-size:9.5px;font-weight:600}.day-label{margin-top:auto;font-size:10.5px}.personal-calendar .day.work{background-color:var(--strong);color:var(--ink)}.personal-calendar .day.rest{background-color:#fff;border:1px solid var(--line);color:var(--main-text-faint)}.personal-calendar .day.leave{background-color:var(--line);color:#475569}.personal-calendar .day.none{border:1px dashed #cbd5e1;color:var(--faint-text)}.personal-calendar .day.past{opacity:.55}.personal-calendar .day.today{outline:2.5px solid var(--main-text);outline-offset:1px}.personal-calendar .day.today .day-number{min-width:20px;height:20px;line-height:20px;margin:-1px 0 0 -2px;text-align:center;border-radius:999px;background-color:var(--main-text);color:#fff}.personal-calendar .day.changed:after{content:"";position:absolute;top:0;right:0;border-top:10px solid var(--error);border-left:10px solid transparent}.personal-updated-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 4px}.personal-updated-row .personal-refresh{margin-left:auto}.personal-updated{margin:0;font-size:12.5px;color:var(--main-text-faint)}footer.personal-footer{margin-top:auto;min-height:0;padding:12px 4px 20px;border-top:0;background:transparent;justify-content:center;gap:10px;font-size:12px;color:var(--faint-text)}.personal-footer a{color:var(--main-text-faint)}.hidden{display:none}
