@font-face{font-family:nanumSquareNeo;src:url(../media/NanumSquareNeoOTF_Rg-s.p.04ft7m1t3rg4l.otf)format("opentype");font-display:swap;font-weight:400;font-style:normal}@font-face{font-family:nanumSquareNeo;src:url(../media/NanumSquareNeoOTF_Bd-s.p.18b_j6i~zs~k3.otf)format("opentype");font-display:swap;font-weight:700;font-style:normal}@font-face{font-family:nanumSquareNeo;src:url(../media/NanumSquareNeoOTF_Eb-s.p.0873~vboxl35y.otf)format("opentype");font-display:swap;font-weight:800;font-style:normal}@font-face{font-family:nanumSquareNeo Fallback;src:local(Arial);ascent-override:74.64%;descent-override:22.39%;line-gap-override:0.0%;size-adjust:113.87%}.nanumsquareneo_4400a916-module__0JFh6G__className{font-family:nanumSquareNeo,nanumSquareNeo Fallback}.nanumsquareneo_4400a916-module__0JFh6G__variable{--font-nanum-square-neo:"nanumSquareNeo", "nanumSquareNeo Fallback"}
:root{--bg:#f6f7f2;--surface:#fff;--surface-soft:#eef3ec;--text:#202320;--muted:#68706a;--line:#dce2da;--primary:#267a56;--primary-dark:#1b5f43;--accent:#c9593f;--warning:#f0a43a;--shadow:0 12px 32px #242a2314}*{box-sizing:border-box}html,body{background:var(--bg);min-height:100%;color:var(--text);font-family:var(--font-nanum-square-neo), Arial, "Apple SD Gothic Neo", "Noto Sans KR", sans-serif;margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}h1,h2,p{margin:0}h1,h2,button,th,label span,.metric span,.metric strong,.statement-meta span,.statement-meta strong,.statement-confirmation span,.statement-confirmation strong,.statement-summary span,.statement-summary strong,.statement-status-chip{word-break:keep-all;overflow-wrap:normal}table{border-collapse:collapse;width:100%;min-width:980px}th,td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:12px;font-size:14px}th{background:var(--surface-soft);color:var(--muted);font-weight:700}td p{color:var(--muted);margin-top:4px;font-size:12px}.login-page{place-items:center;min-height:100vh;padding:24px;display:grid}.login-panel{background:var(--surface);border:1px solid var(--line);width:min(100%,420px);box-shadow:var(--shadow);border-radius:8px;gap:28px;padding:28px;display:grid}.login-panel h1{margin-top:6px;font-size:28px}.app-shell{gap:18px;width:min(1440px,100%);margin:0 auto;padding:20px;display:grid}.employee-shell{max-width:920px}.top-bar,.section-toolbar,.button-row,.toolbar-actions,.section-heading{align-items:center;display:flex}.top-bar,.section-toolbar{justify-content:space-between;gap:16px}.top-bar{min-height:56px}.top-bar h1{font-size:24px}.eyebrow{color:var(--primary);letter-spacing:0;text-transform:uppercase;font-size:12px;font-weight:700}.section-heading{gap:8px}.section-heading h2{font-size:18px}.toolbar-actions,.button-row{flex-wrap:wrap;gap:8px}.employee-grid,.admin-grid{gap:18px;display:grid}.employee-grid{grid-template-columns:minmax(0,1fr)}.admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.content-section,.action-panel{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px;gap:16px;padding:18px;display:grid}.form-stack{gap:14px;display:grid}.compact-form{gap:12px}label{color:var(--muted);gap:6px;font-size:13px;font-weight:700;display:grid}input,textarea,select{border:1px solid var(--line);width:100%;min-height:44px;color:var(--text);background:#fff;border-radius:8px;outline:none;padding:10px 12px}textarea{resize:vertical;min-height:86px}input:focus,textarea:focus,select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #267a5624}input[readonly]{background:var(--surface-soft);color:var(--muted)}.checkbox-row{width:fit-content;color:var(--text);cursor:pointer;align-items:center;gap:8px;display:inline-flex}.checkbox-row input{width:18px;min-height:18px;margin:0;padding:0}.two-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.primary-button,.secondary-button,.danger-button,.icon-button{text-align:center;white-space:nowrap;border:0;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:44px;font-weight:800;text-decoration:none;display:inline-flex}.primary-button{background:var(--primary);color:#fff;padding:0 16px}.primary-button:hover{background:var(--primary-dark)}.secondary-button{background:var(--surface-soft);color:var(--text);padding:0 14px}.table-action-button{width:auto;min-height:32px;margin-top:8px;padding:0 10px;font-size:12px}.danger-button{background:var(--accent);color:#fff;padding:0 14px}.icon-button{background:var(--surface);width:44px;color:var(--text);border:1px solid var(--line);flex:none}.mobile-action{display:none}.desktop-action{display:inline-flex}.month-input{width:152px}.employee-select{width:220px}.stepped-control{align-items:center;gap:6px;max-width:100%;display:inline-flex}.stepped-control select{min-width:0}.compact-icon-button{width:40px}.summary-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.admin-summary{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.metric{background:var(--surface);border:1px solid var(--line);border-radius:8px;align-content:space-between;gap:8px;min-height:96px;padding:14px;display:grid}.metric span{color:var(--muted);font-size:13px;font-weight:700}.metric strong{font-size:22px}.metric-button{width:100%;color:inherit;text-align:left;appearance:none}.metric-button:hover,.metric-button.active{border-color:var(--primary);box-shadow:0 0 0 3px #267a561f}.metric-button:focus-visible{outline-offset:2px;outline:3px solid #267a5642}.summary-inline-list{background:var(--surface);border:1px solid var(--line);border-radius:8px;gap:14px;padding:16px;display:grid}.summary-inline-list-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.summary-inline-list h2{margin-top:4px;font-size:20px}.summary-inline-employees{flex-wrap:wrap;gap:8px;display:flex}.summary-inline-employee{border:1px solid var(--line);background:var(--surface-soft);border-radius:999px;align-items:center;gap:8px;min-height:38px;padding:8px 12px;display:inline-flex}.summary-inline-employee strong{font-size:14px}.summary-inline-employee span{color:var(--muted);font-size:12px;font-weight:700}.status-metric{grid-template-columns:minmax(0,1fr) auto;align-content:center;align-items:center}.status-metric>div:first-child{gap:8px;min-width:0;display:grid}.status-mark{border:2px solid;border-radius:999px;place-items:center;width:58px;height:58px;display:grid}.status-mark.confirmed{color:var(--primary);background:#e7f6ed}.status-mark.pending{color:#7a827c;background:#f1f3f1;border-color:#cfd6d1;border-radius:14px}.status-mark.waiting{color:#b87912;background:#fff5df}.status-mark.warning{color:var(--accent);background:#fff0e9}.metric.highlight{background:var(--primary);color:#fff;border-color:var(--primary)}.metric.highlight span{color:#ffffffd6}.record-list{gap:10px;display:grid}.dense-list{max-height:560px;padding-right:2px;overflow:auto}.record-card{border:1px solid var(--line);background:#fff;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;min-height:76px;padding:12px;display:flex}.inline-select{width:min(100%,190px)}.record-card p{color:var(--muted);margin-top:5px;font-size:13px}.employee-management-item{gap:8px;display:grid}.employee-card.is-inactive{color:var(--muted);background:#f8f8f4}.employee-actions{justify-content:flex-end}.employee-edit-form{border:1px solid var(--line);background:var(--surface-soft);border-radius:8px;padding:12px}.table-wrap{border:1px solid var(--line);border-radius:8px;overflow-x:auto}.sidejob-table tr.is-inactive td{color:var(--muted);background:#f8f8f4}.table-edit-stack{gap:8px;min-width:220px}.week-checks{gap:8px;min-width:280px;display:grid}.week-row{grid-template-columns:86px 72px 72px;align-items:center;gap:8px;display:grid}.check-label{color:var(--text);align-items:center;gap:6px;font-size:13px;display:flex}.check-label input{width:16px;min-height:16px}.tsv-box textarea{white-space:pre;font-family:SFMono-Regular,Consolas,monospace;font-size:12px}.statement-sheet{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px;gap:18px;padding:28px;display:grid}.statement-actions{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.statement-actions h2{font-size:30px}.statement-title{white-space:nowrap;line-height:1.2}.statement-meta{border:2px solid var(--text);text-align:center;grid-template-columns:80px 150px 100px 170px;justify-self:end;display:grid}.statement-meta-compact{grid-template-columns:80px 150px}.statement-meta span,.statement-meta strong{border-right:1px solid var(--text);padding:6px 10px;font-size:14px}.statement-meta strong:last-child{border-right:0}.statement-meta strong{background:#ffe8a3}.statement-confirmation{border:2px solid var(--text);text-align:center;grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.statement-confirmation div{border-right:1px solid var(--text);align-content:center;gap:4px;min-height:50px;padding:8px 10px;display:grid}.statement-confirmation div:last-child{border-right:0}.statement-confirmation span{font-size:13px;font-weight:800}.statement-confirmation strong{color:var(--primary-dark);word-break:keep-all;font-size:14px}.statement-table-wrap{overflow-x:auto}.statement-table-managed{min-width:1160px}.statement-table-editable{min-width:1420px}.statement-admin-memo-cell{width:260px;min-width:260px}.statement-attendance-cell{width:150px;min-width:150px}.statement-judgement-cell{width:390px;min-width:390px}.inline-attendance-actions{flex-wrap:nowrap;justify-content:center;align-items:center;gap:8px;display:flex}.inline-attendance-actions .secondary-button,.inline-editor-actions .primary-button,.inline-editor-actions .secondary-button{min-height:34px;padding:0 10px}.statement-time-input,.statement-admin-memo-input{border-radius:6px;min-height:34px;padding:6px 8px}.statement-time-input{width:108px}.inline-editor-actions{justify-content:flex-end}.statement-note-content{text-align:left;gap:6px;display:grid}.statement-note-editor{gap:6px;display:grid}.statement-note-editor input{border-radius:6px;min-height:34px;padding:6px 8px}.statement-note-editor .secondary-button,.statement-note-editor .primary-button{min-height:34px;padding:0 10px}.inline-week-judgement{text-align:left;white-space:nowrap;flex-wrap:nowrap;justify-content:flex-start;align-items:center;gap:10px;display:flex}.inline-week-judgement .check-label,.inline-week-judgement .statement-status-chip{flex:none}.inline-week-pay{color:var(--primary-dark);flex:none;font-weight:800}.statement-status-chip{border:1px solid var(--line);width:fit-content;color:var(--muted);background:#fff;border-radius:999px;padding:4px 8px;font-size:12px;font-weight:700}.statement-revision-note{color:var(--accent);font-weight:800}.statement-table{border:2px solid var(--text);min-width:760px}.statement-table th,.statement-table td{border:1px solid var(--text);text-align:center;padding:6px 8px;font-size:13px}.statement-table th{color:var(--text);background:#f7f7f4}.statement-table tfoot td{font-weight:800}.weekend-row td{background:#f6b19a}.today-row td{background:#e6f3ff}.statement-summary{border:2px solid var(--text);grid-template-columns:repeat(3,minmax(0,1fr));justify-self:center;width:min(100%,620px);display:grid}.statement-summary div{border-right:1px solid var(--text);border-bottom:1px solid var(--text);text-align:center;align-content:center;gap:4px;min-height:54px;padding:8px;display:grid}.statement-summary div:nth-child(3n){border-right:0}.statement-summary span{font-size:13px;font-weight:800}.statement-summary .statement-summary-label{justify-content:center;align-items:center;gap:6px;max-width:100%;line-height:1.25;display:inline-flex}.statement-summary .statement-summary-label-text{min-width:0}.statement-summary .statement-summary-sign{border-radius:999px;flex:0 0 16px;justify-content:center;align-items:center;width:16px;height:16px;font-size:12px;font-weight:800;line-height:1;display:inline-flex}.statement-summary .statement-summary-sign-plus{color:var(--primary-dark);background:#e7f4ed;border:1px solid #267a5647}.statement-summary .statement-summary-sign-minus{color:var(--accent);background:#fff0ec;border:1px solid #c9593f47}.statement-summary strong{font-size:15px}.statement-summary .net-pay-row{background:#cfe5fa;border-bottom:0;border-right:0;grid-column:1/-1}.statement-notice{color:var(--muted);text-align:center;font-size:12px;line-height:1.6}.statement-footer{text-align:center;line-height:1.7}.toast,.status-text,.error-text,.muted-text{font-size:14px}.toast,.status-text{color:var(--primary-dark);font-weight:700}.error-text{color:var(--accent);font-weight:700}.muted-text{color:var(--muted)}.confirm-backdrop{z-index:20;background:#2023206b;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.confirm-dialog{background:var(--surface);border:1px solid var(--line);width:min(100%,440px);box-shadow:var(--shadow);border-radius:8px;gap:14px;padding:18px;display:grid}@media (max-width:900px){.app-shell{padding:14px}.admin-grid,.summary-strip{grid-template-columns:1fr}.admin-summary{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.top-bar,.section-toolbar{flex-direction:column;align-items:flex-start}.toolbar-actions{width:100%}.month-input{width:min(100%,180px)}.employee-select{width:min(100%,240px)}}@media (max-width:768px){.statement-actions{flex-direction:column}.statement-actions>div:first-child{width:100%;min-width:0}.desktop-action{display:none}.mobile-action{display:inline-flex}}@media (max-width:560px){.login-panel,.content-section,.action-panel{padding:14px}.two-columns{grid-template-columns:1fr}.primary-button,.secondary-button,.danger-button{width:100%}.table-action-button{width:auto}.record-card{flex-direction:column;align-items:flex-start}.statement-sheet{padding:14px}.statement-actions{flex-direction:column}.statement-actions h2{font-size:22px}.statement-title{font-size:20px}.statement-meta,.statement-confirmation,.statement-summary{grid-template-columns:1fr 1fr;justify-self:stretch;width:100%}.statement-meta span,.statement-meta strong{border-bottom:1px solid var(--text)}.statement-summary div:nth-child(3n){border-right:1px solid var(--text)}.statement-summary div:nth-child(2n){border-right:0}.statement-confirmation{grid-template-columns:1fr}.statement-confirmation div{border-right:0;border-bottom:1px solid var(--text)}.statement-confirmation div:last-child{border-bottom:0}.metric strong{font-size:20px}.status-mark{width:52px;height:52px}}.statement-image-host{pointer-events:none;background:#fff;width:1120px;position:fixed;top:0;left:-200vw}.statement-image-source.statement-sheet{box-shadow:none;background:#fff;border-radius:0;gap:18px;padding:28px;width:1120px!important;max-width:1120px!important}.statement-image-source .no-print{display:none!important}.statement-image-source .statement-actions{flex-direction:row}.statement-image-source .statement-actions h2{font-size:30px}.statement-image-source .statement-meta{grid-template-columns:80px 150px 100px 170px;justify-self:end;width:auto}.statement-image-source .statement-meta-compact{grid-template-columns:80px 150px}.statement-image-source .statement-meta span,.statement-image-source .statement-meta strong{border-bottom:0}.statement-image-source .statement-confirmation{grid-template-columns:repeat(3,minmax(0,1fr));width:100%}.statement-image-source .statement-confirmation div{border-right:1px solid var(--text);border-bottom:0}.statement-image-source .statement-confirmation div:last-child{border-right:0}.statement-image-source .statement-table-wrap{overflow:visible}.statement-image-source .statement-table,.statement-image-source .statement-table-managed,.statement-image-source .statement-table-editable{min-width:760px}.statement-image-source .statement-summary{grid-template-columns:repeat(3,minmax(0,1fr));width:min(100%,620px)}.statement-image-source .statement-summary div{border-right:1px solid var(--text);border-bottom:1px solid var(--text)}.statement-image-source .statement-summary div:nth-child(2n){border-right:1px solid var(--text)}.statement-image-source .statement-summary div:nth-child(3n){border-right:0}.statement-image-source .statement-summary .net-pay-row{border-bottom:0;border-right:0}@media print{body{background:#fff}.top-bar,.employee-grid,.content-section,.no-print,.toast,.status-text,.error-text{display:none!important}.app-shell,.employee-shell{width:100%;max-width:none;padding:0}body.printing-statement .app-shell>:not(.statement-sheet){display:none!important}.statement-sheet{box-shadow:none;border:0;border-radius:0;padding:0}.statement-table-wrap{overflow:visible}}
