*{box-sizing:border-box}body{color:#222;background:#f5f6f8;margin:0;font-family:Malgun Gothic,Apple SD Gothic Neo,sans-serif}.home{flex-direction:column;justify-content:center;align-items:center;min-height:100vh;display:flex}.home h1{margin:0 0 8px;font-size:40px}.home p{color:#666;margin:0}.card{text-align:center;background:#fff;border-radius:12px;flex-direction:column;gap:16px;width:360px;max-width:calc(100% - 32px);padding:32px;display:flex;box-shadow:0 2px 12px #00000014}.card h1{margin:0 0 8px;font-size:28px}.login label{text-align:left;color:#444;flex-direction:column;gap:6px;font-size:14px;display:flex}.login input{border:1px solid #ccd0d5;border-radius:8px;padding:10px 12px;font-size:15px}.login input:focus{border-color:#0000;outline:2px solid #2f6fed}button{color:#fff;cursor:pointer;background:#2f6fed;border:none;border-radius:8px;padding:11px;font-size:15px}button:disabled{opacity:.6;cursor:default}button.secondary{color:#333;background:#eef0f3}button.link{color:#2f6fed;background:0 0;padding:0;font-size:14px}.form-error{margin:0;font-size:14px;color:#b42318!important}button.small{padding:6px 12px;font-size:13px}.layout{grid-template-rows:56px 1fr;grid-template-columns:200px 1fr;min-height:100vh;display:grid}.topbar{background:#fff;border-bottom:1px solid #e3e6ea;grid-column:1/-1;justify-content:space-between;align-items:center;padding:0 20px;display:flex}.brand{color:#222;font-size:18px;font-weight:700;text-decoration:none}.me{align-items:center;gap:12px;font-size:14px;display:flex}.badge{color:#2f6fed;background:#e8efff;border-radius:10px;margin-left:6px;padding:2px 8px;font-size:12px}.sidebar{background:#fff;border-right:1px solid #e3e6ea;flex-direction:column;gap:2px;padding:16px 12px;display:flex}.sidebar a{color:#333;border-radius:8px;padding:9px 12px;font-size:15px;text-decoration:none}.sidebar a:hover{background:#f1f3f6}.sidebar a.active{color:#2f6fed;background:#e8efff;font-weight:600}.menu-title{color:#888;margin:16px 12px 4px;font-size:12px}.content{padding:28px 32px}.page h2{margin:0 0 8px;font-size:22px}.muted{color:#666}@media (width<=700px){.layout{grid-template-rows:56px auto 1fr;grid-template-columns:1fr}.sidebar{border-bottom:1px solid #e3e6ea;border-right:none;flex-flow:wrap}.menu-title{display:none}.content{padding:20px 16px}}.status{border-radius:8px;margin-top:24px;padding:6px 14px;font-size:13px}.status-checking{color:#555;background:#eef0f3}.status-ok{color:#1a7f3c;background:#e6f6ec}.status-error{color:#b42318;background:#fdecec}.two-col{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px;margin-top:20px;display:grid}.panel{background:#fff;border-radius:12px;padding:20px;box-shadow:0 1px 6px #0000000f}.panel h3{margin:0 0 12px;font-size:17px}.row{gap:8px;display:flex}.row input,.org-list input{border:1px solid #ccd0d5;border-radius:8px;flex:1;min-width:0;padding:8px 10px;font-size:14px}.row button{padding:8px 16px}.panel .form-error{margin-top:8px}.org-list{margin:12px 0 0;padding:0;list-style:none}.org-list li{border-bottom:1px solid #f0f1f3;align-items:center;gap:6px;padding:8px 4px;display:flex}.org-list li.inactive .org-name{color:#999}.org-name{flex:1;font-size:15px}.tag{color:#888;background:#f1f1f1;border-radius:6px;margin-left:8px;padding:1px 6px;font-size:12px}.page-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.page-head button{padding:9px 16px}.row.end{justify-content:flex-end}.toolbar{max-width:480px;margin:16px 0 12px}select{background:#fff;border:1px solid #ccd0d5;border-radius:8px;padding:8px 10px;font-size:14px}.user-form{flex-direction:column;gap:12px;max-width:480px;margin-bottom:16px;display:flex}.user-form label{color:#444;flex-direction:column;gap:4px;font-size:14px;display:flex}.user-form input,.user-form select{border:1px solid #ccd0d5;border-radius:8px;padding:8px 10px;font-size:14px}.user-form input:disabled{color:#777;background:#f3f4f6}.notice{border:2px solid #2f6fed;max-width:480px;margin-bottom:16px}.notice p{margin:6px 0}.temp-password{letter-spacing:1px;text-align:center;-webkit-user-select:all;user-select:all;background:#f1f5ff;border-radius:8px;margin:12px 0;padding:12px;font-family:Consolas,monospace;font-size:22px}.table-wrap{background:#fff;border-radius:12px;overflow-x:auto;box-shadow:0 1px 6px #0000000f}.table{border-collapse:collapse;width:100%;font-size:14px}.table th,.table td{text-align:left;white-space:nowrap;border-bottom:1px solid #f0f1f3;padding:10px 12px}.table th{color:#555;background:#f8f9fb;font-weight:600}.table tr.inactive td{color:#999}.table .actions{justify-content:flex-end;gap:6px;display:flex}.center{text-align:center!important}.tabs{border-bottom:1px solid #e3e6ea;gap:4px;margin-bottom:16px;display:flex}.tab{color:#555;background:0 0;border-bottom:2px solid #0000;border-radius:8px 8px 0 0;padding:9px 16px}.tab.active{color:#2f6fed;border-bottom-color:#2f6fed;font-weight:600}.perm-table input[type=checkbox]{cursor:pointer;width:18px;height:18px}.perm-help{margin-top:16px;padding-left:18px;font-size:13px;line-height:1.8}.type-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-top:16px;display:grid}.type-card{color:#222;background:#fff;border:2px solid #0000;border-radius:12px;flex-direction:column;gap:6px;padding:18px;text-decoration:none;display:flex;box-shadow:0 1px 6px #0000000f}.type-card:hover{border-color:#2f6fed}.type-card span{color:#666;font-size:13px}.type-card.disabled{opacity:.55}.type-card.disabled:hover{border-color:#0000}.doc-editor{max-width:860px}.doc-meta{background:#fff;border-radius:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px 16px;margin:12px 0 16px;padding:14px 16px;font-size:14px;display:grid}.doc-meta span{color:#888;min-width:64px;margin-right:8px;display:inline-block}.doc-form{flex-direction:column;gap:16px;display:flex}.field{grid-template-columns:110px 1fr;align-items:start;gap:12px;display:grid}.field-label{color:#444;padding-top:8px;font-size:14px;font-weight:600}.field input,.field textarea{border:1px solid #ccd0d5;border-radius:8px;width:100%;padding:8px 10px;font-family:inherit;font-size:14px}.field textarea{resize:vertical}.choices{flex-wrap:wrap;gap:18px;padding-top:8px;font-size:14px;display:flex}.choices input{width:auto}.hint{color:#2f6fed;margin-top:6px;font-size:14px}.quote-table{margin-bottom:8px}.quote-table td{padding:4px}.quote-table input{padding:6px 8px}.quote-table input.num{text-align:right}.doc-actions{align-items:center;margin-top:16px}.spacer{flex:1}button.danger{color:#b42318;background:#fdecec}.save-message{color:#1a7f3c;font-size:14px}@media (width<=700px){.field{grid-template-columns:1fr;gap:4px}.field-label{padding-top:0}}.money{flex-direction:column;gap:8px;max-width:420px;display:flex}.money>label{grid-template-columns:70px 1fr auto;align-items:center;gap:8px;font-size:14px;display:grid}.money input.num{text-align:right}.money input:disabled{background:#f3f4f6}.money label.check{color:#555;gap:6px;display:flex}.money label.check input{width:auto}.money-total{border-top:1px dashed #d5d9de;grid-template-columns:70px 1fr;gap:8px;padding-top:8px;font-size:14px;display:grid}.money-total b{color:#2f6fed}.approver-picker{margin-top:16px}.approver-picker select{flex:1;min-width:0}.line-list{margin:12px 0 0;padding-left:22px}.line-list li{padding:6px 0}.line-list li>*{vertical-align:middle}.line-name{min-width:240px;margin-right:8px;font-size:15px;display:inline-block}.line-list button{margin-right:4px}.small-text{font-size:13px}.status-badge{color:#555;background:#eef0f3;border-radius:10px;padding:2px 10px;font-size:12px;display:inline-block}.status-badge.s-in_progress{color:#b25e00;background:#fff4e0}.status-badge.s-approved{color:#1a7f3c;background:#e6f6ec}.status-badge.s-rejected{color:#b42318;background:#fdecec}.doc-view{max-width:860px}.stamp-row{flex-wrap:wrap;justify-content:flex-end;gap:0;margin:8px 0 4px;display:flex}.stamp{text-align:center;background:#fff;border:1px solid #c9ced6;width:96px;margin-left:-1px;font-size:13px}.stamp-title{background:#f3f4f6;border-bottom:1px solid #c9ced6;padding:4px}.stamp-name{padding:8px 4px 2px;font-weight:600}.stamp-state{color:#888;flex-direction:column;padding:2px 4px 8px;display:flex}.stamp.s-pending .stamp-state{color:#b25e00;font-weight:600}.stamp.s-approved .stamp-state{color:#1a7f3c}.view-fields{flex-direction:column;gap:12px;display:flex}.view-row{grid-template-columns:110px 1fr;gap:12px;font-size:15px;display:grid}.view-row>span:first-child{color:#666;font-size:14px;font-weight:600}.title-row{border-bottom:1px solid #eef0f3;margin-bottom:12px;padding-bottom:12px}.view-lead{color:#444;margin:4px 0}.pre{white-space:pre-wrap}.table td.num{text-align:right}.history{margin-top:16px}.history ul{margin:0;padding:0;list-style:none}.history li{border-bottom:1px solid #f0f1f3;flex-wrap:wrap;gap:10px;padding:8px 0;font-size:14px;display:flex}@media (width<=700px){.view-row{grid-template-columns:1fr;gap:4px}.line-name{min-width:0;display:block}}.notice-box{color:#34495e;background:#f1f5ff;border-radius:8px;margin:4px 0 12px;padding:10px 14px;font-size:14px}.notice-box.strong{color:#8a4b00;background:#fff4e0}button:focus:not(:focus-visible){outline:none}button:focus-visible{outline-offset:2px;outline:2px solid #2f6fed}.tab:focus,.tab:focus-visible{outline:none}.tab:focus-visible{background:#eef3ff}.doc-meta{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.doc-meta>div{white-space:nowrap}.action-box{border:2px solid #2f6fed;flex-direction:column;gap:10px;margin-top:16px;display:flex}.action-box h3,.action-box p{margin:0}.notice-box.done{color:#1a7f3c;background:#e6f6ec;margin-top:16px}.home-cards{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-top:20px;display:grid}.home-card{color:#222;background:#fff;border:2px solid #0000;border-radius:12px;flex-direction:column;gap:8px;padding:20px;text-decoration:none;display:flex;box-shadow:0 1px 6px #0000000f}.home-card:hover{border-color:#2f6fed}.home-card span{color:#666;font-size:14px}.home-card b{font-size:26px}.home-card.alert b{color:#b25e00}.home-card.new b{color:#2f6fed;font-size:18px}.reject-box{color:#7a1d15;background:#fdecec;border:1px solid #f5c2c0;border-radius:10px;flex-direction:column;gap:8px;margin:4px 0 12px;padding:14px 16px;font-size:14px;display:flex}.reject-reason{white-space:pre-wrap;font-size:15px}.history li.rejected b,.history li.rejected span:not(.muted){color:#b42318}.round-tag{color:#555;background:#eef0f3;border-radius:6px;padding:0 6px;font-size:12px}.past-version{border-top:1px dashed #d5d9de;margin-top:14px;padding-top:14px}.home-card.danger b{color:#b42318}.stamps{flex-wrap:wrap;justify-content:flex-end;gap:16px;margin:8px 0 4px;display:flex}.stamp-group{align-items:stretch;display:flex}.stamp-label{writing-mode:vertical-rl;letter-spacing:4px;background:#f3f4f6;border:1px solid #c9ced6;border-right:none;justify-content:center;align-items:center;padding:6px 4px;font-size:13px;display:flex}.stamps .stamp-row{margin:0}.stamp.s-rejected .stamp-state{color:#b42318}.action-box.agree{border-color:#7a5af8}.line-list.unordered{list-style:outside}.cc-row{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;margin:6px 0 4px;font-size:13px;display:flex}.cc-label{color:#666;font-weight:600}.cc-person{background:#fff;border:1px solid #d5d9de;border-radius:12px;align-items:center;gap:6px;padding:3px 10px;display:inline-flex}.cc-person small{color:#b25e00}.cc-person.read small{color:#1a7f3c}.new-dot{color:#2f6fed;background:#e8efff;border-radius:6px;margin-left:8px;padding:1px 6px;font-size:11px}.home-card.info b{color:#2f6fed}.row.wrap{flex-wrap:wrap}button.direct{border:1px solid #b9c6e8}.skip-box{background:#f5f7ff;border-radius:8px;flex-direction:column;gap:8px;padding:12px 14px;font-size:14px;display:flex}.skip-box label{cursor:pointer;align-items:center;gap:8px;display:flex}.stamp.via-final.s-skipped,.stamp.via-final.s-skipped .stamp-name{color:#aaa;background:linear-gradient(to top right,#0000 calc(50% - 1px),#c9ced6,#0000 calc(50% + 1px))}.stamp.via-final.s-approved .stamp-state{color:#1a7f3c;font-weight:700}.stamp.via-skip.s-skipped .stamp-state{color:#8a6d00}.notice-box.row-between{justify-content:space-between;align-items:center;gap:12px;display:flex}.template-form{flex-direction:column;gap:12px;margin-bottom:16px;display:flex}.template-form .approver-picker{box-shadow:none;border:1px solid #e3e6ea;margin-top:0}.template-loader{margin-top:16px}.template-loader .row{align-items:center}.template-loader .field-label{white-space:nowrap;padding-top:0}.template-loader select{flex:1;min-width:0}.table td.wrap-cell{white-space:normal;line-height:1.7}.absence-form{flex-direction:column;gap:12px;max-width:640px;margin:16px 0 24px;display:flex}.absence-form .row input[type=date]{flex:0 180px}.absence-form select{width:100%}.section-title{margin:8px 0 12px;font-size:17px}.absence-state{color:#555;background:#eef0f3;border-radius:10px;padding:2px 10px;font-size:12px;display:inline-block}.absence-state.active{color:#1a7f3c;background:#e6f6ec}.absence-state.planned{color:#2f6fed;background:#e8efff}.proxy-tag{color:#6b3fd4;background:#f4ecff;border-radius:6px;margin-left:8px;padding:1px 6px;font-size:11px}.notice-box.proxy{color:#4b2a99;background:#f4ecff;margin-bottom:8px}.stamp-state small.proxy{color:#6b3fd4}.check-line{align-items:center;gap:6px;margin:8px 0 12px;font-size:14px;display:inline-flex}.replace-box{border:2px solid #2f6fed;flex-direction:column;gap:12px;max-width:640px;margin-bottom:16px;display:flex}.choices.column{flex-direction:column;gap:8px}.danger-tag{color:#b42318;background:#fdecec}.table tr.stuck td{background:#fff6f5}.inactive-person{color:#b42318;font-weight:600}.expense-items{flex-direction:column;gap:8px;min-width:0;display:flex}.expense-items label.check{color:#555;align-items:center;gap:6px;display:flex}.expense-items label.check input{width:auto}.table-wrap.flat{box-shadow:none;border:1px solid #e3e6ea}.expense-table input,.expense-table select{width:100%;min-width:80px}.expense-table input[type=date]{min-width:130px}.diff{color:#1a7f3c;font-size:13px}.diff.over{color:#b42318;font-weight:600}.diff.same{color:#555}.table tr.total-row td{background:#f8f9fb;font-weight:600}.applicant{flex-wrap:wrap;gap:18px;padding-top:8px;font-size:15px;display:flex}.applicant em{color:#888;margin-right:4px;font-size:13px;font-style:normal}.choices.sub{background:#f5f7ff;border-radius:8px;margin-top:4px;padding:6px 10px;display:inline-flex}.date-range input[type=date]{flex:0 180px}.days-row{align-items:center;gap:8px;margin-top:8px;font-size:14px;display:flex}.field .days-row input.days{text-align:right;width:70px}.leave-closing{text-align:center;color:#333;margin-top:16px;line-height:1.9}.leave-closing p{margin:0}.companions{flex-direction:column;gap:8px;display:flex}.companions select{flex:1;min-width:0}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{color:#2f6fed;background:#e8efff;border-radius:14px;align-items:center;gap:4px;padding:3px 6px 3px 10px;font-size:13px;display:inline-flex}.chip button.link{padding:0 4px;font-size:12px}.sections{flex-direction:column;gap:10px;display:flex}.section-item{align-items:flex-start;gap:8px;display:flex}.section-no{color:#555;min-width:20px;padding-top:8px;font-weight:600}.section-body{flex-direction:column;flex:1;gap:6px;display:flex}.review-sections{flex-direction:column;gap:10px;margin:0;padding-left:20px;display:flex}.result-badge{background:#eef0f3;border-radius:12px;padding:3px 12px;font-weight:600;display:inline-block}.result-badge.ok{color:#1a7f3c;background:#e6f6ec}.result-badge.bad{color:#b42318;background:#fdecec}.result-badge.warn{color:#b25e00;background:#fff4e0}.result-badge.info{color:#2f6fed;background:#e8efff}.attachments{margin-top:16px}.row.between{justify-content:space-between;align-items:center}.attachments h3{margin:0}.file-list{margin:8px 0 0;padding:0;list-style:none}.file-list li{border-bottom:1px solid #f0f1f3;flex-wrap:wrap;align-items:center;gap:8px;padding:7px 0;display:flex}.file-name{text-align:left;word-break:break-all;font-size:14px}.tab-count{color:#666;background:#eef0f3;border-radius:10px;min-width:20px;margin-left:4px;padding:0 6px;font-size:12px;font-weight:500;line-height:18px;display:inline-block}.tab-count.hot{color:#b25e00;background:#fff4e0;font-weight:700}.center-row{justify-content:center;margin-top:12px}.bell{position:relative}.bell-button{background:0 0;padding:4px 8px;font-size:20px;line-height:1;position:relative}.bell-count{color:#fff;text-align:center;background:#e5484d;border-radius:9px;min-width:18px;padding:0 5px;font-size:11px;font-weight:700;line-height:18px;position:absolute;top:-4px;right:-4px}.bell-panel{z-index:20;background:#fff;border-radius:12px;width:360px;max-width:calc(100vw - 24px);max-height:460px;position:absolute;top:40px;right:0;overflow-y:auto;box-shadow:0 8px 28px #00000029}.bell-head{background:#fff;border-bottom:1px solid #eef0f3;padding:12px 14px;position:sticky;top:0}.bell-panel ul{margin:0;padding:0;list-style:none}.bell-panel li{cursor:pointer;border-bottom:1px solid #f3f4f6;padding:10px 14px}.bell-panel li:hover{background:#f7f9ff}.bell-panel li.read{opacity:.55}.bell-panel li.empty{cursor:default;text-align:center;padding:24px}.bell-title{font-size:14px;font-weight:600}.bell-title .dot{color:#e5484d;vertical-align:middle;font-size:10px}.bell-body{color:#555;word-break:break-all;margin-top:2px;font-size:13px}.bell-time{color:#999;margin-top:2px;font-size:12px}.head-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.head-actions .check-line{margin:0}.print-only{display:none}@page{size:A4;margin:14mm}@media print{body{background:#fff}.topbar,.sidebar,.no-print{display:none!important}.layout{min-height:0;display:block}.content{padding:0}.print-only{display:block}.print-sheet{color:#000;font-size:11pt}.print-sheet table{border-collapse:collapse;width:100%}.print-sheet th,.print-sheet td{vertical-align:middle;border:1px solid #000;padding:4px 6px}.print-warning{text-align:right;color:#b42318;margin-bottom:4px;font-size:9pt}.print-title{text-align:center;letter-spacing:6px;border-bottom:3px solid #000;margin:0 0 10px;padding-bottom:8px;font-size:26pt}.print-head>tbody>tr>td{vertical-align:top;border:none;padding:0}.print-meta{width:50%}.print-meta th{white-space:nowrap;background:#f2f2f2;width:80px;font-weight:600}.print-stamps table{width:auto;margin-left:auto}.print-stamps th{text-align:center;background:#f2f2f2;min-width:70px;font-weight:600}.print-stamp-label{width:22px;min-width:22px!important}.print-stamp{text-align:center;height:80px;font-size:9.5pt}.print-stamp.slash{background:linear-gradient(to top right,#0000 calc(50% - .5px),#000,#0000 calc(50% + .5px))}.print-stamp-name{font-weight:700}.print-stamp-state{margin-top:4px}.print-stamp-proxy,.print-stamp-date{font-size:8pt}.print-title-row{margin-top:8px}.print-title-row th{background:#f2f2f2;width:80px}.print-body{border-top:1px solid #000;border-bottom:1px solid #000;margin-top:10px;padding:10px 6px}.print-body .view-row{grid-template-columns:110px 1fr}.print-body .table-wrap{box-shadow:none;border:none}.print-body a{color:#000;text-decoration:none}.print-body .result-badge,.print-body .status-badge{border:1px solid #000;color:#000!important;background:0 0!important}.print-foot{margin-top:8px;font-size:10pt;line-height:1.7}.print-foot b{margin-right:6px}.print-history{break-inside:avoid;margin-top:12px;font-size:9pt}.print-history table{margin-top:4px}}.view-lead.center{text-align:center}.stamp-img{object-fit:contain;width:44px;height:44px;margin:0 auto 2px;display:block}.print-stamp-img{object-fit:contain;width:48px;height:48px;margin:2px auto;display:block}.my-info .panel{flex-direction:column;gap:10px;margin-bottom:16px;display:flex}.my-info .panel h3{margin:0}.stamp-setting{flex-wrap:wrap;align-items:flex-start;gap:20px;display:flex}.stamp-preview{text-align:center;background:#fff;border:1px dashed #c9ced6;border-radius:12px;justify-content:center;align-items:center;width:120px;height:120px;padding:8px;display:flex}.stamp-preview img{max-width:100%;max-height:100%}.stamp-actions{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.stamp-actions p{margin:0}.pw-form{max-width:560px}.days-input{text-align:right;border:1px solid #ccd0d5;border-radius:8px;width:80px;padding:6px 8px}.table td.over{color:#b42318}.leave-balance{padding-top:8px;font-size:14px;display:block}.table th.center{text-align:center}.filter-bar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;display:flex}.filter-bar input,.filter-bar select{background:#fff;border:1px solid #ccd0d5;border-radius:8px;padding:7px 10px;font-size:14px}.filter-q{flex:220px;min-width:180px}.filter-date{align-items:center;gap:6px;display:inline-flex}.expense-summary{flex-direction:column;gap:4px;margin:8px 0 12px;display:flex}.expense-summary>div:first-child{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.expense-summary b{color:#2f6fed;font-size:20px}.on{color:#1a7f3c;font-weight:600}.off{color:#b42318;font-weight:600}.edited-badge{color:#8a4b00;background:#fff4e0;border-radius:10px;padding:2px 10px;font-size:12px;font-weight:600;display:inline-block}.admin-edit{border:2px solid #b25e00}.admin-edit h3{margin:0}.diff-box{background:#fffaf0;border-radius:8px;flex-direction:column;gap:6px;margin:8px 0;padding:10px 12px;font-size:14px;display:flex}.table td.diff-from{color:#b42318;-webkit-text-decoration:line-through #b4231880;text-decoration:line-through #b4231880}.table td.diff-to{color:#1a7f3c;font-weight:600}button.admin-edit-btn{border:1px solid #e0b36a}
