:root{--navy:#0B1B3A;--teal:#17B8A6;--bg:#F4F6FA;--card:#FFFFFF;--text:#0C1A2A;--muted:#6B7A90;--danger:#D33B3B;--border:#E3E7EF}.headerBar-logo{height:48px;max-width:200px;object-fit:contain}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}button,input{font-family:inherit}.dutyTable{width:100%;border-collapse:collapse;font-size:12px}.dutyTable th,.dutyTable td{border:1px solid var(--border);padding:6px 8px;vertical-align:top}.dutyTable th{background:#f5f7fb;font-weight:800;font-size:11px;text-align:left}.dutyTableNumber{font-weight:800;font-size:13px}.dutyTableName{font-size:11px;color:var(--muted)}.dutyTableEmp{font-size:12px}.smallLinkBtn{padding:0;font-size:11px;color:var(--teal);background:none}.screen{min-height:100vh;display:flex;flex-direction:column}.weekStrip{position:relative;overflow:hidden;padding:0rem 0 .75rem;display:flex;align-items:center;justify-content:center;gap:.25rem}.weekStripInner{display:flex;width:81vw;transform:translate(calc(25% - (var(--weekIndex, 0) * 50%)));transition:transform .3s ease}.weekChip{flex:0 0 50%;border-radius:999px;border:none;background:transparent;padding:.7rem .4rem;font-size:1.1rem;font-weight:500;color:#333;text-align:center;white-space:nowrap;cursor:pointer;opacity:.5;transform:scale(.9);transition:background-color .25s ease,color .25s ease,box-shadow .25s ease,opacity .25s ease,transform .25s ease}.weekChipActive{background-color:#0b1b3a;color:#fff;box-shadow:0 0 0 2px #00796b66;opacity:1;transform:scale(1)}.weekArrow{border:none;background:transparent;padding:1em 0 0;font-size:2rem;line-height:1;font-weight:700;cursor:pointer;color:#555;transition:opacity .2s ease,transform .15s ease}.weekArrow:active{transform:scale(.9)}.weekArrow:disabled{opacity:.25;cursor:default}.headerBar{background:var(--navy);color:#fff;padding:16px 16px 14px;display:flex;align-items:center;justify-content:space-between}.headerTitle{display:flex;align-items:center;font-size:16px;font-weight:700;letter-spacing:.2px}.headerRight{display:flex;align-items:center;gap:10px}.headerTitleButton{background:none;border:none;color:inherit;font:inherit;cursor:pointer;text-align:left;border:1px solid var(--border);border-radius:20px;border-color:#17a3b896;padding:15px}.linkBtn{border:none;background:transparent;color:var(--teal);font-weight:600;padding:8px 10px;cursor:pointer}.content{padding:14px 14px 90px;flex:1}.card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:16px;margin:14px 0}.label{display:block;font-size:12px;color:var(--muted);margin:10px 0 6px;font-weight:600}.input{width:100%;padding:12px;border:1px solid var(--border);border-radius:12px;outline:none;font-size:14px;background:#fff}.input:focus{border-color:#17b8a6b3;box-shadow:0 0 0 3px #17b8a626}.btn{border:none;border-radius:12px;padding:12px;font-weight:700;font-size:14px}.btn-full{width:100%;margin-top:14px}.btn-primary{background:var(--teal);color:#052b28}.btn-ghost{background:#fff;border:1px solid var(--border);color:var(--text)}.smallLink{margin-top:12px;text-align:center;color:var(--muted);font-size:12px}.error{margin-top:10px;color:var(--danger);font-size:13px;font-weight:600}.muted{color:var(--muted);font-size:13px}.list{display:flex;flex-direction:column;gap:10px}.dayRow{width:100%;display:flex;align-items:center;justify-content:space-between;border:1px solid var(--border);background:#fff;border-radius:14px;padding:12px;text-align:left}.dayRowLeft{display:flex;flex-direction:row;gap:14px}.dayRowTitle{font-weight:800;font-size:14px}.dayRowSub{color:var(--muted);font-weight:700;font-size:13px}.pill{display:inline-flex;align-items:center;padding:7px 10px;border-radius:999px;font-size:12px;font-weight:800;border:1px solid transparent;white-space:nowrap}.pill-duty{background:#17b8a61f;border-color:#17b8a640;color:#0a3e39}.pill-available{background:#0b1b3a14;border-color:#0b1b3a2e;color:#0b1b3a}.pill-prep{background:#ffc80026;border-color:#ffc80040;color:#5a4300;display:inline-block;line-height:1.2;border-radius:25px}.pill-prep div{margin:2px 0;padding:2px 15px;text-align:center}.bottomBar{position:fixed;left:0;right:0;bottom:0;background:#f4f6faeb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--border);padding:12px 14px;display:flex;gap:10px}.bottomBar .btn{flex:1}.modalOverlay{position:fixed;inset:0;background:#0c1a2a59;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:18px;z-index:1000}.modalCard{width:100%;max-width:420px;background:#fff;border-radius:16px;border:1px solid var(--border);padding:16px;position:relative}.modalCard.small{max-width:360px}.modalClose{position:absolute;right:10px;top:10px;width:34px;height:34px;border-radius:10px;border:1px solid var(--border);background:#fff;font-size:20px;line-height:0}.modalTitle{font-size:18px;font-weight:900;margin-bottom:10px}.modalSection{border-top:1px solid var(--border);padding-top:12px;margin-top:12px}.kv{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:8px 0}.k{color:var(--muted);font-weight:700;font-size:12px}.v{font-weight:800;font-size:14px;text-align:right}.sectionLabel{font-weight:900;margin-bottom:8px}.shiftList{display:flex;flex-direction:column;gap:10px}.shiftItem{border:1px solid var(--border);border-radius:14px;padding:12px;background:#fff}.shiftTime{font-weight:900;margin-bottom:6px}.shiftNotes{margin-top:6px;color:var(--muted);font-size:12px;font-weight:600}.toastError{position:fixed;left:14px;right:14px;bottom:82px;background:#fff1f1;border:1px solid #ffd0d0;color:var(--danger);padding:10px 12px;border-radius:12px;font-weight:800}.weekList{margin-top:8px;display:flex;flex-direction:column;gap:8px}.weekItem{width:100%;text-align:left;background:#fff;border-radius:12px;border:1px solid var(--border);padding:10px 12px;display:flex;flex-direction:column;gap:3px}.weekItemMain{font-weight:700;font-size:14px}.weekItemSub{font-size:13px;color:var(--muted);font-weight:600}.weekItem-selected{border-color:var(--teal);box-shadow:0 0 0 2px #17b8a629}.weekItem-current .weekItemMain{font-weight:900}
