:root{--leb-navy: #1B3A5C;--leb-navy-deep: #0E2440;--leb-navy-soft: #E8EEF6;--leb-amber: #C77614;--leb-amber-soft: #FBF1E0;--leb-text: #0E1A2B;--leb-text-soft: #3B4658;--leb-text-muted: #727C8C;--leb-text-faint: #A6ADBA;--leb-surface: #F7F8FB;--leb-surface-alt: #F1F4F9;--leb-card: #FFFFFF;--leb-border: #E4E8EE;--leb-border-soft: #EEF1F6;--leb-divider: #F1F3F7;--leb-success: #2E9E68;--leb-success-soft: #E6F4ED;--leb-warning: #F59E0B;--leb-warning-soft: #FEF3C7;--leb-danger: #C84845;--leb-danger-soft: #FCE8E6;--leb-info: #3070AC;--leb-info-soft: #E5EFF8;--leb-radius-4: 4px;--leb-radius-6: 6px;--leb-radius-8: 8px;--leb-radius-10: 10px;--leb-radius-12: 12px;--leb-radius-16: 16px;--leb-radius-24: 24px;--leb-radius-pill: 9999px;--leb-space-2: 2px;--leb-space-4: 4px;--leb-space-6: 6px;--leb-space-8: 8px;--leb-space-10: 10px;--leb-space-12: 12px;--leb-space-14: 14px;--leb-space-16: 16px;--leb-space-20: 20px;--leb-space-24: 24px;--leb-space-32: 32px;--leb-space-40: 40px;--leb-space-48: 48px;--leb-space-56: 56px;--leb-space-64: 64px;--leb-shadow-sm: 0 1px 2px rgba(14, 26, 43, .06), 0 1px 1px rgba(14, 26, 43, .03);--leb-shadow-md: 0 1px 3px rgba(14, 26, 43, .06), 0 4px 16px rgba(14, 26, 43, .06);--leb-shadow-lg: 0 4px 12px rgba(14, 26, 43, .08), 0 12px 32px rgba(14, 26, 43, .1);--leb-shadow-focus: 0 0 0 3px rgba(27, 58, 92, .15);--leb-font: -apple-system, BlinkMacSystemFont, "Pretendard", "Apple SD Gothic Neo", "Noto Sans KR", "Segoe UI", Roboto, sans-serif;--leb-font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;--leb-fs-11: 11px;--leb-fs-12: 12px;--leb-fs-13: 13px;--leb-fs-14: 14px;--leb-fs-16: 16px;--leb-fs-18: 18px;--leb-fs-22: 22px;--leb-fs-28: 28px;--leb-fs-40: 40px;--leb-fw-regular: 400;--leb-fw-medium: 500;--leb-fw-semi: 600;--leb-fw-bold: 700;--leb-fw-black: 800;--leb-z-base: 1;--leb-z-sticky: 10;--leb-z-dropdown: 100;--leb-z-modal: 1000;--leb-z-toast: 2000;--leb-sidebar-w: 268px;--leb-mobile-nav-h: 56px;--leb-header-h: 56px;--leb-content-max: 1400px}.leb-app,.leb-app *{box-sizing:border-box}.text-display{font:var(--leb-fw-black) var(--leb-fs-40)/1.1 var(--leb-font);letter-spacing:-1px}.text-title-l{font:var(--leb-fw-bold) var(--leb-fs-28)/1.2 var(--leb-font);letter-spacing:-.6px}.text-title-m{font:var(--leb-fw-bold) var(--leb-fs-22)/1.25 var(--leb-font);letter-spacing:-.5px}.text-title-s{font:var(--leb-fw-semi) var(--leb-fs-18)/1.3 var(--leb-font);letter-spacing:-.3px}.text-body-l{font:var(--leb-fw-medium) var(--leb-fs-16)/1.5 var(--leb-font)}.text-body{font:var(--leb-fw-medium) var(--leb-fs-14)/1.5 var(--leb-font)}.text-caption{font:var(--leb-fw-semi) var(--leb-fs-13)/1.4 var(--leb-font)}.text-label{font:var(--leb-fw-semi) var(--leb-fs-12)/1.3 var(--leb-font)}.text-tag{font:var(--leb-fw-bold) var(--leb-fs-11)/1.2 var(--leb-font);letter-spacing:.5px;text-transform:uppercase}.text-mono{font-family:var(--leb-font-mono);font-variant-numeric:tabular-nums}.text-ink{color:var(--leb-text)}.text-soft{color:var(--leb-text-soft)}.text-muted{color:var(--leb-text-muted)}.text-faint{color:var(--leb-text-faint)}.text-navy{color:var(--leb-navy)}.text-amber{color:var(--leb-amber)}.text-success{color:var(--leb-success)}.text-warning{color:var(--leb-warning)}.text-danger{color:var(--leb-danger)}.tnum{font-variant-numeric:tabular-nums}.stack{display:flex;flex-direction:column}.stack-4>*+*{margin-top:var(--leb-space-4)}.stack-8>*+*{margin-top:var(--leb-space-8)}.stack-12>*+*{margin-top:var(--leb-space-12)}.stack-16>*+*{margin-top:var(--leb-space-16)}.stack-20>*+*{margin-top:var(--leb-space-20)}.stack-24>*+*{margin-top:var(--leb-space-24)}.stack-32>*+*{margin-top:var(--leb-space-32)}.row{display:flex;flex-direction:row;align-items:center}.row-4{gap:var(--leb-space-4)}.row-8{gap:var(--leb-space-8)}.row-12{gap:var(--leb-space-12)}.row-16{gap:var(--leb-space-16)}.row-20{gap:var(--leb-space-20)}.row-between{justify-content:space-between}.row-end{justify-content:flex-end}.row-center{justify-content:center}.row-baseline{align-items:baseline}.row-start{align-items:flex-start}.surface{background:var(--leb-surface)}.surface-alt{background:var(--leb-surface-alt)}.card{background:var(--leb-card);border-radius:var(--leb-radius-12);box-shadow:var(--leb-shadow-sm);border:1px solid var(--leb-border-soft)}.card-padded{padding:var(--leb-space-20)}.card-hover:hover{box-shadow:var(--leb-shadow-md);transform:translateY(-1px);transition:box-shadow .15s,transform .15s}.section-title{font:var(--leb-fw-bold) var(--leb-fs-12)/1.2 var(--leb-font);color:var(--leb-navy);letter-spacing:.6px;text-transform:uppercase;margin:0 0 var(--leb-space-12);display:flex;align-items:center;justify-content:space-between}body{background:var(--leb-surface);color:var(--leb-text);font-family:var(--leb-font)}.page-title{font:var(--leb-fw-bold) 26px/1.2 var(--leb-font)!important;color:var(--leb-text)!important;letter-spacing:-.5px!important}.btn,.btn-primary,.btn-success,.btn-register,.btn-submit{font-family:var(--leb-font);font-weight:var(--leb-fw-semi);font-size:15px!important;padding:11px 18px!important;border-radius:var(--leb-radius-8)!important;letter-spacing:-.1px;transition:background .15s,transform .1s}.btn-primary,.btn-success,.btn-register,.btn-submit{background-color:var(--leb-navy)!important;box-shadow:0 1px 2px #1b3a5c2e}.btn-primary:hover,.btn-success:hover,.btn-register:hover,.btn-submit:hover{background-color:var(--leb-navy-deep)!important;transform:translateY(-1px)}.btn-secondary{background-color:var(--leb-card)!important;color:var(--leb-text)!important;border:1px solid var(--leb-border)!important}.btn-danger{background-color:var(--leb-danger)!important}.page-container,.approval-form,.approval-filter-section,.approval-table-container{border-radius:var(--leb-radius-12)!important;box-shadow:var(--leb-shadow-sm)!important;border:1px solid var(--leb-border-soft)}.form-section-title{font:var(--leb-fw-bold) var(--leb-fs-12)/1.2 var(--leb-font)!important;color:var(--leb-navy)!important;letter-spacing:.6px!important;text-transform:uppercase!important;border-bottom:none!important;padding-bottom:0!important}.form-input,.form-select,.form-textarea,.search-input,.date-select,.doctype-select,.division-select,.status-select{font-family:var(--leb-font)!important;font-size:15px!important;padding:11px 14px!important;border:1px solid var(--leb-border)!important;border-radius:var(--leb-radius-8)!important;background:var(--leb-card)!important}.form-input:focus,.form-select:focus,.form-textarea:focus,.search-input:focus,.date-select:focus,.doctype-select:focus{outline:none!important;border-color:var(--leb-navy)!important;box-shadow:var(--leb-shadow-focus)!important}.sidebar{background:var(--leb-navy)!important}.sidebar-title{font-family:var(--leb-font)!important;font-size:var(--leb-fs-16)!important;font-weight:var(--leb-fw-bold)!important;letter-spacing:-.2px}.approval-table thead th,.worklog-table thead th,.notice-table thead th,.employee-table thead th,.user-table thead th,.attendance-table thead th{font-size:15px!important;font-weight:var(--leb-fw-semi)!important;letter-spacing:-.1px!important;text-transform:none!important;color:var(--leb-text)!important;background:var(--leb-surface)!important;padding:15px 16px!important}.approval-table tbody td,.worklog-table tbody td,.notice-table tbody td,.employee-table tbody td,.user-table tbody td,.attendance-table tbody td{font-size:15px!important;color:var(--leb-text-soft)!important;padding:15px 16px!important;border-bottom:1px solid var(--leb-border-soft)!important}.page-header{margin-bottom:20px!important;padding-bottom:16px!important;border-bottom:1px solid var(--leb-border-soft)!important}.btn-back,.btn-cancel{padding:9px 16px!important;background:var(--leb-card)!important;color:var(--leb-text-soft)!important;border:1px solid var(--leb-border)!important;border-radius:var(--leb-radius-8)!important;font-family:var(--leb-font)!important;font-size:14px!important;font-weight:var(--leb-fw-semi)!important;letter-spacing:-.1px!important;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.btn-back:hover,.btn-cancel:hover{background:var(--leb-surface-alt)!important;color:var(--leb-text)!important}.btn-edit,.btn-download{padding:9px 16px!important;background:var(--leb-info)!important;color:#fff!important;border:1px solid var(--leb-info)!important;border-radius:var(--leb-radius-8)!important;font-family:var(--leb-font)!important;font-size:14px!important;font-weight:var(--leb-fw-semi)!important}.btn-edit:hover,.btn-download:hover{background:#275c92!important;border-color:#275c92!important}.btn-delete{padding:9px 16px!important;background:var(--leb-danger)!important;color:#fff!important;border:1px solid var(--leb-danger)!important;border-radius:var(--leb-radius-8)!important;font-family:var(--leb-font)!important;font-size:14px!important;font-weight:var(--leb-fw-semi)!important}.btn-delete:hover{background:#a93b38!important;border-color:#a93b38!important}.status-badge{display:inline-block;padding:5px 13px!important;border-radius:var(--leb-radius-pill)!important;font-size:13px!important;font-weight:var(--leb-fw-semi)!important;letter-spacing:-.1px!important;text-align:center;white-space:nowrap}.status-badge.status-approved,.status-approved:not(.btn-status-change):not(.stamp-status):not(.btn-approve){background:var(--leb-success-soft)!important;color:var(--leb-success)!important}.status-badge.status-manager-approved,.status-manager-approved:not(.btn-status-change):not(.stamp-status):not(.btn-manager-approve){background:var(--leb-info-soft)!important;color:var(--leb-info)!important}.status-badge.status-rejected,.status-rejected:not(.btn-status-change):not(.stamp-status):not(.btn-reject){background:var(--leb-danger-soft)!important;color:var(--leb-danger)!important}.status-badge.status-pending,.status-pending:not(.btn-status-change):not(.stamp-status){background:var(--leb-warning-soft)!important;color:var(--leb-warning)!important}.search-input{padding:11px 16px!important;border:1px solid var(--leb-border)!important;border-radius:var(--leb-radius-8)!important;background:var(--leb-card)!important;font-family:var(--leb-font)!important;font-size:15px!important;color:var(--leb-text)!important;transition:border-color .15s,box-shadow .15s}.search-input:focus{outline:none!important;border-color:var(--leb-navy)!important;box-shadow:var(--leb-shadow-focus)!important}.filter-label{font-size:13px!important;font-weight:var(--leb-fw-semi)!important;color:var(--leb-text-soft)!important;letter-spacing:.1px!important}.pagination{gap:6px!important;margin:24px 0!important}.pagination-btn,.pagination-number{padding:9px 16px!important;background:var(--leb-card)!important;color:var(--leb-text-soft)!important;border:1px solid var(--leb-border)!important;border-radius:var(--leb-radius-8)!important;font-family:var(--leb-font)!important;font-size:14px!important;font-weight:var(--leb-fw-semi)!important;font-variant-numeric:tabular-nums;transition:background .15s,border-color .15s,color .15s}.pagination-number{min-width:40px!important;height:40px!important;padding:6px!important}.pagination-btn:hover:not(:disabled),.pagination-number:hover:not(.active){background:var(--leb-surface-alt)!important;border-color:var(--leb-navy)!important;color:var(--leb-navy)!important}.pagination-btn:disabled{background:var(--leb-surface)!important;color:var(--leb-text-faint)!important;border-color:var(--leb-border-soft)!important}.pagination-number.active{background:var(--leb-navy)!important;color:#fff!important;border-color:var(--leb-navy)!important}.scope-tab-btn{padding:12px 20px!important;font-size:15px!important;font-weight:var(--leb-fw-semi)!important;letter-spacing:-.1px!important;color:var(--leb-text-muted)!important;border-bottom:2px solid transparent!important}.scope-tab-btn.active{color:var(--leb-navy)!important;border-bottom-color:var(--leb-navy)!important}.status-tab-btn{padding:8px 16px!important;border:1px solid var(--leb-border)!important;border-radius:var(--leb-radius-pill)!important;background:var(--leb-card)!important;color:var(--leb-text-soft)!important;font-family:var(--leb-font)!important;font-size:14px!important;font-weight:var(--leb-fw-semi)!important}.status-tab-btn.active{background:var(--leb-navy)!important;border-color:var(--leb-navy)!important;color:#fff!important}.doc-type-tab-btn{padding:9px 16px!important;background:var(--leb-card)!important;color:var(--leb-text-soft)!important;border:1px solid var(--leb-border)!important;border-radius:var(--leb-radius-8)!important;font-family:var(--leb-font)!important;font-size:14px!important;font-weight:var(--leb-fw-semi)!important}.doc-type-tab-btn.active{background:var(--leb-navy)!important;color:#fff!important;border-color:var(--leb-navy)!important}.info-value{padding:11px 16px!important;background:var(--leb-surface)!important;border:1px solid var(--leb-border-soft)!important;border-radius:var(--leb-radius-8)!important;font-size:15px!important;color:var(--leb-text)!important}.content-box{padding:16px!important;background:var(--leb-surface)!important;border:1px solid var(--leb-border-soft)!important;border-radius:var(--leb-radius-8)!important;font-size:15px!important;color:var(--leb-text)!important;line-height:1.65}.approval-list-page,.approval-detail-page,.worklog-list-page,.worklog-detail-page,.worklog-form-page,.notice-list-page,.notice-detail-page,.notice-register-page,.employee-list-page,.employee-register-page,.user-management-page,.attendance-management-page,.login-log-page,.drawing-list-page,.drawing-upload-page,.schedule-list-page{padding-top:8px!important}.approval-filter-section,.approval-table-container,.worklog-filter-section,.worklog-table-container,.employee-filter-section,.employee-table-container,.notice-list-container,.notice-table-container,.notice-detail-container,.worklog-list-container,.worklog-detail-container,.user-management-content,.user-list-container,.attendance-content,.login-log-container,.drawing-list-container,.schedule-list-container,.detail-content,.approval-form,.notice-register-form,.worklog-form,.employee-register-form{background:var(--leb-card)!important;border:1px solid var(--leb-border-soft)!important;border-radius:var(--leb-radius-12)!important;box-shadow:var(--leb-shadow-sm)!important}.modal-overlay,.confirm-modal-overlay{background-color:#0e1a2b73!important}.modal-content,.confirm-modal-content{background:var(--leb-card)!important;border:1px solid var(--leb-border-soft)!important;border-radius:var(--leb-radius-16)!important;box-shadow:var(--leb-shadow-lg)!important}.approval-table tbody tr:hover,.user-table tbody tr:hover,.attendance-table tbody tr:hover,.notice-table tbody tr:hover,.worklog-table tbody tr:hover,.login-log-table tbody tr:hover,.drawing-table tbody tr:hover{background:var(--leb-surface)!important;cursor:pointer}.search-icon-btn{padding:10px 14px!important;background:var(--leb-surface-alt)!important;border:1px solid var(--leb-border)!important;border-radius:var(--leb-radius-8)!important;color:var(--leb-text-muted)!important;font-size:0!important;cursor:pointer;display:inline-flex!important;align-items:center;justify-content:center;transition:background .15s,color .15s}.search-icon-btn:hover{background:var(--leb-navy-soft)!important;color:var(--leb-navy)!important}.search-icon-btn>svg{width:18px;height:18px;stroke:currentColor;stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round}.file-icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;color:var(--leb-text-muted);font-size:0;flex-shrink:0}.file-icon>svg{width:20px;height:20px;stroke:currentColor;stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round}.modal-close-btn{width:32px!important;height:32px!important;padding:0!important;display:inline-flex!important;align-items:center;justify-content:center;background:var(--leb-surface-alt)!important;border:1px solid var(--leb-border-soft)!important;border-radius:var(--leb-radius-8)!important;color:var(--leb-text-muted)!important;font-size:0!important;cursor:pointer;transition:background .15s,color .15s}.modal-close-btn:hover{background:var(--leb-surface)!important;color:var(--leb-text)!important}.modal-close-btn>svg{width:16px;height:16px;stroke:currentColor;stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round}.attachment-icon{width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;color:var(--leb-text-muted);font-size:0;vertical-align:middle;flex-shrink:0}.attachment-icon[class*=attachment-icon]>use,svg.attachment-icon{stroke:currentColor;stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round}.date-select,.doctype-select,.division-select,.status-select,.month-select,.year-select,.role-select{padding:10px 14px!important;border:1px solid var(--leb-border)!important;border-radius:var(--leb-radius-8)!important;font-family:var(--leb-font)!important;font-size:15px!important;color:var(--leb-text)!important;background:var(--leb-card)!important}.date-select:focus,.doctype-select:focus,.division-select:focus,.status-select:focus,.month-select:focus,.year-select:focus,.role-select:focus{outline:none!important;border-color:var(--leb-navy)!important;box-shadow:var(--leb-shadow-focus)!important}:root{color-scheme:light only;font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color:#213547;background-color:#f5f5f5;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html,body{margin:0;padding:0;width:100%;max-width:100vw;min-height:100vh;overflow-x:hidden;background-color:#f5f5f5;color:#213547;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}.leb-login{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:24px;font-family:var(--leb-font);color:var(--leb-text);background:radial-gradient(circle at 20% 20%,rgba(27,58,92,.08),transparent 60%),radial-gradient(circle at 80% 70%,rgba(199,118,20,.06),transparent 55%),var(--leb-surface)}.leb-login__panel{width:100%;max-width:880px;display:grid;grid-template-columns:360px 1fr;background:var(--leb-card);border:1px solid var(--leb-border-soft);border-radius:var(--leb-radius-16);box-shadow:var(--leb-shadow-lg);overflow:hidden}.leb-login__brand{background:linear-gradient(180deg,var(--leb-navy) 0%,var(--leb-navy-deep) 100%);color:#fff;padding:48px 36px;display:flex;flex-direction:column;justify-content:flex-end;gap:12px;position:relative;min-height:520px}.leb-login__brand:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 10%,rgba(255,255,255,.08),transparent 50%),radial-gradient(circle at 10% 90%,rgba(199,118,20,.15),transparent 50%);pointer-events:none}.leb-login__brand-mark{width:56px;height:56px;border-radius:var(--leb-radius-12);overflow:hidden;display:inline-flex;align-items:center;justify-content:center;margin-bottom:6px;position:relative;background:#ffffff0f;border:1px solid rgba(255,255,255,.18)}.leb-login__brand-mark img{width:100%;height:100%;object-fit:cover;display:block}.leb-login__brand-mark.mobile{display:none}.leb-login__brand-title{font-size:24px;font-weight:var(--leb-fw-bold);letter-spacing:-.4px;position:relative}.leb-login__brand-sub{font-size:13.5px;font-weight:var(--leb-fw-medium);color:#ffffffb3;letter-spacing:-.1px;line-height:1.6;position:relative}.leb-login__form-card{padding:56px 48px;display:flex;flex-direction:column}.leb-login__head{margin-bottom:28px}.leb-login__title{margin:0;font-size:24px;font-weight:var(--leb-fw-bold);letter-spacing:-.6px;color:var(--leb-text)}.leb-login__sub{margin:6px 0 0;font-size:13.5px;color:var(--leb-text-muted);font-weight:var(--leb-fw-medium);letter-spacing:-.1px}.leb-login__error{display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--leb-danger-soft);border:1px solid rgba(200,72,69,.2);border-radius:var(--leb-radius-8);color:var(--leb-danger);font-size:13px;font-weight:var(--leb-fw-semi);letter-spacing:-.1px;margin-bottom:18px}.leb-login__form{display:flex;flex-direction:column;gap:14px}.leb-login__field{display:flex;flex-direction:column;gap:6px}.leb-login__label{font-size:12px;font-weight:var(--leb-fw-semi);color:var(--leb-text-soft);letter-spacing:.1px}.leb-login__control{display:flex;align-items:center;gap:10px;height:44px;padding:0 14px;background:var(--leb-card);border:1px solid var(--leb-border);border-radius:var(--leb-radius-8);transition:border-color .12s,box-shadow .12s}.leb-login__control:focus-within{border-color:var(--leb-navy);box-shadow:var(--leb-shadow-focus)}.leb-login__icon{width:18px;height:18px;stroke:currentColor;stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round;color:var(--leb-text-muted);flex-shrink:0}.leb-login__control:focus-within .leb-login__icon{color:var(--leb-navy)}.leb-login__input{flex:1;min-width:0;border:none;outline:none;background:transparent;font-family:inherit;font-size:14.5px;color:var(--leb-text);letter-spacing:-.1px}.leb-login__input::placeholder{color:var(--leb-text-faint)}.leb-login__remember{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--leb-text-soft);font-weight:var(--leb-fw-medium);cursor:pointer;-webkit-user-select:none;user-select:none;margin:2px 0 6px}.leb-login__remember input{width:16px;height:16px;accent-color:var(--leb-navy);cursor:pointer}.leb-login__submit{height:44px;background:var(--leb-navy);color:#fff;border:none;border-radius:var(--leb-radius-8);font-family:inherit;font-size:14.5px;font-weight:var(--leb-fw-bold);letter-spacing:-.1px;cursor:pointer;transition:background .12s,transform .08s;margin-top:6px;box-shadow:0 1px 2px #1b3a5c2e}.leb-login__submit:hover:not(:disabled){background:var(--leb-navy-deep)}.leb-login__submit:active:not(:disabled){transform:translateY(1px)}.leb-login__submit:disabled{background:var(--leb-text-faint);cursor:not-allowed;box-shadow:none}.leb-login__footer{margin-top:24px;padding-top:18px;border-top:1px solid var(--leb-divider);display:flex;align-items:center;justify-content:center;gap:8px;font-size:13px;color:var(--leb-text-muted)}.leb-login__link{color:var(--leb-navy);font-weight:var(--leb-fw-semi);text-decoration:none}.leb-login__link:hover{text-decoration:underline}@media(max-width:768px){.leb-login{padding:16px}.leb-login__panel{grid-template-columns:1fr;max-width:420px}.leb-login__brand{display:none}.leb-login__form-card{padding:36px 28px}.leb-login__head{margin-bottom:22px}.leb-login__brand-mark.mobile{display:inline-flex;background:transparent;border-color:var(--leb-border-soft);margin-bottom:14px}}@media(max-width:380px){.leb-login__form-card{padding:28px 22px}.leb-login__title{font-size:22px}}.leb-register{overflow-y:auto;align-items:safe center}.leb-register__select{appearance:none;-webkit-appearance:none;-moz-appearance:none;cursor:pointer}.leb-register__select:invalid{color:var(--leb-text-faint)}.leb-register__caret{pointer-events:none;color:var(--leb-text-muted)}.leb-login__control:focus-within .leb-register__caret{color:var(--leb-navy)}.leb-sidebar{width:var(--leb-sidebar-w, 268px);height:100vh;position:fixed;top:0;left:0;z-index:var(--leb-z-modal, 1000);background:var(--leb-navy, #1B3A5C);color:#ffffffe0;font-family:var(--leb-font);display:flex;flex-direction:column;overflow-y:auto;transition:transform .25s ease}.leb-sidebar__close{display:none;position:absolute;top:14px;right:14px;width:32px;height:32px;background:#ffffff14;border:1px solid rgba(255,255,255,.06);border-radius:var(--leb-radius-8);color:#fff;cursor:pointer;align-items:center;justify-content:center}.leb-sidebar__close:hover{background:#ffffff29}.leb-sidebar__header{padding:22px 18px 16px;border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0}.leb-sidebar__brand{display:flex;align-items:center;gap:12px;margin-bottom:16px}.leb-sidebar__logo{width:40px;height:40px;border-radius:var(--leb-radius-10);background:#ffffff24;border:1px solid rgba(255,255,255,.18);color:#fff;font-size:0;display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}.leb-sidebar__logo img{width:100%;height:100%;object-fit:cover;display:block}.leb-sidebar__brand-text{display:flex;align-items:baseline;gap:7px;min-width:0}.leb-sidebar__brand-name{font-size:19px;font-weight:var(--leb-fw-bold);color:#fff;letter-spacing:-.2px;line-height:1.1}.leb-sidebar__brand-sub{font-size:12px;font-weight:var(--leb-fw-semi);color:#ffffff73;letter-spacing:.4px;text-transform:uppercase}.leb-sidebar__user{display:flex;align-items:center;gap:11px;padding:10px 12px;background:#ffffff14;border:1px solid rgba(255,255,255,.06);border-radius:var(--leb-radius-10)}.leb-sidebar__avatar{width:40px;height:40px;border-radius:50%;background:#ffffff2e;color:#fff;font-size:16px;font-weight:var(--leb-fw-bold);display:flex;align-items:center;justify-content:center;flex-shrink:0;letter-spacing:-.3px}.leb-sidebar__user-meta{min-width:0;flex:1}.leb-sidebar__user-name{font-size:16px;font-weight:var(--leb-fw-bold);color:#fff;letter-spacing:-.2px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.leb-sidebar__user-dept{font-size:13.5px;font-weight:var(--leb-fw-medium);color:#fff9;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.leb-sidebar__nav{flex:1;padding:10px 10px 18px;overflow-y:auto}.leb-sidebar__section{font-size:12.5px;font-weight:var(--leb-fw-bold);color:#ffffff73;letter-spacing:.6px;text-transform:uppercase;padding:14px 12px 8px}.leb-sidebar__menu{list-style:none;padding:0;margin:0}.leb-sidebar__item{display:flex;align-items:center;gap:13px;padding:11px 12px 11px 14px;border-radius:var(--leb-radius-8);color:#ffffffd1;font-size:19px;font-weight:var(--leb-fw-medium);text-decoration:none;letter-spacing:-.2px;position:relative;margin-bottom:4px;cursor:pointer;border-left:2px solid transparent;transition:background .12s,color .12s}.leb-sidebar__item:hover{background:#ffffff0f;color:#fffffff2}.leb-sidebar__item.is-active{background:#ffffff24;color:#fff;font-weight:var(--leb-fw-bold);border-left-color:#fff;padding-left:12px}.leb-sidebar__item-label{flex:1}.leb-sidebar__badge{font-size:11px;font-weight:var(--leb-fw-bold);padding:2px 8px;border-radius:var(--leb-radius-pill);background:var(--leb-warning, #F59E0B);color:#fff;letter-spacing:.2px}.leb-sidebar__item.is-active .leb-sidebar__badge{background:#fff;color:var(--leb-navy, #1B3A5C)}.leb-sidebar .leb-icon{width:24px;height:24px;stroke:currentColor;stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.leb-sidebar__item.is-active .leb-icon{stroke-width:1.9}.leb-sidebar__footer{padding:12px 14px 16px;border-top:1px solid rgba(255,255,255,.08);flex-shrink:0}.leb-sidebar__logout{width:100%;display:flex;align-items:center;justify-content:center;gap:9px;height:42px;background:transparent;border:1px solid rgba(255,255,255,.18);border-radius:var(--leb-radius-8);color:#ffffffd1;font-family:inherit;font-size:15px;font-weight:var(--leb-fw-semi);letter-spacing:-.1px;cursor:pointer;transition:background .12s,color .12s,border-color .12s}.leb-sidebar__logout:hover{background:#ffffff14;color:#fff;border-color:#fff6}@media(max-width:1024px){.leb-sidebar{width:248px}}@media(max-width:768px){.leb-sidebar{width:290px;transform:translate(-100%)}.leb-sidebar.is-open{transform:translate(0)}.leb-sidebar__close{display:flex}.leb-sidebar__header{padding-top:56px}}@media(max-width:480px){.leb-sidebar{width:86vw;max-width:310px}}*{box-sizing:border-box}.leb-layout{display:flex;min-height:100vh;width:100%;background:var(--leb-surface, #F7F8FB);font-family:var(--leb-font);color:var(--leb-text, #0E1A2B)}.leb-layout__main{margin-left:var(--leb-sidebar-w, 240px);flex:1;width:calc(100% - var(--leb-sidebar-w, 240px));min-height:100vh;padding:28px 32px;-webkit-overflow-scrolling:touch}.leb-layout__menu-btn{display:none;position:fixed;top:12px;left:12px;z-index:1001;width:42px;height:42px;background:var(--leb-navy, #1B3A5C);border:none;border-radius:var(--leb-radius-8);cursor:pointer;color:#fff;box-shadow:var(--leb-shadow-sm);align-items:center;justify-content:center}.leb-layout__menu-btn:hover{background:var(--leb-navy-deep, #0E2440)}.leb-layout__menu-btn .leb-icon{width:22px;height:22px;stroke:currentColor;stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round}.leb-layout__overlay{display:none;position:fixed;inset:0;background:#0e1a2b73;z-index:999}.leb-bottom-nav{display:none;position:fixed;bottom:0;left:0;right:0;height:var(--leb-mobile-nav-h, 56px);background:var(--leb-card, #fff);border-top:1px solid var(--leb-border, #E4E8EE);z-index:998;justify-content:space-around;align-items:center;padding-bottom:env(safe-area-inset-bottom,0);box-sizing:content-box}.leb-bottom-nav__item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;flex:1;height:100%;background:none;border:none;cursor:pointer;color:var(--leb-text-muted, #727C8C);font-family:inherit;padding:0;transition:color .12s}.leb-bottom-nav__item.is-active{color:var(--leb-navy, #1B3A5C)}.leb-bottom-nav__item .leb-icon{width:22px;height:22px;stroke:currentColor;stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round}.leb-bottom-nav__item.is-active .leb-icon{stroke-width:1.9}.leb-bottom-nav__label{font-size:11px;font-weight:var(--leb-fw-semi);letter-spacing:-.1px}@media(max-width:1024px){.leb-layout__main{margin-left:248px;width:calc(100% - 248px);padding:24px}}@media(max-width:768px){.leb-layout{display:block;padding-bottom:calc(var(--leb-mobile-nav-h, 56px) + env(safe-area-inset-bottom,0px))}.leb-layout__main{margin-left:0;width:100%;padding:72px 16px 24px}.leb-layout__menu-btn{display:flex}.leb-layout__overlay{display:block}.leb-bottom-nav{display:flex}}@media(max-width:480px){.leb-layout__main{padding:64px 12px 24px}}.main-page{max-width:1200px;margin:0 auto;width:100%;padding-top:8px}.main-notice-banner{background:var(--leb-card);border:1px solid var(--leb-border-soft);padding:14px 18px;border-radius:var(--leb-radius-12);margin-bottom:20px;box-shadow:var(--leb-shadow-sm);display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;transition:box-shadow .15s,transform .15s,border-color .15s}.main-notice-banner:hover{box-shadow:var(--leb-shadow-md);transform:translateY(-1px);border-color:var(--leb-border)}.main-notice-content{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.main-notice-icon{width:32px;height:32px;border-radius:var(--leb-radius-8);background:var(--leb-navy-soft);color:var(--leb-navy);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-size:0}.main-notice-icon>svg{width:18px;height:18px;stroke:currentColor;stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round}.main-notice-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--leb-fs-14);color:var(--leb-text);font-weight:var(--leb-fw-medium);letter-spacing:-.1px}.main-notice-arrow{color:var(--leb-text-muted);display:inline-flex;font-size:0;flex-shrink:0}.main-notice-arrow>svg{width:18px;height:18px;stroke:currentColor;stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round}.main-modified-section{background:var(--leb-card);border:1px solid var(--leb-border-soft);border-radius:var(--leb-radius-12);padding:14px 18px;margin-bottom:20px;box-shadow:var(--leb-shadow-sm)}.main-modified-header{display:flex;align-items:center;gap:10px;margin-bottom:10px}.main-modified-icon{width:32px;height:32px;border-radius:var(--leb-radius-8);background:var(--leb-navy-soft);color:var(--leb-navy);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-size:0}.main-modified-icon>svg{width:18px;height:18px;stroke:currentColor;stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round}.main-modified-title{font-size:var(--leb-fs-14);font-weight:var(--leb-fw-bold, 700);color:var(--leb-text)}.main-modified-count{min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--leb-navy);color:#fff;font-size:12px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.main-modified-empty{padding:10px 12px;font-size:var(--leb-fs-14);color:var(--leb-text-muted)}.main-modified-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.main-modified-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid var(--leb-border-soft);border-radius:var(--leb-radius-8);cursor:pointer;transition:background-color .15s,border-color .15s}.main-modified-item:hover{background:var(--leb-navy-soft);border-color:var(--leb-border)}.main-modified-text{min-width:0;font-size:var(--leb-fs-14);color:var(--leb-text);line-height:1.45}.main-modified-text strong{font-weight:var(--leb-fw-bold, 700)}.main-modified-arrow{color:var(--leb-text-muted);display:inline-flex;font-size:0;flex-shrink:0}.main-modified-arrow>svg{width:18px;height:18px;stroke:currentColor;stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round}.main-stats-section,.main-leave-balance{background:var(--leb-card);border:1px solid var(--leb-border-soft);padding:20px 22px;border-radius:var(--leb-radius-12);margin-bottom:20px;box-shadow:var(--leb-shadow-sm);overflow:hidden}.main-stats-section{cursor:pointer;transition:box-shadow .15s,transform .15s,border-color .15s}.main-stats-section:hover{box-shadow:var(--leb-shadow-md);transform:translateY(-1px);border-color:var(--leb-border)}.main-stats-title,.main-leave-title{font:var(--leb-fw-bold) var(--leb-fs-12)/1.2 var(--leb-font);color:var(--leb-navy);letter-spacing:.6px;text-transform:uppercase;margin:0 0 14px}.main-stats-row{margin-bottom:0}.main-stats-row.manager-layout,.main-stats-row.user-layout{display:flex;flex-direction:column;gap:16px;margin-bottom:20px}.main-stats-row.manager-layout{flex-direction:row;align-items:stretch}.main-stats-row.manager-layout>.main-stats-section{flex:1;min-width:0}.main-stats-row .main-stats-section{margin-bottom:0}.dept-pending-section .main-approval-stats{justify-content:center}.main-approval-stats{display:flex;align-items:stretch;gap:12px;padding:8px 0 4px}.approval-stat-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;flex:1}.approval-stat-item .stat-number{font-size:36px;font-weight:var(--leb-fw-bold);line-height:1;letter-spacing:-1px;font-variant-numeric:tabular-nums}.approval-stat-item .stat-label{font-size:var(--leb-fs-13);font-weight:var(--leb-fw-semi);letter-spacing:.1px}.approval-stat-item.pending .stat-number,.approval-stat-item.pending .stat-label{color:var(--leb-warning)}.approval-stat-item.approved .stat-number,.approval-stat-item.approved .stat-label{color:var(--leb-success)}.approval-stat-item.rejected .stat-number,.approval-stat-item.rejected .stat-label{color:var(--leb-danger)}.main-stat-item{background:var(--leb-surface-alt);padding:18px 20px;border-radius:var(--leb-radius-10);border-left:3px solid var(--leb-navy);flex:1}.main-stat-label{font-size:var(--leb-fs-13);color:var(--leb-text-muted);margin-bottom:6px;font-weight:var(--leb-fw-semi)}.main-stat-value{font-size:32px;font-weight:var(--leb-fw-bold);color:var(--leb-navy);margin:6px 0;line-height:1;letter-spacing:-.8px;font-variant-numeric:tabular-nums}.main-stat-detail{font-size:var(--leb-fs-12);color:var(--leb-text-faint);margin-top:6px}.main-stats-grid{display:flex;gap:12px;align-items:stretch}.main-coming-soon .main-stats-title{margin-bottom:0}.main-coming-soon-content{display:flex;align-items:center;justify-content:center;gap:10px;padding:24px 16px;background:var(--leb-surface-alt);border-radius:var(--leb-radius-10);margin-top:14px}.main-coming-soon-icon{font-size:24px;color:var(--leb-text-muted)}.main-coming-soon-text{font-size:var(--leb-fs-14);color:var(--leb-text-muted);font-weight:var(--leb-fw-medium)}.main-leave-stats{display:flex;justify-content:space-around;align-items:flex-end;gap:18px;padding:6px 0 2px}.leave-stat-item{display:flex;flex-direction:column;align-items:center;gap:5px}.leave-stat-item .leave-stat-number{font-weight:var(--leb-fw-bold);line-height:1;letter-spacing:-1px;font-variant-numeric:tabular-nums}.leave-stat-item .leave-stat-label{font-size:var(--leb-fs-12);font-weight:var(--leb-fw-semi);letter-spacing:.1px}.leave-stat-item.total .leave-stat-number{font-size:30px;color:var(--leb-navy)}.leave-stat-item.total .leave-stat-label{color:var(--leb-navy)}.leave-stat-item.used .leave-stat-number{font-size:30px;color:var(--leb-warning)}.leave-stat-item.used .leave-stat-label{color:var(--leb-warning)}.leave-stat-item.remaining .leave-stat-number{font-size:36px;color:var(--leb-success)}.leave-stat-item.remaining .leave-stat-label{color:var(--leb-success)}.leave-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.leave-card-label{font:var(--leb-fw-bold) var(--leb-fs-18)/1.2 var(--leb-font);color:var(--leb-text);letter-spacing:-.3px}.leave-card-year{font-size:var(--leb-fs-14);font-weight:var(--leb-fw-semi);color:var(--leb-text-muted);font-variant-numeric:tabular-nums}.leave-card-main{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px}.leave-card-remaining{display:flex;align-items:baseline;gap:7px;min-width:0}.leave-card-num{font-size:40px;font-weight:var(--leb-fw-bold);color:var(--leb-navy);letter-spacing:-1.5px;line-height:1;font-variant-numeric:tabular-nums}.leave-card-num.holiday{color:#6d4fa8}.leave-card-unit{font-size:var(--leb-fs-16);color:var(--leb-text-muted);font-weight:var(--leb-fw-medium)}.leave-card-usage{font-size:var(--leb-fs-14);color:var(--leb-text-muted);font-weight:var(--leb-fw-semi);font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0}.leave-progress{height:8px;background:var(--leb-surface-alt);border-radius:var(--leb-radius-pill);overflow:hidden}.leave-progress-fill{height:100%;background:var(--leb-navy);border-radius:var(--leb-radius-pill);transition:width .4s ease}.leave-progress-fill.holiday{background:#6d4fa8}.leave-balance-row{display:flex;gap:28px;align-items:stretch}.leave-balance-group{flex:1;min-width:0}.leave-balance-group .main-leave-stats,.leave-balance-group .main-stats-title{text-align:center}.holiday-group{border-left:1px solid var(--leb-border-soft);padding-left:28px}.main-quick-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px}.main-action-card{background:var(--leb-card);border:1px solid var(--leb-border-soft);padding:20px 22px;border-radius:var(--leb-radius-12);box-shadow:var(--leb-shadow-sm);cursor:pointer;transition:box-shadow .15s,transform .15s,border-color .15s;display:flex;align-items:center;gap:16px}.main-action-card:hover{box-shadow:var(--leb-shadow-md);transform:translateY(-1px);border-color:var(--leb-border)}.main-action-icon{width:48px;height:48px;border-radius:var(--leb-radius-10);background:var(--leb-navy-soft);color:var(--leb-navy);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-size:0}.main-action-icon>svg{width:24px;height:24px;stroke:currentColor;stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round}.main-action-content{flex:1;min-width:0}.main-action-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--leb-fs-16);font-weight:var(--leb-fw-semi);color:var(--leb-text);letter-spacing:-.2px}.action-label-short{display:none}.main-action-arrow{color:var(--leb-text-muted);flex-shrink:0;display:inline-flex;font-size:0}.main-action-arrow>svg{width:20px;height:20px;stroke:currentColor;stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round}.main-bottom-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.main-bottom-card{background:var(--leb-card);border:1px solid var(--leb-border-soft);padding:22px;border-radius:var(--leb-radius-12);box-shadow:var(--leb-shadow-sm);cursor:pointer;transition:box-shadow .15s,transform .15s;text-align:center}.main-bottom-card:hover{box-shadow:var(--leb-shadow-md);transform:translateY(-1px)}.main-bottom-title{font-size:var(--leb-fs-14);font-weight:var(--leb-fw-semi);color:var(--leb-text);display:flex;align-items:center;justify-content:center;gap:10px;letter-spacing:-.1px}.main-bottom-title span:first-child{font-size:20px}.main-calendar-section{margin-top:24px}.calendar-container{background:var(--leb-card);border:1px solid var(--leb-border-soft);border-radius:var(--leb-radius-12);padding:22px;box-shadow:var(--leb-shadow-sm)}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.calendar-nav{display:flex;align-items:center;gap:12px}.nav-btn{width:34px;height:34px;background:var(--leb-surface-alt);border:1px solid var(--leb-border-soft);border-radius:var(--leb-radius-8);cursor:pointer;font-size:12px;color:var(--leb-text-soft);transition:background .15s,color .15s,border-color .15s}.nav-btn:hover{background:var(--leb-navy-soft);color:var(--leb-navy);border-color:var(--leb-navy-soft)}.calendar-title{font-size:var(--leb-fs-18);font-weight:var(--leb-fw-bold);color:var(--leb-text);letter-spacing:-.3px;min-width:130px;text-align:center;margin:0}.calendar-actions{display:flex;gap:8px}.download-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:82px;height:36px;padding:0;white-space:nowrap;background:var(--leb-card);color:var(--leb-text-soft);border:1px solid var(--leb-border);border-radius:var(--leb-radius-8);cursor:pointer;font-family:var(--leb-font);font-size:var(--leb-fs-13);font-weight:var(--leb-fw-semi);letter-spacing:-.1px;box-sizing:border-box;transition:background .15s,color .15s,border-color .15s}.download-btn:hover{background:var(--leb-surface-alt);color:var(--leb-text);border-color:var(--leb-border)}.download-btn>svg{width:16px;height:16px;stroke:currentColor;stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round}.today-btn{display:inline-flex;align-items:center;justify-content:center;width:82px;height:36px;padding:0;background:var(--leb-navy);color:#fff;border:1px solid var(--leb-navy);border-radius:var(--leb-radius-8);cursor:pointer;font-family:var(--leb-font);font-size:var(--leb-fs-13);font-weight:var(--leb-fw-semi);letter-spacing:-.1px;box-sizing:border-box;transition:background .15s,border-color .15s;box-shadow:0 1px 2px #1b3a5c2e}.today-btn:hover{background:var(--leb-navy-deep);border-color:var(--leb-navy-deep)}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;margin-bottom:6px}.weekday{text-align:center;padding:9px;font-weight:var(--leb-fw-bold);font-size:var(--leb-fs-11);color:var(--leb-text-muted);background:var(--leb-surface);border-radius:var(--leb-radius-6);letter-spacing:.4px;text-transform:uppercase}.weekday.sunday{color:var(--leb-danger)}.weekday.saturday{color:var(--leb-info)}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));column-gap:0;row-gap:3px}.calendar-day{min-height:72px;min-width:0;padding:6px;background:var(--leb-surface);border-radius:0;cursor:pointer;transition:background-color .15s;display:flex;flex-direction:column;overflow:visible}.calendar-day:hover{background:var(--leb-navy-soft)}.calendar-day.other-month{background:var(--leb-surface-alt);opacity:.5}.calendar-day.today{background:var(--leb-navy-soft);box-shadow:inset 0 0 0 2px var(--leb-navy)}.day-number{font-size:var(--leb-fs-12);font-weight:var(--leb-fw-semi);color:var(--leb-text);margin-bottom:4px;font-variant-numeric:tabular-nums}.day-number.sunday{color:var(--leb-danger)}.day-number.saturday{color:var(--leb-info)}.day-schedules{display:flex;flex-direction:column;gap:2px;min-width:0;width:100%}.schedule-item{padding:3px 6px;border-radius:3px;font-size:var(--leb-fs-12);color:#fff;white-space:normal;overflow-wrap:anywhere;word-break:break-word;overflow:visible;line-height:1.3;min-height:18px;box-sizing:border-box}.schedule-item.multi-day{white-space:normal;overflow-wrap:anywhere;word-break:break-word;overflow:visible}.schedule-item.connect-left{margin-left:-6px;padding-left:6px;border-top-left-radius:0;border-bottom-left-radius:0;position:relative;z-index:1}.schedule-item.connect-right{margin-right:-6px;padding-right:6px;border-top-right-radius:0;border-bottom-right-radius:0}.schedule-item.bar-head{overflow:visible;position:relative;z-index:10;min-height:calc(1.3em + 6px)}.bar-head-title{position:absolute;top:0;left:0;padding:3px 6px;white-space:normal;overflow-wrap:anywhere;word-break:break-word;pointer-events:none;box-sizing:border-box;z-index:11}.bar-spacer{display:block;visibility:hidden;opacity:0;color:transparent;white-space:normal;overflow-wrap:anywhere;word-break:break-word;box-sizing:border-box;pointer-events:none}.more-schedules{font-size:10px;color:var(--leb-text-muted);padding:2px 4px}.schedule-prefix{display:inline-block;background-color:#ffffff47;border-radius:3px;padding:0 5px;margin-right:4px;font-size:.85em;font-weight:700;line-height:1.45;white-space:nowrap}.schedule-legend{display:flex;justify-content:center;gap:22px;margin-top:16px;padding:14px;background:var(--leb-card);border:1px solid var(--leb-border-soft);border-radius:var(--leb-radius-12);box-shadow:var(--leb-shadow-sm)}.legend-item{display:flex;align-items:center;gap:8px;font-size:var(--leb-fs-13);color:var(--leb-text-soft);font-weight:var(--leb-fw-medium)}.legend-color{width:14px;height:14px;border-radius:4px}.modal-overlay{position:fixed;inset:0;background:#0e1a2b73;display:flex;align-items:center;justify-content:center;z-index:var(--leb-z-modal);padding:20px}.modal-content{background:var(--leb-card);border-radius:var(--leb-radius-16);width:100%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:var(--leb-shadow-lg);border:1px solid var(--leb-border-soft)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--leb-divider)}.modal-title{font-size:var(--leb-fs-16);font-weight:var(--leb-fw-bold);color:var(--leb-text);letter-spacing:-.2px;margin:0}.modal-close{width:32px;height:32px;background:var(--leb-surface-alt);border:1px solid var(--leb-border-soft);border-radius:var(--leb-radius-8);cursor:pointer;font-size:0;color:var(--leb-text-muted);display:inline-flex;align-items:center;justify-content:center;transition:background .15s,color .15s}.modal-close:hover{background:var(--leb-surface);color:var(--leb-text)}.modal-close>svg{width:16px;height:16px;stroke:currentColor;stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round}.modal-body{padding:20px}.existing-schedules{margin-bottom:18px}.section-title{font:var(--leb-fw-bold) var(--leb-fs-12)/1.2 var(--leb-font);color:var(--leb-navy);letter-spacing:.6px;text-transform:uppercase;margin:0 0 10px}.schedule-detail-item{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:var(--leb-surface);border:1px solid var(--leb-border-soft);border-radius:var(--leb-radius-8);margin-bottom:8px}.schedule-detail-info{display:flex;align-items:center;gap:10px}.schedule-type-badge{padding:3px 9px;border-radius:var(--leb-radius-pill);font-size:var(--leb-fs-11);color:#fff;font-weight:var(--leb-fw-semi);letter-spacing:.1px}.schedule-detail-title{font-size:var(--leb-fs-13);color:var(--leb-text);font-weight:var(--leb-fw-medium)}.schedule-action-btns{display:flex;gap:6px;flex-shrink:0}.edit-schedule-btn{padding:6px 12px;background:var(--leb-info-soft);color:var(--leb-info);border:1px solid transparent;border-radius:var(--leb-radius-6);cursor:pointer;font-family:var(--leb-font);font-size:var(--leb-fs-12);font-weight:var(--leb-fw-semi);transition:background .15s}.edit-schedule-btn:hover{background:#d6e5f2}.delete-schedule-btn{padding:6px 12px;background:var(--leb-danger-soft);color:var(--leb-danger);border:1px solid transparent;border-radius:var(--leb-radius-6);cursor:pointer;font-family:var(--leb-font);font-size:var(--leb-fs-12);font-weight:var(--leb-fw-semi);transition:background .15s}.delete-schedule-btn:hover{background:#f8d6d4}.schedule-edit-form{display:flex;align-items:center;gap:8px;width:100%;flex-wrap:wrap}.edit-type-select{padding:6px 10px;border:1px solid var(--leb-border);border-radius:var(--leb-radius-6);font-family:var(--leb-font);font-size:var(--leb-fs-12);color:var(--leb-text);background:var(--leb-card)}.edit-title-input{flex:1;min-width:100px;padding:6px 10px;border:1px solid var(--leb-border);border-radius:var(--leb-radius-6);font-family:var(--leb-font);font-size:var(--leb-fs-13);color:var(--leb-text)}.edit-title-input:focus{outline:none;border-color:var(--leb-navy);box-shadow:var(--leb-shadow-focus)}.edit-action-btns{display:flex;gap:4px}.edit-save-btn{padding:6px 12px;background:var(--leb-navy);color:#fff;border:none;border-radius:var(--leb-radius-6);cursor:pointer;font-family:var(--leb-font);font-size:var(--leb-fs-12);font-weight:var(--leb-fw-semi)}.edit-save-btn:hover{background:var(--leb-navy-deep)}.edit-cancel-btn{padding:6px 12px;background:var(--leb-surface-alt);color:var(--leb-text-soft);border:none;border-radius:var(--leb-radius-6);cursor:pointer;font-family:var(--leb-font);font-size:var(--leb-fs-12);font-weight:var(--leb-fw-semi)}.edit-cancel-btn:hover{background:var(--leb-border-soft)}.add-schedule-form{padding-top:16px;border-top:1px solid var(--leb-divider)}.no-schedules{padding:20px;text-align:center;color:var(--leb-text-muted);font-size:var(--leb-fs-13)}.permission-notice{padding:16px;text-align:center;color:var(--leb-text-muted);font-size:var(--leb-fs-13);background:var(--leb-surface);border:1px solid var(--leb-border-soft);border-radius:var(--leb-radius-8);margin-top:12px}.permission-notice p{margin:0}.form-group{margin-bottom:14px}.form-row{display:flex;gap:10px}.form-row .form-group{flex:1 1 0;min-width:0}.form-row .form-input{width:100%;min-width:0}.schedule-range{color:var(--leb-text-muted);font-size:var(--leb-fs-12);font-weight:var(--leb-fw-semi);margin-right:4px}.edit-date-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.edit-date-input{padding:6px 10px;border:1px solid var(--leb-border);border-radius:var(--leb-radius-6);font-family:var(--leb-font);font-size:var(--leb-fs-12);color:var(--leb-text)}.edit-date-input:focus{outline:none;border-color:var(--leb-navy);box-shadow:var(--leb-shadow-focus)}.edit-date-sep{color:var(--leb-text-muted);font-size:var(--leb-fs-13)}.form-label{display:block;margin-bottom:6px;font-size:var(--leb-fs-12);font-weight:var(--leb-fw-semi);color:var(--leb-text-soft);letter-spacing:.1px}.form-select,.form-input{width:100%;padding:10px 12px;border:1px solid var(--leb-border);border-radius:var(--leb-radius-8);font-family:var(--leb-font);font-size:var(--leb-fs-14);color:var(--leb-text);background:var(--leb-card);outline:none;box-sizing:border-box}.form-select:focus,.form-input:focus{border-color:var(--leb-navy);box-shadow:var(--leb-shadow-focus)}.add-btn{width:100%;padding:12px;background:var(--leb-navy);color:#fff;border:none;border-radius:var(--leb-radius-8);cursor:pointer;font-family:var(--leb-font);font-size:var(--leb-fs-14);font-weight:var(--leb-fw-bold);letter-spacing:-.1px;transition:background .15s;box-shadow:0 1px 2px #1b3a5c2e}.add-btn:hover{background:var(--leb-navy-deep)}.leave-history-toggle{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:10px;background:var(--leb-surface);border:1px solid var(--leb-border-soft);border-top:none;border-radius:0 0 var(--leb-radius-10) var(--leb-radius-10);font-family:var(--leb-font);font-size:var(--leb-fs-13);font-weight:var(--leb-fw-semi);color:var(--leb-navy);cursor:pointer;transition:background .15s}.leave-history-toggle:hover{background:var(--leb-surface-alt)}.toggle-arrow{font-size:11px;transition:transform .2s}.toggle-arrow.open{transform:rotate(180deg)}.leave-history-dropdown{background:var(--leb-surface);border:1px solid var(--leb-border-soft);border-top:none;border-radius:0 0 var(--leb-radius-10) var(--leb-radius-10);padding:12px 16px;margin-top:-1px}.leave-history-empty{font-size:var(--leb-fs-13);color:var(--leb-text-muted);text-align:center;padding:12px 0}.leave-history-section-title{font-size:var(--leb-fs-12);font-weight:var(--leb-fw-bold);color:var(--leb-navy);letter-spacing:.4px;text-transform:uppercase;margin-bottom:6px}.leave-history-table{width:100%;border-collapse:collapse;font-size:var(--leb-fs-13)}.leave-history-table thead th{background:var(--leb-surface);padding:8px 12px;text-align:left;font-weight:var(--leb-fw-bold);font-size:var(--leb-fs-11);letter-spacing:.4px;text-transform:uppercase;color:var(--leb-text-muted);border-bottom:1px solid var(--leb-border-soft)}.leave-history-table tbody td{padding:8px 12px;border-bottom:1px solid var(--leb-border-soft);color:var(--leb-text-soft);white-space:nowrap;vertical-align:middle}.leave-history-table tbody td.reason-cell{white-space:normal!important;word-break:break-all!important;overflow-wrap:anywhere!important;width:100%}.leave-history-table .reason-text{display:block;white-space:normal;word-break:break-all;overflow-wrap:anywhere}.leave-history-table tbody tr:last-child td{border-bottom:none}.leave-type-badge{display:inline-block;padding:2px 9px;border-radius:var(--leb-radius-pill);font-size:var(--leb-fs-12);font-weight:var(--leb-fw-semi)}.leave-type-badge.annual{background:var(--leb-info-soft);color:var(--leb-info)}.leave-type-badge.holiday{background:#ece6f5;color:#6d4fa8}@media(min-width:768px)and (max-width:1024px){.main-page{max-width:100%;padding-top:4px}.main-quick-actions{grid-template-columns:repeat(3,1fr)}.main-bottom-actions{grid-template-columns:repeat(2,1fr)}.main-action-icon{width:44px;height:44px}.main-action-icon>svg{width:22px;height:22px}.main-action-title{font-size:var(--leb-fs-14)}.calendar-day{min-height:58px}.schedule-item{font-size:11px;padding:2px 5px}}@media(max-width:768px){.main-page{padding-top:4px;max-width:100%;box-sizing:border-box}.main-notice-banner{padding:12px 16px;margin-bottom:14px}.main-notice-content{gap:10px}.main-stats-section,.main-leave-balance{padding:16px 18px;margin-bottom:14px}.main-stats-title,.main-leave-title{margin-bottom:12px}.main-stats-grid{flex-direction:column;align-items:stretch}.main-stat-value{font-size:28px}.main-coming-soon-content{padding:18px 14px;margin-top:12px}.main-coming-soon-icon{font-size:22px}.main-coming-soon-text{font-size:var(--leb-fs-13)}.main-approval-stats{gap:10px;padding:6px 0 2px}.approval-stat-item .stat-number{font-size:30px}.main-stats-row.manager-layout,.main-stats-row.user-layout{flex-direction:column;gap:12px;margin-bottom:14px}.leave-balance-row{flex-direction:column;gap:0}.leave-balance-group{padding:14px 0}.leave-balance-group:first-child{padding-top:0}.holiday-group{border-left:none;border-top:1px solid var(--leb-border-soft);padding-left:0}.main-leave-stats{gap:14px;padding:6px 0}.leave-stat-item.total .leave-stat-number,.leave-stat-item.used .leave-stat-number{font-size:24px}.leave-stat-item.remaining .leave-stat-number{font-size:28px}.leave-card-label{font-size:var(--leb-fs-16)}.leave-card-num{font-size:34px;letter-spacing:-1px}.leave-card-unit{font-size:var(--leb-fs-14)}.main-quick-actions{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px}.main-action-card{flex-direction:column;align-items:center;text-align:center;padding:14px 6px;gap:8px}.main-action-icon{width:42px;height:42px;border-radius:var(--leb-radius-10)}.main-action-icon>svg{width:22px;height:22px}.main-action-content{width:100%}.main-action-title{font-size:var(--leb-fs-13);white-space:normal;line-height:1.3}.main-action-arrow,.action-label-full{display:none}.action-label-short{display:inline}.main-bottom-actions{grid-template-columns:1fr;gap:12px}.main-bottom-card{padding:16px}.main-bottom-title{font-size:var(--leb-fs-13);gap:8px}.main-calendar-section{margin-top:16px}.calendar-container{padding:14px}.calendar-header{flex-direction:column;gap:12px;margin-bottom:14px}.calendar-nav{gap:12px}.nav-btn{width:32px;height:32px}.calendar-title{font-size:var(--leb-fs-16);min-width:110px}.calendar-actions{width:100%;gap:8px}.download-btn,.today-btn{flex:1;height:40px;padding:0 12px;justify-content:center}.weekday{padding:6px 3px;font-size:10px}.calendar-day{min-height:64px;padding:4px 2px}.day-number{font-size:11px;margin-bottom:2px}.day-schedules{gap:1px}.schedule-item{font-size:10px;padding:2px 4px;line-height:1.2;min-height:16px;white-space:normal;overflow-wrap:anywhere;word-break:break-word;overflow:visible}.schedule-name{display:block}.schedule-item.connect-left{margin-left:-2px;padding-left:2px}.schedule-item.connect-right{margin-right:-2px;padding-right:2px}.schedule-legend{flex-wrap:wrap;gap:12px;padding:12px;margin-top:14px}.legend-item{font-size:var(--leb-fs-12)}.legend-color{width:12px;height:12px}.modal-content{max-width:100%;margin:10px}.modal-header{padding:14px 16px}.modal-title{font-size:var(--leb-fs-14)}.modal-body{padding:16px}.schedule-detail-item{flex-direction:column;align-items:stretch;gap:8px}.schedule-action-btns{justify-content:flex-end;align-self:flex-end;gap:6px}.edit-schedule-btn,.delete-schedule-btn{width:auto;min-width:64px;padding:6px 14px;white-space:nowrap}.leave-history-dropdown{padding:10px;overflow-x:auto}.leave-history-table{font-size:var(--leb-fs-12);min-width:400px}}@media(max-width:480px){.main-notice-text{font-size:var(--leb-fs-13);max-width:200px}.main-stat-value{font-size:24px}.main-action-icon{width:40px;height:40px}.main-action-icon>svg{width:20px;height:20px}.main-action-title{font-size:var(--leb-fs-13)}.main-coming-soon-content{padding:16px 12px;gap:8px}.main-coming-soon-icon{font-size:20px}.main-coming-soon-text{font-size:var(--leb-fs-12)}.main-approval-stats{gap:8px;padding:6px 0}.approval-stat-item .stat-number{font-size:26px}.approval-stat-item .stat-label{font-size:12px}.main-bottom-card{padding:14px}.main-bottom-title{font-size:var(--leb-fs-12)}.calendar-container{padding:12px}.calendar-title{font-size:var(--leb-fs-14)}.weekday{padding:5px 2px;font-size:10px}.calendar-day{min-height:56px;padding:3px 1px}.day-number{font-size:10px;margin-bottom:2px}.schedule-item{font-size:9px;padding:2px 3px;line-height:1.2;min-height:14px;white-space:normal;overflow-wrap:anywhere;word-break:break-word;overflow:visible}.schedule-item.connect-left{margin-left:-1px;padding-left:1px}.schedule-item.connect-right{margin-right:-1px;padding-right:1px}.schedule-legend{gap:10px;padding:10px}.legend-item{font-size:11px;gap:5px}.legend-color{width:10px;height:10px}.modal-header{padding:12px 14px}.modal-title{font-size:var(--leb-fs-13)}.modal-body{padding:14px}.section-title{font-size:var(--leb-fs-12)}.form-select,.form-input{padding:9px 11px;font-size:var(--leb-fs-13)}.add-btn{padding:11px;font-size:var(--leb-fs-13)}}@media(min-width:1025px){.main-page{max-width:1200px;padding-top:12px}}.calendar-container.calendar-download-mode .calendar-title{font-size:42px}.calendar-container.calendar-download-mode .nav-btn{font-size:26px;width:50px;height:50px}.calendar-container.calendar-download-mode .download-btn,.calendar-container.calendar-download-mode .today-btn{font-size:22px;padding:14px 24px;width:auto;height:auto;white-space:nowrap}.calendar-container.calendar-download-mode .download-btn>svg{width:26px;height:26px}.calendar-container.calendar-download-mode .weekday{font-size:28px;padding:18px 12px}.calendar-container.calendar-download-mode .day-number{font-size:28px;margin-bottom:8px;font-weight:700}.calendar-container.calendar-download-mode .calendar-day{min-height:140px}.calendar-container.calendar-download-mode .schedule-item{font-size:20px;padding:7px 12px;min-height:36px;line-height:1.35}.calendar-container.calendar-download-mode .bar-head-title,.calendar-container.calendar-download-mode .bar-spacer{font-size:20px;padding:7px 12px}*{margin:0;padding:0;box-sizing:border-box;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent}input,textarea,select,[contenteditable=true]{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}img{-webkit-user-drag:none;-khtml-user-drag:none;-moz-user-drag:none;-o-user-drag:none;user-drag:none;pointer-events:none}#root{width:100%;max-width:100vw;min-height:100vh}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5;overflow-x:hidden;overflow-y:auto;width:100%;max-width:100vw;-webkit-overflow-scrolling:touch}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}input,select,textarea{max-width:100%}th{white-space:nowrap}svg,video,canvas{max-width:100%}.error-modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px}.error-modal{background-color:#fff;border-radius:12px;width:100%;max-width:400px;box-shadow:0 10px 30px #0003}.error-modal-header{padding:20px 24px;border-bottom:1px solid #eee}.error-modal-header h2{margin:0;font-size:18px;color:#e74c3c}.error-modal-body{padding:24px}.error-modal-body p{margin:0;color:#333;font-size:15px}.error-modal-detail{color:#888!important;font-size:13px!important;margin-top:8px!important;word-break:break-word}.error-modal-footer{padding:16px 24px;border-top:1px solid #eee;display:flex;justify-content:flex-end}.btn-error-confirm{padding:8px 24px;border:none;border-radius:6px;background-color:#4a90d9;color:#fff;font-size:14px;cursor:pointer}.btn-error-confirm:hover{background-color:#3a7bc8}.file-drop-zone{position:relative;border:2px dashed transparent;border-radius:8px;transition:all .2s}.file-drop-zone.dragging{border-color:#4a90d9;background-color:#f0f7ff}.file-drop-zone .drop-hint{color:#999;font-size:13px;margin-left:8px}
