@import"https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;600;700&display=swap";*{box-sizing:border-box}body{margin:0;background:#f5f7fb;color:#182230;font-family:Noto Sans KR,sans-serif;font-size:14px}.app-loading{min-height:100vh;display:grid;place-content:center;justify-items:center;gap:18px;color:#475467}.app-loading img{width:min(310px,72vw);height:auto}.app{display:grid;grid-template-columns:230px 1fr;min-height:100vh}aside{background:#101b35;color:#b9c4d9;padding:24px 14px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:grid;gap:7px;padding:0 10px 28px}.brand img{display:block;width:100%;height:auto;background:#fff;border-radius:7px;padding:7px 8px}.brand small{text-align:center;color:#71809e;font-size:9px;letter-spacing:1.5px}nav{display:grid;gap:4px}button,.file{font:inherit;border:0;cursor:pointer}nav button{background:transparent;color:#aebbd1;border-radius:7px;padding:11px 13px;display:flex;gap:11px;align-items:center;text-align:left}nav button:hover,nav button.active{background:#1e3158;color:#fff}.logout{margin-top:auto;background:transparent;color:#9eabc0;padding:10px;display:flex;gap:8px;align-items:center}.logout:hover{color:#fff}.logout+.local{margin-top:8px}.local{margin-top:auto;background:#172644;border:1px solid #283b5f;padding:12px;border-radius:9px;display:flex;gap:9px}.local b,.local small{display:block;font-size:11px}.local small{color:#71809e;margin-top:3px}main{padding:30px 34px;min-width:0}.top{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.top h1{font-size:25px;margin:0 0 5px}.top p,.section-head p,section>p{margin:0;color:#788596}.top-actions,.actions,.print-controls{display:flex;gap:9px}.top input,.top select,input,select{border:1px solid #dce2ea;background:#fff;border-radius:7px;padding:9px 11px;color:#344054}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:20px}.card,section,.payslip{background:#fff;border:1px solid #e5e9f0;border-radius:10px;box-shadow:0 1px 2px #10182808}.card{padding:20px;position:relative}.card p{color:#697586;margin:0 0 8px}.card strong{display:block;font-size:23px;margin-bottom:7px}.card small{color:#8793a5}.card-icon{position:absolute;right:18px;top:18px;color:#3978f6;background:#edf4ff;padding:8px;border-radius:8px}section{padding:20px;margin-bottom:18px;overflow:hidden}.section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.section-head h2{margin:0 0 4px;font-size:17px}.primary,.ghost{padding:9px 14px;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;gap:7px}.primary{background:#2f6fed;color:#fff}.primary:disabled{opacity:.45}.ghost{background:#fff;border:1px solid #d8dee8;color:#354052}table{width:100%;border-collapse:collapse}th{text-align:left;background:#f8f9fb;color:#667085;font-size:12px;font-weight:600;padding:11px 13px;border-block:1px solid #e8ebf0}td{padding:13px;border-bottom:1px solid #edf0f4;color:#3c4656;white-space:nowrap}td small{display:block;color:#8b95a5;margin-top:4px}td b{color:#202939}.badge,.status{color:#19724b;background:#e9f8f0;padding:4px 8px;border-radius:12px;font-size:12px}.status:not(.done){color:#8a5d00;background:#fff5d9}.blue{color:#2368e8}.search{display:flex;align-items:center;border:1px solid #dce2ea;border-radius:7px;padding-left:10px}.search input{border:0;outline:0}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#10182888;z-index:10;display:grid;place-items:center}.modal{background:#fff;width:580px;max-height:88vh;overflow:auto;border-radius:12px;padding:24px}.x{background:none;font-size:25px}.form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form label,.inline-form label,.settings label{display:grid;gap:6px;color:#475467;font-size:12px}.full{grid-column:1/-1}.inline-form{display:flex;align-items:end;gap:10px;background:#f8fafc;padding:15px;border-radius:8px;margin-bottom:18px}.inline-form label{min-width:100px}.inline-form input{max-width:135px}.money-input{width:105px;padding:6px;text-align:right}.empty-row{padding:28px;color:#7b8797;text-align:center}.notice{background:#fff7e6;color:#8a6100;border:1px solid #ffe2a8;padding:11px;border-radius:7px;margin-bottom:15px;display:flex;gap:8px}.work-month-banner{display:flex;align-items:baseline;gap:10px;padding:14px 16px;margin-bottom:15px;color:#173f8a;background:#edf4ff;border:1px solid #cbdcff;border-radius:8px}.work-month-banner strong{font-size:20px}.work-month-banner small{margin-left:auto;color:#526986}.staff-work-total{display:flex;align-items:baseline;gap:12px;margin-bottom:15px;padding:16px;color:#fff;background:#172a4e;border-radius:8px}.staff-work-total strong{margin-left:auto;font-size:22px}.staff-work-total small{color:#c8d5e9}@media (max-width: 700px){.work-month-banner{align-items:flex-start;flex-direction:column}.work-month-banner small{margin-left:0}}.renewal-alert{display:inline-flex;align-items:center;gap:7px}.renewal-alert .ghost{padding:5px 8px;background:#fff}.table-scroll{overflow-x:auto}.print-controls{justify-content:flex-end;margin-bottom:15px}.payslip{max-width:760px;margin:auto;padding:45px}.payslip>h2{text-align:center;letter-spacing:8px;font-size:25px}.slip-meta,.employee-line{display:flex;justify-content:space-between;border-bottom:1px solid #dce1e8;padding:14px 0}.payslip h3{font-size:14px;margin-top:25px}.payslip dl{border-top:2px solid #2d3542;margin:0}.payslip dl div{display:flex;justify-content:space-between;padding:11px;border-bottom:1px solid #e5e8ed}.payslip dt,.payslip dd{margin:0}.payslip .total{background:#f7f9fc;font-weight:700}.net{display:flex;justify-content:space-between;background:#172a4e;color:#fff;padding:18px;margin-top:25px;font-size:18px}.payslip-memo{display:grid;gap:8px;margin-top:22px}.payslip-memo textarea{min-height:78px;resize:vertical;padding:11px;border:1px solid #dce1e8;border-radius:7px;font:inherit}.basis{text-align:center;color:#7b8797;font-size:12px}.branch-grid{display:grid;gap:18px}.settings{max-width:700px}.settings>label{max-width:360px;margin:25px 0}.branch-settings{display:grid;gap:8px;margin-bottom:30px}.branch-setting-row{display:grid;grid-template-columns:minmax(160px,1fr) auto auto;gap:10px;align-items:center;padding:12px 14px;border:1px solid #e1e6ee;border-radius:9px;background:#fff}.branch-setting-row small{display:block;margin-top:3px;color:#7a8697}.file input{display:none}.todo{background:#f8fafc;border:1px solid #e5e9f0;padding:18px;margin-top:28px;border-radius:8px}.todo p{color:#657185}.settings code{background:#e9edf3;padding:2px 5px}.branch-summary{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-bottom:18px}.branch-box{background:#fff;border:1px solid #e3e8f0;border-left:4px solid #3978f6;border-radius:9px;padding:15px 18px;display:grid;grid-template-columns:1fr auto;gap:4px 15px}.branch-box:nth-child(2){border-left-color:#18a673}.branch-box strong{font-size:18px}.branch-box small{color:#7d8998}.tabs{display:flex;gap:8px;margin-bottom:16px}.branch-사직점{box-shadow:inset 4px 0 #3978f6}.branch-금정점{box-shadow:inset 4px 0 #18a673}.employee-detail h3{margin-top:24px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.detail-grid p{background:#f7f9fc;padding:11px;margin:0;border-radius:7px}.detail-grid b{display:block;color:#7a8697;font-size:11px;margin-bottom:4px}.document-list{display:grid;gap:8px;margin-bottom:20px}.employee-pay-setting{padding:16px;margin:18px 0;background:#f7f9fc;border:1px solid #e1e7ef;border-radius:9px}.employee-info-form{margin:14px 0 18px;padding:16px;background:#f7f9fc;border:1px solid #e1e7ef;border-radius:9px}.staff-document-card{padding:14px;border:1px solid #e1e7ef;border-radius:9px}.staff-document-card h3{margin:0 0 10px}.staff-document-card h3 small{margin-left:8px;color:#718096;font-weight:400}.staff-user-list{display:grid;gap:8px;margin-top:14px}.staff-user-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;background:#f7f9fc;border:1px solid #e1e7ef;border-radius:8px}.staff-user-row small{display:block;margin-top:4px;color:#718096}.employee-pay-setting h3{margin-top:0}.current-pay{display:grid;gap:5px;margin-bottom:12px}.current-pay span{display:flex;justify-content:space-between}.current-pay b{color:#2768dc;font-size:18px}.current-pay small,.pay-setting-form>small{color:#718096}.pay-setting-form{margin-top:14px}.document-row{display:grid;grid-template-columns:120px 1fr auto auto;gap:8px;align-items:center;border:1px solid #e3e8ef;padding:10px;border-radius:7px}.document-row span small{display:block;color:#8994a4}.contract-upload{grid-template-columns:120px 1fr auto}.contract-upload label:not(.file){display:flex;align-items:center;gap:8px}.contract-upload label:not(.file) span{color:#7a8697;white-space:nowrap}.contract-upload input[type=number]{width:110px}.danger{background:#fff0f0;color:#b42318;border:1px solid #ffd0cc;padding:8px 12px;border-radius:7px}.row-actions{display:flex;gap:6px;white-space:nowrap}.row-actions button{padding:6px 9px}.row-actions button:disabled{cursor:not-allowed;opacity:.45}.employee-detail>.danger{width:100%}@media (max-width: 1100px){.stats{grid-template-columns:1fr 1fr}.app{grid-template-columns:205px 1fr}main{padding:24px 20px}}.auth-page{min-height:100vh;display:grid;place-items:center;background:#eef3fa;padding:25px}.auth-card{width:420px;background:#fff;border:1px solid #dfe5ee;border-radius:14px;padding:35px;box-shadow:0 15px 45px #15213b18;display:grid;gap:15px}.auth-card h1{margin:10px 0 0}.auth-card p{color:#718096;margin:0 0 10px}.auth-card label{display:grid;gap:6px}.auth-logo{display:grid;justify-items:center;gap:8px}.auth-logo img{display:block;width:min(100%,310px);height:auto}.auth-logo small{color:#718096;font-size:10px;letter-spacing:2px}.auth-card.complete{text-align:center;justify-items:center}.form-error{background:#fff0f0;color:#b42318;padding:10px;border-radius:7px}.onboarding{min-height:100vh;background:#f4f7fb}.onboarding header{height:65px;background:#11203d;color:#fff;display:flex;justify-content:space-between;align-items:center;padding:0 max(25px,calc((100% - 850px)/2))}.onboarding-brand{display:flex;align-items:center}.onboarding-brand img{display:block;width:205px;height:auto;background:#fff;border-radius:6px;padding:5px 7px}.required-mark{color:#d92d20;font-style:normal;font-weight:700}.onboarding>main{max-width:850px;margin:auto;padding:35px 20px}.onboarding>main>h1{margin-bottom:5px}.onboarding-form{background:#fff;border:1px solid #e1e7ef;border-radius:12px;padding:25px;margin-top:22px}.onboarding-form h2{font-size:17px;margin-top:30px}.self-docs{display:grid;gap:8px}.self-docs>label{display:grid;grid-template-columns:150px 1fr auto;align-items:center;padding:11px;border:1px solid #e1e6ee;border-radius:8px}.self-docs input{display:none}.self-docs>label>span:nth-child(2){color:#8490a1}.consent{display:flex;gap:8px;margin:25px 0}.submit{width:100%;padding:13px}.pending-box{margin-top:22px;border-top:1px solid #e4e8ef;padding-top:15px}.pending-row{display:flex;justify-content:space-between;align-items:center;background:#f7f9fc;padding:12px;margin-top:8px;border-radius:8px}.pending-row small{display:block;color:#8792a2;margin-top:4px}@media (max-width: 600px){.onboarding header{height:58px;gap:10px;padding:0 12px}.onboarding-brand{flex:0 1 140px;min-width:0}.onboarding-brand img{width:100%;max-width:140px;padding:4px 5px}.onboarding header>span{flex:1 1 auto;min-width:0;font-size:12px;line-height:1.3;text-align:right;white-space:nowrap}.onboarding>main{padding:24px 14px}.onboarding>main>h1{font-size:22px}.onboarding-form{padding:18px 14px;margin-top:18px}.onboarding-form .form{grid-template-columns:minmax(0,1fr);gap:14px}.onboarding-form .form label{min-width:0}.onboarding-form .form input{width:100%}.self-docs>label{grid-template-columns:minmax(0,1fr) auto;gap:5px 10px}.self-docs>label>span:nth-child(2){grid-column:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.self-docs>label>span:last-child{grid-column:2;grid-row:1 / span 2;align-self:center}.branch-setting-row{grid-template-columns:1fr 1fr}.branch-setting-row>div{grid-column:1 / -1}}@media print{aside,.top,.print-controls{display:none!important}.app{display:block}main{padding:0}.payslip{border:0;box-shadow:none;max-width:none}.payslip~*{display:none}}
