:root{--c-bg:#f5f7fa;--c-surface:#fff;--c-surface-2:#f9fafc;--c-surface-3:#eef2f7;--c-border:#e4e9f0;--c-border-strong:#cdd5e1;--c-text:#16233b;--c-text-2:#3c4a61;--c-text-muted:#5f6e85;--c-text-subtle:#8592a6;--c-primary:#2f64d0;--c-primary-hover:#2655b6;--c-primary-soft:#eaf0fc;--c-primary-soft-2:#d8e4fa;--c-primary-text:#1f4a9e;--c-success:#16794c;--c-success-soft:#e6f4ec;--c-success-line:#bfe2ce;--c-warning:#9a5b00;--c-warning-soft:#fff4e2;--c-warning-line:#f2d29b;--c-danger:#b4322c;--c-danger-soft:#fdedec;--c-danger-line:#f2c4c0;--c-off:#8f4e0e;--c-off-soft:#fcf0e1;--c-annual:#a3303f;--c-annual-soft:#fcecef;--c-unknown:#5f6e85;--c-unknown-soft:#f0f3f7;--r-xs:4px;--r-sm:6px;--r-md:10px;--r-lg:14px;--r-pill:999px;--sh-1:0 1px 2px #16233b0a, 0 1px 3px #16233b0d;--sh-2:0 4px 14px #16233b12;--sh-pop:0 12px 32px #16233b24;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-7:28px;--s-8:32px;--font:"Pretendard Variable","Pretendard",-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Noto Sans KR","Malgun Gothic","맑은 고딕",system-ui,sans-serif;--fs-xs:12px;--fs-sm:13px;--fs-md:14px;--fs-lg:16px;--fs-xl:20px;--fs-2xl:24px;--fs-stat:28px;--lh:1.55;--focus-ring:0 0 0 3px #2f64d04d;--tap:44px;--t-fast:.12s ease;--sidebar-w:244px;--topbar-h:64px;--content-max:1240px;--bottom-nav-h:64px;--bg:var(--c-bg);--panel:var(--c-surface);--ink:var(--c-text);--sub:var(--c-text-muted);--line:var(--c-border);--line-strong:var(--c-border-strong);--accent:var(--c-primary);--lunch:var(--c-surface-3);--app-icon:url(/icons/dentalops-v3-192.png)}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);font-family:var(--font);font-size:var(--fs-md);line-height:var(--lh);-webkit-font-smoothing:antialiased;margin:0;padding:0}.wrap{max-width:1180px;margin:0 auto}h1{letter-spacing:-.02em;margin:0 0 4px;font-size:22px;font-weight:800}.subtitle{color:var(--sub);margin:0;font-size:13px}.app-title span{overflow-wrap:anywhere;display:block}.app-title-name{color:var(--sub);letter-spacing:0;font-size:.72em;font-weight:700}.sync-badge{color:var(--accent);font-weight:600}#saveStatus,#attSaveStatus,#monthStatus{color:var(--c-danger);min-height:16px;margin-top:6px;font-size:12px}.weeknav{align-items:center;gap:10px;display:flex}.weeknav button{border:1px solid var(--line-strong);background:var(--panel);color:var(--ink);cursor:pointer;border-radius:8px;width:32px;height:32px;font-size:15px;line-height:1}.weeknav button:hover{background:var(--lunch)}.weekrange{text-align:center;min-width:200px;font-size:15px;font-weight:700}.archive-select{border:1px solid var(--line-strong);background:var(--panel);color:var(--ink);cursor:pointer;border-radius:8px;max-width:180px;padding:6px 10px;font-size:12.5px;font-weight:600}.toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px;display:flex}.topnav{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;margin-bottom:10px;display:flex}.tabs{flex-wrap:wrap;gap:6px;min-width:0;display:flex}.account-bar{flex-wrap:wrap;align-items:center;gap:6px;margin-left:auto;display:flex}.account-menu-wrap{position:relative}#accountBtn.active{border-color:var(--ink);color:var(--ink);background:var(--lunch)}.account-menu{z-index:150;background:var(--panel);border:1px solid var(--line-strong);border-radius:10px;flex-direction:column;gap:2px;min-width:220px;padding:6px;display:flex;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 8px 24px #0000001f}.account-menu[hidden]{display:none}.account-menu button{text-align:left;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:10px 12px;font-size:14px;font-weight:600}.subtabs{border-top:1px solid var(--line);margin:0 0 18px;padding-top:8px}.subtabs[hidden],.subtab-row[hidden]{display:none}.subtab-row{flex-wrap:wrap;gap:6px;display:flex}.subtab{color:var(--sub);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;padding:6px 12px;font-size:13px;font-weight:700}.subtab:hover{background:var(--lunch)}.subtab.active{background:var(--lunch);color:var(--ink);border-color:var(--line-strong)}.subtab:disabled{opacity:.45;cursor:not-allowed}.settings-group{margin:0 0 22px}.settings-group-title{margin:0 0 10px;font-size:15px}.settings-items{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;display:grid}.settings-item{border:1px solid var(--line-strong);background:var(--panel);color:var(--ink);border-radius:10px;flex-direction:column;gap:4px;padding:14px 16px;text-decoration:none;display:flex}.settings-item:hover,.settings-item:focus-visible{border-color:var(--ink)}.settings-item span{color:var(--sub);font-size:12.5px;line-height:1.5}.att-mode-note{color:var(--sub);margin:0 0 12px;font-size:13px}.tab{border:1px solid var(--line-strong);background:var(--panel);color:var(--sub);cursor:pointer;border-radius:8px;padding:8px 16px;font-size:13px;font-weight:700}.tab.active{background:var(--ink);color:#fff;border-color:var(--ink)}.tab:disabled,.tab.is-disabled{opacity:.45;cursor:not-allowed;color:var(--c-text-subtle);background:var(--c-surface-3);border-color:var(--line-strong)}.tab:disabled:hover{background:var(--c-surface-3)}.monthnav{justify-content:center;align-items:center;gap:14px;margin-bottom:14px;display:flex}.monthnav button{border:1px solid var(--line-strong);background:var(--panel);color:var(--ink);cursor:pointer;border-radius:8px;width:32px;height:32px;font-size:15px}.monthnav button:hover{background:var(--lunch)}.monthrange{text-align:center;min-width:140px;font-size:17px;font-weight:800}.yearnav{align-items:center;gap:12px;display:flex}.yearnav button{border:1px solid var(--line-strong);background:var(--panel);color:var(--ink);cursor:pointer;border-radius:8px;width:32px;height:32px;font-size:15px}.yearnav button:hover{background:var(--lunch)}.yearlabel{text-align:center;min-width:70px;font-size:16px;font-weight:800}.section-title{color:var(--ink);margin:22px 0 10px;font-size:15px;font-weight:800}.section-title:first-of-type{margin-top:4px}.year-tag{color:var(--sub);font-size:12px;font-weight:600}.table-scroll{overflow-x:auto}table.att-table{border-collapse:collapse;background:var(--panel);width:100%;box-shadow:0 1px 3px #0000000d}table.att-table th{background:var(--ink);color:#fff;text-align:center;white-space:nowrap;padding:8px 6px;font-size:12px;font-weight:700}table.att-table td{border:1px solid var(--line);text-align:center;vertical-align:middle;padding:4px 6px}table.att-table input,table.att-table select{width:100%;color:var(--ink);text-align:center;background:0 0;border:none;outline:none;padding:4px 2px;font-size:12.5px;font-weight:600}table.att-table input:focus,table.att-table select:focus{background:var(--c-primary-soft);border-radius:4px}table.att-table input[type=number]{width:52px}table.att-table input[type=text].name-col{text-align:left;padding-left:6px;font-weight:800}table.att-table td.readonly-cell{color:var(--sub);background:var(--c-surface-2);font-weight:600}table.att-table td.remain-cell{color:var(--accent);background:var(--c-primary-soft);white-space:nowrap;font-weight:800}table.att-table td.roster-cell,table.att-table td.used-cell,table.att-table td.half-cell{color:var(--ink);background:var(--c-surface-2);white-space:nowrap;font-weight:700}table.att-table td.roster-cell{color:var(--c-annual)}.roster-excluded{color:var(--c-text-subtle);letter-spacing:-.3px;margin-top:1px;font-size:9.5px;font-weight:700;display:block}table.att-table td.half-cell{color:var(--sub);font-size:11.5px;font-weight:600}table.att-table td.remain-cell.remain-last{color:var(--c-annual);background:var(--c-annual-soft)}table.att-table td.remain-cell.remain-empty{color:var(--c-text-subtle);background:var(--c-unknown-soft)}.remain-tag{letter-spacing:-.3px;margin-top:1px;font-size:9.5px;font-weight:800;display:block}td.remain-empty .remain-tag{color:var(--c-text-subtle)}.skew-tag{background:var(--c-off-soft);color:var(--c-off);white-space:nowrap;border:1px solid #e5c79b;border-radius:20px;margin-left:5px;padding:1px 5px;font-size:9.5px;font-weight:800;display:inline-block}.leave-table td:first-child{text-align:left;white-space:nowrap;padding-left:10px;font-weight:800}td.daycell{vertical-align:top;cursor:pointer;height:92px;padding:6px;transition:background .12s}td.daycell:hover{background:var(--c-primary-soft)}td.daycell.outside{background:var(--c-surface-2);cursor:default;color:var(--c-border-strong)}td.daycell.outside:hover{background:var(--c-surface-2)}.daynum{color:var(--sub);margin-bottom:4px;font-size:12px;font-weight:700}.day-row{flex-wrap:wrap;align-items:center;gap:2px;min-height:16px;margin-bottom:3px;display:flex}.day-row .seg-label{color:var(--c-text-subtle);flex:none;width:16px;font-size:8.5px;font-weight:700}.day-row .mini-chip{color:#fff;border-radius:50%;justify-content:center;align-items:center;width:15px;height:15px;font-size:8px;font-weight:700;display:flex}.day-row .mini-chip.lab{margin-left:2px;box-shadow:0 0 0 1.5px #fff,0 0 0 2.5px #d9dcd4}.day-row .mini-chip.abs-off{background:var(--c-off-soft);color:var(--c-off)}.day-row .mini-chip.abs-annual{background:var(--c-annual-soft);color:var(--c-annual)}.day-row .mini-chip.abs-unknown{background:var(--c-unknown-soft);color:var(--c-unknown)}.legend{flex-wrap:wrap;gap:8px;display:flex}.chip-edit{background:var(--panel);border:1px solid var(--line);border-radius:20px;align-items:center;gap:6px;padding:4px 10px 4px 4px;display:flex}.dot{color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:18px;height:18px;font-size:10px;font-weight:700;display:flex}.name-input{color:var(--ink);background:0 0;border:none;outline:none;width:64px;font-size:12.5px;font-weight:600}.actions{align-items:center;gap:8px;display:flex}.mode-badge{color:var(--sub);background:var(--lunch);border:1px solid var(--line);border-radius:20px;margin-right:4px;padding:5px 12px;font-size:12px;font-weight:700}.mode-badge.editing{color:#fff;background:var(--accent);border-color:var(--accent)}.btn{border:1px solid var(--line-strong);background:var(--panel);cursor:pointer;color:var(--ink);border-radius:8px;padding:7px 14px;font-size:13px;font-weight:600}.btn:hover{background:var(--lunch)}.btn.primary{background:var(--ink);color:#fff;border-color:var(--ink)}.btn.primary:hover{opacity:.88}.btn:disabled{opacity:.6;cursor:default}.btn.ghost{color:var(--sub);background:0 0;border:none;padding:4px 6px;font-size:12px}table{border-collapse:collapse;background:var(--panel);table-layout:fixed;width:100%;box-shadow:0 1px 3px #0000000d}th,td{border:1px solid var(--line);vertical-align:top}th{background:var(--ink);color:#fff;text-align:center;padding:9px 4px;font-size:13px;font-weight:700}th.timecol{background:var(--ink);width:64px}th.areacol{background:var(--ink);width:72px}td.sessioncell{background:var(--c-surface-3);color:var(--ink);text-align:center;vertical-align:middle;white-space:nowrap;padding:6px 2px;font-size:13px;font-weight:800}td.areacell{background:var(--c-surface-2);color:var(--sub);text-align:center;vertical-align:middle;white-space:nowrap;padding:6px 2px;font-size:12px;font-weight:700}tr.session-start td{border-top:2px solid var(--line-strong)}td.slot{cursor:pointer;height:56px;padding:5px;transition:background .12s;position:relative}.cell-sum{height:100%;color:var(--sub);letter-spacing:-.2px;justify-content:center;align-items:center;gap:3px;font-size:12.5px;display:flex}.cell-sum b{color:var(--ink);font-size:15px;font-weight:700}.cell-sum.short{color:#9a3b33;height:auto;padding-top:6px}.cell-sum.short b{color:#9a3b33}.warn-mark{font-size:12px}td.slot.planned-zero{background:#fafaf8}.cell-sum.zero{height:auto;color:var(--c-text-subtle);padding-top:6px}.cell-sum.zero b{color:var(--c-text-subtle)}.zero-note{text-align:center;color:#a8adb0;letter-spacing:-.3px;margin-top:2px;font-size:9.5px;font-weight:700}td.slot.understaffed{background:#fdf3f1}td.slot.understaffed:hover{background:#fbeae7}.warn-badge{color:#9a3b33;white-space:nowrap;background:#fbeae7;border:1px solid #e8c3be;border-radius:20px;width:fit-content;max-width:100%;margin:4px auto 0;padding:1.5px 7px;font-size:10px;font-weight:700}td.areacell.lab-areacell{color:#7e8a88;font-size:11.5px}td.slot.lab-slot{background:var(--c-surface-2);text-align:center;height:auto;min-height:44px}td.slot.lab-slot:hover{background:var(--c-surface-2)}.lab-names{color:var(--sub);letter-spacing:-.3px;margin-top:1px;font-size:11px;font-weight:700}td.slot.lab-slot.lab-closed{background:#fff6e9}td.slot.lab-slot.lab-closed:hover{background:#fbeeda}.lab-warn{max-width:100%;color:var(--c-off);letter-spacing:-.3px;text-align:center;background:#fdf3e4;border:1px solid #eacba1;border-radius:6px;margin:4px auto 0;padding:3px 6px;font-size:9.5px;font-weight:700;line-height:1.35}.lab-unconfirmed{text-align:center;color:#a8adb0;letter-spacing:-.3px;margin-top:2px;font-size:9.5px;font-weight:700}.lab-warn-banner{color:#7c3f12;background:#fff8ed;border:1px solid #f0c9a8;border-left:4px solid #d97706;border-radius:8px;margin:0 0 12px;padding:10px 12px;font-size:13px}.lab-warn-banner[hidden]{display:none}.lab-warn-title{letter-spacing:-.3px;font-weight:800}.lab-warn-list{margin:6px 0 0;padding-left:18px;font-size:12.5px;line-height:1.6}.lab-warn-more{margin-top:4px}.lab-warn-more>summary{cursor:pointer;color:var(--c-off);font-size:12px;font-weight:700}.lab-warn-more .lab-warn-list{margin-top:2px}.day-warn{color:#b45309;cursor:pointer;background:0 0;border:0;border-radius:4px;margin-left:4px;padding:0 3px;font-size:11px;line-height:1}.day-warn:hover{background:#fdf3e4}.day-warn-detail{color:var(--c-off);letter-spacing:-.3px;background:#fdf3e4;border:1px solid #eacba1;border-radius:6px;margin-top:4px;padding:4px 6px;font-size:10px;font-weight:700;line-height:1.4}.day-warn-detail[hidden]{display:none}tr.absence-row td.abs-areacell{color:var(--c-text-subtle);letter-spacing:-.3px;font-size:10.5px}td.slot.abs-slot{cursor:pointer;background:var(--c-surface-2);text-align:center;height:auto;min-height:34px;padding:6px 5px}td.slot.abs-slot:hover{background:var(--c-surface-2)}.abs-none{color:var(--c-border-strong);font-size:10.5px}.abs-badge{white-space:nowrap;border:1px solid;border-radius:20px;align-items:center;gap:4px;margin:2px;padding:2px 7px;font-size:11px;font-weight:700;display:inline-flex}.abs-badge .abs-kind{opacity:.8;font-size:9.5px;font-weight:800}.abs-off{background:var(--c-off-soft);color:var(--c-off);border-color:#e5c79b}.abs-annual{background:var(--c-annual-soft);color:var(--c-annual);border-color:#e7b4b9}.abs-unknown{background:var(--c-unknown-soft);color:var(--c-unknown);border-color:#d3d5ce}.abs-other{color:#684c8a;background:#f2eef8;border-color:#ccc0e0}.empty-hint{color:var(--c-border-strong);justify-content:center;align-items:center;height:100%;font-size:11px;display:flex}.legend-off{white-space:nowrap;gap:5px;font-size:11px;font-weight:700;display:inline-flex}.legend-off:empty{display:none}.legend-off .abs-off,.legend-off .abs-annual,.legend-off .abs-unknown{background:0 0;border:none;padding:0}.chip-edit.fixed{background:var(--c-primary-soft);border-color:#bbd4d2}.legend-fixed{color:var(--accent);white-space:nowrap;font-size:11px;font-weight:700}.cell-fixed{color:var(--accent);vertical-align:top;margin-left:1px;font-size:10px;font-weight:700}.pop-tag{color:var(--sub);background:var(--lunch);border:1px solid var(--line);white-space:nowrap;border-radius:20px;padding:1px 5px;font-size:9.5px;font-weight:700}.pop-tag.fixed{color:var(--accent);background:var(--c-primary-soft);border-color:#bbd4d2}.abs-pop{touch-action:auto;min-width:330px;max-width:min(380px,100vw - 24px)}.abs-pop .pop-title,.abs-pop .abs-allday{background:var(--panel);z-index:1;position:sticky;top:0}.abs-pop .abs-allday{top:26px}.abs-pop .pop-title{margin-bottom:6px}.abs-allday{color:var(--sub);cursor:pointer;border-bottom:1px solid var(--line);align-items:center;gap:6px;margin-bottom:4px;padding:4px 8px 8px;font-size:11.5px;font-weight:600;display:flex}.abs-allday input{cursor:pointer;margin:0}.abs-pop-warn{color:#9a3b33;background:#fbeae7;border:1px solid #e8c3be;border-radius:6px;margin:0 4px 6px;padding:5px 8px;font-size:10.5px;font-weight:700;line-height:1.4}.abs-row{border-radius:6px;align-items:center;gap:7px;padding:4px 8px;display:flex}.abs-row .dot{width:16px;height:16px;font-size:9px}.abs-name{white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:12.5px;font-weight:600;overflow:hidden}.abs-row.undecided .abs-name{color:var(--c-text-subtle)}.st-group{border:1px solid var(--line-strong);border-radius:6px;flex:none;display:flex;overflow:hidden}.st-group.leave-group{margin-left:4px}.st-group.leave-group.is-disabled{border-color:var(--line);opacity:.45}.st-btn.is-disabled,.st-btn:disabled{color:var(--c-text-subtle);background:var(--c-surface-2);cursor:not-allowed}.st-btn.is-disabled:hover,.st-btn:disabled:hover{background:var(--c-surface-2)}.abs-amount{color:var(--c-annual);white-space:nowrap;flex:none;font-size:10px;font-weight:700}.abs-amount:empty{display:none}.st-btn{border:none;border-left:1px solid var(--line);background:var(--panel);color:var(--sub);cursor:pointer;padding:4px 7px;font-family:inherit;font-size:10.5px;font-weight:700;transition:background .1s,color .1s}.st-btn:first-child{border-left:none}.st-btn:hover{background:var(--lunch)}.st-btn.on.st-work{background:var(--accent);color:#fff}.st-btn.on.st-off{color:#fff;background:#e9a03f}.st-btn.on.st-annual{color:#fff;background:#c0505a}.st-btn.on.is-disabled{background:var(--c-surface-2);color:var(--c-text-subtle)}.pop-row.locked{cursor:default;background:var(--c-primary-soft)}.pop-row.locked:hover{background:var(--c-primary-soft)}.pop-row.locked .pop-check{background:0 0;border:none;justify-content:center;align-items:center;display:flex}.pop-lock{opacity:.55;font-size:10px}.pop{z-index:50;background:var(--panel);border:1px solid var(--line-strong);overscroll-behavior:contain;-webkit-user-select:none;user-select:none;touch-action:none;border-radius:10px;min-width:150px;max-height:calc(100vh - 16px);padding:8px;display:none;position:fixed;overflow-y:auto;box-shadow:0 8px 24px #00000029}.pop.show{display:block}.pop-hint{color:var(--c-text-subtle);text-align:center;border-top:1px solid var(--line);margin-top:4px;padding:6px 4px 2px;font-size:10.5px}.pop-row{cursor:pointer;border-radius:6px;align-items:center;gap:8px;padding:6px 8px;font-size:13px;font-weight:600;display:flex}.pop-row:hover{background:var(--lunch)}.pop-title{color:var(--sub);border-bottom:1px solid var(--line);margin-bottom:4px;padding:2px 8px 6px;font-size:11px;font-weight:700}.pop-row .dot{width:16px;height:16px;font-size:9px}.pop-check{border:1.5px solid var(--line-strong);border-radius:4px;flex:none;width:14px;height:14px;margin-left:auto}.pop-row.on .pop-check{background:var(--accent);border-color:var(--accent)}.footnote{color:var(--sub);margin-top:14px;font-size:12px}.usage-guide{margin-top:14px}.usage-guide>summary{cursor:pointer;color:var(--sub);border:1px solid var(--line);background:var(--panel);border-radius:8px;align-items:center;gap:6px;padding:6px 10px;font-size:12.5px;font-weight:600;list-style:none;display:inline-flex}.usage-guide>summary::-webkit-details-marker{display:none}.usage-guide>summary:before{content:"▸";font-size:11px}.usage-guide[open]>summary:before{content:"▾"}.usage-guide>summary:hover,.usage-guide>summary:focus-visible{color:var(--ink);border-color:var(--line-strong)}.usage-guide-body{background:var(--panel);border:1px solid var(--line);max-width:880px;color:var(--ink);word-break:keep-all;overflow-wrap:anywhere;border-radius:10px;gap:14px;margin-top:10px;padding:16px 18px;font-size:14px;line-height:1.7;display:grid}.usage-guide-body h4{margin:0 0 4px;font-size:14.5px}.usage-guide-body p{margin:0}.usage-guide-body p+p{margin-top:2px}.wr-form>.usage-guide{grid-column:1/-1;margin-top:-2px}.usage-guide.po-guide{margin:0 0 12px}.page-note{color:var(--sub);margin:14px 0 0;font-size:13.5px;line-height:1.6}.usage-guide-body ul{gap:4px;margin:0;padding-left:20px;display:grid}.usage-guide-body .ug-off{color:var(--c-off);font-weight:700}.usage-guide-body .ug-leave{color:var(--c-annual);font-weight:700}.usage-guide-body .ug-unset{color:var(--c-unknown);font-weight:700}.usage-guide-body .ug-fixed{color:var(--c-primary);font-weight:700}@media (width<=520px){.usage-guide-body{padding:12px 14px;font-size:14.5px}.usage-guide-body ul{padding-left:18px}}.roles-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.roles-head .section-title{margin-bottom:2px}.roles-subtitle{color:var(--sub);margin:0;font-size:13px}.role-selector{flex-wrap:wrap;gap:6px;margin:16px 0 20px;display:flex}.role-tab{white-space:nowrap}.role-heading{border-bottom:2px solid var(--line);margin:0 0 14px;padding-bottom:12px}.role-heading-title{color:var(--ink);margin:0;font-size:22px;font-weight:800}.role-heading-subtitle{color:var(--sub);margin:4px 0 0;font-size:14px;font-weight:600}.role-cards{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));align-items:start;gap:14px;display:grid}.role-card{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:16px 18px}.role-card-title{color:var(--ink);align-items:center;gap:8px;margin:0 0 12px;font-size:15px;font-weight:800;display:flex}.role-card-num{background:var(--accent);color:#fff;border-radius:6px;justify-content:center;align-items:center;min-width:22px;height:22px;padding:0 6px;font-size:12px;font-weight:700;display:inline-flex}.role-task-list{margin:0;padding:0;list-style:none}.role-task{padding:0 0 10px 22px;position:relative}.role-task:last-child{padding-bottom:0}.role-task:before{content:"□";color:var(--line-strong);font-size:14px;line-height:1.5;position:absolute;top:0;left:0}.role-task-title{color:var(--ink);font-size:14px;font-weight:600;line-height:1.5;display:block}.role-task-desc{color:var(--sub);margin-top:2px;font-size:12px;line-height:1.5}@media (width<=520px){.role-cards{grid-template-columns:1fr}}.role-heading-stamp{color:var(--c-text-subtle);margin:6px 0 0;font-size:12px}.role-guide-intro{margin:0 0 14px}.role-guide .wr-body{font-size:14px;line-height:1.6}.role-guide .role-card .wr-list{margin:0 0 10px;padding-left:0;list-style:none}.role-guide .role-card .wr-list:last-child{margin-bottom:0}.role-guide .role-card ul.wr-list>li{color:var(--ink);margin-bottom:8px;padding-left:22px;position:relative}.role-guide .role-card ul.wr-list>li:before{content:"□";color:var(--line-strong);font-size:14px;line-height:1.6;position:absolute;top:0;left:0}.role-guide .role-card ol.wr-list{padding-left:22px;list-style:decimal}.role-guide .role-card .wr-p{margin:0 0 10px}.role-guide .role-card .wr-p:last-child{margin-bottom:0}.role-card-text{overflow-wrap:anywhere;min-width:0}.role-guide .wr-body,.role-guide .role-card-title{overflow-wrap:anywhere}.rg-editor{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:16px 18px}.rg-head{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.rg-title{margin:0}.rg-stamp{color:var(--sub);margin:6px 0 10px;font-size:12.5px}.rg-default-tag{color:#7a5a12;background:#fff5e0;border-radius:999px;margin-left:4px;padding:1px 6px;font-size:10.5px;font-weight:700}.rg-editor .wr-form{grid-template-columns:1fr;gap:12px;display:grid}.rg-editor .wr-rich{min-height:320px}.rg-editor .wr-editor-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:8px;display:flex}#rgStatus.error{color:#9a2d23}@media (width<=640px){.rg-editor{padding:12px}.rg-editor .wr-editor-actions .btn{flex:auto}}.overlay{z-index:100;background:var(--bg);justify-content:center;align-items:center;padding:20px;display:none;position:fixed;inset:0}.login-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;width:100%;max-width:360px;padding:32px 28px;box-shadow:0 8px 28px #00000014}.login-card h1{margin:0 0 6px;font-size:18px}.login-card p{color:var(--sub);margin:0 0 20px;font-size:13px}.login-card input{border:1px solid var(--line-strong);border-radius:8px;outline:none;width:100%;margin-bottom:12px;padding:11px 12px;font-family:inherit;font-size:14px}.login-card input:focus{border-color:var(--accent)}.login-card .btn{width:100%;padding:11px}.login-error{color:var(--c-danger);min-height:18px;margin-top:10px;font-size:12.5px;line-height:1.5}.login-account{color:var(--c-text-subtle);text-align:center;word-break:break-all;margin-top:14px;font-size:11px}.boot-card{color:var(--sub);flex-direction:column;align-items:center;gap:14px;font-size:13px;display:flex}.boot-spinner{border:2.5px solid var(--line-strong);border-top-color:var(--accent);border-radius:50%;width:26px;height:26px;animation:.7s linear infinite boot-spin}@keyframes boot-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.boot-spinner{animation-duration:2.4s}}.user-badge{color:var(--sub);white-space:nowrap;align-self:center;padding:0 10px;font-size:12px;font-weight:700}.user-badge.admin{color:var(--accent)}.user-badge.warn{color:var(--c-danger)}.denied-card{background:var(--panel);border:1px solid var(--line);text-align:center;border-radius:14px;max-width:460px;margin:40px auto;padding:48px 28px}.denied-icon{margin-bottom:14px;font-size:32px;line-height:1}.denied-card h2{margin:0 0 8px;font-size:17px}.denied-card p{color:var(--sub);margin:0 0 22px;font-size:13px;line-height:1.7}.emp-summary{color:var(--c-text-2);margin:10px 0 2px;font-size:12.5px}.emp-status{min-height:18px;color:var(--c-success);white-space:pre-line;margin:0 0 10px;font-size:12.5px;line-height:1.6}.emp-center{text-align:center}.emp-muted{color:var(--c-text-muted);font-size:12px}#employeeTable td{vertical-align:middle}.emp-name{white-space:nowrap;align-items:center;gap:7px;font-weight:600;display:flex}.emp-name .dot{width:20px;height:20px;font-size:10px}.emp-inactive{opacity:.5}.emp-inactive .emp-name{text-decoration:line-through}.emp-account{text-overflow:ellipsis;width:100%;min-width:120px;max-width:210px;padding:3px 5px;font-size:12px}#employeeTable td:nth-child(7),#employeeTable td:nth-child(8){max-width:220px}.emp-linked{color:var(--c-success);font-size:12px;font-weight:600}.emp-saving{color:var(--c-text-muted);margin-left:6px;font-size:11px}#roleAssignSection{border-top:1px solid var(--line);margin-top:34px;padding-top:22px}#roleAssignTable td{vertical-align:middle}.role-assign-title{color:var(--c-text-muted);font-size:12px}.role-primary{min-width:130px;padding:3px 5px;font-size:12px}.role-sec-cell{min-width:220px}.role-sec{white-space:nowrap;align-items:center;gap:4px;margin:2px 10px 2px 0;font-size:12px;display:inline-flex}.role-sec.disabled{opacity:.4}.btn.small{padding:3px 10px;font-size:12px}.role-empty{text-align:center;border:1px dashed var(--line);color:var(--sub);border-radius:10px;padding:28px 20px}.role-empty p{margin:0 0 6px;font-size:13px}.emp-switch{cursor:pointer;background:0 0;border:0;padding:2px;line-height:0}.emp-switch:disabled{cursor:progress}.emp-switch-track{background:#d1d5db;border-radius:999px;width:34px;height:19px;transition:background .15s;display:inline-block;position:relative}.emp-switch.on .emp-switch-track{background:var(--c-primary)}.emp-switch.pending .emp-switch-track{background:#9ca3af}.emp-switch.blocked{cursor:not-allowed}.emp-switch.blocked .emp-switch-track{background:#e5e7eb;border:1px dashed #b8bec9}.emp-switch-thumb{background:#fff;border-radius:50%;width:15px;height:15px;transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #0000004d}.emp-switch.on .emp-switch-thumb{transform:translate(15px)}.sync-box{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin:14px 0 4px;padding:10px 12px}.sync-box p{margin:0 0 3px}.sync-line{color:#1f2937;font-size:13px;font-weight:600}.sync-line.error{color:var(--c-danger)}.tab-badge{background:var(--c-danger);color:#fff;vertical-align:middle;border-radius:999px;justify-content:center;align-items:center;min-width:17px;height:17px;margin-left:6px;padding:0 5px;font-size:10.5px;font-weight:800;line-height:1;display:inline-flex}.tab-badge[hidden]{display:none}.tab.active .tab-badge{box-shadow:0 0 0 1px #fff}.notice-banner{color:#7c3f12;background:#fff8ed;border:1px solid #f0c9a8;border-left:4px solid #d97706;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;margin:0 0 14px;padding:10px 12px;font-size:13px;display:flex}.notice-banner[hidden]{display:none}.notice-audience{border-top:1px solid var(--line);margin-top:14px;padding-top:12px}.notice-targets{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px;margin-top:10px;display:grid}.wr-files{border-top:1px solid var(--line);margin-top:18px;padding-top:14px}.wr-file{border:1px solid var(--line);color:var(--accent);border-radius:6px;margin:6px 8px 0 0;padding:7px 10px;font-size:12px;font-weight:700;text-decoration:none;display:inline-flex}.wr-summary{color:var(--sub);margin:2px 0 12px;font-size:12.5px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.wr-toolbar-back{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;font-size:12px;display:flex}.wr-toolbar{background:var(--panel);border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:10px;margin-bottom:14px;padding:12px 14px;display:flex}.wr-chips{flex-wrap:wrap;gap:6px;display:flex}.wr-chip{border:1px solid var(--line-strong);background:var(--panel);font:inherit;color:var(--sub);cursor:pointer;white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:5px 11px;font-size:12px;font-weight:700;display:inline-flex}.wr-chip:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.wr-chip:disabled{opacity:.4;cursor:default}.wr-chip-n{opacity:.75;font-size:10.5px;font-weight:800}.wr-tools{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px 16px;padding-top:10px;display:flex}.wr-search{flex:220px;min-width:0}.wr-search input{border:1px solid var(--line-strong);width:100%;color:var(--ink);background:var(--panel);border-radius:8px;outline:none;padding:7px 10px;font-family:inherit;font-size:13px}.wr-search input:focus{border-color:var(--accent)}.wr-toggle{color:var(--ink);white-space:nowrap;cursor:pointer;align-items:center;gap:6px;font-size:12.5px;display:inline-flex}.wr-rows{background:var(--panel);border:1px solid var(--line);border-radius:10px;overflow:hidden}.wr-rowhead,.wr-row{grid-template-columns:152px 104px minmax(0,1fr) 100px 100px;align-items:center;gap:12px;display:grid}.wr-rowhead{background:var(--lunch);border-bottom:1px solid var(--line);color:var(--sub);padding:9px 16px;font-size:11.5px;font-weight:700}.wr-row{border:0;border-top:1px solid var(--line);text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer;background:0 0;padding:12px 16px}.wr-row:first-of-type{border-top:0}.wr-row.muted{opacity:.62}.wr-row.unread .wr-row-title{color:var(--ink)}.wr-cell{min-width:0}.wr-cell-state{flex-wrap:wrap;gap:4px;display:flex}.wr-cell-date{color:var(--c-text-subtle);font-size:11.5px}.wr-cell-label{display:none}.wr-row-title{color:var(--ink);overflow-wrap:anywhere;font-size:14px;font-weight:700;line-height:1.45;display:block}.wr-row-summary{-webkit-line-clamp:2;color:var(--sub);-webkit-box-orient:vertical;margin-top:3px;font-size:12.5px;line-height:1.55;display:-webkit-box;overflow:hidden}.wr-cat{background:var(--lunch);border:1px solid var(--line);color:var(--sub);white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-block}.wr-pill{white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-block}.wr-pill.important,.wr-pill.required{background:var(--accent);color:#fff}.wr-pill.done{color:var(--c-success);background:#e7f3ec;border:1px solid #c3e2ce}.wr-pill.todo{background:var(--panel);color:var(--c-text-subtle);border:1px solid var(--line)}.wr-pill.status{background:var(--c-surface-3);color:var(--sub);border:1px solid var(--line)}.wr-pill.linked{color:#1f4e79;background:#eaf1f8;border:1px solid #c9daea}.wr-cat.linked{color:#1f4e79;background:#eaf1f8;border-color:#c9daea}.wr-linked-note{color:#1f4e79;background:#eaf1f8;border-left:3px solid #1f4e79;border-radius:0 8px 8px 0;margin:0 0 12px;padding:10px 12px;font-size:13px;line-height:1.6}.notice-rows .wr-rowhead,.notice-rows .wr-row{grid-template-columns:64px 88px minmax(0,1fr) 92px 92px}.wr-pill.new{background:var(--c-danger);color:#fff}.notice-tag{vertical-align:1px;white-space:nowrap;border-radius:4px;padding:0 6px;font-size:10.5px;font-weight:700;line-height:17px;display:inline-block}.notice-tag.required{color:var(--accent);border:1px solid var(--accent);margin-right:6px}.notice-tag.status{color:var(--sub);background:var(--c-surface-3);border:1px solid var(--line);margin-left:6px}.wr-new{background:var(--c-danger);color:#fff;letter-spacing:.03em;white-space:nowrap;border-radius:999px;padding:2px 7px;font-size:10.5px;font-weight:800;display:inline-block}.wr-detail-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.wr-back{margin:0}.wr-admin-bar{flex-wrap:wrap;gap:6px;display:flex}.wr-effective{color:var(--ink);margin:12px 0 0;font-size:13px}.wr-effective b{font-weight:800}.wr-recheck{border-left:3px solid var(--c-danger);color:var(--c-danger);background:#fdf2f2;border-radius:0 8px 8px 0;margin:14px 0 0;padding:10px 12px;font-size:13px;font-weight:700;line-height:1.6}.wr-detail{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:24px 26px}.wr-detail.important{border-color:var(--accent);border-top:4px solid var(--accent)}.wr-detail-top{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:10px;display:flex}.wr-detail-title{color:var(--ink);letter-spacing:-.01em;margin:0;font-size:21px;font-weight:800;line-height:1.4}.wr-detail-summary{color:var(--sub);margin:8px 0 0;font-size:14px;line-height:1.65}.wr-detail-summary strong{color:var(--ink);font-weight:800}.wr-detail-meta{border-bottom:1px solid var(--line);color:var(--c-text-subtle);margin:12px 0 0;padding-bottom:16px;font-size:12px}.wr-body{color:var(--ink);margin-top:18px;font-size:15px;line-height:1.85}.wr-body .wr-h{color:var(--ink);border-left:3px solid var(--accent);margin:22px 0 8px;padding-left:10px;font-size:15px;font-weight:800;line-height:1.5}.wr-body .wr-h:first-child{margin-top:0}.wr-body .wr-p{margin:0 0 14px}.wr-body .wr-p:last-child{margin-bottom:0}.wr-body .wr-list{margin:0 0 14px;padding-left:24px}.wr-body .wr-list li{margin-bottom:9px;padding-left:2px}.wr-body .wr-list li:last-child{margin-bottom:0}.wr-body strong{font-weight:800}.wr-red{color:#c62828}.wr-table-wrap{border:1px solid var(--line);background:var(--panel);border-radius:8px;margin:10px 0 16px;overflow-x:auto}.wr-body-table{border-collapse:collapse;width:100%;min-width:620px;font-size:13px;line-height:1.55}.wr-body-table th,.wr-body-table td{border-bottom:1px solid var(--line);border-right:1px solid var(--line);text-align:center;vertical-align:middle;white-space:nowrap;padding:9px 10px}.wr-body-table th:last-child,.wr-body-table td:last-child{border-right:0}.wr-body-table tr:last-child td{border-bottom:0}.wr-body-table th{background:var(--lunch);color:var(--sub);font-weight:800}.wr-body-table td:first-child{color:var(--ink);font-weight:700}.wr-notice{background:var(--lunch);border-left:3px solid var(--line-strong);color:var(--sub);border-radius:0 8px 8px 0;margin:24px 0 0;padding:12px 14px;font-size:12.5px;line-height:1.7}.wr-ack{flex-wrap:wrap;align-items:center;gap:10px;margin-top:18px;font-size:12.5px;display:flex}.wr-ack-done{color:var(--c-success);opacity:1;cursor:default;background:#e7f3ec;border-color:#c3e2ce;font-weight:800}.wr-ack-note{margin:18px 0 0;font-size:12.5px;line-height:1.6}.wr-nav{align-items:stretch;gap:10px;margin-top:16px;display:flex}.wr-nav-btn{text-align:left;flex-direction:column;flex:1 1 0;align-items:flex-start;gap:3px;min-width:0;padding:10px 12px;display:flex}.wr-nav-btn.next{text-align:right;align-items:flex-end}.wr-nav-dir{color:var(--sub);font-size:11px;font-weight:700}.wr-nav-title{text-overflow:ellipsis;white-space:nowrap;max-width:100%;color:var(--ink);font-size:12.5px;font-weight:700;overflow:hidden}.wr-nav-none{border:1px dashed var(--line);color:var(--c-text-subtle);border-radius:8px;flex:1 1 0;justify-content:center;align-items:center;padding:10px 12px;font-size:11.5px;display:flex}.wr-nav-none:last-child{justify-content:center}.wr-status-sub{margin:-4px 0 14px;font-size:12px}.wr-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:16px;display:grid}.wr-stat{background:var(--panel);border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:3px;padding:12px 14px;display:flex}.wr-stat-n{color:var(--ink);font-size:20px;font-weight:800;line-height:1.2}.wr-stat-l{color:var(--sub);font-size:11.5px}.wr-stat.ok .wr-stat-n{color:var(--c-success)}.wr-stat.warn .wr-stat-n{color:var(--c-danger)}.wr-admin-panel{border-top:1px solid var(--line);margin-top:30px;padding-top:6px}.wr-read-table td{font-size:12px}.wr-read-table td.wr-left{text-align:left;white-space:nowrap;padding-left:10px}.wr-ok{color:var(--c-success);font-weight:700}.wr-stale{color:var(--c-danger);font-weight:700}.wr-none{color:var(--c-text-subtle)}.wr-editor{background:var(--panel);border:1px solid var(--line-strong);border-radius:12px;margin-bottom:18px;padding:18px 20px 20px}.wr-editor .section-title{margin-top:0}.wr-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px;display:grid}.wr-field{flex-direction:column;gap:5px;display:flex}.wr-field.wr-wide{grid-column:1/-1}.wr-field>span{color:var(--sub);font-size:12px;font-weight:700}.wr-format-tools{flex-wrap:wrap;gap:6px;margin:2px 0 4px;display:flex}.wr-format-tools .btn{touch-action:manipulation;min-width:52px;min-height:36px;padding-inline:12px}.wr-format-tools .btn[aria-pressed=true]{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);background:#e3f0ee}@media (width<=640px){.wr-format-tools .btn{min-width:64px;min-height:44px;padding-inline:14px}}.wr-rich{border:1px solid var(--line-strong);min-height:260px;color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere;cursor:text;background:#fff;border-radius:8px;outline:none;padding:10px 12px;font-size:15px;line-height:1.85;position:relative}.wr-rich:focus{border-color:var(--accent)}.wr-rich.is-empty:before{content:attr(data-placeholder);white-space:pre-line;color:#b6bbbe;pointer-events:none;position:absolute;inset:10px 12px auto}.wr-rich b,.wr-rich strong{font-weight:800}.wr-rich u,.wr-rich u font,.wr-rich u .wr-red,.wr-rich u [style*=color],.wr-body u,.wr-detail-summary u{text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:.08em}.wr-field>span em{color:var(--c-text-subtle);font-style:normal;font-weight:600}.wr-field input,.wr-field select,.wr-field textarea{border:1px solid var(--line-strong);width:100%;color:var(--ink);background:var(--panel);border-radius:8px;outline:none;padding:8px 10px;font-family:inherit;font-size:13.5px}.wr-field textarea{resize:vertical;min-height:220px;line-height:1.8}.wr-field input:focus,.wr-field select:focus,.wr-field textarea:focus{border-color:var(--accent)}.wr-help{color:var(--c-text-subtle);margin:10px 0 0;font-size:11.5px;line-height:1.7}.wr-form>.wr-form-help{grid-column:1/-1;margin-top:-6px}.wr-save-hint{background:var(--lunch);color:var(--sub);border-radius:8px;margin-top:12px;padding:10px 12px;font-size:12px}.wr-check{color:var(--ink);align-items:center;gap:7px;margin-top:10px;font-size:12.5px;display:flex}.wr-editor-actions{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.wr-editor-state{color:var(--sub);margin:-4px 0 12px;font-size:12px}.wr-save-options{flex-direction:column;gap:6px;margin-top:16px;display:flex}.wr-save-option{border:1px solid var(--line);color:var(--sub);border-radius:8px;align-items:baseline;gap:10px;padding:9px 12px;font-size:12px;line-height:1.6;display:flex}.wr-save-option b{min-width:9em;color:var(--ink);flex:none}.wr-save-option.primary{border-color:var(--accent)}.wr-legacy-summary-text{border:1px dashed var(--line);color:var(--sub);border-radius:8px;margin:0;padding:9px 12px;font-size:13px}.wr-legacy-summary .wr-check{margin-top:4px}@media (width<=820px){.wr-rows{background:0 0;border:0;border-radius:0;flex-direction:column;gap:10px;display:flex;overflow:visible}.wr-rowhead{display:none}.wr-row{border:1px solid var(--line);background:var(--panel);border-radius:10px;padding:13px 14px;display:block}.wr-row:first-of-type{border-top:1px solid var(--line)}.wr-row.required{border-color:var(--accent)}.wr-cell-cat{margin-top:8px;display:inline-block}.wr-cell-title{margin-top:6px;display:block}.wr-cell-date{gap:5px;margin-top:8px;margin-right:14px;display:inline-flex}.wr-cell-label{color:#b6bbbe;font-style:normal;display:inline}.wr-row-title{font-size:14.5px}.notice-rows .wr-cell-state{vertical-align:middle;margin:0 6px 0 0;display:inline-flex}.notice-rows .wr-cell-state:empty{display:none}.notice-rows .wr-cell-cat{vertical-align:middle;margin-top:0}.wr-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.wr-form,.notice-targets{grid-template-columns:1fr}.notice-banner{flex-direction:column;align-items:flex-start}.wr-detail{padding:18px 16px}.wr-detail-title{font-size:18px}.wr-body,.wr-rich{font-size:14.5px}.wr-editor-actions{flex-direction:column-reverse;align-items:stretch}.wr-editor-actions .btn{width:100%}.wr-save-option{flex-direction:column;gap:2px}.wr-detail-head{flex-direction:column;align-items:stretch}.wr-admin-bar .btn{flex:auto}.wr-chips{scrollbar-width:thin;flex-wrap:nowrap;padding-bottom:4px;overflow-x:auto}.wr-nav{flex-direction:column}.wr-nav-btn.next{text-align:left;align-items:flex-start}}@media print{.toolbar,.weeknav button,.pop,.footnote,.usage-guide,.page-note,.tabs,.monthnav button,.yearnav button,#employeesSection,#ladderSection{display:none!important}body{background:#fff;padding:0}header{border-bottom:2px solid #000}table{box-shadow:none}.btn,.overlay,.archive-select,.roles-head,.role-selector,#roleAssignSection,#wrEditor,#wrStatus,#wrToolbar,#wrReadStatus,.wr-back,.wr-admin-bar,.wr-admin-panel,.wr-nav,.wr-ack{display:none!important}.wr-detail,.wr-row{break-inside:avoid;border:1px solid #999}.wr-rows{border:0}.wr-new,.wr-pill.important,.wr-pill.required{-webkit-print-color-adjust:exact;print-color-adjust:exact;color:#fff!important;background:#000!important}.role-cards{grid-template-columns:1fr 1fr}.role-card{break-inside:avoid;border:1px solid #999}.role-card-num{-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#000!important}.abs-badge,td.slot.understaffed,.warn-badge,.day-row .mini-chip,.lab-warn-banner,.lab-warn,td.slot.lab-slot.lab-closed,.day-warn-detail{-webkit-print-color-adjust:exact;print-color-adjust:exact}.lab-warn-more>summary{display:none}.lab-warn-more>:not(summary),.day-warn-detail[hidden]{display:block!important}td.slot{height:auto}}@media (width<=720px){th,td.sessioncell,td.areacell{font-size:10.5px}.name-input{width:44px}.cell-sum{font-size:11px}.cell-sum b{font-size:13px}.abs-badge{gap:3px;padding:2px 5px;font-size:10px}.warn-badge{padding:1px 5px;font-size:9px}.lab-warn,.lab-unconfirmed{font-size:9px}.lab-warn-banner{font-size:12px}.lab-warn-list{padding-left:16px;font-size:11.5px}}.ladder-panel{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:14px}.ladder-pick-head{flex-wrap:wrap;align-items:center;gap:8px 12px;margin-bottom:12px;display:flex}.ladder-pick-actions{gap:6px;display:flex}.ladder-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:6px;margin:0;padding:0;list-style:none;display:grid}.ladder-emp{border:1px solid var(--line);cursor:pointer;border-radius:8px;align-items:center;gap:8px;padding:8px 10px;font-size:13px;display:flex}.ladder-emp:hover{border-color:var(--line-strong)}.ladder-emp.on{border-color:var(--accent);background:var(--c-surface-2)}.ladder-emp:focus-within{outline:2px solid var(--accent);outline-offset:2px}.ladder-emp input{accent-color:var(--accent);cursor:pointer;flex:none;width:16px;height:16px}.ladder-emp:has(input:disabled){opacity:.55;cursor:default}.ladder-emp-name{white-space:nowrap;font-weight:600}.ladder-emp-meta{color:var(--sub);white-space:nowrap;font-size:11px}.ladder-empty{text-align:center;color:var(--sub);grid-column:1/-1;padding:18px 10px;font-size:12.5px}.ladder-selected{color:var(--ink);min-height:18px;margin:12px 0 0;font-size:12.5px;font-weight:600}.ladder-controls{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;margin-top:12px;padding-top:12px;display:flex}.ladder-count{align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.ladder-count input{border:1px solid var(--line-strong);width:72px;color:var(--ink);background:var(--panel);border-radius:8px;padding:6px 8px;font-family:inherit;font-size:13px}.ladder-count input:focus{border-color:var(--accent);outline:none}.ladder-count .emp-muted{font-weight:500}.ladder-stage-card,.ladder-result-card{background:var(--panel);border:1px solid var(--line);border-radius:10px;margin-top:14px;padding:14px}.ladder-stage-title,.ladder-result-title{margin:0 0 10px;font-size:14px;font-weight:800}.ladder-stage-title:focus-visible,.ladder-result-title:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.ladder-canvas{padding-bottom:4px;overflow-x:auto}.ladder-canvas svg{margin:0 auto;display:block}.ld-pole,.ld-rung{stroke:var(--line-strong);stroke-width:2px}.ld-head{fill:var(--ink);font-size:12px;font-weight:700}.ld-foot{fill:var(--sub);font-size:11.5px;font-weight:700}.ld-foot.win{fill:var(--accent)}.ld-trace{fill:none;stroke-width:3.5px;stroke-linecap:round;stroke-linejoin:round;opacity:.9}.ld-trace.win{stroke-width:4.5px;opacity:1}.ld-trace.lose{opacity:.28}.ladder-winners{flex-wrap:wrap;gap:8px;margin:0 0 12px;padding:0;list-style:none;display:flex}.ladder-winner{border:1px solid var(--accent);background:var(--c-surface-2);border-radius:999px;align-items:center;gap:7px;padding:7px 12px;font-size:13px;display:flex}.ladder-winner-name{font-weight:700}@media (width<=520px){.ladder-grid{grid-template-columns:1fr}.ladder-controls{flex-direction:column;align-items:flex-start}}@media (prefers-reduced-motion:reduce){.ld-trace{transition:none!important}}.po-tabs{border-bottom:1px solid var(--line);gap:4px;margin:0 0 14px;display:flex;overflow-x:auto}.po-tab{font:inherit;color:var(--sub);white-space:nowrap;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:9px 14px;font-size:14px;font-weight:700}.po-tab:hover{color:var(--ink)}.po-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.po-rule-rows .wr-rowhead,.po-rule-rows .wr-row{grid-template-columns:28px 96px minmax(0,1fr) 90px 90px}.po-chart{color:var(--sub);font-variant-numeric:tabular-nums;font-size:12px}.po-sev{border:1px solid var(--line);background:var(--lunch);color:var(--sub);border-radius:999px;flex:none;padding:2px 9px;font-size:11.5px;font-weight:800;display:inline-block}.po-sev-caution{color:#8a5a12;background:#fff6e9;border-color:#ebd3a8}.po-sev-high{color:#9a3b33;background:#fbeae7;border-color:#e8c3be}.po-state{color:var(--sub);border:1px dashed var(--line-strong);border-radius:999px;padding:1px 8px;font-size:11.5px;font-weight:700}.po-caution-list{flex-direction:column;gap:8px;display:flex}.po-caution{text-align:left;cursor:pointer;width:100%;font:inherit;color:var(--ink);background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--line-strong);border-radius:10px;flex-direction:column;gap:4px;padding:11px 14px;display:flex}.po-caution:hover{border-color:var(--accent);border-left-color:var(--accent)}.po-caution-caution{border-left-color:#e0b46a}.po-caution-high{border-left-color:#c9766c}.po-caution.is-off{opacity:.62}.po-caution-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.po-caution-patient{font-size:15px}.po-caution-types{color:var(--accent);font-size:12.5px;font-weight:700}.po-caution-summary{overflow-wrap:anywhere;font-size:14px;line-height:1.55}.po-caution-instr{color:var(--sub);overflow-wrap:anywhere;font-size:13px;line-height:1.5}.po-caution-meta{color:var(--c-text-subtle);font-variant-numeric:tabular-nums;font-size:11.5px}.po-caution-filters{flex-wrap:wrap;gap:8px}.po-type-filter select{border:1px solid var(--line-strong);font:inherit;background:var(--panel);border-radius:8px;padding:6px 8px;font-size:13px}.po-type-chips{flex-wrap:wrap;gap:6px;margin:4px 0 2px;display:flex}.po-type-chip{color:var(--accent);background:var(--c-primary-soft);border-radius:999px;padding:3px 10px;font-size:12.5px;font-weight:700}.po-type-chip.off{color:var(--sub);background:var(--lunch)}.po-search-big{gap:8px;margin-bottom:10px;display:flex}.po-search-big label{flex:1;min-width:0}.po-search-big input{border:1px solid var(--line-strong);background:var(--panel);width:100%;font:inherit;border-radius:10px;padding:11px 14px;font-size:15px}.po-search-big input:focus{outline:2px solid var(--accent);outline-offset:1px}.po-text{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14.5px;line-height:1.7}.po-tags{flex-wrap:wrap;gap:6px;margin-top:14px;display:flex}.po-tag{color:var(--accent);background:var(--c-primary-soft);border-radius:999px;padding:2px 9px;font-size:12px}.po-patient{border-bottom:1px dashed var(--line);flex-wrap:wrap;align-items:baseline;gap:10px;margin-bottom:10px;padding-bottom:10px;display:flex}.po-patient-name{font-size:20px;font-weight:800}.po-box{border-radius:10px;margin-top:16px;padding:14px 16px}.po-box-title{margin:0 0 8px;font-size:13px;font-weight:800}.po-summary-box{background:var(--lunch);border:1px solid var(--line)}.po-summary-box .po-box-title{color:var(--sub)}.po-instruction-box{background:var(--c-primary-soft);border:2px solid var(--accent)}.po-instruction-box .po-box-title{color:var(--accent);font-size:14px}.po-instruction-box .po-text{color:var(--ink);font-size:15px;font-weight:600}.po-caution-detail.is-off .po-instruction-box{border-width:1px}.wr-field.po-summary-field textarea{min-height:84px}.wr-field.po-instruction-field textarea{border-color:var(--accent);min-height:130px}.po-fieldset{border:0;min-width:0;margin:0;padding:0}.po-fieldset>legend{color:var(--sub);margin-bottom:6px;padding:0;font-size:12px;font-weight:700}.po-fieldset>legend em{color:var(--c-text-subtle);font-style:normal;font-weight:600}.po-type-options,.po-sev-options{flex-wrap:wrap;gap:6px 14px;display:flex}.po-type-option,.po-sev-option{cursor:pointer;align-items:center;gap:5px;font-size:13.5px;display:inline-flex}.po-fieldset input[type=checkbox],.po-fieldset input[type=radio]{width:auto;margin:0}.po-type-option.off{color:var(--sub)}.po-type-option em{color:var(--c-text-subtle);font-size:11.5px;font-style:normal}.po-type-list{flex-direction:column;gap:6px;margin:0 0 18px;padding:0;list-style:none;display:flex}.po-type-item{border:1px solid var(--line);background:var(--panel);border-radius:10px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 12px;display:grid}.po-type-item.off{background:var(--lunch)}.po-type-order{flex-direction:column;gap:3px;display:flex}.po-type-order .btn{padding:1px 7px;line-height:1.2}.po-type-main{overflow-wrap:anywhere;flex-direction:column;gap:2px;min-width:0;display:flex}.po-type-main .po-state{align-self:flex-start}.po-type-edit{grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:8px;display:grid}.po-type-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.po-type-add{border-top:1px solid var(--line);padding-top:12px}.po-related{margin-top:14px;font-size:13.5px}.po-link{font:inherit;color:var(--accent);text-align:left;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.po-linked{border-top:1px solid var(--line);margin-top:22px;padding-top:14px}.po-linked-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.po-danger{color:var(--c-danger);border-color:#e4b8b4}.po-loading{padding:18px 0}.po-note-text{color:var(--sub);margin:0 0 12px;font-size:13px;line-height:1.6}.po-access-table th,.po-access-table td{text-align:center}.po-access-table th.wr-left,.po-access-table td.wr-left{text-align:left;min-width:140px}.po-access-table tr.po-granted td{background:#f6f9fe}.po-hint{color:var(--sub);font-size:11.5px}@media (width<=640px){.po-search-big{flex-direction:column}.po-search-big .btn{width:100%}.po-patient-name{font-size:18px}.po-box{padding:12px 13px}.po-caution{padding:10px 12px}.po-type-item{grid-template-columns:auto minmax(0,1fr)}.po-type-actions{grid-column:1/-1;justify-content:flex-start}.po-type-edit{grid-template-columns:1fr}.weeknav{flex-wrap:wrap;gap:8px;max-width:100%}.weeknav.weeknav-off{display:none}.weekrange{flex:auto;min-width:0}.archive-select{flex:100%;max-width:100%}.topnav{align-items:stretch}.tabs{width:100%}.tabs .tab{white-space:nowrap;flex:auto;min-height:40px;padding:9px 12px}.account-bar{justify-content:flex-end;width:100%}.account-bar .user-badge{white-space:normal;min-width:0;margin-right:auto;padding-left:0}.subtab{min-height:36px}.account-menu{min-width:200px}}.modal-backdrop{z-index:200;background:#14181673;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0;overflow-y:auto}.modal-backdrop[hidden]{display:none}.modal-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;flex-direction:column;gap:10px;width:100%;max-width:440px;padding:22px 20px;display:flex;box-shadow:0 12px 32px #0000002e}.modal-card h2{margin:0 0 4px;font-size:17px}.modal-card label{color:var(--sub);flex-direction:column;gap:4px;font-size:13px;display:flex}.modal-card input[type=email],.modal-card input[type=password],.modal-card input[type=text]{border:1px solid var(--line-strong);width:100%;color:var(--ink);background:var(--panel);border-radius:8px;min-width:0;padding:10px 12px;font-family:inherit;font-size:16px}.modal-card input[readonly]{background:var(--lunch);color:var(--sub)}.modal-card .emp-check{color:var(--ink);flex-direction:row;align-items:center;gap:8px}.pw-field{align-items:stretch;gap:6px;display:flex}.pw-field input{flex:1}.pw-field .btn{flex:none;min-width:52px}.modal-hint{color:var(--sub);margin:0;font-size:12px;line-height:1.5}.modal-warn{color:var(--c-annual);background:#fbefef;border-radius:8px;margin:0;padding:8px 10px;font-size:12.5px;line-height:1.55}.modal-status{min-height:18px;color:var(--c-primary);margin:0;font-size:13px;line-height:1.5}.modal-status.error{color:var(--c-danger)}.modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.modal-actions .btn{min-height:40px}.modal-target{grid-template-columns:auto 1fr;gap:4px 12px;margin:0;font-size:14px;display:grid}.modal-target dt{color:var(--sub)}.modal-target dd{word-break:break-all;margin:0;font-weight:700}@media (width<=520px){.modal-actions .btn{flex:1}}.login-recovery{border-top:1px solid var(--line);text-align:center;margin-top:16px;padding-top:12px}.login-recovery-text{color:var(--sub);line-height:1.5;margin:0 0 6px!important;font-size:11.5px!important}.login-card .login-recovery .btn{width:auto;padding:4px 8px;font-size:12px}.install-btn{color:var(--accent);border-color:var(--accent);background:var(--panel)}.install-btn:hover{background:#eaf3f3}.install-btn[hidden],.install-card [hidden]{display:none!important}.login-install{margin-top:12px}.login-card .login-install .btn{padding:9px}.install-head{align-items:center;gap:12px;display:flex}.app-icon{background:var(--app-icon) center/cover no-repeat;border-radius:10px;flex:none;width:44px;height:44px;display:inline-block}.login-app-icon{border-radius:12px;width:52px;height:52px;margin-bottom:12px;display:block}.install-head h2{margin:0}.install-intro{margin:0;font-size:14px;line-height:1.55}.install-steps{flex-direction:column;gap:6px;margin:0;padding-left:22px;font-size:14px;line-height:1.6;display:flex}.install-external{text-align:center;min-height:40px;line-height:24px;text-decoration:none;display:block}.install-copy{gap:6px;display:flex}.install-copy input{border:1px solid var(--line-strong);min-width:0;color:var(--ink);background:var(--lunch);border-radius:8px;flex:1;padding:9px 10px;font-family:inherit;font-size:16px}.install-copy .btn{flex:none}.modal-status.warn{color:var(--c-off)}.emp-pwreset{white-space:nowrap;margin-left:6px}.fee-muted{color:var(--sub);font-size:12.5px}.fee-empty{text-align:center;color:var(--sub);background:var(--panel);border:1px dashed var(--line-strong);border-radius:8px;padding:22px}.fee-version-row{flex-wrap:wrap;align-items:center;gap:10px;margin:8px 0 10px;display:flex}.fee-label{color:var(--sub);font-size:13px}.fee-select{border:1px solid var(--line-strong);background:var(--panel);font:inherit;border-radius:6px;max-width:100%;padding:6px 8px}.fee-meta{background:var(--panel);border:1px solid var(--line);border-radius:8px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px 18px;margin:10px 0 14px;padding:12px 14px;display:grid}.fee-meta div{min-width:0}.fee-meta dt{color:var(--sub);font-size:11.5px}.fee-meta dd{overflow-wrap:anywhere;white-space:pre-line;margin:2px 0 0;font-size:14px}.fee-meta .fee-meta-wide{grid-column:1/-1}.fee-pill{border:1px solid var(--line-strong);background:var(--lunch);vertical-align:middle;border-radius:999px;padding:1px 8px;font-size:12px;display:inline-block}.fee-pill.current{background:var(--c-primary-soft-2);border-color:var(--c-primary-soft-2);color:var(--c-primary-text)}.fee-pill.scheduled{color:#7a5a12;background:#fff5e0;border-color:#e2c17d}.fee-pill.draft{color:#9a2d23;background:#fbe9e7;border-color:#e4b8b4}.fee-draft-banner{color:#7d241c;background:#fbe9e7;border:2px solid #c9483b;border-radius:8px;margin:8px 0;padding:10px 14px}.fee-sched-banner{color:#6b4e0f;background:#fff8e8;border:1px solid #e2c17d;border-radius:8px;margin:8px 0;padding:9px 14px;font-size:13.5px}.fee-toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0 8px;display:flex}.fee-search{border:1px solid var(--line-strong);min-width:0;font:inherit;background:var(--panel);border-radius:6px;flex:260px;padding:8px 10px}.fee-chips{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.fee-chip{border:1px solid var(--line-strong);background:var(--panel);font:inherit;cursor:pointer;color:var(--ink);border-radius:999px;padding:4px 11px;font-size:13px}.fee-chip span{color:var(--sub);margin-left:2px;font-size:11.5px}.fee-chip.on{background:var(--accent);border-color:var(--accent);color:#fff}.fee-chip.on span{color:#ddedee}.fee-count{color:var(--sub);margin:4px 0 6px;font-size:12.5px}.fee-table{border-collapse:collapse;background:var(--panel);width:100%;font-size:14px}.fee-table th,.fee-table td{border:1px solid var(--line);text-align:left;vertical-align:top;padding:7px 9px}.fee-table thead th{background:var(--lunch);color:var(--sub);text-align:left;font-size:12.5px;font-weight:600}.fee-table .fee-cat{color:var(--ink);white-space:normal;background:#f6f8f7;width:13%;font-weight:700}.fee-table .fee-price{white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums;font-weight:600}.fee-table .fee-price.separate,.fee-table .fee-price.undetermined{color:#7a5a12;font-weight:500}.fee-table .fee-note,.fee-table .fee-spec{color:#3e474b;white-space:pre-line;overflow-wrap:anywhere;font-size:13px}.fee-print-panel{border:1px solid var(--line-strong);background:var(--panel);border-radius:8px;margin:4px 0 12px;padding:12px 14px}.fee-print-head{flex-direction:column;gap:2px;margin-bottom:8px;display:flex}.fee-print-opts{flex-wrap:wrap;gap:16px;margin-bottom:6px;display:flex}.fee-print-cats{flex-wrap:wrap;gap:4px 14px;margin:6px 0 10px;font-size:13.5px;display:flex}.fee-editor-actions{flex-wrap:wrap;align-items:center}.fee-save-state{border:1px solid var(--line);border-radius:999px;padding:3px 9px;font-size:12.5px}.fee-save-state.saved{color:var(--c-primary-text);background:var(--c-primary-soft-2);border-color:var(--c-primary-soft-2)}.fee-save-state.dirty{color:#7a5a12;background:#fff5e0;border-color:#e2c17d}.fee-save-state.saving{color:var(--sub)}.fee-save-state.error{color:#9a2d23;background:#fbe9e7;border-color:#e4b8b4}.btn.danger{color:var(--c-danger);border-color:#e4b8b4}.fee-panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;margin:10px 0;padding:12px 14px}.fee-meta-form{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px 16px;display:grid}.fee-meta-form label{color:var(--ink);flex-direction:column;gap:4px;min-width:0;font-size:13px;display:flex}.fee-meta-form .fee-wide{grid-column:1/-1}.fee-meta-form input,.fee-meta-form textarea{font:inherit;border:1px solid var(--line-strong);background:#fff;border-radius:6px;min-width:0;padding:6px 8px}.fee-review-note{background:#fff8e8!important;border-color:#e2c17d!important}.fee-req{color:#9a2d23;font-size:11.5px}.fee-cat-order summary{cursor:pointer;font-weight:600}.fee-cat-order ol{flex-direction:column;gap:4px;margin:10px 0 0;padding-left:22px;display:flex}.fee-cat-order li input{font:inherit;border:1px solid var(--line-strong);border-radius:5px;width:min(280px,55vw);padding:3px 6px}.fee-unit-note{background:#eef5f5;border-radius:6px;margin:12px 0 6px;padding:8px 12px;font-size:13px}body.fee-editing .wrap{max-width:1400px}.fee-scroll-hint{margin:2px 0 6px}.fee-edit-scroll{border:1px solid var(--line);background:var(--panel);overscroll-behavior:contain;border-radius:8px;min-height:320px;max-height:calc(100vh - 150px);overflow:auto}.fee-edit-scroll:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.fee-edit-table{border-collapse:separate;border-spacing:0;table-layout:fixed;width:1324px;min-width:1324px;box-shadow:none;background:var(--panel);font-size:13px}.fee-edit-table col.c-idx{width:46px}.fee-edit-table col.c-cat{width:150px}.fee-edit-table col.c-name{width:214px}.fee-edit-table col.c-spec{width:170px}.fee-edit-table col.c-type{width:116px}.fee-edit-table col.c-amt{width:236px}.fee-edit-table col.c-note{width:252px}.fee-edit-table col.c-ops{width:140px}.fee-edit-table th{background:var(--lunch);color:var(--sub);text-align:left;z-index:2;border:0;border-bottom:1px solid var(--line-strong);padding:7px 6px;font-size:12px;font-weight:600;position:sticky;top:0}.fee-edit-table td{border:0;border-top:1px solid var(--line);vertical-align:top;padding:5px}.fee-edit-table tr.fee-cat-start td{border-top:2px solid var(--line-strong)}.fee-edit-table input[type=text],.fee-edit-table select,.fee-edit-table textarea{font:inherit;border:1px solid var(--line-strong);box-sizing:border-box;background:#fff;border-radius:5px;width:100%;min-width:0;padding:4px 6px;font-size:13px}.fee-edit-table textarea[data-f=note]{resize:vertical;white-space:pre-wrap;overflow-wrap:anywhere;min-height:30px;line-height:1.4;display:block;overflow:hidden}.fee-edit-table .fee-idx{color:var(--sub);text-align:right;font-variant-numeric:tabular-nums;padding-top:10px;padding-right:8px}.fee-edit-table .fee-edit-cat .btn{margin-top:3px}.fee-amt{white-space:nowrap;align-items:center;gap:5px;display:flex}.fee-amt input{text-align:right;flex:0 0 78px;width:78px!important}.fee-amt .fee-tilde,.fee-amt .fee-unit{color:var(--sub);flex:none}.fee-preview{color:var(--sub);white-space:normal;margin-top:3px;font-size:11.5px;display:block}.fee-fixed{color:#7a5a12;padding:5px 2px;display:inline-block}.fee-ops-grid{grid-template-columns:repeat(6,1fr);gap:4px;display:grid}.fee-ops-grid .btn{white-space:nowrap;grid-column:span 2;min-width:0;padding:3px 0}.fee-ops-grid .btn.fee-op-wide{grid-column:span 3}.fee-row-bad td{background:#fdf1ef}.fee-row-errors td{color:#9a2d23;background:#fdf1ef;padding-top:0;font-size:12px;border-top:0!important}.fee-edit-foot{align-items:center;margin:10px 0}.fee-h3{margin:16px 0 6px;font-size:15px}.fee-errors{color:#9a2d23;margin:6px 0 10px;padding-left:20px}.fee-bad{color:#9a2d23;font-weight:600}.fee-diff-summary{margin:10px 0;font-size:14px}.fee-diff-table td.fee-before{color:#7d241c;background:#fdf1ef;-webkit-text-decoration:line-through #c9483b66;text-decoration:line-through #c9483b66}.fee-diff-table td.fee-after{color:var(--c-primary-text);background:#eef7f4;font-weight:600}.fee-print-area{display:none}@media (width<=640px){.fee-table thead{display:none}.fee-table,.fee-table tbody,.fee-table tr,.fee-table td,.fee-table th{width:100%;display:block}.fee-table tr{border-bottom:1px solid var(--line)}.fee-table th.fee-cat{border:0;border-top:2px solid var(--ink);background:var(--lunch);width:100%}.fee-table td{border:0;padding:2px 10px}.fee-table td.fee-name{padding-top:8px;font-weight:600}.fee-table td.fee-price{text-align:left}.fee-table td:empty{display:none}.fee-table td.fee-note{padding-bottom:8px}.fee-diff-table{display:table!important}}@media print{body.fee-printing>:not(#feePrint){display:none!important}body.fee-printing #feePrint{position:relative;display:block!important}#feePrint .fee-print-title h1{margin:0 0 4px;font-size:18pt}#feePrint .fee-print-title p{margin:2px 0;font-size:9.5pt}#feePrint .fee-print-draft{color:#000;border:2px solid #000;padding:4px 8px;font-weight:700;display:inline-block}#feePrint .fee-table{margin-top:8px;font-size:9.5pt;table-layout:fixed!important;width:100%!important;display:table!important}#feePrint .fee-table th:first-child{width:15%}#feePrint .fee-table th:nth-child(2){width:23%}#feePrint .fee-table th:nth-child(3){width:19%}#feePrint .fee-table th:nth-child(4){width:15%}#feePrint .fee-table th:nth-child(5){width:28%}#feePrint .fee-table td,#feePrint .fee-table th{overflow-wrap:anywhere;white-space:pre-line}#feePrint .fee-table td.fee-price{white-space:normal!important}.fee-edit-scroll{max-height:none!important;overflow:visible!important}#feePrint .fee-table thead{display:table-header-group!important}#feePrint .fee-table tr{break-inside:avoid;display:table-row!important}#feePrint .fee-table thead th{color:#000!important}#feePrint .fee-table th,#feePrint .fee-table td{width:auto;padding:3px 6px;border:1px solid #777!important;display:table-cell!important}#feePrint .fee-table .fee-cat{-webkit-print-color-adjust:exact;print-color-adjust:exact;color:#000!important;background:#eee!important}#feePrint .fee-watermark{text-align:center;color:#00000014;pointer-events:none;z-index:0;font-size:120pt;font-weight:800;position:fixed;top:40%;left:0;right:0;transform:rotate(-24deg)}@page{margin:12mm}}.dev-env-banner{z-index:10000;text-align:center;letter-spacing:.01em;padding:6px 12px;font-size:13px;font-weight:700;position:fixed;top:0;left:0;right:0;box-shadow:0 1px 4px #00000026}.dev-env-banner.local{color:#fff;background:#1f6f43}.dev-env-banner.production{background:var(--c-danger);color:#fff}.dev-env-banner.unknown{color:#fff;background:#7a5a12}body.has-dev-env-banner{padding-top:62px}body.has-dev-env-banner .overlay{padding-top:34px}@media print{.dev-env-banner{display:none!important}body.has-dev-env-banner{padding-top:0}}html:has(body.has-dev-env-banner){scroll-padding-top:56px}.lg-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:10px;margin:4px 0 14px;display:flex}.lg-datenav{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.lg-date input{border:1px solid var(--line-strong);border-radius:8px;padding:6px 8px;font-size:15px}.lg-weekday{color:var(--ink);min-width:3.5em;font-weight:700}.lg-viewnav{gap:6px;display:flex}.lg-stats-range .wr-field{margin:0}.lg-head{flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0 0 10px;display:flex}.lg-title{margin:0;font-size:17px}.lg-status{border-radius:999px;padding:3px 10px;font-size:12px;font-weight:800}.lg-status.open{color:#1d4f8c;background:#e8f1fb}.lg-status.closed{color:#333;background:#ededed}.lg-save{font-size:12.5px;font-weight:700}.lg-save.saved{color:#2e7d32}.lg-save.dirty{color:#9a6700}.lg-save.saving{color:#1d4f8c}.lg-save.error{color:var(--c-danger)}.lg-head-actions{gap:6px;margin-left:auto;display:flex}.lg-meta{color:var(--sub);flex-basis:100%;margin:0;font-size:12.5px}.lg-closed-note{background:var(--c-surface-2);border-radius:8px;flex-basis:100%;margin:0;padding:8px 10px;font-size:13px}.lg-sums{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin:0 0 12px;display:grid}.lg-sum{border:1px solid var(--line-strong);background:var(--panel);border-radius:10px;flex-direction:column;gap:2px;padding:8px 12px;display:flex}.lg-sum span{color:var(--sub);font-size:12px}.lg-sum b{font-variant-numeric:tabular-nums;font-size:16px}.lg-sum.grand{border-color:var(--ink)}.lg-sum.grand b{font-size:18px}.lg-table-wrap{border:1px solid var(--line-strong);background:var(--panel);border-radius:10px;overflow-x:auto}.lg-table{border-collapse:collapse;width:100%;min-width:1080px;font-size:13px}.lg-table th,.lg-table td{border:1px solid var(--line);vertical-align:middle;padding:2px}.lg-table thead th{background:var(--c-surface-2);color:var(--ink);white-space:nowrap;padding:6px 4px;font-size:12px}.lg-total-row th{color:var(--ink)}.lg-mini th{background:var(--c-surface-2);color:var(--ink);font-weight:700}.lg-stats-table tfoot th,.lg-stats-table tfoot td{background:var(--c-surface-2);color:var(--ink);font-weight:800}.lg-table thead .lg-group{font-size:13px}.lg-table input,.lg-table select{box-sizing:border-box;background:0 0;border:1px solid #0000;border-radius:4px;width:100%;min-width:0;padding:6px;font-family:inherit;font-size:14px}.lg-table input:focus,.lg-table select:focus{border-color:var(--ink);background:#fff;outline:none}.lg-table input[aria-invalid]{border-color:var(--c-danger);background:#fdecea}.lg-table input:disabled,.lg-table select:disabled{color:var(--ink);opacity:1}.lg-c-amount input{text-align:right;font-variant-numeric:tabular-nums}.lg-c-no{text-align:center;width:42px;color:var(--sub);font-variant-numeric:tabular-nums}.lg-c-name{width:96px}.lg-c-treat{min-width:150px}.lg-c-amount,.lg-c-issuer{width:104px}.lg-c-memo{width:96px}.lg-c-issuer .lg-other{border-color:var(--line);margin-top:2px}.lg-c-state{min-width:120px;font-size:12px}.lg-c-state .btn{margin:2px 2px 0 0}.lg-row.lg-blank td{background:var(--c-surface-2)}.lg-row.lg-dirty td{background:#fff8e1}.lg-row.lg-error td,.lg-row.lg-conflict td,.lg-row.lg-gone td{background:#fdecea}.lg-row-state{margin-right:4px;font-weight:700}.lg-row-state.dirty{color:#9a6700}.lg-row-state.saving{color:#1d4f8c}.lg-row-state.error,.lg-row-state.conflict,.lg-row-state.gone{color:var(--c-danger)}.lg-row-msg{color:#7a1f1a;white-space:normal;margin:2px 0;display:block}.lg-total-row th,.lg-total-row td{background:var(--c-surface-2);padding:8px 6px;font-weight:800}.lg-num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.lg-grand{font-weight:800}.lg-row-actions{flex-wrap:wrap;align-items:center;gap:8px;margin:10px 0 18px;display:flex}.lg-hint{color:var(--sub);font-size:12.5px;line-height:1.5}.lg-cash{border:1px solid var(--line-strong);background:var(--panel);border-radius:10px;margin:0 0 14px;padding:14px}.lg-h{margin:0 0 10px;font-size:15px}.lg-h5{margin:12px 0 6px;font-size:13.5px}.lg-h5 em{color:var(--sub);font-size:12px;font-style:normal;font-weight:400}.lg-cash-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;display:grid}.lg-cash .wr-field input{font-size:15px}.lg-cash input[inputmode=numeric]{text-align:right;font-variant-numeric:tabular-nums}.lg-mini{border-collapse:collapse;width:100%;font-size:13px}.lg-mini th,.lg-mini td{border-bottom:1px solid var(--line);text-align:left;padding:3px 4px}.lg-mini input{box-sizing:border-box;border:1px solid var(--line);border-radius:4px;width:100%;padding:6px;font-size:14px}.lg-counts input{max-width:90px}.lg-calc-list{flex-direction:column;gap:4px;margin:0;font-size:13.5px;display:flex}.lg-calc-list>div{border-bottom:1px dashed var(--line);justify-content:space-between;gap:8px;padding:3px 0;display:flex}.lg-calc-list dt{color:var(--sub)}.lg-calc-list dd{font-variant-numeric:tabular-nums;margin:0;font-weight:700}.lg-calc-strong dt{color:var(--ink);font-weight:700}.lg-diff{border-radius:8px;margin-top:4px;border-bottom:0!important;padding:8px 6px!important}.lg-diff.ok{background:#e8f5e9}.lg-diff.over{background:#fff8e1}.lg-diff.short{background:#fdecea}.lg-diff dd{font-size:16px}.lg-cash-actions,.lg-close-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;margin-top:12px;display:flex}.lg-close-actions{justify-content:flex-start;margin:0 0 14px}.lg-audit{margin:0 0 20px}.lg-audit summary{cursor:pointer;font-weight:700}.lg-audit-list{margin:8px 0 0;padding-left:18px;font-size:12.5px;line-height:1.6}.lg-audit-time{color:var(--sub);font-variant-numeric:tabular-nums}.lg-empty{padding:28px 16px}.lg-stats-table td,.lg-stats-table th{white-space:nowrap}.ledger-print-area{display:none}@media (width<=760px){.lg-table-wrap{background:0 0;border:0;overflow:visible}.lg-table{min-width:0;display:block}.lg-table thead{display:none}.lg-table tbody,.lg-table tfoot{display:block}.lg-table tr{border:1px solid var(--line-strong);background:var(--panel);border-radius:10px;grid-template-columns:1fr 1fr;gap:4px 8px;margin:0 0 10px;padding:10px;display:grid}.lg-table td,.lg-table th{border:0;flex-direction:column;gap:2px;width:auto;min-width:0;padding:0;display:flex}.lg-table td:before{content:attr(data-label);color:var(--sub);font-size:11.5px;font-weight:700}.lg-table td.lg-c-no{color:var(--ink);flex-direction:row;grid-column:1/-1;align-items:center;gap:6px;font-weight:800}.lg-table td.lg-c-no:before{content:"번호"}.lg-table .lg-c-name,.lg-table .lg-c-treat,.lg-table .lg-c-state{grid-column:1/-1}.lg-table input,.lg-table select{border:1px solid var(--line);background:#fff;padding:8px;font-size:16px}.lg-table input:disabled,.lg-table select:disabled{background:#f7f7f4}.lg-row.lg-blank td{background:0 0}.lg-total-row{grid-template-columns:1fr 1fr!important}.lg-total-row th{grid-column:1/-1}.lg-total-row td:empty{display:none}.lg-total-row td:before{content:attr(data-label)}.lg-head-actions{margin-left:0}.lg-counts input{max-width:none}}@page ledgerA4{size:A4 portrait;margin:10mm}@media print{body.ledger-printing>:not(#ledgerPrint){display:none!important}body.ledger-printing #ledgerPrint{page:ledgerA4;color:#000;font-size:9pt;display:block!important}#ledgerPrint .lp-head h1{text-align:center;margin:0 0 2px;font-size:15pt}#ledgerPrint .lp-head p{text-align:center;margin:1px 0}#ledgerPrint .lp-warn{border:1.5px solid #000;margin:2px auto;padding:2px 6px;font-weight:700;display:inline-block}#ledgerPrint .lp-table{border-collapse:collapse;table-layout:fixed;width:100%;margin-top:6px}#ledgerPrint .lp-table thead{display:table-header-group}#ledgerPrint .lp-table tfoot{display:table-row-group}#ledgerPrint .lp-table tr{break-inside:avoid}#ledgerPrint th,#ledgerPrint td{overflow-wrap:anywhere;border:1px solid #555;padding:2px 3px}#ledgerPrint thead th,#ledgerPrint tfoot th{-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#eee}#ledgerPrint .n{text-align:right;font-variant-numeric:tabular-nums}#ledgerPrint .c{text-align:center}#ledgerPrint .lp-bottom{break-inside:avoid;grid-template-columns:1fr 1.2fr .8fr;gap:6mm;margin-top:5mm;display:grid}#ledgerPrint .lp-mini{border-collapse:collapse;width:100%}#ledgerPrint .lp-mini th{text-align:left;font-weight:400}#ledgerPrint .lp-mini .strong th,#ledgerPrint .lp-mini .strong td{font-weight:800}#ledgerPrint .lp-foot{color:#333;margin-top:4mm;font-size:7.5pt}}.role-tab-rotation{border-style:dashed}.dr-root{flex-direction:column;gap:18px;display:flex}.dr-root .emp-status:empty{display:none}.dr-sub{margin:0 0 10px;font-size:15px}.dr-current{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:16px}.dr-current-head{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;display:flex}.dr-current-title{text-align:center;flex:220px;order:0;margin:0;font-size:16px}.dr-current-head [data-dr=prev]{order:-1}.dr-month{color:var(--accent);font-weight:800}.dr-tiles{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.dr-tile{border:1px solid var(--line-strong);background:var(--c-surface-2);border-radius:10px;min-width:0;padding:12px}.dr-tile-task{color:var(--sub);margin-bottom:4px;font-size:12.5px;display:block}.dr-tile-name{overflow-wrap:anywhere;font-size:20px;display:block}.dr-tile.unassigned{background:#fff;border-style:dashed}.dr-none{color:#9a2d23;font-weight:700}.dr-tile .dr-none{font-size:16px}.dr-tile.dup{background:#fffbf0;border-color:#e2c17d}.dr-tile-note{color:var(--sub);overflow-wrap:anywhere;margin:6px 0 0;font-size:12.5px}.dr-tag{border:1px solid var(--line);vertical-align:middle;white-space:nowrap;border-radius:999px;padding:1px 7px;font-size:11px;font-weight:700;display:inline-block}.dr-tile .dr-tag{margin-top:6px;margin-right:4px}.dr-tag.now{color:#fff;background:var(--accent);border-color:var(--accent)}.dr-tag.manual{color:#1f4e8c;background:#e8f0fb;border-color:#a9c2e6}.dr-tag.dup{color:#7a5a12;background:#fff5e0;border-color:#e2c17d}.dr-tag.kept{color:var(--sub);background:var(--c-surface-3)}.dr-tag.new{color:var(--c-primary-text);background:var(--c-primary-soft-2);border-color:var(--c-primary-soft-2)}.dr-dup-note{color:#7a5a12;background:#fff5e0;border-radius:8px;margin:10px 0 0;padding:8px 10px;font-size:13px}.dr-stamp{color:var(--sub);margin:10px 0 0;font-size:12.5px}.dr-actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.dr-edit{border-top:1px dashed var(--line-strong);margin-top:14px;padding-top:14px}.dr-edit-grid{flex-direction:column;gap:10px;display:flex}.dr-edit-row{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:10px;display:grid}.dr-edit-field{flex-direction:column;gap:4px;min-width:0;font-size:13px;display:flex}.dr-edit-field em{color:var(--sub);font-size:12px;font-style:normal}.dr-edit-field select,.dr-edit-field input{font:inherit;border:1px solid var(--line-strong);background:#fff;border-radius:8px;width:100%;min-width:0;padding:7px 8px}.dr-gen-when,.dr-gen-first{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.dr-table-wrap{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:16px}.dr-table-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.dr-table-head .dr-sub{margin:0}.dr-year{align-items:center;gap:6px;display:flex}.dr-year select{font:inherit;border:1px solid var(--line-strong);background:#fff;border-radius:8px;padding:5px 8px}.dr-table-scroll{overflow-x:auto}.dr-table{border-collapse:collapse;width:100%;box-shadow:none;font-size:14px}.dr-table th,.dr-table td{border:0;border-bottom:1px solid var(--line);font-size:inherit;text-align:left;vertical-align:top;padding:8px 10px}.dr-table thead th{color:var(--sub);background:var(--c-surface-2);font-size:12.5px;font-weight:700}.dr-table th{color:var(--ink);text-transform:none;letter-spacing:0;background:0 0;position:static}.dr-table tbody th{white-space:nowrap;font-weight:700}.dr-table tr.now{background:#eef6f6}.dr-table tr.focus{outline:2px solid var(--accent);outline-offset:-2px}.dr-table tr.unsaved td,.dr-table tr.kept td,.dr-table tr.unsaved .dr-none{color:var(--sub);font-weight:400}.dr-table .dr-name{font-weight:600}.dr-cell-note{color:var(--sub);overflow-wrap:anywhere;font-size:12px;display:block}.dr-unsaved{color:var(--sub);font-size:11px;font-weight:400}.dr-month-link{font:inherit;color:var(--ink);cursor:pointer;text-underline-offset:3px;background:0 0;border:0;padding:0;font-weight:700;text-decoration:underline}.dr-row-act{text-align:right;white-space:nowrap}.dr-gen{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:0}.dr-gen>summary{cursor:pointer;padding:14px 16px;font-weight:700}.dr-gen>summary .emp-muted{font-size:12.5px;font-weight:400}.dr-gen-body{flex-direction:column;gap:16px;padding:0 16px 16px;display:flex}.dr-parts{flex-direction:column;gap:6px;margin:0 0 10px;padding:0;list-style:none;display:flex}.dr-part{border:1px solid var(--line);background:var(--c-surface-2);border-radius:8px;align-items:center;gap:6px;padding:6px 8px;display:flex}.dr-part-num{background:var(--accent);color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:24px;height:24px;font-size:12px;font-weight:700;display:inline-flex}.dr-part-name{overflow-wrap:anywhere;flex:1;min-width:0}.dr-add-list{flex-wrap:wrap;gap:6px;display:flex}.dr-preview{border-top:1px dashed var(--line-strong);padding-top:14px}.dr-preview-sum{margin:0 0 8px;font-size:13px}.dr-guides .dr-guide-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.dr-guide{flex-direction:column;gap:8px;min-width:0;display:flex}.dr-guide .role-card-title{margin:0}.dr-guide-body{overflow-wrap:anywhere;font-size:14px;line-height:1.6}.dr-guide .dr-stamp:empty{display:none}.dr-guide>.btn{align-self:flex-start}.dr-guide:has(.wr-rich){grid-column:1/-1}@media (width<=760px){.dr-tiles,.dr-guides .dr-guide-list,.dr-gen-when,.dr-gen-first,.dr-edit-row{grid-template-columns:1fr}.dr-tile{flex-wrap:wrap;align-items:baseline;gap:4px 10px;display:flex}.dr-tile-task{flex:0 0 100%;margin:0}.dr-tile .dr-tag{margin-top:0}.dr-current-title{flex:1 0 100%;order:-2}.dr-current-head [data-dr=prev],.dr-current-head [data-dr=next]{flex:1}.dr-table thead{display:none}.dr-table,.dr-table tbody,.dr-table tr,.dr-table th,.dr-table td{width:100%;display:block}.dr-table tr{border:1px solid var(--line);border-radius:10px;margin-bottom:8px;padding:6px 10px}.dr-table tbody th{border-bottom:1px solid var(--line);padding:6px 0}.dr-table td{border-bottom:0;grid-template-columns:7.5em minmax(0,1fr);gap:2px 8px;padding:5px 0;display:grid}.dr-table td:before{content:attr(data-label);color:var(--sub);grid-row:span 2;font-size:12.5px}.dr-table td.dr-row-act{text-align:left;display:block}.dr-table td.dr-row-act:before{content:none}.dr-table-scroll{overflow-x:visible}}@media print{.dr-gen,.dr-actions,.dr-edit,.dr-row-act,.dr-year .btn,.dr-nav,.dr-root>.emp-status,.dr-guide>.btn,[data-dr=today]{display:none!important}.dr-current,.dr-table-wrap{border:1px solid #999}.dr-table tr.focus{outline:none}.dr-tag.now{-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#000!important}}.pt-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px 16px;margin-bottom:12px;display:flex}.pt-title{min-width:0}.pt-date{margin:0 0 4px;font-size:18px;font-weight:800}.pt-meta{color:var(--sub);margin:0;font-size:12.5px}.pt-count{margin:4px 0 0;font-size:14px}.pt-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.pt-fake{color:#9a3b33;background:#fbeae7;border:1px dashed #c9766c;border-radius:8px;margin:8px 0 0;padding:7px 10px;font-size:13px;font-weight:700}.pt-warn{color:#8a5a12;margin:8px 0;font-size:13px;font-weight:700}.pt-replace{color:var(--sub);margin:8px 0;font-size:13px}.pt-cards{flex-direction:column;gap:10px;display:flex}.pt-card{background:var(--panel);border:1px solid var(--line);border-left:5px solid var(--line-strong);border-radius:12px;padding:12px 16px}.pt-card.po-caution-caution{border-left-color:#e0b46a}.pt-card.po-caution-high{border-left-color:#c9766c}.pt-card-head{flex-wrap:wrap;align-items:baseline;gap:8px 10px;display:flex}.pt-time{font-variant-numeric:tabular-nums;font-size:18px;font-weight:800}.pt-name{font-size:17px}.pt-caution{border-top:1px dashed var(--line);margin-top:10px;padding-top:10px}.pt-caution-top{flex-wrap:wrap;align-items:center;gap:6px 8px;display:flex}.pt-types{margin:0}.pt-detail{margin-left:auto;font-size:12.5px}.pt-summary{overflow-wrap:anywhere;margin:8px 0 0;font-size:14.5px;line-height:1.6}.pt-instr{border:2px solid var(--accent);background:var(--c-primary-soft);border-radius:10px;margin-top:8px;padding:9px 12px}.pt-instr-title{color:var(--accent);margin:0 0 4px;font-size:12.5px;font-weight:800}.pt-instr ul{margin:0;padding-left:18px}.pt-instr li{overflow-wrap:anywhere;font-size:15px;font-weight:600;line-height:1.6}.pt-progress{border:1px solid var(--line);background:var(--lunch);border-radius:10px;margin-bottom:12px;padding:12px 14px;font-weight:700}.pt-import{border:2px solid var(--accent);background:var(--panel);border-radius:12px;margin-bottom:16px;padding:14px 16px}.pt-import-error{color:#9a3b33;background:#fbeae7;border-color:#e4b8b4}.pt-import-error p{margin:0 0 8px;font-weight:700}.pt-import-title{margin:0 0 4px;font-size:16px}.att-table.pt-preview td,.att-table.pt-preview th{text-align:left}.pt-num{font-variant-numeric:tabular-nums;white-space:nowrap}.pt-row-review td{background:#fff6e9}.pt-row-acked td{background:#f6f9fe}.pt-row-state{min-width:180px}.pt-ack{color:#8a5a12;cursor:pointer;align-items:flex-start;gap:6px;font-size:13px;font-weight:700;display:inline-flex}.pt-ack input{width:auto;margin:2px 0 0}.pt-excluded{color:var(--sub);margin:10px 0;font-size:13px}.pt-excluded summary{cursor:pointer;color:#9a3b33;font-weight:700}.pt-excluded ul{margin:6px 0 0;padding-left:18px}.pt-import-actions{justify-content:flex-end;margin-top:12px}.pt-settings{border:1px dashed var(--line-strong);background:var(--lunch);border-radius:10px;margin-bottom:14px;padding:12px 14px}.pt-settings code{font-size:12px}.pt-settings-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px 12px;display:grid}.pt-settings-note{margin:8px 0 0;font-size:13px;font-weight:700}@media (width<=640px){.pt-head{flex-direction:column}.pt-actions{width:100%}.pt-actions .btn.primary{flex:100%}.pt-card{padding:11px 12px}.pt-settings-grid{grid-template-columns:1fr}.pt-detail{margin-left:0}}.ap-scroll{max-width:100%}.att-table.ap-table{width:100%}.att-table.ap-table td,.att-table.ap-table th{text-align:left;vertical-align:top}.att-table.ap-table .ap-time{white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:800}.ap-name b{overflow-wrap:anywhere;font-size:15px}.ap-type,.ap-doctor{word-break:keep-all}.ap-sub{display:none}.ap-row-hold td{background:#faf8fd}.ap-row-caution td:first-child{box-shadow:inset 4px 0 #c9766c}.ap-badge{vertical-align:middle;white-space:nowrap;border:1px solid;border-radius:999px;margin-left:6px;padding:1px 8px;font-size:11.5px;font-weight:800;display:inline-block}.ap-col-opt .ap-badge,.pt-num .ap-badge{margin-left:0}.ap-badge-new{color:#2f5d8c;background:#eef4fb;border-color:#bcd0e8}.ap-badge-hold{color:#5b4a8a;background:#f3f0fa;border-color:#cfc4e6}.ap-badge.po-sev{padding:1px 8px}@media (width<=760px){.att-table.ap-table .ap-col-opt{display:none}.ap-sub{color:var(--sub);word-break:keep-all;margin-top:2px;font-size:12px;font-weight:600;display:block}.att-table.ap-table td,.att-table.ap-table th{padding:8px 6px}}@media (width<=420px){.att-table.ap-table{font-size:13px}.ap-name b{font-size:14px}}.ap-row-sev-high td:first-child{box-shadow:inset 5px 0 #c9766c}.ap-row-sev-caution td:first-child{box-shadow:inset 4px 0 #e0b46a}.ap-row-sev-normal td:first-child{box-shadow:inset 3px 0 0 var(--line-strong)}.ap-row-sev-high td{background:#fdf6f5}.ap-open{all:unset;cursor:pointer;border-radius:4px;display:inline}.ap-open:hover b{text-decoration:underline}.ap-open:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ap-content{-webkit-line-clamp:2;line-clamp:2;color:var(--sub);white-space:pre-line;overflow-wrap:anywhere;-webkit-box-orient:vertical;margin-top:3px;font-size:12.5px;line-height:1.45;display:-webkit-box;overflow:hidden}.pt-preview .ap-content{max-width:28em}.sb-note{margin:4px 0 8px}.sb-scroll{--sb-axis:56px;--sb-lane-min:168px;--sb-slot:72px;overscroll-behavior:contain;border:1px solid var(--line);background:var(--panel);border-radius:10px;max-width:100%;max-height:min(75vh,1100px);overflow:auto}.sb-scroll:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sb-grid{width:100%;min-width:max-content;display:grid}.sb-corner,.sb-lane-head{z-index:3;background:var(--panel);border-bottom:1px solid var(--line-strong);padding:7px 8px;font-size:12.5px;position:sticky;top:0}.sb-corner{z-index:4;color:var(--sub);border-right:1px solid var(--line);font-weight:700;left:0}.sb-lane-head{border-left:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:6px;display:flex}.sb-lane-head b{word-break:keep-all;overflow-wrap:anywhere;font-size:13.5px}.sb-lane-head span{color:var(--sub);white-space:nowrap;font-size:11.5px}.sb-axis{z-index:2;background:var(--panel);border-right:1px solid var(--line);position:sticky;left:0}.sb-tick{color:var(--sub);font-variant-numeric:tabular-nums;font-size:11px;position:absolute;right:6px;transform:translateY(-50%)}.sb-tick:first-child{transform:none}.sb-tick-hour{color:var(--ink);font-weight:800}.sb-lane{border-left:1px solid var(--line);background-image:repeating-linear-gradient(to bottom, var(--line) 0 1px, transparent 1px var(--sb-slot));position:relative}.sb-card{all:unset;box-sizing:border-box;cursor:pointer;min-height:22px;color:var(--ink);box-shadow:0 0 0 1px var(--panel);background:#f4f8fc;border:1px solid #bcd0e8;border-left:4px solid #8fb0d3;border-radius:6px;flex-direction:column;gap:2px;padding:3px 6px 3px 7px;font-size:12px;line-height:1.3;display:flex;position:absolute;overflow:hidden}.sb-card:hover{background:#eaf2fa}.sb-card:focus-visible{outline:2px solid var(--accent);outline-offset:1px;z-index:1}.sb-card-hold{background:#f6f4fb;border-color:#cfc4e6 #cfc4e6 #cfc4e6 #a898cf}.sb-card.sb-card-caution{background:#fffbf4;border-color:#ebd3a8}.sb-card.po-caution-caution{border-left:5px solid #e0b46a}.sb-card.po-caution-high{background:#fdf3f1;border-color:#e8c3be #e8c3be #e8c3be #c9766c;border-left-style:solid;border-left-width:6px}.sb-card.po-caution-normal{border-left:4px solid var(--line-strong)}.sb-card-top{align-items:baseline;gap:5px;min-width:0;display:flex}.sb-time{font-variant-numeric:tabular-nums;flex:none;font-weight:800}.sb-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;overflow:hidden}.sb-chart{color:var(--sub);flex:none;font-size:11px}.sb-badges{flex-wrap:wrap;gap:3px;display:flex}.sb-badges .ap-badge{margin-left:0;padding:0 6px;font-size:10.5px}.sb-content{-webkit-line-clamp:2;line-clamp:2;color:#3d4549;white-space:pre-line;overflow-wrap:anywhere;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.sb-meta{color:var(--sub);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}@media (width<=760px){.sb-scroll{--sb-axis:46px;--sb-lane-min:148px;max-height:70vh}}#apDetail[hidden]{display:none}.ap-dialog-backdrop{z-index:60;background:#22282b6b;position:fixed;inset:0}.ap-dialog{z-index:61;background:var(--panel);border-radius:12px;width:min(560px,100vw - 24px);max-height:calc(100vh - 32px);padding:16px 18px 18px;position:fixed;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%);box-shadow:0 12px 40px #00000040}.ap-dialog-head{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:10px;display:flex}.ap-dialog-head h3{overflow-wrap:anywhere;margin:0;font-size:17px}.ap-detail-caution{background:#fffbf4;border:1px solid #ebd3a8;border-left:5px solid #e0b46a;border-radius:8px;margin-bottom:12px;padding:8px 12px 10px}.ap-detail-caution .ap-badge{margin-left:0}.ap-detail-caution-head{margin:0}.ap-detail-fields{grid-template-columns:max-content 1fr;gap:6px 14px;margin:0 0 12px;font-size:14px;display:grid}.ap-detail-fields dt{color:var(--sub);font-weight:700}.ap-detail-fields dd{overflow-wrap:anywhere;margin:0}.ap-detail-fields .ap-badge{margin-left:0}.ap-detail-label{color:var(--sub);margin:0 0 4px;font-size:13px;font-weight:800}.ap-detail-text{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:14px;line-height:1.55}html{background:var(--c-bg)}body{color:var(--c-text);letter-spacing:-.005em}h1,h2,h3,h4{color:var(--c-text);letter-spacing:-.015em}a{color:var(--c-primary)}::selection{background:var(--c-primary-soft-2)}:where(button,a,input,select,textarea,summary,[tabindex]):focus-visible{box-shadow:var(--focus-ring);border-radius:var(--r-sm);outline:none}.table-scroll:focus-visible{box-shadow:var(--focus-ring)}.ico{vertical-align:middle;flex:none;display:inline-block}.app-shell{min-height:100vh}@media (width>=1025px){.app-shell{background:linear-gradient(90deg, var(--c-surface) 0 var(--sidebar-w), var(--c-border) var(--sidebar-w) calc(var(--sidebar-w) + 1px), transparent calc(var(--sidebar-w) + 1px))}}body.view-today #noticeRequiredBanner{display:none}.sidebar{z-index:60;width:var(--sidebar-w);background:var(--c-surface);border-right:1px solid var(--c-border);padding:var(--s-5) var(--s-3) var(--s-4);flex-direction:column;display:flex;position:fixed;inset:0 auto 0 0;overflow-y:auto}body.has-dev-env-banner .sidebar{top:31px}.brand{padding:0 var(--s-2) var(--s-5);align-items:center;gap:10px;display:flex}.brand-icon{width:36px;height:36px;box-shadow:var(--sh-1);border-radius:10px;flex:none}.brand-text{flex-direction:column;min-width:0;line-height:1.2;display:flex}.brand-text b{color:var(--c-text);letter-spacing:-.02em;font-size:17px;font-weight:800}.brand-text small{font-size:var(--fs-xs);color:var(--c-text-muted);font-weight:600}.icon-btn.sidebar-close{margin-left:auto;display:none}.side-nav{flex-flow:column;gap:2px;width:auto;display:flex}.side-nav .tab,.side-foot .tab{border-radius:var(--r-md);width:100%;min-height:42px;color:var(--c-text-2);font:inherit;font-size:var(--fs-md);text-align:left;cursor:pointer;transition:background var(--t-fast), color var(--t-fast);background:0 0;border:0;align-items:center;gap:10px;padding:9px 12px;font-weight:600;display:flex}.side-nav .tab .ico,.side-foot .tab .ico{color:var(--c-text-subtle);transition:color var(--t-fast)}.side-nav .tab:hover,.side-foot .tab:hover{background:var(--c-surface-3);color:var(--c-text)}.side-nav .tab.active,.side-foot .tab.active{background:var(--c-primary-soft);color:var(--c-primary-text);font-weight:700}.side-nav .tab.active .ico,.side-foot .tab.active .ico{color:var(--c-primary)}.side-nav .tab .tab-badge{margin-left:auto}.side-nav .tab.active .tab-badge{box-shadow:none}.side-nav .tab:disabled,.side-nav .tab.is-disabled{opacity:.5;cursor:not-allowed;background:0 0}.side-foot{padding-top:var(--s-3);border-top:1px solid var(--c-border);margin-top:auto}.side-foot .tab[hidden],.sidebar-scrim{display:none}.main-col{margin-left:var(--sidebar-w);flex-direction:column;min-width:0;min-height:100vh;display:flex}.topbar{z-index:40;align-items:center;gap:var(--s-3);min-height:var(--topbar-h);padding:0 var(--s-8);-webkit-backdrop-filter:saturate(1.4)blur(8px);border-bottom:1px solid var(--c-border);background:#fffffff0;display:flex;position:sticky;top:0}body.has-dev-env-banner .topbar{top:31px}.icon-btn.menu-toggle{display:none}.topbar-title{flex-direction:column;flex:auto;min-width:0;line-height:1.25;display:flex}.clinic-name{font-size:var(--fs-lg);color:var(--c-text);white-space:nowrap;text-overflow:ellipsis;font-weight:800;overflow:hidden}.topbar .sync-badge{font-size:var(--fs-xs);color:var(--c-text-subtle);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.topbar .account-bar{align-items:center;gap:var(--s-2);flex-wrap:nowrap;flex:none;width:auto;margin-left:auto;display:flex}.icon-btn{border-radius:var(--r-md);width:40px;height:40px;color:var(--c-text-2);cursor:pointer;transition:background var(--t-fast), border-color var(--t-fast);background:0 0;border:1px solid #0000;flex:none;justify-content:center;align-items:center;display:inline-flex;position:relative}.icon-btn:hover{background:var(--c-surface-3);color:var(--c-text)}.icon-btn:disabled{opacity:.45;cursor:not-allowed}.bell-btn .tab-badge{min-width:18px;height:18px;box-shadow:0 0 0 2px var(--c-bg);margin:0;font-size:10.5px;position:absolute;top:3px;right:1px}.user-chip{border:1px solid var(--c-border);border-radius:var(--r-pill);background:var(--c-surface);height:40px;color:var(--c-text);font:inherit;cursor:pointer;max-width:280px;transition:border-color var(--t-fast), background var(--t-fast);align-items:center;gap:8px;padding:0 8px 0 4px;display:inline-flex}.user-chip:hover,.user-chip.active,.user-chip[aria-expanded=true]{border-color:var(--c-border-strong);background:var(--c-surface-2)}.user-chip .user-badge{font-size:var(--fs-sm);color:var(--c-text);text-overflow:ellipsis;padding:0;font-weight:700;overflow:hidden}.user-chip .user-badge.admin{color:var(--c-text)}.user-chip .user-badge.warn{color:var(--c-danger)}.user-chip .chev{color:var(--c-text-subtle);display:inline-flex}.avatar{--avatar:var(--c-primary);background:var(--avatar);color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:36px;height:36px;font-size:14px;font-weight:800;line-height:1;display:inline-flex;box-shadow:inset 0 0 0 1px #0000000f}.avatar.sm{width:26px;height:26px;font-size:11.5px}.user-avatar{background:var(--c-primary-soft);width:32px;height:32px;color:var(--c-primary-text);box-shadow:none;font-size:13px}.account-menu{border:1px solid var(--c-border);border-radius:var(--r-md);box-shadow:var(--sh-pop);min-width:232px;padding:6px;top:calc(100% + 8px)}.account-menu button{font-size:var(--fs-md);color:var(--c-text);border-radius:var(--r-sm);min-height:40px;font-weight:600}.account-menu button:hover,.account-menu button:focus-visible{background:var(--c-surface-3)}.account-menu .menu-logout{border-top:1px solid var(--c-border);border-radius:0 0 var(--r-sm) var(--r-sm);color:var(--c-danger);margin-top:4px}.account-menu .menu-logout:hover{background:var(--c-danger-soft)}#accountBtn.active{border-color:var(--c-primary-soft-2);background:var(--c-primary-soft)}.install-btn{white-space:nowrap}.subtabs{padding:var(--s-3) var(--s-8) 0;background:0 0;border-top:0;margin:0}.subtab-row{border-bottom:1px solid var(--c-border);flex-wrap:wrap;gap:6px;padding-bottom:0}.subtab{color:var(--c-text-muted);font-size:var(--fs-md);background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;margin-bottom:-1px;padding:10px 12px 12px;font-weight:600;position:relative}.subtab:hover{color:var(--c-text);background:0 0}.subtab.active{color:var(--c-primary-text);border:0;border-bottom:2px solid var(--c-primary);background:0 0;font-weight:700}.content{width:100%;max-width:calc(var(--content-max) + 2 * var(--s-8));padding:var(--s-6) var(--s-8) var(--s-8);flex:1 0 auto;min-width:0}.app-footer{padding:var(--s-4) var(--s-8) var(--s-6);color:var(--c-text-subtle);font-size:var(--fs-xs);letter-spacing:.02em}.bottom-nav{display:none}.page-head{justify-content:space-between;align-items:flex-end;gap:var(--s-3) var(--s-4);margin:0 0 var(--s-5);flex-wrap:wrap;display:flex}.page-head.compact{margin-bottom:var(--s-4)}.page-title{font-size:var(--fs-2xl);letter-spacing:-.025em;margin:0;font-weight:800;line-height:1.25}.page-head.compact .page-title{font-size:var(--fs-xl)}.page-sub{color:var(--c-text-muted);font-size:var(--fs-md);flex-wrap:wrap;align-items:center;gap:4px 10px;margin:4px 0 0;display:flex}.page-sub time{color:var(--c-text-2);font-weight:600}.page-sub-note{font-size:var(--fs-xs);color:var(--c-text-subtle);border:1px solid var(--c-border);border-radius:var(--r-pill);background:var(--c-surface);padding:1px 8px}.page-actions{gap:var(--s-2);flex-wrap:wrap;display:flex}.page-actions [hidden]{display:none!important}.section-title{font-size:var(--fs-lg);margin:var(--s-6) 0 var(--s-3);font-weight:800}.roles-head{margin-bottom:var(--s-4);align-items:flex-end}.roles-head .section-title{font-size:var(--fs-xl);margin:0 0 4px}#noticesSection>.roles-head .section-title,#workRulesSection>.roles-head .section-title,#employeesSection>.roles-head .section-title,#settingsSection>.roles-head .section-title,#rolesSection>.roles-head .section-title{font-size:var(--fs-2xl);letter-spacing:-.025em}.roles-subtitle{font-size:var(--fs-md);color:var(--c-text-muted);line-height:1.6}.btn{border:1px solid var(--c-border-strong);border-radius:var(--r-md);background:var(--c-surface);min-height:38px;color:var(--c-text);font:inherit;font-size:var(--fs-sm);cursor:pointer;white-space:nowrap;transition:background var(--t-fast), border-color var(--t-fast), color var(--t-fast), box-shadow var(--t-fast);justify-content:center;align-items:center;gap:6px;padding:8px 14px;font-weight:700;line-height:1.2;text-decoration:none;display:inline-flex}.btn .ico{margin-left:-2px}.btn:hover{background:var(--c-surface-2);border-color:var(--c-text-subtle)}.btn:active{background:var(--c-surface-3)}.btn.primary{background:var(--c-primary);border-color:var(--c-primary);color:#fff;box-shadow:0 1px 2px #2f64d040}.btn.primary:hover{background:var(--c-primary-hover);border-color:var(--c-primary-hover);opacity:1}.btn.danger{background:var(--c-surface);border-color:var(--c-danger-line);color:var(--c-danger)}.btn.danger:hover{background:var(--c-danger-soft);border-color:var(--c-danger)}.btn.small{min-height:32px;font-size:var(--fs-xs);border-radius:var(--r-sm);padding:5px 10px}.btn.ghost{color:var(--c-text-muted);font-size:var(--fs-sm);background:0 0;border:0;min-height:32px;padding:6px 8px}.btn.ghost:hover{color:var(--c-text);background:var(--c-surface-3);text-decoration:none}.btn:disabled,.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed;box-shadow:none}.btn:disabled:hover{background:var(--c-surface);border-color:var(--c-border-strong)}.btn.primary:disabled:hover{background:var(--c-primary);border-color:var(--c-primary)}.link-btn{font-size:var(--fs-sm);color:var(--c-primary);border-radius:var(--r-sm);flex:none;align-items:center;gap:4px;padding:6px 8px;font-weight:700;text-decoration:none;display:inline-flex}.link-btn:hover{background:var(--c-primary-soft)}input[type=text],input[type=email],input[type=password],input[type=search],input[type=number],input[type=date],input[type=tel],input[type=url],select,textarea{color:var(--c-text);font-family:inherit}.wr-field input,.wr-field select,.wr-field textarea,.modal-card input:not([type=checkbox]):not([type=radio]),.modal-card select,.modal-card textarea,.archive-select,.wr-search input,.login-card input{border:1px solid var(--c-border-strong);border-radius:var(--r-md);background:var(--c-surface);min-height:40px;font-size:var(--fs-md);transition:border-color var(--t-fast), box-shadow var(--t-fast);padding:8px 12px}.wr-field input:focus,.wr-field select:focus,.wr-field textarea:focus,.modal-card input:focus,.modal-card select:focus,.modal-card textarea:focus,.archive-select:focus,.wr-search input:focus,.login-card input:focus{border-color:var(--c-primary);box-shadow:var(--focus-ring);outline:none}input::placeholder,textarea::placeholder{color:var(--c-text-subtle)}input[type=checkbox],input[type=radio]{accent-color:var(--c-primary)}table{box-shadow:none;border-radius:0}th{background:var(--c-surface-2);color:var(--c-text-2);font-size:var(--fs-xs);letter-spacing:.01em;border-color:var(--c-border);font-weight:700}th.timecol,th.areacol{background:var(--c-surface-2)}table.att-table th{background:var(--c-surface-2);color:var(--c-text-2);font-size:var(--fs-xs)}th,td{border-color:var(--c-border)}.table-scroll{-webkit-overflow-scrolling:touch;border:1px solid var(--c-border);border-radius:var(--r-lg);background:var(--c-surface);box-shadow:var(--sh-1);overflow-x:auto}.table-scroll>table{border-style:hidden}#employeeTable td,#roleAssignTable td{padding:8px 10px}table.att-table{box-shadow:none}.card{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-lg);box-shadow:var(--sh-1);min-width:0}.card-head{justify-content:space-between;align-items:flex-start;gap:var(--s-3);padding:var(--s-4) var(--s-5) var(--s-3);flex-wrap:wrap;display:flex}.card-title{font-size:var(--fs-lg);margin:0;font-weight:800;line-height:1.35}.card-meta{font-size:var(--fs-xs);color:var(--c-text-muted);margin:3px 0 0}.card-actions{align-items:center;gap:var(--s-2);flex-wrap:wrap;display:flex}.card-actions [hidden]{display:none!important}.card-body{padding:0 var(--s-5) var(--s-5)}.card-sub-label{margin:0 0 var(--s-2);font-size:var(--fs-xs);color:var(--c-text-muted);font-weight:700}.card-foot-note{margin:var(--s-3) 0 0;font-size:var(--fs-xs);color:var(--c-text-muted);line-height:1.6}.card-state{padding:var(--s-5) var(--s-4);border:1px dashed var(--c-border-strong);border-radius:var(--r-md);background:var(--c-surface-2);color:var(--c-text-muted);font-size:var(--fs-sm);align-items:flex-start;gap:10px;line-height:1.6;display:flex}.card-state.empty{align-items:flex-start;gap:var(--s-3);color:var(--c-text-2);flex-direction:column}.card-state.error{border-style:solid;border-color:var(--c-danger-line);background:var(--c-danger-soft);color:var(--c-danger)}.card-state.error p{margin:0 0 4px}.card-state.error .muted{color:var(--c-text-muted);font-size:var(--fs-xs);margin-bottom:var(--s-2)}.card-state.error .ico{margin-top:2px}.spinner{border:2px solid var(--c-border-strong);border-top-color:var(--c-primary);border-radius:50%;flex:none;width:16px;height:16px;margin-top:2px;animation:.8s linear infinite boot-spin}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:2.4s}}.status-pill{border-radius:var(--r-pill);font-size:var(--fs-xs);white-space:nowrap;border:1px solid #0000;align-items:center;gap:4px;padding:3px 9px 3px 7px;font-weight:700;line-height:1.3;display:inline-flex}.status-pill.st-work{background:var(--c-success-soft);color:var(--c-success);border-color:var(--c-success-line)}.status-pill.st-partial{background:var(--c-primary-soft);color:var(--c-primary-text);border-color:var(--c-primary-soft-2)}.status-pill.st-off{background:var(--c-off-soft);color:var(--c-off)}.status-pill.st-annual{background:var(--c-annual-soft);color:var(--c-annual)}.status-pill.st-unknown,.status-pill.st-none{background:var(--c-unknown-soft);color:var(--c-unknown)}.status-pill.n-new{background:var(--c-danger-soft);color:var(--c-danger);border-color:var(--c-danger-line)}.status-pill.n-required{background:var(--c-warning-soft);color:var(--c-warning);border-color:var(--c-warning-line)}.status-pill.n-done,.status-pill.n-read{background:var(--c-success-soft);color:var(--c-success);border-color:var(--c-success-line)}.status-pill.n-read{background:var(--c-surface-2);color:var(--c-text-muted);border-color:var(--c-border)}.tag{border-radius:var(--r-pill);white-space:nowrap;align-items:center;gap:3px;padding:1px 8px;font-size:11.5px;font-weight:700;line-height:1.6;display:inline-flex}.tag-required{background:var(--c-danger-soft);color:var(--c-danger)}.tag-cat{background:var(--c-surface-3);color:var(--c-text-muted)}.tab-badge{background:var(--c-danger);min-width:19px;height:19px;padding:0 6px;font-size:11px}.stat-grid{gap:var(--s-4);margin-bottom:var(--s-4);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.stat-card{align-items:flex-start;gap:var(--s-3);padding:var(--s-4) var(--s-5);background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-lg);box-shadow:var(--sh-1);font:inherit;color:inherit;text-align:left;min-width:0;display:flex}button.stat-card{cursor:pointer;transition:border-color var(--t-fast), box-shadow var(--t-fast)}button.stat-card:hover{border-color:var(--c-primary-soft-2);box-shadow:var(--sh-2)}.stat-icon{border-radius:var(--r-md);background:var(--c-primary-soft);width:40px;height:40px;color:var(--c-primary);flex:none;justify-content:center;align-items:center;display:inline-flex}.stat-off .stat-icon{background:var(--c-off-soft);color:var(--c-off)}.stat-unread .stat-icon{background:var(--c-danger-soft);color:var(--c-danger)}.stat-body{flex-direction:column;gap:1px;min-width:0;display:flex}.stat-label{font-size:var(--fs-sm);color:var(--c-text-2);font-weight:700}.stat-value{color:var(--c-text);align-items:baseline;gap:3px;margin-top:2px;line-height:1.15;display:flex}.stat-value b{font-size:var(--fs-stat);letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-weight:800}.stat-value small{font-size:var(--fs-md);color:var(--c-text-2);font-weight:700}.stat-note{font-size:var(--fs-xs);color:var(--c-text-muted);text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.stat-scope{color:var(--c-text-subtle);margin-top:2px;font-size:11px}.dash-grid{gap:var(--s-4);margin-bottom:var(--s-4);grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);align-items:start;display:grid}.person-group+.person-group{margin-top:var(--s-4)}.group-title{margin:0 0 var(--s-2);font-size:var(--fs-xs);color:var(--c-text-muted);letter-spacing:.02em;align-items:center;gap:6px;font-weight:800;display:flex}.group-title span{color:var(--c-text-subtle);font-weight:700}.person-list{border:1px solid var(--c-border);border-radius:var(--r-md);margin:0;padding:0;list-style:none;overflow:hidden}.person{align-items:center;gap:var(--s-3);padding:10px var(--s-3);border-top:1px solid var(--c-border);background:var(--c-surface);grid-template-columns:auto minmax(0,1fr) minmax(0,auto) auto;display:grid}.person:first-child{border-top:0}.g-off .person{background:var(--c-surface-2)}.person-main{flex-direction:column;min-width:0;display:flex}.person-name{font-weight:700;font-size:var(--fs-md);color:var(--c-text);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.person-role{font-size:var(--fs-xs);color:var(--c-text-muted)}.person-assign{font-size:var(--fs-sm);color:var(--c-text-2);text-align:right;flex-direction:column;align-items:flex-end;line-height:1.4;display:flex}.notice-list{gap:var(--s-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.notice-item{padding:var(--s-3) var(--s-4);border:1px solid var(--c-border);border-radius:var(--r-md);background:var(--c-surface);color:inherit;transition:border-color var(--t-fast), background var(--t-fast);flex-direction:column;gap:5px;text-decoration:none;display:flex}.notice-item:hover{border-color:var(--c-primary-soft-2);background:#fbfcff}.notice-item.needs{border-left:3px solid var(--c-danger);padding-left:calc(var(--s-4) - 2px)}.notice-item-top{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.notice-date{font-size:var(--fs-xs);color:var(--c-text-subtle);font-variant-numeric:tabular-nums;margin-left:auto}.notice-title{font-size:var(--fs-md);color:var(--c-text);overflow-wrap:anywhere;font-weight:700;line-height:1.45}.notice-excerpt{font-size:var(--fs-sm);color:var(--c-text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.55;display:-webkit-box;overflow:hidden}.notice-item-foot{justify-content:space-between;align-items:center;gap:var(--s-2);margin-top:2px;display:flex}.notice-cta{font-size:var(--fs-xs);color:var(--c-primary);align-items:center;gap:4px;font-weight:700;display:inline-flex}.seg-nav{border:1px solid var(--c-border);border-radius:var(--r-md);background:var(--c-surface);align-items:center;gap:2px;padding:2px;display:inline-flex}.seg-nav .icon-btn{border-radius:var(--r-sm);width:32px;height:32px}.seg-nav .btn.small{border:0;min-height:28px}.wk-scroll{box-shadow:none;border-radius:var(--r-md)}.wk-table{table-layout:auto;border-collapse:separate;border-spacing:0;background:var(--c-surface);width:100%;min-width:720px}.wk-table th,.wk-table td{border:0;border-bottom:1px solid var(--c-border);border-left:1px solid var(--c-border);vertical-align:middle;padding:9px 10px}.wk-table tr>:first-child{border-left:0}.wk-table tbody tr:last-child>*{border-bottom:0}.wk-table thead th{z-index:2;background:var(--c-surface-2);color:var(--c-text-2);font-size:var(--fs-xs);text-align:center;white-space:nowrap;position:sticky;top:0}.wk-table thead th>span{display:block}.wk-day{font-size:var(--fs-sm);color:var(--c-text);font-weight:800}.wk-date{color:var(--c-text-muted);font-weight:600}.wk-today{border-radius:var(--r-pill);background:var(--c-primary);color:#fff;margin-top:3px;padding:0 7px;font-size:10.5px;font-weight:800;display:inline-block!important}.wk-unreg{color:var(--c-text-subtle);font-size:10.5px;font-weight:600}.wk-corner,.wk-name{z-index:1;background:var(--c-surface);text-align:left;min-width:132px;box-shadow:1px 0 0 var(--c-border);position:sticky;left:0}.wk-corner{z-index:3;background:var(--c-surface-2);text-align:left!important}.wk-name{display:table-cell}.wk-name>span:last-child{vertical-align:middle;line-height:1.25;font-size:var(--fs-sm);color:var(--c-text);flex-direction:column;margin-left:8px;font-weight:700;display:inline-flex}.wk-name small{color:var(--c-text-muted);font-size:11px;font-weight:600}.wk-cell{text-align:center;font-size:var(--fs-xs);color:var(--c-text-2);min-width:92px;line-height:1.4}.wk-cell .wk-ico{opacity:.85;margin:0 auto 2px;display:block}.wk-line{white-space:nowrap;display:block}.wk-cell.k-work .wk-ico{color:var(--c-success)}.wk-cell.k-partial{background:#f8faff}.wk-cell.k-partial .wk-ico{color:var(--c-primary)}.wk-cell.st-off{background:var(--c-off-soft);color:var(--c-off);font-weight:700}.wk-cell.st-annual{background:var(--c-annual-soft);color:var(--c-annual);font-weight:700}.wk-cell.st-unknown{background:var(--c-unknown-soft);color:var(--c-unknown);font-weight:700}.wk-none{color:var(--c-text-subtle)}.wk-table th.is-today{background:var(--c-primary-soft);color:var(--c-primary-text);box-shadow:inset 0 3px 0 var(--c-primary)}.wk-table td.is-today{box-shadow:inset 2px 0 0 var(--c-primary-soft-2), inset -2px 0 0 var(--c-primary-soft-2)}.wk-table td.is-today.k-work,.wk-table td.is-today.k-none{background:#f5f8fe}.weeknav{gap:var(--s-2);flex-wrap:wrap}.weeknav button,.monthnav button,.yearnav button{border-radius:var(--r-md);border-color:var(--c-border-strong);width:38px;height:38px;color:var(--c-text-2);font-size:18px}.weeknav button:hover,.monthnav button:hover,.yearnav button:hover{background:var(--c-surface-2)}.weekrange{font-size:var(--fs-md);min-width:0;color:var(--c-text);padding:0 4px;font-weight:800}.archive-select{max-width:200px;font-weight:600;font-size:var(--fs-sm);cursor:pointer}.toolbar{gap:var(--s-3);margin-bottom:var(--s-4)}.legend{gap:6px}.chip-edit{border-color:var(--c-border);background:var(--c-surface);border-radius:var(--r-pill);padding:4px 10px 4px 4px}.mode-badge{border-radius:var(--r-pill);background:var(--c-success-soft);color:var(--c-success);border-color:var(--c-success-line);font-weight:700}.mode-badge:before{content:"✓ "}.mode-badge.editing{background:var(--c-warning-soft);color:var(--c-warning);border-color:var(--c-warning-line)}.mode-badge.editing:before{content:"● "}.roster-scroll{margin-bottom:var(--s-2)}#scheduleTable{border-style:hidden;min-width:760px}#scheduleTable thead th{z-index:2;font-size:var(--fs-sm);color:var(--c-text);padding:10px 4px;position:sticky;top:0}#scheduleTable thead th.is-today{background:var(--c-primary-soft);color:var(--c-primary-text);box-shadow:inset 0 3px 0 var(--c-primary)}#scheduleTable th.timecol,#scheduleTable td.sessioncell{z-index:1;position:sticky;left:0}#scheduleTable th.areacol,#scheduleTable td.areacell{z-index:1;box-shadow:1px 0 0 var(--c-border);position:sticky;left:64px}#scheduleTable thead th.timecol,#scheduleTable thead th.areacol{z-index:3}td.sessioncell{background:var(--c-surface-2);color:var(--c-text)}td.areacell{background:var(--c-surface-2);color:var(--c-text-muted)}td.slot:hover{background:var(--c-primary-soft)}#saveStatus,#attSaveStatus,#monthStatus{color:var(--c-danger);font-weight:600}#monthTable{border-radius:var(--r-lg);border:1px solid var(--c-border);box-shadow:var(--sh-1);border-style:hidden;overflow:hidden}.monthnav{gap:var(--s-3)}.monthrange,.yearlabel{font-size:var(--fs-lg);color:var(--c-text)}.wr-toolbar{border-radius:var(--r-lg);border-color:var(--c-border);box-shadow:var(--sh-1);padding:var(--s-3) var(--s-4)}.wr-chip{border-color:var(--c-border);min-height:32px;color:var(--c-text-muted);padding:5px 12px;font-weight:700}.wr-chip:hover:not(:disabled){border-color:var(--c-primary-soft-2);color:var(--c-primary-text);background:var(--c-primary-soft)}.wr-chip.active{background:var(--c-text);border-color:var(--c-text);color:#fff}.wr-rows{border-radius:var(--r-lg);border-color:var(--c-border);box-shadow:var(--sh-1)}.wr-rowhead{background:var(--c-surface-2);color:var(--c-text-muted);font-size:var(--fs-xs);padding:10px 18px}.wr-row{transition:background var(--t-fast);padding:14px 18px}.wr-row:hover{background:#f8fafe}.wr-row.required{box-shadow:inset 3px 0 0 var(--c-danger);background:#fffbfb}.wr-row.required:hover{background:#fff5f5}.wr-row.unread .wr-row-title:after{content:"";background:var(--c-danger);vertical-align:middle;border-radius:50%;width:6px;height:6px;margin-left:6px;display:inline-block}.wr-row-title{color:var(--c-text);font-size:15px;font-weight:700}.wr-row:not(.unread) .wr-row-title{color:var(--c-text-2);font-weight:600}.wr-row-summary{font-size:var(--fs-sm);color:var(--c-text-muted)}.wr-cell-date{font-size:var(--fs-xs);color:var(--c-text-muted)}.wr-cat{background:var(--c-surface-3);color:var(--c-text-muted);border-color:#0000;font-size:11.5px}.wr-pill{padding:2px 9px;font-size:11.5px}.wr-pill.new,.wr-new{background:var(--c-danger);color:#fff}.wr-pill.required,.wr-pill.important{background:var(--c-warning-soft);color:var(--c-warning);border:1px solid var(--c-warning-line)}.wr-pill.done{background:var(--c-success-soft);color:var(--c-success);border-color:var(--c-success-line)}.wr-pill.done:before{content:"✓ "}.wr-pill.status,.notice-tag.status{background:var(--c-surface-3);color:var(--c-text-muted);border-color:#0000}.notice-tag.required{color:var(--c-danger);border-color:var(--c-danger-line);background:var(--c-danger-soft)}.wr-summary{font-size:var(--fs-sm);color:var(--c-text-muted)}.wr-detail{border-radius:var(--r-lg);border-color:var(--c-border);box-shadow:var(--sh-1);padding:var(--s-7) var(--s-8)}.wr-detail.important{border-top:3px solid var(--c-danger);border-color:var(--c-border)}.wr-detail-title{font-size:var(--fs-2xl);letter-spacing:-.025em;line-height:1.35}.wr-detail-summary{color:var(--c-text-2);font-size:15px}.wr-detail-meta{color:var(--c-text-muted)}.wr-body{color:var(--c-text);font-size:15px;line-height:1.75}.wr-ack{padding:var(--s-4);margin-top:var(--s-5);border-radius:var(--r-md);background:var(--c-surface-2);border:1px solid var(--c-border)}.wr-ack .btn.primary{min-height:44px;font-size:var(--fs-md);padding:10px 20px}.wr-editor{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-lg);box-shadow:var(--sh-1);padding:var(--s-6)}.wr-field>span{font-size:var(--fs-sm);color:var(--c-text-2);font-weight:700}.wr-save-option{border-radius:var(--r-md)}.wr-nav-btn{min-height:44px}.notice-banner{border-radius:var(--r-md);border-color:var(--c-warning-line);border-left-color:var(--c-warning);background:var(--c-warning-soft);color:var(--c-warning);font-weight:600}.settings-item{border-color:var(--c-border);border-radius:var(--r-lg);box-shadow:var(--sh-1);padding:var(--s-4) var(--s-5);transition:border-color var(--t-fast), box-shadow var(--t-fast)}.settings-item:hover,.settings-item:focus-visible{border-color:var(--c-primary-soft-2);box-shadow:var(--sh-2)}.settings-group-title{font-size:var(--fs-sm);color:var(--c-text-muted);letter-spacing:.02em;font-weight:800}.role-card,.rg-editor{border-radius:var(--r-lg);border-color:var(--c-border);box-shadow:var(--sh-1)}.role-card-num{background:var(--c-primary-soft);color:var(--c-primary-text)}.emp-status{color:var(--c-success)}.emp-status.error{color:var(--c-danger)}.sync-box{border-radius:var(--r-md)}.usage-guide>summary{border-radius:var(--r-pill);border-color:var(--c-border);color:var(--c-text-muted);background:var(--c-surface)}.usage-guide-body{border-radius:var(--r-md);border-color:var(--c-border);background:var(--c-surface)}.pop{border-radius:var(--r-md);border-color:var(--c-border);box-shadow:var(--sh-pop)}.pop-row.on{background:var(--c-primary-soft)}.modal-card{border-radius:var(--r-lg);border:1px solid var(--c-border);box-shadow:var(--sh-pop)}.modal-card h2{font-size:var(--fs-lg)}.overlay{background:radial-gradient(1200px 600px at 50% -10%, #e9eff9 0%, var(--c-bg) 60%)}.login-card{border-radius:var(--r-lg);border-color:var(--c-border);box-shadow:var(--sh-2);max-width:380px;padding:36px 32px 28px}.login-card .app-title-org{color:var(--c-text-muted);font-size:13px;font-weight:700}.login-card .app-title-name{color:var(--c-text);letter-spacing:-.02em;font-size:22px;font-weight:800}.login-card .btn{min-height:44px;font-size:var(--fs-md)}.login-account{color:var(--c-text-subtle)}.denied-card{border-radius:var(--r-lg);border-color:var(--c-border);box-shadow:var(--sh-1)}@media (width<=1180px){.dash-grid{grid-template-columns:minmax(0,1fr)}}@media (width<=1024px){:root{--sidebar-w:264px}.sidebar{box-shadow:var(--sh-pop);z-index:90;transition:transform .2s;transform:translate(-102%)}body.drawer-open .sidebar{transform:none}.icon-btn.sidebar-close{display:inline-flex}.sidebar-scrim{z-index:80;background:#16233b52;display:block;position:fixed;inset:0}.sidebar-scrim[hidden]{display:none}.main-col{margin-left:0}.icon-btn.menu-toggle{margin-left:-8px;display:inline-flex}.topbar{padding:0 var(--s-5)}.subtabs{padding:var(--s-3) var(--s-5) 0}.content{padding:var(--s-5)}.app-footer{padding:var(--s-3) var(--s-5) var(--s-5)}}@media (width<=1024px) and (prefers-reduced-motion:reduce){.sidebar{transition:none}}@media (width<=760px){:root{--topbar-h:56px}.icon-btn.menu-toggle{display:none}.topbar{padding:0 var(--s-4);gap:var(--s-2)}.clinic-name{font-size:15px}.topbar .sync-badge,.install-btn#appInstallBtn{display:none}.user-chip{background:0 0;border-color:#0000;gap:4px;padding:0 4px}.user-chip .user-badge{display:none}.topbar .account-bar .user-badge{margin:0}.subtabs{padding:var(--s-2) var(--s-4) 0}.subtab-row{scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.subtab-row::-webkit-scrollbar{display:none}.subtab{min-height:var(--tap);flex:none;padding:10px 12px}.content{padding:var(--s-4) var(--s-4) calc(var(--bottom-nav-h) + var(--s-6))}.app-footer{padding:0 var(--s-4) calc(var(--bottom-nav-h) + var(--s-5));margin-top:calc(-1 * var(--bottom-nav-h) - var(--s-2))}.bottom-nav{z-index:70;min-height:var(--bottom-nav-h);padding:4px 4px calc(4px + env(safe-area-inset-bottom));border-top:1px solid var(--c-border);background:#fffffff7;grid-template-columns:repeat(4,minmax(0,1fr));display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -2px 12px #16233b0d}.bottom-nav button{border-radius:var(--r-md);min-height:52px;color:var(--c-text-muted);font:inherit;cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:12px;font-weight:700;display:flex;position:relative}.bottom-nav button[hidden]{display:none}.bottom-nav button.active{color:var(--c-primary-text)}.bottom-nav button.active .ico{color:var(--c-primary)}.bottom-nav button.active:before{content:"";background:var(--c-primary);border-radius:0 0 3px 3px;height:3px;position:absolute;top:0;left:30%;right:30%}.bottom-nav .tab-badge{min-width:18px;height:18px;margin:0;font-size:10.5px;position:absolute;top:4px;left:calc(50% + 6px)}.page-head{align-items:flex-start}.page-title{font-size:var(--fs-xl)}.page-actions{width:100%}.page-actions .btn{min-height:var(--tap);flex:1 1 0}.stat-grid{gap:var(--s-2);grid-template-columns:minmax(0,1fr)}.stat-card{padding:var(--s-3) var(--s-4);align-items:center}.stat-value b{font-size:24px}.stat-scope{display:none}.stat-icon{width:36px;height:36px}.card-head{padding:var(--s-4) var(--s-4) var(--s-3)}.card-body{padding:0 var(--s-4) var(--s-4)}.person{grid-template-columns:auto minmax(0,1fr) auto;row-gap:4px}.person-assign{text-align:left;font-size:var(--fs-xs);flex-flow:wrap;grid-area:2/2/auto/4;align-items:flex-start;gap:0 8px}.person .status-pill{grid-area:1/3}.card-actions{justify-content:space-between;width:100%}.btn{min-height:var(--tap)}.btn.small{min-height:36px}.weeknav{width:100%}.weeknav .weekrange{text-align:center;flex:auto}.archive-select{flex:100%;max-width:none}.wr-detail{padding:var(--s-5) var(--s-4)}.wr-detail-title{font-size:var(--fs-xl)}.wr-editor{padding:var(--s-4)}.roles-head .section-title,#noticesSection>.roles-head .section-title,#workRulesSection>.roles-head .section-title,#employeesSection>.roles-head .section-title,#settingsSection>.roles-head .section-title,#rolesSection>.roles-head .section-title{font-size:var(--fs-xl)}.roles-head .actions{flex-wrap:wrap;width:100%}.roles-head .actions .btn{flex:auto}body.has-dev-env-banner .content{padding-top:var(--s-4)}}.main-col,.content{overflow-x:clip}@media print{.sidebar,.sidebar-scrim,.topbar,.subtabs,.bottom-nav,.app-footer,.page-actions,.card-actions{display:none!important}.main-col{margin:0!important}.content{max-width:none;padding:0!important}.table-scroll{box-shadow:none;border:0;overflow:visible}#scheduleTable{min-width:0}#scheduleTable thead th,#scheduleTable td.sessioncell,#scheduleTable td.areacell{box-shadow:none;position:static}.page-head .weeknav{display:flex!important}}td.emp-name{vertical-align:middle;display:table-cell}td.emp-name .dot{vertical-align:middle;margin-right:7px;display:inline-flex}.side-foot:not(:has(.tab:not([hidden]))){display:none}.mode-badge{white-space:nowrap}@media (width<=760px){#weekSection .toolbar .actions,#attendanceSection .toolbar .actions{flex-wrap:wrap;width:100%}#weekSection .toolbar .actions .mode-badge{text-align:center;flex:1 0 100%;margin:0}#weekSection .toolbar .actions .btn{flex:auto}}
