:root{color-scheme:light;--bg: #edf3ff;--card: #ffffff;--line: #d6e2f4;--text: #213a63;--sub: #6280a5;--brand: #4a67ff;--brand-deep: #3156d8;--danger: #c23a3a;--ok: #1f8d4d;--shadow: 0 12px 30px rgba(44, 90, 184, .12)}*{box-sizing:border-box}html,body,#app{margin:0;width:100%;min-height:100%;height:100%;font-family:PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;color:var(--text);background:radial-gradient(circle at 8% -8%,rgba(53,208,255,.22),transparent 33%),radial-gradient(circle at 88% 4%,rgba(74,103,255,.18),transparent 30%),radial-gradient(circle at top,#f8fbff 0%,var(--bg) 46%,#e7eefc 100%)}html,body,#app{overflow:hidden;overscroll-behavior-y:none}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.page-shell{min-height:100%}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}.btn{border:1px solid var(--line);border-radius:10px;height:36px;padding:0 14px;background:#fff;color:var(--text);cursor:pointer}.btn:disabled{cursor:not-allowed;opacity:.56}.btn.primary{background:var(--brand);border-color:var(--brand);color:#fff}.btn.primary:hover{background:var(--brand-deep)}.btn.warn{color:var(--danger)}.input,.select,.textarea{width:100%;min-height:36px;padding:6px 10px;border-radius:10px;border:1px solid var(--line);background:#fff}.textarea{min-height:72px;resize:vertical}label.field{display:grid;gap:6px;font-size:13px;color:var(--sub)}.table-wrap{overflow-x:auto;overflow-y:visible;overscroll-behavior-x:contain}table.data-table{width:100%;border-collapse:collapse;min-width:820px}table.data-table th,table.data-table td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;font-size:14px;line-height:1.45;white-space:normal;word-break:break-word;overflow-wrap:anywhere}table.data-table th{color:#3b4a5a;background:#f7f9fc}.tag{display:inline-block;border-radius:999px;padding:2px 10px;font-size:12px;line-height:20px;border:1px solid}.tag.on{color:var(--ok);border-color:#9fd8b4;background:#edf9f2}.tag.off{color:#7f4c11;border-color:#eccd9a;background:#fff8ee}.pager{display:flex;justify-content:flex-end;align-items:center;gap:10px;position:sticky;bottom:0;z-index:6;margin:12px -14px -14px;padding:10px 14px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:linear-gradient(180deg,#ffffffeb,#fff 46%);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--sub)}table.data-table td .btn,table.data-table td .tag{white-space:nowrap}.empty{color:var(--sub);text-align:center;padding:20px 0}.dialog-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f1b2c73;display:flex;align-items:center;justify-content:center;padding:20px;z-index:999}.dialog-card{width:min(760px,100%);max-height:calc(100vh - 40px);overflow:auto;background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:0 20px 36px #0c213e33}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px;border-bottom:1px solid var(--line)}.dialog-head h3{margin:0;font-size:17px}.dialog-body{padding:14px 16px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;padding:0 16px 16px}@media(max-width:900px){table.data-table{min-width:700px}.dialog-mask{padding:10px}.dialog-card{max-height:calc(100vh - 20px)}}
