:root{--bg-base:#030817;--bg-surface:#06142c;--bg-elevated:#0a1d3b;--bg-card:#0e284f;--bg-hover:#143967;--bg-overlay:#000000bf;--accent:#c60706;--accent-hover:#e01b19;--accent-muted:#c6070629;--accent-glow:#c6070659;--accent-border:#c6070680;--blue:#86a8d2;--blue-muted:#86a8d229;--success:#10b981;--success-muted:#10b9811f;--success-border:#10b9814d;--warning:#fbbf24;--warning-muted:#fbbf241f;--danger:#ff6b6b;--danger-muted:#ff6b6b1f;--danger-border:#ff6b6b4d;--neutral:#64748b;--neutral-muted:#64748b1f;--text-primary:#fff;--text-secondary:#e2e8f0;--text-muted:#94a3b8;--text-inverse:#fff;--border:#ffffff12;--border-strong:#ffffff21;--border-focus:#c60706b3;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:20px;--s6:24px;--s8:32px;--s10:40px;--s12:48px;--s16:64px;--font:"Inter", -apple-system, BlinkMacSystemFont, sans-serif;--text-xs:11px;--text-sm:13px;--text-base:15px;--text-md:17px;--text-lg:20px;--text-xl:24px;--text-2xl:30px;--text-3xl:38px;--r-sm:6px;--r-md:10px;--r-lg:14px;--r-xl:20px;--r-full:9999px;--shadow-sm:0 1px 3px #00000080;--shadow-md:0 4px 16px #0009;--shadow-lg:0 8px 32px #000000b3;--shadow-accent:0 0 20px var(--accent-glow);--t-fast:.15s ease;--t-base:.25s ease;--sidebar-w:276px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;scroll-behavior:smooth;font-size:16px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{font-family:var(--font);background:var(--bg-base);color:var(--text-primary);min-height:100vh;line-height:1.6}a{color:var(--accent);text-decoration:none}img,svg{max-width:100%;display:block}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:var(--bg-base)}::-webkit-scrollbar-thumb{background:var(--bg-hover);border-radius:var(--r-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}::selection{background:var(--accent-muted);color:var(--text-primary)}.page-title{font-size:var(--text-2xl);color:var(--text-primary);letter-spacing:-.03em;font-weight:800}.page-subtitle{font-size:var(--text-sm);color:var(--text-secondary);margin-top:2px}.page-header{justify-content:space-between;align-items:flex-start;gap:var(--s3);margin-bottom:var(--s6);flex-wrap:wrap;display:flex}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--s5);transition:border-color var(--t-base), box-shadow var(--t-base), transform var(--t-base)}.card:hover{box-shadow:var(--shadow-md);border-color:#c6070659}.compact-card{padding:var(--s4)}.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--s4) var(--s5);transition:all var(--t-base);position:relative;overflow:hidden}.stat-card:before{content:"";background:linear-gradient(90deg, var(--accent), transparent);opacity:0;height:2px;transition:opacity var(--t-base);position:absolute;top:0;left:0;right:0}.stat-card:hover{box-shadow:var(--shadow-md);border-color:#c6070666;transform:translateY(-2px)}.stat-card:hover:before{opacity:1}.stat-icon{border-radius:var(--r-md);width:38px;height:38px;margin-bottom:var(--s3);justify-content:center;align-items:center;font-size:20px;display:flex}.stat-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:.35rem;font-size:.72rem;font-weight:600}.stat-value{color:var(--text-primary);letter-spacing:-.03em;font-size:1.75rem;font-weight:800;line-height:1}.stat-unit{color:var(--text-secondary);margin-top:.35rem;font-size:.82rem;font-weight:500}.grid{display:grid}.grid-4{gap:var(--s3);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.grid-3{gap:var(--s3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.grid-2{gap:var(--s3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.grid-5{gap:var(--s3);grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.btn{justify-content:center;align-items:center;gap:var(--s2);padding:10px var(--s5);border-radius:var(--r-md);font-family:var(--font);font-size:var(--text-sm);cursor:pointer;transition:all var(--t-base);white-space:nowrap;-webkit-user-select:none;user-select:none;border:none;font-weight:600;display:inline-flex}.btn-primary{background:var(--accent);color:var(--text-inverse)}.btn-primary:hover{background:var(--accent-hover);box-shadow:var(--shadow-accent);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none}.btn-ghost{color:var(--text-secondary);border:1px solid var(--border);background:0 0}.btn-ghost:hover{background:var(--bg-elevated);color:var(--text-primary);border-color:var(--border-strong)}.btn-danger{background:var(--danger-muted);color:var(--danger);border:1px solid var(--danger-border)}.btn-danger:hover{background:var(--danger);color:#fff}.btn-success{background:var(--success-muted);color:var(--success);border:1px solid var(--success-border)}.btn-success:hover{background:var(--success);color:#fff}.btn-sm{padding:6px var(--s3);font-size:var(--text-xs)}.btn-lg{padding:14px var(--s8);font-size:var(--text-base)}.btn-icon{border-radius:var(--r-md);width:36px;height:36px;padding:0}.input-group{flex-direction:column;gap:6px;display:flex}.input-label{font-size:var(--text-sm);color:var(--text-secondary);font-weight:500}.input{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--r-md);width:100%;padding:11px var(--s4);font-family:var(--font);font-size:var(--text-base);color:var(--text-primary);transition:border-color var(--t-fast), box-shadow var(--t-fast);outline:none}.input::placeholder{color:var(--text-muted)}.input:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px #c6070629}.input-wrapper{position:relative}.input-prefix{color:var(--text-muted);pointer-events:none;font-size:16px;position:absolute;top:50%;left:13px;transform:translateY(-50%)}.input-suffix{cursor:pointer;color:var(--text-muted);background:0 0;border:none;font-size:16px;position:absolute;top:50%;right:13px;transform:translateY(-50%)}.input-suffix:hover{color:var(--text-primary)}.input-prefixed{padding-left:42px}.select{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--r-md);width:100%;padding:11px var(--s4);font-family:var(--font);font-size:var(--text-base);color:var(--text-primary);cursor:pointer;appearance:auto;z-index:1;outline:none;position:relative}.select:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px #c6070629}.multiselect-container{width:100%;position:relative}.multiselect-toggle{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--r-md);width:100%;padding:11px var(--s4);font-family:var(--font);font-size:var(--text-base);color:var(--text-primary);cursor:pointer;justify-content:space-between;align-items:center;display:flex}.multiselect-toggle:hover{border-color:var(--border-strong)}.multiselect-arrow{margin-left:var(--s2)}.multiselect-panel{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--r-md);z-index:4000;max-height:240px;padding:var(--s3);position:absolute;top:calc(100% + .3rem);left:0;right:0;overflow-y:auto;box-shadow:0 14px 40px #0000001f}.multiselect-item{cursor:pointer;color:var(--text-primary);align-items:center;gap:.75rem;padding:.5rem 0;display:flex}.multiselect-item input{width:16px;height:16px;accent-color:var(--accent)}.multiselect-empty{color:var(--text-muted);padding:var(--s2) 0}textarea.input{resize:vertical;min-height:80px;line-height:1.6}.badge{border-radius:var(--r-full);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;align-items:center;gap:4px;padding:3px 10px;font-weight:700;display:inline-flex}.badge-success{color:var(--success);background:#10b9811f;border:1px solid #10b9814d}.badge-danger{color:var(--danger);background:#ff6b6b1f;border:1px solid #ff6b6b4d}.badge-accent{color:#ff6b6b;background:#c6070614;border:1px solid #ff6b6b61}.badge-neutral{background:var(--neutral-muted);color:var(--neutral);border:1px solid #64748b40}.badge-blue{background:var(--blue-muted);color:var(--blue);border:1px solid #3b82f640}.badge-dot:before{content:"●";font-size:8px}.table-wrapper{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--bg-card);overflow:auto}.table{border-collapse:collapse;width:100%}.table thead tr{background:var(--bg-elevated);border-bottom:1px solid var(--border)}.table th{text-align:left;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);white-space:nowrap;padding:10px 12px;font-size:.72rem;font-weight:700}.table td{color:var(--text-secondary);border-bottom:1px solid var(--border);vertical-align:middle;padding:10px 12px;font-size:.82rem}.table tbody tr:last-child td{border-bottom:none}.table tbody tr{transition:background var(--t-fast)}.table tbody tr:hover{background:var(--bg-elevated)}.progress-track{background:var(--bg-elevated);border-radius:var(--r-full);width:100%;height:8px;overflow:hidden}.progress-fill{border-radius:var(--r-full);background:linear-gradient(90deg, var(--accent), var(--accent-hover));height:100%;box-shadow:0 0 8px var(--accent-glow);transition:width .8s cubic-bezier(.4,0,.2,1)}.modal-overlay{background:var(--bg-overlay);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:99999;width:100vw;height:100vh;padding:var(--s6);justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow-y:auto}.modal{background:var(--bg-surface);border-radius:var(--r-xl);border:1px solid #94a3b84d;flex-direction:column;width:min(100%,540px);max-width:min(540px,100vw - 2rem);max-height:min(90vh,100vh - 2rem);margin:auto;display:flex;position:relative;overflow:hidden;box-shadow:0 16px 48px #000000b3}.modal-header{padding:var(--s6);border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.modal-title{font-size:var(--text-md);color:var(--text-primary);font-weight:700}.modal-close{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--r-md);cursor:pointer;width:32px;height:32px;color:var(--text-muted);transition:all var(--t-fast);justify-content:center;align-items:center;font-size:16px;display:flex}.modal-close:hover{background:var(--danger-muted);color:var(--danger);border-color:var(--danger-border)}.modal-body{padding:var(--s6);gap:var(--s5);flex-direction:column;flex:1;max-height:none;display:flex;overflow:visible}.modal-body:focus-within{overflow:visible}.modal-body select:focus{z-index:3000;position:relative}@media (max-height:640px){.modal-overlay{padding-top:calc(var(--s6) + 20px);padding-bottom:calc(var(--s6) + 20px);align-items:flex-start}.modal{margin-top:12px;margin-bottom:12px}}.modal-footer{padding:var(--s4) var(--s6);border-top:1px solid var(--border);justify-content:flex-end;gap:var(--s3);background:var(--bg-elevated);flex-shrink:0;display:flex}.alert-error{background:var(--danger-muted);border:1px solid var(--danger-border);border-radius:var(--r-md);font-size:var(--text-sm);color:var(--danger);align-items:center;gap:var(--s2);padding:12px 16px;display:flex}.empty-state{padding:var(--s16);justify-content:center;align-items:center;gap:var(--s4);text-align:center;flex-direction:column;display:flex}.empty-icon{opacity:.4;font-size:48px}.empty-text{font-size:var(--text-base);color:var(--text-muted)}.spinner{border:2px solid #ffffff1f;border-top-color:currentColor;border-radius:50%;width:18px;height:18px;animation:.65s linear infinite spin;display:inline-block}.spinner-lg{border-width:3px;width:32px;height:32px}.divider{background:var(--border);height:1px;margin:var(--s6) 0}.section-title{font-size:var(--text-md);color:var(--text-primary);margin-bottom:var(--s5);font-weight:700}.anim{animation:.35s both slideUp}.anim-delay-1{animation-delay:50ms}.anim-delay-2{animation-delay:.1s}.anim-delay-3{animation-delay:.15s}.anim-delay-4{animation-delay:.2s}.anim-delay-5{animation-delay:.25s}.anim-delay-6{animation-delay:.3s}.anim-delay-7{animation-delay:.35s}.alert-success{background:var(--success-muted);border:1px solid var(--success-border);border-radius:var(--r-md);font-size:var(--text-sm);color:var(--success);align-items:center;gap:var(--s2);padding:12px 16px;display:flex}@media (max-width:1200px){.grid-4,.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:768px){.grid-4,.grid-3,.grid-2{grid-template-columns:1fr}}html,body,#__next{width:100%;min-width:320px}.page-container,.card,.table-wrapper,.modal,.modal-body,.input-group{min-width:0}.page-container{width:min(100%,1680px);margin-inline:auto;padding:clamp(16px,2vw,28px)}.page-title,.page-subtitle,.card,.table td,.table th{overflow-wrap:anywhere}.table-wrapper{overscroll-behavior-x:contain;max-width:100%;overflow-x:auto}.table{min-width:620px}.input,.select,.textarea,input:not([type=checkbox]):not([type=radio]),select,textarea{min-width:0;max-width:100%}.modal-overlay{width:auto;height:auto;padding:clamp(12px,3vw,24px)}.modal{max-width:min(100%,100vw - 24px);max-height:min(90vh,100dvh - 24px)}.modal-body{min-height:0}.responsive-grid-two,.responsive-grid-three{min-width:0}.responsive-grid-two{grid-template-columns:repeat(2,minmax(0,1fr))}.responsive-grid-three{grid-template-columns:repeat(3,minmax(0,1fr))}@media (min-width:1920px){:root{--sidebar-w:292px}}@media (max-width:1023px){.page-header{align-items:stretch}.page-header>*{min-width:0}.grid-5{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:768px){.grid-5,.grid-4,.grid-3,.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.page-header{gap:var(--s3);flex-direction:column}.page-header>:last-child{width:100%}.page-header .btn{white-space:normal}.modal-overlay{padding:max(12px, env(safe-area-inset-top)) 12px max(12px, env(safe-area-inset-bottom));align-items:flex-start}.modal{width:100%;max-width:100%;max-height:calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom));margin-block:auto}.modal-header{padding:var(--s4)}.modal-body{padding:var(--s4);overscroll-behavior:contain;overflow-y:auto}.modal-footer{padding:var(--s3) var(--s4);flex-wrap:wrap}.btn,.input,.select,input:not([type=checkbox]):not([type=radio]),select{min-height:44px}.responsive-grid-two,.responsive-grid-three{grid-template-columns:minmax(0,1fr)}}@media (max-width:480px){.page-title{font-size:clamp(1.35rem, 7vw, var(--text-2xl));line-height:1.2}.card{padding:var(--s3)}.grid-5,.grid-4,.grid-3,.grid-2{grid-template-columns:minmax(0,1fr)}.modal-title{font-size:var(--text-base)}.modal-footer>.btn{flex:120px}}
