:root{--color-primary:#6366f1;--color-primary-dark:#4f46e5;--color-primary-light:#818cf8;--color-primary-50:#eef2ff;--color-primary-100:#e0e7ff;--color-primary-200:#c7d2fe;--color-success:#10b981;--color-success-light:#d1fae5;--color-danger:#ef4444;--color-danger-light:#fee2e2;--color-warning:#f59e0b;--color-warning-light:#fef3c7;--color-info:#3b82f6;--color-info-light:#dbeafe;--color-bg:#f5f6fb;--color-bg-secondary:#eef0f6;--color-surface:#fff;--color-border:#e2e8f0;--color-border-light:#f1f5f9;--color-text-primary:#1e293b;--color-text-secondary:#64748b;--color-text-muted:#94a3b8;--color-text-inverse:#fff;--sidebar-width:200px;--header-height:50px;--sp-1:4px;--sp-2:6px;--sp-3:8px;--sp-4:10px;--sp-5:12px;--sp-6:14px;--sp-7:16px;--sp-8:20px;--sp-9:24px;--text-xs:.7rem;--text-sm:.75rem;--text-base:.8125rem;--text-md:.875rem;--text-lg:1rem;--text-xl:1.125rem;--text-2xl:1.375rem;--text-3xl:1.625rem;--input-height:32px;--input-padding:5px 10px;--input-font:var(--text-base);--btn-height:32px;--btn-padding:5px 14px;--btn-font:var(--text-base);--btn-sm-padding:4px 10px;--btn-sm-font:var(--text-sm);--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-xl:12px;--radius-full:9999px;--shadow-sm:0 1px 2px #0000000a;--shadow-md:0 1px 4px #0000000f, 0 1px 2px #00000008;--shadow-lg:0 4px 12px #00000012, 0 1px 4px #0000000a;--shadow-xl:0 8px 24px #00000017, 0 2px 8px #0000000a;--font-sans:"Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--transition:.12s ease}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;font-size:16px}body{font-family:var(--font-sans);background-color:var(--color-bg);color:var(--color-text-primary);font-size:var(--text-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5}a{color:var(--color-primary);transition:color var(--transition);text-decoration:none}a:hover{color:var(--color-primary-dark)}button{cursor:pointer;background:0 0;border:none;font-family:inherit}input,select,textarea{font-family:inherit}.form-group{flex-direction:column;gap:4px;display:flex}.form-label{font-size:var(--text-sm);color:var(--color-text-primary);font-weight:500}.form-input{width:100%;height:var(--input-height);padding:var(--input-padding);font-size:var(--input-font);color:var(--color-text-primary);background-color:var(--color-surface);border:2px solid var(--color-border);transition:border-color var(--transition), box-shadow var(--transition);border-radius:4px;outline:none}.form-input::placeholder{color:var(--color-text-muted)}.form-input:focus{border:2px solid var(--color-primary);box-shadow:none}.form-input.error{border-color:var(--color-danger);box-shadow:none}.form-error{font-size:var(--text-xs);color:var(--color-danger);margin-top:2px}.form-hint{font-size:var(--text-xs);color:var(--color-text-muted);margin-top:2px}.btn{height:var(--btn-height);padding:var(--btn-padding);font-size:var(--btn-font);border-radius:var(--radius-md);transition:all var(--transition);cursor:pointer;white-space:nowrap;border:none;justify-content:center;align-items:center;gap:6px;font-family:inherit;font-weight:600;line-height:1;display:inline-flex}.btn-primary{background-color:var(--color-primary);color:#fff}.btn-primary:hover{background-color:var(--color-primary-dark);box-shadow:var(--shadow-md)}.btn-primary:disabled{opacity:.55;cursor:not-allowed}.btn-outline{color:var(--color-primary);border:1px solid var(--color-primary-200);background-color:#0000}.btn-outline:hover{background-color:var(--color-primary-50)}.btn-ghost{color:var(--color-text-secondary);background-color:#0000}.btn-ghost:hover{background-color:var(--color-bg-secondary);color:var(--color-text-primary)}.btn-danger{background-color:var(--color-danger);color:#fff}.btn-danger:hover{background-color:#dc2626}.btn-sm{height:28px;padding:var(--btn-sm-padding);font-size:var(--btn-sm-font)}.btn-lg{height:38px;font-size:var(--text-md);padding:8px 20px}.btn-full{width:100%}.card{background-color:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border)}.card-body{padding:var(--sp-7)}.stat-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--sp-7);background:#fff}.stat-card-value{font-size:var(--text-xl);color:var(--color-text-primary);font-weight:700;line-height:1.2}.stat-card-label{font-size:var(--text-xs);color:var(--color-text-muted);margin-top:2px}.stat-card-icon{font-size:1.25rem}.table-wrap{overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:var(--text-base)}.data-table th{font-size:var(--text-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--color-border);text-align:left;white-space:nowrap;background:#f8f9fc;padding:6px 10px;font-weight:700}.data-table td{font-size:var(--text-base);color:var(--color-text-primary);border-bottom:1px solid var(--color-border-light);vertical-align:middle;padding:8px 10px}.data-table tbody tr:hover td{background:var(--color-bg-secondary)}.data-table tbody tr:last-child td{border-bottom:none}.badge{font-size:var(--text-xs);border-radius:var(--radius-full);white-space:nowrap;align-items:center;padding:2px 7px;font-weight:600;line-height:1.4;display:inline-flex}.badge-green{color:#065f46;background:#d1fae5}.badge-red{color:#991b1b;background:#fee2e2}.badge-amber{color:#92400e;background:#fef3c7}.badge-blue{color:#1e40af;background:#dbeafe}.badge-purple{color:#5b21b6;background:#ede9fe}.badge-gray{color:#374151;background:#f3f4f6}.modal-backdrop{z-index:1000;background:#0006;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal-box{border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);background:#fff;flex-direction:column;width:100%;max-width:480px;max-height:90vh;display:flex;overflow-y:auto}.modal-header{border-bottom:1px solid var(--color-border-light);justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.modal-title{font-size:var(--text-md);color:var(--color-text-primary);font-weight:700}.modal-close{background:var(--color-bg-secondary);width:26px;height:26px;color:var(--color-text-muted);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.75rem;display:flex}.modal-close:hover{background:var(--color-border);color:var(--color-text-primary)}.modal-body{flex-direction:column;flex:1;gap:12px;padding:16px 18px;display:flex}.modal-footer{border-top:1px solid var(--color-border-light);justify-content:flex-end;gap:8px;padding:12px 18px;display:flex}.page-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.page-title{font-size:var(--text-2xl);color:var(--color-primary);margin:0;font-weight:700}.page-subtitle{font-size:var(--text-base);color:var(--color-text-muted);margin-top:2px}.filter-bar{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:#fff;flex-wrap:wrap;align-items:flex-end;gap:8px;margin-bottom:12px;padding:10px 12px;display:flex}.select-compact{height:var(--input-height);padding:var(--input-padding);font-size:var(--input-font);border:1px solid var(--color-border);color:var(--color-text-primary);cursor:pointer;background:#fff;border-width:1.5px;border-radius:4px;outline:none;min-width:120px}.select-compact:focus{border-color:var(--color-primary);box-shadow:none}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.text-xs{font-size:var(--text-xs)}.text-sm{font-size:var(--text-sm)}.text-base{font-size:var(--text-base)}.text-md{font-size:var(--text-md)}.text-muted{color:var(--color-text-muted)}.text-primary-color{color:var(--color-primary)}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}.ap-search-input,.ap-select,.bv-search-input,.bv-select,.dv-search-input,.dv-select,.lv-search-input,.lv-select,.iv-search-input,.iv-filter-select,.stv-search-input,.stv-select,.filter-sel,.filter-inp,.filter-select,.search-input,.select-compact{border:2px solid var(--color-border)!important;background:#fff!important;border-radius:6px!important}.ap-search-input:focus,.ap-select:focus,.bv-search-input:focus,.bv-select:focus,.dv-search-input:focus,.dv-select:focus,.lv-search-input:focus,.lv-select:focus,.iv-search-input:focus,.iv-filter-select:focus,.stv-search-input:focus,.stv-select:focus,.filter-sel:focus,.filter-inp:focus,.filter-select:focus,.search-input:focus,.select-compact:focus{border-width:2px!important;border-color:var(--color-primary)!important;box-shadow:none!important;outline:none!important}.filter-field,.tx-filter-field{border:2px solid var(--color-border)!important;background:#fff!important;border-radius:6px!important}.filter-field:focus-within,.tx-filter-field:focus-within{border-width:2px!important;border-color:var(--color-primary)!important;box-shadow:none!important}html[data-dark="1"] .ap-search-input,html[data-dark="1"] .ap-select,html[data-dark="1"] .bv-search-input,html[data-dark="1"] .bv-select,html[data-dark="1"] .dv-search-input,html[data-dark="1"] .dv-select,html[data-dark="1"] .lv-search-input,html[data-dark="1"] .lv-select,html[data-dark="1"] .iv-search-input,html[data-dark="1"] .iv-filter-select,html[data-dark="1"] .stv-search-input,html[data-dark="1"] .stv-select,html[data-dark="1"] .filter-sel,html[data-dark="1"] .filter-inp,html[data-dark="1"] .filter-select,html[data-dark="1"] .search-input,html[data-dark="1"] .select-compact,html[data-dark="1"] .filter-field,html[data-dark="1"] .tx-filter-field,html[data-dark="1"] .gv-search-wrap,html[data-dark="1"] .gv-select,html[data-dark="1"] .gv-page-size-select,html[data-dark="1"] .stv-hist-select,html[data-dark="1"] .stv-hist-field{background:var(--color-surface)!important}input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=range]):not([type=submit]):not([type=button]):not([type=reset]),select,textarea{border-width:2px!important;border-radius:4px!important}input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=range]):not([type=submit]):not([type=button]):not([type=reset]):focus,select:focus,textarea:focus{outline:none;box-shadow:none!important;border-width:2px!important}html[data-dark="1"]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg:#0f172a;--color-bg-secondary:#182030;--color-surface:#1e293b;--color-border:#2d3f55;--color-border-light:#243040;--color-text-primary:#f1f5f9;--color-text-secondary:#94a3b8;--color-text-muted:#7e8fa6;--color-success-light:#134e2e;--color-danger-light:#3b0f0f;--color-warning-light:#3b2700;--color-info-light:#0f2545}html[data-dark="1"] body{background-color:var(--color-bg);color:var(--color-text-primary)}html[data-dark="1"] [class*=card],html[data-dark="1"] [class*=-wrap]:not(button):not(label):not(a):not([class*=color]),html[data-dark="1"] [class*=-box]:not(button):not(label):not(a),html[data-dark="1"] [class*=-section]:not(button),html[data-dark="1"] [class*=-panel]:not(button),html[data-dark="1"] [class*=-container]:not(button),html[data-dark="1"] [class*=table-wrap],html[data-dark="1"] [class*=-list]:not(ul):not(ol){background-color:var(--color-surface)!important;border-color:var(--color-border)!important}html[data-dark="1"] [class*=card] :not(button):not([class*=btn]):not([class*=badge]):not([class*=status-]):not([class*=-status]):not([class*=chip]):not([class*=tag]):not(input):not(select):not(textarea):not(svg):not(path),html[data-dark="1"] [class*=table] :not(button):not([class*=btn]):not([class*=badge]):not([class*=status-]):not([class*=-status]):not([class*=chip]):not([class*=tag]):not(input):not(select):not(textarea):not(svg):not(path),html[data-dark="1"] td :not(button):not([class*=btn]):not([class*=badge]):not([class*=status-]):not([class*=-status]):not([class*=chip]):not([class*=tag]):not(svg):not(path),html[data-dark="1"] [class*=page]>:not(button):not([class*=btn]):not([class*=badge]):not([class*=status-]):not([class*=-status]){color:var(--color-text-primary)!important}html[data-dark="1"] [class*=-sub],html[data-dark="1"] [class*=-desc],html[data-dark="1"] [class*=-meta],html[data-dark="1"] [class*=-note],html[data-dark="1"] [class*=-hint],html[data-dark="1"] [class*=-caption],html[data-dark="1"] [class*=-date] *,html[data-dark="1"] [class*=-time] *,html[data-dark="1"] [class*=-created] *,html[data-dark="1"] [class*=-updated] *,html[data-dark="1"] [class*=secondary],html[data-dark="1"] [class*=muted],html[data-dark="1"] small{color:var(--color-text-secondary)!important}html[data-dark="1"] table{background:0 0!important}html[data-dark="1"] thead,html[data-dark="1"] thead tr,html[data-dark="1"] thead th,html[data-dark="1"] th{background-color:var(--color-bg)!important;color:var(--color-text-muted)!important;border-color:var(--color-border)!important}html[data-dark="1"] tbody tr{background:0 0!important}html[data-dark="1"] tbody tr:hover,html[data-dark="1"] tbody tr:hover td{background-color:var(--color-bg-secondary)!important}html[data-dark="1"] td{color:var(--color-text-primary)!important;border-color:var(--color-border)!important}html[data-dark="1"] input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=range]),html[data-dark="1"] select,html[data-dark="1"] textarea{background-color:var(--color-bg-secondary)!important;border-color:var(--color-border)!important;color:var(--color-text-primary)!important}html[data-dark="1"] input::placeholder,html[data-dark="1"] textarea::placeholder{color:var(--color-text-muted)!important}html[data-dark="1"] [class*=pagination],html[data-dark="1"] [class*=pager],html[data-dark="1"] [class*=table-foot],html[data-dark="1"] [class*=-footer],html[data-dark="1"] [class*=showing],html[data-dark="1"] [class*=result]{color:var(--color-text-secondary)!important;border-color:var(--color-border)!important}html[data-dark="1"] [class*=pagination] button,html[data-dark="1"] [class*=pager] button,html[data-dark="1"] [class*=page-btn]{background:var(--color-bg-secondary)!important;border-color:var(--color-border)!important;color:var(--color-text-primary)!important}html[data-dark="1"] [class*=pagination] button.active,html[data-dark="1"] [class*=page-btn].active,html[data-dark="1"] [class*=page-btn][class*=current]{background:var(--color-primary)!important;color:#fff!important;border-color:var(--color-primary)!important}html[data-dark="1"] [class*=divider],html[data-dark="1"] hr{background-color:var(--color-border)!important;border-color:var(--color-border)!important}html[data-dark="1"] .modal-backdrop{background:#000000bf!important}html[data-dark="1"] .modal-box,html[data-dark="1"] [class*=modal-]:not(button),html[data-dark="1"] [class*=dropdown]:not(button):not(select),html[data-dark="1"] [class*=popover],html[data-dark="1"] [class*=tooltip]{background-color:var(--color-surface)!important;border-color:var(--color-border)!important;color:var(--color-text-primary)!important}html[data-dark="1"] .page-title{color:var(--color-primary)!important}html[data-dark="1"] .page-header,html[data-dark="1"] [class*=page-header]{border-color:var(--color-border)!important}html[data-dark="1"] *{scrollbar-color:var(--color-border) transparent}html[data-compact="1"]{--sp-7:10px;--sp-8:14px;--sp-9:18px;--input-height:28px;--btn-height:28px;--btn-padding:3px 10px}@media print{.app-shell,.app-main,.app-content{height:auto!important;max-height:none!important;display:block!important;overflow:visible!important}.sidenav,.top-header{display:none!important}.app-content{padding:0!important}html,body{height:auto!important;overflow:visible!important}}
