*{box-sizing:border-box}:root,[data-theme=night]{--bg-app:#080c14;--bg-elevated:#0e1420;--bg-sidebar:#0a101a;--bg-header:#070b12;--bg-header-top:#0c1422;--bg-card:#101826;--bg-card-top:#141e2ef2;--bg-input:#0a1018;--bg-muted:#151e2e;--bg-hover:#2dd4bf14;--bg-active:#2dd4bf24;--border:#78a0c829;--border-strong:#2dd4bf66;--border-active:#2dd4bf38;--text:#e6eef8;--text-secondary:#9aabc0;--text-muted:#6a7c93;--accent:#2dd4bf;--accent-dim:#14b8a6;--accent-text:#042f2e;--accent-hover:#5eead4;--accent-ring:#2dd4bf33;--accent-line:#2dd4bf73;--accent-inset:#2dd4bf0a;--header-accent-line:#2dd4bf1f;--danger:#f87171;--danger-bg:#f871711f;--success:#4ade80;--success-bg:#4ade801f;--warning:#fbbf24;--warning-bg:#fbbf241f;--info:#38bdf8;--info-bg:#38bdf81f;--stat:#5eead4;--table-td-bg:#0a101a59;--modal-overlay:#040810b8;--login-shadow:0 24px 48px #00000073;--btn-primary:linear-gradient(180deg, #2dd4bf 0%, #14b8a6 100%);--glow-a:#2dd4bf17;--glow-b:#38bdf80f;--grid-line:#2dd4bf09;--login-glow:#2dd4bf24;--login-grid:#2dd4bf0a;--color-scheme:dark;--font:"Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;--font-mono:"Cascadia Code", "Consolas", "SF Mono", ui-monospace, monospace;--radius:6px}[data-theme=day]{--bg-app:#eef2f7;--bg-elevated:#f7f9fc;--bg-sidebar:#f4f7fb;--bg-header:#fff;--bg-header-top:#fff;--bg-card:#fff;--bg-card-top:#fff;--bg-input:#fff;--bg-muted:#f0f4f9;--bg-hover:#0d948814;--bg-active:#0d94881f;--border:#46648229;--border-strong:#0d948873;--border-active:#0d948847;--text:#1a2433;--text-secondary:#4a5d73;--text-muted:#7a8fa6;--accent:#0d9488;--accent-dim:#0f766e;--accent-text:#fff;--accent-hover:#0f766e;--accent-ring:#0d94882e;--accent-line:#0d94888c;--accent-inset:#0d94880f;--header-accent-line:#0d94882e;--danger:#dc2626;--danger-bg:#dc262614;--success:#16a34a;--success-bg:#16a34a1a;--warning:#d97706;--warning-bg:#d977061a;--info:#0284c7;--info-bg:#0284c71a;--stat:#0f766e;--table-td-bg:#ffffffe6;--modal-overlay:#1a243373;--login-shadow:0 20px 40px #1a24331f;--btn-primary:linear-gradient(180deg, #14b8a6 0%, #0d9488 100%);--glow-a:#0d948814;--glow-b:#0284c70d;--grid-line:#0d94880f;--login-glow:#0d94881f;--login-grid:#0d948812;--color-scheme:light}html,body{height:100%}body{font-family:var(--font);color:var(--text);color-scheme:var(--color-scheme);background-color:var(--bg-app);background-image:radial-gradient(ellipse 80% 50% at 20% -10%, var(--glow-a), transparent 55%), radial-gradient(ellipse 60% 40% at 100% 0%, var(--glow-b), transparent 50%), linear-gradient(var(--grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);-webkit-font-smoothing:antialiased;background-size:auto,auto,40px 40px,40px 40px;background-attachment:fixed;margin:0;font-size:15px}a{color:inherit;text-decoration:none}.panel-root{flex-direction:column;min-height:100vh;display:flex}.panel-header{background:linear-gradient(180deg, var(--bg-header-top) 0%, var(--bg-header) 100%);height:52px;color:var(--text);border-bottom:1px solid var(--border);box-shadow:inset 0 -1px 0 var(--header-accent-line);z-index:20;justify-content:space-between;align-items:center;padding:0 18px;display:flex;position:relative}.panel-header .logo{letter-spacing:.12em;text-transform:uppercase;color:var(--text);align-items:center;gap:10px;font-size:16px;font-weight:700;display:flex}.panel-header .logo:before{content:"";background:var(--accent);width:8px;height:8px;box-shadow:0 0 0 3px var(--accent-ring);clip-path:polygon(50% 0%,100% 50%,50% 100%,0% 50%)}.panel-header .header-right{color:var(--text-secondary);align-items:center;gap:14px;font-size:14px;display:flex}.panel-header .header-right a:hover{color:var(--accent)}.panel-header .header-right>button:not(.theme-toggle){border:1px solid var(--border-strong);color:var(--accent);border-radius:var(--radius);cursor:pointer;letter-spacing:.04em;background:0 0;padding:5px 12px;font-size:13px;transition:background .15s,border-color .15s}.panel-header .header-right>button:not(.theme-toggle):hover{background:var(--bg-hover);border-color:var(--accent)}.login-theme-bar{z-index:30;position:fixed;top:16px;right:16px}.panel-body{flex:1;min-height:0;display:flex}.panel-sidebar{background:var(--bg-sidebar);border-right:1px solid var(--border);width:208px;padding:10px 8px;overflow-y:auto}.panel-sidebar .menu-group{margin-top:6px}.panel-sidebar .menu-group.collapsed .menu-chevron{transform:rotate(-90deg)}.panel-sidebar .menu-title{letter-spacing:.08em;width:100%;color:var(--text);background-color:color-mix(in srgb, var(--accent) 18%, var(--bg-muted));border:1px solid color-mix(in srgb, var(--accent) 35%, transparent);border-radius:var(--radius);border-left:4px solid var(--accent);cursor:pointer;text-align:left;box-sizing:border-box;box-shadow:inset 0 0 0 1px var(--accent-ring);align-items:center;gap:8px;margin:0;padding:9px 10px 9px 12px;font-size:12px;font-weight:700;display:flex}.panel-sidebar .menu-title:hover{color:var(--accent);background-color:color-mix(in srgb, var(--accent) 28%, var(--bg-muted));border-color:color-mix(in srgb, var(--accent) 55%, transparent)}.panel-sidebar .menu-title-text{flex:1;min-width:0}.panel-sidebar .menu-chevron{color:var(--text-muted);flex-shrink:0;font-size:11px;line-height:1;transition:transform .15s}.panel-sidebar .menu-group-body{padding:2px 0 2px 2px}.panel-sidebar a{color:var(--text-secondary);border-radius:var(--radius);border:1px solid #0000;margin:2px 0;padding:9px 12px;font-size:14px;transition:background .15s,color .15s,border-color .15s;display:block}.panel-sidebar a.menu-with-badge{justify-content:space-between;align-items:center;gap:8px;display:flex}.panel-sidebar a.active,.panel-sidebar a:hover{background:var(--bg-active);color:var(--accent);border-color:var(--border-active)}.panel-sidebar a.active{box-shadow:inset 2px 0 0 var(--accent)}.panel-sidebar .menu-badge{background:var(--danger);color:#fff;text-align:center;border-radius:3px;flex-shrink:0;min-width:18px;height:18px;padding:0 5px;font-size:12px;font-weight:600;line-height:18px}.panel-main{flex:1;padding:18px;overflow:auto}.panel-main a:not(.notify-item){color:var(--accent)}.panel-main a:not(.notify-item):hover{color:var(--accent-hover)}.panel-main input,.panel-main select,.panel-main textarea{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);outline:none;font-size:14px;transition:border-color .15s}.panel-main input:focus,.panel-main select:focus,.panel-main textarea:focus{border-color:var(--border-strong)}.panel-main input::placeholder,.panel-main select::placeholder,.panel-main textarea::placeholder{color:var(--text-muted)}.panel-main option{background:var(--bg-card);color:var(--text)}.card{background:linear-gradient(165deg, var(--bg-card-top) 0%, var(--bg-card) 100%);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:16px;padding:18px;position:relative;overflow:hidden}.card:before{content:"";background:linear-gradient(90deg, transparent, var(--accent-line), transparent);pointer-events:none;height:1px;position:absolute;top:0;left:0;right:0}.card-title{letter-spacing:.06em;color:var(--text);align-items:center;gap:8px;margin-bottom:14px;font-size:17px;font-weight:600;display:flex}.card-title:before{content:"";background:var(--accent);border-radius:1px;width:3px;height:15px}.card-title .back{letter-spacing:0;color:var(--accent);white-space:nowrap;margin-left:4px;font-size:13px;font-weight:500;text-decoration:none}.card-title .back:hover{text-decoration:underline}.stats-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;display:grid}.stats-grid .stat-item{background:var(--bg-muted);border:1px solid var(--border);border-radius:var(--radius);padding:14px 12px;position:relative}.stats-grid .stat-item:after{content:"";border-radius:inherit;pointer-events:none;box-shadow:inset 0 0 0 1px var(--accent-inset);position:absolute;inset:0}.stats-grid .stat-item .label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-size:12px}.stats-grid .stat-item .value{font-family:var(--font-mono);color:var(--stat);letter-spacing:.02em;margin-top:6px;font-size:24px;font-weight:700}.data-table{border-collapse:collapse;width:100%;font-size:14px}.data-table th,.data-table td{border:1px solid var(--border);text-align:center;padding:10px 8px}.data-table th{background:var(--bg-muted);color:var(--text-secondary);letter-spacing:.04em;font-size:13px;font-weight:600}.data-table td{color:var(--text);background:var(--table-td-bg)}.data-table tbody tr:hover td{background:var(--bg-hover)}.toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.toolbar input,.toolbar select{height:34px;padding:0 10px;font-size:14px}.toolbar button{border-radius:var(--radius);background:var(--btn-primary);height:34px;color:var(--accent-text);cursor:pointer;letter-spacing:.03em;border:1px solid #0000;padding:0 14px;font-size:14px;font-weight:600;transition:filter .15s,opacity .15s}.toolbar button:hover{filter:brightness(1.08)}.toolbar button:disabled{opacity:.5;cursor:not-allowed}.toolbar button.secondary{border-color:var(--border);color:var(--text-secondary);background:0 0}.toolbar button.secondary:hover{border-color:var(--text-muted);color:var(--text);filter:none}.toolbar button.danger{color:#fff;background:linear-gradient(#f87171 0%,#ef4444 100%)}.toolbar button.success{color:#052e16;background:linear-gradient(#4ade80 0%,#22c55e 100%)}.login-page{background-color:var(--bg-app);background-image:radial-gradient(ellipse 70% 50% at 50% 0%, var(--login-glow), transparent 60%), linear-gradient(var(--login-grid) 1px, transparent 1px), linear-gradient(90deg, var(--login-grid) 1px, transparent 1px);background-size:auto,36px 36px,36px 36px;justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative}.login-page .login-box{background:linear-gradient(165deg, var(--bg-card-top), var(--bg-card));border:1px solid var(--border);border-radius:var(--radius);width:380px;box-shadow:var(--login-shadow);padding:36px 32px;position:relative}.login-page .login-box:before{content:"";background:linear-gradient(90deg, transparent, var(--accent), transparent);height:1px;position:absolute;top:0;left:24px;right:24px}.login-page .login-box h1{text-align:center;letter-spacing:.16em;text-transform:uppercase;color:var(--text);margin:0 0 28px;font-size:20px;font-weight:700}.login-page .login-box label{letter-spacing:.08em;color:var(--text-muted);text-transform:uppercase;margin-bottom:6px;font-size:13px;display:block}.login-page .login-box input{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius);width:100%;height:42px;color:var(--text);outline:none;margin-bottom:16px;padding:0 12px;font-size:15px}.login-page .login-box input:focus{border-color:var(--border-strong)}.login-page .login-box button{border-radius:var(--radius);background:var(--btn-primary);width:100%;height:44px;color:var(--accent-text);letter-spacing:.12em;cursor:pointer;border:none;font-size:15px;font-weight:700;transition:filter .15s}.login-page .login-box button:hover{filter:brightness(1.08)}.login-page .login-box button:disabled{opacity:.55;cursor:not-allowed}.login-page .login-box .err{color:var(--danger);margin-bottom:10px;font-size:14px}.login-page .login-box a{color:var(--accent)}.login-page .login-box a:hover{color:var(--accent-hover)}.pager{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;font-size:14px;display:flex}.pager-jump{align-items:center;gap:4px;margin-left:4px;display:inline-flex}.pager-jump input{width:64px;padding:4px 6px}.alert-bar{background:var(--warning-bg);color:var(--warning);border-radius:var(--radius);border:1px solid #fbbf2459;margin-bottom:12px;padding:8px 12px;font-size:14px}.tag{border:1px solid #0000;border-radius:3px;padding:2px 8px;font-size:13px;display:inline-block}.tag.wait{background:var(--warning-bg);color:var(--warning);border-color:#fbbf2440}.tag.ok{background:var(--success-bg);color:var(--success);border-color:#4ade8040}.tag.fail{background:var(--danger-bg);color:var(--danger);border-color:#f8717140}.tag.proc{background:var(--info-bg);color:var(--info);border-color:#38bdf840}.modal{background:var(--modal-overlay)!important}.modal-body{border:1px solid var(--border);color:var(--text);background:var(--bg-card)!important}.btn-link,.ops a,.back{color:var(--accent)!important}.msg,.hint,.tip,.empty-tip,.info,.sub{color:var(--text-muted)!important}.ok{color:var(--success)!important}.err{color:var(--danger)!important}.state-on{color:var(--success)!important}.state-off{color:var(--danger)!important}fieldset{color:var(--text);border-color:var(--border)!important}.form-grid .section h3,.section h3{color:var(--text)!important}.section label{color:var(--text-secondary)!important}
