:root{--bg:#f6f7f9;--surface:#fff;--border:#e3e6eb;--text:#1c2330;--muted:#6b7482;--primary:#2f5bea;--primary-soft:#eaf0ff;--danger:#d23a3a;--line:#b8c0cc;--sidebar:#1c2330;--radius:8px;color:var(--text);background:var(--bg);font-family:Pretendard,Apple SD Gothic Neo,Malgun Gothic,system-ui,sans-serif;font-size:14px}*{box-sizing:border-box}body{margin:0}h1{margin:0 0 4px;font-size:22px}h2{margin:0;font-size:17px}button,input,select{font:inherit;color:inherit}.muted{color:var(--muted);margin:0}.center{text-align:center}.mono{font-variant-numeric:tabular-nums;font-family:ui-monospace,Consolas,monospace;font-size:13px}.error{color:var(--danger);border-radius:var(--radius);background:#fdeeee;padding:8px 12px}.notice{color:#1d4e9e;background:var(--primary-soft);border-radius:var(--radius);margin:0 0 12px;padding:8px 12px}.small{margin-top:12px;font-size:12px}.link{color:var(--primary);cursor:pointer;background:0 0;border:0;padding:0}.link:hover{text-decoration:underline}.layout{min-height:100vh;display:flex}.sidebar{background:var(--sidebar);color:#cfd5de;box-sizing:border-box;flex-direction:column;flex-shrink:0;width:200px;height:100vh;padding:20px 12px;display:flex;position:sticky;top:0}.sidebar-nav{scrollbar-width:thin;scrollbar-color:#3a4456 transparent;flex:1;min-height:0;margin:0 -4px;padding:0 4px;overflow-y:auto}.nav-badge{color:#fff;background:#e5484d;border-radius:9px;margin-left:6px;padding:1px 6px;font-size:11px;font-weight:700}.sidebar-user{border-top:1px solid #2f3848;flex:none;margin-top:10px;padding:14px 10px 0;font-size:13px}.sidebar-user .who{flex-direction:column;gap:2px;margin-bottom:8px;display:flex}.sidebar-user .who strong{color:#fff}.sidebar-user .who span{color:#7d8796;font-size:12px}.sidebar-user .who-actions{align-items:center;gap:12px;display:flex}.sidebar-user .logout-btn{color:#fff;background:0 0;border-color:#4a5468}.sidebar-user .logout-btn:hover{background:#2a3342}.sidebar-user .link{color:#9fb3ff;font-size:12px}.brand{color:#fff;letter-spacing:1px;padding:0 10px 20px;font-size:20px;font-weight:800}.nav-group{color:#7d8796;margin:0 0 6px;padding:0 10px;font-size:12px}.sidebar nav{flex-direction:column;gap:2px;display:flex}.sidebar a{color:inherit;border-radius:6px;padding:8px 10px;text-decoration:none}.sidebar a:hover{background:#2a3342}.sidebar a.active{background:var(--primary);color:#fff}.content{flex:1;min-width:0;padding:28px 32px}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.toolbar{gap:8px;display:flex}.search{border:1px solid var(--border);background:var(--surface);border-radius:6px;width:220px;padding:7px 10px}.btn{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:6px;padding:7px 14px}a.btn{color:var(--text);text-decoration:none;display:inline-block}a.btn.primary{color:#fff}.btn:hover{background:#f0f2f5}.btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn.primary:hover{background:#2549c4}.btn.primary:disabled{opacity:.6;cursor:default}.btn.small{padding:3px 9px;font-size:13px}.btn.block{width:100%;margin-top:4px;padding:10px}.btn.danger{color:var(--danger)}.icon-btn{cursor:pointer;color:var(--muted);background:0 0;border:0;font-size:22px;line-height:1}.table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;padding:10px 12px}th{color:var(--muted);background:#fafbfc;font-size:13px;font-weight:600}tr:last-child td{border-bottom:0}.row-actions{text-align:right;justify-content:flex-end;gap:6px;display:flex}.status{color:#1e7a3c;background:#e8f6ec;border-radius:10px;padding:2px 8px;font-size:12px}.status.leave{color:#9a6200;background:#fff4e0}.status.resigned{color:#777;background:#eee}.status.exec{background:var(--primary-soft);color:var(--primary)}.modal-backdrop{z-index:10;background:#141a2473;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{background:var(--surface);border-radius:12px;width:min(640px,100%);max-height:90vh;padding:20px 24px;overflow:auto;box-shadow:0 20px 50px #0003}.modal-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.form-grid{grid-template-columns:1fr 1fr;gap:12px 16px;display:grid}.form-grid label{color:var(--muted);flex-direction:column;gap:4px;font-size:13px;display:flex}.form-grid.single{grid-template-columns:1fr}.form-grid .span-2{grid-column:span 2}.form-grid input:disabled{color:var(--muted);background:#f3f4f6}.form-grid label.checkbox{color:var(--text);flex-direction:row;align-items:center;gap:8px;padding-top:20px}.form-grid input:not([type=checkbox]),.form-grid select{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:6px;padding:8px 10px}.form-actions{justify-content:flex-end;gap:8px;margin-top:20px;display:flex}.org-scroll{padding:8px 0 24px;overflow-x:auto}.org-tree,.org-tree ul{justify-content:center;margin:0;padding:24px 0 0;list-style:none;display:flex;position:relative}.org-tree{min-width:max-content;padding-top:0}.org-tree li{flex-direction:column;align-items:center;padding:24px 10px 0;display:flex;position:relative}.org-tree>li{padding-top:0}.org-tree li:before,.org-tree li:after{content:"";border-top:1.5px solid var(--line);width:50%;height:24px;position:absolute;top:0}.org-tree li:before{right:50%}.org-tree li:after{border-left:1.5px solid var(--line);left:50%}.org-tree li:only-child:before,.org-tree li:only-child:after,.org-tree li:first-child:before,.org-tree li:last-child:after{border-top:0}.org-tree li:last-child:before{border-right:1.5px solid var(--line);border-radius:0 6px 0 0}.org-tree li:first-child:after{border-radius:6px 0 0}.org-tree>li:before,.org-tree>li:after{display:none}.org-tree ul:before{content:"";border-left:1.5px solid var(--line);height:24px;position:absolute;top:0;left:50%}.org-card{background:var(--surface);border:1px solid var(--border);border-top:3px solid var(--primary);border-radius:var(--radius);width:170px;box-shadow:0 1px 3px #0000000d}.org-card.on-leave{border-top-color:#e2a232}.org-card-main{cursor:pointer;border-radius:var(--radius) var(--radius) 0 0;background:0 0;border:0;flex-direction:column;align-items:center;gap:3px;width:100%;padding:12px 8px 8px;display:flex}.org-card-main:not(:disabled):hover{background:var(--primary-soft)}.org-card-main:disabled{cursor:default;color:inherit;border-radius:var(--radius)}.org-title{color:var(--primary);text-align:center;font-size:12px;font-weight:600}.org-name{font-size:16px;font-weight:700}.org-name.placeholder{color:#aab1bc;font-weight:500}.org-dept{color:var(--muted);font-size:12px}.org-approver{color:var(--muted);background:#f3f4f6;border-radius:8px;margin-top:2px;padding:1px 7px;font-size:11px}.org-approver.self{color:#1e7a3c;background:#e8f6ec}.badge{color:#9a6200;background:#fff4e0;border-radius:8px;padding:1px 6px;font-size:11px}.org-add{border:0;border-top:1px dashed var(--border);width:100%;color:var(--muted);cursor:pointer;border-radius:0 0 var(--radius) var(--radius);background:0 0;padding:5px;font-size:12px}.org-add:hover{color:var(--primary);background:#fafbfc}.auth-screen{background:linear-gradient(160deg,#1c2330 0%,#2b3a55 100%);place-items:center;min-height:100vh;padding:16px;display:grid}.auth-screen>.muted{color:#cfd5de}.auth-card{background:var(--surface);border-radius:14px;flex-direction:column;gap:12px;width:min(380px,100%);padding:32px 28px;display:flex;box-shadow:0 24px 60px #0000004d}.auth-card h1{margin:0}.auth-card>.muted{margin-bottom:8px}.auth-brand{letter-spacing:2px;color:var(--primary);font-size:14px;font-weight:800}.auth-card label{color:var(--muted);flex-direction:column;gap:4px;font-size:13px;display:flex}.auth-card input{border:1px solid var(--border);color:var(--text);border-radius:6px;padding:10px 12px;font-size:15px}.auth-card input:focus,.form-grid input:focus,.form-grid select:focus,.search:focus{outline:2px solid var(--primary-soft);border-color:var(--primary)}.auth-card .error,.auth-card .notice{margin:0;font-size:13px}.auth-switch{text-align:center;color:var(--muted);margin:4px 0 0;font-size:13px}.pending-box{margin-bottom:24px}.pending-box h2{align-items:center;gap:6px;margin-bottom:8px;font-size:15px;display:flex}.pending-box .table-wrap{background:#fffaf2;border-color:#f1c27d}.pending-box th{background:#fff4e0}.count{color:#fff;background:#e5484d;border-radius:9px;padding:1px 7px;font-size:12px}.nav-section+.nav-section{margin-top:16px}.section-title{margin:28px 0 10px;font-size:15px}.search.narrow{width:auto}.num{text-align:right;font-variant-numeric:tabular-nums}.wrap{white-space:normal;max-width:260px}.warn-text{color:var(--danger)}tr.dim td{color:var(--muted)}.empty{background:var(--surface);border:1px dashed var(--border);border-radius:var(--radius);text-align:center;color:var(--muted);padding:40px}.chip{background:#f0f2f5;border-radius:10px;padding:2px 8px;font-size:12px}.required{color:var(--danger)}.placement{background:var(--primary-soft);color:#1d4e9e;border-radius:var(--radius);margin:0;padding:8px 12px;font-size:13px}.small-link{margin-top:12px;font-size:13px}.warn-badge{color:var(--danger);background:#fdeeee;border-radius:10px;padding:2px 8px;font-size:12px}.grant-preview{background:var(--primary-soft);color:#1d4e9e;border-radius:var(--radius);padding:10px 14px;font-size:14px}.grant-preview .link{margin-left:8px;font-size:13px}.grant-preview ul{flex-direction:column;gap:2px;margin:8px 0 0;padding:0;font-size:13px;list-style:none;display:flex}.grant-preview .small{margin-top:4px}.inline-form{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.inline-form input{border:1px solid var(--border);background:var(--surface);border-radius:6px;padding:7px 10px}.stat-row{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:4px;padding:14px 16px;display:flex}.stat span{color:var(--muted);font-size:13px}.stat strong{font-variant-numeric:tabular-nums;font-size:24px}.stat em{color:var(--muted);font-size:12px;font-style:normal}.stat.primary{background:var(--primary);border-color:var(--primary)}.stat.primary span,.stat.primary strong{color:#fff}.accruals{margin-top:10px;font-size:13px}.accruals ul{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:4px;margin:8px 0 0;padding:12px 16px;list-style:none;display:flex}.accruals li.future{color:var(--muted)}.accruals li.future:after{content:" (예정)"}.leave-summary{border-radius:var(--radius);background:var(--primary-soft);color:#1d4e9e;margin-top:16px;padding:10px 14px;font-size:14px}.leave-summary.warn{color:var(--danger);background:#fdeeee}.status.leave-pending{color:#9a6200;background:#fff4e0}.status.leave-approved{color:#1e7a3c;background:#e8f6ec}.status.leave-rejected{color:var(--danger);background:#fdeeee}.status.leave-cancelled{color:#777;background:#eee}.adjust-history{border-radius:var(--radius);background:#fafbfc;flex-direction:column;gap:4px;margin:0 0 14px;padding:10px 14px;font-size:13px;list-style:none;display:flex}.card-list{flex-direction:column;gap:10px;display:flex}.approval-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);border-left:4px solid #e2a232;justify-content:space-between;align-items:center;gap:16px;padding:14px 18px;display:flex}.approval-main{flex-direction:column;gap:6px;min-width:0;display:flex}.approval-who{align-items:baseline;gap:8px;display:flex}.approval-who strong{font-size:16px}.approval-what{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.approval-period{font-weight:600}.approval-reason{color:#4a5260;margin:0}.approval-actions{flex-shrink:0;gap:8px;display:flex}.month-nav{align-items:center}.month-nav strong{text-align:center;min-width:110px;font-size:16px}.calendar{background:var(--border);border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.cal-head{text-align:center;color:var(--muted);background:#fafbfc;padding:8px 0;font-size:13px;font-weight:600}.cal-head.sun,.cal-date .sun{color:#d23a3a}.cal-head.sat,.cal-date .sat{color:#2f5bea}.cal-cell{background:var(--surface);flex-direction:column;gap:3px;min-width:0;min-height:96px;padding:6px;display:flex}.cal-cell.blank{background:#fafbfc}.cal-cell.off{background:#fbfbfc}.cal-cell.today .cal-date>span:first-child{background:var(--primary);color:#fff;border-radius:50%;place-items:center;width:22px;height:22px;display:inline-grid}.cal-date{align-items:center;gap:4px;font-size:13px;font-weight:600;display:flex}.cal-holiday{color:#d23a3a;white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:400;overflow:hidden}.cal-item{background:var(--primary-soft);color:#1d4e9e;white-space:nowrap;text-overflow:ellipsis;border-radius:4px;padding:2px 6px;font-size:12px;overflow:hidden}.cal-item.pending{color:var(--muted);background:0 0;border:1px dashed #9fb3ff}.cal-item small{opacity:.75}.cal-more{color:var(--muted);padding-left:2px;font-size:11px}.calendar.selectable .cal-cell{cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:none}.calendar.selectable .cal-cell:hover{background:#f4f7ff}.calendar .cal-cell.selected{background:#dfe8ff}.calendar .cal-cell.selected.off{background:#e9eefc}.calendar .cal-cell.sel-start{box-shadow:inset 3px 0 0 var(--primary)}.calendar .cal-cell.sel-end{box-shadow:inset -3px 0 0 var(--primary)}.calendar .cal-cell.sel-start.sel-end{box-shadow:inset 0 0 0 2px var(--primary)}.calendar.compact .cal-cell{gap:2px;min-height:62px;padding:4px}.calendar.compact .cal-head{padding:5px 0;font-size:12px}.calendar.compact .cal-item{padding:1px 4px;font-size:11px}.calendar.compact .cal-holiday{font-size:10px}.modal.wide{width:min(980px,100%)}.leave-form-layout{grid-template-columns:minmax(0,1.5fr) minmax(260px,1fr);align-items:start;gap:24px;display:grid}.leave-form-calendar .small{margin-top:8px}.compact-nav{justify-content:center;align-items:center;gap:10px;margin-bottom:8px;display:flex}.compact-nav strong{text-align:center;min-width:100px}.date-pair{grid-template-columns:1fr 1fr;gap:12px;display:grid}.date-pair label{color:var(--muted);flex-direction:column;gap:4px;font-size:13px;display:flex}.date-pair input,.date-pair select{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:6px;min-width:0;padding:8px 10px}.leave-form-layout .leave-summary{margin-top:4px}.leave-summary-period{margin-bottom:2px;font-weight:600}@media (width<=820px){.leave-form-layout{grid-template-columns:1fr}}@media (width<=720px){.stat-row{grid-template-columns:1fr 1fr}.approval-card{flex-direction:column;align-items:stretch}.cal-cell{min-height:64px;padding:3px}.cal-item{padding:1px 3px;font-size:10px}.cal-holiday{display:none}.sidebar .nav-section{display:contents}.layout{flex-direction:column}.sidebar{width:auto;height:auto;padding:12px 16px;position:static}.sidebar-nav{display:contents}.brand{padding:0 0 8px}.nav-group{display:none}.sidebar nav{flex-direction:row;overflow-x:auto}.sidebar a{white-space:nowrap}.sidebar-user{justify-content:space-between;align-items:center;margin-top:10px;padding:10px 0 0;display:flex}.sidebar-user .who{margin:0}.content{padding:20px 16px}.form-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:auto}.search,.toolbar{width:100%}}.tabs{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:4px;margin-bottom:14px;display:flex}.tabs button{cursor:pointer;color:var(--muted);background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:4px;margin-bottom:-1px;padding:9px 14px;display:flex}.tabs button.active{color:var(--primary);border-bottom-color:var(--primary);font-weight:600}table.clickable tbody tr{cursor:pointer}table.clickable tbody tr:hover td{background:#f7f9fd}.error.pre{white-space:pre-line}.expense-head{flex-wrap:wrap;gap:12px;margin-bottom:14px;display:flex}.expense-head label{color:var(--muted);flex-direction:column;gap:4px;font-size:13px;display:flex}.expense-head label.grow{min-width:240px}.expense-head input,.expense-head select,.expense-rows input{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:6px;width:100%;min-width:0;padding:8px 10px}.expense-rows{border-collapse:collapse;width:100%;margin-bottom:16px}.expense-rows th{text-align:left;color:var(--muted);background:0 0;border:0;padding:4px 6px;font-size:13px;font-weight:600}.expense-rows td{white-space:normal;border:0;padding:3px 4px}.expense-rows td:first-child{width:26%}.expense-rows td:nth-child(2){width:18%}.expense-rows td:nth-child(4){width:28px}.expense-rows input.num{text-align:right}.expense-rows tfoot td{padding-top:8px}.receipt-title{margin-bottom:6px;font-size:14px}.receipt-title .muted{font-size:12px}.dropzone{border:2px dashed var(--border);border-radius:var(--radius);text-align:center;color:var(--muted);cursor:pointer;background:#fafbfc;padding:18px}.dropzone:hover,.dropzone.over{border-color:var(--primary);background:var(--primary-soft);color:var(--primary)}.thumbs{flex-wrap:wrap;gap:10px;margin-top:10px;display:flex}.thumb{width:110px;color:var(--muted);flex-direction:column;gap:4px;font-size:11px;display:flex;position:relative}.thumb img,.thumb-pdf{object-fit:cover;border:1px solid var(--border);background:#fff;border-radius:6px;width:110px;height:110px}.thumb-pdf{color:var(--danger);place-items:center;font-weight:700;display:grid}.thumb.new img,.thumb.new .thumb-pdf{border-color:var(--primary)}.thumb span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.thumb-x{color:#fff;cursor:pointer;background:#1c2330;border:0;border-radius:50%;width:22px;height:22px;line-height:1;position:absolute;top:-6px;right:-6px}.doc-scroll{border:1px solid var(--border);border-radius:var(--radius);background:#fff;max-height:62vh;padding:16px;overflow:auto}.decision-bar{gap:8px;margin-top:16px;display:flex}.decision-bar input{border:1px solid var(--border);border-radius:6px;flex:1;padding:8px 10px}.expense-doc{color:#111;font-size:13px}.doc-top{grid-template-columns:1fr auto 1fr;align-items:end;margin-bottom:14px;display:grid}.doc-no{color:#555;align-self:end;font-size:12px}.doc-title{letter-spacing:12px;text-align:center;margin:0;font-size:28px;font-weight:800}.doc-approval{border-collapse:collapse;justify-self:end}.doc-approval th,.doc-approval td{text-align:center;white-space:nowrap;background:#fff;border:1px solid #333;padding:3px 8px;font-size:12px}.doc-approval th{color:#111;background:#f3f3f3;font-weight:600}.doc-approval td{min-width:70px;height:46px}.stamp{padding:2px 6px;display:inline-block}.stamp.ok{color:#c62828;border:2px solid #c62828;border-radius:50%;padding:6px 8px;font-weight:700}.doc-state{color:#777;font-size:11px}.doc-state.rejected{color:var(--danger);font-weight:700}.doc-body{border:2px solid #111;grid-template-columns:1.15fr 1fr;display:grid}.doc-items,.doc-claim{border-collapse:collapse;width:100%;height:100%}.doc-items{border-right:2px solid #111}.doc-items th,.doc-items td,.doc-claim th,.doc-claim td{color:#111;white-space:normal;background:#fff;border:1px solid #555;padding:6px 8px}.doc-items th{text-align:center;background:#f3f3f3;font-weight:700}.doc-items .doc-section{letter-spacing:16px;font-size:14px}.doc-items td.num,.doc-items tfoot td.num{text-align:right;font-variant-numeric:tabular-nums}.doc-items td.note{white-space:pre-line;font-size:12px}.doc-items tr.blank td{height:30px}.doc-items tfoot th{background:#f3f3f3}.doc-claim th{text-align:center;background:#f3f3f3;width:34%;font-weight:600}.doc-amount{text-align:center;padding:16px 8px!important}.amount-ko{letter-spacing:1px;font-size:18px;font-weight:800}.amount-num{margin-top:2px;font-size:14px}.doc-sentence{text-align:center;padding:14px 8px!important}.doc-date,.doc-claimant{text-align:center}.seal{color:#999;margin-left:6px}.doc-comment{margin:10px 0 0;font-size:12px}.doc-receipts{margin-top:22px}.doc-receipts h2{border-bottom:1px solid #ccc;margin:0 0 10px;padding-bottom:4px;font-size:14px}.doc-receipts figure{text-align:center;break-inside:avoid;margin:0 0 16px}.doc-receipts img{border:1px solid #ddd;max-width:100%;max-height:900px}.doc-receipts figcaption{color:#777;margin-top:4px;font-size:11px}.doc-pdfs{padding-left:0;font-size:13px;list-style:none}.doc-no-receipt{color:#9a6200;background:#fff4e0;border-radius:6px;margin-top:16px;padding:8px 12px;font-size:13px}.expense-doc.preview{position:relative}.expense-doc.preview:before{content:"미리보기";color:#2f5bea12;pointer-events:none;letter-spacing:8px;white-space:nowrap;font-size:72px;font-weight:900;position:absolute;top:40%;left:50%;transform:translate(-50%,-50%)rotate(-18deg)}.print-page{background:#fff;max-width:210mm;min-height:100vh;margin:0 auto;padding:16px}.print-toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;display:flex}@media (width<=720px){.doc-body{grid-template-columns:1fr}.doc-items{border-bottom:2px solid #111;border-right:0}.doc-top{grid-template-columns:1fr;gap:8px}.doc-approval{justify-self:center}.doc-title{letter-spacing:6px;font-size:22px}}@media print{@page{size:A4;margin:12mm}body{background:#fff}.print-toolbar{display:none}.print-page{max-width:none;padding:0}.doc-body{grid-template-columns:1.15fr 1fr}.doc-items{border-bottom:0;border-right:2px solid #111}.doc-top{grid-template-columns:1fr auto 1fr}.doc-receipts{break-before:auto}.doc-receipts img{max-height:240mm}}.bank-fields{grid-template-columns:1fr 1.4fr 1fr;gap:10px;display:grid}.bank-fields label{color:var(--muted);flex-direction:column;gap:4px;font-size:13px;display:flex}.bank-fields input{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:6px;min-width:0;padding:8px 10px}.bank-fields .hint{color:#9a6200;font-size:11px}.manual-account{border:1px solid var(--border);border-radius:var(--radius);background:#fafbfc;flex-direction:column;gap:10px;margin:-4px 0 14px;padding:12px;display:flex}.checkbox-inline{align-items:center;gap:6px;font-size:13px;display:flex}.expense-head .small-link{color:var(--primary);margin-left:6px;font-size:12px}.account-list{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;display:grid}.account-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:10px;padding:14px 16px;display:flex}.account-card.default{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary) inset}.account-top{align-items:center;gap:8px;display:flex}.account-no{letter-spacing:.5px;font-size:17px}.account-main{flex-direction:column;gap:4px;display:flex}.account-card .row-actions{justify-content:flex-start}@media (width<=720px){.bank-fields{grid-template-columns:1fr}}.brand-row{justify-content:space-between;align-items:center;padding:0 4px 0 0;display:flex}.brand-row .brand{padding-bottom:0}.brand-row{margin-bottom:20px}.bell{position:relative}.bell-btn{color:#cfd5de;cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;padding:6px;display:grid;position:relative}.bell-btn:hover{color:#fff;background:#2a3342}.bell-count{color:#fff;background:#e5484d;border-radius:8px;place-items:center;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:700;display:grid;position:absolute;top:0;right:-2px}.bell-panel{z-index:20;background:var(--surface);width:340px;max-height:70vh;color:var(--text);border:1px solid var(--border);border-radius:10px;flex-direction:column;display:flex;position:absolute;top:36px;left:0;box-shadow:0 16px 40px #00000040}.bell-panel header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.bell-panel ul{margin:0;padding:0;list-style:none;overflow:auto}.bell-panel li.muted{text-align:center;padding:16px}.bell-item{text-align:left;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #f0f2f5;flex-direction:column;gap:2px;width:100%;padding:10px 14px 10px 22px;display:flex;position:relative}.bell-item:hover{background:#f7f9fd}.bell-item.unread{background:#f4f7ff}.bell-item.unread:before{content:"";background:var(--primary);border-radius:50%;width:7px;height:7px;position:absolute;top:15px;left:9px}.bell-title{font-size:13px;font-weight:600}.bell-body{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.bell-time{color:#9aa2ae;font-size:11px}.doc-kind{border-radius:4px;padding:2px 7px;font-size:11px;font-weight:700}.doc-kind.leave{color:#1e7a3c;background:#e8f6ec}.doc-kind.expense{color:var(--primary);background:#eaf0ff}.approval-card.expense{border-left-color:var(--primary)}.chip.warn{color:var(--danger);background:#fdeeee}.section-title .count{margin-left:4px}.filter-row{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;display:flex}.filter-row input[type=date]{border:1px solid var(--border);background:var(--surface);border-radius:6px;padding:6px 8px}.seg{border:1px solid var(--border);background:var(--surface);border-radius:6px;display:inline-flex;overflow:hidden}.seg button{cursor:pointer;color:var(--muted);background:0 0;border:0;padding:6px 12px;font-size:13px}.seg button.active{background:var(--primary-soft);color:var(--primary);font-weight:600}.report-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;margin-top:16px;display:grid}.bar-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px}.bar-card h3{margin:0 0 8px;font-size:14px}.bar-table{border-collapse:collapse;width:100%}.bar-table th{border-bottom:1px solid var(--border);background:0 0;padding:4px 6px;font-size:12px}.bar-table td{white-space:nowrap;border:0;padding:5px 6px;font-size:13px}.bar-table tr:hover td{background:#f7f9fd}.bar-label{text-overflow:ellipsis;max-width:110px;overflow:hidden}.bar-col{width:45%}.bar{background:var(--primary);border-radius:0 4px 4px 0;min-width:2px;height:10px}.stat em.warn-text{color:var(--danger)}@media (width<=720px){.bell-panel{width:auto;position:fixed;top:56px;left:8px;right:8px}.brand-row{margin-bottom:8px}}.tile-row{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;display:grid}.tile{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:inherit;flex-direction:column;gap:4px;padding:14px 16px;text-decoration:none;transition:border-color .15s,box-shadow .15s;display:flex}.tile:hover{border-color:var(--primary);box-shadow:0 2px 8px #2f5bea1f}.tile.attention{border-left:4px solid #e2a232}.tile-label{color:var(--muted);font-size:13px}.tile-value{font-variant-numeric:tabular-nums;font-size:28px;line-height:1.2}.tile-value small{margin-left:2px;font-size:15px;font-weight:600}.tile-sub{color:var(--muted);font-size:12px}.dash-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:start;gap:12px;margin-top:12px;display:grid}.dash-col{flex-direction:column;gap:12px;display:flex}.dash-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px}.dash-card h2{align-items:center;gap:6px;margin:0 0 8px;font-size:15px;display:flex}.small-top{margin:-4px 0 8px;font-size:12px}.card-link{color:var(--primary);margin-top:10px;font-size:13px;text-decoration:none;display:inline-block}.week-list{margin:0;padding:0;list-style:none}.week-list li{border-bottom:1px solid #f0f2f5;grid-template-columns:96px 1fr;align-items:center;gap:8px;padding:7px 0;display:grid}.week-list li:last-child{border-bottom:0}.week-list li.off .week-day{color:#9aa2ae}.week-day{font-size:13px;font-weight:600}.week-day em{color:var(--primary);margin-left:4px;font-size:11px;font-style:normal}.week-people{flex-wrap:wrap;gap:4px;font-size:13px;display:flex}.person-chip{background:var(--primary-soft);color:#1d4e9e;border-radius:10px;padding:2px 9px;font-size:12px}.person-chip.pending{color:var(--muted);background:0 0;border:1px dashed #9fb3ff}.holiday-name{color:var(--danger);font-size:12px}.next-leave{flex-wrap:wrap;align-items:center;gap:8px;margin:0;display:flex}.kv{margin:0;padding:0;font-size:13px;list-style:none}.kv li{border-bottom:1px solid #f0f2f5;justify-content:space-between;gap:8px;padding:5px 0;display:flex}.kv li:last-child{border-bottom:0}.kv li.warn strong{color:var(--danger)}.kv a{color:var(--primary);text-decoration:none}.note-list{margin:0;padding:0;font-size:13px;list-style:none}.note-list li{justify-content:space-between;gap:8px;padding:5px 0;display:flex}.note-list li a{color:inherit;text-overflow:ellipsis;white-space:nowrap;text-decoration:none;overflow:hidden}.note-list li.unread a{font-weight:600}.note-list li.unread a:before{content:"● ";color:var(--primary);vertical-align:middle;font-size:9px}.admin-todo{margin-top:12px}.admin-todo ul{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:6px 16px;margin:0;padding:0;list-style:none;display:grid}.admin-todo li{grid-template-columns:22px auto 1fr auto;align-items:center;gap:8px;padding:6px 0;font-size:13px;display:grid}.admin-todo li a{color:var(--primary);white-space:nowrap;font-size:12px;text-decoration:none}.todo-icon{border-radius:50%;place-items:center;width:20px;height:20px;font-size:12px;font-weight:800;display:grid}.admin-todo li.ok .todo-icon{color:#1e7a3c;background:#e8f6ec}.admin-todo li.todo .todo-icon{color:#9a6200;background:#fff4e0}@media (width<=900px){.dash-grid{grid-template-columns:1fr}}.doc-kind.cancel{color:#9a6200;background:#fff4e0}.approval-card.cancel{border-left-color:#e2a232}.import-steps{flex-direction:column;gap:10px;margin:0 0 14px;padding-left:20px;display:flex}.import-steps li{flex-wrap:wrap;align-items:center;gap:6px 10px;display:flex}.import-steps .muted{font-size:13px}.small-file{color:var(--muted);font-size:12px}.import-summary{color:#1e7a3c;border-radius:var(--radius);background:#e8f6ec;flex-wrap:wrap;gap:6px 12px;margin-bottom:10px;padding:10px 14px;display:flex}.import-summary.bad{color:var(--danger);background:#fdeeee}.import-table{max-height:46vh;overflow:auto}.import-table tr.row-error td{background:#fff8f8}.settle-head{flex-wrap:wrap;align-items:end;gap:10px 16px;margin-bottom:14px;display:flex}.settle-head label{color:var(--muted);flex-direction:column;gap:4px;font-size:13px;display:flex}.settle-head input{border:1px solid var(--border);border-radius:6px;padding:6px 8px}.settle-compare{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;display:grid}.settle-box{border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:2px;padding:12px 14px;display:flex}.settle-box span{color:var(--muted);font-size:12px}.settle-box strong{font-variant-numeric:tabular-nums;font-size:24px}.settle-box em{color:var(--muted);font-size:12px;font-style:normal}.settle-box.warn{background:#fffaf2;border-color:#e2a232}.settle-box.warn strong{color:#9a6200}.settle-box.ok strong{color:#1e7a3c}tr.total-row th,tr.total-row td{background:#fafbfc}.settle-detail{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin-top:8px;font-size:13px;display:grid}.settle-detail h3{margin:0 0 4px;font-size:13px}.settle-detail ul{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.dash-calendar{margin-top:12px}.dash-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.leave-cal-bar{flex-wrap:wrap;align-items:center;gap:8px 16px;margin-bottom:10px;display:flex}.leave-cal-bar h2{margin:0}.leave-cal-bar .month-nav strong{white-space:nowrap;min-width:0;font-size:15px}.leave-cal-options{flex-wrap:wrap;align-items:center;gap:8px;margin-left:auto;display:flex}.leave-cal-options select{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:6px;padding:4px 8px;font-size:13px}.seg{border:1px solid var(--border);border-radius:6px;display:inline-flex;overflow:hidden}.seg button{background:var(--surface);cursor:pointer;color:var(--text);border:0;padding:4px 11px;font-size:13px}.seg button+button{border-left:1px solid var(--border)}.seg button.on{background:var(--primary);color:#fff}.leave-cal-foot{flex-wrap:wrap;align-items:center;gap:4px 14px;margin-top:8px;font-size:12px;display:flex}.leave-cal-foot .card-link{margin:0 0 0 auto}.mine-legend:before{content:"";vertical-align:-1px;background:#ffe9c7;border:1px solid #f0b85a;border-radius:3px;width:10px;height:10px;margin-right:4px;display:inline-block}.cal-item.mine,.week-item.mine{color:#7a4b00;background:#ffe9c7}.cal-item.mine.pending,.week-item.mine.pending{background:0 0;border-color:#f0b85a}.week-grid{background:var(--border);border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.week-cell{background:var(--surface);flex-direction:column;gap:4px;min-width:0;min-height:120px;padding:6px;display:flex}.week-cell.off{background:#fbfbfc}.week-cell.today{box-shadow:inset 0 2px 0 var(--primary)}.week-head{justify-content:space-between;align-items:center;font-size:13px;font-weight:600;display:flex}.week-head .sun{color:#d23a3a}.week-head .sat{color:#2f5bea}.week-head em{color:#fff;background:var(--primary);border-radius:8px;padding:0 6px;font-size:11px;font-style:normal}.week-item{background:var(--primary-soft);color:#1d4e9e;border:1px solid #0000;border-radius:4px;flex-wrap:wrap;gap:0 4px;min-width:0;padding:3px 6px;font-size:12px;display:flex}.week-item.pending{color:var(--muted);background:0 0;border:1px dashed #9fb3ff}.week-item small{opacity:.75}.week-item span{opacity:.8;text-overflow:ellipsis;white-space:nowrap;flex-basis:100%;font-size:11px;overflow:hidden}.week-empty{color:#c3c9d2;font-size:12px}.two-months{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.two-months-title{margin:0 0 6px;font-size:14px;font-weight:600}.cal-settings section+section{border-top:1px solid var(--border);margin-top:18px;padding-top:16px}.cal-settings h3{margin:0 0 4px;font-size:14px}.cal-settings .muted{font-size:13px}.check-list{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin-top:10px;display:grid}.check-list label{align-items:center;gap:6px;font-size:14px;display:flex}.check-list label.dim{color:var(--muted)}.check-list small{font-size:11px}.policy-scope{align-items:center;gap:8px;margin-top:12px;font-size:14px;display:flex}.policy-scope select{border:1px solid var(--border);border-radius:6px;padding:5px 8px}@media (width<=820px){.two-months,.week-grid{grid-template-columns:1fr}.week-cell{flex-flow:wrap;align-items:center;min-height:0}.week-head{width:64px}.leave-cal-options{margin-left:0}}.doc-kind.general{color:#444;background:#f0f2f5}.doc-kind.proposal{color:#6b3fc4;background:#f3ecff}.doc-kind.purchase{color:#136c78;background:#e6f6f8}.doc-kind.cooperation{color:#9a6200;background:#fff4e0}.doc-list-title{white-space:normal;max-width:360px}.step-dots{vertical-align:middle;gap:3px;display:inline-flex}.step-dots i{background:#dde1e7;border-radius:50%;width:9px;height:9px}.step-dots i.approved{background:#1e7a3c}.step-dots i.pending{background:#f0a020}.step-dots i.rejected{background:var(--danger)}.small-text{font-size:12px}.form-chooser{grid-template-columns:1fr 1fr;gap:10px;display:grid}.form-card{text-align:left;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);cursor:pointer;flex-direction:column;gap:6px;padding:14px 16px;display:flex}.form-card:hover{border-color:var(--primary);background:#f7f9fd}.form-card strong{font-size:15px}.form-card .muted{font-size:12px;line-height:1.5}.doc-form-grid{grid-template-columns:minmax(0,1fr) 260px;gap:20px;display:grid}.doc-form-main{flex-direction:column;gap:12px;min-width:0;display:flex}.doc-form .field{color:var(--muted);flex-direction:column;gap:4px;font-size:13px;display:flex}.doc-form .field.narrow{max-width:200px}.doc-form .field-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.doc-form input,.doc-form select,.doc-form textarea{border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;border-radius:6px;min-width:0;padding:8px 10px}.doc-form textarea{resize:vertical;line-height:1.5}.item-rows{border-collapse:collapse;width:100%}.item-rows th{text-align:left;color:var(--muted);background:0 0;border:0;padding:4px;font-size:12px;font-weight:600}.item-rows td{white-space:nowrap;border:0;padding:2px 3px}.item-rows input{width:100%}.item-rows input.qty{width:60px}.item-rows .num,.item-rows input.num{text-align:right;font-variant-numeric:tabular-nums}.item-rows td.num{color:var(--text);padding-right:8px}.item-foot{color:var(--text);justify-content:space-between;align-items:center;display:flex}.attach-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.file-chip{color:var(--text);background:#f0f2f5;border-radius:12px;align-items:center;gap:4px;max-width:220px;padding:3px 4px 3px 9px;font-size:12px;display:inline-flex}.file-chip.new{background:#eaf0ff}.file-chip button{cursor:pointer;color:var(--muted);background:0 0;border:0;padding:0 4px;font-size:14px;line-height:1}.line-editor{border:1px solid var(--border);border-radius:var(--radius);background:#fafbfc;flex-direction:column;align-self:start;gap:8px;padding:12px;display:flex}.line-editor h3{margin:4px 0 0;font-size:13px}.line-editor h3 .muted{font-size:11px;font-weight:400}.line-editor ol{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.line-editor li{background:var(--surface);border:1px solid var(--border);border-radius:6px;align-items:center;gap:8px;padding:6px 6px 6px 8px;display:flex}.line-no{background:var(--primary-soft);width:20px;height:20px;color:var(--primary);border-radius:50%;flex:none;place-items:center;font-size:11px;font-weight:700;display:grid}.line-who{flex-direction:column;flex:1;min-width:0;font-size:13px;display:flex}.line-who small{color:var(--muted);font-size:11px}.line-who small.warn-text{color:#9a6200}.line-btns{display:flex}.line-btns button{cursor:pointer;color:var(--muted);background:0 0;border:0;padding:2px 4px}.line-btns button:disabled{opacity:.3;cursor:default}.line-btns button:not(:disabled):hover{color:var(--text)}.line-editor select{padding:6px 8px;font-size:13px}.ref-chips{flex-wrap:wrap;gap:4px;display:flex}.proposal-pick{color:var(--muted);flex-direction:column;gap:4px;max-width:520px;margin:-4px 0 14px;font-size:13px;display:flex}.proposal-pick select{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:6px;padding:8px 10px}.doc-approval-wrap{justify-content:flex-end;margin-bottom:14px;display:flex;overflow-x:auto}.doc-approval.line th.side{width:22px;min-width:0;padding:3px;line-height:1.6}.doc-approval.line td{min-width:76px}.doc-approval.line tr.dates td{color:#555;height:auto;font-size:11px}.stamp.no{color:var(--danger);border:2px solid var(--danger);border-radius:4px;padding:4px 6px;font-weight:700}.doc-state.now{color:#9a6200;font-weight:700}.doc-meta{border-collapse:collapse;border:2px solid #111;width:100%}.doc-meta th,.doc-meta td{color:#111;white-space:normal;text-align:left;background:#fff;border:1px solid #555;padding:7px 10px}.doc-meta th{text-align:center;background:#f3f3f3;width:14%;font-weight:600}.doc-subject{font-size:15px;font-weight:700}.doc-section-block{margin-top:18px}.doc-section-block h2{border-bottom:1px solid #ccc;margin:0 0 8px;padding-bottom:4px;font-size:14px}.doc-section-block p{margin:0;line-height:1.7}.doc-items-table{border-collapse:collapse;width:100%}.doc-items-table th,.doc-items-table td{color:#111;white-space:normal;background:#fff;border:1px solid #555;padding:6px 8px}.doc-items-table th{text-align:center;background:#f3f3f3;font-weight:600}.doc-items-table .num{text-align:right;font-variant-numeric:tabular-nums}.doc-items-table td.note{font-size:12px}.doc-total{text-align:right;margin:8px 0 0!important}.doc-comments{margin:0;padding-left:18px;line-height:1.7}.table-scroll{overflow-x:auto}@media (width<=860px){.doc-form-grid{grid-template-columns:1fr}}@media (width<=720px){.form-chooser,.doc-form .field-row{grid-template-columns:1fr}.doc-approval-wrap{justify-content:flex-start}}@media print{.doc-approval-wrap{overflow:visible}.doc-section-block,.doc-items-table tr{break-inside:avoid}}.seal-section{margin-bottom:28px}.seal-section-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.seal-section-head h2{margin:0;font-size:16px}.seal-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-top:10px;display:grid}.seal-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:8px;padding:12px;display:flex}.seal-card.default{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary) inset}.seal-img{background:repeating-conic-gradient(#f4f5f7 0% 25%,#fff 0% 50%) 0 0/16px 16px;border-radius:6px;place-items:center;height:110px;display:grid}.seal-img img{max-width:90%;max-height:100px}.seal-img.corp{height:150px}.seal-img.corp img{max-height:140px}.seal-card-body{flex-direction:column;gap:2px;display:flex}.seal-card-actions{gap:12px;font-size:13px;display:flex}.danger-text{color:var(--danger)}.seal-creator{flex-direction:column;gap:12px;display:flex}.seal-creator .field{color:var(--muted);flex-direction:column;gap:4px;font-size:13px;display:flex}.seal-creator input:not([type=file]){border:1px solid var(--border);font:inherit;border-radius:6px;padding:8px 10px}.sign-pad-wrap{flex-direction:column;gap:6px;display:flex}.sign-pad{border:1px dashed var(--line);border-radius:var(--radius);touch-action:none;cursor:crosshair;background:#fff;width:100%;height:200px}.sign-pad-tools{align-items:center;gap:8px;display:flex}.sign-pad-tools select{border:1px solid var(--border);border-radius:6px;padding:4px 6px;font-size:13px}.grow{flex:1}.ink{width:20px;height:20px;box-shadow:0 0 0 1px var(--border);cursor:pointer;border:2px solid #fff;border-radius:50%}.ink.on{box-shadow:0 0 0 2px var(--primary)}.maker{flex-wrap:wrap;align-items:flex-start;gap:16px;display:flex}.maker-fields{flex-direction:column;flex:1;gap:10px;min-width:200px;display:flex}.seal-preview{border:1px solid var(--border);border-radius:var(--radius);background:repeating-conic-gradient(#f4f5f7 0% 25%,#fff 0% 50%) 0 0/16px 16px;flex:none}.seal-picker{border:1px solid var(--border);border-radius:var(--radius);background:#fafbfc;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;padding:10px 12px;display:flex}.seal-picker-label{margin-right:4px;font-size:13px;font-weight:600}.seal-tile{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:6px;place-items:center;width:76px;height:48px;padding:3px;display:grid}.seal-tile img{max-width:100%;max-height:40px}.seal-tile.on{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-soft)}.corp-check{align-items:center;gap:6px;font-size:13px;display:flex}.sign{flex-direction:column;align-items:center;gap:1px;display:inline-flex}.sign img{object-fit:contain;max-width:80px;height:34px}.sign small{color:#555;font-size:10px}.doc-corp{text-align:center;margin-top:24px}.doc-corp p{margin:4px 0}.doc-corp-date{font-weight:600}.doc-corp-sign{justify-content:center;align-items:center;min-height:100px;margin-top:8px;padding:0 60px 0 0;display:inline-flex;position:relative}.doc-corp-sign strong{letter-spacing:2px;z-index:1;font-size:18px;position:relative}.corp-seal{object-fit:contain;opacity:.92;mix-blend-mode:multiply;width:96px;height:96px;position:absolute;top:50%;right:-10px;transform:translateY(-50%)}.doc-hash{color:#555;word-break:break-all;border-top:1px dashed #bbb;margin-top:18px;padding-top:8px;font-size:11px}.mono{font-family:ui-monospace,Consolas,monospace}.lock-bar{border-radius:var(--radius);background:#f0f2f5;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;padding:8px 12px;font-size:13px;display:flex}.lock-bar.ok{color:#1e7a3c;background:#e7f5ec}.lock-bar.bad{color:var(--danger);background:#fdeeee}.chooser-head{color:var(--muted);margin:16px 0 8px;font-size:13px}.chooser-head:first-child{margin-top:0}.template-list{flex-direction:column;gap:6px;display:flex}.template-row{align-items:center;gap:4px;display:flex}.template-pick{text-align:left;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);cursor:pointer;flex-wrap:wrap;flex:1;align-items:center;gap:10px;padding:10px 12px;display:flex}.template-pick:hover{border-color:var(--primary);background:#f7f9fd}@media print{.corp-seal{mix-blend-mode:normal}}.board-toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:10px;display:flex}.board-search{align-items:center;gap:8px;display:flex}.board-list .board-title{white-space:normal;min-width:240px}.board-list tr.pinned td{background:#fffaf0}.board-list tr.unread .board-title{font-weight:700}.pin{margin-right:4px}.new-dot{color:#fff;background:var(--danger);vertical-align:1px;border-radius:8px;margin-left:6px;padding:0 5px;font-size:10px;font-weight:700;display:inline-block}.comment-count{color:var(--primary);margin-left:4px;font-size:12px;font-weight:600}.pager{justify-content:center;gap:4px;margin-top:14px;display:flex}.post-title{margin:0 0 6px;font-size:20px}.post-meta{border-bottom:1px solid var(--border);margin-bottom:16px;padding-bottom:12px;font-size:13px}.post-body{white-space:pre-wrap;word-break:break-word;line-height:1.7}.post-files{border-top:1px dashed var(--border);margin-top:18px;padding-top:12px}.post-files ul{flex-direction:column;gap:4px;margin:0;padding:0;font-size:14px;list-style:none;display:flex}.post-images{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.post-images img{border:1px solid var(--border);border-radius:6px;max-width:100%;max-height:360px}.post-actions{justify-content:flex-end;gap:6px;margin-top:12px;display:flex}.readers{border-radius:var(--radius);background:#fafbfc;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px;padding:12px;font-size:13px;display:grid}.readers h3{margin:0 0 4px;font-size:13px}.readers p{margin:0;line-height:1.6}.comments{border-top:1px solid var(--border);margin-top:20px;padding-top:14px}.comments h3{margin:0 0 10px;font-size:14px}.comments ul{flex-direction:column;gap:10px;margin:0 0 12px;padding:0;list-style:none;display:flex}.comments li{background:#fafbfc;border-radius:6px;padding:8px 10px;font-size:14px}.comment-head{align-items:center;gap:8px;margin-bottom:2px;font-size:13px;display:flex}.comment-form textarea{border:1px solid var(--border);width:100%;font:inherit;resize:vertical;box-sizing:border-box;border-radius:6px;padding:8px 10px}.comment-form-foot{align-items:center;gap:8px;margin-top:6px;display:flex}.check-inline{align-items:center;gap:6px;font-size:14px;display:inline-flex}.post-form{flex-direction:column;gap:12px;display:flex}.post-form .field{color:var(--muted);flex-direction:column;gap:4px;font-size:13px;display:flex}.post-form input:not([type=checkbox]),.post-form textarea{border:1px solid var(--border);font:inherit;color:var(--text);border-radius:6px;padding:8px 10px}.post-form textarea{resize:vertical;line-height:1.6}.attach-drop{border:1px dashed var(--line);border-radius:var(--radius);flex-wrap:wrap;align-items:center;gap:8px;padding:10px;display:flex}.attach-drop.over{background:var(--primary-soft);border-color:var(--primary)}.attach-drop .attach-row{flex-basis:100%}.board-admin input:not([type=checkbox]){border:1px solid var(--border);box-sizing:border-box;border-radius:6px;width:100%;min-width:80px;padding:5px 8px}.board-admin input.order{width:60px;min-width:0}.board-add{flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;display:flex}.board-add input:not([type=checkbox]){border:1px solid var(--border);border-radius:6px;padding:7px 10px}@media (width<=720px){.readers{grid-template-columns:1fr}.board-list .board-title{min-width:160px}}.tpl-maker{flex-direction:column;gap:14px;display:flex}.tpl-cats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;display:grid}.tpl-cat{text-align:left;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);cursor:pointer;font:inherit;flex-direction:column;gap:2px;padding:10px 12px;display:flex}.tpl-cat small{color:var(--muted);font-size:11px}.tpl-cat.on{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary) inset;background:#f7f9fd}.tpl-body{flex-wrap:wrap;align-items:flex-start;gap:16px;display:flex}.tpl-fields{flex-direction:column;flex:1;gap:10px;min-width:240px;display:flex}.tpl-fields .field{color:var(--muted);flex-direction:column;gap:5px;font-size:13px;display:flex}.tpl-fields input{border:1px solid var(--border);font:inherit;color:var(--text);border-radius:6px;padding:8px 10px}.tpl-preview{flex:none}.hanja-chips{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.chip-btn{border:1px solid var(--border);background:var(--surface);cursor:pointer;color:var(--text);border-radius:12px;padding:2px 9px;font-size:12px}.chip-btn.on{border-color:var(--primary);color:var(--primary);background:var(--primary-soft)}kbd{border:1px solid var(--border);background:#fafbfc;border-bottom-width:2px;border-radius:4px;padding:0 4px;font-size:11px}.tpl-grid{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:8px;display:grid}.tpl-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);cursor:pointer;font:inherit;flex-direction:column;align-items:center;gap:4px;padding:8px 4px;font-size:12px;display:flex}.tpl-card.on{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary) inset}.tpl-card .seal-preview{border:0}.leave-note{margin-top:4px;line-height:1.5;display:block}.month-bar{flex-wrap:wrap;align-items:center;gap:10px 16px;margin:16px 0 12px;display:flex}.month-bar input[type=date]{border:1px solid var(--border);background:var(--surface);border-radius:6px;padding:5px 8px}.caution-text{color:#9a6200}.chip.warn-chip{color:var(--danger);background:#fdeeee}.chip.caution-chip{color:#9a6200;background:#fff4e0}.chip.holiday-chip{color:#c62828;background:#fdeeee}.chip.leave-chip{color:#1e7a3c;background:#e8f6ec}.doc-kind.overtime{color:#6b3fc4;background:#f3ecff}.card-link.inline{margin:0 0 0 auto;font-weight:400}.field-like{color:var(--muted);flex-direction:column;gap:6px;font-size:13px;display:flex}.field-like select{border:1px solid var(--border);border-radius:6px;padding:5px 8px;font-size:13px}.dept-filter{border:1px solid var(--border);background:var(--surface);border-radius:6px;padding:7px 10px}.dash-attendance{margin-top:12px}.att-widget{flex-direction:column;gap:10px;display:flex}.att-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.att-times{flex-wrap:wrap;align-items:center;gap:6px 16px;font-size:14px;display:flex}.att-times strong{font-variant-numeric:tabular-nums;font-size:17px}.att-status{color:var(--muted);background:#f0f2f5;border-radius:10px;padding:3px 10px;font-size:12px;font-weight:600}.att-status.in{color:#1e7a3c;background:#e8f6ec}.att-status.out{background:var(--primary-soft);color:var(--primary)}.att-buttons{gap:8px;display:flex}.att-buttons .btn{min-width:88px;padding:9px 16px;font-weight:600}.att-note{gap:8px;display:flex}.att-note input{border:1px solid var(--border);border-radius:6px;flex:1;min-width:0;padding:8px 10px}.att-week{flex-direction:column;gap:5px;display:flex}.att-week-label{flex-wrap:wrap;justify-content:space-between;gap:4px 12px;font-size:13px;display:flex}.att-bar{background:#eef0f3;border-radius:5px;height:10px;position:relative;overflow:hidden}.att-bar i{border-radius:5px;position:absolute;top:0;bottom:0;left:0}.att-bar .projected{background:#c9d6fb}.att-bar .worked{background:var(--primary)}.att-bar .warn-line{background:#f0a020;border-radius:0;width:2px;left:auto}.att-tiles{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;display:grid}.att-tiles .stat strong{font-size:20px}.att-tiles .stat.caution strong{color:#9a6200}.att-tiles .stat.warn strong{color:var(--danger)}.att-table td{padding:7px 10px}.att-table tr.off td{color:var(--muted);background:#fafbfc}.att-table tr.absent td:first-child{box-shadow:inset 3px 0 0 var(--danger)}.att-table .sun{color:#d23a3a}.att-table .sat{color:var(--primary)}.att-chips{white-space:normal;flex-wrap:wrap;gap:4px;display:flex}.att-note-cell{white-space:normal;max-width:280px;color:var(--muted);font-size:13px}.att-counts{flex-wrap:wrap;gap:6px;display:flex}.count-chip{color:var(--muted);background:#f0f2f5;border-radius:10px;margin-right:4px;padding:2px 9px;font-size:12px;display:inline-block}.count-chip.ok{color:#1e7a3c;background:#e8f6ec}.count-chip.caution{color:#9a6200;background:#fff4e0}.count-chip.warn{color:var(--danger);background:#fdeeee}.count-chip.leave{color:var(--primary);background:#eaf0ff}.att-settings{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:start;gap:12px;display:grid}.att-settings h2{margin:0 0 4px;font-size:15px}.att-settings textarea{border:1px solid var(--border);font:inherit;resize:vertical;border-radius:6px;padding:8px 10px}.att-settings .kv li{align-items:center;gap:10px;display:flex}.sch-legend{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px 10px;margin-left:auto;font-size:12px;display:inline-flex}.sch-dot{vertical-align:-1px;border-radius:3px;width:10px;height:10px;margin-right:3px;display:inline-block}.sch-dot.personal,.sch-item.personal{background:var(--primary-soft);color:#1d4e9e}.sch-dot.department,.sch-item.department{color:#136c78;background:#e6f6f8}.sch-dot.company,.sch-item.company{color:#6b3fc4;background:#f3ecff}.sch-dot.leave,.sch-item.leave{color:#1e7a3c;background:#e8f6ec}.sch-grid{background:var(--border);border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.sch-cell{background:var(--surface);cursor:pointer;flex-direction:column;gap:3px;min-width:0;min-height:108px;padding:5px;display:flex}.sch-grid.week .sch-cell{min-height:360px}.sch-cell.off{background:#fcfcfd}.sch-cell.other{background:#f7f8fa}.sch-cell.other .sch-date{opacity:.5}.sch-cell.today .sch-date>span:first-child{background:var(--primary);color:#fff;border-radius:50%;place-items:center;width:22px;height:22px;display:inline-grid}.sch-date{align-items:center;gap:4px;font-size:13px;font-weight:600;display:flex}.sch-date .sun{color:#d23a3a}.sch-date .sat{color:var(--primary)}.sch-item{text-align:left;width:100%;font:inherit;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;border:0;border-radius:4px;padding:2px 6px;font-size:12px;display:block;overflow:hidden}div.sch-item{cursor:default}.sch-item.pending{background:0 0;border:1px dashed #8fd0a3}.sch-item small{opacity:.8}.sch-form .checkbox{padding-top:0}.sch-when{gap:6px;display:flex}.sch-when input{flex:1;min-width:0}.sch-desc{background:#fafbfc;border-radius:6px;margin-top:12px;padding:10px 12px}.rsv-scroll{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);overflow-x:auto}.rsv-table{min-width:860px}.rsv-row{grid-template-columns:150px repeat(var(--slots), minmax(24px, 1fr));border-bottom:1px solid var(--border);align-items:stretch;display:grid;position:relative}.rsv-row:last-child{border-bottom:0}.rsv-row>*{grid-row:1}.rsv-head{background:#fafbfc}.rsv-name{border-right:1px solid var(--border);flex-direction:column;grid-column:1;gap:2px;padding:8px 10px;font-size:13px;display:flex}.rsv-name small{font-size:11px}.rsv-hour{color:var(--muted);border-left:1px solid var(--border);padding:6px 0 4px 3px;font-size:11px}.rsv-slot{cursor:pointer;background:0 0;border:0;border-left:1px dashed #edf0f3;min-height:48px;padding:0}.rsv-slot.hour{border-left:1px solid var(--border)}.rsv-slot:hover:not(:disabled){background:var(--primary-soft)}.rsv-slot:disabled{cursor:not-allowed;background:repeating-linear-gradient(135deg,#f6f7f9,#f6f7f9 4px,#fff 4px 8px)}.rsv-block{z-index:1;color:#1d3f8f;font:inherit;text-align:left;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;background:#eef2fd;border:1px solid #b8c4e8;border-radius:6px;margin:4px 1px;padding:3px 6px;font-size:12px;overflow:hidden}.rsv-block.mine{color:#7a4b00;background:#ffe9c7;border-color:#f0b85a}.rsv-block small{opacity:.75}.role-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;display:grid}.role-card{flex-direction:column;gap:8px;display:flex}.role-head{align-items:center;gap:8px;display:flex}.role-name{color:var(--text);background:0 0;border:1px solid #0000;border-radius:6px;flex:1;padding:4px 6px;font-size:16px;font-weight:700}.role-name:hover,.role-name:focus,.role-desc:hover,.role-desc:focus{border-color:var(--border)}.role-desc{color:var(--muted);background:0 0;border:1px solid #0000;border-radius:6px;padding:4px 6px;font-size:13px}.perm-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.perm-list li{flex-direction:column;gap:1px;display:flex}.perm-list .small-text{padding-left:24px}.role-pick{border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:6px;margin:0;padding:8px 12px 10px;display:flex}.role-pick legend{color:var(--muted);padding:0 4px;font-size:13px}.role-pick .checkbox{padding-top:0!important}.audit-filter{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.audit-filter input[type=date],.audit-filter select{border:1px solid var(--border);background:var(--surface);border-radius:6px;padding:7px 8px}.audit-table td{vertical-align:top}.audit-table .wrap{max-width:520px}.audit-changes{color:var(--muted);margin:4px 0 0;padding:0;font-size:12px;list-style:none}.audit-changes code{background:#f0f2f5;border-radius:3px;padding:0 4px}@media (width<=820px){.att-settings{grid-template-columns:1fr}.sch-cell{min-height:72px;padding:3px}.sch-grid.week{grid-template-columns:1fr}.sch-grid.week .cal-head{display:none}.sch-grid.week .sch-cell{min-height:0}.sch-legend{margin-left:0}}
