:root{--lv-primary: #003D79;--lv-primary-dark: #002952;--lv-accent: #FDB913;--lv-accent-soft: #FFF3D6;--lv-surface: #FFFFFF;--lv-background: #F5F6FA;--lv-border: #E8EAF0;--lv-ink: #1A1A2E;--lv-neutral: #6B7280;--lv-success: #16A34A;--lv-success-soft: #F0FDF4;--lv-danger: #DC2626;--lv-danger-soft: #FEF2F2;--lv-warning: #D97706;--lv-warning-soft: #FFFBEB;--lv-info: #2563EB;--lv-info-soft: #EFF6FF}html.dark{color-scheme:dark;--lv-primary: #60A5FA;--lv-primary-dark: #3B82F6;--lv-accent: #FBBF24;--lv-accent-soft: rgba(251, 191, 36, .14);--lv-surface: #16202F;--lv-background: #0B1220;--lv-border: #334155;--lv-ink: #E6EDF6;--lv-neutral: #94A3B8;--lv-success: #4ADE80;--lv-success-soft: rgba(22, 101, 52, .32);--lv-danger: #F87171;--lv-danger-soft: rgba(153, 27, 27, .32);--lv-warning: #FBBF24;--lv-warning-soft: rgba(146, 64, 14, .28);--lv-info: #60A5FA;--lv-info-soft: rgba(37, 99, 235, .22)}:root{--on-primary: #FFFFFF;--overlay: rgba(15, 23, 42, .48);--shadow-strength: rgba(15, 23, 42, .1)}html.dark{--on-primary: #F8FAFC;--overlay: rgba(2, 6, 16, .72);--shadow-strength: rgba(0, 0, 0, .36);--shadow-soft: 0 2px 4px rgba(0, 0, 0, .16), 0 4px 12px rgba(0, 0, 0, .22);--shadow: 0 10px 15px -3px rgba(0, 0, 0, .24), 0 4px 6px -2px rgba(0, 0, 0, .16);--shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, .28), 0 10px 10px -5px rgba(0, 0, 0, .18);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .3), 0 8px 10px -6px rgba(0, 0, 0, .2)}html.dark .dashboard-shell,html.dark [class*=dashboard]{color:var(--lv-ink)}html.dark .stat-card,html.dark .btn-primary,html.dark .btn-danger,html.dark .sidebar-logo,html.dark .nav-item.active,html.dark .user-avatar,html.dark .pg-btn.active{color:var(--on-primary)}html.dark [style*="background:#fff"],html.dark [style*="background: #fff"],html.dark [style*="background:#ffffff"],html.dark [style*="background: #ffffff"]{background-color:var(--lv-surface)!important}html.dark [style*="color:#1e293b"],html.dark [style*="color: #1e293b"],html.dark [style*="color:#0f172a"],html.dark [style*="color: #0f172a"],html.dark [style*="color:#334155"],html.dark [style*="color: #334155"],html.dark [style*="color:#475569"],html.dark [style*="color: #475569"],html.dark [style*="color:#64748b"],html.dark [style*="color: #64748b"],html.dark [style*="color:#94a3b8"],html.dark [style*="color: #94a3b8"]{color:var(--lv-ink)!important}html.dark .bg-white{background-color:var(--lv-surface)!important}html.dark .text-gray-900,html.dark .text-gray-800,html.dark .text-gray-700,html.dark .text-gray-600{color:var(--lv-ink)!important}html.dark .text-gray-500,html.dark .text-gray-400{color:var(--lv-neutral)!important}html.dark .border-gray-200,html.dark .border-gray-300{border-color:var(--lv-border)!important}html.dark input:not([type=checkbox]):not([type=radio]),html.dark select,html.dark textarea{background-color:var(--lv-surface);border-color:var(--lv-border);color:var(--lv-ink)}html.dark input::placeholder,html.dark textarea::placeholder{color:color-mix(in srgb,var(--lv-neutral) 84%,transparent)}html.dark ::-webkit-scrollbar{width:10px;height:10px}html.dark ::-webkit-scrollbar-track{background:var(--lv-background)}html.dark ::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--lv-neutral) 44%,transparent);border:3px solid var(--lv-background);border-radius:999px}:root{--zi-modal-overlay: 1000;--zi-modal-card: 1010;--zi-drawer-overlay: 3100;--zi-help-drawer: 3200;--zi-toast: 9999}.modal-overlay{position:fixed;inset:0;background:#0f172a80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:var(--zi-modal-overlay);padding:20px;animation:fadeIn .2s ease-out forwards}.modal-card{background:var(--lv-surface);border-radius:20px;box-shadow:0 25px 50px -12px #00000040;display:flex;flex-direction:column;width:100%;max-width:550px;max-height:90vh;z-index:var(--zi-modal-card);overflow:hidden;position:relative;animation:modalPop .3s cubic-bezier(.34,1.56,.64,1) forwards}.modal-card.modal-md{max-width:550px}.modal-card.modal-lg{max-width:750px}.modal-card.modal-xl{max-width:1000px}.modal-card.modal-full{max-width:calc(100vw - 40px);max-height:calc(100vh - 40px);width:100%}.modal-header{padding:20px 24px;border-bottom:1px solid var(--lv-border);display:flex;justify-content:space-between;align-items:center;background:var(--lv-surface);flex-shrink:0}.modal-header h4,.modal-header h3{margin:0;font-size:17px;font-weight:800;color:var(--lv-ink);display:flex;align-items:center;gap:10px}.modal-close,.btn-close{width:32px;height:32px;border-radius:8px;border:none;background:var(--lv-background);color:var(--lv-neutral);cursor:pointer;display:grid;place-items:center;transition:all .2s}.modal-close:hover,.btn-close:hover{background:var(--lv-danger-soft);color:var(--lv-danger);transform:rotate(90deg)}.modal-card>form{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.modal-body{padding:24px;flex:1;min-height:0;overflow-y:auto;background:var(--lv-surface);scrollbar-width:thin;scrollbar-color:var(--lv-neutral) transparent}.modal-body::-webkit-scrollbar{width:6px}.modal-body::-webkit-scrollbar-track{background:transparent}.modal-body::-webkit-scrollbar-thumb{background:var(--lv-neutral);border-radius:3px}.modal-body::-webkit-scrollbar-thumb:hover{background:var(--lv-ink)}.modal-footer{padding:18px 24px;border-top:1px solid var(--lv-border);display:flex;justify-content:flex-end;gap:12px;background:var(--lv-background);flex-shrink:0}.drawer-overlay{position:fixed;inset:0;background:#0f172a66;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:var(--zi-drawer-overlay)}.help-drawer{position:fixed;top:20px;bottom:20px;right:20px;width:450px;height:calc(100vh - 40px);background:var(--lv-surface);z-index:var(--zi-help-drawer);box-shadow:-10px 0 50px #0003;display:flex;flex-direction:column;color:var(--lv-ink);border-radius:16px;overflow:hidden}.help-drawer-header{padding:24px 30px;background:var(--lv-surface);border-bottom:1px solid var(--lv-border);display:flex;justify-content:space-between;align-items:center}.help-drawer-icon{width:40px;height:40px;background:var(--lv-info-soft);color:var(--primary);border-radius:12px;display:grid;place-items:center;font-size:20px}.help-drawer-close{width:32px;height:32px;border-radius:8px;border:none;background:var(--lv-background);color:var(--lv-neutral);cursor:pointer;transition:all .2s}.help-drawer-close:hover{background:var(--lv-danger-soft);color:var(--lv-danger)}.help-drawer-body{padding:30px;flex:1;overflow-y:auto}.help-section-title{font-size:13px;font-weight:800;color:var(--primary);margin-bottom:16px;text-transform:uppercase;letter-spacing:.5px;display:flex;align-items:center;gap:8px}.step-list{display:flex;flex-direction:column;gap:12px}.step-item{display:flex;gap:14px;align-items:flex-start}.step-number{width:24px;height:24px;background:var(--primary);color:var(--lv-surface);border-radius:6px;display:grid;place-items:center;font-size:12px;font-weight:800;flex-shrink:0}.step-text{font-size:13.5px;color:var(--lv-neutral);line-height:1.6}.shortcut-list{display:grid;grid-template-columns:1fr;gap:8px}.shortcut-item{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:var(--lv-background);border-radius:8px;font-size:13px}.shortcut-item kbd{background:var(--lv-border);padding:3px 8px;border-radius:6px;font-size:11px;font-weight:700;color:var(--lv-neutral)}.help-footer-info{margin-top:20px;padding:16px;background:var(--lv-warning-soft);border-radius:12px;border:1px solid color-mix(in srgb,var(--lv-warning) 20%,transparent);color:var(--lv-warning);font-size:12.5px;line-height:1.6;display:flex;gap:12px}.help-footer-info i{font-size:16px;margin-top:2px}.field-help{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:50%;background:var(--lv-background);color:var(--lv-neutral);font-size:9px;font-weight:700;cursor:help;margin-left:4px;vertical-align:middle}.required{color:var(--danger);margin-left:2px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalPop{0%{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.fade-enter-active,.fade-leave-active{transition:opacity .3s ease}.fade-enter-from,.fade-leave-to{opacity:0}.slide-right-enter-active,.slide-right-leave-active{transition:transform .4s cubic-bezier(.16,1,.3,1)}.slide-right-enter-from,.slide-right-leave-to{transform:translate(100%)}body.modal-open{overflow:hidden}@media(max-width:640px){.modal-overlay{padding:0}.modal-card{max-height:100vh;border-radius:0}.help-drawer{top:0;bottom:0;right:0;width:100%;height:100vh;border-radius:0}}.alert-banner{margin-bottom:20px;padding:14px 16px;border-radius:14px;display:flex;align-items:center;gap:10px;font-size:13px;font-weight:700}.alert-success{background:var(--lv-success-soft);color:var(--lv-success);border:1px solid color-mix(in srgb,var(--lv-success) 35%,transparent)}.alert-error{background:var(--lv-danger-soft);color:var(--lv-danger);border:1px solid color-mix(in srgb,var(--lv-danger) 35%,transparent)}.import-menu{position:relative}.import-menu-dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:200px;padding:8px;border:1px solid var(--border);border-radius:12px;background:var(--lv-surface);box-shadow:0 16px 32px color-mix(in srgb,var(--lv-ink) 12%,transparent);display:grid;gap:4px;z-index:100}.import-menu-item{width:100%;border:none;background:transparent;border-radius:8px;padding:10px 12px;display:flex;align-items:center;gap:10px;color:var(--text);font-size:13px;font-weight:700;cursor:pointer}.import-menu-item:hover{background:var(--lv-background);color:var(--primary)}.filter-status-card{display:flex;align-items:center;gap:16px;padding:10px 16px;margin-bottom:16px;background:var(--card);border:1px solid var(--lv-border);border-radius:12px;flex-wrap:wrap}.filter-status-label{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);white-space:nowrap}.filter-status-buttons{display:flex;gap:6px;flex-wrap:wrap}.filter-btn{display:inline-flex;align-items:center;gap:5px;padding:5px 14px;font-size:12.5px;font-weight:600;border-radius:20px;border:1.5px solid var(--lv-border);background:transparent;color:var(--muted);cursor:pointer;transition:all .18s;white-space:nowrap}.filter-btn:hover{border-color:var(--primary);color:var(--primary);background:color-mix(in srgb,var(--lv-primary) 6%,transparent)}.filter-btn.active{background:var(--primary);border-color:var(--primary);color:var(--lv-surface)}.filter-btn-active.active{background:var(--lv-success);border-color:var(--lv-success);color:var(--lv-surface)}.filter-btn-active:not(.active):hover{border-color:var(--lv-success);color:var(--lv-success);background:color-mix(in srgb,var(--lv-success) 6%,transparent)}.filter-btn-inactive.active{background:var(--lv-danger);border-color:var(--lv-danger);color:var(--lv-surface)}.filter-btn-inactive:not(.active):hover{border-color:var(--lv-danger);color:var(--lv-danger);background:color-mix(in srgb,var(--lv-danger) 6%,transparent)}.form-input{width:100%;padding:10px 14px;border:1.5px solid var(--border);border-radius:10px;font-size:14px;outline:none;background:var(--lv-surface);color:var(--text);transition:border-color .2s,box-shadow .2s}.form-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.form-input.is-error{border-color:var(--lv-danger)!important}.form-error{font-size:12px;color:var(--lv-danger);margin-top:4px;display:block}.form-group{margin-bottom:16px}.checkbox-label{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;cursor:pointer}.checkbox-row{display:flex;gap:24px;flex-wrap:wrap;margin-bottom:16px}.btn.btn-icon{padding:6px 10px;min-width:0}:root{--primary: var(--lv-primary);--primary-dark: var(--lv-primary-dark);--primary-light: color-mix(in srgb, var(--lv-primary) 10%, transparent);--sidebar-bg: var(--lv-surface);--sidebar-hover: var(--lv-info-soft);--sidebar-active: var(--lv-accent);--sidebar-text: var(--lv-primary);--sidebar-head: var(--lv-primary);--bg: var(--lv-background);--card: var(--lv-surface);--text: var(--lv-ink);--muted: var(--lv-neutral);--border: var(--lv-border);--line: var(--lv-border);--header-bg: var(--lv-surface);--accent: var(--lv-accent);--accent-weak: var(--primary-light);--shadow-soft: 0 2px 4px rgba(0,0,0,.02), 0 4px 12px rgba(0,0,0,.03);--shadow: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .1);--danger: var(--lv-danger);--info: var(--lv-info);--shadow-sm: 0 1px 3px rgba(0,0,0,.04);--shadow: 0 10px 15px -3px rgba(0,0,0,.05), 0 4px 6px -2px rgba(0,0,0,.02);--shadow-lg: 0 20px 25px -5px rgba(0,0,0,.1), 0 10px 10px -5px rgba(0,0,0,.04);--sidebar-width: 280px;--header-h: 72px;--radius: 16px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:Plus Jakarta Sans,sans-serif;font-size:14px;line-height:1.5;min-height:100vh;overflow-x:auto;--vs-dropdown-bg: var(--card);--vs-border-color: var(--border);--vs-search-input-bg: var(--card);--vs-selected-color: var(--text);--vs-controls-color: var(--muted)}.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border-radius:12px;font-size:13.5px;font-weight:700;cursor:pointer;transition:all .2s ease;border:1px solid transparent;text-decoration:none;line-height:1}.btn-sm{padding:7px 14px;font-size:12px;border-radius:10px}.btn-primary{background:var(--primary);color:var(--lv-surface);box-shadow:0 4px 12px color-mix(in srgb,var(--lv-primary) 25%,transparent)}.btn-primary:hover{background:var(--primary-dark);transform:translateY(-1px)}.btn:disabled,.btn[disabled]{opacity:.55;cursor:not-allowed;pointer-events:none;transform:none!important;box-shadow:none!important}.btn-outline{background:var(--lv-surface);border-color:var(--line);color:var(--text)}.btn-outline:hover{background:var(--bg);border-color:var(--primary);color:var(--primary)}.btn-danger{background:var(--lv-danger);color:var(--lv-surface);border-color:var(--lv-danger);box-shadow:0 4px 12px color-mix(in srgb,var(--lv-danger) 20%,transparent)}.btn-danger:hover{background:var(--lv-danger);border-color:var(--lv-danger);transform:translateY(-1px)}.btn-danger-outline{background:var(--lv-surface);border-color:color-mix(in srgb,var(--lv-danger) 30%,transparent);color:var(--lv-danger)}.btn-danger-soft{background:var(--lv-surface);border-color:color-mix(in srgb,var(--lv-danger) 18%,transparent);color:var(--lv-danger)}.btn-danger-soft:hover{background:var(--lv-danger-soft);border-color:var(--lv-danger);color:var(--lv-danger)}.btn-danger-outline:hover{background:var(--lv-danger-soft);border-color:var(--lv-danger)}.card{background:var(--card);border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow);padding:24px;margin-bottom:24px}.card-title{font-size:16px;font-weight:800;color:var(--text);margin-bottom:6px}.card-sub{font-size:13px;color:var(--muted);margin-bottom:20px}.badge{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;border-radius:8px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;transition:all .2s}.badge-success{background:var(--lv-success-soft);color:var(--lv-success);border:1px solid color-mix(in srgb,var(--lv-success) 10%,transparent)}.badge-warning{background:var(--lv-warning-soft);color:var(--lv-warning);border:1px solid color-mix(in srgb,var(--lv-warning) 10%,transparent)}.badge-danger{background:var(--lv-danger-soft);color:var(--lv-danger);border:1px solid color-mix(in srgb,var(--lv-danger) 10%,transparent)}.badge-info{background:var(--lv-info-soft);color:var(--lv-info);border:1px solid color-mix(in srgb,var(--lv-info) 10%,transparent)}.badge-secondary{background:var(--lv-background);color:var(--lv-neutral);border:1px solid var(--border)}.form-label{display:block;font-size:12.5px;font-weight:700;color:var(--text);margin-bottom:8px}.form-control{width:100%;padding:10px 14px;border-radius:12px;border:1px solid var(--border);background:var(--lv-surface);font-size:13.5px;color:var(--text);transition:all .2s cubic-bezier(.4,0,.2,1)}.form-control:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 4px var(--primary-light);background:var(--lv-surface)}.form-control::placeholder{color:var(--muted);opacity:.5}.table-wrap{background:var(--lv-surface);border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow-soft);overflow:hidden;margin-bottom:24px;width:100%}table{width:100%;border-collapse:collapse;text-align:left;table-layout:fixed}th{background:var(--lv-background);padding:16px 20px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.8px;color:var(--muted);border-bottom:1px solid var(--border)}td{padding:16px 20px;font-size:13.5px;color:var(--text);border-bottom:1px solid var(--border);vertical-align:middle}tr:last-child td{border-bottom:none}tr:hover td{background:var(--lv-background)}.table-action-cell{display:flex;gap:8px;align-items:center}.sidebar{position:fixed;top:0;left:0;bottom:0;width:var(--sidebar-width);background:var(--sidebar-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:1000;transition:transform .3s cubic-bezier(.4,0,.2,1);border-right:1px solid var(--lv-primary);padding:24px 16px;display:flex;flex-direction:column;overflow-y:auto}.sidebar-brand{display:flex;align-items:center;gap:14px;padding:0 12px;margin-bottom:36px}.sidebar-logo{width:40px;height:40px;border-radius:12px;background:var(--primary);color:var(--lv-surface);display:grid;place-items:center;font-weight:900;font-size:20px}.sidebar-brand-text{color:var(--sidebar-head);font-weight:800;font-size:16px;letter-spacing:.5px}.sidebar-brand-sub{color:var(--lv-neutral);font-size:11px;margin-top:1px}.nav-item,.nav-group summary{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:12px;color:var(--sidebar-text);text-decoration:none;font-size:13.5px;font-weight:600;cursor:pointer;transition:all .2s;margin-bottom:4px;list-style:none}.nav-item:hover,.nav-group summary:hover{background:var(--sidebar-hover);color:var(--lv-primary)}.nav-item.active{background:var(--primary);color:var(--lv-surface);box-shadow:0 8px 16px color-mix(in srgb,var(--lv-primary) 20%,transparent)}.nav-icon{width:22px;display:flex;justify-content:center;font-size:16px;opacity:1}.nav-group summary{position:relative}.nav-arrow{position:absolute;right:14px;font-size:10px;transition:transform .3s;opacity:1}.nav-group[open] summary .nav-arrow{transform:rotate(90deg)}.nav-group[open] summary{color:var(--lv-primary)}.nav-group.has-active summary{color:var(--lv-primary);background:var(--lv-info-soft)}.nav-submenu{padding-left:20px;margin-top:4px;margin-bottom:12px;border-left:1px solid var(--lv-border);margin-left:24px}.nav-submenu a{display:flex;align-items:center;gap:10px;padding:9px 14px;border-radius:10px;color:var(--sidebar-text);text-decoration:none;font-size:13px;font-weight:500;transition:all .2s}.nav-submenu a:hover{color:var(--lv-primary);background:var(--lv-info-soft)}.nav-submenu a.active,.nav-submenu a.active:hover,.nav-submenu a.active:focus{color:var(--lv-surface);font-weight:700;background:var(--primary);box-shadow:0 8px 16px color-mix(in srgb,var(--lv-primary) 18%,transparent)}.sub-dot{width:4px;height:4px;border-radius:50%;background:currentColor;opacity:.75}.nav-submenu-item{position:relative;display:flex;align-items:center;gap:10px;padding:9px 14px;border-radius:10px;font-size:13px;font-weight:500}.nav-submenu-item.disabled{color:var(--lv-neutral);cursor:not-allowed}.sidebar-info-trigger{margin-left:auto;border:0;background:transparent;color:var(--lv-neutral);cursor:help;font-size:12px;padding:2px}.sidebar-info-trigger:hover{color:var(--lv-primary)}.sidebar-info-popover{position:absolute;right:8px;top:calc(100% + 4px);z-index:20;display:none;width:220px;padding:8px 10px;border-radius:10px;background:var(--lv-surface);color:var(--lv-text);font-size:12px;border:1px solid var(--lv-border);box-shadow:0 10px 20px #0f172a1f}.sidebar-info-popover.open{display:block}.header{position:fixed;top:0;left:var(--sidebar-width);right:0;height:var(--header-h);background:var(--header-bg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:900;border-bottom:1px solid var(--border);padding:0 32px;display:flex;align-items:center;justify-content:space-between;transition:left .3s cubic-bezier(.4,0,.2,1)}.header-search{position:relative;width:320px}.header-search input{width:100%;padding:10px 16px 10px 42px;border-radius:14px;border:1px solid var(--border);background:var(--lv-background);font-size:13px;transition:all .2s}.header-search input:focus{background:var(--lv-surface);border-color:var(--primary);outline:none;box-shadow:0 0 0 4px var(--primary-light)}.search-icon{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--muted);font-size:14px}.header-right{display:flex;align-items:center;gap:8px}.header-btn{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;border:none;background:transparent;color:var(--muted);cursor:pointer;transition:all .2s;position:relative}.header-btn:hover{background:var(--lv-background);color:var(--primary)}.notif-dot{position:absolute;top:10px;right:10px;width:8px;height:8px;background:var(--danger);border:2px solid var(--lv-surface);border-radius:50%}.header-divider{width:1px;height:24px;background:var(--line);margin:0 12px}.header-user{display:flex;align-items:center;gap:10px;padding:6px 12px;border-radius:12px;cursor:pointer;transition:background .2s}.header-user:hover{background:var(--lv-background)}.user-avatar{width:34px;height:34px;border-radius:10px;background:var(--primary);color:var(--lv-surface);display:grid;place-items:center;font-weight:800;font-size:14px}.user-name{font-size:13.5px;font-weight:700;color:var(--text)}.user-role{font-size:11px;color:var(--muted);margin-top:-1px}.app-main{margin-left:var(--sidebar-width);padding:calc(var(--header-h) + 32px) 32px 40px;min-height:100vh;transition:margin-left .3s cubic-bezier(.4,0,.2,1)}body.guest-mode .app-main{margin-left:0;padding:0}.sidebar-toggle-btn{position:fixed;left:calc(var(--sidebar-width) - 14px);top:30px;width:28px;height:28px;border-radius:8px;background:var(--lv-surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);z-index:1100;display:grid;place-items:center;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);color:var(--muted)}.sidebar-toggle-btn:hover{color:var(--primary);border-color:var(--primary)}body.sidebar-collapsed .sidebar{transform:translate(-100%)}body.sidebar-collapsed .header{left:0}body.sidebar-collapsed .app-main{margin-left:0}body.sidebar-collapsed .sidebar-toggle-btn{left:16px;top:16px;transform:scale(1.1)}@media(max-width:1024px){.header-search{width:200px}}@media(max-width:768px){.sidebar{transform:translate(-100%)}.header{left:0;padding:0 16px}.app-main{margin-left:0;padding:calc(var(--header-h) + 20px) 16px 40px}.sidebar-toggle-btn,.header-search{display:none}.mobile-menu-btn{display:grid!important}body.sidebar-mobile-open .sidebar{transform:translate(0)}body.sidebar-mobile-open .sidebar-overlay{display:block}}.sidebar-overlay{display:none;position:fixed;inset:0;background:#0f172a66;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:950}.mobile-menu-btn{display:none;margin-right:12px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--lv-neutral);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:var(--lv-ink)}.page-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:28px}.page-title{font-size:24px;font-weight:900;color:var(--text);letter-spacing:-.5px}.page-sub{color:var(--muted);font-size:14px;margin-top:4px}.breadcrumb{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin-bottom:8px}.breadcrumb span{color:var(--primary)}.breadcrumb-link{color:inherit;text-decoration:none;transition:color .2s}.breadcrumb-link:hover{color:var(--primary)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;margin-bottom:32px}.stat-card{background:var(--lv-surface);border-radius:var(--radius);padding:24px;border:1px solid var(--border);box-shadow:var(--shadow)}.stat-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:12px}.stat-label{font-size:13px;font-weight:700;color:var(--muted);margin-bottom:4px}.stat-value{font-size:28px;font-weight:900;color:var(--text);line-height:1}.stat-icon{width:44px;height:44px;border-radius:12px;background:var(--bg);color:var(--primary);display:grid;place-items:center;font-size:18px}.stat-hint{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:4px}.dashboard-shell{display:flex;flex-direction:column;gap:32px}.user-dropdown{position:relative}.user-dropdown-menu{display:none;position:absolute;top:calc(100% + 8px);right:0;background:var(--lv-surface);border:1px solid var(--lv-border);border-radius:12px;box-shadow:0 8px 24px #0f172a1f;min-width:180px;z-index:9999;overflow:hidden;animation:dropFade .15s ease}.user-dropdown-menu.open{display:block}@keyframes dropFade{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.user-dropdown-item{display:flex;align-items:center;gap:10px;width:100%;padding:11px 16px;font-size:13.5px;font-weight:500;background:none;border:none;cursor:pointer;color:var(--text);text-align:left;transition:background .15s}.user-dropdown-item:hover{background:var(--lv-background)}.user-dropdown-item.user-dropdown-danger{color:var(--lv-danger)}.user-dropdown-item.user-dropdown-danger:hover{background:var(--lv-danger-soft)}.user-dropdown-divider{height:1px;background:var(--lv-border);margin:2px 0}.cp-modal-overlay{position:fixed;inset:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;z-index:99999;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.cp-modal-box{background:var(--lv-surface);border-radius:18px;width:100%;max-width:420px;box-shadow:0 20px 60px #0f172a2e;overflow:hidden;animation:cpSlide .2s ease}@keyframes cpSlide{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.cp-modal-header{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--lv-border);font-size:15px;font-weight:700;color:var(--text)}.cp-modal-close{background:none;border:none;font-size:22px;cursor:pointer;color:var(--muted);line-height:1;padding:0 4px}.cp-modal-close:hover{color:var(--text)}.cp-modal-body{padding:22px;display:flex;flex-direction:column;gap:16px}.cp-form-group{display:flex;flex-direction:column;gap:6px}.cp-label{font-size:13px;font-weight:600;color:var(--text)}.cp-input{padding:10px 14px;border:1.5px solid var(--lv-border);border-radius:10px;font-size:14px;outline:none;transition:border-color .2s;background:var(--lv-background)}.cp-input:focus{border-color:var(--primary);background:var(--lv-surface)}.cp-alert-success{background:var(--lv-success-soft);border:1px solid color-mix(in srgb,var(--lv-success) 35%,transparent);color:var(--lv-success);border-radius:8px;padding:10px 14px;font-size:13px}.cp-alert-error{background:var(--lv-danger-soft);border:1px solid color-mix(in srgb,var(--lv-danger) 35%,transparent);color:var(--lv-danger);border-radius:8px;padding:10px 14px;font-size:13px}.cp-modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:16px 22px;border-top:1px solid var(--lv-border)}.cp-btn-cancel{padding:9px 20px;border-radius:9px;border:1.5px solid var(--lv-border);background:var(--lv-surface);font-size:13.5px;font-weight:600;cursor:pointer;color:var(--muted);transition:background .15s}.cp-btn-cancel:hover{background:var(--lv-background)}.cp-btn-save{padding:9px 22px;border-radius:9px;border:none;background:var(--primary);color:var(--lv-surface);font-size:13.5px;font-weight:600;cursor:pointer;transition:opacity .15s}.cp-btn-save:hover{opacity:.88}.kanban-page{background:var(--lv-background);color:var(--lv-ink)}.kanban-shell{max-width:1200px;margin:0 auto;padding:32px 20px 48px}.kanban-header{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:20px}.kanban-header h1{margin:0;font-size:24px;font-weight:800}.kanban-header p{margin:6px 0 0;color:var(--lv-neutral)}.kanban-open-form-btn{padding:11px 18px;border:0;border-radius:12px;background:var(--lv-primary);color:var(--lv-surface);font-weight:700;cursor:pointer;transition:background .15s}.kanban-open-form-btn:hover{background:var(--lv-primary-dark)}.kanban-label-select{padding:11px 14px;border:1px solid var(--lv-border);border-radius:12px;background:var(--lv-surface);font-size:13px;color:var(--lv-ink);cursor:pointer}.kanban-photo-input{max-width:200px;padding:6px 10px;font-size:12px}.kanban-photo-count{margin:-6px 0 12px;color:var(--lv-primary);font-size:13px;font-weight:700}.kanban-card button{border:0;cursor:pointer}.kanban-error{margin:0 0 10px;color:var(--lv-danger);font-size:13px}.kanban-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.kanban-column{min-height:360px;padding:16px;border:1px solid var(--lv-border);border-radius:18px;background:var(--lv-surface);transition:border-color .2s,box-shadow .2s}.kanban-column:hover{border-color:color-mix(in srgb,var(--lv-primary) 30%,transparent);box-shadow:0 12px 30px #0f172a0f}.kanban-column-head{display:flex;align-items:center;gap:8px;margin-bottom:14px}.kanban-column-head h2{margin:0;font-size:15px;font-weight:800}.kanban-dot{width:10px;height:10px;border-radius:50%}.kanban-count{margin-left:auto;min-width:26px;padding:3px 8px;border-radius:999px;background:var(--lv-background);color:var(--lv-neutral);text-align:center;font-size:12px;font-weight:700}.kanban-card{margin-bottom:10px;padding:13px 14px;border:1px solid var(--lv-border);border-radius:13px;background:var(--lv-background);cursor:grab}.kanban-card-photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:8px;margin-bottom:10px}.kanban-card-photo{width:100%;height:90px;object-fit:cover;border-radius:8px}.kanban-photo-trigger{display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in}.kanban-card-content{display:flex;align-items:center;justify-content:space-between;gap:10px}.kanban-card-text{display:flex;flex-direction:column;gap:5px;min-width:0}.kanban-label{display:inline-flex;align-items:center;align-self:flex-start;padding:3px 10px;border-radius:999px;color:var(--lv-surface);font-size:11px;font-weight:700;letter-spacing:.3px;line-height:1}.kanban-card:active{cursor:grabbing}.kanban-card-content p{margin:0;font-weight:600;word-break:break-word}.kanban-card-content button{flex-shrink:0;width:24px;height:24px;border-radius:6px;background:transparent;color:var(--lv-neutral);font-size:14px;line-height:1}.kanban-card-content button:hover{background:var(--lv-border);color:var(--lv-neutral)}.kanban-assignee{display:inline-flex;align-items:center;gap:6px;margin-top:6px;padding:4px 10px 4px 4px;border-radius:999px;background:var(--lv-background);align-self:flex-start}.kanban-assignee-avatar{width:20px;height:20px;border-radius:50%;background:var(--lv-primary);color:var(--lv-surface);font-size:10px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0}.kanban-assignee-name{font-size:11px;font-weight:700;color:var(--lv-neutral);line-height:1}.kanban-card-actions{display:flex;gap:4px}.kanban-card-photo-wrapper{position:relative}.kanban-photo-delete{position:absolute;top:4px;right:4px;width:20px;height:20px;border:0;border-radius:50%;background:#0009;color:var(--lv-surface);cursor:pointer;font-size:12px;line-height:1;display:flex;align-items:center;justify-content:center}.kanban-photo-delete:hover{background:color-mix(in srgb,var(--lv-danger) 90%,transparent)}.kanban-form-overlay .kanban-modal-backdrop{cursor:default}.kanban-form-modal{position:relative;z-index:1;width:min(420px,calc(100vw - 32px));padding:22px 24px;border-radius:16px;background:var(--lv-surface);box-shadow:0 24px 60px #0f172a40;text-align:left}.kanban-form-modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.kanban-form-modal-head h2{margin:0;font-size:17px;font-weight:800}.kanban-form-modal-head button{width:28px;height:28px;border:0;border-radius:8px;background:var(--lv-background);color:var(--lv-neutral);font-size:15px;cursor:pointer}.kanban-form-modal-head button:hover{background:var(--lv-border);color:var(--lv-neutral)}.kanban-form-field{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.kanban-form-field span{font-size:12px;font-weight:700;color:var(--lv-neutral)}.kanban-form-field input,.kanban-form-field .kanban-label-select{width:100%;padding:10px 12px;border:1px solid var(--lv-border);border-radius:10px;background:var(--lv-surface);font-size:13px}.kanban-form-field input:focus,.kanban-form-field .kanban-label-select:focus{outline:none;border-color:var(--lv-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--lv-primary) 15%,transparent)}.kanban-form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.kanban-form-actions button{padding:10px 18px;border:0;border-radius:10px;cursor:pointer;font-size:13px;font-weight:700}.kanban-btn-save{background:var(--lv-primary);color:var(--lv-surface)}.kanban-btn-cancel{background:var(--lv-border);color:var(--lv-neutral)}.kanban-modal-overlay{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:#000000bf;overflow:hidden}.kanban-modal-backdrop{position:absolute;inset:0;border:0;background:transparent;cursor:zoom-out}.kanban-modal-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:12px}.kanban-modal-controls{display:flex;align-items:center;gap:8px}.kanban-modal-controls button{min-width:36px;height:36px;padding:0 10px;border:1px solid rgba(255,255,255,.3);border-radius:8px;background:#ffffff1a;color:var(--lv-surface);cursor:pointer;font-size:15px;font-weight:700;display:flex;align-items:center;justify-content:center;transition:background .15s}.kanban-modal-controls button:hover{background:#ffffff40}.kanban-modal-zoom-label{color:#ffffffd9;font-size:13px;font-weight:700;min-width:48px;text-align:center}.kanban-modal-image{max-width:80vw;max-height:70vh;object-fit:contain;border-radius:8px;transition:transform .2s ease;cursor:grab}.kanban-empty{padding:18px;border:1px dashed var(--lv-neutral);border-radius:12px;color:var(--lv-neutral);text-align:center}@media(max-width:760px){.kanban-header{align-items:stretch;flex-direction:column}.kanban-form input{width:100%}.kanban-form{display:grid}.kanban-board{grid-template-columns:1fr}}
