:root{--bg-page: #f8f8f8;--bg-card: #ffffff;--bg-input: #ffffff;--bg-input-focus: #fafafa;--bg-hover: #f8fbff;--border-card: #cccccc;--border-input: #e0e0e0;--border-input-focus: #333333;--border-divider: #f0f0f0;--text-primary: #333333;--text-secondary: #666666;--text-muted: #999999;--text-placeholder: #999999;--text-label: #333333;--btn-primary-bg: #333333;--btn-primary-bg-hover: #000000;--btn-primary-text: #ffffff;--btn-disabled-bg: #999999;--link-color: #1976d2;--choice-hover-border: #1976d2;--error-bg: #fff5f5;--error-border: #ffdddd;--error-text: #cc3333;--success-bg: #f0f9f0;--success-border: #c3e6c3;--success-text: #2e7d32;--shadow-card: 0 2px 8px rgba(0, 0, 0, .04);--shadow-btn-hover: 0 4px 12px rgba(0, 0, 0, .15);--shadow-btn-active: 0 2px 6px rgba(0, 0, 0, .1);--toggle-bg: #e0e0e0;--toggle-thumb: #ffffff}[data-theme=dark]{--bg-page: #0f0f0f;--bg-card: #1a1a1a;--bg-input: #242424;--bg-input-focus: #2a2a2a;--bg-hover: #1e2a3a;--border-card: #2e2e2e;--border-input: #3a3a3a;--border-input-focus: #cccccc;--border-divider: #2a2a2a;--text-primary: #eeeeee;--text-secondary: #aaaaaa;--text-muted: #666666;--text-placeholder: #555555;--text-label: #cccccc;--btn-primary-bg: #eeeeee;--btn-primary-bg-hover: #ffffff;--btn-primary-text: #111111;--btn-disabled-bg: #444444;--link-color: #64b5f6;--choice-hover-border: #64b5f6;--error-bg: #2a1a1a;--error-border: #5a2a2a;--error-text: #ff6b6b;--success-bg: #1a2a1a;--success-border: #2e5a2e;--success-text: #81c784;--shadow-card: 0 2px 16px rgba(0, 0, 0, .4);--shadow-btn-hover: 0 4px 16px rgba(0, 0, 0, .5);--shadow-btn-active: 0 2px 8px rgba(0, 0, 0, .3);--toggle-bg: #444444;--toggle-thumb: #eeeeee}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Apple SD Gothic Neo,Noto Sans KR,sans-serif;background-color:var(--bg-page);color:var(--text-primary);line-height:1.5;transition:background-color .2s,color .2s}a{color:var(--link-color);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit}.theme-toggle{position:fixed;top:16px;right:16px;width:40px;height:40px;border-radius:50%;border:1px solid var(--border-card);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-card);transition:all .2s;z-index:100}.theme-toggle:hover{color:var(--text-primary);border-color:var(--border-input-focus);transform:scale(1.05)}.theme-toggle:active{transform:scale(.95)}.toast-container{position:fixed;top:80px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;z-index:9999}.toast{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:8px;font-size:14px;font-weight:500;min-width:240px;max-width:360px;box-shadow:0 4px 16px #0000001f;animation:toast-in .25s ease}.toast-success{background:var(--success-bg);border:1px solid var(--success-border);color:var(--success-text)}.toast-error{background:var(--error-bg);border:1px solid var(--error-border);color:var(--error-text)}.toast svg{flex-shrink:0}@keyframes toast-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background-color:var(--bg-page);padding:20px}.login-box{background:var(--bg-card);border-radius:20px;border:1px solid var(--border-card);box-shadow:var(--shadow-card);padding:50px 40px;width:100%;max-width:420px}.login-title{font-size:28px;font-weight:600;color:var(--text-primary);margin:0 0 8px;text-align:center;letter-spacing:-.5px}.login-subtitle{font-size:14px;color:var(--text-secondary);margin:0 0 40px;text-align:center;font-weight:400}.login-form{display:flex;flex-direction:column;gap:16px}.login-error-message{background-color:var(--error-bg);border:1px solid var(--error-border);border-radius:8px;color:var(--error-text);padding:12px 16px;font-size:13px;text-align:center}.login-success-message{background-color:var(--success-bg);border:1px solid var(--success-border);border-radius:8px;color:var(--success-text);padding:12px 16px;font-size:13px;text-align:center}.login-form-group{display:flex;flex-direction:column;gap:8px}.login-form-group label{font-size:13px;font-weight:500;color:var(--text-label)}.login-form-group input{padding:12px 16px;border:1px solid var(--border-input);border-radius:8px;font-size:14px;color:var(--text-primary);background-color:var(--bg-input);transition:all .2s;font-family:inherit}.login-form-group input::placeholder{color:var(--text-placeholder)}.login-form-group input:focus{outline:none;border-color:var(--border-input-focus);background-color:var(--bg-input-focus)}.password-input-wrapper{position:relative;display:flex;align-items:center}.password-input-wrapper input{width:100%;padding-right:48px}.password-toggle-btn{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;color:var(--text-muted);transition:color .2s}.password-toggle-btn:hover{color:var(--text-primary)}.password-toggle-btn svg{display:block}.login-button{padding:14px;margin-top:8px;background-color:var(--btn-primary-bg);border:none;border-radius:8px;color:var(--btn-primary-text);font-size:15px;font-weight:500;cursor:pointer;transition:all .2s;font-family:inherit}.login-button:hover:not(:disabled){background-color:var(--btn-primary-bg-hover);transform:translateY(-1px);box-shadow:var(--shadow-btn-hover)}.login-button:active:not(:disabled){transform:translateY(0);box-shadow:var(--shadow-btn-active)}.login-button:disabled{background-color:var(--btn-disabled-bg);cursor:not-allowed}.login-footer{margin-top:24px;padding-top:24px;border-top:1px solid var(--border-divider);text-align:center}.login-footer p{font-size:12px;color:var(--text-muted);margin:0}@media(max-width:480px){.login-box{padding:40px 24px;border-radius:16px}.login-title{font-size:24px}}.setting-panel{max-width:640px}.setting-section{background:var(--bg-card);border:1px solid var(--border-card);border-radius:12px;padding:24px;margin-bottom:20px}.setting-section-title{font-size:15px;font-weight:600;color:var(--text-primary);margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid var(--border-divider)}.setting-form-group{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.setting-form-group:last-child{margin-bottom:0}.setting-form-group label{font-size:13px;font-weight:500;color:var(--text-label)}.setting-form-group input[type=text],.setting-form-group input[type=email],.setting-form-group input[type=number],.setting-form-group input[type=password],.setting-form-group textarea{padding:9px 12px;border:1px solid var(--border-input);border-radius:8px;background:var(--bg-input);color:var(--text-primary);font-size:14px;font-family:inherit;transition:border-color .15s;outline:none}.setting-form-group input:focus,.setting-form-group textarea:focus{border-color:var(--border-input-focus)}.setting-form-group textarea{resize:vertical;min-height:80px;line-height:1.5}.setting-meta{font-size:13px;color:var(--text-secondary)}.setting-toggle-row{display:flex;align-items:center;justify-content:space-between}.setting-toggle-label{font-size:14px;color:var(--text-primary)}.setting-toggle{position:relative;width:42px;height:24px;flex-shrink:0}.setting-toggle input{opacity:0;width:0;height:0}.setting-toggle-slider{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--border-input);border-radius:24px;cursor:pointer;transition:background .2s}.setting-toggle-slider:before{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;background:#fff;border-radius:50%;transition:transform .2s}.setting-toggle input:checked+.setting-toggle-slider{background:#1976d2}.setting-toggle input:checked+.setting-toggle-slider:before{transform:translate(18px)}.smtp-to-list{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.smtp-to-tag{display:flex;align-items:center;gap:6px;padding:4px 10px;background:var(--bg-hover);border:1px solid var(--border-input);border-radius:20px;font-size:13px;color:var(--text-primary)}.smtp-to-tag-remove{background:none;border:none;cursor:pointer;color:var(--text-muted);display:flex;align-items:center;padding:0;transition:color .15s}.smtp-to-tag-remove:hover{color:var(--error-text)}.smtp-to-add-row{display:flex;gap:8px}.smtp-to-add-row input{flex:1}.btn-add{padding:8px 14px;border-radius:8px;border:1px solid var(--border-input);background:var(--bg-input);color:var(--text-secondary);font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap;transition:all .15s}.btn-add:hover{border-color:var(--border-input-focus);color:var(--text-primary)}.setting-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.btn-primary{padding:9px 20px;border-radius:8px;border:none;background:var(--btn-primary-bg);color:var(--btn-primary-text);font-size:14px;font-weight:600;cursor:pointer;transition:background .15s}.btn-primary:hover:not(:disabled){background:var(--btn-primary-bg-hover)}.btn-primary:disabled{background:var(--btn-disabled-bg);cursor:default}.btn-secondary{padding:9px 20px;border-radius:8px;border:1px solid var(--border-input);background:transparent;color:var(--text-secondary);font-size:14px;font-weight:500;cursor:pointer;transition:all .15s}.btn-secondary:hover:not(:disabled){border-color:var(--border-input-focus);color:var(--text-primary)}.btn-secondary:disabled{opacity:.5;cursor:default}.slip-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000}.slip-modal{background:var(--bg-card);border:1px solid var(--border-card);border-radius:12px;width:560px;max-width:95vw;max-height:92vh;overflow-y:auto;box-shadow:var(--shadow-card);display:flex;flex-direction:column}.slip-modal-head{display:flex;align-items:center;justify-content:space-between;padding:18px 24px 14px;border-bottom:1px solid var(--border-divider)}.slip-modal-title{font-size:16px;font-weight:600;color:var(--text-primary)}.slip-modal-close{background:none;border:none;cursor:pointer;font-size:16px;color:var(--text-secondary);padding:4px 8px;border-radius:4px;line-height:1}.slip-modal-close:hover{color:var(--text-primary);background:var(--bg-hover)}.slip-notice{display:flex;align-items:center;gap:10px;margin:14px 24px 0;padding:10px 14px;background:#fff8e1;border:1px solid #ffe082;border-left:4px solid #f9a825;border-radius:6px;font-size:13px;color:#6d4c00;line-height:1.5;flex-shrink:0}.slip-notice strong{color:#c62828;font-weight:700}.slip-notice-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:#f9a825;color:#fff;font-size:13px;font-weight:700;flex-shrink:0}[data-theme=dark] .slip-notice{background:#f9a8251f;border-color:#f9a82566;color:#ffd180}[data-theme=dark] .slip-notice strong{color:#ff8a80}.slip-modal-body{padding:22px 24px 8px}.slip-section{margin-bottom:22px}.slip-section-label{font-size:13px;font-weight:600;color:var(--text-secondary);margin-bottom:8px}.slip-section-label-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}.slip-text-btn{background:none;border:none;cursor:pointer;font-size:12px;color:var(--link-color);padding:0}.slip-text-btn:hover{text-decoration:underline}.slip-year-row{display:flex;align-items:center;gap:12px}.slip-year-btn{background:var(--bg-input);border:1px solid var(--border-input);border-radius:6px;width:30px;height:30px;cursor:pointer;font-size:18px;line-height:1;color:var(--text-primary);display:flex;align-items:center;justify-content:center}.slip-year-btn:hover{border-color:var(--border-input-focus)}.slip-year-val{font-size:16px;font-weight:600;color:var(--text-primary);min-width:64px;text-align:center}.slip-month-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.slip-month-item{display:flex;align-items:center;justify-content:center;gap:5px;padding:9px 8px;border:1px solid var(--border-input);border-radius:6px;cursor:pointer;font-size:13px;color:var(--text-primary);background:var(--bg-input);transition:border-color .15s,background .15s,color .15s;-webkit-user-select:none;user-select:none}.slip-month-item input[type=checkbox]{display:none}.slip-month-item:hover{border-color:var(--border-input-focus)}.slip-month-item.selected{background:var(--btn-primary-bg);border-color:var(--btn-primary-bg);color:var(--btn-primary-text)}.slip-employee-grid{display:flex;flex-wrap:wrap;gap:6px}.slip-employee-item{display:inline-flex;align-items:center;gap:5px;padding:6px 14px;border:1.5px solid var(--border-input);border-radius:20px;font-size:13px;font-weight:500;color:var(--text-secondary);background:var(--bg-input);cursor:pointer;-webkit-user-select:none;user-select:none;transition:border-color .15s,background .15s,color .15s}.slip-employee-item input[type=checkbox]{display:none}.slip-employee-item:hover{border-color:#1976d2;color:#1976d2}.slip-employee-item.selected{background:#1976d2;border-color:#1976d2;color:#fff}[data-theme=dark] .slip-employee-item.selected{background:#1565c0;border-color:#1565c0}.slip-employee-count{font-size:11px;color:var(--text-muted);margin-left:2px}.slip-employee-item.disabled{opacity:.45;cursor:not-allowed;text-decoration:line-through}.slip-employee-item.disabled:hover{border-color:var(--border-color, #ccc);color:inherit}.slip-employee-tag{font-size:10px;font-weight:600;color:#d32f2f;background:#d32f2f1a;border-radius:4px;padding:1px 5px;margin-left:2px}.slip-employee-item.selected .slip-employee-tag{color:#fff;background:#ffffff40}.slip-employee-note{font-size:10px;color:var(--text-muted);margin-left:2px}.slip-employee-item.selected .slip-employee-note{color:#ffffffd9}.slip-btn{display:inline-flex;align-items:center;gap:6px;padding:9px 20px;border-radius:8px;border:none;cursor:pointer;font-family:inherit;font-size:13px;font-weight:600;transition:all .15s;white-space:nowrap}.slip-btn:disabled{opacity:.45;cursor:not-allowed}.slip-btn-primary{background:#1976d2;color:#fff}.slip-btn-primary:hover:not(:disabled){background:#1565c0}.slip-btn-ghost{background:var(--bg-input);color:var(--text-secondary);border:1px solid var(--border-input)}.slip-btn-ghost:hover:not(:disabled){border-color:var(--border-input-focus);color:var(--text-primary)}.slip-btn-outline{background:transparent;color:#1976d2;border:1px solid #1976d2}.slip-btn-outline:hover:not(:disabled){background:#1976d20f}.slip-modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:16px 24px;border-top:1px solid var(--border-divider)}.cfm-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1100;padding:20px}.cfm-modal{background:var(--bg-card);border:1px solid var(--border-card);border-radius:12px;width:420px;max-width:96vw;display:flex;flex-direction:column;box-shadow:0 16px 48px #00000038;overflow:hidden}.cfm-head{display:flex;align-items:center;justify-content:space-between;padding:18px 24px 14px;border-bottom:1px solid var(--border-divider)}.cfm-title{font-size:16px;font-weight:700;color:var(--text-primary)}.cfm-close{background:none;border:none;cursor:pointer;font-size:16px;color:var(--text-secondary);padding:4px 8px;border-radius:6px}.cfm-close:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.cfm-close:disabled{cursor:not-allowed;opacity:.5}.cfm-body{padding:22px 24px}.cfm-text{font-size:14px;color:var(--text-primary);line-height:1.6;margin:0 0 6px;white-space:pre-line}.cfm-sub{font-size:12px;color:var(--text-muted);margin:0}.cfm-footer{display:flex;justify-content:flex-end;gap:8px;padding:14px 20px 18px;border-top:1px solid var(--border-divider)}.cfm-btn{padding:8px 16px;border-radius:8px;font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s;border:1px solid transparent;white-space:nowrap}.cfm-btn:disabled{opacity:.55;cursor:not-allowed}.cfm-btn-ghost{background:transparent;color:var(--text-secondary);border-color:var(--border-input)}.cfm-btn-ghost:hover:not(:disabled){border-color:var(--border-input-focus);color:var(--text-primary)}.cfm-btn-primary{background:var(--btn-primary-bg);color:var(--btn-primary-text);border-color:var(--btn-primary-bg)}.cfm-btn-primary:hover:not(:disabled){background:var(--btn-primary-bg-hover);border-color:var(--btn-primary-bg-hover)}.cfm-btn-danger{background:var(--danger, #e53e3e);color:#fff;border-color:var(--danger, #e53e3e)}.cfm-btn-danger:hover:not(:disabled){background:#c53030;border-color:#c53030}.cfm-btn-warning{background:#ef9f27;color:#fff;border-color:#ef9f27}.cfm-btn-warning:hover:not(:disabled){background:#d68a16;border-color:#d68a16}.shist-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000}.shist-modal{background:var(--bg-card);border:1px solid var(--border-card);border-radius:0;width:1040px;max-width:95vw;height:80vh;overflow:hidden;box-shadow:var(--shadow-card);display:flex;flex-direction:column}.shist-head{display:flex;align-items:center;justify-content:space-between;padding:18px 24px 14px;border-bottom:2px solid rgba(124,58,237,.45);background:linear-gradient(180deg,rgba(124,58,237,.08),transparent)}.shist-title{font-size:16px;font-weight:700;color:#7c3aed}.shist-close{background:none;border:none;cursor:pointer;font-size:16px;color:var(--text-secondary);padding:4px 8px;border-radius:0;line-height:1}.shist-close:hover{color:var(--text-primary);background:var(--bg-hover)}.shist-body{display:flex;min-height:0;flex:1}.shist-side{width:240px;flex-shrink:0;border-right:1px solid var(--border-divider);display:flex;flex-direction:column;padding:14px;gap:10px}.shist-search{width:100%;box-sizing:border-box;padding:8px 10px;border-radius:0;border:1px solid var(--border-input);background:var(--bg-input);color:var(--text-primary);font-size:13px}.shist-search:focus{outline:none;border-color:var(--border-input-focus)}.shist-user-list{overflow-y:auto;display:flex;flex-direction:column;gap:4px}.shist-user-item{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:9px 12px;border:1px solid transparent;border-radius:0;background:none;cursor:pointer;color:var(--text-primary);font-size:13px;text-align:left}.shist-user-item:hover{background:var(--bg-hover)}.shist-user-item.active{background:#7c3aed1a;border-color:#7c3aed80}.shist-user-name{font-weight:500}.shist-user-item.active .shist-user-name{color:#7c3aed;font-weight:600}.shist-user-count{font-size:12px;color:#7c3aed;background:#7c3aed1f;border-radius:0;padding:1px 8px}.shist-detail{flex:1;min-width:0;display:flex;flex-direction:column;padding:16px 20px;overflow-y:auto}.shist-detail-head{display:flex;align-items:baseline;gap:8px;padding-bottom:12px;border-bottom:1px solid var(--border-divider);margin-bottom:14px}.shist-detail-name{font-size:16px;font-weight:700;color:#7c3aed}.shist-detail-id{font-size:12px;color:var(--text-secondary)}.shist-detail-count{margin-left:auto;font-size:12px;color:var(--text-secondary)}.shist-timeline{display:flex;flex-direction:column;gap:14px}.shist-entry{border:1px solid var(--border-card);border-radius:0;padding:12px 14px;background:var(--bg-input)}.shist-entry-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.shist-entry-date{font-size:13px;font-weight:600;color:var(--text-primary)}.shist-mini-btn{font-size:12px;padding:3px 12px;border-radius:0;border:1px solid var(--border-input);background:var(--bg-card);color:var(--text-secondary);cursor:pointer}.shist-mini-btn:hover:not(:disabled){border-color:var(--border-input-focus);color:var(--text-primary)}.shist-mini-btn:disabled{opacity:.5;cursor:not-allowed}.shist-mini-delete:hover:not(:disabled){border-color:#dc2626;color:#dc2626}.shist-no-change{font-size:13px;color:var(--text-secondary)}.shist-change-table{width:100%;border-collapse:collapse;font-size:13px}.shist-change-table th{text-align:left;font-weight:500;color:var(--text-secondary);font-size:12px;padding:2px 8px 6px}.shist-change-table td{padding:4px 8px;border-top:1px solid var(--border-divider);color:var(--text-primary)}.shist-c-label{font-weight:500;white-space:nowrap}.shist-c-before{color:#ef4444;text-decoration:line-through}.shist-c-arrow{color:#7c3aed;text-align:center;width:24px;font-weight:700}.shist-c-after{font-weight:700;color:#16a34a}.shist-empty{flex:1;display:flex;align-items:center;justify-content:center;padding:24px;text-align:center;color:var(--text-secondary);font-size:14px}.shist-empty-small{padding:16px 4px;text-align:center;color:var(--text-secondary);font-size:13px}.sal-allow-modal{--sa-pay: #1976d2;--sa-ot: #e65100;--sa-ded: #c62828}[data-theme=dark] .sal-allow-modal{--sa-pay: #64b5f6;--sa-ot: #ffb74d;--sa-ded: #ef9a9a}.sal-allow-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.sal-allow-modal{background:var(--bg-card);border:1px solid var(--border-card);border-radius:14px;width:960px;max-width:96vw;max-height:92vh;overflow:hidden;box-shadow:0 16px 48px #00000038;display:flex;flex-direction:column}.sal-allow-head{display:flex;align-items:center;justify-content:space-between;padding:18px 24px 14px;border-bottom:1px solid var(--border-divider)}.sal-allow-title{font-size:16px;font-weight:700;color:var(--text-primary)}.sal-allow-month{font-size:13px;font-weight:400;color:var(--text-muted);margin-left:4px}.sal-allow-close{background:none;border:none;cursor:pointer;font-size:16px;color:var(--text-secondary);padding:4px 8px;border-radius:6px;line-height:1;transition:background .12s,color .12s}.sal-allow-close:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.sal-allow-close:disabled{opacity:.4;cursor:not-allowed}.sal-allow-notice{display:flex;align-items:center;gap:8px;padding:10px 24px;background:#e6510014;color:var(--sa-ot);font-size:12px;border-bottom:1px solid var(--border-divider)}.sal-allow-notice-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:var(--sa-ot);color:#fff;font-weight:700;font-size:11px;flex-shrink:0}.sal-allow-body{flex:1;overflow-y:auto;padding:0}.sal-allow-empty{padding:48px 20px;text-align:center;color:var(--text-muted);font-size:14px}.sal-allow-table{width:100%;border-collapse:collapse;font-size:12px}.sal-allow-th-sub{display:block;margin-top:3px;font-size:10px;font-weight:500;color:var(--text-muted);letter-spacing:0}.sal-allow-cat-grid{display:flex;flex-direction:column;gap:8px}.sal-allow-cat-row{display:flex;align-items:center;gap:10px}.sal-allow-cat-label{flex-shrink:0;width:74px;font-size:12px;font-weight:700;color:var(--sa-ot);text-align:left}.sal-allow-cat-mult{margin-left:3px;font-size:11px;font-weight:600;font-style:normal;opacity:.8}.sal-allow-cat-amount{flex-shrink:0;min-width:96px;text-align:right;font-family:IBM Plex Mono,Consolas,monospace;font-size:12px;font-weight:700;color:var(--sa-ot);white-space:nowrap}.sal-allow-table thead th{background:var(--bg-input);padding:11px 10px;text-align:center;font-size:11px;color:var(--text-secondary);letter-spacing:.05em;font-weight:700;border-bottom:1px solid var(--border-card);border-right:1px solid var(--border-divider);position:sticky;top:0;z-index:1}.sal-allow-table thead th:last-child{border-right:none}.sal-allow-th-special{color:var(--sa-pay)!important}.sal-allow-th-rate{color:var(--text-primary)!important}.sal-allow-th-ot{color:var(--sa-ot)!important}.sal-allow-td-rate{text-align:right;font-family:IBM Plex Mono,Consolas,monospace;font-size:12px;color:var(--text-primary);white-space:nowrap;padding-right:14px!important}.sal-allow-rate-value{font-weight:700;margin-right:4px}.sal-allow-table tbody tr{border-bottom:1px solid var(--border-divider)}.sal-allow-table tbody tr:last-child{border-bottom:none}.sal-allow-table tbody tr:hover{background:var(--bg-hover)}.sal-allow-table td{padding:8px 10px;vertical-align:middle;border-right:1px solid var(--border-divider)}.sal-allow-table td:last-child{border-right:none}.sal-allow-td-name{font-weight:600;color:var(--text-primary);text-align:left;padding-left:20px!important;white-space:nowrap}.sal-allow-role-tag{font-size:11px;color:var(--text-muted);font-weight:400;margin-left:4px}.sal-allow-input-cell{display:flex;align-items:center;gap:6px;justify-content:flex-end}.sal-allow-num-input{width:96px;padding:6px 8px;border:1px solid var(--border-input);border-radius:6px;background:var(--bg-input);color:var(--text-primary);font-size:12px;font-family:IBM Plex Mono,Consolas,monospace;text-align:right;transition:border-color .15s,background .15s,color .15s}.sal-allow-num-input:focus{outline:none;border-color:var(--border-input-focus)}.sal-allow-num-input:disabled{background:var(--bg-page);color:var(--text-muted);cursor:not-allowed;opacity:.55}.sal-allow-num-input-narrow{width:70px;text-align:center}.sal-allow-unit{font-size:11px;color:var(--text-muted);flex-shrink:0}.sal-allow-radio{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none}.sal-allow-radio input[type=radio]{cursor:pointer;accent-color:var(--sa-ot);margin:0}.sal-allow-radio input[type=radio]:disabled{cursor:not-allowed}.sal-allow-footer{display:flex;justify-content:flex-end;gap:8px;padding:14px 24px;border-top:1px solid var(--border-divider);background:var(--bg-card)}.sal-allow-btn{padding:9px 22px;border-radius:8px;border:none;cursor:pointer;font-family:inherit;font-size:13px;font-weight:600;transition:all .15s}.sal-allow-btn:disabled{opacity:.5;cursor:not-allowed}.sal-allow-btn-primary{background:#1976d2;color:#fff}.sal-allow-btn-primary:hover:not(:disabled){background:#1565c0}.sal-allow-btn-ghost{background:var(--bg-input);color:var(--text-secondary);border:1px solid var(--border-input)}.sal-allow-btn-ghost:hover:not(:disabled){border-color:var(--border-input-focus);color:var(--text-primary)}@media(max-width:720px){.sal-allow-modal{width:100%}.sal-allow-num-input{width:88px}.sal-allow-num-input-narrow{width:56px}}.pin-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--bg-page);display:flex;align-items:center;justify-content:center;z-index:100}.pin-dialog{background:var(--bg-card);border:1px solid var(--border-card);border-radius:16px;padding:36px 40px 28px;width:300px;display:flex;flex-direction:column;align-items:center;gap:10px;box-shadow:var(--shadow-card)}.pin-icon{font-size:32px;margin-bottom:2px}.pin-title{font-size:17px;font-weight:700;color:var(--text-primary);margin:0}.pin-desc{font-size:13px;color:var(--text-secondary);margin:0 0 6px}.pin-boxes{display:flex;gap:12px;margin:4px 0}.pin-box{width:52px;height:56px;text-align:center;font-size:22px;font-weight:700;border:2px solid var(--border-input);border-radius:10px;background:var(--bg-input);color:var(--text-primary);outline:none;transition:border-color .15s;caret-color:transparent}.pin-box:focus{border-color:var(--border-input-focus)}.pin-box.pin-box-error{border-color:#e53e3e;animation:pin-shake .3s ease}@keyframes pin-shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.pin-error{font-size:12px;color:#e53e3e;margin:0;min-height:16px}.pin-actions{display:flex;gap:8px;margin-top:8px;width:100%}.pin-btn{flex:1;padding:10px;border-radius:8px;border:none;cursor:pointer;font-family:inherit;font-size:14px;font-weight:600;transition:all .15s}.pin-btn:disabled{opacity:.5;cursor:not-allowed}.pin-btn-primary{background:var(--btn-primary-bg);color:var(--btn-primary-text)}.pin-btn-primary:hover:not(:disabled){background:var(--btn-primary-bg-hover)}.pin-btn-ghost{background:var(--bg-input);color:var(--text-secondary);border:1px solid var(--border-input)}.pin-btn-ghost:hover:not(:disabled){border-color:var(--border-input-focus);color:var(--text-primary)}.salary-panel{--s-pay: #1976d2;--s-pay-bg: rgba(25, 118, 210, .08);--s-ded: #c62828;--s-ded-bg: rgba(198, 40, 40, .07);--s-net: #2e7d32;--s-net-bg: rgba(46, 125, 50, .08);--s-ot: #e65100}[data-theme=dark] .salary-panel{--s-pay: #64b5f6;--s-pay-bg: rgba(100, 181, 246, .1);--s-ded: #ef9a9a;--s-ded-bg: rgba(239, 154, 154, .08);--s-net: #a5d6a7;--s-net-bg: rgba(165, 214, 167, .1);--s-ot: #ffb74d}.salary-top-bar{display:flex;align-items:center;gap:10px;margin-bottom:24px;flex-wrap:wrap}.salary-month-label{font-size:13px;color:var(--text-secondary);font-weight:500}.salary-month-select{background:var(--bg-input);border:1px solid var(--border-input);color:var(--text-primary);padding:8px 14px;border-radius:8px;font-family:inherit;font-size:14px;cursor:pointer;transition:border-color .15s}.salary-month-select:focus{outline:none;border-color:var(--border-input-focus)}.salary-unsaved-warning{display:inline-flex;align-items:center;gap:6px;margin-left:6px;padding:8px 14px;border:1.5px solid #e53e3e;background:#e53e3e1a;color:#c53030;font-size:13px;font-weight:700;border-radius:8px;letter-spacing:.02em;box-shadow:0 0 #e53e3e8c;animation:salary-unsaved-blink 1.1s ease-in-out infinite}[data-theme=dark] .salary-unsaved-warning{color:#ff8a8a;background:#e53e3e2e;border-color:#ff6b6b}@keyframes salary-unsaved-blink{0%,to{opacity:1;box-shadow:0 0 #e53e3e8c}50%{opacity:.55;box-shadow:0 0 0 6px #e53e3e00}}@media(prefers-reduced-motion:reduce){.salary-unsaved-warning{animation:none}}.salary-year-nav{display:flex;align-items:center;gap:4px}.salary-year-nav-btn{background:var(--bg-input);border:1px solid var(--border-input);border-radius:6px;width:28px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:16px;line-height:1;color:var(--text-primary);transition:border-color .15s}.salary-year-nav-btn:hover{border-color:var(--border-input-focus)}.salary-year-val{font-size:14px;font-weight:600;color:var(--text-primary);min-width:58px;text-align:center;padding:0 2px}.salary-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 18px;border-radius:8px;border:none;cursor:pointer;font-family:inherit;font-size:13px;font-weight:600;transition:all .15s;white-space:nowrap}.salary-btn:disabled{opacity:.5;cursor:not-allowed}.salary-btn-primary{background:#1976d2;color:#fff}.salary-btn-primary:hover:not(:disabled){background:#1565c0}.salary-btn-ghost{background:var(--bg-input);color:var(--text-secondary);border:1px solid var(--border-input)}.salary-btn-ghost:hover:not(:disabled){border-color:var(--border-input-focus);color:var(--text-primary)}.salary-btn-green{background:#2e7d32;color:#fff;border:none}.salary-btn-green:hover:not(:disabled){background:#1b5e20}.salary-btn-yellow{background:#f59e0b;color:#fff;border:none}.salary-btn-yellow:hover:not(:disabled){background:#d97706}.salary-btn-orange{background:#e65100;color:#fff;border:none}.salary-btn-orange:hover:not(:disabled){background:#bf360c}.salary-btn-purple{background:#6d28d9;color:#fff;border:none}.salary-btn-purple:hover:not(:disabled){background:#5b21b6}.salary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.salary-card{background:var(--bg-card);border:1px solid var(--border-card);border-radius:0;padding:20px;position:relative;overflow:hidden;box-shadow:var(--shadow-card)}.salary-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--s-pay)}.salary-card-green:before{background:var(--s-net)}.salary-card-warn:before{background:#f59e0b}.salary-card-night:before{background:#6366f1}.salary-card-holiday:before{background:#ec4899}.salary-card-red:before{background:var(--s-ded)}.salary-card-label{font-size:11px;color:var(--text-secondary);letter-spacing:.1em;text-transform:uppercase;margin-bottom:8px;font-weight:600}.salary-card-value{font-family:IBM Plex Mono,Consolas,monospace;font-size:20px;font-weight:700;color:var(--text-primary);line-height:1.2}.salary-card-sub{font-size:12px;color:var(--text-muted);margin-top:4px}.salary-table-wrap{background:var(--bg-card);border:1px solid var(--border-card);border-radius:0;overflow:hidden;box-shadow:var(--shadow-card)}.salary-table-wrap-biz{margin-top:24px}.salary-table-wrap-employed{border-top:3px solid #6f42c1}.salary-table-wrap-business{border-top:3px solid #e65100}[data-theme=dark] .salary-table-wrap-employed{border-top-color:#d2a8ff}[data-theme=dark] .salary-table-wrap-business{border-top-color:#ffa726}.salary-table-title-employed{color:#6f42c1}.salary-table-title-business{color:#e65100}[data-theme=dark] .salary-table-title-employed{color:#d2a8ff}[data-theme=dark] .salary-table-title-business{color:#ffa726}.salary-table-header{padding:16px 24px;border-bottom:1px solid var(--border-card);display:flex;align-items:center;justify-content:space-between}.salary-table-title{font-size:15px;font-weight:700;color:var(--text-primary)}.salary-table-count{margin-left:8px;font-size:13px;font-weight:500;color:var(--text-muted)}.salary-table-scroll{overflow-x:auto}.salary-table{width:100%;border-collapse:collapse;font-size:13px;white-space:nowrap}.salary-table thead th{background:var(--bg-input);padding:10px 8px;text-align:center;font-size:11px;color:var(--text-secondary);letter-spacing:.05em;font-weight:600;border-bottom:1px solid var(--border-card);border-right:1px solid var(--border-divider)}.salary-table thead th:last-child{border-right:none}.salary-th-pay{color:var(--s-pay)!important;background:var(--s-pay-bg)!important}.salary-th-ded{color:var(--s-ded)!important;background:var(--s-ded-bg)!important}.salary-th-net{color:var(--s-net)!important;background:var(--s-net-bg)!important}.salary-th-ot-label{color:var(--s-ot)!important}.salary-table tbody tr{border-bottom:1px solid var(--border-divider);transition:background .1s}.salary-table tbody tr:hover{background:var(--bg-hover)}.salary-table tbody tr:last-child{border-bottom:none}.salary-table td{padding:11px 8px;text-align:right;vertical-align:middle;border-right:1px solid var(--border-divider)}.salary-table td:last-child{border-right:none}.salary-td-name{font-weight:600;color:var(--text-primary);text-align:left!important;padding-left:20px!important}.salary-td-role{font-size:12px;color:var(--text-secondary);text-align:center!important}.sal-name-wrap{position:relative;display:inline-flex;align-items:center;gap:6px}.sal-saved-dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0}.sal-saved-dot.saved{background:#38a169;box-shadow:0 0 0 2px #38a1692e}.sal-saved-dot.unsaved{background:var(--text-muted, #a0aec0);box-shadow:0 0 0 2px #a0aec02e}[data-theme=dark] .sal-saved-dot.saved{background:#68d391}.sal-name-text{cursor:default;display:flex;align-items:baseline;gap:3px;white-space:nowrap}.sal-role-tag{font-size:11px;color:var(--text-muted);font-weight:400}@keyframes tooltipFadeIn{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}.sal-name-wrap:hover .sal-name-tooltip{display:flex}.sal-tooltip-row{display:flex;justify-content:space-between;align-items:center;gap:16px}.sal-tooltip-label{font-size:11px;color:var(--text-muted);white-space:nowrap}.sal-tooltip-value{font-size:12px;font-weight:600;color:var(--text-primary);font-family:IBM Plex Mono,Consolas,monospace;white-space:nowrap}.salary-td-mono{font-family:IBM Plex Mono,Consolas,monospace;font-size:13px}.salary-td-ot-val{color:var(--s-ot);font-weight:600;font-family:IBM Plex Mono,Consolas,monospace}.salary-td-pay-sum{color:var(--s-pay);font-weight:700;font-family:IBM Plex Mono,Consolas,monospace}.salary-td-ded{color:var(--s-ded);font-family:IBM Plex Mono,Consolas,monospace}.salary-td-ded-sum{color:var(--s-ded);font-weight:700;font-family:IBM Plex Mono,Consolas,monospace}.salary-td-net{color:var(--s-net);font-weight:700;font-family:IBM Plex Mono,Consolas,monospace}.salary-td-left{text-align:left!important;padding-left:20px!important}.salary-td-center{text-align:center!important}.salary-td-empty{padding:48px 20px!important;text-align:center!important;color:var(--text-muted);font-size:14px}.salary-td-actions{text-align:center!important;white-space:nowrap}.sal-row-btn{display:inline-flex;align-items:center;padding:4px 10px;border-radius:5px;border:1px solid var(--border-input);background:transparent;color:var(--text-secondary);font-size:11px;font-weight:500;cursor:pointer;transition:all .12s;font-family:inherit;margin:0 2px}.sal-row-btn:hover{border-color:var(--border-input-focus);color:var(--text-primary)}.sal-preview-badge{display:inline-block;font-size:11px;font-weight:600;padding:2px 8px;border-radius:4px;background:#e651001a;color:var(--s-ot);border:1px solid rgba(230,81,0,.25)}.sal-row-btn-danger{color:var(--danger, #e53e3e);border-color:transparent}.sal-row-btn-danger:hover{background:var(--error-bg, #fef2f2);border-color:var(--danger, #e53e3e);color:var(--danger, #e53e3e)}.salary-th-action{width:56px;text-align:center}.salary-td-action{text-align:center;padding:0 4px}.salary-delete-btn{width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border-input);border-radius:6px;background:var(--bg-input);color:var(--text-secondary);cursor:pointer;font-size:13px;font-weight:600;line-height:1;transition:background .15s,color .15s,border-color .15s}.salary-delete-btn:hover:not(:disabled){background:#fef2f2;border-color:#e53e3e;color:#e53e3e}[data-theme=dark] .salary-delete-btn:hover:not(:disabled){background:#e53e3e2e;border-color:#ef5350;color:#ef5350}.salary-delete-btn:disabled{opacity:.35;cursor:not-allowed}.salary-total-row td{font-weight:700;background:var(--bg-input)!important;border-top:2px solid var(--border-card)!important}.salary-note-warn{color:#c62828;font-size:12px}.salary-note-ok{color:#2e7d32;font-size:12px}.salary-note{padding:12px 24px;font-size:11px;color:var(--text-muted);border-top:1px solid var(--border-divider);line-height:1.7}.sal-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:500;padding:20px}.sal-modal{background:var(--bg-card);border:1px solid var(--border-card);border-radius:14px;width:100%;max-width:560px;max-height:90vh;overflow-y:auto;box-shadow:0 16px 48px #0000002e}.sal-modal-head{display:flex;align-items:center;justify-content:space-between;padding:18px 24px 16px;border-bottom:1px solid var(--border-divider)}.sal-modal-title{font-size:16px;font-weight:700;color:var(--text-primary)}.sal-modal-month{font-size:13px;font-weight:400;color:var(--text-muted)}.sal-modal-close{background:none;border:none;font-size:16px;color:var(--text-muted);cursor:pointer;padding:4px 8px;border-radius:6px;transition:background .12s}.sal-modal-close:hover{background:var(--bg-hover);color:var(--text-primary)}.sal-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 20px;padding:20px 24px}.sal-form-full{grid-column:1 / -1}.sal-form-group{display:flex;flex-direction:column;gap:6px}.sal-form-label{font-size:12px;font-weight:600;color:var(--text-secondary)}.sal-form-label .required{color:var(--danger, #e53e3e);margin-left:2px}.sal-form-input-wrap{display:flex;align-items:center;border:1px solid var(--border-input);border-radius:8px;background:var(--bg-input);overflow:hidden;transition:border-color .15s}.sal-form-input-wrap:focus-within{border-color:var(--border-input-focus)}.sal-form-input{flex:1;border:none;background:transparent;color:var(--text-primary);padding:8px 10px;font-size:13px;font-family:IBM Plex Mono,Consolas,monospace;min-width:0;text-align:right}.sal-form-input:focus{outline:none}.sal-form-unit{padding:0 10px 0 6px;font-size:12px;color:var(--text-muted);white-space:nowrap;flex-shrink:0}.sal-form-select{width:100%;padding:9px 12px;border:1px solid var(--border-input);border-radius:8px;background:var(--bg-input);color:var(--text-primary);font-size:13px;font-family:inherit;cursor:pointer;transition:border-color .15s}.sal-form-select:focus{outline:none;border-color:var(--border-input-focus)}.sal-form-readonly{padding:9px 12px;border:1px solid var(--border-divider);border-radius:8px;background:var(--bg-page);color:var(--text-primary);font-size:13px;font-weight:600}.sal-form-calc{font-family:IBM Plex Mono,Consolas,monospace;color:var(--s-ot);font-weight:700}.sal-select-error{border-color:var(--danger, #e53e3e)!important}.sal-dup-msg{font-size:12px;color:var(--danger, #e53e3e);margin-top:2px}.sal-form-section-header{grid-column:1 / -1;font-size:11px;font-weight:700;letter-spacing:.06em;padding:6px 0 5px;margin-top:6px;border-bottom:2px solid currentColor}.sal-section-pay{color:var(--s-pay)}.sal-section-vehicle{color:var(--s-net)}.sal-section-ot{color:var(--s-ot)}.sal-section-etc{color:var(--text-secondary);border-bottom-color:var(--border-divider)}.sal-grp-pay .sal-form-label{color:var(--s-pay)}.sal-grp-vehicle .sal-form-label{color:var(--s-net)}.sal-grp-ot .sal-form-label{color:var(--s-ot)}.sal-grp-etc .sal-form-label{color:var(--text-secondary)}.sal-korean-amount{font-size:11px;color:var(--text-muted);font-weight:500;line-height:1;margin-bottom:2px}.sal-quick-btns{display:flex;gap:4px;margin-top:5px;flex-wrap:wrap}.sal-quick-btn{padding:3px 9px;border-radius:5px;border:1px solid var(--border-input);background:var(--bg-input);color:var(--text-secondary);font-size:11px;font-weight:600;cursor:pointer;font-family:inherit;transition:all .12s;white-space:nowrap}.sal-quick-btn:hover{border-color:var(--border-input-focus);color:var(--text-primary);background:var(--bg-hover)}.sal-ot-hours-input{width:60px!important;flex:none!important;text-align:center}.sal-ot-unit{border-right:1px solid var(--border-divider);padding-right:10px;margin-right:2px}.sal-ot-arrow{font-size:12px;color:var(--text-muted);padding:0 4px;flex-shrink:0}.sal-ot-result{font-family:IBM Plex Mono,Consolas,monospace;font-size:13px;font-weight:700;color:var(--s-ot);flex:1;text-align:right}.salary-th-ot-col{color:var(--s-ot)!important;white-space:nowrap;min-width:120px}.salary-td-ot-col{text-align:center!important;padding:6px 8px!important;vertical-align:middle}.salary-ot-inline{display:flex;align-items:center;justify-content:center;gap:4px;flex-wrap:wrap}.salary-ot-hours-input{width:56px;padding:4px 6px;border:1px solid var(--border-input);border-radius:6px;background:var(--bg-input);color:var(--text-primary);font-size:12px;font-family:IBM Plex Mono,Consolas,monospace;text-align:center;transition:border-color .15s}.salary-ot-hours-input:focus{outline:none;border-color:var(--s-ot)}.salary-ot-unit-label{font-size:11px;color:var(--text-muted)}.salary-ot-hours-readonly{font-family:IBM Plex Mono,Consolas,monospace;font-size:12px;color:var(--text-primary);min-width:32px;text-align:center}.salary-td-sp-col{padding:4px 6px!important;vertical-align:middle}.salary-sp-input{width:88px!important;text-align:right!important}.sal-auto-badge{display:inline-block;font-size:10px;font-weight:600;padding:1px 6px;border-radius:4px;background:#e651001f;color:var(--s-ot);margin-left:4px;vertical-align:middle}.sal-preview{display:flex;gap:0;border-top:1px solid var(--border-divider);border-bottom:1px solid var(--border-divider);background:var(--bg-page)}.sal-preview-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 12px;border-right:1px solid var(--border-divider);font-size:11px;color:var(--text-muted)}.sal-preview-item:last-child{border-right:none}.sal-preview-item strong{font-size:14px;font-family:IBM Plex Mono,Consolas,monospace}.sal-preview-pay{color:var(--s-pay)}.sal-preview-ded{color:var(--s-ded)}.sal-preview-net{color:var(--s-net)}.sal-modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:16px 24px}@media(max-width:480px){.sal-form-grid{grid-template-columns:1fr;padding:16px}.sal-form-full{grid-column:1}.salary-top-bar{gap:8px}.salary-cards{gap:10px}.sal-preview{flex-wrap:wrap}.sal-preview-item{min-width:50%}.sal-modal-head{padding:14px 16px 12px}.sal-modal-footer{padding:12px 16px}}@media print{.salary-top-bar{display:none!important}.salary-panel{font-size:11px}.salary-table{font-size:10px}.salary-table td,.salary-table th{border:1px solid #ccc!important}.salary-ot-input{border:none;background:transparent}.salary-cards{display:none!important}}.emp-modal{--s-pay: #1976d2;--s-pay-bg: rgba(25, 118, 210, .08);--s-net: #2e7d32;--s-net-bg: rgba(46, 125, 50, .08);--s-ot: #e65100}[data-theme=dark] .emp-modal{--s-pay: #64b5f6;--s-pay-bg: rgba(100, 181, 246, .1);--s-net: #a5d6a7;--s-net-bg: rgba(165, 214, 167, .1);--s-ot: #ffb74d}.emp-toolbar{display:flex;align-items:center;gap:10px;margin-bottom:20px;flex-wrap:wrap}.emp-toolbar-spacer{flex:1}.emp-filter-tabs{display:inline-flex;padding:3px;gap:2px;background:var(--bg-input);border:1px solid var(--border-input);border-radius:0}.emp-filter-tab{padding:6px 14px;border:none;border-radius:0;background:transparent;color:var(--text-secondary);font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s,color .15s}.emp-filter-tab:hover:not(.active){color:var(--text-primary)}.emp-filter-tab.active{background:var(--btn-primary-bg);color:var(--btn-primary-text)}.emp-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:8px;border:none;cursor:pointer;font-family:inherit;font-size:13px;font-weight:600;transition:all .15s;white-space:nowrap}.emp-btn:disabled{opacity:.5;cursor:not-allowed}.emp-btn-primary{background:var(--btn-primary-bg);color:var(--btn-primary-text)}.emp-btn-primary:hover:not(:disabled){background:var(--btn-primary-bg-hover)}.emp-btn-ghost{background:var(--bg-input);color:var(--text-secondary);border:1px solid var(--border-input)}.emp-btn-ghost:hover:not(:disabled){border-color:var(--border-input-focus);color:var(--text-primary)}.emp-btn-danger{background:transparent;color:var(--error-text);border:1px solid var(--error-border)}.emp-btn-danger:hover:not(:disabled){background:var(--error-bg)}.emp-btn-sm{padding:5px 10px;font-size:12px;font-weight:500}.emp-table-wrap{background:var(--bg-card);border:1px solid var(--border-card);border-radius:0;overflow:hidden;box-shadow:var(--shadow-card)}.emp-table-scroll{overflow-x:auto}.emp-table{width:100%;border-collapse:collapse;font-size:13px;white-space:nowrap}.emp-table thead th{background:var(--bg-input);padding:11px 14px;text-align:left;font-size:11px;color:var(--text-secondary);letter-spacing:.06em;font-weight:600;border-bottom:1px solid var(--border-card)}.emp-table thead th.th-center{text-align:center}.emp-table thead th.th-right{text-align:right}.emp-table tbody tr{border-bottom:1px solid var(--border-divider);transition:background .1s}.emp-table tbody tr:hover{background:var(--bg-hover)}.emp-table tbody tr:last-child{border-bottom:none}.emp-table td{padding:12px 14px;color:var(--text-primary);vertical-align:middle}.emp-table td.td-center{text-align:center}.emp-td-userid{font-family:IBM Plex Mono,Consolas,monospace;font-size:13px;color:var(--text-secondary)}.emp-td-name{font-weight:600}.emp-table thead th.th-icon{width:36px;padding:0}.emp-td-icon{width:36px;text-align:center;padding:0 4px}.emp-person-icon{width:18px;height:18px;color:var(--text-muted);display:block;margin:0 auto}.emp-person-add-icon{width:16px;height:16px;vertical-align:middle}.emp-td-bank{font-size:13px;white-space:nowrap}.emp-bank-name{display:inline-block;font-size:11px;font-weight:600;color:var(--text-secondary, #666);background:var(--bg-tag, rgba(0,0,0,.06));border-radius:4px;padding:1px 5px;margin-right:5px}[data-theme=dark] .emp-bank-name{color:var(--text-secondary, #aaa);background:#ffffff1a}.emp-td-salary{text-align:right;font-size:13px;color:var(--text-secondary);white-space:nowrap;font-family:IBM Plex Mono,Consolas,monospace}.emp-td-date{font-size:12px;color:var(--text-secondary);font-family:IBM Plex Mono,Consolas,monospace}.emp-td-actions{display:flex;gap:6px;justify-content:center}.emp-badge{display:inline-block;padding:3px 9px;border-radius:20px;font-size:11px;font-weight:600;letter-spacing:.04em}.emp-badge-president{background:#9c27b01f;color:#7b1fa2}.emp-badge-admin{background:#1976d21f;color:#1565c0}.emp-badge-operator{background:#ef9f2724;color:#b05a0a}.emp-badge-user{background:#0096881f;color:#00695c}.emp-badge-system{background:#7878781f;color:var(--text-secondary)}.emp-badge-active{background:#2e7d321f;color:#2e7d32}.emp-badge-blocked{background:#c628281f;color:#c62828}.emp-block-yearmonth{margin-top:4px;font-size:11px;color:var(--text-muted);font-family:IBM Plex Mono,Consolas,monospace}.emp-badge-business{background:#e651001f;color:#e65100}.emp-badge-employed{background:#8250df1f;color:#6f42c1}[data-theme=dark] .emp-badge-president{background:#ce93d826;color:#ce93d8}[data-theme=dark] .emp-badge-admin{background:#64b5f626;color:#64b5f6}[data-theme=dark] .emp-badge-operator{background:#ef9f272e;color:#f0bc6e}[data-theme=dark] .emp-badge-user{background:#80cbc426;color:#80cbc4}[data-theme=dark] .emp-badge-system{background:#b4b4b41f;color:#aaa}[data-theme=dark] .emp-badge-active{background:#a5d6a726;color:#a5d6a7}[data-theme=dark] .emp-badge-blocked{background:#ef9a9a26;color:#ef9a9a}[data-theme=dark] .emp-badge-business{background:#ffa7262e;color:#ffa726}[data-theme=dark] .emp-badge-employed{background:#d2a8ff2e;color:#d2a8ff}.emp-empty{padding:48px 20px;text-align:center;color:var(--text-muted);font-size:14px}.emp-pagination{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:12px 16px;border-top:1px solid var(--border-divider)}.emp-page-total{font-size:13px;color:var(--text-muted)}.emp-page-buttons{display:flex;align-items:center;gap:4px}.emp-page-btn{min-width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border-radius:7px;border:1px solid var(--border-input);background:transparent;color:var(--text-secondary);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s;padding:0 6px}.emp-page-btn:hover:not(:disabled){border-color:var(--border-input-focus);color:var(--text-primary)}.emp-page-btn.active{background:var(--btn-primary-bg);color:var(--btn-primary-text);border-color:var(--btn-primary-bg)}.emp-page-btn:disabled{opacity:.4;cursor:not-allowed}.emp-page-info{margin-left:8px;font-size:13px;color:var(--text-muted)}.emp-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:300;display:flex;align-items:center;justify-content:center;padding:20px}.emp-modal{background:var(--bg-card);border:1px solid var(--border-card);border-radius:16px;padding:28px;width:100%;max-width:640px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.emp-modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.emp-modal-title{font-size:17px;font-weight:700;color:var(--text-primary)}.emp-modal-close{width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:6px;border:none;background:transparent;color:var(--text-muted);font-size:18px;cursor:pointer;transition:all .15s}.emp-modal-close:hover{background:var(--error-bg);color:var(--error-text)}.emp-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.emp-form-group{display:flex;flex-direction:column;gap:6px}.emp-form-group.full{grid-column:1 / -1}.emp-form-label{font-size:12px;font-weight:600;color:var(--text-label);letter-spacing:.04em}.emp-form-label .required{color:var(--error-text);margin-left:2px}.emp-form-hint-inline{margin-left:6px;font-size:11px;font-weight:500;letter-spacing:0;color:#e65100}[data-theme=dark] .emp-form-hint-inline{color:#ffa726}.emp-form-input,.emp-form-select{padding:9px 12px;border:1px solid var(--border-input);border-radius:8px;background:var(--bg-input);color:var(--text-primary);font-size:14px;font-family:inherit;transition:border-color .15s;outline:none;width:100%}.emp-form-input:focus,.emp-form-select:focus{border-color:var(--border-input-focus)}.emp-form-input:disabled{opacity:.6;cursor:not-allowed}.emp-form-input::placeholder{color:var(--text-placeholder)}.emp-form-hint{font-size:11px;color:var(--text-muted)}.emp-hint-error{color:var(--danger, #e53e3e)}.emp-hint-ok{color:var(--success, #38a169)}.emp-input-error{border-color:var(--danger, #e53e3e)!important;outline-color:var(--danger, #e53e3e)}.emp-toggle-row{display:flex;align-items:center;justify-content:space-between;padding:9px 12px;border:1px solid var(--border-input);border-radius:8px;background:var(--bg-input)}.emp-radio-row{display:flex;align-items:center;gap:18px;padding:9px 12px;border:1px solid var(--border-input);border-radius:8px;background:var(--bg-input)}.emp-radio{display:inline-flex;align-items:center;gap:6px;font-size:14px;color:var(--text-primary);cursor:pointer}.emp-radio input[type=radio]{margin:0;cursor:pointer;accent-color:var(--btn-primary-bg)}.emp-radio-wrap{gap:18px;padding:8px 12px}.emp-radio-wrap .emp-radio{font-size:13px}.emp-toggle-label-text{font-size:14px;color:var(--text-primary)}.emp-toggle{position:relative;width:40px;height:22px;flex-shrink:0}.emp-toggle input{opacity:0;width:0;height:0;position:absolute}.emp-toggle-slider{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--border-input);border-radius:22px;cursor:pointer;transition:background .2s}.emp-toggle-slider:before{content:"";position:absolute;width:16px;height:16px;left:3px;top:3px;background:#fff;border-radius:50%;transition:transform .2s}.emp-toggle input:checked+.emp-toggle-slider{background:var(--error-text)}.emp-toggle input:checked+.emp-toggle-slider:before{transform:translate(18px)}.emp-modal-footer{display:flex;justify-content:flex-end;gap:8px;margin-top:24px;padding-top:20px;border-top:1px solid var(--border-divider)}.emp-confirm-dialog{background:var(--bg-card);border:1px solid var(--border-card);border-radius:16px;padding:32px 28px 24px;width:100%;max-width:360px;box-shadow:0 20px 60px #0000004d;text-align:center}.emp-confirm-icon{font-size:32px;margin-bottom:12px;color:var(--error-text)}.emp-confirm-title{font-size:17px;font-weight:700;color:var(--text-primary);margin:0 0 10px}.emp-confirm-message{font-size:14px;color:var(--text-secondary);margin:0 0 24px;line-height:1.6}.emp-confirm-message strong{color:var(--text-primary);font-weight:600}.emp-confirm-actions{display:flex;gap:8px;justify-content:center}.emp-btn-danger-filled{background:var(--error-text, #c62828);color:#fff;border:none}.emp-btn-danger-filled:hover:not(:disabled){opacity:.88}@media(max-width:480px){.emp-form-grid{grid-template-columns:1fr}.emp-form-group.full{grid-column:1}.emp-modal{padding:20px 16px}.emp-toolbar{gap:8px}}.emp-sal-section-full{grid-column:1 / -1;margin-top:8px}.emp-sal-amount-inline{font-size:11px;font-weight:400;color:var(--text-muted);margin-left:4px}.emp-modal .sal-grp-pay .sal-form-label{color:var(--s-pay)}.emp-modal .sal-grp-vehicle .sal-form-label{color:var(--s-net)}.emp-modal .sal-grp-ot .sal-form-label{color:var(--s-ot)}.emp-modal .sal-grp-etc .sal-form-label{color:var(--text-secondary)}.wysiwyg-editor{border:1px solid var(--border-input);border-radius:8px;overflow:hidden;background:var(--bg-card);transition:border-color .15s}.wysiwyg-editor:focus-within{border-color:var(--border-input-focus)}.wysiwyg-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:2px;padding:6px 8px;background:var(--bg-input);border-bottom:1px solid var(--border-input)}.wysiwyg-tb-btn{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;padding:0 6px;border-radius:5px;border:none;background:transparent;color:var(--text-secondary);font-size:12px;font-weight:700;font-family:inherit;cursor:pointer;transition:background .12s,color .12s;line-height:1}.wysiwyg-tb-btn:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.wysiwyg-tb-btn.active{background:var(--btn-primary-bg);color:var(--btn-primary-text)}.wysiwyg-tb-btn:disabled{opacity:.35;cursor:not-allowed}.wysiwyg-color{position:relative;display:inline-flex}.wysiwyg-color-ico{display:inline-flex;flex-direction:column;align-items:center;gap:1px;line-height:0}.wysiwyg-color-bar{width:13px;height:3px;border-radius:1px}.wysiwyg-color-pop{position:absolute;top:calc(100% + 4px);left:0;z-index:20;padding:8px;background:var(--bg-card);border:1px solid var(--border-input);border-radius:8px;box-shadow:0 6px 20px #0000002e}.wysiwyg-color-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:5px}.wysiwyg-color-swatch{width:20px;height:20px;padding:0;border-radius:5px;border:1px solid var(--border-input);cursor:pointer;transition:transform .1s}.wysiwyg-color-swatch:hover{transform:scale(1.12)}.wysiwyg-color-swatch.active{outline:2px solid var(--border-input-focus);outline-offset:1px}.wysiwyg-color-reset{display:block;width:100%;margin-top:7px;padding:5px 0;border:1px solid var(--border-input);border-radius:5px;background:var(--bg-input);color:var(--text-secondary);font-size:12px;font-family:inherit;cursor:pointer;transition:background .12s,color .12s}.wysiwyg-color-reset:hover{background:var(--bg-hover);color:var(--text-primary)}.wysiwyg-sep{display:inline-block;width:1px;height:18px;background:var(--border-input);margin:0 4px;flex-shrink:0}.wysiwyg-content{cursor:text}.wysiwyg-content>div{height:100%}.wysiwyg-content .ProseMirror{outline:none;font-size:14px;line-height:1.75;color:var(--text-primary);font-family:inherit;word-break:break-word;padding:12px 14px;min-height:var(--editor-min-height, 220px);box-sizing:border-box}.wysiwyg-content .ProseMirror p.is-editor-empty:first-child:before{content:attr(data-placeholder);color:var(--text-placeholder);pointer-events:none;height:0;float:left}.wysiwyg-content .ProseMirror p{margin:0 0 .7em}.wysiwyg-content .ProseMirror p:last-child{margin-bottom:0}.wysiwyg-content .ProseMirror h1,.wysiwyg-content .ProseMirror h2,.wysiwyg-content .ProseMirror h3{margin:1.1em 0 .4em;font-weight:700;line-height:1.3;color:var(--text-primary)}.wysiwyg-content .ProseMirror h1{font-size:1.55em;border-bottom:1px solid var(--border-divider);padding-bottom:5px}.wysiwyg-content .ProseMirror h2{font-size:1.25em;border-bottom:1px solid var(--border-divider);padding-bottom:3px}.wysiwyg-content .ProseMirror h3{font-size:1.05em}.wysiwyg-content .ProseMirror ul,.wysiwyg-content .ProseMirror ol{margin:0 0 .7em;padding-left:1.8em}.wysiwyg-content .ProseMirror li{margin-bottom:2px}.wysiwyg-content .ProseMirror li>ul,.wysiwyg-content .ProseMirror li>ol{margin:2px 0 0}.wysiwyg-content .ProseMirror blockquote{margin:0 0 .7em;padding:8px 14px;border-left:4px solid var(--border-input-focus);background:var(--bg-input);color:var(--text-secondary);border-radius:0 6px 6px 0}.wysiwyg-content .ProseMirror blockquote p{margin:0}.wysiwyg-content .ProseMirror code{background:var(--bg-input);border:1px solid var(--border-input);border-radius:4px;padding:1px 5px;font-family:Consolas,Monaco,monospace;font-size:.88em;color:var(--text-primary)}.wysiwyg-content .ProseMirror pre{background:var(--bg-input);border:1px solid var(--border-input);border-radius:7px;padding:12px 14px;overflow-x:auto;margin:0 0 .7em}.wysiwyg-content .ProseMirror pre code{background:transparent;border:none;padding:0;font-size:13px;line-height:1.6}.wysiwyg-content .ProseMirror hr{border:none;border-top:1px solid var(--border-divider);margin:1em 0}.wysiwyg-content .ProseMirror strong{font-weight:700}.wysiwyg-content .ProseMirror em{font-style:italic}.wysiwyg-content .ProseMirror u{text-decoration:underline}.wysiwyg-content .ProseMirror s{text-decoration:line-through}.wysiwyg-content .ProseMirror a{color:var(--btn-primary-bg);text-decoration:none}.wysiwyg-content .ProseMirror a:hover{text-decoration:underline}.wr-root{--wr-blue: #2563EB;--wr-blue-bg: rgba(37, 99, 235, .1);--wr-blue-text: #2563EB;--wr-green: #16A34A;--wr-green-bg: rgba(22, 163, 74, .12);--wr-green-text: #16A34A;--wr-amber: #D97706;--wr-amber-bg: rgba(217, 119, 6, .13);--wr-amber-text: #D97706;--wr-red: #DC2626;--wr-red-bg: rgba(220, 38, 38, .11);--wr-red-text: #DC2626;--wr-gray: #6B7280;--wr-gray-bg: rgba(107, 114, 128, .12);--wr-surface: var(--bg-card);--wr-surface2: var(--bg-page);--wr-border: var(--border-card);--wr-line: var(--border-divider);--wr-input-border: var(--border-input);--wr-text: var(--text-primary);--wr-text2: var(--text-secondary);--wr-text3: var(--text-muted);--wr-accent: var(--btn-primary-bg);--wr-accent-text: var(--btn-primary-text);--wr-radius: 10px;--wr-radius-sm: 6px;--wr-shadow: var(--shadow-card);font-size:13px;color:var(--wr-text)}.wr-root *{box-sizing:border-box}.wr-root .wr-page-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px;gap:12px;flex-wrap:wrap}.wr-root .wr-page-title{font-size:19px;font-weight:700;letter-spacing:-.4px}.wr-root .wr-page-sub{font-size:12.5px;color:var(--wr-text2);margin-top:3px}.wr-root .wr-header-actions{display:flex;gap:8px;flex-wrap:wrap}.wr-root .wr-btn{padding:8px 15px;border-radius:var(--wr-radius-sm);font-family:inherit;font-size:12.5px;font-weight:600;cursor:pointer;border:1px solid transparent;transition:all .12s;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.wr-root .wr-btn:disabled{opacity:.55;cursor:not-allowed}.wr-root .wr-btn-primary{background:var(--wr-accent);color:var(--wr-accent-text);border-color:var(--wr-accent)}.wr-root .wr-btn-primary:hover:not(:disabled){opacity:.85}.wr-root .wr-btn-secondary{background:var(--wr-surface);color:var(--wr-text2);border-color:var(--wr-input-border)}.wr-root .wr-btn-secondary:hover:not(:disabled){background:var(--wr-surface2);color:var(--wr-text)}.wr-root .wr-btn-blue{background:var(--wr-blue);color:#fff;border-color:var(--wr-blue)}.wr-root .wr-btn-blue:hover:not(:disabled){opacity:.88}.wr-root .wr-btn-green{background:var(--wr-green);color:#fff;border-color:var(--wr-green)}.wr-root .wr-btn-green:hover:not(:disabled){opacity:.88}.wr-root .wr-btn-sm{padding:5px 11px;font-size:12px}.wr-root .wr-card{background:var(--wr-surface);border:1px solid var(--wr-border);border-radius:var(--wr-radius);padding:20px;box-shadow:var(--wr-shadow)}.wr-root .wr-card-title{font-size:14px;font-weight:600;margin-bottom:16px;display:flex;align-items:center;justify-content:space-between;gap:10px}.wr-root .wr-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px}.wr-root .wr-stat-card{background:var(--wr-surface);border:1px solid var(--wr-border);border-radius:var(--wr-radius);padding:16px 18px;box-shadow:var(--wr-shadow)}.wr-root .wr-stat-label{font-size:11px;font-weight:600;color:var(--wr-text3);text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}.wr-root .wr-stat-value{font-size:26px;font-weight:700;letter-spacing:-.8px;line-height:1.1}.wr-root .wr-stat-value .unit{font-size:15px;font-weight:500;color:var(--wr-text3)}.wr-root .wr-stat-sub{font-size:11.5px;color:var(--wr-text3);margin-top:4px}.wr-root .wr-stat-bar{height:3px;background:var(--wr-surface2);border-radius:2px;margin-top:10px;overflow:hidden}.wr-root .wr-stat-fill{height:100%;border-radius:2px;transition:width .4s ease}.wr-root .wr-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:20px;font-size:11px;font-weight:600;white-space:nowrap}.wr-root .wr-badge:before{content:"";width:6px;height:6px;border-radius:50%;flex-shrink:0}.wr-root .wr-badge.no-dot:before{display:none}.wr-root .wr-badge-blue{background:var(--wr-blue-bg);color:var(--wr-blue-text)}.wr-root .wr-badge-blue:before{background:var(--wr-blue)}.wr-root .wr-badge-green{background:var(--wr-green-bg);color:var(--wr-green-text)}.wr-root .wr-badge-green:before{background:var(--wr-green)}.wr-root .wr-badge-amber{background:var(--wr-amber-bg);color:var(--wr-amber-text)}.wr-root .wr-badge-amber:before{background:var(--wr-amber)}.wr-root .wr-badge-red{background:var(--wr-red-bg);color:var(--wr-red-text)}.wr-root .wr-badge-red:before{background:var(--wr-red)}.wr-root .wr-badge-gray{background:var(--wr-gray-bg);color:var(--wr-gray)}.wr-root .wr-badge-gray:before{background:var(--wr-gray)}.wr-root .wr-form-group{margin-bottom:16px}.wr-root .wr-form-label{display:block;font-size:12px;font-weight:600;color:var(--wr-text2);margin-bottom:6px}.wr-root .wr-form-label .opt{color:var(--wr-text3);font-weight:400}.wr-write .wr-form-label,.wr-write .wr-card-title{font-weight:700;color:var(--wr-text)}.wr-root .wr-input,.wr-root .wr-select,.wr-root .wr-textarea{width:100%;padding:9px 11px;border:1px solid var(--wr-input-border);border-radius:var(--wr-radius-sm);font-family:inherit;font-size:13px;color:var(--wr-text);background:var(--bg-input);transition:border-color .15s,box-shadow .15s}.wr-root .wr-input:focus,.wr-root .wr-select:focus,.wr-root .wr-textarea:focus{outline:none;border-color:var(--wr-blue);box-shadow:0 0 0 3px #2563eb1f}.wr-root .wr-textarea{min-height:80px;resize:vertical;line-height:1.6}.wr-root .wr-readonly{background:var(--wr-surface2);color:var(--wr-text2)}.wr-root .wr-form-grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.wr-root .wr-type-switch{display:flex;background:var(--wr-surface2);border:1px solid var(--wr-border);border-radius:var(--wr-radius-sm);padding:3px;gap:2px}.wr-root .wr-type-btn{padding:6px 16px;border-radius:5px;border:none;background:transparent;font-family:inherit;font-size:12.5px;cursor:pointer;color:var(--wr-text2);transition:all .12s}.wr-root .wr-type-btn.active{background:var(--wr-blue);color:#fff;font-weight:600;box-shadow:var(--wr-shadow)}.wr-root .wr-banner{border-radius:var(--wr-radius);padding:12px 16px;margin-bottom:18px;display:flex;align-items:center;gap:10px;background:var(--wr-blue-bg);border:1px solid rgba(37,99,235,.3)}.wr-root .wr-banner p{font-size:12.5px;color:var(--wr-blue-text);flex:1}.wr-root .wr-banner button{background:none;border:none;cursor:pointer;color:var(--wr-blue-text);font-size:16px;line-height:1;opacity:.7}.wr-root .wr-banner button:hover{opacity:1}.wr-root .wr-task-table{width:100%;border-collapse:separate;border-spacing:0 6px;border:none}.wr-root .wr-task-table th{font-size:11.5px;font-weight:700;color:var(--wr-accent-text);text-transform:uppercase;letter-spacing:.04em;padding:11px 12px;text-align:left;background:var(--wr-accent);border:none}.wr-root .wr-task-table th:first-child{border-top-left-radius:8px;border-bottom-left-radius:8px}.wr-root .wr-task-table th:last-child{border-top-right-radius:8px;border-bottom-right-radius:8px}.wr-root .wr-task-table td{padding:9px 12px;border:none;vertical-align:middle;background:transparent}.wr-root .wr-task-table tbody tr:nth-child(odd) td{background:var(--wr-surface2)}.wr-root .wr-task-table tbody tr:hover td{background:var(--bg-hover)}.wr-root .wr-task-table tbody tr td:first-child{border-top-left-radius:6px;border-bottom-left-radius:6px}.wr-root .wr-task-table tbody tr td:last-child{border-top-right-radius:6px;border-bottom-right-radius:6px}.wr-root .wr-task-input{width:100%;padding:6px 8px;border:1px solid transparent;border-radius:var(--wr-radius-sm);font-family:inherit;font-size:13px;background:transparent;color:var(--wr-text);transition:border-color .12s,background .12s}.wr-root .wr-task-input:focus{outline:none;border-color:var(--wr-input-border);background:var(--bg-input)}.wr-root .wr-task-select{padding:5px 7px;border:1px solid var(--wr-input-border);border-radius:var(--wr-radius-sm);font-family:inherit;font-size:12px;background:var(--bg-input);color:var(--wr-text)}.wr-root .wr-progress-pill{display:flex;align-items:center;gap:6px}.wr-root .wr-progress-bar{height:5px;flex:1;min-width:50px;background:var(--wr-surface2);border-radius:3px;overflow:hidden}.wr-root .wr-progress-fill{height:100%;border-radius:3px;transition:width .3s,background .2s}.wr-root .wr-add-row{color:var(--wr-blue);font-size:12px;font-weight:600;background:none;border:none;cursor:pointer;padding:8px 0;display:inline-flex;align-items:center;gap:4px}.wr-root .wr-del-row{color:var(--wr-text3);background:none;border:none;cursor:pointer;padding:4px;font-size:14px;line-height:1;transition:color .12s}.wr-root .wr-del-row:hover{color:var(--wr-red)}.wr-root .wr-history-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--wr-border);border-radius:var(--wr-radius-sm);margin-bottom:8px;background:var(--wr-surface)}.wr-root .wr-history-info{flex:1;min-width:0}.wr-root .wr-history-title{font-size:13px;font-weight:600}.wr-root .wr-history-date{font-size:11.5px;color:var(--wr-text3);margin-top:1px}.wr-root .wr-two-col{display:grid;grid-template-columns:340px 1fr;gap:18px;align-items:start}.wr-root .wr-filter-row{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap;align-items:center}.wr-root .wr-filter-btn{padding:6px 14px;border-radius:20px;border:1px solid var(--wr-input-border);background:var(--wr-surface);font-size:12px;font-weight:500;cursor:pointer;color:var(--wr-text2);transition:all .12s;font-family:inherit}.wr-root .wr-filter-btn:hover{background:var(--wr-surface2);color:var(--wr-text)}.wr-root .wr-filter-btn.active{background:var(--wr-accent);color:var(--wr-accent-text);border-color:var(--wr-accent)}.wr-root .wr-search{padding:7px 12px;border:1px solid var(--wr-input-border);border-radius:20px;font-family:inherit;font-size:12.5px;background:var(--bg-input);color:var(--wr-text);width:200px}.wr-root .wr-search:focus{outline:none;border-color:var(--wr-blue)}.wr-root .wr-spacer{flex:1}.wr-root .wr-report-card{background:var(--wr-surface);border:1px solid var(--wr-border);border-radius:var(--wr-radius);padding:14px;cursor:pointer;transition:all .12s;margin-bottom:10px;display:flex;align-items:center;gap:12px}.wr-root .wr-report-card:hover{border-color:var(--wr-input-border);box-shadow:var(--wr-shadow)}.wr-root .wr-report-card.selected{border-color:var(--wr-blue);box-shadow:0 0 0 3px #2563eb1a}.wr-root .wr-report-card.issue{border-left:3px solid var(--wr-red)}.wr-root .wr-avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex-shrink:0}.wr-root .wr-report-info{flex:1;min-width:0}.wr-root .wr-report-name{font-size:13.5px;font-weight:600}.wr-root .wr-report-name .team{font-weight:400;color:var(--wr-text3);font-size:12.5px}.wr-root .wr-report-meta{font-size:11.5px;color:var(--wr-text3);margin-top:2px}.wr-root .wr-report-chips{display:flex;gap:5px;margin-top:7px;flex-wrap:wrap}.wr-root .wr-detail{background:var(--wr-surface);border:1px solid var(--wr-border);border-radius:var(--wr-radius);padding:22px;box-shadow:var(--wr-shadow)}.wr-root .wr-detail-header{display:flex;align-items:center;gap:12px;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--wr-line)}.wr-root .wr-detail-name{font-size:16px;font-weight:700}.wr-root .wr-detail-meta{font-size:12px;color:var(--wr-text3);margin-top:2px}.wr-root .wr-section{margin-bottom:18px}.wr-root .wr-section:last-child{margin-bottom:0}.wr-root .wr-section-title{font-size:12px;font-weight:800;color:var(--wr-text);text-transform:uppercase;letter-spacing:.06em;margin-bottom:10px;padding-bottom:6px;border-bottom:1px solid var(--wr-line)}.wr-root .wr-detail-task{display:flex;align-items:center;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--wr-line);gap:10px}.wr-root .wr-detail-task:last-child{border-bottom:none}.wr-root .wr-detail-task-name{font-size:13px;flex:1}.wr-root .wr-detail-task-right{display:flex;align-items:center;gap:10px}.wr-root .wr-mini-bar{width:64px;display:flex;align-items:center;gap:5px}.wr-root .wr-mini-pct{font-size:10px;color:var(--wr-text3);min-width:28px}.wr-root .wr-issue-box{background:var(--wr-red-bg);border:1px solid rgba(220,38,38,.3);border-radius:var(--wr-radius-sm);padding:12px 14px;font-size:13px;color:var(--wr-red-text);line-height:1.6}.wr-root .wr-issue-box.none{background:var(--wr-green-bg);color:var(--wr-green-text);border-color:#16a34a4d}.wr-root .wr-detail-text{font-size:13px;color:var(--wr-text2);line-height:1.7;white-space:pre-wrap}.wr-root .wr-comment-list{display:flex;flex-direction:column;gap:10px;margin-bottom:12px}.wr-root .wr-comment{background:var(--wr-surface2);border-radius:var(--wr-radius-sm);padding:12px 14px}.wr-root .wr-comment-head{display:flex;align-items:center;gap:8px;margin-bottom:6px}.wr-root .wr-comment-av{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;flex-shrink:0}.wr-root .wr-comment-name{font-size:12px;font-weight:600}.wr-root .wr-comment-time{font-size:11px;color:var(--wr-text3);margin-left:auto}.wr-root .wr-comment-text{font-size:13px;color:var(--wr-text2);line-height:1.6}.wr-root .wr-comment-input{display:flex;gap:8px;align-items:flex-end}.wr-root .wr-comment-input textarea{flex:1;min-height:56px}.wr-root .wr-comment-empty{font-size:12.5px;color:var(--wr-text3);padding:8px 0}.wr-root .wr-toolbar{display:flex;align-items:center;gap:8px;margin-bottom:16px;flex-wrap:wrap}.wr-root .wr-toolbar .wr-select{width:auto;min-width:130px}.wr-root .wr-table-card{background:var(--wr-surface);border:1px solid var(--wr-border);border-radius:var(--wr-radius);box-shadow:var(--wr-shadow);overflow:hidden}.wr-root .wr-tm-head,.wr-root .wr-tm-row{display:grid;grid-template-columns:36px 1fr 120px 90px 100px 110px 120px 64px;gap:8px;align-items:center}.wr-root .wr-tm-head{padding:10px 16px;background:var(--wr-surface2);border-bottom:1px solid var(--wr-line);font-size:11px;font-weight:600;color:var(--wr-text3);text-transform:uppercase;letter-spacing:.04em}.wr-root .wr-tm-row{padding:13px 16px;border-bottom:1px solid var(--wr-line);transition:background .1s}.wr-root .wr-tm-row:last-child{border-bottom:none}.wr-root .wr-tm-row:hover{background:var(--bg-hover)}.wr-root .wr-tm-row.done{opacity:.55}.wr-root .wr-tm-row.done .wr-tm-name{text-decoration:line-through;color:var(--wr-text3)}.wr-root .wr-checkbox{width:18px;height:18px;border:1.5px solid var(--wr-input-border);border-radius:5px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .12s;background:transparent;color:#fff;font-size:12px}.wr-root .wr-checkbox:hover{border-color:var(--wr-blue)}.wr-root .wr-checkbox.checked{background:var(--wr-blue);border-color:var(--wr-blue)}.wr-root .wr-tm-name{font-size:13.5px;font-weight:600;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wr-root .wr-tm-name:hover{color:var(--wr-blue)}.wr-root .wr-tm-note{font-size:12px;color:var(--wr-text3);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wr-root .wr-tm-col-person{min-width:0;overflow:hidden}.wr-root .wr-tm-person{display:block;max-width:100%;font-size:12.5px;color:var(--wr-text2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wr-root .wr-cat-tag{display:inline-block;font-size:11.5px;padding:3px 9px;border-radius:var(--wr-radius-sm);background:var(--wr-gray-bg);color:var(--wr-text2);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100px}.wr-root .wr-due{font-size:12.5px;color:var(--wr-text2);white-space:nowrap}.wr-root .wr-due.overdue{color:var(--wr-red);font-weight:700}.wr-root .wr-row-actions{display:flex;gap:2px;justify-content:flex-end}.wr-root .wr-icon-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;border-radius:var(--wr-radius-sm);cursor:pointer;color:var(--wr-text3);font-size:15px;transition:all .12s}.wr-root .wr-icon-btn:hover{background:var(--wr-surface2);color:var(--wr-text)}.wr-root .wr-icon-btn.danger:hover{background:var(--wr-red-bg);color:var(--wr-red)}.wr-root .wr-empty{text-align:center;padding:48px 20px;color:var(--wr-text3)}.wr-root .wr-empty .icon{font-size:34px;margin-bottom:12px}.wr-root .wr-empty p{font-size:13.5px}.wr-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px}.wr-modal{background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border-card);border-radius:14px;padding:26px;width:480px;max-width:100%;max-height:86vh;overflow-y:auto;box-shadow:var(--shadow-btn-hover);animation:wrSlideUp .18s ease}@keyframes wrSlideUp{0%{transform:translateY(14px);opacity:0}to{transform:none;opacity:1}}.wr-modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.wr-modal-head h2{font-size:16px;font-weight:700}.wr-modal-close{width:30px;height:30px;border-radius:var(--radius-sm, 6px);background:var(--bg-page);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:17px;color:var(--text-secondary)}.wr-modal-close:hover{color:var(--text-primary)}.wr-modal-foot{display:flex;justify-content:flex-end;gap:8px;margin-top:20px;padding-top:16px;border-top:1px solid var(--border-divider)}.wr-range-group{display:flex;align-items:center;gap:10px}.wr-range-group input[type=range]{flex:1;cursor:pointer}.wr-range-val{min-width:40px;text-align:right;font-size:14px;font-weight:700;color:var(--wr-blue, #2563EB)}.wr-task-pick{display:flex;flex-direction:column;gap:6px;max-height:52vh;overflow-y:auto}.wr-task-pick-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--border-card);border-radius:6px;cursor:pointer;transition:all .12s;background:var(--bg-card);color:var(--text-primary)}.wr-task-pick-item:hover{background:var(--bg-page)}.wr-task-pick-item.checked{border-color:#2563eb;background:#2563eb14}.wr-task-pick-item.disabled{opacity:.5;cursor:not-allowed}.wr-task-pick-check{width:18px;height:18px;border:1.5px solid var(--border-input);border-radius:5px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:12px;color:#fff}.wr-task-pick-item.checked .wr-task-pick-check{background:#2563eb;border-color:#2563eb}.wr-task-pick-title{flex:1;font-size:13px;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wr-task-pick-pct{font-size:12px;color:var(--text-secondary);font-variant-numeric:tabular-nums}.wr-root .wr-ro-cell{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--wr-text2)}.wr-root .wr-search-wrap{position:relative;display:inline-flex;align-items:center}.wr-root .wr-search-wrap .wr-search{padding-right:28px}.wr-root .wr-search-clear{position:absolute;right:8px;border:none;background:none;cursor:pointer;color:var(--wr-text3);font-size:13px;line-height:1;padding:2px}.wr-root .wr-search-clear:hover{color:var(--wr-text)}.wr-root .wr-pagination{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:14px;flex-wrap:wrap}.wr-root .wr-page-total{font-size:12px;color:var(--wr-text3)}.wr-root .wr-page-btns{display:flex;gap:4px}.wr-root .wr-page-btn{min-width:30px;height:30px;padding:0 8px;border:1px solid var(--wr-input-border);background:var(--wr-surface);border-radius:var(--wr-radius-sm);font-size:12px;font-weight:500;color:var(--wr-text2);cursor:pointer;transition:all .12s;font-family:inherit}.wr-root .wr-page-btn:hover:not(:disabled){background:var(--wr-surface2);color:var(--wr-text)}.wr-root .wr-page-btn.active{background:var(--wr-accent);color:var(--wr-accent-text);border-color:var(--wr-accent)}.wr-root .wr-page-btn:disabled{opacity:.45;cursor:not-allowed}.wr-root .ts-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px}.wr-root .ts-date-nav{display:flex;align-items:center;gap:6px;margin-left:auto}.wr-root .ts-nav-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:1px solid var(--wr-input-border);border-radius:var(--wr-radius-sm);background:var(--wr-surface);cursor:pointer;color:var(--wr-text2);font-size:16px;line-height:1}.wr-root .ts-nav-btn:hover{background:var(--wr-surface2)}.wr-root .ts-date-label{font-size:13px;font-weight:700;min-width:160px;text-align:center}.wr-root .ts-today-btn{padding:6px 12px;border:1px solid var(--wr-input-border);border-radius:var(--wr-radius-sm);background:var(--wr-surface);font-size:12px;font-weight:500;color:var(--wr-text2);cursor:pointer;font-family:inherit}.wr-root .ts-today-btn:hover{background:var(--wr-surface2)}.wr-root .ts-member-row{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}.wr-root .ts-member-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:20px;border:1px solid var(--wr-input-border);background:var(--wr-surface);font-size:12px;font-weight:500;color:var(--wr-text2);cursor:pointer;transition:all .12s;font-family:inherit}.wr-root .ts-member-chip:hover{background:var(--wr-surface2);color:var(--wr-text)}.wr-root .ts-member-chip.active{background:var(--wr-accent);color:var(--wr-accent-text);border-color:var(--wr-accent)}.wr-root .ts-member-chip .cnt{font-size:11px;padding:0 6px;border-radius:20px;background:var(--wr-surface2);color:var(--wr-text3)}.wr-root .ts-member-chip.active .cnt{background:#ffffff38;color:var(--wr-accent-text)}.wr-root .wr-kpi-head{display:flex;align-items:center;gap:8px;margin-bottom:10px}.wr-root .wr-kpi-icon{width:32px;height:32px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}.wr-root .ts-section-head{display:flex;align-items:center;gap:8px;margin:16px 0 8px}.wr-root .ts-section-head:first-child{margin-top:0}.wr-root .ts-section-title{font-size:12px;font-weight:700;letter-spacing:.04em;color:var(--wr-text2);text-transform:uppercase;display:flex;align-items:center;gap:6px}.wr-root .ts-section-count{font-size:11px;background:var(--wr-surface2);padding:1px 7px;border-radius:20px;color:var(--wr-text3)}.wr-root .ts-card{background:var(--wr-surface);border:1px solid var(--wr-border);border-left:3px solid transparent;border-radius:var(--wr-radius);padding:14px 16px;cursor:pointer;transition:all .15s;margin-bottom:6px}.wr-root .ts-card:hover,.wr-root .ts-card.expanded{box-shadow:var(--wr-shadow);border-color:var(--wr-input-border)}.wr-root .ts-card.s-progress{border-left-color:var(--wr-blue)}.wr-root .ts-card.s-done{border-left-color:var(--wr-green)}.wr-root .ts-card.s-plan{border-left-color:var(--wr-amber)}.wr-root .ts-card.s-hold{border-left-color:var(--wr-text3)}.wr-root .ts-card.s-issue{border-left-color:var(--wr-red)}.wr-root .ts-top{display:flex;align-items:flex-start;gap:12px}.wr-root .ts-left{flex:1;min-width:0}.wr-root .ts-title-row{display:flex;align-items:center;gap:8px;margin-bottom:5px;flex-wrap:wrap}.wr-root .ts-title{font-size:14px;font-weight:700}.wr-root .ts-meta{display:flex;align-items:center;gap:12px;font-size:12px;color:var(--wr-text2);flex-wrap:wrap}.wr-root .ts-meta span{display:flex;align-items:center;gap:4px}.wr-root .ts-right{display:flex;align-items:center;gap:10px;flex-shrink:0}.wr-root .ts-pct{font-size:13px;font-weight:700;color:var(--wr-text2);min-width:34px;text-align:right}.wr-root .ts-mini{width:64px;height:4px;background:var(--wr-surface2);border-radius:2px;overflow:hidden}.wr-root .ts-mini-fill{height:100%;border-radius:2px}.wr-root .ts-chevron{font-size:14px;color:var(--wr-text3);transition:transform .2s;-webkit-user-select:none;user-select:none}.wr-root .ts-card.expanded .ts-chevron{transform:rotate(180deg)}.wr-root .ts-expand{display:none;padding-top:14px;margin-top:14px;border-top:1px solid var(--wr-line)}.wr-root .ts-card.expanded .ts-expand{display:block}.wr-root .ts-expand-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.wr-root .ts-field-full{grid-column:1 / -1}.wr-root .ts-field label{font-size:11px;font-weight:700;color:var(--wr-text3);letter-spacing:.04em;text-transform:uppercase;margin-bottom:4px;display:block}.wr-root .ts-field p{font-size:13px;color:var(--wr-text);line-height:1.5;white-space:pre-wrap}.wr-root .ts-field textarea{width:100%;font-size:13px;font-family:inherit;padding:8px 10px;border:1px solid var(--wr-input-border);border-radius:var(--wr-radius-sm);background:var(--wr-surface2);color:var(--wr-text);resize:vertical;min-height:56px;outline:none;line-height:1.5}.wr-root .ts-field textarea:focus{border-color:var(--wr-blue)}.wr-root .ts-expand-actions{display:flex;justify-content:flex-end;gap:8px}.wr-root .ts-week-grid{background:var(--wr-surface);border:1px solid var(--wr-border);border-radius:var(--wr-radius);overflow:hidden}.wr-root .ts-week-head,.wr-root .ts-week-row{display:grid;grid-template-columns:90px repeat(5,1fr)}.wr-root .ts-week-head,.wr-root .ts-week-row{border-bottom:1px solid var(--wr-line)}.wr-root .ts-week-row:last-child{border-bottom:none}.wr-root .ts-wh-cell{padding:10px 8px;text-align:center;font-size:12px;font-weight:700;color:var(--wr-text2);background:var(--wr-surface2)}.wr-root .ts-wh-cell:first-child{border-right:1px solid var(--wr-line)}.wr-root .ts-wh-cell.today{color:var(--wr-blue)}.wr-root .ts-wh-date{font-size:11px;font-weight:400;color:var(--wr-text3)}.wr-root .ts-wrow-label{display:flex;align-items:center;justify-content:center;padding:10px 6px;font-size:12px;font-weight:700;color:var(--wr-text2);background:var(--wr-surface2);border-right:1px solid var(--wr-line);text-align:center}.wr-root .ts-week-cell{padding:8px;min-height:80px;border-right:1px solid var(--wr-line);display:flex;flex-direction:column;gap:4px}.wr-root .ts-week-cell:last-child{border-right:none}.wr-root .ts-pill{font-size:11px;padding:3px 7px;border-radius:5px;cursor:pointer;line-height:1.4;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:opacity .12s}.wr-root .ts-pill:hover{opacity:.8}.wr-root .wr-dash-kpi{position:relative;overflow:hidden}.wr-root .wr-dash-kpi:before{content:"";position:absolute;top:0;left:0;right:0;height:3px}.wr-root .wr-dash-kpi.k-blue:before{background:linear-gradient(90deg,#3b75cc,#2563eb)}.wr-root .wr-dash-kpi.k-green:before{background:var(--wr-green)}.wr-root .wr-dash-kpi.k-amber:before{background:var(--wr-amber)}.wr-root .wr-dash-kpi.k-red:before{background:var(--wr-red)}.wr-root .wr-charts{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:20px}.wr-root .wr-chart-card{background:var(--wr-surface);border:1px solid var(--wr-border);border-radius:var(--wr-radius);padding:18px;box-shadow:var(--wr-shadow)}.wr-root .wr-chart-title{font-size:12px;font-weight:600;color:var(--wr-text3);text-transform:uppercase;letter-spacing:.04em;margin-bottom:14px}.wr-root .wr-donut-wrap{display:flex;align-items:center;gap:20px}.wr-root .wr-donut{width:132px;height:132px;border-radius:50%;flex-shrink:0;position:relative}.wr-root .wr-donut:after{content:"";position:absolute;top:22px;right:22px;bottom:22px;left:22px;border-radius:50%;background:var(--wr-surface)}.wr-root .wr-donut-center{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:1}.wr-root .wr-donut-center .num{font-size:22px;font-weight:700;line-height:1}.wr-root .wr-donut-center .lbl{font-size:10px;color:var(--wr-text3);margin-top:2px}.wr-root .wr-legend{display:flex;flex-direction:column;gap:9px;flex:1}.wr-root .wr-legend-item{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--wr-text2)}.wr-root .wr-legend-dot{width:10px;height:10px;border-radius:3px;flex-shrink:0}.wr-root .wr-legend-item .cnt{margin-left:auto;font-weight:700;color:var(--wr-text)}.wr-root .wr-mb-row{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--wr-line)}.wr-root .wr-mb-row:last-child{border-bottom:none}.wr-root .wr-mb-name{width:84px;font-size:12.5px;font-weight:600;flex-shrink:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wr-root .wr-mb-bar{flex:1;height:6px;background:var(--wr-surface2);border-radius:3px;overflow:hidden}.wr-root .wr-mb-fill{height:100%;border-radius:3px;background:linear-gradient(90deg,#3b75cc,#2563eb)}.wr-root .wr-mb-val{width:96px;text-align:right;font-size:11px;color:var(--wr-text3);flex-shrink:0}.wr-root .wr-alert-head,.wr-root .wr-alert-row{display:grid;grid-template-columns:1fr 84px 76px 72px;gap:10px;align-items:center}.wr-root .wr-alert-head{padding:10px 16px;background:var(--wr-surface2);border-bottom:1px solid var(--wr-line);font-size:11px;font-weight:600;color:var(--wr-text3);text-transform:uppercase;letter-spacing:.04em}.wr-root .wr-alert-row{padding:11px 16px;border-bottom:1px solid var(--wr-line);cursor:pointer}.wr-root .wr-alert-row:last-child{border-bottom:none}.wr-root .wr-alert-row:hover{background:var(--bg-hover)}.wr-root .wr-alert-name{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wr-root .wr-alert-sub{font-size:11px;color:var(--wr-text3);margin-top:1px}.wr-root .wr-dday{display:inline-block;font-size:11px;padding:2px 8px;border-radius:6px;font-weight:700;white-space:nowrap}.wr-root .wr-dday.ok{background:var(--wr-blue-bg);color:var(--wr-blue)}.wr-root .wr-dday.warn{background:var(--wr-amber-bg);color:var(--wr-amber)}.wr-root .wr-dday.over{background:var(--wr-red-bg);color:var(--wr-red)}.wr-root .wr-dday.done{background:var(--wr-green-bg);color:var(--wr-green)}@media(max-width:1024px){.wr-root .wr-charts{grid-template-columns:1fr}}@media(max-width:1024px){.wr-root .wr-two-col{grid-template-columns:1fr}.wr-root .wr-stat-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){.wr-root .wr-tm-head,.wr-root .wr-tm-row{grid-template-columns:30px 1fr 80px 90px 56px}.wr-root .wr-tm-col-person,.wr-root .wr-tm-col-cat,.wr-root .wr-tm-col-due{display:none}.wr-root .wr-form-grid2{grid-template-columns:1fr}.wr-root .ts-week-grid{overflow-x:auto}.wr-root .ts-week-head,.wr-root .ts-week-row{grid-template-columns:72px repeat(5,minmax(96px,1fr));min-width:560px}}.iss-btn{display:inline-flex;align-items:center;gap:5px;padding:8px 16px;border-radius:8px;border:none;cursor:pointer;font-family:inherit;font-size:13px;font-weight:600;transition:all .15s;white-space:nowrap}.iss-btn:disabled{opacity:.5;cursor:not-allowed}.iss-btn-primary{background:var(--btn-primary-bg);color:var(--btn-primary-text)}.iss-btn-primary:hover:not(:disabled){background:var(--btn-primary-bg-hover)}.iss-btn-ghost{background:var(--bg-input);color:var(--text-secondary);border:1px solid var(--border-input)}.iss-btn-ghost:hover:not(:disabled){border-color:var(--border-input-focus);color:var(--text-primary)}.iss-btn-danger{background:transparent;color:var(--error-text);border:1px solid var(--error-border)}.iss-btn-danger:hover:not(:disabled){background:var(--error-bg)}.iss-btn-danger-filled{background:var(--error-text, #c62828);color:#fff;border:none}.iss-btn-danger-filled:hover:not(:disabled){opacity:.88}.iss-btn-close{background:transparent;color:#8250df;border:1px solid #8250df40}.iss-btn-close:hover:not(:disabled){background:#8250df14}.iss-btn-reopen{background:transparent;color:#2da44e;border:1px solid #2da44e40}.iss-btn-reopen:hover:not(:disabled){background:#2da44e14}.iss-btn-sm{padding:5px 11px;font-size:12px}.iss-btn-xs{padding:3px 8px;font-size:11px;font-weight:500}.iss-filter-bar{display:flex;align-items:center;flex-wrap:wrap;gap:14px;padding:14px 16px;margin-bottom:16px;background:var(--bg-card);border:1px solid var(--border-card);border-radius:12px;box-shadow:var(--shadow-card)}.iss-filter-tabs{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.iss-filter-tab{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:7px;border:1px solid transparent;background:transparent;color:var(--text-secondary);font-family:inherit;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s}.iss-filter-tab:hover{background:var(--bg-hover);color:var(--text-primary)}.iss-filter-tab.active{background:#2e7d321a;color:#2e7d32;border-color:#2e7d3259;font-weight:700}[data-theme=dark] .iss-filter-tab.active{background:#a5d6a726;color:#a5d6a7;border-color:#a5d6a759}.iss-filter-search{display:flex;align-items:center;gap:6px;flex:1;min-width:200px;max-width:360px}.iss-filter-input{flex:1;padding:7px 10px;border:1px solid var(--border-input);border-radius:7px;background:var(--bg-input);color:var(--text-primary);font-size:13px;font-family:inherit;outline:none;transition:border-color .15s}.iss-filter-input:focus{border-color:var(--border-input-focus)}.iss-filter-input::placeholder{color:var(--text-placeholder)}.iss-filter-actions{display:flex;align-items:center;gap:6px;margin-left:auto}@media(max-width:768px){.iss-filter-bar{gap:10px}.iss-filter-search{flex-basis:100%;max-width:none;order:2}.iss-filter-actions{margin-left:auto;order:1}}.iss-table-wrap{background:var(--bg-card);border:1px solid var(--border-card);border-radius:14px;overflow:hidden;box-shadow:var(--shadow-card)}.iss-table-header{padding:16px 24px;border-bottom:1px solid var(--border-card);display:flex;align-items:center;gap:10px}.iss-table-title{font-size:15px;font-weight:700;color:var(--text-primary)}.iss-table-sub{font-size:12px;color:var(--text-muted)}.iss-table-scroll{overflow-x:auto}.iss-table{width:100%;border-collapse:collapse;font-size:14px}.iss-table thead tr{background:#e5f4e6;border-bottom:1px solid #B5DDB7}[data-theme=dark] .iss-table thead tr{background:#2e7d322e;border-bottom:1px solid rgba(46,125,50,.35)}.iss-table th{padding:12px 16px;text-align:left;font-size:12px;font-weight:700;color:#1b5e20;letter-spacing:.04em;white-space:nowrap}[data-theme=dark] .iss-table th{color:#a5d6a7}.iss-th-status{width:86px}.iss-th-num{width:70px}.iss-th-deadline,.iss-th-user,.iss-th-date{width:110px}.iss-tr{border-bottom:1px solid var(--border-divider);transition:background .1s}.iss-tr:hover{background:var(--bg-hover)}.iss-tr-clickable{cursor:pointer}.iss-table td{padding:11px 16px;color:var(--text-primary);vertical-align:middle}.iss-td-empty{padding:48px 20px;text-align:center;color:var(--text-muted)}.iss-td-num{color:var(--text-muted);font-size:12px;font-family:Consolas,Monaco,monospace;white-space:nowrap}.iss-td-status{white-space:nowrap}.iss-td-title{color:var(--text-primary)}.iss-td-title-wrap{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.iss-td-title-text{font-weight:600;word-break:break-word}.iss-comment-icon{display:inline-flex;align-items:center;gap:3px;color:var(--text-secondary);font-size:12px;font-weight:600}.iss-comment-icon svg{display:block}.iss-comment-count{line-height:1}.iss-td-deadline{white-space:nowrap}.iss-td-user{color:var(--text-secondary);font-size:13px}.iss-td-date{color:var(--text-muted);font-size:12px;white-space:nowrap;font-family:Consolas,Monaco,monospace}.iss-icon-open{color:#2da44e}.iss-icon-closed{color:#8250df}.iss-badge{display:inline-flex;align-items:center;gap:5px;padding:4px 11px;border-radius:20px;font-size:12px;font-weight:600}.iss-badge-open{background:#2da44e1a;color:#2da44e}.iss-badge-closed{background:#8250df1a;color:#8250df}[data-theme=dark] .iss-badge-open{background:#3fb9502e;color:#3fb950}[data-theme=dark] .iss-badge-closed{background:#d299ff2e;color:#d2a8ff}[data-theme=dark] .iss-icon-open{color:#3fb950}[data-theme=dark] .iss-icon-closed{color:#d2a8ff}[data-theme=dark] .iss-btn-close{color:#d2a8ff;border-color:#d2a8ff40}[data-theme=dark] .iss-btn-reopen{color:#3fb950;border-color:#3fb95040}.iss-empty,.iss-loading{padding:48px 20px;text-align:center;color:var(--text-muted);font-size:14px}.iss-pagination{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:14px 24px;border-top:1px solid var(--border-divider)}.iss-page-total{font-size:13px;color:var(--text-muted)}.iss-page-buttons{display:flex;align-items:center;gap:4px}.iss-page-btn{min-width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border-radius:7px;border:1px solid var(--border-input);background:transparent;color:var(--text-secondary);font-size:13px;cursor:pointer;transition:all .15s;padding:0 6px}.iss-page-btn:hover:not(:disabled){border-color:var(--border-input-focus);color:var(--text-primary)}.iss-page-btn.active{background:var(--btn-primary-bg);color:var(--btn-primary-text);border-color:var(--btn-primary-bg)}.iss-page-btn:disabled{opacity:.4;cursor:not-allowed}.iss-page-info{font-size:12px;color:var(--text-muted);margin-left:8px}.iss-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:300;display:flex;align-items:center;justify-content:center;padding:20px}.iss-lightbox-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d1;z-index:400;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:40px;cursor:zoom-out}.iss-lightbox-img{max-width:92vw;max-height:86vh;object-fit:contain;border-radius:6px;box-shadow:0 10px 40px #00000080;cursor:default}.iss-lightbox-caption{color:#fff;font-size:13px;opacity:.9;max-width:92vw;text-align:center;word-break:break-all;cursor:default}.iss-lightbox-close{position:fixed;top:18px;right:22px;width:40px;height:40px;border:0;border-radius:50%;background:#ffffff24;color:#fff;font-size:20px;line-height:1;cursor:pointer}.iss-lightbox-close:hover{background:#ffffff47}.iss-modal{background:var(--bg-card);border:1px solid var(--border-card);border-radius:16px;padding:28px;width:100%;max-width:560px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.iss-modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.iss-modal-title{font-size:17px;font-weight:700;color:var(--text-primary)}.iss-modal-close{width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:6px;border:none;background:transparent;color:var(--text-muted);font-size:18px;cursor:pointer;transition:all .15s}.iss-modal-close:hover{background:var(--error-bg);color:var(--error-text)}.iss-modal-footer{display:flex;justify-content:flex-end;gap:8px;margin-top:20px;padding-top:16px;border-top:1px solid var(--border-divider)}.iss-form-group{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.iss-form-group:last-child{margin-bottom:0}.iss-form-label{font-size:12px;font-weight:600;color:var(--text-label);letter-spacing:.04em}.iss-required{color:var(--error-text);margin-left:2px}.iss-form-input,.iss-form-select{padding:9px 12px;border:1px solid var(--border-input);border-radius:8px;background:var(--bg-input);color:var(--text-primary);font-size:14px;font-family:inherit;transition:border-color .15s;outline:none;width:100%;box-sizing:border-box}.iss-form-input:focus,.iss-form-select:focus{border-color:var(--border-input-focus)}.iss-form-input::placeholder{color:var(--text-placeholder)}.iss-form-textarea{padding:9px 12px;border:1px solid var(--border-input);border-radius:8px;background:var(--bg-input);color:var(--text-primary);font-size:14px;font-family:inherit;resize:vertical;outline:none;width:100%;box-sizing:border-box;transition:border-color .15s;line-height:1.6}.iss-form-textarea:focus{border-color:var(--border-input-focus)}.iss-form-textarea::placeholder{color:var(--text-placeholder)}.iss-back-btn{display:inline-flex;align-items:center;gap:6px;margin-bottom:20px;padding:6px 12px;border-radius:7px;border:1px solid var(--border-input);background:transparent;color:var(--text-secondary);font-family:inherit;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s}.iss-back-btn:hover{border-color:var(--border-input-focus);color:var(--text-primary)}.iss-detail-header{margin-bottom:12px}.iss-detail-title{font-size:22px;font-weight:700;color:var(--text-primary);margin:0 0 12px;line-height:1.3;word-break:break-word}.iss-detail-num{margin-left:8px;font-size:18px;font-weight:400;color:var(--text-muted)}.iss-detail-title-edit{font-size:18px;font-weight:600;margin-bottom:12px}.iss-detail-meta-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.iss-detail-meta-text{font-size:13px;color:var(--text-secondary);flex:1;min-width:0}.iss-detail-actions{display:flex;gap:6px;flex-shrink:0;flex-wrap:wrap}.iss-detail-divider{border:none;border-top:1px solid var(--border-divider);margin:16px 0 24px}.iss-detail-layout{display:grid;grid-template-columns:1fr 220px;gap:24px;align-items:start}@media(max-width:768px){.iss-detail-layout{grid-template-columns:1fr}.iss-detail-sidebar{border-top:1px solid var(--border-divider);padding-top:20px}}.iss-body-card{background:var(--bg-card);border:1px solid var(--border-card);border-radius:12px;overflow:hidden;margin-bottom:16px}.iss-body-content{padding:16px}.iss-body-line{margin:0 0 4px;font-size:14px;color:var(--text-primary);line-height:1.7}.iss-body-empty{color:var(--text-muted);font-size:14px;font-style:italic}.iss-body-edit{padding:16px}.iss-attachments{margin-top:12px;display:flex;flex-wrap:wrap;gap:8px}.iss-attachment{font-size:12px;color:var(--text-secondary);background:var(--bg-input);padding:4px 10px;border-radius:6px;border:1px solid var(--border-input)}.iss-section-title{font-size:14px;font-weight:700;color:var(--text-primary);margin:0 0 16px;padding-bottom:12px;border-bottom:1px solid var(--border-divider)}.iss-comment{display:flex;align-items:flex-start;gap:12px;margin-bottom:16px}.iss-comment-avatar{width:36px;height:36px;border-radius:50%;background:var(--btn-primary-bg);color:var(--btn-primary-text);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;flex-shrink:0}.iss-comment-body-wrap{flex:1;min-width:0;background:var(--bg-card);border:1px solid var(--border-card);border-radius:12px;overflow:hidden}.iss-comment-header{display:flex;align-items:center;gap:8px;padding:10px 14px;background:var(--bg-input);border-bottom:1px solid var(--border-card);flex-wrap:wrap}.iss-comment-author{font-size:13px;font-weight:600;color:var(--text-primary)}.iss-comment-date{font-size:12px;color:var(--text-muted);flex:1}.iss-comment-time-abs{font-family:Consolas,Monaco,monospace;font-size:11px}.iss-comment-actions{display:flex;gap:4px;margin-left:auto}.iss-comment-content,.iss-comment-edit{padding:12px 14px}.iss-comment-edit-actions{display:flex;justify-content:flex-end;gap:6px;margin-top:8px}.iss-add-comment{display:flex;align-items:flex-start;gap:12px;margin-top:20px}.iss-add-comment-form{flex:1;min-width:0}.iss-add-comment-footer{display:flex;align-items:center;justify-content:flex-end;margin-top:8px}.iss-sidebar-section{padding:14px 0;border-bottom:1px solid var(--border-divider)}.iss-sidebar-section:first-child{padding-top:0}.iss-sidebar-section:last-child{border-bottom:none}.iss-sidebar-title{font-size:11px;font-weight:600;color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;margin:0 0 8px;display:flex;align-items:center;gap:6px}.iss-complete-count{font-size:11px;font-weight:700;color:var(--text-secondary);background:var(--bg-hover);border-radius:10px;padding:1px 8px;letter-spacing:0}.iss-complete-type-badge{display:inline-block;font-size:11px;font-weight:600;color:var(--text-secondary);background:var(--bg-hover);border:1px solid var(--border-divider);border-radius:6px;padding:2px 8px;margin-bottom:8px}.iss-complete-status{display:flex;flex-direction:column;gap:6px}.iss-complete-user{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-muted)}.iss-complete-user.done{color:var(--text-primary);font-weight:600}.iss-complete-check{display:inline-flex;width:16px;justify-content:center;color:var(--text-muted)}.iss-complete-user.done .iss-complete-check{color:#2da44e}[data-theme=dark] .iss-complete-user.done .iss-complete-check{color:#3fb950}.iss-radio-group{display:flex;flex-wrap:wrap;gap:8px}.iss-radio-option{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border:1px solid var(--border-input);border-radius:8px;background:transparent;color:var(--text-secondary);font-size:13px;cursor:pointer;transition:border-color .15s,background .15s,color .15s}.iss-radio-option:hover{border-color:var(--btn-primary-bg, #3b82f6)}.iss-radio-option .iss-radio-dot{width:13px;height:13px;border-radius:50%;border:2px solid var(--border-input);box-sizing:border-box;transition:border-color .15s}.iss-radio-option.selected{border-color:var(--btn-primary-bg, #3b82f6);background:#3b82f61a;color:var(--text-primary);font-weight:600}.iss-radio-option.selected .iss-radio-dot{border-color:var(--btn-primary-bg, #3b82f6);border-width:4px}.iss-sidebar-user{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-primary)}.iss-avatar-sm{width:24px;height:24px;border-radius:50%;background:var(--btn-primary-bg);color:var(--btn-primary-text);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0}.iss-sidebar-none{font-size:13px;color:var(--text-muted)}.iss-sidebar-date{font-size:13px;color:var(--text-secondary)}.iss-confirm-dialog{background:var(--bg-card);border:1px solid var(--border-card);border-radius:16px;padding:32px 28px 24px;width:100%;max-width:380px;box-shadow:0 20px 60px #0000004d;text-align:center}.iss-confirm-icon{font-size:32px;margin-bottom:12px;color:var(--error-text)}.iss-confirm-title{font-size:17px;font-weight:700;color:var(--text-primary);margin:0 0 10px}.iss-confirm-message{font-size:14px;color:var(--text-secondary);margin:0 0 24px;line-height:1.6}.iss-confirm-message strong{color:var(--text-primary);font-weight:600}.iss-confirm-actions{display:flex;gap:8px;justify-content:center}.iss-modal-lg{max-width:760px}.iss-modal-xl{max-width:1100px}.iss-detail-modal{position:relative;padding:56px 28px 20px}.iss-detail-close{position:absolute;top:16px;right:16px;z-index:1}@media(max-width:768px){.iss-detail-modal{padding:48px 16px 16px}.iss-detail-close{top:10px;right:10px}}.iss-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(max-width:600px){.iss-form-row{grid-template-columns:1fr}}.iss-markdown-body{font-size:14px;line-height:1.7;color:var(--text-primary);word-break:break-word}.iss-markdown-body h1,.iss-markdown-body h2,.iss-markdown-body h3,.iss-markdown-body h4,.iss-markdown-body h5,.iss-markdown-body h6{margin:1.2em 0 .5em;font-weight:700;line-height:1.3;color:var(--text-primary)}.iss-markdown-body h1{font-size:1.6em;border-bottom:1px solid var(--border-divider);padding-bottom:6px}.iss-markdown-body h2{font-size:1.3em;border-bottom:1px solid var(--border-divider);padding-bottom:4px}.iss-markdown-body h3{font-size:1.1em}.iss-markdown-body h4{font-size:1em}.iss-markdown-body p{margin:0 0 .8em}.iss-markdown-body p:last-child{margin-bottom:0}.iss-markdown-body p:empty:before{content:"";display:inline-block;height:1.7em;vertical-align:text-top}.iss-markdown-body ul,.iss-markdown-body ol{margin:0 0 .8em;padding-left:1.8em}.iss-markdown-body li{margin-bottom:3px}.iss-markdown-body li>ul,.iss-markdown-body li>ol{margin-top:3px;margin-bottom:0}.iss-markdown-body blockquote{margin:0 0 .8em;padding:8px 14px;border-left:4px solid var(--border-input-focus);background:var(--bg-input);color:var(--text-secondary);border-radius:0 6px 6px 0}.iss-markdown-body blockquote p{margin:0}.iss-markdown-body code{background:var(--bg-input);border:1px solid var(--border-input);border-radius:4px;padding:1px 5px;font-family:Consolas,Monaco,monospace;font-size:.9em;color:var(--text-primary)}.iss-markdown-body pre{background:var(--bg-input);border:1px solid var(--border-input);border-radius:8px;padding:14px 16px;overflow-x:auto;margin:0 0 .8em}.iss-markdown-body pre code{background:transparent;border:none;padding:0;font-size:13px;line-height:1.6}.iss-markdown-body table{border-collapse:collapse;width:100%;margin:0 0 .8em;font-size:13px}.iss-markdown-body th,.iss-markdown-body td{border:1px solid var(--border-input);padding:6px 12px;text-align:left}.iss-markdown-body th{background:var(--bg-input);font-weight:600}.iss-markdown-body tr:nth-child(2n) td{background:var(--bg-hover)}.iss-markdown-body hr{border:none;border-top:1px solid var(--border-divider);margin:1.2em 0}.iss-markdown-body a{color:var(--btn-primary-bg);text-decoration:none}.iss-markdown-body a:hover{text-decoration:underline}.iss-markdown-body img{max-width:100%;border-radius:6px}.iss-label-selector{display:flex;flex-wrap:wrap;gap:8px}.iss-label-option{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:20px;border:1.5px solid var(--border-input);background:transparent;color:var(--text-primary);font-family:inherit;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s}.iss-label-option:hover{filter:brightness(.95)}.iss-label-option.selected{font-weight:600}.iss-label-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.iss-label-check{font-size:11px;font-weight:700;margin-left:2px}.iss-assignee-selector{display:flex;flex-wrap:wrap;gap:8px}.iss-assignee-option{display:inline-flex;align-items:center;gap:6px;padding:4px 12px 4px 4px;border-radius:999px;border:1.5px solid var(--border-input);background:transparent;color:var(--text-primary);font-family:inherit;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s}.iss-assignee-option:hover{border-color:var(--border-input-focus)}.iss-assignee-option.selected{font-weight:600;border-color:var(--btn-primary-bg);background:color-mix(in srgb,var(--btn-primary-bg) 12%,transparent)}.iss-assignee-avatar{width:22px;height:22px;border-radius:50%;background:var(--btn-primary-bg);color:var(--btn-primary-text);display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0}.iss-sidebar-users{display:flex;flex-direction:column;gap:6px}.iss-td-assignees{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.iss-assignee-chip{display:inline-flex;align-items:center;gap:3px;padding:2px 8px;border-radius:10px;background:var(--bg-input);border:1px solid var(--border-input);color:var(--text-primary);font-size:11px;font-weight:500;white-space:nowrap}.iss-assignee-chip.done{background:#2da44e1f;border-color:#2da44e73;color:#1a7f37}.iss-assignee-chip-check{font-size:10px;font-weight:700;color:#2da44e}[data-theme=dark] .iss-assignee-chip.done{background:#3fb95029;border-color:#3fb95080;color:#3fb950}[data-theme=dark] .iss-assignee-chip-check{color:#3fb950}.iss-form-hint{font-size:11px;font-weight:500;color:var(--text-muted);margin-left:4px}.iss-label-chip{display:inline-flex;align-items:center;padding:2px 9px;border-radius:12px;border:1px solid transparent;font-size:11px;font-weight:600;line-height:1.6;white-space:nowrap;flex-shrink:0}.iss-item-title-row{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-bottom:2px}.iss-item-title-row .iss-item-title{flex:1;min-width:0}.iss-deadline-chip{display:inline-flex;align-items:center;gap:3px;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:500;background:var(--bg-input);color:var(--text-muted);border:1px solid var(--border-input);white-space:nowrap;flex-shrink:0}.iss-deadline-chip.past{background:#c628281a;color:#c62828;border-color:#c6282840}.iss-deadline-chip.soon{background:#f57c001a;color:#e65100;border-color:#f57c0040}[data-theme=dark] .iss-deadline-chip.past{background:#ef535026;color:#ef5350;border-color:#ef53504d}[data-theme=dark] .iss-deadline-chip.soon{background:#ffa72626;color:#ffa726;border-color:#ffa7264d}.iss-sidebar-deadline{font-size:13px;color:var(--text-secondary)}.iss-sidebar-deadline.past{color:#c62828;font-weight:600}.iss-sidebar-deadline.soon{color:#e65100;font-weight:600}[data-theme=dark] .iss-sidebar-deadline.past{color:#ef5350}[data-theme=dark] .iss-sidebar-deadline.soon{color:#ffa726}.iss-sidebar-labels{display:flex;flex-wrap:wrap;gap:5px}.iss-attachment-section{background:var(--bg-card);border:1px solid var(--border-card);border-radius:12px;padding:16px;margin-bottom:16px}.iss-attachment-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:8px 0;border-bottom:1px solid var(--border-divider)}.iss-attachment-row:last-child{border-bottom:none;padding-bottom:0}.iss-attachment-row:first-child{padding-top:0}.iss-attachment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px;margin-bottom:12px}.iss-attachment-grid:last-child{margin-bottom:0}.iss-attachment-grid .iss-attachment-row{border-bottom:none;padding:6px 10px;background:var(--bg-input);border:1px solid var(--border-input);border-radius:8px}.iss-attachment-grid .iss-attachment-row:first-child,.iss-attachment-grid .iss-attachment-row:last-child{padding:6px 10px}@media(max-width:600px){.iss-attachment-grid{grid-template-columns:1fr}}.iss-attachment-label{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--text-primary);min-width:90px}.iss-attachment-icon{font-size:15px}.iss-attachment-limit{font-size:11px;font-weight:400;color:var(--text-muted)}.iss-attachment-controls{display:flex;align-items:center;gap:6px;flex-wrap:wrap}@media(max-width:480px){.iss-item{padding:12px 14px;gap:10px}.iss-toolbar{gap:8px}.iss-detail-title{font-size:18px}.iss-modal{padding:20px 16px}.iss-detail-actions{gap:4px}.iss-add-comment{gap:8px}.iss-comment-avatar{width:28px;height:28px;font-size:12px}.iss-pagination{flex-wrap:wrap;gap:8px}}.iss-attachment-name{font-size:13px;color:var(--text-secondary);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:var(--bg-input);padding:3px 8px;border-radius:5px;border:1px solid var(--border-input)}.iss-image-preview{padding:8px 0 10px;border-bottom:1px solid var(--border-divider)}.iss-image-preview-btn{background:transparent;border:none;padding:0;cursor:pointer;display:block}.iss-image-preview-img{max-width:100%;max-height:380px;border-radius:8px;border:1px solid var(--border-card);display:block;cursor:pointer;transition:opacity .15s,box-shadow .15s;object-fit:contain}.iss-image-preview-img:hover{opacity:.92;box-shadow:0 4px 12px #0000001f}.iss-multi-image-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:7px 12px;margin-bottom:12px;font-size:12.5px;font-weight:600;cursor:pointer}.iss-multi-image-btn svg{width:15px;height:15px}.dx-root{--dx-accent: #e87722;--dx-accent-soft: rgba(232, 119, 34, .14);padding:4px 2px 40px;color:var(--text-primary)}.dx-layout{display:flex;align-items:flex-start;gap:16px}.dx-main{flex:1;min-width:0}.dx-saved{flex:0 0 300px;width:300px;border:1px solid var(--border-card);border-radius:12px;background:var(--bg-card);padding:12px;position:sticky;top:8px;max-height:calc(100vh - 24px);overflow-y:auto}.dx-saved-head{display:flex;align-items:center;justify-content:space-between;font-size:13px;font-weight:700;color:var(--text-primary);margin-bottom:10px}.dx-saved-add{border:1px solid var(--dx-accent);background:transparent;color:var(--dx-accent);border-radius:6px;padding:4px 10px;font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap}.dx-saved-add:hover{background:var(--dx-accent);color:#fff}.dx-saved-add:disabled{opacity:.4;cursor:not-allowed;background:transparent;color:var(--dx-accent)}.dx-saved-head-actions{display:inline-flex;gap:6px}.dx-saved-reorder{border:1px solid var(--border-card);background:transparent;color:var(--text-secondary);border-radius:6px;padding:4px 10px;font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap}.dx-saved-reorder:hover:not(:disabled){border-color:var(--dx-accent);color:var(--dx-accent)}.dx-saved-reorder:disabled{opacity:.4;cursor:not-allowed}.dx-order-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000}.dx-order-modal{width:460px;max-width:94vw;max-height:86vh;display:flex;flex-direction:column;background:var(--bg-card, #fff);border:1px solid var(--border-card);border-radius:10px;overflow:hidden}.dx-order-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border-card)}.dx-order-title{font-size:15px;font-weight:700;color:var(--text-primary)}.dx-order-close{border:none;background:transparent;color:var(--text-muted);font-size:16px;cursor:pointer;line-height:1}.dx-order-close:disabled{opacity:.4;cursor:not-allowed}.dx-order-hint{padding:12px 18px;font-size:12px;line-height:1.6;color:var(--text-muted);border-bottom:1px solid var(--border-card)}.dx-order-list{flex:1;overflow-y:auto;padding:10px 14px}.dx-order-empty{padding:36px 0;text-align:center;color:var(--text-muted);font-size:13px}.dx-order-row{display:flex;align-items:center;gap:10px;padding:9px 10px;border:1px solid var(--border-card);border-radius:6px;background:var(--bg-input);margin-bottom:6px;cursor:grab;transition:border-color .12s,opacity .12s,box-shadow .12s}.dx-order-row:hover{border-color:var(--dx-accent)}.dx-order-row.dragging{opacity:.45}.dx-order-row.over{box-shadow:inset 0 2px 0 0 var(--dx-accent)}.dx-order-handle{color:var(--text-muted);font-size:15px;line-height:1;flex-shrink:0}.dx-order-name{flex:1;font-size:13px;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dx-order-meta{font-size:11px;color:var(--text-muted);flex-shrink:0}.dx-order-footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 18px;border-top:1px solid var(--border-card)}.dx-order-btn{border-radius:6px;padding:8px 16px;font-size:13px;font-weight:700;cursor:pointer;font-family:inherit}.dx-order-btn.ghost{border:1px solid var(--border-card);background:transparent;color:var(--text-secondary)}.dx-order-btn.ghost:hover:not(:disabled){color:var(--text-primary)}.dx-order-btn.primary{border:1px solid var(--dx-accent);background:var(--dx-accent);color:#fff}.dx-order-btn:disabled{opacity:.5;cursor:not-allowed}.dx-saved-empty{font-size:12px;color:var(--text-muted);text-align:center;padding:24px 4px}.dx-saved-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.dx-saved-item{border:1px solid var(--border-card);border-radius:8px;background:var(--bg-input);padding:8px 10px;display:flex;flex-direction:column;gap:8px}.dx-saved-item.on{border-color:var(--dx-accent);background:var(--dx-accent-soft)}.dx-saved-info{display:flex;flex-direction:column;gap:2px;min-width:0}.dx-saved-name{font-size:13px;font-weight:700;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dx-saved-meta{font-size:11px;color:var(--text-muted)}.dx-saved-actions{display:flex;gap:6px}.dx-saved-apply{flex:1;border:1px solid var(--dx-accent);border-radius:6px;background:transparent;color:var(--dx-accent);font-size:12px;font-weight:700;padding:5px 0;cursor:pointer}.dx-saved-apply:hover:not(:disabled){background:var(--dx-accent);color:#fff}.dx-saved-apply:disabled{opacity:.4;cursor:not-allowed}.dx-saved-update{border:1px solid var(--dx-accent);border-radius:6px;background:var(--dx-accent);color:#fff;font-size:12px;font-weight:700;padding:5px 10px;cursor:pointer;white-space:nowrap}.dx-saved-update:hover{filter:brightness(1.08)}.dx-saved-del{border:1px solid var(--border-input);background:var(--bg-card);color:var(--text-muted);border-radius:6px;width:28px;font-size:11px;cursor:pointer}.dx-saved-del:hover{border-color:#e23b3b;background:#e23b3b;color:#fff}@media(max-width:768px){.dx-layout{flex-direction:column}.dx-saved{flex-basis:auto;width:100%;position:static;max-height:240px}}.dx-confirm{display:flex;flex-direction:column;gap:10px;text-align:left}.dx-confirm-line{display:block;font-size:13px;color:var(--text-primary)}.dx-confirm-input{display:block;width:100%;border:1px solid var(--border-input);border-radius:6px;background:var(--bg-input);color:var(--text-primary);font-size:13px;font-weight:700;padding:8px 10px;box-sizing:border-box}.dx-confirm-input:focus{border-color:var(--dx-accent);outline:none}.dx-confirm-buttons{display:block;border:1px solid var(--border-card);border-radius:8px;background:var(--bg-input);padding:8px 10px;max-height:200px;overflow-y:auto}.dx-confirm-buttons-head{display:block;font-size:12px;font-weight:700;color:var(--text-secondary);margin-bottom:6px}.dx-confirm-buttons-empty{display:block;font-size:12px;color:var(--text-muted)}.dx-confirm-buttons-list{display:flex;flex-direction:column;gap:4px}.dx-confirm-buttons-row{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;padding:4px 0;border-bottom:1px solid var(--border-divider)}.dx-confirm-buttons-row:last-child{border-bottom:none}.dx-confirm-bname{font-weight:700;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1}.dx-confirm-bcoords{display:flex;gap:6px;flex-shrink:0}.dx-confirm-bval{display:inline-flex;align-items:center;gap:4px;padding:2px 7px;border:1px solid var(--border-input);border-radius:5px;background:var(--bg-card);color:var(--text-primary);font-weight:600;font-variant-numeric:tabular-nums;min-width:44px;justify-content:center}.dx-confirm-bval em{font-style:normal;font-weight:700;color:var(--dx-accent)}.cfm-modal.dx-confirm-modal{width:600px}.dx-upload{border:2px dashed var(--border-input);border-radius:16px;padding:64px 20px;text-align:center;cursor:pointer;background:var(--bg-card);transition:border-color .15s,background .15s}.dx-upload:hover,.dx-upload.over{border-color:var(--dx-accent);background:var(--dx-accent-soft)}.dx-upload-icon{font-size:40px;margin-bottom:12px}.dx-upload-title{font-size:15px;font-weight:700;margin-bottom:6px}.dx-upload-sub{font-size:12px;color:var(--text-muted)}.dx-toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;padding:12px 14px;border:1px solid var(--border-card);border-radius:12px;background:var(--bg-card);margin-bottom:12px}.dx-tool-group{display:flex;align-items:center;gap:8px}.dx-count{font-size:13px;font-weight:700;color:var(--dx-accent)}.dx-btn{padding:7px 13px;font-size:13px;font-weight:600;border:1px solid var(--border-input);border-radius:8px;background:var(--bg-input);color:var(--text-primary);cursor:pointer;transition:all .12s;white-space:nowrap}.dx-btn:hover:not(:disabled){border-color:var(--dx-accent)}.dx-btn.active,.dx-btn.primary{background:var(--dx-accent);border-color:var(--dx-accent);color:#fff}.dx-btn.primary:hover:not(:disabled){filter:brightness(1.08)}.dx-btn.detect{background:#8b5cf6;border-color:#8b5cf6;color:#fff}.dx-btn.detect:hover:not(:disabled){filter:brightness(1.08)}.dx-btn:disabled{opacity:.45;cursor:not-allowed}.dx-thumbs{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px}.dx-thumb{position:relative;width:120px;height:84px;border:2px solid var(--border-card);border-radius:8px;cursor:pointer;background:var(--bg-input);flex:0 0 auto}.dx-thumb.on{border-color:var(--dx-accent);box-shadow:0 0 0 2px var(--dx-accent-soft)}.dx-thumb:hover{z-index:60}.dx-thumb-img{width:100%;height:100%;object-fit:cover;display:block;border-radius:6px}.dx-thumb-preview{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%) scale(.96);width:auto;height:auto;max-width:460px;max-height:340px;object-fit:contain;border:1px solid var(--border-card);border-radius:10px;background:var(--bg-card);box-shadow:0 16px 40px #00000052;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .12s ease,transform .12s ease;z-index:61}.dx-thumb:hover .dx-thumb-preview{opacity:1;visibility:visible;transform:translate(-50%) scale(1)}.dx-thumb-no{position:absolute;left:3px;bottom:3px;min-width:16px;padding:0 4px;border-radius:8px;background:#0009;color:#fff;font-size:10px;font-weight:700;text-align:center;line-height:16px}.dx-thumb-del{position:absolute;top:2px;right:2px;width:16px;height:16px;border:none;border-radius:50%;background:#0000008c;color:#fff;font-size:9px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .12s}.dx-thumb:hover .dx-thumb-del{opacity:1}.dx-thumb-del:hover{background:#e23b3b}.dx-thumb-add{width:120px;height:84px;border:2px dashed var(--dx-accent);border-radius:8px;background:transparent;color:var(--dx-accent);font-size:22px;font-weight:700;cursor:pointer;flex:0 0 auto}.dx-thumb-add:hover{background:var(--dx-accent-soft)}.dx-preview-wrap{display:flex;flex-direction:column;gap:10px}.dx-viewer{position:relative;display:block;width:100%;line-height:0;border:1px solid var(--border-card);border-radius:8px;overflow:hidden;background:var(--bg-page);-webkit-user-select:none;user-select:none;touch-action:none}.dx-viewer.draw{cursor:crosshair}.dx-viewer img{display:block;width:100%;height:auto;-webkit-user-drag:none}.dx-box{position:absolute;border:2px solid var(--dx-accent);background:#e877221a;box-sizing:border-box}.dx-box.sel{border-color:var(--blue, #4a9eff);background:#4a9eff1f;z-index:5}.dx-box.draw-preview{border-style:dashed;background:#e877222e;pointer-events:none}.dx-box-label{position:absolute;top:-18px;left:-2px;font-size:10px;line-height:1.4;font-weight:700;padding:1px 5px;background:var(--dx-accent);color:#fff;border-radius:3px;white-space:nowrap}.dx-box.sel .dx-box-label{background:var(--blue, #4a9eff)}.dx-box-del{position:absolute;top:-10px;right:-10px;width:18px;height:18px;border-radius:50%;border:none;background:#e23b3b;color:#fff;font-size:10px;line-height:1;cursor:pointer;z-index:6}.dx-handle{position:absolute;width:10px;height:10px;background:#fff;border:2px solid var(--blue, #4a9eff);border-radius:2px;transform:translate(-50%,-50%);z-index:6}.dx-hint{font-size:12px;color:var(--text-muted)}.dx-table{width:100%;border-collapse:collapse;font-size:13px;margin-top:14px;border:1px solid var(--border-card)}.dx-table thead th{background:var(--bg-input);color:var(--text-secondary);font-weight:700;font-size:12px}.dx-table th,.dx-table td{padding:8px 10px;border-bottom:1px solid var(--border-divider);border-right:1px solid var(--border-divider);text-align:center}.dx-table th:first-child,.dx-table td:first-child{text-align:left}.dx-table th:last-child,.dx-table td:last-child{border-right:none}.dx-table tbody tr:hover{background:var(--bg-hover)}.dx-table tbody tr.sel{background:var(--dx-accent-soft)}.dx-table input{width:100%;padding:5px 7px;border:1px solid transparent;border-radius:5px;background:transparent;color:var(--text-primary);font-size:13px;font-weight:600;text-align:inherit}.dx-table input[type=number]{text-align:center}.dx-table input:hover{border-color:var(--border-input)}.dx-table input:focus{border-color:var(--dx-accent);background:var(--bg-input);outline:none}.dx-table-actions button{border:1px solid var(--border-input);background:var(--bg-input);color:var(--text-secondary);border-radius:5px;padding:3px 9px;cursor:pointer;font-size:12px}.dx-table-actions button:hover{border-color:#e23b3b;color:#e23b3b}.dx-list-head{margin:20px 0 12px;padding-top:16px;border-top:1px solid var(--border-divider);font-size:14px;font-weight:700;color:var(--text-primary)}.dx-list-head-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.dx-list-head-actions{display:flex;align-items:center;gap:8px}.dx-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}.dx-card{position:relative;border:1px solid var(--border-card);border-radius:10px;background:var(--bg-card);padding:12px;display:flex;flex-direction:column;gap:8px}.dx-card-del{position:absolute;top:6px;right:6px;width:20px;height:20px;border:none;border-radius:50%;background:var(--bg-input);color:var(--text-muted);cursor:pointer;font-size:11px;z-index:2}.dx-card-del:hover{background:#e23b3b;color:#fff}.dx-card-thumb{height:90px;display:flex;align-items:center;justify-content:center;background:var(--bg-input);border-radius:6px;overflow:hidden}.dx-card-thumb img{max-width:100%;max-height:100%;object-fit:contain}.dx-card-name{border:1px solid var(--border-input);border-radius:6px;padding:5px 8px;font-size:12px;font-weight:600;background:var(--bg-input);color:var(--text-primary);width:100%}.dx-card-size{font-size:11px;color:var(--text-muted);text-align:center}.dx-card-dl{padding:6px;font-size:12px;font-weight:600;border:1px solid var(--dx-accent);border-radius:6px;background:transparent;color:var(--dx-accent);cursor:pointer}.dx-card-dl:hover{background:var(--dx-accent);color:#fff}.dx-empty{padding:40px 0;text-align:center;color:var(--text-muted);font-size:13px}.rm-btn{display:inline-flex;align-items:center;gap:5px;padding:8px 16px;border-radius:8px;border:none;cursor:pointer;font-family:inherit;font-size:13px;font-weight:600;transition:all .15s;white-space:nowrap}.rm-btn:disabled{opacity:.5;cursor:not-allowed}.rm-btn-primary{background:var(--btn-primary-bg);color:var(--btn-primary-text)}.rm-btn-primary:hover:not(:disabled){background:var(--btn-primary-bg-hover)}.rm-btn-ghost{background:var(--bg-input);color:var(--text-secondary);border:1px solid var(--border-input)}.rm-btn-ghost:hover:not(:disabled){border-color:var(--border-input-focus);color:var(--text-primary)}.rm-btn-danger{background:transparent;color:var(--error-text);border:1px solid var(--error-border)}.rm-btn-danger:hover:not(:disabled){background:var(--error-bg)}.rm-btn-danger-filled{background:var(--error-text, #c62828);color:#fff;border:none}.rm-btn-danger-filled:hover:not(:disabled){opacity:.88}.rm-btn-sm{padding:5px 11px;font-size:12px}.rm-toolbar{display:flex;align-items:center;gap:10px;margin-bottom:20px;flex-wrap:wrap}.rm-search-wrap{display:flex;align-items:center;gap:6px;flex:1;min-width:200px;max-width:400px}.rm-search-input{flex:1;padding:8px 12px;border:1px solid var(--border-input);border-radius:8px;background:var(--bg-input);color:var(--text-primary);font-size:14px;font-family:inherit;transition:border-color .15s;outline:none}.rm-search-input:focus{border-color:var(--border-input-focus)}.rm-search-input::placeholder{color:var(--text-placeholder)}.rm-table-wrap{background:var(--bg-card);border:1px solid var(--border-card);border-radius:14px;overflow:hidden;box-shadow:var(--shadow-card)}.rm-table{width:100%;border-collapse:collapse;font-size:14px}.rm-table thead tr{background:var(--bg-input);border-bottom:1px solid var(--border-card)}.rm-table th{padding:11px 16px;text-align:left;font-size:12px;font-weight:600;color:var(--text-muted);letter-spacing:.04em;white-space:nowrap}.rm-th-id{width:60px}.rm-th-date{width:100px}.rm-th-actions{width:120px}.rm-tr{border-bottom:1px solid var(--border-divider);transition:background .1s}.rm-tr:last-child{border-bottom:none}.rm-tr:hover{background:var(--bg-hover)}.rm-table td{padding:12px 16px;color:var(--text-primary);vertical-align:middle}.rm-td-id{color:var(--text-muted);font-size:13px}.rm-td-name{font-weight:600}.rm-td-desc{color:var(--text-secondary);font-size:13px;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rm-td-date{color:var(--text-muted);font-size:12px;white-space:nowrap}.rm-td-actions{white-space:nowrap}.rm-td-empty{padding:48px 20px;text-align:center;color:var(--text-muted)}.rm-td-actions .rm-btn+.rm-btn{margin-left:6px}.rm-pagination{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;border-top:1px solid var(--border-divider)}.rm-page-total{font-size:13px;color:var(--text-muted)}.rm-page-buttons{display:flex;align-items:center;gap:4px}.rm-page-btn{min-width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border-radius:7px;border:1px solid var(--border-input);background:transparent;color:var(--text-secondary);font-size:13px;cursor:pointer;transition:all .15s;padding:0 6px}.rm-page-btn:hover:not(:disabled){border-color:var(--border-input-focus);color:var(--text-primary)}.rm-page-btn.active{background:var(--btn-primary-bg);color:var(--btn-primary-text);border-color:var(--btn-primary-bg)}.rm-page-btn:disabled{opacity:.4;cursor:not-allowed}.rm-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:300;display:flex;align-items:center;justify-content:center;padding:20px}.rm-modal{background:var(--bg-card);border:1px solid var(--border-card);border-radius:16px;padding:28px;width:100%;max-width:680px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.rm-modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.rm-modal-title{font-size:17px;font-weight:700;color:var(--text-primary)}.rm-modal-close{width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:6px;border:none;background:transparent;color:var(--text-muted);font-size:18px;cursor:pointer;transition:all .15s}.rm-modal-close:hover{background:var(--error-bg);color:var(--error-text)}.rm-modal-footer{display:flex;justify-content:flex-end;gap:8px;margin-top:20px;padding-top:16px;border-top:1px solid var(--border-divider)}.rm-form-group{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.rm-form-group:last-child{margin-bottom:0}.rm-form-label{font-size:12px;font-weight:600;color:var(--text-label);letter-spacing:.04em;display:flex;align-items:center;gap:8px}.rm-form-hint{font-size:11px;font-weight:400;color:var(--text-muted);letter-spacing:0}.rm-required{color:var(--error-text);margin-left:2px}.rm-form-input{padding:9px 12px;border:1px solid var(--border-input);border-radius:8px;background:var(--bg-input);color:var(--text-primary);font-size:14px;font-family:inherit;transition:border-color .15s;outline:none;width:100%;box-sizing:border-box}.rm-form-input:focus{border-color:var(--border-input-focus)}.rm-form-input::placeholder{color:var(--text-placeholder)}.rm-form-textarea{padding:9px 12px;border:1px solid var(--border-input);border-radius:8px;background:var(--bg-input);color:var(--text-primary);font-size:14px;font-family:inherit;resize:vertical;outline:none;width:100%;box-sizing:border-box;transition:border-color .15s;line-height:1.6}.rm-form-textarea:focus{border-color:var(--border-input-focus)}.rm-json-area{font-family:Consolas,Monaco,Menlo,monospace;font-size:13px;line-height:1.5;-moz-tab-size:2;tab-size:2}.rm-confirm-dialog{background:var(--bg-card);border:1px solid var(--border-card);border-radius:16px;padding:32px 28px 24px;width:100%;max-width:400px;box-shadow:0 20px 60px #0000004d;text-align:center}.rm-confirm-icon{font-size:32px;margin-bottom:12px;color:var(--error-text)}.rm-confirm-title{font-size:17px;font-weight:700;color:var(--text-primary);margin:0 0 10px}.rm-confirm-message{font-size:14px;color:var(--text-secondary);margin:0 0 24px;line-height:1.6}.rm-confirm-message strong{color:var(--text-primary);font-weight:600}.rm-confirm-actions{display:flex;gap:8px;justify-content:center}.rm-table-scroll{overflow-x:auto}@media(max-width:480px){.rm-modal{padding:20px 16px}.rm-toolbar{gap:8px}}.invsite-toolbar{display:flex;align-items:center;gap:10px;margin-bottom:20px;flex-wrap:wrap}.invsite-search-wrap{display:flex;align-items:center;gap:6px;flex:1;min-width:200px;max-width:400px}.invsite-search-input{flex:1;padding:8px 12px;border:1px solid var(--border-input);border-radius:8px;background:var(--bg-input);color:var(--text-primary);font-size:14px;font-family:inherit;transition:border-color .15s}.invsite-search-input:focus{outline:none;border-color:var(--border-input-focus)}.invsite-search-input::placeholder{color:var(--text-placeholder)}.invsite-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:8px;border:none;cursor:pointer;font-family:inherit;font-size:13px;font-weight:600;transition:all .15s;white-space:nowrap}.invsite-btn:disabled{opacity:.5;cursor:not-allowed}.invsite-btn-primary{background:var(--btn-primary-bg);color:var(--btn-primary-text)}.invsite-btn-primary:hover:not(:disabled){background:var(--btn-primary-bg-hover)}.invsite-btn-icon{width:16px;height:16px;vertical-align:middle}.invsite-btn-ghost{background:transparent;color:var(--text-secondary);border:1px solid var(--border-input)}.invsite-btn-ghost:hover:not(:disabled){border-color:var(--border-input-focus);color:var(--text-primary)}.invsite-btn-danger{background:transparent;color:var(--danger, #e53e3e);border:1px solid transparent}.invsite-btn-danger:hover:not(:disabled){background:var(--error-bg, #fef2f2);border-color:var(--danger, #e53e3e)}[data-theme=dark] .invsite-btn-danger:hover:not(:disabled){background:#e53e3e2e}.invsite-btn-danger-solid{background:var(--danger, #e53e3e);color:#fff;border:1px solid var(--danger, #e53e3e)}.invsite-btn-danger-solid:hover:not(:disabled){background:#c53030;border-color:#c53030}.invsite-btn-sm{padding:4px 10px;font-size:11px}.invsite-table-wrap{background:var(--bg-card);border:1px solid var(--border-card);border-radius:14px;overflow:hidden;box-shadow:var(--shadow-card)}.invsite-table-header{padding:16px 24px;border-bottom:1px solid var(--border-card)}.invsite-table-title{font-size:15px;font-weight:700;color:var(--text-primary)}.invsite-table-scroll{overflow-x:auto}.invsite-table{width:100%;border-collapse:collapse;font-size:13px}.invsite-table thead th{background:#e6f1fb;padding:11px 14px;text-align:left;font-size:11px;color:#185fa5;letter-spacing:.05em;font-weight:700;border-bottom:1px solid #B5D4F4;border-right:1px solid var(--border-divider);white-space:nowrap}.invsite-table thead th:last-child{border-right:none}[data-theme=dark] .invsite-table thead th{background:#378add2e;color:#8fc0f0;border-bottom-color:#378add59}.invsite-table thead th.th-center{text-align:center}.invsite-table tbody tr{border-bottom:1px solid var(--border-divider);transition:background .1s}.invsite-table tbody tr:hover{background:var(--bg-hover)}.invsite-table tbody tr:last-child{border-bottom:none}.invsite-table td{padding:12px 14px;vertical-align:middle;border-right:1px solid var(--border-divider);color:var(--text-primary)}.invsite-table td:last-child{border-right:none}.invsite-table td.td-center{text-align:center}.invsite-td-no{color:var(--text-muted);font-family:IBM Plex Mono,Consolas,monospace;font-size:12px;width:60px}.invsite-td-name{font-weight:600;white-space:nowrap}.invsite-td-desc{color:var(--text-secondary);max-width:360px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.invsite-td-date{color:var(--text-muted);font-family:IBM Plex Mono,Consolas,monospace;font-size:12px;white-space:nowrap;width:110px}.invsite-td-actions{display:inline-flex;gap:4px;white-space:nowrap}.invsite-empty{padding:56px 20px!important;text-align:center;color:var(--text-muted);font-size:14px}.invsite-pagination{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:14px 24px;border-top:1px solid var(--border-divider)}.invsite-page-total{font-size:12px;color:var(--text-secondary)}.invsite-page-buttons{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.invsite-page-btn{min-width:30px;height:30px;padding:0 8px;border:1px solid var(--border-input);border-radius:6px;background:var(--bg-input);color:var(--text-secondary);font-size:12px;font-family:inherit;cursor:pointer;transition:all .12s}.invsite-page-btn:hover:not(:disabled){border-color:var(--border-input-focus);color:var(--text-primary)}.invsite-page-btn:disabled{opacity:.4;cursor:not-allowed}.invsite-page-btn.active{background:var(--btn-primary-bg);color:var(--btn-primary-text);border-color:var(--btn-primary-bg)}.invsite-page-info{font-size:12px;color:var(--text-muted);margin-left:8px}.invsite-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.invsite-modal{background:var(--bg-card);border:1px solid var(--border-card);border-radius:12px;width:480px;max-width:96vw;max-height:92vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 16px 48px #00000038}.invsite-modal-head{display:flex;align-items:center;justify-content:space-between;padding:18px 24px 14px;border-bottom:1px solid var(--border-divider)}.invsite-modal-title{font-size:16px;font-weight:700;color:var(--text-primary)}.invsite-modal-close{background:none;border:none;cursor:pointer;font-size:16px;color:var(--text-secondary);padding:4px 8px;border-radius:6px}.invsite-modal-close:hover{background:var(--bg-hover);color:var(--text-primary)}.invsite-form{padding:18px 24px;display:flex;flex-direction:column;gap:14px;overflow-y:auto}.invsite-form-group{display:flex;flex-direction:column;gap:6px}.invsite-form-label{font-size:12px;font-weight:600;color:var(--text-secondary)}.invsite-form-label .required{color:var(--danger, #e53e3e);margin-left:2px}.invsite-form-input,.invsite-form-textarea{width:100%;padding:9px 12px;border:1px solid var(--border-input);border-radius:8px;background:var(--bg-input);color:var(--text-primary);font-size:13px;font-family:inherit;transition:border-color .15s;box-sizing:border-box}.invsite-form-input:focus,.invsite-form-textarea:focus{outline:none;border-color:var(--border-input-focus)}.invsite-form-textarea{resize:vertical;min-height:80px;line-height:1.5}.invsite-modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:14px 24px;border-top:1px solid var(--border-divider)}.invsite-confirm{width:420px}.invsite-confirm-body{padding:22px 24px}.invsite-confirm-text{font-size:14px;color:var(--text-primary);line-height:1.6;margin:0 0 6px}.invsite-confirm-sub{font-size:12px;color:var(--text-muted);margin:0}.invitem-toolbar{display:flex;align-items:center;gap:10px;margin-bottom:14px;flex-wrap:wrap}.invitem-search-wrap{display:flex;align-items:center;gap:6px;flex:1;min-width:200px;max-width:400px}.invitem-search-input{flex:1;padding:8px 12px;border:1px solid var(--border-input);border-radius:8px;background:var(--bg-input);color:var(--text-primary);font-size:14px;font-family:inherit;transition:border-color .15s}.invitem-search-input:focus{outline:none;border-color:var(--border-input-focus)}.invitem-search-input::placeholder{color:var(--text-placeholder)}.invitem-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:8px;border:none;cursor:pointer;font-family:inherit;font-size:13px;font-weight:600;transition:all .15s;white-space:nowrap}.invitem-btn:disabled{opacity:.5;cursor:not-allowed}.invitem-btn-primary{background:var(--btn-primary-bg);color:var(--btn-primary-text)}.invitem-btn-primary:hover:not(:disabled){background:var(--btn-primary-bg-hover)}.invitem-btn-icon{width:16px;height:16px;vertical-align:middle}.invitem-btn-ghost{background:transparent;color:var(--text-secondary);border:1px solid var(--border-input)}.invitem-btn-ghost:hover:not(:disabled){border-color:var(--border-input-focus);color:var(--text-primary)}.invitem-btn-danger{background:transparent;color:var(--danger, #e53e3e);border:1px solid transparent}.invitem-btn-danger:hover:not(:disabled){background:var(--error-bg, #fef2f2);border-color:var(--danger, #e53e3e)}[data-theme=dark] .invitem-btn-danger:hover:not(:disabled){background:#e53e3e2e}.invitem-btn-danger-solid{background:var(--danger, #e53e3e);color:#fff;border:1px solid var(--danger, #e53e3e)}.invitem-btn-danger-solid:hover:not(:disabled){background:#c53030;border-color:#c53030}.invitem-btn-warning-solid{background:#ef9f27;color:#fff;border:1px solid #EF9F27}.invitem-btn-warning-solid:hover:not(:disabled){background:#d78a1e;border-color:#d78a1e}.invitem-btn-sm{padding:4px 10px;font-size:11px}.invitem-table-wrap{background:var(--bg-card);border:1px solid var(--border-card);border-radius:14px;overflow:hidden;box-shadow:var(--shadow-card)}.invitem-table-header{padding:16px 24px;border-bottom:1px solid var(--border-card);display:flex;align-items:center;gap:10px}.invitem-table-title{font-size:15px;font-weight:700;color:var(--text-primary)}.invitem-table-sub{font-size:12px;color:var(--text-muted)}.invitem-table-scroll{overflow-x:auto}.invitem-table{width:100%;border-collapse:collapse;font-size:13px}.invitem-table thead th{background:#e6f1fb;padding:11px 14px;text-align:left;font-size:11px;color:#185fa5;letter-spacing:.05em;font-weight:700;border-bottom:1px solid #B5D4F4;border-right:1px solid var(--border-divider);white-space:nowrap}.invitem-table thead th:last-child{border-right:none}.invitem-table thead th.th-center{text-align:center}.invitem-table thead th.th-right{text-align:right}.invitem-table tbody tr{border-bottom:1px solid var(--border-divider);transition:background .1s}.invitem-table tbody tr:hover{background:var(--bg-hover)}.invitem-table tbody tr:last-child{border-bottom:none}.invitem-table td{padding:11px 14px;vertical-align:middle;border-right:1px solid var(--border-divider);color:var(--text-primary)}.invitem-table td:last-child{border-right:none}.invitem-table td.td-center{text-align:center}.invitem-table td.td-right{text-align:right}.invitem-td-no{color:var(--text-muted);font-family:IBM Plex Mono,Consolas,monospace;font-size:12px;width:60px}.invitem-td-name{font-weight:600;white-space:nowrap}.invitem-td-amount-cell{padding:4px 6px!important;white-space:nowrap}.invitem-cell-input{width:92px;padding:6px 9px;border:1px solid var(--border-input);border-radius:6px;background:var(--bg-input);color:var(--text-primary);font-size:14px;font-family:IBM Plex Mono,Consolas,monospace;font-variant-numeric:tabular-nums;text-align:right;outline:none;transition:border-color .15s;box-sizing:border-box}.invitem-cell-input:focus{border-color:var(--border-input-focus)}.invitem-cell-input:disabled{opacity:.55;cursor:not-allowed}.invitem-cell-empty{display:inline-block;width:92px;text-align:right;color:var(--text-muted);font-family:IBM Plex Mono,Consolas,monospace;font-size:14px}.invitem-save-status{display:inline-block;font-size:11px;font-weight:600;white-space:nowrap;color:var(--text-muted)}.invitem-save-status.muted{opacity:.7}.invitem-save-status.saving{color:var(--blue, #378ADD)}.invitem-save-status.saved{color:var(--green, #639922)}.invitem-td-total{font-family:IBM Plex Mono,Consolas,monospace;font-weight:700;font-size:15px;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--text-primary)}.invitem-cell-bar{width:92px;height:5px;background:var(--bg-input);border-radius:3px;overflow:hidden;margin:4px 0 0 auto}.invitem-cell-bar-fill{height:100%;border-radius:3px;transition:width .18s ease}.invitem-site-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px;vertical-align:middle}.invitem-td-dates{white-space:nowrap;width:130px;line-height:1.45}.invitem-date-row{font-family:IBM Plex Mono,Consolas,monospace;font-size:12px;color:var(--text-primary)}.invitem-date-sub{color:var(--text-muted);font-size:11px}.invitem-td-actions{display:inline-flex;gap:4px;white-space:nowrap}.invitem-empty{padding:56px 20px!important;text-align:center;color:var(--text-muted);font-size:14px}[data-theme=dark] .invitem-table thead th{background:#378add2e;color:#8fc0f0;border-bottom-color:#378add59}.invitem-pagination{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:14px 24px;border-top:1px solid var(--border-divider)}.invitem-page-total{font-size:12px;color:var(--text-secondary)}.invitem-page-buttons{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.invitem-page-btn{min-width:30px;height:30px;padding:0 8px;border:1px solid var(--border-input);border-radius:6px;background:var(--bg-input);color:var(--text-secondary);font-size:12px;font-family:inherit;cursor:pointer;transition:all .12s}.invitem-page-btn:hover:not(:disabled){border-color:var(--border-input-focus);color:var(--text-primary)}.invitem-page-btn:disabled{opacity:.4;cursor:not-allowed}.invitem-page-btn.active{background:var(--btn-primary-bg);color:var(--btn-primary-text);border-color:var(--btn-primary-bg)}.invitem-page-info{font-size:12px;color:var(--text-muted);margin-left:8px}.invitem-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.invitem-modal{background:var(--bg-card);border:1px solid var(--border-card);border-radius:12px;width:520px;max-width:96vw;max-height:92vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 16px 48px #00000038}.invitem-modal-head{display:flex;align-items:center;justify-content:space-between;padding:18px 24px 14px;border-bottom:1px solid var(--border-divider)}.invitem-modal-title{font-size:16px;font-weight:700;color:var(--text-primary)}.invitem-modal-close{background:none;border:none;cursor:pointer;font-size:16px;color:var(--text-secondary);padding:4px 8px;border-radius:6px}.invitem-modal-close:hover{background:var(--bg-hover);color:var(--text-primary)}.invitem-form{padding:18px 24px;display:flex;flex-direction:column;gap:14px;overflow-y:auto}.invitem-form-group{display:flex;flex-direction:column;gap:6px}.invitem-form-label{font-size:12px;font-weight:600;color:var(--text-secondary)}.invitem-form-label .required{color:var(--danger, #e53e3e);margin-left:2px}.invitem-form-input,.invitem-form-textarea,.invitem-form-select{width:100%;padding:9px 12px;border:1px solid var(--border-input);border-radius:8px;background:var(--bg-input);color:var(--text-primary);font-size:13px;font-family:inherit;transition:border-color .15s;box-sizing:border-box}.invitem-form-input:focus,.invitem-form-textarea:focus,.invitem-form-select:focus{outline:none;border-color:var(--border-input-focus)}.invitem-form-textarea{resize:vertical;min-height:64px;line-height:1.5}.invitem-form-hint{font-size:12px;color:var(--text-muted);margin:0;line-height:1.5}.invitem-modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:14px 24px;border-top:1px solid var(--border-divider)}.invitem-confirm{width:420px}.invitem-confirm-body{padding:22px 24px}.invitem-confirm-text{font-size:14px;color:var(--text-primary);line-height:1.6;margin:0 0 6px}.invitem-confirm-sub{font-size:12px;color:var(--text-muted);margin:0}.invitem-toolbar-actions{display:flex;align-items:center;gap:8px}.invitem-order-list{display:flex;flex-direction:column;gap:6px;max-height:55vh;overflow-y:auto;margin-top:4px}.invitem-order-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--border-input);border-radius:8px;background:var(--bg-input);cursor:grab;-webkit-user-select:none;user-select:none;transition:border-color .12s,background .12s,opacity .12s}.invitem-order-row:hover{border-color:var(--border-input-focus)}.invitem-order-row.dragging{opacity:.5;cursor:grabbing}.invitem-order-row.over{border-color:var(--btn-primary-bg);background:var(--bg-secondary)}.invitem-drag-handle{color:var(--text-muted);font-size:16px;line-height:1;cursor:grab}.invitem-order-name{flex:1;font-size:14px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.invitem-order-empty{padding:24px 0;text-align:center;color:var(--text-muted);font-size:13px}.invstats-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px}.invstats-metric{background:var(--bg-card);border:1px solid var(--border-card);border-radius:12px;padding:14px 16px;box-shadow:var(--shadow-card)}.invstats-metric-label{font-size:12px;color:var(--text-secondary);margin-bottom:6px}.invstats-metric-value{font-size:24px;font-weight:700;color:var(--text-primary);font-variant-numeric:tabular-nums}.invstats-metric--blue .invstats-metric-value{color:#185fa5}.invstats-metric--green .invstats-metric-value{color:#3b6d11}.invstats-metric--orange .invstats-metric-value{color:#854f0b}[data-theme=dark] .invstats-metric--blue .invstats-metric-value{color:#8fc0f0}[data-theme=dark] .invstats-metric--green .invstats-metric-value{color:#b5d88a}[data-theme=dark] .invstats-metric--orange .invstats-metric-value{color:#e5b772}.invstats-metric-unit{font-size:14px;color:var(--text-muted);font-weight:500;margin-left:4px}@media(max-width:900px){.invstats-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}.invstats-section{margin-bottom:18px}.invstats-section-head{display:flex;align-items:baseline;gap:10px;margin-bottom:10px}.invstats-section-title{font-size:15px;font-weight:700;color:var(--text-primary)}.invstats-section-sub{font-size:12px;color:var(--text-muted)}.invstats-empty{padding:32px 20px;text-align:center;color:var(--text-muted);font-size:13px;background:var(--bg-card);border:1px solid var(--border-card);border-radius:12px}.invstats-branch-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px}.invstats-branch-card{background:var(--bg-card);border:1px solid var(--border-card);border-radius:12px;padding:14px 16px;box-shadow:var(--shadow-card)}.invstats-branch-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding-bottom:8px;margin-bottom:10px;border-bottom:1px solid var(--border-divider)}.invstats-branch-name{font-size:15px;font-weight:700;color:var(--text-primary)}.invstats-branch-total{font-size:18px;font-weight:700;color:var(--text-primary);font-family:IBM Plex Mono,Consolas,monospace}.invstats-branch-empty{padding:14px 4px;font-size:12px;color:var(--text-muted);text-align:center}.invstats-num{font-variant-numeric:tabular-nums}.invstats-bars{display:flex;flex-direction:column;gap:8px}.invstats-bar-row{display:grid;grid-template-columns:120px 1fr 80px;align-items:center;gap:10px;font-size:13px}.invstats-bar-label{color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.invstats-bar-bg{height:10px;background:var(--bg-input);border-radius:4px;overflow:hidden}.invstats-bar-fill{height:100%;border-radius:4px;transition:width .18s ease}.invstats-bar-text{text-align:right;color:var(--text-primary);font-weight:600;font-size:14px;font-family:IBM Plex Mono,Consolas,monospace}.rload-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1050;padding:20px}.rload-modal{background:var(--bg-card);border:1px solid var(--border-card);border-radius:0;width:1140px;max-width:96vw;height:84vh;display:flex;flex-direction:column;box-shadow:0 16px 48px #00000038;overflow:hidden}.rload-toolbar{display:flex;flex-wrap:wrap;gap:8px;padding:16px 22px 6px;border-bottom:1px solid var(--border-divider)}.rload-search{flex:1;min-width:150px;max-width:260px;padding:9px 12px;border:1px solid var(--border-input);border-radius:0;background:var(--bg-input);color:var(--text-primary);font-size:13px;font-family:inherit;outline:none;transition:border-color .15s}.rload-search-sm{flex:0 1 160px;min-width:120px;max-width:185px}.rload-search:focus{border-color:var(--border-input-focus)}.rload-type-select{width:110px;padding:9px 12px;border:1px solid var(--border-input);border-radius:0;background:var(--bg-input);color:var(--text-primary);font-size:13px;font-family:inherit;outline:none;cursor:pointer;transition:border-color .15s}.rload-type-select:focus{border-color:var(--border-input-focus)}.rload-tag{display:inline-block;font-size:11px;font-weight:600;padding:2px 9px;border-radius:0;letter-spacing:.02em;white-space:nowrap}.rload-tag-rental{background:#e8f5e9;color:#1b5e20}.rload-tag-supply{background:#ede7f6;color:#4527a0}[data-theme=dark] .rload-tag-rental{background:#4caf5038;color:#a5d6a7}[data-theme=dark] .rload-tag-supply{background:#9575cd38;color:#b39ddb}.rload-btn{padding:8px 16px;border-radius:0;font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s;border:1px solid transparent;white-space:nowrap}.rload-btn-primary{background:var(--btn-primary-bg);color:var(--btn-primary-text);border-color:var(--btn-primary-bg)}.rload-btn-primary:hover{background:var(--btn-primary-bg-hover);border-color:var(--btn-primary-bg-hover)}.rload-btn-ghost{background:transparent;color:var(--text-secondary);border-color:var(--border-input)}.rload-btn-ghost:hover{border-color:var(--border-input-focus);color:var(--text-primary)}.rload-list-scroll{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:8px 22px 12px}.rload-table{width:100%;border-collapse:collapse;font-size:13px;table-layout:fixed}.rload-table thead th{position:sticky;top:0;background:linear-gradient(#ef9f271f,#ef9f271f),var(--bg-card);padding:8px 14px;text-align:left;font-size:12px;color:#b05a0a;letter-spacing:.05em;font-weight:800;border-top:1px solid rgba(239,159,39,.42);border-bottom:2px solid rgba(239,159,39,.42);white-space:nowrap;z-index:2}[data-theme=dark] .rload-table thead th{background:linear-gradient(#ef9f272e,#ef9f272e),var(--bg-card);color:#f0bc6e;border-top-color:#ef9f2780;border-bottom-color:#ef9f2780}.rload-table thead th.th-center{text-align:center}.rload-table thead th.th-right{text-align:right}.rload-table tbody td{padding:8px 14px;border-bottom:1px solid var(--border-divider);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rload-table tbody td.td-center{text-align:center}.rload-table tbody td.td-right{text-align:right}.rload-td-amount{font-family:IBM Plex Mono,Consolas,monospace;font-variant-numeric:tabular-nums;font-weight:600}.rload-row{cursor:pointer;transition:background .1s}.rload-row:hover{background:var(--bg-hover)}.rload-td-name{font-weight:600}.rload-btn-delete{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:1px solid var(--border-input);border-radius:0;background:transparent;color:#d14343;cursor:pointer;transition:all .12s}.rload-btn-delete:hover{background:#d143431a;border-color:#d14343}[data-theme=dark] .rload-btn-delete{color:#f08585}[data-theme=dark] .rload-btn-delete:hover{background:#f0858526;border-color:#f08585}.rload-empty{text-align:center!important;padding:36px 16px!important;color:var(--text-muted)!important;font-size:13px;white-space:normal!important}.rload-footer{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;padding:12px 22px 14px;border-top:1px solid var(--border-divider)}.rload-toolbar-close{margin-left:auto}.rload-count{font-size:12px;color:var(--text-muted)}.rload-page-buttons{display:inline-flex;align-items:center;gap:4px;justify-self:center}.rload-page-btn{min-width:30px;height:30px;padding:0 8px;border:1px solid var(--border-input);border-radius:0;background:var(--bg-input);color:var(--text-secondary);font-size:12px;font-family:inherit;cursor:pointer;transition:all .12s}.rload-page-btn:hover:not(:disabled){border-color:var(--border-input-focus);color:var(--text-primary)}.rload-page-btn:disabled{opacity:.4;cursor:not-allowed}.rload-page-btn.active{background:var(--btn-primary-bg);color:var(--btn-primary-text);border-color:var(--btn-primary-bg)}.rload-page-info{font-size:12px;color:var(--text-muted);margin-left:8px}.ntpl-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1060;padding:20px;animation:ntpl-fade-in .16s ease-out}@keyframes ntpl-fade-in{0%{opacity:0}to{opacity:1}}.ntpl-modal{background:var(--bg-card);border:1px solid var(--border-card);border-radius:14px;width:760px;max-width:96vw;max-height:88vh;display:flex;flex-direction:column;box-shadow:0 24px 60px #00000047;overflow:hidden;animation:ntpl-slide-up .22s cubic-bezier(.2,.7,.2,1)}@keyframes ntpl-slide-up{0%{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.ntpl-header{display:flex;align-items:center;gap:14px;padding:18px 22px;border-bottom:1px solid var(--border-divider);background:linear-gradient(135deg,#ef9f2714,#ef9f2700)}[data-theme=dark] .ntpl-header{background:linear-gradient(135deg,#ef9f271f,#ef9f2700)}.ntpl-header-icon{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,#f5b547,#ef9f27);color:#fff;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 4px 10px #ef9f2747}.ntpl-header-text{flex:1;min-width:0}.ntpl-title{font-size:15px;font-weight:700;color:var(--text-primary);line-height:1.25}.ntpl-subtitle{margin-top:3px;font-size:11.5px;color:var(--text-muted);line-height:1.4}.ntpl-close{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border-input);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;border-radius:8px;transition:all .12s;padding:0}.ntpl-close:hover{border-color:#d14343;color:#d14343;background:#d143430f}[data-theme=dark] .ntpl-close:hover{color:#f08585;border-color:#f08585;background:#f085851f}.ntpl-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding:12px 16px 0;background:var(--bg-card)}.ntpl-tab{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 12px;border:1px solid var(--border-input);border-radius:10px;background:var(--bg-input);color:var(--text-secondary);cursor:pointer;font-family:inherit;font-size:13px;font-weight:600;transition:all .14s;position:relative}.ntpl-tab:hover:not(.active){border-color:var(--border-input-focus);color:var(--text-primary);transform:translateY(-1px)}.ntpl-tab.active{background:linear-gradient(135deg,#f5b547,#ef9f27);border-color:#ef9f27;color:#fff;box-shadow:0 4px 10px #ef9f2747}.ntpl-tab-label{letter-spacing:.02em}.ntpl-body{flex:1;display:flex;flex-direction:column;padding:14px 22px 12px;overflow:hidden}.ntpl-body-head{display:flex;align-items:center;gap:10px;margin-bottom:12px}.ntpl-body-head-left{display:inline-flex;align-items:baseline;gap:8px;flex:1}.ntpl-body-title{font-size:13px;font-weight:700;color:var(--text-primary)}.ntpl-body-sub{font-size:11.5px;color:var(--text-muted)}.ntpl-body-actions{display:inline-flex;gap:6px}.ntpl-list{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;gap:6px;padding:4px 2px 4px 0}.ntpl-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:36px 16px;gap:10px;text-align:center;border:1px dashed var(--border-input);border-radius:10px;background:var(--bg-input);color:var(--text-muted)}.ntpl-empty-icon{width:56px;height:56px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#ef9f271f;color:#b05a0a}[data-theme=dark] .ntpl-empty-icon{background:#ef9f272e;color:#f0bc6e}.ntpl-empty-title{font-size:13px;font-weight:700;color:var(--text-primary)}.ntpl-empty-desc{font-size:12px;color:var(--text-muted)}.ntpl-row{display:flex;align-items:center;gap:8px;padding:4px 6px 4px 4px;border-radius:8px;transition:background .12s}.ntpl-row:hover{background:var(--bg-hover)}.ntpl-row-no{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:6px;background:#ef9f2724;color:#b05a0a;font-size:11px;font-weight:700;font-family:IBM Plex Mono,Consolas,monospace;font-variant-numeric:tabular-nums;flex-shrink:0;-webkit-user-select:none;user-select:none}[data-theme=dark] .ntpl-row-no{background:#ef9f2738;color:#f0bc6e}.ntpl-input{flex:1;padding:9px 12px;border:1px solid var(--border-input);border-radius:8px;background:var(--bg-input);color:var(--text-primary);font-size:13px;font-family:inherit;outline:none;transition:border-color .15s,box-shadow .15s}.ntpl-input:focus{border-color:#ef9f27;box-shadow:0 0 0 3px #ef9f2729}.ntpl-row-remove{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:1px solid var(--border-input);border-radius:8px;background:var(--bg-card);color:#d14343;cursor:pointer;transition:all .12s;flex-shrink:0}.ntpl-row-remove:hover{background:#d143431a;border-color:#d14343}[data-theme=dark] .ntpl-row-remove{color:#f08585}[data-theme=dark] .ntpl-row-remove:hover{background:#f0858524;border-color:#f08585}.ntpl-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:8px;font-family:inherit;font-size:12px;font-weight:700;cursor:pointer;transition:all .15s;border:1px solid transparent;white-space:nowrap}.ntpl-btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important;box-shadow:none!important}.ntpl-btn-primary{background:linear-gradient(135deg,#f5b547,#ef9f27);color:#fff;border-color:#ef9f27;box-shadow:0 3px 8px #ef9f273d}.ntpl-btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 14px #ef9f2752}.ntpl-btn-secondary{background:var(--bg-input);color:var(--text-primary);border-color:var(--border-input)}.ntpl-btn-secondary:hover:not(:disabled){border-color:var(--border-input-focus);background:var(--bg-hover)}.ntpl-btn-ghost{background:transparent;color:var(--text-secondary);border-color:var(--border-input)}.ntpl-btn-ghost:hover:not(:disabled){border-color:var(--border-input-focus);color:var(--text-primary);background:var(--bg-hover)}.ntpl-btn-add{background:var(--bg-input);color:#b05a0a;border-color:#ef9f2780}.ntpl-btn-add:hover:not(:disabled){background:#ef9f271f;border-color:#ef9f27}[data-theme=dark] .ntpl-btn-add{color:#f0bc6e}[data-theme=dark] .ntpl-btn-add:hover:not(:disabled){background:#ef9f272e}.ntpl-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 22px;border-top:1px solid var(--border-divider);background:var(--bg-card)}.ntpl-footer-right{display:inline-flex;gap:8px}.itpl-modal{width:860px}.itpl-modal .ntpl-tabs.itpl-tabs{display:flex;flex-direction:column;gap:6px}.itpl-group-label{font-size:11.5px;font-weight:700;color:var(--text-muted);letter-spacing:.02em}.itpl-tab-row{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.itpl-tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;margin-left:6px;border-radius:9px;background:#0000001f;color:inherit;font-size:10.5px;font-weight:700;font-variant-numeric:tabular-nums}.ntpl-tab.active .itpl-tab-count{background:#ffffff47}.itpl-current-banner{margin-bottom:10px;padding:8px 12px;border:1px solid rgba(239,159,39,.4);border-radius:8px;background:#ef9f2714;color:var(--text-secondary);font-size:12px;line-height:1.45}.itpl-current-banner strong{color:#b05a0a;font-weight:700}[data-theme=dark] .itpl-current-banner strong{color:#f0bc6e}.itpl-list{display:block}.itpl-table{width:100%;border-collapse:collapse;font-size:12.5px}.itpl-table thead th{position:sticky;top:0;z-index:1;padding:8px 10px;background:var(--bg-input);color:var(--text-muted);font-size:11.5px;font-weight:700;text-align:left;border-bottom:1px solid var(--border-divider);white-space:nowrap}.itpl-table tbody td{padding:8px 10px;border-bottom:1px solid var(--border-divider);color:var(--text-primary);vertical-align:top}.itpl-table tbody tr:hover td{background:var(--bg-hover)}.itpl-th-center,.itpl-td-center{text-align:center}.itpl-th-right,.itpl-td-right{text-align:right;font-variant-numeric:tabular-nums}.itpl-td-no{color:var(--text-muted);font-variant-numeric:tabular-nums}.itpl-td-name{font-weight:600}.itpl-td-desc{color:var(--text-secondary);word-break:break-word}.itpl-custom-tag{display:inline-block;margin-right:6px;padding:1px 5px;border-radius:5px;background:#ef9f2729;color:#b05a0a;font-size:10px;font-weight:700;vertical-align:middle}[data-theme=dark] .itpl-custom-tag{background:#ef9f2738;color:#f0bc6e}.qpv-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:1080;padding:16px}.qpv-modal{background:var(--bg-card);border:1px solid var(--border-card);border-radius:12px;width:1000px;max-width:92vw;height:92vh;display:flex;flex-direction:column;box-shadow:0 16px 48px #00000047;overflow:hidden}.qpv-head{display:flex;align-items:center;justify-content:space-between;padding:10px 14px 0;border-bottom:1px solid var(--border-divider);gap:12px}.qpv-tabs{display:flex;gap:4px}.qpv-tab{background:transparent;border:1px solid transparent;border-bottom:none;border-radius:8px 8px 0 0;padding:8px 18px;font-size:13px;font-weight:600;color:var(--text-secondary);cursor:pointer;font-family:inherit;transition:all .15s;margin-bottom:-1px}.qpv-tab:hover:not(.active):not(:disabled){color:var(--text-primary);background:var(--bg-hover)}.qpv-tab.active{color:var(--btn-primary-bg);background:var(--bg-card);border-color:var(--border-divider);border-bottom:1px solid var(--bg-card)}.qpv-tab:disabled{opacity:.55;cursor:not-allowed}.qpv-head-actions{display:inline-flex;align-items:center;gap:8px;padding-bottom:8px}.qpv-close{background:none;border:none;cursor:pointer;font-size:16px;color:var(--text-secondary);padding:4px 8px;border-radius:6px}.qpv-close:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.qpv-close:disabled{opacity:.5;cursor:not-allowed}.qpv-body{flex:1;background:#d8d8d8;overflow:auto;padding:8px 0}.qpv-doc-host{width:100%}.qpv-btn{padding:8px 16px;border-radius:0;font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s;border:1px solid transparent;white-space:nowrap}.qpv-btn:disabled{opacity:.55;cursor:not-allowed}.qpv-btn-primary{background:var(--btn-primary-bg);color:var(--btn-primary-text);border-color:var(--btn-primary-bg)}.qpv-btn-primary:hover:not(:disabled){background:var(--btn-primary-bg-hover);border-color:var(--btn-primary-bg-hover)}.qpv-btn-ghost{background:transparent;color:var(--text-secondary);border-color:var(--border-input)}.qpv-btn-ghost:hover:not(:disabled){border-color:var(--border-input-focus);color:var(--text-primary)}.quote-panel{display:flex;flex-direction:column;gap:14px;width:100%;max-width:1100px;margin:0 auto}.quote-load-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:9999;animation:quote-load-fade-in .15s ease-out}.quote-load-card{background:var(--bg-card);border:1px solid var(--border-card);border-radius:0;padding:22px 26px;min-width:320px;box-shadow:0 10px 30px #00000040;display:flex;flex-direction:column;gap:12px}.quote-load-title{font-size:14px;font-weight:700;color:var(--text-primary)}.quote-load-bar{width:100%;height:10px;border-radius:999px;background:#7f7f7f33;overflow:hidden}.quote-load-bar-fill{height:100%;background:linear-gradient(90deg,#3b82f6,#60a5fa);border-radius:999px;transition:width 50ms cubic-bezier(.22,1,.36,1);will-change:width}.quote-load-percent{font-size:12px;color:var(--text-secondary, #888);text-align:right;font-variant-numeric:tabular-nums}@keyframes quote-load-fade-in{0%{opacity:0}to{opacity:1}}.quote-card{background:var(--bg-card);border:1px solid var(--border-card);border-radius:0;padding:18px 22px;box-shadow:var(--shadow-card)}.quote-card-head{display:flex;align-items:center;gap:10px;margin-bottom:14px;flex-wrap:wrap}.quote-card-title{font-size:14px;font-weight:700;color:var(--text-primary)}.quote-card-actions{display:inline-flex;gap:6px}.quote-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border-radius:0;border:1px solid var(--border-input);background:var(--bg-input);color:var(--text-secondary);cursor:pointer;transition:all .15s}.quote-icon-btn:hover{border-color:var(--btn-primary-bg);color:var(--btn-primary-bg);background:var(--bg-card)}.quote-form-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px}.quote-form-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}@media(max-width:720px){.quote-form-grid,.quote-form-grid-3{grid-template-columns:1fr}}.quote-readonly-with-action{display:flex;align-items:stretch;gap:6px}.quote-readonly-with-action .quote-readonly-flex{flex:1;min-width:0}.quote-readonly-with-action .quote-icon-btn{height:auto;align-self:stretch;width:36px}.quote-field{display:flex;flex-direction:column;gap:6px}.quote-label{font-size:12px;font-weight:600;color:var(--text-secondary)}.quote-input{padding:9px 12px;border:1px solid var(--border-input);border-radius:8px;background:var(--bg-input);color:var(--text-primary);font-size:13px;font-family:inherit;outline:none;transition:border-color .15s;box-sizing:border-box;width:100%}.quote-input:focus{border-color:var(--border-input-focus)}.quote-readonly{padding:9px 12px;border:1px solid var(--border-input);border-radius:8px;background:var(--bg-input);color:var(--text-primary);font-size:13px;min-height:36px;box-sizing:border-box;width:100%;display:flex;align-items:center}.quote-readonly-empty{color:var(--text-muted);font-size:12px}.quote-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:0;border:none;cursor:pointer;font-family:inherit;font-size:12px;font-weight:600;transition:all .15s;white-space:nowrap}.quote-btn-primary{background:var(--btn-primary-bg);color:var(--btn-primary-text)}.quote-btn-primary:hover{background:var(--btn-primary-bg-hover)}.quote-btn-ghost{background:transparent;color:var(--text-secondary);border:1px solid var(--border-input)}.quote-btn-ghost:hover{border-color:var(--border-input-focus);color:var(--text-primary)}.quote-btn-danger{background:#e53e3e14;color:var(--danger, #e53e3e);border:1px solid rgba(229,62,62,.5)}.quote-btn-danger:hover{background:#e53e3e29;border-color:var(--danger, #e53e3e)}.quote-collapse-sub{font-size:12px;color:var(--text-muted)}.quote-company-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 24px;font-size:13px;line-height:1.6}@media(max-width:720px){.quote-company-grid{grid-template-columns:1fr}}.quote-company-row{display:flex;align-items:baseline;gap:10px}.quote-company-label{flex-shrink:0;width:78px;font-size:12px;font-weight:600;color:var(--text-secondary)}.quote-company-value{color:var(--text-primary);word-break:break-all}.quote-card-placeholder{text-align:center;padding:36px 20px;background:var(--bg-input);border-style:dashed}.quote-placeholder-text{color:var(--text-muted);font-size:13px}.quote-items-sub{font-size:12px;color:var(--text-muted)}.quote-amount-bar{display:flex;align-items:baseline;gap:10px;padding:18px 22px;background:linear-gradient(90deg,#ef9f271a,#ef9f270a);border:1px solid rgba(239,159,39,.42);border-radius:0;flex-wrap:wrap;box-shadow:var(--shadow-card)}.quote-action-bar{display:flex;flex-wrap:wrap;gap:8px;padding:14px 18px;background:var(--bg-card);border:1px solid var(--border-card);border-radius:0;box-shadow:var(--shadow-card);justify-content:flex-end}.quote-action-btn{display:inline-flex;align-items:center;gap:6px;padding:9px 16px;border-radius:0;border:1px solid transparent;cursor:pointer;font-family:inherit;font-size:13px;font-weight:600;transition:all .15s;white-space:nowrap}.quote-loaded-pill{display:inline-flex;align-items:stretch;margin-right:auto;max-width:420px;border:1px solid var(--link-color);border-radius:999px;overflow:hidden;background:color-mix(in srgb,var(--link-color) 10%,transparent)}.quote-loaded-pill-tag{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;background:var(--link-color);color:#fff;font-size:12px;font-weight:700;white-space:nowrap;flex-shrink:0}.quote-loaded-pill-tag svg{flex-shrink:0}.quote-loaded-pill-name{display:inline-flex;align-items:center;padding:5px 12px;font-size:13px;font-weight:600;color:var(--link-color);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.quote-action-btn svg{flex-shrink:0}.quote-action-btn:disabled{opacity:.55;cursor:not-allowed}.quote-action-btn:disabled:hover{background:var(--bg-input);color:var(--text-secondary);border-color:var(--border-input)}.quote-action-ghost{background:var(--bg-input);color:var(--text-secondary);border-color:var(--border-input)}.quote-action-ghost:hover{border-color:#ef9f2799;color:#b05a0a;background:#ef9f2714}[data-theme=dark] .quote-action-ghost:hover{border-color:#ef9f278c;color:#f0bc6e;background:#ef9f271f}.quote-action-primary{background:#1f7a3a;color:#fff;border-color:#1f7a3a}.quote-action-primary:hover{background:#196530;border-color:#196530}.quote-action-mail{background:#c0392b;color:#fff;border-color:#c0392b}.quote-action-mail:hover{background:#a0301e;border-color:#a0301e}.quote-action-danger{background:transparent;color:var(--danger, #e53e3e);border-color:#e53e3e80}.quote-action-danger:hover{background:#e53e3e14;border-color:var(--danger, #e53e3e)}@media(max-width:720px){.quote-action-bar{justify-content:stretch}.quote-action-btn{flex:1 1 calc(50% - 4px);justify-content:center}}.quote-notes-list{display:flex;flex-direction:column;gap:8px}.quote-notes-empty{padding:18px 14px;text-align:center;font-size:13px;color:var(--text-muted);background:var(--bg-input);border:1px dashed var(--border-input);border-radius:8px}.quote-note-row{display:flex;align-items:center;gap:10px}.quote-note-bullet{flex-shrink:0;width:14px;text-align:center;font-size:11px;color:#185fa5;font-weight:700}[data-theme=dark] .quote-note-bullet{color:#8fc0f0}.quote-note-input{flex:1;min-width:0;padding:9px 12px;border:1px solid var(--border-input);border-radius:8px;background:var(--bg-input);color:var(--text-primary);font-size:13px;font-family:inherit;outline:none;transition:border-color .15s}.quote-note-input:focus{border-color:var(--border-input-focus)}.quote-remark-row{align-items:flex-start}.quote-remark-textarea{resize:vertical;min-height:150px;line-height:1.5;font-family:inherit}.quote-remark-row .quote-row-remove{margin-top:4px}[data-theme=dark] .quote-amount-bar{background:linear-gradient(90deg,#ef9f272e,#ef9f2714);border-color:#ef9f2780}.quote-amount-label{font-size:14px;font-weight:700;color:#b05a0a;letter-spacing:.05em}[data-theme=dark] .quote-amount-label{color:#f0bc6e}.quote-amount-value{font-family:IBM Plex Mono,Consolas,monospace;font-variant-numeric:tabular-nums;font-size:26px;font-weight:700;color:#b05a0a;margin-left:auto}[data-theme=dark] .quote-amount-value{color:#f0bc6e}.quote-amount-unit{font-size:14px;color:#b05a0a}[data-theme=dark] .quote-amount-unit{color:#f0bc6e}.quote-amount-vat{font-size:12px;color:var(--text-muted)}.quote-items-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid rgba(239,159,39,.42);border-radius:0}[data-theme=dark] .quote-items-scroll{border-color:#ef9f2780}.quote-items-table{width:100%;min-width:880px;border-collapse:collapse;font-size:13px;table-layout:fixed}.quote-items-table thead th{background:#ef9f271f;padding:11px 14px;text-align:left;font-size:11px;color:#b05a0a;letter-spacing:.05em;font-weight:700;border-bottom:1px solid rgba(239,159,39,.42);border-right:1px solid rgba(239,159,39,.32);white-space:nowrap}.quote-items-table thead th:last-child{border-right:none}.quote-items-table thead th.th-center{text-align:center}.quote-items-table thead th.th-right{text-align:right}[data-theme=dark] .quote-items-table thead th{background:#ef9f272e;color:#f0bc6e;border-bottom-color:#ef9f2780;border-right-color:#ef9f2752}.quote-items-table tbody tr{border-bottom:1px solid var(--border-divider);transition:background .1s}.quote-items-table tbody tr:hover{background:var(--bg-hover)}.quote-items-table tbody tr:last-child{border-bottom:none}.quote-items-table tbody td{padding:0;border-right:1px solid var(--border-divider);vertical-align:middle;color:var(--text-primary)}.quote-items-table tbody td:last-child{border-right:none}.quote-items-table td.td-center{text-align:center}.quote-items-table td.td-right{text-align:right}.quote-td-no{color:var(--text-muted);font-family:IBM Plex Mono,Consolas,monospace;font-size:12px}.quote-cell-input{width:100%;padding:11px 14px;border:none;background:transparent;font-family:inherit;font-size:13px;color:var(--text-primary);outline:none;box-sizing:border-box}.quote-cell-input:focus{background:var(--bg-input)}.quote-cell-input:disabled{opacity:.55;cursor:not-allowed}.quote-cell-input.quote-cell-left{text-align:left}.quote-cell-input.quote-cell-center{text-align:center}.quote-cell-input.quote-cell-right{text-align:right;font-family:IBM Plex Mono,Consolas,monospace;font-variant-numeric:tabular-nums}select.quote-cell-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.quote-cell-row{display:flex;align-items:stretch;width:100%}.quote-cell-row>.quote-cell-input{flex:1;min-width:0}.quote-cell-revert{flex-shrink:0;width:30px;border:none;background:transparent;color:var(--text-muted);cursor:pointer;font-size:14px;line-height:1;padding:0;transition:color .12s,background .12s}.quote-cell-revert:hover{color:var(--text-primary);background:var(--bg-hover)}.quote-cell-readonly{padding:11px 14px;font-size:13px;color:var(--text-secondary);font-family:IBM Plex Mono,Consolas,monospace;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.quote-cell-readonly.quote-cell-left{text-align:left;font-family:inherit;color:var(--text-primary)}.quote-cell-readonly.quote-cell-right{text-align:right}.quote-cell-readonly.quote-cell-empty{color:var(--text-muted)}.quote-row-remove{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border:1px solid transparent;border-radius:0;background:transparent;color:var(--danger, #e53e3e);cursor:pointer;font-size:14px;line-height:1;transition:all .12s}.quote-row-remove:hover:not(:disabled){background:#e53e3e1a;border-color:#e53e3e66}.quote-row-remove:disabled{opacity:.35;cursor:not-allowed}.quote-items-total-row td{padding:11px 12px;background:#ef9f2714;font-weight:700;font-size:13px;color:#b05a0a;font-family:IBM Plex Mono,Consolas,monospace;font-variant-numeric:tabular-nums;border-top:2px solid rgba(239,159,39,.42)!important}[data-theme=dark] .quote-items-total-row td{background:#ef9f271a;color:#f0bc6e;border-top-color:#ef9f2780!important}.quote-items-total-row td:first-child{font-family:inherit}@media(max-width:720px){.quote-card{padding:14px 12px}.quote-amount-bar{padding:14px;gap:8px}.quote-amount-value{font-size:22px}.quote-card-actions{margin-left:0!important}}.ritem-toolbar{display:flex;align-items:center;gap:10px;margin-bottom:14px;flex-wrap:wrap}.ritem-search-wrap{display:flex;align-items:center;gap:6px;flex:1;min-width:200px;max-width:400px}.ritem-search-input{flex:1;padding:8px 12px;border:1px solid var(--border-input);border-radius:0;background:var(--bg-input);color:var(--text-primary);font-size:14px;font-family:inherit;transition:border-color .15s}.ritem-search-input:focus{outline:none;border-color:var(--border-input-focus)}.ritem-search-input::placeholder{color:var(--text-placeholder)}.ritem-filter-group{display:inline-flex;border:1px solid var(--border-input)}.ritem-filter-btn{padding:8px 18px;border:none;background:transparent;color:var(--text-secondary);font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s,color .15s}.ritem-filter-btn+.ritem-filter-btn{border-left:1px solid var(--border-input)}.ritem-filter-btn:hover:not(.active){color:var(--text-primary);background:#378add14}.ritem-filter-btn.active{background:var(--btn-primary-bg);color:var(--btn-primary-text)}.ritem-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:0;border:none;cursor:pointer;font-family:inherit;font-size:13px;font-weight:600;transition:all .15s;white-space:nowrap}.ritem-btn:disabled{opacity:.5;cursor:not-allowed}.ritem-btn-primary{background:var(--btn-primary-bg);color:var(--btn-primary-text)}.ritem-btn-primary:hover:not(:disabled){background:var(--btn-primary-bg-hover)}.ritem-btn-icon{width:14px;height:14px;vertical-align:middle}.ritem-btn-ghost{background:transparent;color:var(--text-secondary);border:1px solid var(--border-input)}.ritem-btn-ghost:hover:not(:disabled){border-color:var(--border-input-focus);color:var(--text-primary)}.ritem-btn-warning-solid{background:#ef9f27;color:#fff;border:1px solid #EF9F27}.ritem-btn-warning-solid:hover:not(:disabled){background:#d78a1e;border-color:#d78a1e}.ritem-btn-danger-solid{background:var(--danger, #e53e3e);color:#fff;border:1px solid var(--danger, #e53e3e)}.ritem-btn-danger-solid:hover:not(:disabled){background:#c53030;border-color:#c53030}.ritem-btn-sm{padding:4px 10px;font-size:11px}.ritem-table-wrap{background:var(--bg-card);border:1px solid var(--border-card);border-radius:0;overflow:hidden;box-shadow:var(--shadow-card)}.ritem-table-header{padding:16px 24px;border-bottom:1px solid var(--border-card);display:flex;align-items:center;gap:10px}.ritem-table-title{font-size:15px;font-weight:700;color:var(--text-primary)}.ritem-table-sub{font-size:12px;color:var(--text-muted)}.ritem-table-scroll{overflow-x:auto}.ritem-table{width:100%;border-collapse:collapse;font-size:13px}.ritem-table thead th{background:#e6f1fb;padding:11px 14px;text-align:left;font-size:11px;color:#185fa5;letter-spacing:.05em;font-weight:700;border-bottom:1px solid #B5D4F4;border-right:1px solid var(--border-divider);white-space:nowrap}.ritem-table thead th:last-child{border-right:none}.ritem-table thead th.th-center{text-align:center}.ritem-table thead th.th-right{text-align:right}[data-theme=dark] .ritem-table thead th{background:#378add2e;color:#8fc0f0;border-bottom-color:#378add59}.ritem-table thead th.ritem-th-sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .12s}.ritem-table thead th.ritem-th-sortable:hover{background:#d6e8f8}[data-theme=dark] .ritem-table thead th.ritem-th-sortable:hover{background:#378add47}.ritem-th-label{display:inline-flex;align-items:center;gap:4px}.ritem-th-label-right{width:100%;justify-content:flex-end}.ritem-sort-icon{font-size:10px;line-height:1}.ritem-sort-inactive{opacity:.35}.ritem-table tbody tr{border-bottom:1px solid var(--border-divider);transition:background .1s}.ritem-table tbody tr:hover{background:var(--bg-hover)}.ritem-table tbody tr:last-child{border-bottom:none}.ritem-table td{padding:11px 14px;vertical-align:middle;border-right:1px solid var(--border-divider);color:var(--text-primary)}.ritem-table td:last-child{border-right:none}.ritem-table td.td-center{text-align:center}.ritem-table td.td-right{text-align:right}.ritem-td-no{color:var(--text-muted);font-family:IBM Plex Mono,Consolas,monospace;font-size:12px;width:60px}.ritem-td-name{font-weight:600;min-width:220px}.ritem-td-spec{color:var(--text-secondary);white-space:nowrap}.ritem-td-price{font-family:IBM Plex Mono,Consolas,monospace;font-variant-numeric:tabular-nums;white-space:nowrap}.ritem-td-desc{color:var(--text-secondary);font-size:12.5px;max-width:280px}.ritem-td-actions{display:inline-flex;gap:4px;white-space:nowrap}.ritem-empty{padding:56px 20px!important;text-align:center;color:var(--text-muted);font-size:14px}.ritem-tag{display:inline-block;font-size:11px;font-weight:600;padding:2px 9px;border-radius:0;letter-spacing:.02em;white-space:nowrap}.ritem-tag-edit{background:#e6f1fb;color:#185fa5}.ritem-tag-fix{background:#fceedc;color:#b05a0a}[data-theme=dark] .ritem-tag-edit{background:#378add38;color:#8fc0f0}[data-theme=dark] .ritem-tag-fix{background:#ef9f2738;color:#f0bc6e}.ritem-tag-rental{background:#e8f5e9;color:#1b5e20}.ritem-tag-supply{background:#ede7f6;color:#4527a0}[data-theme=dark] .ritem-tag-rental{background:#4caf5038;color:#a5d6a7}[data-theme=dark] .ritem-tag-supply{background:#9575cd38;color:#b39ddb}.ritem-form-input-readonly,.ritem-form-input-readonly:focus{background:#e9ecef;color:#6c757d;border:1px solid #ced4da;cursor:not-allowed;font-weight:600;opacity:1}[data-theme=dark] .ritem-form-input-readonly,[data-theme=dark] .ritem-form-input-readonly:focus{background:#ffffff0f;color:var(--text-muted);border-color:var(--border-divider)}.ritem-form-readonly-hint{margin-left:6px;font-size:11px;font-weight:400;color:var(--text-muted)}.ritem-pagination{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:14px 24px;border-top:1px solid var(--border-divider)}.ritem-page-total{font-size:12px;color:var(--text-secondary)}.ritem-page-buttons{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.ritem-page-btn{min-width:30px;height:30px;padding:0 8px;border:1px solid var(--border-input);border-radius:0;background:var(--bg-input);color:var(--text-secondary);font-size:12px;font-family:inherit;cursor:pointer;transition:all .12s}.ritem-page-btn:hover:not(:disabled){border-color:var(--border-input-focus);color:var(--text-primary)}.ritem-page-btn:disabled{opacity:.4;cursor:not-allowed}.ritem-page-btn.active{background:var(--btn-primary-bg);color:var(--btn-primary-text);border-color:var(--btn-primary-bg)}.ritem-page-info{font-size:12px;color:var(--text-muted);margin-left:8px}.ritem-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.ritem-modal{background:var(--bg-card);border:1px solid var(--border-card);border-radius:0;width:560px;max-width:96vw;max-height:92vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 16px 48px #00000038}.ritem-modal-head{display:flex;align-items:center;justify-content:space-between;padding:18px 24px 14px;border-bottom:1px solid var(--border-divider)}.ritem-modal-title{font-size:16px;font-weight:700;color:var(--text-primary)}.ritem-modal-close{background:none;border:none;cursor:pointer;font-size:16px;color:var(--text-secondary);padding:4px 8px;border-radius:0}.ritem-modal-close:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.ritem-form{padding:18px 24px;display:flex;flex-direction:column;gap:14px;overflow-y:auto}.ritem-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.ritem-form-group{display:flex;flex-direction:column;gap:6px}.ritem-form-label{font-size:12px;font-weight:600;color:var(--text-secondary)}.ritem-form-label .required{color:var(--danger, #e53e3e);margin-left:2px}.ritem-form-input,.ritem-form-textarea,.ritem-form-select{width:100%;padding:9px 12px;border:1px solid var(--border-input);border-radius:0;background:var(--bg-input);color:var(--text-primary);font-size:13px;font-family:inherit;transition:border-color .15s;box-sizing:border-box}.ritem-form-input:focus,.ritem-form-textarea:focus,.ritem-form-select:focus{outline:none;border-color:var(--border-input-focus)}.ritem-form-input:disabled{opacity:.55;cursor:not-allowed}.ritem-form-textarea{resize:vertical;min-height:64px;line-height:1.5}.ritem-form-hint{font-size:11.5px;color:var(--text-muted);margin:0;line-height:1.5}.ritem-modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:14px 24px;border-top:1px solid var(--border-divider)}.ritem-confirm{width:420px}.ritem-confirm-body{padding:22px 24px}.ritem-confirm-text{font-size:14px;color:var(--text-primary);line-height:1.6;margin:0 0 6px}.ritem-confirm-sub{font-size:12px;color:var(--text-muted);margin:0}.ritem-order-modal{width:560px;max-width:94vw;display:flex;flex-direction:column;max-height:86vh}.ritem-order-tabs{display:flex;padding:0 16px;border-bottom:1px solid var(--border-card)}.ritem-order-tab{padding:11px 22px;border:none;background:transparent;color:var(--text-secondary);font-family:inherit;font-size:14px;font-weight:600;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .15s,border-color .15s}.ritem-order-tab:hover:not(.active):not(:disabled){color:var(--text-primary)}.ritem-order-tab.active{color:#378add;border-bottom-color:#378add}.ritem-order-tab:disabled{cursor:not-allowed}.ritem-order-hint{padding:12px 24px;font-size:12px;line-height:1.6;color:var(--text-muted);border-bottom:1px solid var(--border-card)}.ritem-order-list{flex:1;overflow-y:auto;padding:8px 16px}.ritem-order-empty{padding:40px 0;text-align:center;color:var(--text-muted);font-size:14px}.ritem-order-row{display:flex;align-items:center;gap:10px;padding:9px 10px;border:1px solid var(--border-card);background:var(--bg-input);margin-bottom:6px;cursor:grab;transition:border-color .12s,opacity .12s,box-shadow .12s}.ritem-order-row:hover{border-color:var(--border-input-focus)}.ritem-order-row.dragging{opacity:.4}.ritem-order-row.over{box-shadow:inset 0 2px #378add}.ritem-order-name{flex:1;font-size:14px;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ritem-order-spec{font-size:12px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px}.ritem-drag-handle{display:inline-flex;align-items:center;justify-content:center;width:22px;color:var(--text-muted);font-size:16px;line-height:1;flex-shrink:0}.rental-toolbar{display:flex;align-items:center;gap:10px;margin-bottom:14px;flex-wrap:wrap}.rental-search-wrap{display:flex;align-items:center;gap:6px;flex:0 1 400px;min-width:200px;max-width:400px}.rental-toolbar-spacer{flex:1}.rental-search-input{flex:1;padding:8px 12px;border:1px solid var(--border-input);border-radius:8px;background:var(--bg-input);color:var(--text-primary);font-size:14px;font-family:inherit;transition:border-color .15s}.rental-search-input:focus{outline:none;border-color:var(--border-input-focus)}.rental-search-input::placeholder{color:var(--text-placeholder)}.rental-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:8px;border:none;cursor:pointer;font-family:inherit;font-size:13px;font-weight:600;transition:all .15s;white-space:nowrap}.rental-btn:disabled{opacity:.5;cursor:not-allowed}.rental-btn-primary{background:var(--btn-primary-bg);color:var(--btn-primary-text)}.rental-btn-primary:hover:not(:disabled){background:var(--btn-primary-bg-hover)}.rental-btn-ghost{background:transparent;color:var(--text-secondary);border:1px solid var(--border-input)}.rental-btn-ghost:hover:not(:disabled){border-color:var(--border-input-focus);color:var(--text-primary)}.rental-btn-warning-solid{background:#ef9f27;color:#fff;border:1px solid #EF9F27}.rental-btn-warning-solid:hover:not(:disabled){background:#d78a1e;border-color:#d78a1e}.rental-btn-danger-solid{background:var(--danger, #e53e3e);color:#fff;border:1px solid var(--danger, #e53e3e)}.rental-btn-danger-solid:hover:not(:disabled){background:#c53030;border-color:#c53030}.rental-btn-sm{padding:4px 10px;font-size:11px}.rental-btn-soft{background:var(--bg-input);color:var(--text-primary);border:1px solid var(--border-input)}.rental-btn-soft:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-input-focus)}.rental-btn-soft-danger{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}.rental-btn-soft-danger:hover:not(:disabled){background:#fee2e2;border-color:#fca5a5}[data-theme=dark] .rental-btn-soft-danger{background:#ef44441f;color:#fca5a5;border-color:#ef444459}[data-theme=dark] .rental-btn-soft-danger:hover:not(:disabled){background:#ef444433;border-color:#ef444480}.rental-td-name-stack{display:flex;flex-direction:column;gap:4px;min-width:160px}.rental-td-name-stack .rental-td-name{font-weight:600}.rental-td-code-small{font-size:11px;color:var(--text-muted);font-family:IBM Plex Mono,Consolas,monospace}.rental-td-amount-strong{font-weight:600}.rental-table-wrap{background:var(--bg-card);border:1px solid var(--border-card);border-radius:14px;overflow:hidden;box-shadow:var(--shadow-card)}.rental-table-header{padding:16px 24px;border-bottom:1px solid var(--border-card);display:flex;align-items:center;gap:10px}.rental-table-title{font-size:15px;font-weight:700;color:var(--text-primary)}.rental-table-sub{font-size:12px;color:var(--text-muted)}.rental-table-scroll{overflow-x:auto}.rental-table{width:100%;border-collapse:collapse;font-size:13px}.rental-table thead th{background:#f8fafc;padding:11px 14px;text-align:left;font-size:11px;color:#475569;letter-spacing:.05em;font-weight:700;border-bottom:1px solid var(--border-divider);border-right:1px solid var(--border-divider);white-space:nowrap}.rental-table thead th:last-child{border-right:none}.rental-table thead th.th-center{text-align:center}.rental-table thead th.th-right{text-align:right}[data-theme=dark] .rental-table thead th{background:#94a3b81a;color:#cbd5e1;border-bottom-color:var(--border-divider)}.rental-table tbody tr{border-bottom:1px solid var(--border-divider);transition:background .1s}.rental-table tbody tr:hover{background:var(--bg-hover)}.rental-table tbody tr:last-child{border-bottom:none}.rental-table td{padding:11px 14px;vertical-align:middle;border-right:1px solid var(--border-divider);color:var(--text-primary);white-space:nowrap}.rental-table td:last-child{border-right:none}.rental-table td.td-center{text-align:center}.rental-table td.td-right{text-align:right}.rental-td-no{color:var(--text-muted);font-family:IBM Plex Mono,Consolas,monospace;font-size:12px;width:60px}.rental-td-code{color:var(--text-secondary);font-family:IBM Plex Mono,Consolas,monospace;font-size:12px}.rental-td-name{font-weight:600;min-width:160px}.rental-td-phone,.rental-td-date,.rental-td-num{font-family:IBM Plex Mono,Consolas,monospace;font-variant-numeric:tabular-nums}.rental-unpaid,.rental-table td.rental-unpaid,.rental-table td .rental-unpaid{color:#b91c1c;font-weight:700}[data-theme=dark] .rental-unpaid,[data-theme=dark] .rental-table td.rental-unpaid,[data-theme=dark] .rental-table td .rental-unpaid{color:#fca5a5}.rental-td-actions{display:inline-flex;gap:4px;white-space:nowrap}.rental-empty{padding:56px 20px!important;text-align:center;color:var(--text-muted);font-size:14px}.rental-pagination{position:relative;display:flex;justify-content:center;align-items:center;padding:14px 24px;border-top:1px solid var(--border-divider)}.rental-page-total{position:absolute;left:24px;font-size:12px;color:var(--text-secondary)}.rental-page-buttons{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.rental-page-btn{min-width:30px;height:30px;padding:0 8px;border:1px solid var(--border-input);border-radius:6px;background:var(--bg-input);color:var(--text-secondary);font-size:12px;font-family:inherit;cursor:pointer;transition:all .12s}.rental-page-btn:hover:not(:disabled){border-color:var(--border-input-focus);color:var(--text-primary)}.rental-page-btn:disabled{opacity:.4;cursor:not-allowed}.rental-page-btn.active{background:var(--btn-primary-bg);color:var(--btn-primary-text);border-color:var(--btn-primary-bg)}.rental-page-info{font-size:12px;color:var(--text-muted);margin-left:8px}.rental-page-size{position:absolute;right:24px;display:flex;align-items:center;gap:6px}.rental-page-size-label{font-size:12px;color:var(--text-secondary)}.rental-page-size-select{height:30px;padding:0 8px;border:1px solid var(--border-input);border-radius:6px;background:var(--bg-input);color:var(--text-primary);font-size:12px;font-family:inherit;cursor:pointer;transition:border-color .12s}.rental-page-size-select:hover{border-color:var(--border-input-focus)}.rental-page-size-select:focus{outline:none;border-color:var(--border-input-focus)}.rental-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.rental-modal{background:var(--bg-card);border:1px solid var(--border-card);border-radius:12px;width:560px;max-width:96vw;max-height:92vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 16px 48px #00000038}.rental-modal-form{width:920px}.rental-modal-head{display:flex;align-items:center;justify-content:space-between;padding:18px 24px 14px;border-bottom:1px solid var(--border-divider)}.rental-modal-title{font-size:16px;font-weight:700;color:var(--text-primary)}.rental-modal-close{background:none;border:none;cursor:pointer;font-size:16px;color:var(--text-secondary);padding:4px 8px;border-radius:6px}.rental-modal-close:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.rental-modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:14px 24px;border-top:1px solid var(--border-divider)}.rental-form{padding:18px 24px 8px;display:flex;flex-direction:column;gap:18px;flex:1 1 auto;min-height:0;overflow-y:auto}.rental-form-section{border:1px solid var(--border-card);border-radius:10px;overflow:hidden;background:var(--bg-card);flex-shrink:0}.rental-form-section-title{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:var(--text-primary);padding:11px 16px;background:var(--bg-hover);border-bottom:1px solid var(--border-divider);letter-spacing:.02em}.rental-form-section-bar{display:inline-block;width:3px;height:14px;background:var(--btn-primary-bg, #3b82f6);border-radius:2px}.rental-form-section-sub{font-size:11px;font-weight:500;color:var(--text-muted);margin-left:2px}.rental-form-section-body{padding:14px 16px;display:flex;flex-direction:column;gap:12px}.rental-form-row-3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.rental-form-row-4{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}@media(max-width:768px){.rental-form-row-3,.rental-form-row-4{grid-template-columns:1fr 1fr}}@media(max-width:480px){.rental-form-row-3,.rental-form-row-4{grid-template-columns:1fr}}.rental-form-group{display:flex;flex-direction:column;gap:6px}.rental-form-label{font-size:12px;font-weight:600;color:var(--text-secondary)}.rental-form-label .required{color:var(--danger, #e53e3e);margin-left:2px}.rental-checkbox-label{display:inline-flex;align-items:center;gap:6px}.rental-checkbox-label input[type=checkbox]{width:14px;height:14px;margin:0;cursor:pointer}.rental-form-input,.rental-form-textarea,.rental-form-select{width:100%;padding:9px 12px;border:1px solid var(--border-input);border-radius:8px;background:var(--bg-input);color:var(--text-primary);font-size:13px;font-family:inherit;transition:border-color .15s;box-sizing:border-box}.rental-form-input:focus,.rental-form-textarea:focus,.rental-form-select:focus{outline:none;border-color:var(--border-input-focus)}.rental-form-input:disabled{opacity:.55;cursor:not-allowed}.rental-form-input-error,.rental-form-input-error:focus{border-color:var(--danger, #e53e3e);background:#e53e3e0f}.rental-form-textarea{resize:vertical;min-height:64px;line-height:1.5}.rental-confirm{width:420px}.rental-confirm-body{padding:22px 24px}.rental-confirm-text{font-size:14px;color:var(--text-primary);line-height:1.6;margin:0 0 6px}.rental-confirm-sub{font-size:12px;color:var(--text-muted);margin:0}.rental-register-wrap{display:flex;justify-content:center}.rental-form-card{width:100%;max-width:1100px;background:var(--bg-card);border:1px solid var(--border-card);border-radius:14px;overflow:hidden;box-shadow:var(--shadow-card)}.rental-form-card-head{padding:16px 24px;border-bottom:1px solid var(--border-card);display:flex;align-items:baseline;gap:10px}.rental-form-card-title{font-size:15px;font-weight:700;color:var(--text-primary)}.rental-form-card-sub{font-size:12px;color:var(--text-muted)}.rental-form-card-footer{display:flex;justify-content:flex-end;gap:8px;padding:14px 24px;border-top:1px solid var(--border-divider)}.rental-placeholder{background:var(--bg-card);border:1px solid var(--border-card);border-radius:14px;box-shadow:var(--shadow-card);padding:80px 24px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px}.rental-placeholder-icon{font-size:44px;opacity:.55;margin-bottom:4px}.rental-placeholder-title{font-size:16px;font-weight:700;color:var(--text-primary)}.rental-placeholder-desc{font-size:13px;color:var(--text-muted)}.rental-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:14px}@media(max-width:720px){.rental-stat-grid{grid-template-columns:1fr}}.rental-stat-card{background:var(--bg-card);border:1px solid var(--border-card);border-top:3px solid var(--border-card);border-radius:12px;padding:14px 16px;box-shadow:var(--shadow-card)}.rental-stat-card.red{border-top-color:#ef4444}.rental-stat-card.amber{border-top-color:#f59e0b}.rental-stat-card.blue{border-top-color:#185fa5}.rental-stat-card.green{border-top-color:#3b6d11}.rental-stat-card.purple{border-top-color:#8b5cf6}[data-theme=dark] .rental-stat-card.red{border-top-color:#f87171}[data-theme=dark] .rental-stat-card.amber{border-top-color:#fbbf24}[data-theme=dark] .rental-stat-card.blue{border-top-color:#8fc0f0}[data-theme=dark] .rental-stat-card.green{border-top-color:#b5d88a}[data-theme=dark] .rental-stat-card.purple{border-top-color:#c4b5fd}.rental-stat-label{font-size:12px;color:var(--text-secondary);margin-bottom:6px}.rental-stat-value{font-size:24px;font-weight:700;color:var(--text-primary);font-variant-numeric:tabular-nums;line-height:1.2}.rental-stat-value.red{color:#b91c1c}.rental-stat-value.amber{color:#b45309}.rental-stat-value.blue{color:#185fa5}.rental-stat-value.green{color:#3b6d11}.rental-stat-value.purple{color:#6d28d9}[data-theme=dark] .rental-stat-value.red{color:#fca5a5}[data-theme=dark] .rental-stat-value.amber{color:#fcd34d}[data-theme=dark] .rental-stat-value.blue{color:#8fc0f0}[data-theme=dark] .rental-stat-value.green{color:#b5d88a}[data-theme=dark] .rental-stat-value.purple{color:#c4b5fd}.rental-stat-sub{font-size:11px;color:var(--text-muted);margin-top:6px}.rental-chip-bar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.rental-chip{padding:7px 14px;border-radius:20px;font-size:12px;font-weight:600;cursor:pointer;background:var(--bg-card);color:var(--text-secondary);border:1px solid var(--border-input);transition:all .15s;font-family:inherit}.rental-chip:hover{border-color:var(--border-input-focus);color:var(--text-primary)}.rental-chip.active{background:var(--btn-primary-bg);color:var(--btn-primary-text);border-color:var(--btn-primary-bg)}.rental-badge{display:inline-flex;align-items:center;padding:3px 9px;border-radius:20px;font-size:11px;font-weight:600;white-space:nowrap}.rental-badge-blue{background:#eff6ff;color:#1d4ed8}.rental-badge-green{background:#f0fdf4;color:#15803d}.rental-badge-red{background:#fef2f2;color:#b91c1c}.rental-badge-amber{background:#fffbeb;color:#b45309}.rental-badge-purple{background:#faf5ff;color:#6d28d9}.rental-badge-gray{background:#f8fafc;color:#475569;border:1px solid var(--border-input)}[data-theme=dark] .rental-badge-blue{background:#3b82f62e;color:#93c5fd}[data-theme=dark] .rental-badge-green{background:#22c55e2e;color:#86efac}[data-theme=dark] .rental-badge-red{background:#ef44442e;color:#fca5a5}[data-theme=dark] .rental-badge-amber{background:#f59e0b2e;color:#fcd34d}[data-theme=dark] .rental-badge-purple{background:#8b5cf62e;color:#c4b5fd}[data-theme=dark] .rental-badge-gray{background:#94a3b826;color:#cbd5e1}.rental-paid{color:#15803d;font-weight:600}[data-theme=dark] .rental-paid{color:#86efac}.rental-dash-head{display:flex;justify-content:flex-start;align-items:center;margin-bottom:16px;gap:12px;flex-wrap:wrap}.rental-dash-title{margin:0;font-size:18px;font-weight:700;color:var(--text-primary)}.rental-dash-sub{margin:4px 0 0;font-size:13px;color:var(--text-muted)}.rental-dash-year{padding:7px 12px;border:1px solid var(--border-input);border-radius:8px;background:var(--bg-input);color:var(--text-primary);font-size:13px;font-family:inherit;cursor:pointer}.rental-dash-year-stepper{display:inline-flex;align-items:stretch;height:38px;padding:0;border:1px solid var(--border-input);border-radius:4px;background:var(--bg-input);overflow:hidden}[data-theme=dark] .rental-dash-year-stepper{background:var(--bg-input)}.rental-dash-year-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;border-right:1px solid var(--border-input);background:linear-gradient(135deg,#3b82f6,#8b5cf6);color:#fff}.rental-dash-year-meta{display:flex;align-items:center}.rental-dash-year-controls{display:inline-flex;align-items:stretch;height:100%}.rental-dash-year-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;padding:0;border:none;border-radius:0;background:transparent;color:var(--text-muted);font-size:11px;font-family:inherit;cursor:pointer;transition:background-color .15s,color .15s}.rental-dash-year-btn:hover{background:#3b82f61f;color:#3b82f6}.rental-dash-year-value{display:inline-flex;align-items:center;justify-content:center;min-width:70px;padding:0 6px;border-left:1px solid var(--border-input);border-right:1px solid var(--border-input);font-size:14px;font-weight:700;color:var(--text-primary);letter-spacing:-.01em}.rental-dash-year-value em{margin-left:2px;font-size:11px;font-weight:500;font-style:normal;color:var(--text-muted)}.rental-dash-year-today{padding:0 12px;border:none;border-left:1px solid var(--border-input);border-radius:0;background:#3b82f614;color:#3b82f6;font-size:12px;font-weight:600;font-family:inherit;cursor:pointer;transition:background-color .15s,color .15s}.rental-dash-year-today:hover{background:#3b82f6;color:#fff}.rental-dash-csv-group{display:inline-flex;align-items:center;gap:8px;margin-left:auto}.rental-dash-csv-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:38px;padding:0 14px;border:1px solid var(--border-input);border-radius:4px;background:var(--bg-input);color:var(--text-primary);font-size:13px;font-weight:600;font-family:inherit;cursor:pointer;transition:background-color .15s,color .15s,border-color .15s}.rental-dash-csv-btn.import{color:#8b5cf6;border-color:#8b5cf666;background:#8b5cf614}.rental-dash-csv-btn.import:hover{background:#8b5cf6;color:#fff;border-color:#8b5cf6}.rental-dash-csv-btn.export{color:#22c55e;border-color:#22c55e66;background:#22c55e14}.rental-dash-csv-btn.export:hover{background:#22c55e;color:#fff;border-color:#22c55e}.rental-tabs{display:flex;gap:4px;background:var(--bg-input);padding:4px;border-radius:10px;margin-bottom:16px;flex-wrap:wrap}.rental-tab{padding:8px 16px;border-radius:7px;border:none;background:transparent;font-size:13px;font-weight:600;cursor:pointer;color:var(--text-secondary);transition:all .15s;font-family:inherit;white-space:nowrap}.rental-tab:hover:not(.active){color:var(--text-primary)}.rental-tab.active{background:var(--bg-card);color:var(--text-primary);box-shadow:0 1px 3px #00000014}.rental-chart-row{display:grid;gap:14px;margin-bottom:14px}@media(max-width:900px){.rental-chart-row{grid-template-columns:1fr!important}}.rental-chart-card{background:var(--bg-card);border:1px solid var(--border-card);border-radius:12px;box-shadow:var(--shadow-card);overflow:hidden}.rental-chart-head{padding:14px 18px;border-bottom:1px solid var(--border-divider);font-size:14px;font-weight:700;color:var(--text-primary)}.rental-chart-body{padding:16px 18px;height:280px;position:relative}.combo-box{position:relative;width:100%}.combo-box-input{width:100%;padding-right:30px;box-sizing:border-box}.combo-box-toggle{position:absolute;top:0;right:0;height:100%;width:30px;display:flex;align-items:center;justify-content:center;padding:0;border:none;background:transparent;color:var(--text-muted);cursor:pointer}.combo-box-toggle:hover:not(:disabled){color:var(--text-primary)}.combo-box-toggle:disabled{cursor:not-allowed;opacity:.5}.combo-box-menu{position:fixed;z-index:2000;margin:0;padding:4px;list-style:none;overflow-y:auto;background:var(--bg-card);border:1px solid var(--border-input);border-radius:8px;box-shadow:0 8px 24px #0000002e}.combo-box-option{padding:8px 10px;font-size:13px;color:var(--text-primary);border-radius:6px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.combo-box-option.highlight{background:var(--bg-hover)}.combo-box-option.selected{font-weight:600}.supply-region-filter{display:inline-flex;gap:2px;padding:4px;border:1px solid var(--border-input);border-radius:12px;background:var(--bg-input)}.supply-region-btn{padding:9px 26px;border:none;border-radius:9px;background:transparent;color:var(--text-secondary);font-family:inherit;font-size:14px;font-weight:600;cursor:pointer;transition:all .15s;white-space:nowrap}.supply-region-btn:hover:not(.active){color:var(--text-primary);background:var(--bg-hover)}.supply-region-btn.active{background:var(--btn-primary-bg);color:var(--btn-primary-text)}.supply-kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.supply-kpi-grid.cols-5{grid-template-columns:repeat(5,1fr)}@media(max-width:900px){.supply-kpi-grid,.supply-kpi-grid.cols-5{grid-template-columns:repeat(2,1fr)}}.supply-total-row td{background:var(--bg-input);border-top:2px solid var(--border-divider)}.supply-kpi-card{position:relative;overflow:hidden;background:var(--bg-card);border:1px solid var(--border-card);border-radius:12px;padding:16px 18px}.supply-kpi-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:#9b9b9b}.supply-kpi-card.kpi-blue:before{background:#2f7fd6}.supply-kpi-card.kpi-green:before{background:#2d9e4f}.supply-kpi-card.kpi-amber:before{background:#d08700}.supply-kpi-card.kpi-red:before{background:#e24b4a}.supply-kpi-card.kpi-gray:before{background:#9b9b9b}.supply-kpi-card.kpi-blue .supply-kpi-value{color:#2f7fd6}.supply-kpi-card.kpi-green .supply-kpi-value{color:#2d9e4f}.supply-kpi-card.kpi-amber .supply-kpi-value{color:#d08700}.supply-kpi-card.kpi-red .supply-kpi-value{color:#e24b4a}.supply-kpi-label{font-size:12px;font-weight:600;color:var(--text-secondary);margin-bottom:8px}.supply-kpi-value{font-size:22px;font-weight:700;color:var(--text-primary);font-variant-numeric:tabular-nums;letter-spacing:-.02em}.supply-kpi-value.accent{color:var(--btn-primary-bg)}.supply-kpi-sub{font-size:11px;color:var(--text-muted);margin-top:4px}.supply-section{background:var(--bg-card);border:1px solid var(--border-card);border-radius:12px;overflow:hidden;margin-bottom:16px}.supply-section-head{padding:12px 18px;border-bottom:1px solid var(--border-divider);display:flex;align-items:center;gap:10px}.supply-section-title{font-size:13px;font-weight:700;color:var(--text-primary)}.supply-section-sub{font-size:11.5px;color:var(--text-muted)}.supply-section-body{padding:14px 18px}.supply-year-block{margin-bottom:18px}.supply-year-block:last-child{margin-bottom:0}.supply-year-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding-bottom:8px;margin-bottom:10px;border-bottom:2px solid var(--border-divider)}.supply-year-title{font-size:15px;font-weight:700;color:var(--text-primary)}.supply-year-meta{font-size:12.5px;color:var(--text-secondary);font-variant-numeric:tabular-nums}.supply-year-meta b{color:var(--btn-primary-bg)}.supply-badge-row{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}.supply-loading{padding:40px;text-align:center;color:var(--text-muted);font-size:13px}.rental-form-row-2{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.supply-kpi-grid.cols-4{grid-template-columns:repeat(4,1fr)}.as-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:10px}.as-photo-thumb{position:relative;aspect-ratio:1;border-radius:8px;overflow:hidden;border:1px solid var(--border-input, #e0ddd6);background:var(--bg-muted, #f0eeea)}.as-photo-thumb img{width:100%;height:100%;object-fit:cover;display:block}.as-photo-del{position:absolute;top:4px;right:4px;background:#0a0a08a6;color:#fff;border:none;border-radius:99px;width:22px;height:22px;font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center}.as-photo-add{aspect-ratio:1;border:2px dashed var(--border-input, #ccc9c0);border-radius:8px;background:transparent;color:var(--text-muted, #9e9b93);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;transition:all .15s}.as-photo-add:hover{border-color:var(--primary, #1a5fb4);color:var(--primary, #1a5fb4)}.as-photo-cell{display:flex;flex-direction:column;gap:6px}.as-photo-save{border:1px solid var(--border-input, #ccc9c0);background:var(--bg-input, #fff);color:var(--text-secondary, #6b6860);font-size:11px;padding:5px 0;border-radius:6px;cursor:pointer;transition:all .12s}.as-photo-save:hover{border-color:var(--primary, #1a5fb4);color:var(--primary, #1a5fb4)}.as-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3000;background:#000000d1;display:flex;align-items:center;justify-content:center;padding:24px}.as-lightbox-inner{display:flex;flex-direction:column;gap:12px;align-items:center;max-width:94vw;max-height:94vh}.as-lightbox-inner img{max-width:94vw;max-height:82vh;object-fit:contain;border-radius:8px;background:#000}.as-lightbox-bar{display:flex;gap:8px}.as-catbar{display:flex;height:14px;border-radius:7px;overflow:hidden;background:var(--bg-muted, #f0eeea)}.as-catbar-seg{min-width:2px}.as-catbar-seg.seg-blue{background:#2563eb}.as-catbar-seg.seg-amber{background:#d99400}.as-catbar-seg.seg-green{background:#2d9e4f}.as-catbar-seg.seg-gray{background:#9a968d}.as-catbar-seg.seg-empty{background:var(--bg-muted, #eae8e3)}.as-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:3px;vertical-align:middle}.as-dot.dot-blue{background:#2563eb}.as-dot.dot-amber{background:#d99400}.as-dot.dot-green{background:#2d9e4f}.as-dot.dot-gray{background:#9a968d}.as-barchart{display:flex;align-items:flex-end;gap:8px;padding:18px 20px 12px;overflow-x:auto}.as-bar-col{flex:1;min-width:34px;display:flex;flex-direction:column;align-items:center;gap:6px}.as-bar-value{font-size:11px;color:var(--text-secondary, #6b6860);font-weight:600;height:14px}.as-bar-track{width:100%;height:150px;display:flex;align-items:flex-end;justify-content:center;background:linear-gradient(to top,var(--bg-muted, #f2f0ec) 1px,transparent 1px) 0 100% / 100% 30px repeat-y;border-radius:4px}.as-bar-fill{width:60%;min-height:2px;border-radius:4px 4px 0 0;transition:height .3s}.as-bar-fill.blue{background:linear-gradient(to top,#1a5fb4,#3b82f6)}.as-bar-fill.green{background:linear-gradient(to top,#1a5c2a,#2d9e4f)}.as-bar-label{font-size:11px;color:var(--text-muted, #9e9b93);white-space:nowrap}.as-pri{display:inline-block;width:9px;height:9px;border-radius:50%;flex-shrink:0}.as-pri.high{background:#e24b4a;box-shadow:0 0 0 3px #e24b4a33}.as-pri.mid{background:#c47e00}.as-pri.low{background:#2d9e4f}.as-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 20px;margin-bottom:4px}.as-detail-item{display:flex;flex-direction:column;gap:3px}.as-detail-item .k{font-size:11px;color:var(--text-muted, #9e9b93)}.as-detail-item .v{font-size:13px;color:var(--text-primary, #1a1916);font-weight:500}.as-detail-item.full{grid-column:1 / -1}.as-detail-content{font-size:13px;line-height:1.7;color:var(--text-primary, #1a1916);white-space:pre-wrap}.as-section-title{font-size:11px;font-weight:600;color:var(--text-muted, #9e9b93);letter-spacing:.06em;margin:18px 0 10px;padding-bottom:8px;border-bottom:1px solid var(--border-input, #e0ddd6)}.as-status-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.as-status-row select,.as-status-row input{font-size:13px;padding:7px 10px;border-radius:8px;border:1px solid var(--border-input, #ccc9c0);background:var(--bg-input, #fff);color:var(--text-primary, #1a1916)}.as-history{display:flex;flex-direction:column}.as-history-item{display:flex;gap:10px}.as-history-dotwrap{display:flex;flex-direction:column;align-items:center;flex-shrink:0}.as-history-dot{width:10px;height:10px;border-radius:50%;background:var(--primary, #1a5fb4);margin-top:4px}.as-history-line{width:1px;flex:1;background:var(--border-input, #ccc9c0);min-height:16px}.as-history-item:last-child .as-history-line{display:none}.as-history-body{padding-bottom:12px}.as-history-date{font-size:11px;color:var(--text-muted, #9e9b93)}.as-history-desc{font-size:13px;color:var(--text-primary, #1a1916)}.bw-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.bw-modal{background:var(--bg-card);border:1px solid var(--border-card);border-radius:0;width:min(720px,100%);max-height:calc(100vh - 80px);display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--shadow-card)}.bw-head{padding:16px 20px;border-bottom:1px solid var(--border-divider);display:flex;align-items:center;justify-content:space-between}.bw-title{font-size:16px;font-weight:600;color:var(--text-primary)}.bw-close{width:28px;height:28px;border:none;background:transparent;color:var(--text-secondary);font-size:18px;cursor:pointer;border-radius:0;font-family:inherit}.bw-close:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.bw-body{flex:1;overflow-y:auto;padding:20px}.bw-form-group{margin-bottom:18px}.bw-label{display:block;font-size:13px;font-weight:600;color:var(--text-label);margin-bottom:6px}.bw-required{color:var(--error-text);margin-left:4px}.bw-hint{font-weight:400;color:var(--text-muted);font-size:12px;margin-left:6px}.bw-input{width:100%;padding:8px 12px;font-size:14px;font-family:inherit;border:1px solid var(--border-input);background:var(--bg-input);color:var(--text-primary);border-radius:0;outline:none;transition:border-color .15s}.bw-input:focus{border-color:var(--border-input-focus)}select.bw-input{cursor:pointer}.bw-input.bw-input-readonly,.bw-input.bw-input-readonly:focus{background:var(--bg-hover);color:var(--text-secondary);border-style:dashed;border-color:var(--border-divider);cursor:default;pointer-events:none}.bw-readonly-hint{margin-left:4px;color:var(--text-muted);font-size:11px;font-weight:400}.bw-date-row{display:flex;align-items:center;gap:8px}.bw-input-date{width:auto;min-width:180px;flex:0 0 auto}.bw-attach-row{display:flex;align-items:center;gap:12px;padding:8px 0;flex-wrap:wrap}.bw-attach-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 16px;margin-bottom:10px}.bw-attach-grid:last-child{margin-bottom:0}.bw-attach-grid .bw-attach-row{padding:6px 10px;background:var(--bg-input);border:1px solid var(--border-input);border-radius:0;justify-content:space-between}@media(max-width:600px){.bw-attach-grid{grid-template-columns:1fr}}.bw-attach-name{font-size:13px;color:var(--text-secondary);min-width:70px}.bw-attach-icon{margin-right:4px}.bw-attach-controls{display:flex;align-items:center;gap:6px;flex-wrap:wrap;flex:1}.bw-attach-filename{font-size:13px;color:var(--text-primary);word-break:break-all}.bw-btn{display:inline-flex;align-items:center;gap:4px;padding:8px 16px;border:none;border-radius:0;cursor:pointer;font-family:inherit;font-size:13px;font-weight:600;transition:all .15s}.bw-btn:disabled{opacity:.5;cursor:not-allowed}.bw-btn-sm{padding:4px 10px;font-size:12px}.bw-btn-primary{background:var(--btn-primary-bg);color:var(--btn-primary-text)}.bw-btn-primary:hover:not(:disabled){background:var(--btn-primary-bg-hover)}.bw-btn-ghost{background:transparent;color:var(--text-secondary);border:1px solid var(--border-input)}.bw-btn-ghost:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.bw-btn-danger{background:transparent;color:var(--error-text);border:1px solid var(--error-border)}.bw-btn-danger:hover:not(:disabled){background:var(--error-bg)}.bw-footer{padding:14px 20px;border-top:1px solid var(--border-divider);display:flex;justify-content:flex-end;gap:8px}.bd-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.bd-modal{background:var(--bg-card);border:1px solid var(--border-card);border-radius:0;width:min(820px,100%);max-height:calc(100vh - 80px);display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--shadow-card)}.bd-head{padding:12px 20px;border-bottom:1px solid var(--border-divider);display:flex;align-items:center;justify-content:space-between}.bd-head-group{font-size:13px;font-weight:600;color:var(--text-secondary)}.bd-close{width:28px;height:28px;border:none;background:transparent;color:var(--text-secondary);font-size:18px;cursor:pointer;border-radius:0;font-family:inherit}.bd-close:hover{background:var(--bg-hover);color:var(--text-primary)}.bd-loading,.bd-empty{padding:60px 20px;text-align:center;color:var(--text-muted);font-size:14px}.bd-body{flex:1;overflow-y:auto;padding:20px 24px}.bd-title{font-size:20px;font-weight:700;color:var(--text-primary);margin:0 0 8px;line-height:1.4;word-break:break-all}.bd-meta{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-muted);padding-bottom:14px;border-bottom:1px solid var(--border-divider);margin-bottom:18px}.bd-meta-author{color:var(--text-secondary);font-weight:500}.bd-image-wrap{margin:0 0 18px;text-align:center}.bd-image{max-width:100%;max-height:480px;border-radius:0;cursor:zoom-in;border:1px solid var(--border-divider)}.bd-image-placeholder{padding:80px 20px;background:var(--bg-input);border:1px dashed var(--border-input);border-radius:0;color:var(--text-muted);font-size:13px}.bd-content{font-size:14px;color:var(--text-primary);line-height:1.7;word-break:break-all}.bd-content :is(h1,h2,h3,h4,h5,h6){margin-top:18px;margin-bottom:8px;font-weight:600}.bd-content p{margin:8px 0}.bd-content p:empty:before{content:"";display:inline-block;height:1.7em;vertical-align:text-top}.bd-content ul,.bd-content ol{padding-left:24px;margin:8px 0}.bd-content code{background:var(--bg-input);padding:2px 6px;border-radius:0;font-size:.92em;font-family:Courier New,monospace}.bd-content pre{background:var(--bg-input);padding:12px;border-radius:0;overflow-x:auto}.bd-content pre code{background:transparent;padding:0}.bd-content blockquote{border-left:3px solid var(--border-input);padding-left:12px;color:var(--text-secondary);margin:10px 0}.bd-content img{max-width:100%;border-radius:0}.bd-content a{color:var(--link-color);text-decoration:underline}.bd-attach-list{margin-top:24px;padding-top:16px;border-top:1px solid var(--border-divider);display:flex;flex-direction:column;gap:6px}.bd-attach-item{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--bg-input);border:1px solid var(--border-input);border-radius:0;cursor:pointer;font-family:inherit;font-size:13px;color:var(--text-primary);text-align:left;transition:all .15s}.bd-attach-item:hover{background:var(--bg-hover);border-color:var(--border-input-focus)}.bd-attach-icon{flex-shrink:0}.bd-attach-image-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}@media(max-width:640px){.bd-attach-image-grid{grid-template-columns:1fr}}.bd-attach-image-block{display:flex;flex-direction:column;gap:6px;min-width:0}.bd-attach-image-preview{width:100%;height:240px;border-radius:0;border:1px solid var(--border-divider);align-self:stretch;object-fit:contain;background:var(--bg-surface-2, #f5f5f5)}.bd-attach-name{flex:1;word-break:break-all}.bd-attach-action{flex-shrink:0;font-size:12px;color:var(--link-color)}.bd-footer{padding:14px 20px;border-top:1px solid var(--border-divider);display:flex;justify-content:flex-end;gap:8px}.bd-btn{display:inline-flex;align-items:center;padding:8px 16px;border:none;border-radius:0;cursor:pointer;font-family:inherit;font-size:13px;font-weight:600;transition:all .15s}.bd-btn-ghost{background:transparent;color:var(--text-secondary);border:1px solid var(--border-input)}.bd-btn-ghost:hover{background:var(--bg-hover);color:var(--text-primary)}.bd-btn-primary{background:var(--btn-primary-bg);color:var(--btn-primary-text);border:none}.bd-btn-primary:hover:not(:disabled){background:var(--btn-primary-bg-hover)}.bd-btn-primary:disabled{opacity:.5;cursor:not-allowed}.bd-btn-danger{background:transparent;color:var(--error-text);border:1px solid var(--error-border)}.bd-btn-danger:hover:not(:disabled){background:var(--error-bg)}.bd-btn-sm{padding:4px 10px;font-size:12px}.bd-btn-danger:disabled,.bd-btn-ghost:disabled{opacity:.5;cursor:not-allowed}.bd-form-group{margin-bottom:18px}.bd-form-label{display:block;font-size:13px;font-weight:600;color:var(--text-label);margin-bottom:6px}.bd-required{color:var(--error-text);margin-left:4px}.bd-form-hint{font-weight:400;color:var(--text-muted);font-size:12px;margin-left:6px}.bd-form-input{width:100%;padding:8px 12px;font-size:14px;font-family:inherit;border:1px solid var(--border-input);background:var(--bg-input);color:var(--text-primary);border-radius:0;outline:none;transition:border-color .15s}.bd-form-input:focus{border-color:var(--border-input-focus)}select.bd-form-input{cursor:pointer}.bd-form-input.bd-form-input-readonly,.bd-form-input.bd-form-input-readonly:focus{background:var(--bg-hover);color:var(--text-secondary);border-style:dashed;border-color:var(--border-divider);cursor:default;pointer-events:none}.bd-readonly-hint{margin-left:4px;color:var(--text-muted);font-size:11px;font-weight:400}.bd-date-row{display:flex;align-items:center;gap:8px}.bd-form-date{width:auto;min-width:180px;flex:0 0 auto}.bd-attach-edit-row{display:flex;align-items:center;gap:12px;padding:8px 0;flex-wrap:wrap}.bd-attach-edit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 16px;margin-bottom:10px}.bd-attach-edit-grid:last-child{margin-bottom:0}.bd-attach-edit-grid .bd-attach-edit-row{padding:6px 10px;background:var(--bg-input);border:1px solid var(--border-input);border-radius:0;justify-content:space-between}@media(max-width:600px){.bd-attach-edit-grid{grid-template-columns:1fr}}.bd-attach-edit-label{font-size:13px;color:var(--text-secondary);min-width:70px}.bd-attach-edit-controls{display:flex;align-items:center;gap:6px;flex-wrap:wrap;flex:1}.bd-attach-edit-name{font-size:13px;color:var(--text-primary);word-break:break-all}.bd-meta-deadline{color:var(--text-secondary);font-weight:500}.board-layout{display:flex;gap:16px;height:calc(100vh - 200px);min-height:480px}.board-sidebar{width:260px;flex-shrink:0;background:var(--bg-card);border:1px solid var(--border-card);border-radius:0;display:flex;flex-direction:column;overflow:hidden}.board-sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--border-divider)}.board-sidebar-title{font-size:14px;font-weight:600;color:var(--text-primary)}.board-sidebar-list{flex:1;overflow-y:auto;padding:8px 0}.board-sidebar-empty{padding:24px 16px;text-align:center;color:var(--text-muted);font-size:13px}.board-group-item{display:flex;align-items:center;gap:8px;padding:8px 14px;cursor:pointer;transition:background .12s;position:relative}.board-group-item:hover,.board-group-item.active{background:var(--bg-hover)}.board-group-item.active:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--btn-primary-bg)}.board-group-item-icon{flex-shrink:0;color:var(--text-muted);display:inline-flex}.board-group-item-name{flex:1;font-size:13px;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.board-group-item-name-bold{font-weight:600}.board-group-new-badge{display:inline-flex;align-items:center;justify-content:center;margin-left:6px;min-width:16px;height:16px;padding:0 4px;background:#ef4444;color:#fff;border-radius:0;font-size:10px;font-weight:700;line-height:1;letter-spacing:.3px;vertical-align:middle}.board-group-item-name-input{flex:1;font-size:13px;font-family:inherit;padding:2px 6px;background:var(--bg-input);border:1px solid var(--border-input-focus);border-radius:0;color:var(--text-primary);outline:none;min-width:0}.board-group-item-actions{display:flex;gap:4px;opacity:0;transition:opacity .12s}.board-group-item:hover .board-group-item-actions{opacity:1}.board-group-item-action-btn{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--text-muted);border-radius:0;cursor:pointer;font-family:inherit;transition:all .12s}.board-group-item-action-btn:hover{background:var(--bg-card);color:var(--text-primary)}.board-content{flex:1;background:var(--bg-card);border:1px solid var(--border-card);border-radius:0;display:flex;flex-direction:column;overflow:hidden;min-width:0}.board-overview{flex:1;overflow-y:auto;padding:20px 28px}.board-overview-empty{padding:80px 20px;text-align:center;color:var(--text-muted);font-size:14px}.board-overview-header{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-bottom:18px}.board-overview-section{--section-color: var(--btn-primary-bg);margin-bottom:28px;padding:16px 18px 8px;background:var(--bg-page);border:1px solid var(--border-divider);border-left:4px solid var(--section-color);border-radius:0}.board-overview-section+.board-overview-section{margin-top:8px}.board-overview-section-head{display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid var(--section-color);padding-bottom:10px;margin-bottom:10px}.board-overview-section-title{font-size:16px;font-weight:700;color:var(--text-primary);margin:0;display:inline-flex;align-items:center;gap:8px}.board-overview-section-dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--section-color);flex-shrink:0}.board-overview-more{border:none;background:transparent;color:var(--text-secondary);font-size:12px;font-family:inherit;cursor:pointer;padding:4px 6px;border-radius:0;transition:all .12s}.board-overview-more:hover{color:var(--text-primary);background:var(--bg-hover)}.board-overview-section-empty{padding:16px 8px;color:var(--text-muted);font-size:13px}.board-overview-grid{display:flex;flex-direction:column}.board-overview-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 4px;border:none;background:transparent;text-align:left;cursor:pointer;font-family:inherit;font-size:13px;border-bottom:1px solid var(--border-divider);transition:background .12s;min-width:0}.board-overview-row:hover{background:var(--bg-hover)}.board-overview-row-title{flex:1;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:inline-flex;align-items:center;gap:4px}.board-overview-attach{display:inline-flex;align-items:center;color:var(--text-muted);flex-shrink:0}.board-favorite-star{display:inline-block;color:#f5b301;margin-right:4px;font-size:14px;line-height:1;flex-shrink:0}[data-theme=dark] .board-favorite-star{color:#ffd166}.board-overview-row-meta{flex-shrink:0;font-size:12px;color:var(--text-muted)}.board-overview-row-sep{margin:0 4px}.board-overview-row-author{color:var(--text-secondary)}.board-single{flex:1;display:flex;flex-direction:column;overflow:hidden}.board-single-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-divider);flex-wrap:wrap;gap:8px}.board-single-title{font-size:18px;font-weight:700;color:var(--text-primary);margin:0}.board-single-header-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.board-search{position:relative;display:inline-flex;align-items:center}.board-search-icon{position:absolute;left:9px;color:var(--text-muted);pointer-events:none}.board-search-input{width:220px;max-width:46vw;height:34px;padding:0 28px 0 30px;background:var(--bg-input);border:1px solid var(--border-input);border-radius:0;color:var(--text-primary);font-family:inherit;font-size:13px;outline:none;transition:border-color .12s}.board-search-input:focus{border-color:var(--border-input-focus)}.board-search-input::placeholder{color:var(--text-muted)}.board-search-clear{position:absolute;right:6px;width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--text-muted);font-size:12px;line-height:1;cursor:pointer;border-radius:0}.board-search-clear:hover{color:var(--text-primary)}.board-search-btn{height:34px;padding:0 14px;border:1px solid var(--border-input);background:var(--bg-card);color:var(--text-primary);border-radius:0;cursor:pointer;font-family:inherit;font-size:13px;font-weight:600;transition:all .12s}.board-search-btn:hover{background:var(--bg-hover);border-color:var(--border-input-focus)}.board-write-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:var(--btn-primary-bg);color:var(--btn-primary-text);border:none;border-radius:0;cursor:pointer;font-family:inherit;font-size:13px;font-weight:600;transition:all .15s}.board-write-btn:hover:not(:disabled){background:var(--btn-primary-bg-hover)}.board-write-btn:disabled{opacity:.5;cursor:not-allowed}.board-table-wrap{flex:1;overflow:auto}.board-table{width:100%;border-collapse:collapse;font-size:13px}.board-table thead th{position:sticky;top:0;z-index:1;padding:10px 12px;background:var(--bg-card);border-bottom:1px solid var(--border-divider);font-size:12px;font-weight:600;color:var(--text-secondary);text-align:left;white-space:nowrap}.board-table thead th.th-center{text-align:center}.board-table tbody td{padding:12px;border-bottom:1px solid var(--border-divider);color:var(--text-primary)}.board-table tbody td.td-center{text-align:center}.board-tr{cursor:pointer;transition:background .12s}.board-tr:hover{background:var(--bg-hover)}.board-col-num{width:70px}.board-col-fav{width:44px}.board-col-author,.board-col-date{width:130px}.board-fav-btn{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;cursor:pointer;color:var(--text-muted);padding:4px;border-radius:4px;transition:color .15s,transform .1s}.board-fav-btn:hover{color:#f5b301;transform:scale(1.1)}.board-fav-btn.active{color:#f5b301}[data-theme=dark] .board-fav-btn:hover,[data-theme=dark] .board-fav-btn.active{color:#ffd166}.board-td-num{color:var(--text-muted);font-size:12px}.board-td-title{font-weight:500;word-break:break-all;display:inline-flex;align-items:center;gap:4px}.board-td-attach{display:inline-flex;align-items:center;color:var(--text-muted);margin-left:2px}.board-empty{text-align:center!important;padding:60px 20px!important;color:var(--text-muted)!important;font-size:13px}.board-pagination{position:relative;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;border-top:1px solid var(--border-divider);flex-wrap:wrap}.board-page-total{position:absolute;left:16px;font-size:12px;color:var(--text-muted)}.board-page-buttons{display:flex;align-items:center;gap:4px}@media(max-width:600px){.board-page-total{position:static;width:100%;text-align:center}}.board-page-btn{min-width:30px;height:30px;padding:0 8px;border:1px solid var(--border-input);background:var(--bg-card);color:var(--text-primary);border-radius:0;cursor:pointer;font-family:inherit;font-size:12px;transition:all .12s}.board-page-btn:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-input-focus)}.board-page-btn.active{background:var(--btn-primary-bg);color:var(--btn-primary-text);border-color:var(--btn-primary-bg)}.board-page-btn:disabled{opacity:.4;cursor:not-allowed}.wk-root{--navy: #1E2D40;--blue: #2E75B6;--light-blue: #BDD7EE;--pale: #DEEAF1;--green: #70AD47;--orange: #ED7D31;--red: #E24B4A;--yellow: #F9C74F;--purple: #7B5EA7;--teal: #3D9970;--wk-bg: var(--bg-page);--wk-surface: var(--bg-card);--wk-border: var(--border-card);--wk-text: var(--text-primary);--wk-muted: var(--text-secondary);--wk-line: var(--border-divider);font-size:13px;color:var(--wk-text)}.wk-root *{box-sizing:border-box}.wk-root.wk-leave-page,.wk-root.wk-apply-page{max-width:1380px;margin:0 auto}.wk-root .wk-summary-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:14px}.wk-root .wk-sum-card{background:var(--wk-surface);border:1px solid var(--wk-border);border-radius:10px;padding:12px 14px;display:flex;align-items:center;gap:10px}.wk-root .wk-sum-icon{width:36px;height:36px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}.wk-root .wk-sum-label{font-size:11px;color:var(--wk-muted)}.wk-root .wk-sum-val{font-size:19px;font-weight:700}.wk-root .wk-today-panel{background:var(--navy);border-radius:12px;padding:16px 18px;color:#fff;margin-bottom:14px}.wk-root .wk-today-panel h3{font-size:13px;font-weight:700;opacity:.75;margin-bottom:10px}.wk-root .wk-off-chips{display:flex;flex-wrap:wrap;gap:8px}.wk-root .wk-off-chip{background:#ffffff1f;border-radius:8px;padding:6px 12px;display:flex;align-items:center;gap:8px}.wk-root .wk-oc-avatar{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:#fff}.wk-root .wk-oc-name{font-size:12px;font-weight:600}.wk-root .wk-oc-dept{font-size:10px;opacity:.65}.wk-root .wk-today-empty{font-size:13px;opacity:.65}.wk-root .wk-heatmap-wrap{background:var(--wk-surface);border:1px solid var(--wk-border);border-radius:12px;padding:16px 18px;margin-bottom:14px}.wk-root .wk-heatmap-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.wk-root .wk-heatmap-title{font-size:13px;font-weight:700;color:var(--blue)}.wk-root .wk-hmap-legend{display:flex;align-items:center;gap:4px}.wk-root .wk-hmap-legend-box{width:12px;height:12px;border-radius:2px}.wk-root .wk-hmap-legend span{font-size:10px;color:var(--wk-muted)}.wk-root .wk-heatmap-row{display:flex;align-items:center;gap:6px;margin-bottom:6px}.wk-root .wk-heatmap-label{font-size:11px;font-weight:600;color:var(--wk-muted);width:60px;flex-shrink:0;text-align:right}.wk-root .wk-heatmap-cells{display:flex;gap:3px;flex:1}.wk-root .wk-hmap-day{flex:1;text-align:center;font-size:9px;font-weight:600}.wk-root .wk-hmap-cell{flex:1;height:24px;border-radius:4px;cursor:default;transition:transform .15s}.wk-root .wk-hmap-cell:hover{transform:scaleY(1.2)}.wk-root .wk-cal-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;flex-wrap:wrap;gap:10px}.wk-root .wk-cal-nav{display:flex;align-items:center;gap:10px}.wk-root .wk-cal-nav-btn{background:var(--wk-surface);border:1px solid var(--wk-border);border-radius:8px;padding:6px 12px;cursor:pointer;font-size:13px;font-weight:600;color:var(--wk-text)}.wk-root .wk-cal-nav-btn:hover{background:var(--wk-bg)}.wk-root .wk-cal-month-title{font-size:18px;font-weight:700;color:var(--blue);min-width:160px;text-align:center}.wk-root .wk-cal-view-btns{display:flex;gap:4px}.wk-root .wk-view-btn{padding:6px 14px;font-size:12px;font-weight:600;border-radius:8px;border:1px solid var(--wk-border);background:var(--wk-surface);cursor:pointer;color:var(--wk-muted)}.wk-root .wk-view-btn.active{background:var(--blue);color:#fff;border-color:var(--blue)}.wk-root .wk-view-btn:hover:not(.active){background:var(--wk-bg)}.wk-root .wk-month-cal{background:var(--wk-surface);border-radius:12px;border:1px solid var(--wk-border);overflow:hidden}.wk-root .wk-cal-head{display:grid;grid-template-columns:repeat(7,1fr);background:var(--navy)}.wk-root .wk-cal-dow{padding:10px 8px;text-align:center;font-size:11px;font-weight:700;color:#ffffffbf}.wk-root .wk-cal-dow:first-child{color:#ff9a9a}.wk-root .wk-cal-dow:last-child{color:#a8d8ff}.wk-root .wk-cal-grid{display:grid;grid-template-columns:repeat(7,1fr)}.wk-root .wk-cal-cell{min-height:90px;padding:6px 7px;border-right:1px solid var(--wk-line);border-bottom:1px solid var(--wk-line);position:relative}.wk-root .wk-cal-cell:nth-child(7n){border-right:none}.wk-root .wk-cal-cell.other-month{background:var(--wk-bg)}.wk-root .wk-cal-cell.today{background:#2e75b61a}.wk-root .wk-cal-cell.weekend-sun .wk-cal-date{color:var(--red)}.wk-root .wk-cal-cell.weekend-sat .wk-cal-date{color:var(--blue)}.wk-root .wk-cal-date{font-size:12px;font-weight:700;margin-bottom:5px;display:flex;align-items:center;gap:4px}.wk-root .wk-cal-date.muted{color:var(--wk-muted);opacity:.5}.wk-root .wk-today-dot{background:var(--blue);color:#fff;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700}.wk-root .wk-leave-chip{display:flex;align-items:center;gap:4px;padding:2px 6px;border-radius:4px;font-size:10px;font-weight:600;margin-bottom:2px;white-space:nowrap;overflow:hidden}.wk-root .wk-leave-chip .dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.wk-root .wk-leave-chip span{overflow:hidden;text-overflow:ellipsis}.wk-root .wk-leave-chip .wk-leave-chip-name{flex:1 1 auto;min-width:0}.wk-root .wk-leave-chip .wk-leave-chip-type{flex:0 0 auto;margin-left:auto;padding-left:4px;font-size:9px;font-weight:700;opacity:.85}.wk-root .wk-more-chip{font-size:10px;color:var(--blue);font-weight:600;padding:1px 4px;background:none;border:none;cursor:pointer;text-align:left;display:block;width:100%}.wk-root .wk-more-chip:hover{text-decoration:underline}.wk-root .wk-week-grid{background:var(--wk-surface);border-radius:12px;border:1px solid var(--wk-border);overflow:hidden}.wk-root .wk-week-head-row{display:grid;grid-template-columns:80px repeat(7,1fr);background:var(--navy)}.wk-root .wk-week-head-cell{padding:10px 6px;text-align:center;font-size:11px;font-weight:700;color:#fffc}.wk-root .wk-week-head-cell.today-col{color:var(--yellow)}.wk-root .wk-week-head-cell .wday{font-size:10px;opacity:.7;display:block}.wk-root .wk-week-body{display:grid;grid-template-columns:80px repeat(7,1fr)}.wk-root .wk-week-emp-label{padding:8px 10px;font-size:11px;font-weight:600;color:var(--wk-muted);border-right:1px solid var(--wk-border);border-bottom:1px solid var(--wk-line);display:flex;align-items:center;gap:4px}.wk-root .wk-week-emp-avatar{width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;color:#fff;flex-shrink:0}.wk-root .wk-week-emp-name{font-size:11px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--wk-text)}.wk-root .wk-week-emp-dept{font-size:9px;color:var(--wk-muted)}.wk-root .wk-week-cell{border-right:1px solid var(--wk-line);border-bottom:1px solid var(--wk-line);min-height:44px;position:relative}.wk-root .wk-week-cell:nth-child(7n+1){border-right:none}.wk-root .wk-week-today-col{background:#2e75b61a}.wk-root .wk-week-leave-block{position:absolute;top:4px;right:3px;bottom:4px;left:3px;border-radius:5px;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;color:#fff}.wk-root .wk-week-empty{grid-column:1 / -1;padding:28px;text-align:center;font-size:13px;color:var(--wk-muted)}.wk-root .wk-ledger-head{font-size:16px;font-weight:700;color:var(--wk-text);margin-bottom:12px}.wk-root .wk-ledger-year{color:var(--blue)}.wk-root .wk-stats-row{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:14px}.wk-root .wk-stat-card{background:var(--wk-surface);border:1px solid var(--wk-border);border-radius:10px;padding:10px;text-align:center}.wk-root .wk-stat-label{font-size:10.5px;color:var(--wk-muted);margin-bottom:3px;white-space:nowrap}.wk-root .wk-stat-val{font-size:17px;font-weight:700}.wk-root .sv-blue{color:var(--blue)}.wk-root .sv-green{color:var(--green)}.wk-root .sv-red{color:var(--red)}.wk-root .sv-orange{color:var(--orange)}.wk-root .wk-toolbar{display:flex;gap:8px;margin-bottom:12px;align-items:center;flex-wrap:wrap}.wk-root .wk-toolbar input,.wk-root .wk-toolbar select{font-size:12px;height:34px;border:1px solid var(--wk-border);border-radius:8px;padding:0 10px;background:var(--bg-input);color:var(--wk-text);outline:none}.wk-root .wk-toolbar input:focus,.wk-root .wk-toolbar select:focus{border-color:var(--blue)}.wk-root .wk-toolbar input.wk-search{flex:1;min-width:150px}.wk-root .wk-btn{padding:6px 13px;font-size:12px;font-weight:600;border-radius:8px;cursor:pointer;border:1px solid var(--wk-border);background:var(--wk-surface);color:var(--wk-text);display:inline-flex;align-items:center;gap:4px;transition:all .15s}.wk-root .wk-btn:hover{background:var(--wk-bg)}.wk-root .wk-btn.primary{background:var(--blue);color:#fff;border-color:var(--blue)}.wk-root .wk-btn.primary:hover{opacity:.9}.wk-root .wk-btn.sm{padding:3px 9px;font-size:11px}.wk-root .wk-btn-approve{background:#d1e7dd;color:#0a3622;border-color:#a3cfbb}.wk-root .wk-btn-approve:hover{background:#b4d9c7}.wk-root .wk-btn-reject{background:#f8d7da;color:#58151c;border-color:#f1aeb5}.wk-root .wk-btn-reject:hover{background:#efbfbf}.wk-root .wk-btn-cancel{background:#e2e3e5;color:#41464b;border-color:#c4c8cb}.wk-root .wk-btn-cancel:hover{background:#d3d5d7}.wk-root .wk-btn-cancel:disabled{opacity:.45;cursor:not-allowed}.wk-root .wk-tbl-wrap{overflow-x:auto;border:1px solid var(--wk-border);border-radius:12px;background:var(--wk-surface)}.wk-root table.wk-table{width:100%;border-collapse:collapse;font-size:12px;table-layout:fixed}.wk-root .wk-table thead th{background:var(--navy);color:#fff;padding:9px 6px;font-weight:600;text-align:center;font-size:11px;line-height:1.3}.wk-root .wk-table tbody td{padding:7px 6px;text-align:center;border-bottom:1px solid var(--wk-line);color:var(--wk-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wk-root .wk-table tbody tr:hover{background:var(--bg-hover)}.wk-root.wk-apply-page .wk-table thead th{height:46px}.wk-root.wk-apply-page .wk-table tbody td{height:40px}.wk-root.wk-apply-page .wk-oth-table thead th{height:50px}.wk-root.wk-apply-page .wk-oth-table tbody td{height:58px}.wk-root .wk-oth-table .wk-note-input{height:32px;font-size:13px;padding:0 9px}.wk-root .wk-oth-table .wk-badge{font-size:12px;padding:4px 12px}.wk-root .wk-oth-table .wk-oth-addrow td{background:var(--bg-secondary)}.wk-root .wk-oth-table .wk-oth-addrow td{padding:0}.wk-root .wk-oth-add-btn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:12px 0;border:none;border-top:1px dashed var(--blue);border-bottom:1px dashed var(--blue);background:#2e75b61a;color:var(--blue);font-family:inherit;font-size:13px;font-weight:700;cursor:pointer;transition:background .15s,color .15s,border-style .15s}.wk-root .wk-oth-add-btn:hover:not(:disabled){background:var(--blue);color:#fff;border-style:solid}.wk-root .wk-oth-add-btn:disabled{opacity:.5;cursor:not-allowed}.wk-root .wk-tabs{display:flex;gap:4px;margin-bottom:12px;border-bottom:1px solid var(--wk-border)}.wk-root .wk-tab{padding:8px 16px;border:none;background:transparent;color:var(--wk-muted);font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .15s,border-color .15s}.wk-root .wk-tab:hover{color:var(--wk-text)}.wk-root .wk-tab.active{color:var(--blue);border-bottom-color:var(--blue)}.wk-root .wk-pagination{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:12px}.wk-root .wk-page-total{font-size:11px;color:var(--wk-muted)}.wk-root .wk-page-buttons{display:flex;align-items:center;gap:3px}.wk-root .wk-page-btn{min-width:28px;height:28px;padding:0 7px;border:1px solid var(--wk-border);background:var(--wk-surface);color:var(--wk-text);font-size:12px;font-weight:600;border-radius:6px;cursor:pointer;transition:all .15s}.wk-root .wk-page-btn:hover:not(:disabled){background:var(--wk-bg);border-color:var(--blue)}.wk-root .wk-page-btn.active{background:var(--blue);color:#fff;border-color:var(--blue)}.wk-root .wk-page-btn:disabled{opacity:.4;cursor:not-allowed}.wk-root .wk-page-info{font-size:11px;color:var(--wk-muted)}.wk-root .wk-td-empty{padding:24px;color:var(--wk-muted)}.wk-root .wk-leave-bar{width:100%;height:5px;background:var(--wk-line);border-radius:3px;overflow:hidden;margin-top:3px}.wk-root .wk-leave-fill{height:100%;border-radius:3px;background:var(--blue)}.wk-root .wk-leave-fill.warn{background:var(--orange)}.wk-root .wk-leave-fill.danger{background:var(--red)}.wk-root .wk-status-sel{font-size:11px;padding:2px 4px;height:26px;border-radius:6px;border:1px solid var(--wk-border);background:var(--bg-input);cursor:pointer;width:74px;color:var(--wk-text)}.wk-root .wk-note-input{font-size:11px;height:24px;padding:0 5px;width:96%;border-radius:6px;border:1px solid var(--wk-border);background:var(--bg-input);color:var(--wk-text);outline:none}.wk-root .wk-hint{margin-top:8px;font-size:11px;color:var(--wk-muted)}.wk-root .wk-badge{display:inline-block;padding:2px 8px;border-radius:20px;font-size:10px;font-weight:600}.wk-root .b-pending{background:#fff3cd;color:#856404}.wk-root .b-approved{background:#d1e7dd;color:#0a3622}.wk-root .b-rejected{background:#f8d7da;color:#58151c}.wk-root .b-canceled{background:#e2e3e5;color:#41464b}.wk-root .b-review{background:#cce5ff;color:#004085}.wk-root .wk-type{display:inline-block;padding:2px 8px;border-radius:4px;font-size:10px;font-weight:700;letter-spacing:.2px;border:1px solid transparent}.wk-root .t-annual{background:#dbeafe;color:#1e40af;border-color:#bfdbfe}.wk-root .t-half-morn{background:#fef3c7;color:#92400e;border-color:#fde68a}.wk-root .t-half-aft{background:#cffafe;color:#155e75;border-color:#a5f3fc}.wk-root .t-substitute{background:#ede9fe;color:#5b21b6;border-color:#ddd6fe}.wk-root .wk-section-card{background:var(--wk-surface);border:1px solid var(--wk-border);border-radius:12px;padding:16px 18px;margin-bottom:14px}.wk-root .wk-section-card h3{font-size:12px;font-weight:700;color:var(--wk-muted);margin-bottom:10px;display:flex;align-items:center;gap:5px}.wk-root .wk-apply-queue{display:flex;flex-direction:column;gap:7px}.wk-root .wk-apply-item{background:var(--wk-bg);border:1px solid var(--wk-border);border-radius:8px;padding:9px 12px;display:flex;align-items:center;gap:10px}.wk-root .wk-ai-bar{width:8px;height:36px;border-radius:4px;flex-shrink:0}.wk-root .wk-ai-info{flex:1;min-width:0}.wk-root .wk-ai-name{font-size:12px;font-weight:700}.wk-root .wk-ai-name span{font-size:10px;color:var(--wk-muted);font-weight:400}.wk-root .wk-ai-meta{font-size:10px;color:var(--wk-muted)}.wk-root .wk-ai-actions{display:flex;gap:5px;flex-shrink:0}.wk-root .wk-queue-empty{font-size:12px;color:var(--wk-muted);padding:8px 0}.wk-root .wk-sign-section{background:#2e75b614;border:1.5px solid var(--blue);border-radius:12px;padding:14px 18px;margin-top:6px}.wk-root .wk-sign-section h3{font-size:12px;font-weight:700;color:var(--blue);margin-bottom:10px}.wk-root .wk-sign-section .wk-sign-note{font-size:11px;color:var(--wk-muted);margin-bottom:8px}.wk-root .wk-sign-boxes{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}.wk-root .wk-sign-box{border:1px solid var(--wk-border);border-radius:8px;padding:10px;text-align:center;background:var(--wk-surface)}.wk-root .wk-sign-box.ceo{border-color:var(--blue);background:#2e75b60f}.wk-root .wk-sign-title{font-size:10px;color:var(--wk-muted);margin-bottom:4px}.wk-root .wk-sign-title.ceo{color:var(--blue);font-weight:700}.wk-root .wk-sign-name{font-size:11px;font-weight:700;margin-bottom:5px}.wk-root .wk-sign-name.ceo{color:var(--blue)}.wk-root .wk-sign-canvas{width:100%;height:52px;border:1px dashed var(--wk-border);border-radius:6px;cursor:crosshair;background:#fafbfc;display:block;touch-action:none}.wk-root .wk-sign-canvas.ceo{border-color:var(--blue)}.wk-root .wk-clear-lnk{font-size:10px;color:var(--wk-muted);cursor:pointer;margin-top:3px;display:inline-block}.wk-root .wk-clear-lnk:hover{color:var(--red)}.wk-root .wk-sign-actions{display:flex;justify-content:flex-end;margin-top:12px;gap:8px}.wk-root .wk-sign-batch{display:flex;gap:12px;align-items:flex-end}.wk-root .wk-sign-batch .wk-sign-canvas{height:68px}.wk-modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px}.wk-modal{background:var(--wk-surface);border-radius:14px;padding:24px 26px;width:460px;max-width:95vw;max-height:calc(100vh - 40px);overflow-y:auto;border:1px solid var(--wk-border);color:var(--wk-text);box-shadow:var(--shadow-card)}.wk-modal h3{font-size:14px;font-weight:700;margin-bottom:14px}.wk-modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.wk-modal-title{font-size:17px;font-weight:700;color:var(--wk-text)}.wk-modal-close{width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:6px;border:none;background:transparent;color:var(--wk-muted);cursor:pointer;font-size:15px}.wk-modal-close:hover{background:var(--error-bg);color:var(--error-text)}.wk-modal-footer{display:flex;justify-content:flex-end;gap:8px;margin-top:22px;padding-top:18px;border-top:1px solid var(--wk-line)}.wk-root .wk-modal-footer .wk-btn{padding:8px 16px;font-size:13px;font-weight:600;border-radius:8px;background:var(--bg-input);color:var(--text-secondary);border:1px solid var(--border-input)}.wk-root .wk-modal-footer .wk-btn:hover{border-color:var(--border-input-focus);color:var(--text-primary);background:var(--bg-input)}.wk-root .wk-modal-footer .wk-btn.primary{background:var(--btn-primary-bg);color:var(--btn-primary-text);border:none}.wk-root .wk-modal-footer .wk-btn.primary:hover{background:var(--btn-primary-bg-hover)}.wk-root .wk-modal-footer .wk-btn:disabled{opacity:.5;cursor:not-allowed}.wk-mfield{margin-bottom:14px}.wk-mfield label{display:block;font-size:12px;font-weight:600;letter-spacing:.04em;color:var(--text-label);margin-bottom:6px}.wk-mfield input,.wk-mfield select,.wk-mfield textarea{width:100%;font-size:14px;font-family:inherit;border:1px solid var(--border-input);border-radius:8px;padding:9px 12px;background:var(--bg-input);color:var(--text-primary);outline:none;transition:border-color .15s}.wk-mfield input:focus,.wk-mfield select:focus,.wk-mfield textarea:focus{border-color:var(--border-input-focus)}.wk-mfield input::placeholder,.wk-mfield textarea::placeholder{color:var(--text-placeholder)}.wk-mfield textarea{height:56px;resize:none}.wk-mrow{display:grid;grid-template-columns:1fr 1fr;gap:14px}.wk-mactions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.wk-emp-info-box{font-size:11px;color:var(--wk-muted);padding:7px 10px;background:var(--wk-bg);border-radius:8px;border:1px solid var(--wk-border);margin-top:4px}.wk-emp-info-box strong{color:var(--wk-text)}.wk-pick-cal{border:1px solid var(--border-input);border-radius:8px;padding:10px;background:var(--bg-input)}.wk-pick-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.wk-pick-title{font-size:13px;font-weight:700;color:var(--text-primary)}.wk-pick-nav-btn{width:26px;height:26px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border-input);border-radius:6px;background:var(--wk-surface);color:var(--text-secondary);cursor:pointer;font-size:11px}.wk-pick-nav-btn:hover{border-color:var(--border-input-focus);color:var(--text-primary)}.wk-pick-dows{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:4px}.wk-pick-dow{text-align:center;font-size:11px;font-weight:600;color:var(--wk-muted);padding:2px 0}.wk-pick-dow.sun{color:var(--red)}.wk-pick-dow.sat{color:var(--blue)}.wk-pick-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.wk-pick-cell{min-height:40px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;border:1px solid transparent;border-radius:6px;background:transparent;cursor:pointer;font-size:13px;font-weight:500;color:var(--text-primary);transition:background .12s,border-color .12s}.wk-pick-cell.empty{cursor:default}.wk-pick-cell.sun .wk-pick-day{color:var(--red)}.wk-pick-cell.sat .wk-pick-day{color:var(--blue)}.wk-pick-cell:not(.empty):not(.selected):not(.taken):hover{background:var(--wk-bg);border-color:var(--border-input)}.wk-pick-cell.today{border-color:var(--border-input-focus)}.wk-pick-day{line-height:1}.wk-pick-tag{font-size:9px;font-weight:700;line-height:1;padding:1px 3px;border-radius:3px;background:var(--wk-muted);color:var(--wk-surface)}.wk-pick-cell.selected{background:var(--btn-primary-bg);border-color:var(--btn-primary-bg)}.wk-pick-cell.selected .wk-pick-day{color:var(--btn-primary-text);font-weight:700}.wk-pick-cell.taken{cursor:not-allowed;border-color:var(--tk, var(--wk-muted));background-color:color-mix(in srgb,var(--tk, var(--wk-muted)) 14%,transparent);background-image:repeating-linear-gradient(45deg,transparent,transparent 4px,color-mix(in srgb,var(--tk, var(--wk-muted)) 30%,transparent) 4px,color-mix(in srgb,var(--tk, var(--wk-muted)) 30%,transparent) 6px)}.wk-pick-cell.taken .wk-pick-day{color:var(--tk, var(--wk-muted));font-weight:700}.wk-pick-cell.taken .wk-pick-tag{background:var(--tk, var(--wk-muted));color:#fff}.wk-pick-hint{display:flex;flex-wrap:wrap;gap:10px 12px;margin-top:8px;padding-top:8px;border-top:1px solid var(--wk-line)}.wk-pick-legend{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--wk-muted)}.wk-pick-legend .sw{width:12px;height:12px;border-radius:3px;display:inline-block}.wk-pick-legend .sw.sel{background:var(--btn-primary-bg)}.wk-cal-legend{display:flex;flex-wrap:wrap;gap:10px 16px;margin-top:12px;padding:10px 14px;border:1px solid var(--wk-line);border-radius:8px;background:var(--wk-card, transparent)}.wk-root.wk-leave-page,.wk-root.wk-leave-page *,.wk-root.wk-apply-page,.wk-root.wk-apply-page *{border-radius:0!important}@media(max-width:900px){.wk-root .wk-summary-strip,.wk-root .wk-stats-row{grid-template-columns:repeat(2,1fr)}.wk-root .wk-sign-boxes{grid-template-columns:1fr}.wk-root .wk-cal-cell{min-height:70px}}@media(max-width:560px){.wk-root .wk-summary-strip,.wk-root .wk-stats-row,.wk-mrow{grid-template-columns:1fr}}.lbm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:500;padding:20px}.lbm-box{background:var(--bg-card);width:100%;max-width:500px;border-radius:0;box-shadow:0 20px 60px #00000040;overflow:hidden;display:flex;flex-direction:column;max-height:90vh}.lbm-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--border-card);flex-shrink:0}.lbm-title{margin:0;font-size:17px;font-weight:700;color:var(--text-primary);letter-spacing:-.2px}.lbm-close-x{background:none;border:none;font-size:18px;color:var(--text-muted);cursor:pointer;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:background .15s,color .15s;font-family:inherit}.lbm-close-x:hover{background:var(--error-bg);color:var(--error-text)}.lbm-body{padding:20px 24px;display:flex;flex-direction:column;gap:16px;overflow-y:auto}.lbm-section{background:var(--bg-input);border-radius:12px;padding:16px;border:1px solid var(--border-card)}.lbm-section-header{display:flex;align-items:center;gap:8px;margin-bottom:12px}.lbm-section-title{margin:0;font-size:14px;font-weight:700;color:var(--text-primary)}.lbm-icon{flex-shrink:0}.lbm-icon-red{color:#ef4444}.lbm-icon-blue{color:#3b82f6}.lbm-icon-green{color:#1d9e75}[data-theme=dark] .lbm-icon-red{color:#f87171}[data-theme=dark] .lbm-icon-blue{color:#60a5fa}[data-theme=dark] .lbm-icon-green{color:#9fe1cb}.lbm-badge{margin-left:auto;padding:2px 9px;border-radius:20px;font-size:12px;font-weight:600;white-space:nowrap;flex-shrink:0}.lbm-badge-red{background:#fee2e2;color:#b91c1c}.lbm-badge-blue{background:#dbeafe;color:#1d4ed8}.lbm-badge-green{background:#d1fae5;color:#047857}[data-theme=dark] .lbm-badge-red{background:#ef44442e;color:#fca5a5}[data-theme=dark] .lbm-badge-blue{background:#3b82f62e;color:#93c5fd}[data-theme=dark] .lbm-badge-green{background:#1d9e7533;color:#9fe1cb}.lbm-goto{margin-left:8px;padding:3px 10px;border:1px solid var(--border-input);background:var(--bg-card);color:var(--text-secondary);border-radius:20px;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap;flex-shrink:0;font-family:inherit;transition:background .15s,color .15s,border-color .15s}.lbm-goto:hover{background:var(--btn-primary-bg);color:var(--btn-primary-text);border-color:var(--btn-primary-bg)}.lbm-empty{margin:0;padding:16px 0;text-align:center;font-size:13px;color:var(--text-muted)}.lbm-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:7px}.lbm-item{display:flex;justify-content:space-between;align-items:center;background:var(--bg-card);padding:10px 12px;border-radius:8px;border:1px solid var(--border-input);gap:12px}.lbm-item-title{font-size:13px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.lbm-item-date{font-size:12px;color:var(--text-muted);white-space:nowrap;flex-shrink:0}.lbm-item-date.urgent{color:#ef4444;font-weight:700}[data-theme=dark] .lbm-item-date.urgent{color:#f87171}.lbm-item-status{font-size:12px;font-weight:700;white-space:nowrap;flex-shrink:0}.lbm-more{margin:10px 0 0;text-align:center;font-size:12px;color:var(--text-muted)}.lbm-footer{padding:14px 24px;border-top:1px solid var(--border-card);background:var(--bg-input);display:flex;justify-content:flex-end;flex-shrink:0}.lbm-btn-primary{background:var(--btn-primary-bg);color:var(--btn-primary-text);border:none;padding:9px 22px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;transition:opacity .15s}.lbm-btn-primary:hover{opacity:.85}@media(max-width:540px){.lbm-box{border-radius:0}.lbm-header,.lbm-body{padding:16px 18px}.lbm-footer{padding:12px 18px}}.llg-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#0000008c;display:flex;align-items:center;justify-content:center;padding:24px}.llg-modal{width:min(900px,100%);max-height:92vh;background:var(--card-bg, #fff);border-radius:12px;box-shadow:0 18px 50px #00000059;display:flex;flex-direction:column;overflow:hidden}.llg-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid var(--border, #e5e7eb)}.llg-title{margin:0;font-size:16px;font-weight:700;color:var(--text, #111)}.llg-head-actions{display:flex;align-items:center;gap:8px}.llg-year-nav{display:flex;align-items:center;gap:6px;margin-right:4px;padding:0 6px;border:1px solid var(--border, #e5e7eb);border-radius:8px;background:var(--card-bg, #fff)}.llg-year-btn{width:26px;height:26px;display:flex;align-items:center;justify-content:center;border:0;border-radius:6px;background:transparent;color:var(--text, #111);font-size:18px;line-height:1;cursor:pointer}.llg-year-btn:hover:not(:disabled){background:var(--border, #e5e7eb)}.llg-year-btn:disabled{opacity:.35;cursor:default}.llg-year-cur{min-width:54px;text-align:center;font-size:14px;font-weight:700;color:var(--text, #111)}.llg-btn{height:34px;padding:0 16px;border:1px solid #9ca3af;border-radius:8px;background:#9ca3af;color:#fff;font-size:13px;font-weight:600;cursor:pointer}.llg-btn:hover:not(:disabled){background:#6b7280;border-color:#6b7280}.llg-btn:disabled{opacity:.5;cursor:default}.llg-btn-primary{background:#111827;border-color:#111827;color:#fff}.llg-btn-primary:hover:not(:disabled){background:#000}.llg-body{padding:22px;overflow:auto;background:#e9eaee}.llg-state{padding:60px 0;text-align:center;color:var(--text-muted, #6b7280);font-size:14px}.llg-state-error{color:#dc2626}.llg-doc{background:#fff;color:#111827;width:794px;max-width:100%;margin:0 auto;padding:40px 44px;box-sizing:border-box;font-family:Malgun Gothic,맑은 고딕,system-ui,sans-serif;box-shadow:0 2px 10px #0000001f}.llg-doc-head{border-bottom:3px solid #111827;padding-bottom:6px;margin-bottom:22px}.llg-doc-h1{font-size:26px;font-weight:800;margin:0 0 14px;letter-spacing:4px;text-align:center}.llg-doc-h1 span{display:inline-block;padding-bottom:2px;border-bottom:1px solid #111827}.llg-doc-meta{display:flex;align-items:baseline;justify-content:space-between}.llg-doc-year{font-size:15px;color:#6b7280;letter-spacing:1px}.llg-doc-name{font-size:15px;font-weight:700}.llg-summary{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #d1d5db;border-radius:6px;overflow:hidden;margin-bottom:26px}.llg-sum-cell{display:flex;flex-direction:column;gap:6px;padding:14px 12px;text-align:center;border-right:1px solid #e5e7eb}.llg-sum-cell:last-child{border-right:0}.llg-sum-label{font-size:12px;color:#6b7280}.llg-sum-val{font-size:17px;font-weight:800}.llg-orange{color:#ea580c}.llg-blue{color:#2563eb}.llg-tbl-title{font-size:14px;font-weight:700;margin-bottom:8px;border-left:4px solid #2563eb;padding-left:10px}.llg-table{width:100%;border-collapse:collapse;font-size:12px}.llg-table th,.llg-table td{border:1px solid #d1d5db;padding:7px 8px;vertical-align:middle}.llg-table thead th{background:#f3f4f6;font-weight:700;color:#374151}.llg-c{text-align:center}.llg-l{text-align:left}.llg-empty{text-align:center;color:#9ca3af;padding:26px 0}.llg-foot{background:#f9fafb;font-weight:700}.llg-doc-foot{margin-top:18px;text-align:right;font-size:11px;color:#9ca3af}.evlog-btn{display:inline-flex;align-items:center;gap:5px;padding:8px 16px;border-radius:8px;border:none;cursor:pointer;font-family:inherit;font-size:13px;font-weight:600;transition:all .15s;white-space:nowrap}.evlog-btn:disabled{opacity:.5;cursor:not-allowed}.evlog-btn-primary{background:var(--btn-primary-bg);color:var(--btn-primary-text)}.evlog-btn-primary:hover:not(:disabled){background:var(--btn-primary-bg-hover)}.evlog-btn-ghost{background:var(--bg-input);color:var(--text-secondary);border:1px solid var(--border-input)}.evlog-btn-ghost:hover:not(:disabled){border-color:var(--border-input-focus);color:var(--text-primary)}.evlog-filter-bar{display:flex;align-items:center;flex-wrap:wrap;gap:14px;padding:14px 16px;margin-bottom:16px;background:var(--bg-card);border:1px solid var(--border-card);border-radius:12px;box-shadow:var(--shadow-card)}.evlog-filter-group{display:flex;align-items:center;gap:8px}.evlog-filter-group-grow{flex:1;min-width:200px}.evlog-filter-label{font-size:12px;font-weight:600;color:var(--text-label);letter-spacing:.04em;white-space:nowrap}.evlog-filter-tilde{color:var(--text-muted);font-size:13px;padding:0 2px}.evlog-filter-date,.evlog-filter-input{padding:7px 10px;border:1px solid var(--border-input);border-radius:7px;background:var(--bg-input);color:var(--text-primary);font-size:13px;font-family:inherit;outline:none;transition:border-color .15s}.evlog-filter-date:focus,.evlog-filter-input:focus{border-color:var(--border-input-focus)}.evlog-filter-input::placeholder{color:var(--text-placeholder)}.evlog-filter-date{width:145px}.evlog-filter-input{width:160px}.evlog-filter-group-grow .evlog-filter-input{width:100%;flex:1}.evlog-filter-actions{display:flex;align-items:center;gap:6px;margin-left:auto}@media(max-width:768px){.evlog-filter-bar{gap:10px}.evlog-filter-group{flex-wrap:wrap}.evlog-filter-actions{margin-left:0;width:100%;justify-content:flex-end}}.evlog-table-wrap{background:var(--bg-card);border:1px solid var(--border-card);border-radius:14px;overflow:hidden;box-shadow:var(--shadow-card)}.evlog-table-header{padding:16px 24px;border-bottom:1px solid var(--border-card);display:flex;align-items:center;gap:10px}.evlog-table-title{font-size:15px;font-weight:700;color:var(--text-primary)}.evlog-table-sub{font-size:12px;color:var(--text-muted)}.evlog-table-scroll{overflow-x:auto}.evlog-table{width:100%;border-collapse:collapse;font-size:14px}.evlog-table thead tr{background:#faeeda;border-bottom:1px solid #ECD3A8}[data-theme=dark] .evlog-table thead tr{background:#ba75172e;border-bottom:1px solid rgba(186,117,23,.35)}.evlog-table th{padding:12px 16px;text-align:left;font-size:12px;font-weight:700;color:#854f0b;letter-spacing:.04em;white-space:nowrap}[data-theme=dark] .evlog-table th{color:#e5b772}.evlog-th-toggle{width:28px;padding-left:14px!important;padding-right:0!important}.evlog-th-date{width:170px}.evlog-th-user{width:140px}.evlog-th-ip{width:130px}.evlog-tr{border-bottom:1px solid var(--border-divider);transition:background .1s}.evlog-tr:hover{background:var(--bg-hover)}.evlog-tr-clickable{cursor:pointer}.evlog-table td{padding:11px 16px;color:var(--text-primary);vertical-align:middle}.evlog-td-user{color:var(--text-secondary);font-size:13px}.evlog-td-ip{color:var(--text-muted);font-size:12px;font-family:Consolas,Monaco,monospace}.evlog-td-message{color:var(--text-primary)}.evlog-td-date{color:var(--text-muted);font-size:12px;white-space:nowrap;font-family:Consolas,Monaco,monospace}.evlog-td-expand{text-align:center}.evlog-td-empty{padding:48px 20px;text-align:center;color:var(--text-muted)}.evlog-td-toggle{width:28px;padding-left:14px!important;padding-right:0!important;text-align:left;-webkit-user-select:none;user-select:none}.evlog-toggle-icon{display:inline-block;font-size:10px;color:var(--text-muted);transition:transform .15s;transform:rotate(0);line-height:1}.evlog-toggle-icon.open{transform:rotate(90deg);color:var(--text-primary)}.evlog-tr-clickable:hover .evlog-toggle-icon{color:var(--text-primary)}.evlog-toggle-spacer{display:inline-block;font-size:10px;visibility:hidden}.evlog-detail-row{background:var(--bg-input)}.evlog-detail-td{padding:16px 20px!important;border-bottom:1px solid var(--border-divider)}.evlog-diff-table-wrap{background:var(--bg-card);border:1px solid var(--border-card);border-radius:10px;overflow:hidden}.evlog-diff-table{width:100%;border-collapse:collapse;font-size:13px;font-family:Consolas,Monaco,Menlo,monospace}.evlog-diff-table thead tr{background:var(--bg-input);border-bottom:1px solid var(--border-card)}.evlog-diff-table th{padding:9px 14px;text-align:left;font-size:11px;font-weight:600;color:var(--text-muted);letter-spacing:.04em;white-space:nowrap}.evlog-diff-th-path{width:28%}.evlog-diff-th-before,.evlog-diff-th-after{width:36%}.evlog-diff-table td{padding:8px 14px;vertical-align:top;border-bottom:1px solid var(--border-divider);word-break:break-all}.evlog-diff-table tr:last-child td{border-bottom:none}.evlog-diff-td-path{color:var(--text-secondary);font-weight:600;white-space:nowrap}.evlog-diff-td-before,.evlog-diff-td-after{color:var(--text-primary);white-space:pre-wrap}.evlog-diff-value{display:inline}.evlog-diff-empty,.evlog-diff-empty-val{color:var(--text-muted);font-style:italic}.evlog-diff-unchanged .evlog-diff-td-before,.evlog-diff-unchanged .evlog-diff-td-after{color:var(--text-muted)}.evlog-diff-changed{background:#ffc1070f}.evlog-diff-changed .evlog-diff-td-before{background:var(--error-bg);color:var(--error-text);text-decoration:line-through;text-decoration-color:#c336}.evlog-diff-changed .evlog-diff-td-after,.evlog-diff-added .evlog-diff-td-after{background:var(--success-bg);color:var(--success-text);font-weight:600}.evlog-diff-added .evlog-diff-td-path{color:var(--success-text)}.evlog-diff-removed .evlog-diff-td-before{background:var(--error-bg);color:var(--error-text);text-decoration:line-through;text-decoration-color:#c336}.evlog-diff-removed .evlog-diff-td-path{color:var(--error-text)}.evlog-pagination{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:14px 24px;border-top:1px solid var(--border-divider)}.evlog-page-total{font-size:13px;color:var(--text-muted)}.evlog-page-buttons{display:flex;align-items:center;gap:4px}.evlog-page-btn{min-width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border-radius:7px;border:1px solid var(--border-input);background:transparent;color:var(--text-secondary);font-size:13px;cursor:pointer;transition:all .15s;padding:0 6px}.evlog-page-btn:hover:not(:disabled){border-color:var(--border-input-focus);color:var(--text-primary)}.evlog-page-btn.active{background:var(--btn-primary-bg);color:var(--btn-primary-text);border-color:var(--btn-primary-bg)}.evlog-page-btn:disabled{opacity:.4;cursor:not-allowed}.evlog-page-info{font-size:12px;color:var(--text-muted);margin-left:8px}@media(max-width:768px){.evlog-table{font-size:13px}.evlog-table th,.evlog-table td{padding:9px 10px}.evlog-diff-table{font-size:12px}}.profile-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:400;display:flex;align-items:flex-start;justify-content:flex-end;padding:64px 16px 0 0}.profile-modal{background:var(--bg-card);border:1px solid var(--border-card);border-radius:0;width:380px;box-shadow:0 16px 48px #00000040;overflow:hidden;animation:profile-slide-in .18s ease}@keyframes profile-slide-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.profile-modal-head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px 0}.profile-modal-user{display:flex;align-items:center;gap:10px}.profile-avatar{width:36px;height:36px;border-radius:50%;background:var(--btn-primary-bg);color:var(--btn-primary-text);display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:700;flex-shrink:0}.profile-name{font-size:15px;font-weight:700;color:var(--text-primary);line-height:1.2}.profile-userid{font-size:12px;color:var(--text-secondary);font-family:IBM Plex Mono,Consolas,monospace}.profile-close{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:6px;border:none;background:transparent;color:var(--text-muted);font-size:16px;cursor:pointer;transition:all .15s;flex-shrink:0}.profile-close:hover{background:var(--error-bg);color:var(--error-text)}.profile-tabs{display:flex;gap:0;padding:14px 20px 0;border-bottom:1px solid var(--border-divider)}.profile-tab{padding:8px 14px;border:none;background:transparent;color:var(--text-secondary);font-size:13px;font-weight:500;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:all .15s;font-family:inherit}.profile-tab:hover{color:var(--text-primary)}.profile-tab.active{color:var(--btn-primary-bg);border-bottom-color:var(--btn-primary-bg);font-weight:600}[data-theme=dark] .profile-tab.active{color:var(--link-color);border-bottom-color:var(--link-color)}.profile-body{padding:20px}.profile-form-group{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.profile-form-group:last-of-type{margin-bottom:0}.profile-form-label{font-size:12px;font-weight:600;color:var(--text-label);letter-spacing:.04em}.profile-form-label .required{color:var(--error-text);margin-left:2px}.profile-form-input{padding:9px 12px;border:1px solid var(--border-input);border-radius:8px;background:var(--bg-input);color:var(--text-primary);font-size:14px;font-family:inherit;transition:border-color .15s;outline:none;width:100%}.profile-form-input:focus{border-color:var(--border-input-focus)}.profile-form-input:disabled{opacity:.6;cursor:not-allowed;background:var(--bg-page)}.profile-form-input::placeholder{color:var(--text-placeholder)}.profile-form-select{padding:9px 12px;border:1px solid var(--border-input);border-radius:8px;background:var(--bg-input);color:var(--text-primary);font-size:14px;font-family:inherit;transition:border-color .15s;outline:none;width:100%;cursor:pointer}.profile-form-select:focus{border-color:var(--border-input-focus)}.profile-error{margin-top:12px;padding:10px 12px;background:var(--error-bg);border:1px solid var(--error-border);border-radius:8px;color:var(--error-text);font-size:13px}.profile-footer{padding:0 20px 20px}.profile-save-btn{width:100%;padding:10px;border-radius:8px;border:none;background:var(--btn-primary-bg);color:var(--btn-primary-text);font-size:14px;font-weight:600;cursor:pointer;transition:background .15s;font-family:inherit}.profile-save-btn:hover:not(:disabled){background:var(--btn-primary-bg-hover)}.profile-save-btn:disabled{background:var(--btn-disabled-bg);cursor:not-allowed}.profile-success{margin-top:12px;padding:10px 12px;background:var(--success-bg);border:1px solid var(--success-border);border-radius:8px;color:var(--success-text);font-size:13px}.myslip-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.myslip-modal{background:var(--bg-card);border:1px solid var(--border-card);border-radius:0;width:700px;max-width:96vw;max-height:92vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 16px 48px #00000038}.myslip-head{display:flex;align-items:center;justify-content:space-between;padding:18px 24px 14px;border-bottom:1px solid var(--border-divider)}.myslip-title{font-size:16px;font-weight:700;color:var(--text-primary)}.myslip-close{background:none;border:none;cursor:pointer;font-size:16px;color:var(--text-secondary);padding:4px 8px;border-radius:6px;transition:background .12s,color .12s}.myslip-close:hover{background:var(--bg-hover);color:var(--text-primary)}.myslip-controls{display:flex;align-items:center;gap:10px;padding:12px 24px;border-bottom:1px solid var(--border-divider);background:var(--bg-input)}.myslip-year-nav{display:flex;align-items:center;gap:4px}.myslip-nav-btn{background:var(--bg-card);border:1px solid var(--border-input);border-radius:6px;width:28px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:16px;line-height:1;color:var(--text-primary);transition:border-color .15s}.myslip-nav-btn:hover{border-color:var(--border-input-focus)}.myslip-year-val{font-size:14px;font-weight:600;color:var(--text-primary);min-width:58px;text-align:center}.myslip-month-select{background:var(--bg-card);border:1px solid var(--border-input);color:var(--text-primary);padding:7px 12px;border-radius:6px;font-family:inherit;font-size:14px;cursor:pointer;transition:border-color .15s}.myslip-month-select:focus{outline:none;border-color:var(--border-input-focus)}.myslip-body{flex:1;overflow:auto;background:#f0f0f0;padding:0}.myslip-empty{padding:80px 20px;text-align:center;color:var(--text-muted);font-size:14px;background:var(--bg-card)}.myslip-error{color:var(--danger, #e53e3e)}.myslip-content{display:flex;justify-content:center;padding:20px}.myslip-content>div{flex-shrink:0}@media(max-width:768px){.myslip-backdrop{padding:0}.myslip-modal{width:100%;max-width:100%;height:100%;max-height:100%;border-radius:0;border:none}.myslip-head{padding:14px 16px 12px}.myslip-controls{padding:10px 16px}.myslip-content{padding:12px;display:block}.myslip-content>div{flex-shrink:1;width:100%!important;max-width:100%!important}}.myleave-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.myleave-embedded{display:flex;justify-content:flex-start}.myleave-embedded .myleave-modal{box-shadow:none;max-height:none}.myleave-modal{background:var(--bg-card);border:1px solid var(--border-card);border-radius:0;width:420px;max-width:96vw;max-height:92vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 16px 48px #00000038}.myleave-head{display:flex;align-items:center;justify-content:space-between;padding:18px 24px 14px;border-bottom:1px solid var(--border-divider)}.myleave-title{font-size:16px;font-weight:700;color:var(--text-primary)}.myleave-year{font-size:13px;font-weight:500;color:var(--text-muted)}.myleave-close{background:none;border:none;cursor:pointer;font-size:16px;color:var(--text-secondary);padding:4px 8px;border-radius:6px;transition:background .12s,color .12s}.myleave-close:hover{background:var(--bg-hover);color:var(--text-primary)}.myleave-body{flex:1;overflow:auto;padding:20px 24px 24px}.myleave-empty{padding:60px 20px;text-align:center;color:var(--text-muted);font-size:14px}.myleave-error{color:var(--danger, #e53e3e)}.myleave-name{font-size:15px;font-weight:700;color:var(--text-primary);margin-bottom:14px}.myleave-list{margin:0}.myleave-row{display:flex;align-items:center;justify-content:space-between;padding:12px 4px;border-bottom:1px solid var(--border-divider)}.myleave-row:last-child{border-bottom:none}.myleave-row dt{font-size:13px;color:var(--text-secondary)}.myleave-row dd{margin:0;font-size:14px;font-weight:600;color:var(--text-primary)}.myleave-used{color:var(--danger, #e53e3e)!important}.myleave-substitute{color:#0d9488!important}[data-theme=dark] .myleave-substitute{color:#2dd4bf!important}.myleave-row-strong{background:var(--bg-input);margin:0 -24px;padding-left:28px;padding-right:28px}.myleave-row-highlight{margin:8px -24px -24px;padding:16px 28px;background:var(--bg-input);border-top:2px solid var(--border-divider)}.myleave-row-highlight dt{font-size:14px;font-weight:700;color:var(--text-primary)}.myleave-row-highlight dd{font-size:18px;font-weight:800;color:var(--btn-primary-bg)}@media(max-width:768px){.myleave-backdrop{padding:0}.myleave-modal{width:100%;max-width:100%;height:100%;max-height:100%;border-radius:0;border:none}}.crt-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.crt-modal{background:var(--bg-card);border:1px solid var(--border-card);border-radius:0;width:96vw;height:94vh;max-width:1100px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 16px 48px #00000047}.crt-embedded{width:100%;height:100%}.crt-embedded .crt-modal{width:100%;height:100%;max-width:none;border:none;box-shadow:none}.crt-head{display:flex;align-items:center;justify-content:space-between;padding:0 16px;border-bottom:1px solid var(--border-divider);flex-shrink:0}.crt-tabs{display:flex;gap:0}.crt-tab{padding:14px 18px;border:none;background:transparent;color:var(--text-secondary);font-size:14px;font-weight:600;font-family:inherit;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .15s,border-color .15s}.crt-tab:hover:not(:disabled){color:var(--text-primary)}.crt-tab.active{color:var(--btn-primary-bg);border-bottom-color:var(--btn-primary-bg)}[data-theme=dark] .crt-tab.active{color:var(--link-color);border-bottom-color:var(--link-color)}.crt-head-actions{display:flex;align-items:center;gap:8px}.crt-btn-primary{padding:8px 18px;border:none;border-radius:0;background:var(--btn-primary-bg);color:var(--btn-primary-text);font-size:13px;font-weight:600;font-family:inherit;cursor:pointer;transition:background .15s}.crt-btn-primary:hover:not(:disabled){background:var(--btn-primary-bg-hover)}.crt-btn-primary:disabled{opacity:.6;cursor:not-allowed}.crt-close{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--text-muted);font-size:16px;cursor:pointer;border-radius:0;transition:background .12s,color .12s}.crt-close:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.crt-body{flex:1;overflow-y:auto;padding:20px;background:var(--bg-page);display:flex;flex-direction:column;gap:18px}.crt-edit-panel{background:var(--bg-card);border:1px solid var(--border-card);border-radius:0;overflow:hidden}.crt-panel-head{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;background:var(--bg-input);border-bottom:1px solid var(--border-divider)}.crt-panel-title{font-size:12px;font-weight:700;letter-spacing:.06em;color:var(--text-secondary)}.crt-panel-hint{font-size:11px;color:var(--text-muted)}.crt-panel-body{padding:16px 18px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}.crt-field{display:flex;flex-direction:column;gap:6px;min-width:0}.crt-field.span2{grid-column:span 2}.crt-field-label{font-size:11px;font-weight:600;letter-spacing:.04em;color:var(--text-label);display:flex;align-items:center;gap:6px}.crt-dot{width:6px;height:6px;border-radius:50%;display:inline-block}.crt-dot.edit{background:#c4634e}.crt-dot.fixed{background:var(--text-muted)}.crt-input{width:100%;padding:8px 10px;border:1px solid var(--border-input);border-radius:0;background:var(--bg-input);color:var(--text-primary);font-size:13px;font-family:inherit;outline:none;transition:border-color .15s}.crt-input:focus{border-color:var(--border-input-focus)}.crt-input[readonly]{background:var(--bg-page);color:var(--text-secondary);cursor:not-allowed}.crt-input.edit{background:var(--bg-card)}select.crt-input.edit{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-color:var(--bg-card);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238a8480' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:12px;padding-right:28px;cursor:pointer}.crt-date-range{display:flex;align-items:center;gap:8px}.crt-date-range .crt-input{flex:1;min-width:0}.crt-date-sep{font-size:11px;color:var(--text-muted);white-space:nowrap}.crt-date-hint{font-size:11px;color:var(--text-muted)}.crt-preview-wrap{display:flex;justify-content:center;padding:8px 0 24px}.crt-paper{background:#fff;color:#1a1814;width:100%;max-width:680px;aspect-ratio:210 / 297;box-sizing:border-box;border:1px solid rgba(26,24,20,.12);box-shadow:0 8px 40px #1a18142e;position:relative;padding:60px 66px;font-family:"Noto Serif KR",Batang,serif}.crt-watermark{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-20deg);font-size:86px;font-weight:700;color:#8b3a2a0d;white-space:nowrap;pointer-events:none;letter-spacing:.2em}.crt-corner{position:absolute;width:38px;height:38px;border-color:#1a18144d;border-style:solid;opacity:.5}.crt-corner.tl{top:18px;left:18px;border-width:1px 0 0 1px}.crt-corner.tr{top:18px;right:18px;border-width:1px 1px 0 0}.crt-corner.bl{bottom:18px;left:18px;border-width:0 0 1px 1px}.crt-corner.br{bottom:18px;right:18px;border-width:0 1px 1px 0}.crt-serial{font-size:11px;color:#8a8480;letter-spacing:.06em;font-family:Noto Sans KR,sans-serif;text-align:right;margin-bottom:34px;position:relative}.crt-title{text-align:center;font-size:31px;font-weight:700;letter-spacing:.36em;color:#1a1814;margin-bottom:44px;position:relative}.crt-intro{font-size:14px;line-height:1.9;color:#4a4540;text-align:center;margin-bottom:34px;font-family:Noto Sans KR,sans-serif;position:relative}.crt-table{width:100%;border-collapse:collapse;margin-bottom:36px;position:relative}.crt-table td{padding:13px 16px;border:1px solid rgba(26,24,20,.25);font-size:14px;vertical-align:middle}.crt-table td:first-child{background:#f5f1eb;font-weight:600;width:130px;color:#4a4540;font-family:Noto Sans KR,sans-serif;font-size:13px;letter-spacing:.08em}.crt-closing{font-size:14px;line-height:2;color:#4a4540;text-align:center;margin-bottom:38px;font-family:Noto Sans KR,sans-serif;position:relative}.crt-date-line{text-align:center;font-size:15px;font-weight:600;color:#1a1814;letter-spacing:.06em;margin-bottom:38px;position:relative}.crt-issuer{display:flex;flex-direction:column;align-items:center;gap:4px;position:relative}.crt-company{font-size:18px;font-weight:700;color:#1a1814;letter-spacing:.04em}.crt-rep{font-size:14px;color:#4a4540;font-family:Noto Sans KR,sans-serif}.crt-company-line{position:relative;display:inline-flex;align-items:center;justify-content:center}.crt-seal-img{position:absolute;left:100%;top:50%;transform:translateY(-25%);margin-left:12px;width:72px;height:72px;object-fit:contain;opacity:.9}@media(min-width:901px){.crt-body{flex-direction:row;align-items:stretch;gap:20px;overflow:hidden}.crt-edit-panel{flex:0 0 380px;align-self:stretch;overflow-y:auto}.crt-panel-body{grid-template-columns:1fr 1fr}.crt-field.span2{grid-column:span 2}.crt-preview-wrap{flex:1;min-width:0;overflow-y:auto;padding-top:0;align-items:flex-start}}@media(max-width:900px){.crt-panel-body{grid-template-columns:1fr 1fr}.crt-field.span2{grid-column:span 2}}@media(max-width:600px){.crt-backdrop{padding:0}.crt-modal{width:100%;height:100%;max-width:100%}.crt-panel-body{grid-template-columns:1fr}.crt-field.span2{grid-column:span 1}.crt-paper{padding:40px 28px;min-height:0}}.pwconfirm-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1100;padding:20px}.pwconfirm-dialog{background:var(--bg-card);border:1px solid var(--border-card);border-radius:0;padding:32px 32px 24px;width:360px;max-width:100%;display:flex;flex-direction:column;align-items:center;gap:8px;box-shadow:0 16px 48px #00000038}.pwconfirm-icon{font-size:30px;margin-bottom:2px}.pwconfirm-title{font-size:17px;font-weight:700;color:var(--text-primary);margin:0}.pwconfirm-desc{font-size:13px;color:var(--text-secondary);margin:0 0 10px;text-align:center}.pwconfirm-input{width:100%;height:44px;padding:0 14px;font-size:15px;border:2px solid var(--border-input);border-radius:10px;background:var(--bg-input);color:var(--text-primary);outline:none;transition:border-color .15s;box-sizing:border-box}.pwconfirm-input:focus{border-color:var(--border-input-focus)}.pwconfirm-input.pwconfirm-input-error{border-color:#e53e3e;animation:pwconfirm-shake .3s ease}@keyframes pwconfirm-shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.pwconfirm-error{font-size:12px;color:#e53e3e;margin:4px 0 0;min-height:16px;align-self:flex-start}.pwconfirm-actions{display:flex;gap:8px;margin-top:6px;width:100%}.pwconfirm-btn{flex:1;padding:10px;border-radius:8px;border:none;cursor:pointer;font-family:inherit;font-size:14px;font-weight:600;transition:all .15s}.pwconfirm-btn:disabled{opacity:.5;cursor:not-allowed}.pwconfirm-btn-primary{background:var(--btn-primary-bg);color:var(--btn-primary-text)}.pwconfirm-btn-primary:hover:not(:disabled){background:var(--btn-primary-bg-hover)}.pwconfirm-btn-ghost{background:var(--bg-input);color:var(--text-secondary);border:1px solid var(--border-input)}.pwconfirm-btn-ghost:hover:not(:disabled){border-color:var(--border-input-focus);color:var(--text-primary)}@media(max-width:768px){.pwconfirm-dialog{width:100%;max-width:360px;padding:26px 22px 20px}.pwconfirm-input{height:46px;font-size:16px}.pwconfirm-btn{padding:12px;font-size:15px}}.main-layout{display:flex;flex-direction:column;height:100vh;background:var(--bg-page)}.main-appbar{display:flex;align-items:center;height:48px;background:var(--bg-card);border-bottom:1px solid var(--border-card);flex-shrink:0;position:relative;z-index:200}.appbar-logo{display:flex;align-items:center;padding:0 20px;height:100%;flex-shrink:0;box-sizing:border-box;background:var(--btn-primary-bg);border-right:1px solid transparent}.main-logo{display:flex;flex-direction:column;gap:1px;background:none;border:none;padding:0;cursor:pointer;font-family:inherit;text-align:left}.main-logo:hover{opacity:.8}.main-logo-label{font-size:9px;font-weight:500;letter-spacing:.08em;color:var(--btn-primary-text);opacity:.6;text-transform:uppercase}.main-logo-name{font-size:15px;font-weight:700;color:var(--btn-primary-text);letter-spacing:-.2px;white-space:nowrap;line-height:1.2}.primary-menu-list{display:flex;list-style:none;margin:0;padding:0;height:100%;align-items:stretch}.primary-menu-item{position:relative;display:flex;align-items:center;padding:0 18px;font-size:14px;color:var(--text-secondary);cursor:pointer;transition:color .15s;-webkit-user-select:none;user-select:none;white-space:nowrap}.primary-menu-item:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:0;height:2px;background-color:var(--btn-primary-bg);transition:width .15s}.primary-menu-item:hover{color:var(--btn-primary-bg)}.primary-menu-item:hover:after{width:50%}.primary-menu-item.active{color:var(--btn-primary-bg);font-weight:600}.primary-menu-item.active:after{width:50%}.primary-menu-item.disabled{color:var(--text-muted);cursor:default;opacity:.6}.primary-menu-item.disabled:hover{color:var(--text-muted)}.primary-menu-item.disabled:after{display:none}.menu-badge-soon{margin-left:5px;padding:1px 6px;border-radius:10px;font-size:10px;font-weight:600;background:#78787826;color:var(--text-muted);vertical-align:middle}.menu-badge-test{margin-left:5px;padding:1px 6px;border-radius:10px;font-size:10px;font-weight:700;background:#e8772229;color:#e87722;vertical-align:middle}.settings-arrow{font-size:9px;margin-left:5px;opacity:.6;vertical-align:middle}.settings-subnav{display:flex;align-items:center;gap:4px;height:40px;padding:0 20px;background:var(--bg-card);border-bottom:1px solid var(--border-card);flex-shrink:0}.settings-subnav-item{padding:5px 16px;border-radius:6px;border:none;background:transparent;color:var(--text-secondary);font-family:inherit;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s;white-space:nowrap}.settings-subnav-item:hover{background:var(--bg-hover);color:var(--text-primary)}.settings-subnav-item.active{background:var(--btn-primary-bg);color:var(--btn-primary-text);font-weight:600}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.appbar-right{display:flex;align-items:center;gap:6px;padding:0 14px;margin-left:auto;flex-shrink:0;height:100%}.main-timer-btn{display:flex;align-items:center;gap:5px;padding:5px 10px;border-radius:6px;border:1px solid var(--border-input);background:var(--bg-input);color:var(--text-secondary);font-size:12px;font-weight:500;font-variant-numeric:tabular-nums;cursor:pointer;transition:all .15s;white-space:nowrap}.main-timer-btn:hover:not(:disabled){border-color:var(--border-input-focus);color:var(--text-primary)}.main-timer-btn:disabled{cursor:default;opacity:.7}.main-timer-btn.warning{border-color:var(--error-border, #f87171);background:var(--error-bg, #fef2f2);color:var(--error-text, #cc3333)}.main-theme-btn{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:6px;border:1px solid var(--border-input);background:transparent;color:var(--text-secondary);cursor:pointer;transition:all .15s;flex-shrink:0}.main-theme-btn:hover{border-color:var(--border-input-focus);color:var(--text-primary)}.main-alarm-btn{position:relative;display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:6px;border:1px solid var(--border-input);background:transparent;color:var(--text-secondary);cursor:pointer;transition:all .15s;flex-shrink:0}.main-alarm-btn:hover{border-color:var(--border-input-focus);color:var(--text-primary)}.main-alarm-btn.has-alarm{color:#e5484d;animation:alarmRing 2s ease-in-out infinite}.main-alarm-badge{position:absolute;top:-5px;right:-5px;min-width:16px;height:16px;padding:0 4px;box-sizing:border-box;border-radius:8px;background:#e5484d;color:#fff;font-size:9px;font-weight:700;line-height:16px;text-align:center}@keyframes alarmRing{0%,90%,to{transform:rotate(0)}93%{transform:rotate(12deg)}96%{transform:rotate(-12deg)}}.alarm-wrapper{position:relative}.alarm-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:260px;background:var(--bg-card);border:1px solid var(--border-card);border-radius:8px;box-shadow:0 4px 12px #0000001a;z-index:1100;padding:6px 0;animation:dropdownFadeIn .15s ease}.alarm-dropdown-head{padding:6px 14px 8px;font-size:12px;font-weight:700;color:var(--text-muted);border-bottom:1px solid var(--border-divider);margin-bottom:4px}.alarm-empty{padding:16px 14px;font-size:13px;color:var(--text-muted);text-align:center}.alarm-item{display:flex;align-items:center;gap:8px;width:100%;padding:9px 14px;border:none;background:none;text-align:left;font-family:inherit;font-size:13px;color:var(--text-primary);cursor:pointer;transition:background .15s}.alarm-item:hover{background:var(--bg-hover)}.alarm-item-text{flex:1}.alarm-item-count{flex-shrink:0;min-width:18px;padding:1px 7px;border-radius:10px;background:#e5484d;color:#fff;font-size:11px;font-weight:700;text-align:center}.profile-wrapper{position:relative}.profile-btn{height:30px;min-width:30px;padding:0 10px;border-radius:15px;border:none;background:var(--btn-primary-bg);color:var(--btn-primary-text);font-size:13px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;white-space:nowrap;transition:opacity .15s;font-family:inherit}.profile-btn:hover{opacity:.85}.profile-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:210px;background:var(--bg-card);border:1px solid var(--border-card);border-radius:8px;box-shadow:0 4px 12px #0000001a;z-index:1100;padding:8px 0;animation:dropdownFadeIn .15s ease}.profile-info{display:flex;align-items:center;gap:10px;padding:10px 14px}.profile-avatar{width:34px;height:34px;border-radius:50%;background:var(--btn-primary-bg);color:var(--btn-primary-text);font-size:14px;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0}.profile-details{display:flex;flex-direction:column;gap:2px;min-width:0}.profile-name{font-size:13px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-role{font-size:11px;color:var(--text-muted)}.profile-divider{height:1px;background:var(--border-divider);margin:4px 0}.profile-menu-item{display:block;width:100%;padding:8px 14px;border:none;background:none;text-align:left;font-size:13px;color:var(--text-secondary);cursor:pointer;transition:background .12s;font-family:inherit}.profile-menu-item:hover{background:var(--bg-hover);color:var(--text-primary)}.profile-menu-item.logout{color:var(--danger, #e53e3e)}.profile-menu-item.logout:hover{background:var(--error-bg, #fef2f2)}.main-body{flex:1;display:flex;flex-direction:column;position:relative;overflow:hidden}.main-content-header{height:46px;display:flex;align-items:center;padding:0 24px;background:var(--bg-card);border-bottom:1px solid var(--border-card);flex-shrink:0}.main-content-title{font-size:15px;font-weight:600;color:var(--text-primary)}.main-content{flex:1;overflow-y:auto;padding:24px}.appbar-hamburger{display:none;align-items:center;justify-content:center;width:34px;height:34px;border-radius:6px;border:1px solid var(--border-input);background:transparent;color:var(--text-primary);font-size:18px;line-height:1;cursor:pointer;transition:all .15s;margin-left:8px;flex-shrink:0}.appbar-hamburger:hover{border-color:var(--border-input-focus)}.mobile-nav-backdrop{position:fixed;right:0;bottom:0;left:0;top:48px;z-index:98;background:#0003}.mobile-nav{position:fixed;top:48px;left:0;right:0;max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px);overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;z-index:99;background:var(--bg-card);border-bottom:1px solid var(--border-card);box-shadow:0 8px 24px #00000026;padding-bottom:env(safe-area-inset-bottom,0)}.mobile-nav-list{list-style:none;margin:0;padding:8px 0}.mobile-nav-item{padding:13px 24px;font-size:15px;color:var(--text-secondary);cursor:pointer;transition:background .12s}.mobile-nav-item:hover{background:var(--bg-hover);color:var(--text-primary)}.mobile-nav-item.active{color:var(--btn-primary-bg);font-weight:600}.mobile-nav-group{padding:4px 0}.mobile-nav-group-label{display:block;padding:10px 24px 2px;font-size:11px;font-weight:600;color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase}.mobile-nav-sublist{list-style:none;margin:0;padding:0}.mobile-nav-sublist .mobile-nav-item{padding-left:38px}@media(max-width:768px){.appbar-logo{width:auto;padding:0 8px 0 16px}.appbar-hamburger{display:flex}.primary-menu-list{display:none}.appbar-right{padding:0 10px;gap:4px}.main-content{padding:16px}.main-content-header{padding:0 16px}}@media(max-width:480px){.main-timer-btn{font-size:11px;padding:4px 8px}.main-content{padding:12px}.main-content-header{height:40px}}.main-content-placeholder h2{font-size:18px;font-weight:600;color:var(--text-primary);margin-bottom:8px}.main-content-placeholder p{font-size:14px;color:var(--text-secondary)}
