:root{color:#182230;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--bg:#f5f7fb;--panel:#fff;--panel-soft:#f8fafc;--panel-strong:#0f172a;--text:#182230;--muted:#667085;--line:#e4e7ec;--line-strong:#d0d5dd;--primary:#2563eb;--primary-hover:#1d4ed8;--primary-soft:#dbeafe;--success:#16a34a;--success-soft:#dcfce7;--warning:#f59e0b;--warning-soft:#fef3c7;--danger:#ef4444;--danger-soft:#fee2e2;--sidebar:#101828;--sidebar-soft:#1d2939;--sidebar-text:#eaecf0;--shadow-sm:0 1px 2px #1018280a;--shadow-md:0 8px 20px #0f172a0f;--shadow-lg:0 20px 40px #0f172a1f;background:#f5f7fb;font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}html,body,#app{min-height:100%}body{background:var(--bg);min-width:1366px;color:var(--text);margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.admin-layout{background:linear-gradient(#f8fafc 0%,#f4f6fb 100%);grid-template-columns:256px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{color:var(--sidebar-text);background:#0f172a;border-right:1px solid #94a3b814;flex-direction:column;gap:4px;padding:0 0 12px;display:flex}.brand-block{border-bottom:1px solid #94a3b81a;align-items:center;gap:10px;margin-bottom:8px;padding:20px 18px 18px;display:flex}.brand-badge{color:#fff;background:#2563eb;border-radius:8px;flex:none;place-items:center;width:32px;height:32px;font-size:13px;font-weight:800;display:grid}.brand-copy{min-width:0}.brand{color:#fff;margin:0;font-size:18px;font-weight:700}.brand-subtitle{color:#64748b;margin:1px 0 0;font-size:11px}.brand-meta,.brand-tags,.brand-tag{display:none}.sidebar-group{flex-direction:column;gap:2px;padding:0 10px;display:flex}.sidebar-group+.sidebar-group{border-top:1px solid #94a3b814;margin-top:6px;padding-top:10px}.sidebar-group-head{align-items:center;gap:8px;padding:6px 8px 4px;display:flex}.sidebar-group-label{color:#64748b;text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:600}.sidebar-group-count{display:none}.sidebar-nav{flex-direction:column;gap:2px;display:flex}.sidebar-link{color:#94a3b8;border-radius:8px;align-items:center;gap:10px;padding:8px 10px;font-size:13px;font-weight:500;transition:background .15s,color .15s;display:flex;position:relative}.sidebar-link:hover{color:#e2e8f0;background:#94a3b814}.sidebar-link.router-link-active{color:#fff;background:#2563eb26}.sidebar-link.router-link-active:before{content:"";background:#3b82f6;border-radius:0 3px 3px 0;width:3px;height:18px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.sidebar-link-text{flex:1;min-width:0}.sidebar-link-copy{flex-direction:column;flex:1;min-width:0;display:flex}.sidebar-link-subtext{display:none}.nav-icon{color:#94a3b8;background:#94a3b81a;border-radius:6px;flex:none;justify-content:center;align-items:center;width:24px;height:24px;font-size:10px;font-weight:700;display:inline-flex}.sidebar-link:hover .nav-icon{color:#e2e8f0;background:#94a3b826}.sidebar-link.router-link-active .nav-icon{color:#60a5fa;background:#2563eb40}.sidebar-footer{margin-top:auto;padding:10px}.sidebar-footer-card{background:#94a3b80f;border:1px solid #94a3b814;border-radius:8px;align-items:center;gap:8px;padding:10px 12px;display:flex}.sidebar-footer-label{color:#64748b;align-items:center;gap:6px;font-size:12px;display:flex}.sidebar-footer-card strong{display:none}.sidebar-footer-card p{color:#94a3b8;margin:0;font-size:12px}.main-panel{flex-direction:column;min-width:0;display:flex}.topbar{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);z-index:10;background:#ffffffbd;border-bottom:1px solid #e4e7ece0;justify-content:space-between;align-items:center;gap:16px;min-height:84px;padding:18px 28px;display:flex;position:sticky;top:0}.topbar-left{align-items:center;min-width:0;display:flex}.topbar-title{flex-direction:column;gap:4px;display:flex}.topbar-kicker{width:fit-content;min-height:24px;color:var(--primary);background:#2563eb14;border-radius:999px;align-items:center;padding:0 10px;font-size:12px;font-weight:700;display:inline-flex}.topbar-title h1{margin:0;font-size:22px;line-height:1.2}.topbar-title p{color:var(--muted);margin:0;font-size:13px}.topbar-actions{align-items:center;gap:12px;display:flex}.topbar-avatar{color:#fff;background:linear-gradient(135deg,#60a5fa,#2563eb);border-radius:50%;place-items:center;width:40px;height:40px;font-size:13px;font-weight:800;display:grid;box-shadow:0 10px 22px #2563eb3d}.user-chip,.ghost-button,.primary-button,.danger-button{white-space:nowrap;border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;gap:8px;height:40px;padding:0 16px;display:inline-flex}.user-chip{background:var(--panel);border-color:var(--line);color:var(--text);box-shadow:var(--shadow-sm)}.user-chip-secondary{color:var(--primary);background:#eff6ff;border-color:#93c5fd8c}.ghost-button{color:var(--text);background:#ffffffeb;border-color:#d0d5dde6}.primary-button,.page-header-row button,.card button,.login-form button{background:linear-gradient(135deg, var(--primary), #3b82f6);color:#fff;border-color:#0000;box-shadow:0 10px 24px #2563eb38}.ghost-button:hover,.primary-button:hover,.page-header-row button:hover,.card button:hover,.login-form button:hover{transform:translateY(-1px);box-shadow:0 12px 28px #0f172a14}.page-body{padding:28px}.page-shell,.dashboard-page,.business-page{flex-direction:column;gap:20px;display:flex}.hero-panel,.card,.stat-card,.login-card,.quick-card{background:var(--panel);box-shadow:var(--shadow-md);border:1px solid #e4e7ece6;border-radius:24px}.hero-panel{grid-template-columns:minmax(0,2fr) minmax(320px,1fr);gap:20px;padding:24px;display:grid}.hero-copy h2,.page-header h2,.page-header-row h2,.login-card h1,.card h3{margin:0}.hero-copy p,.page-header p,.page-header-row p,.login-card p,.section-tip,.helper-text{color:var(--muted);margin:0}.page-v2{gap:22px}.page-title-block{gap:10px;display:grid}.page-kicker,.section-kicker{background:var(--primary-soft);width:fit-content;color:var(--primary);letter-spacing:.04em;border-radius:999px;align-items:center;padding:6px 10px;font-size:12px;font-weight:700;display:inline-flex}.hero-tags,.inline-metrics{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.tag,.badge,.status-badge{border-radius:999px;align-items:center;gap:6px;min-height:28px;padding:0 12px;font-size:12px;font-weight:700;display:inline-flex}.tag,.badge.info{background:var(--primary-soft);color:var(--primary)}.badge.success,.status-badge.success{background:var(--success-soft);color:var(--success)}.badge.warning,.status-badge.warning{background:var(--warning-soft);color:#b45309}.badge.danger,.status-badge.danger{background:var(--danger-soft);color:var(--danger)}.hero-side{gap:12px;display:grid}.quick-card{background:linear-gradient(#fff 0%,#f8fafc 100%);padding:18px}.quick-card.compact{min-height:112px}.quick-card-label{width:fit-content;color:var(--primary);background:#2563eb14;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700;display:inline-flex}.quick-card strong{margin-bottom:6px;font-size:16px;display:block}.hero-side-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.stats-grid,.summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.stat-card{flex-direction:column;gap:10px;padding:20px;display:flex}.stats-grid-v2 .stat-card{box-shadow:var(--shadow-md);border:1px solid #e4e7ecf2;position:relative;overflow:hidden}.stats-grid-v2 .stat-card:after{content:"";width:100%;height:4px;position:absolute;inset:0 auto auto 0}.accent-blue:after{background:linear-gradient(90deg,#2563eb,#60a5fa)}.accent-indigo:after{background:linear-gradient(90deg,#4f46e5,#818cf8)}.accent-green:after{background:linear-gradient(90deg,#16a34a,#4ade80)}.accent-amber:after{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.stat-value{letter-spacing:-.02em;font-size:32px;font-weight:800;line-height:1}.stat-footnote,.label{color:var(--muted);font-size:13px}.page-header-row{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.page-header-row>div:first-child{gap:8px;display:grid}.card{padding:22px}.form-card,.toolbar-card{flex-direction:column;gap:16px;display:flex}.card-v2{box-shadow:var(--shadow-md);border-radius:20px}.data-card{gap:18px}.toolbar-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.toolbar-title{gap:6px;display:grid}.toolbar-title h3,.toolbar-title p{margin:0}.hero-copy{align-content:start;gap:12px;display:grid}.hero-copy>.badge{width:fit-content}.hero-copy h2{letter-spacing:-.03em;font-size:30px;line-height:1.2}.hero-copy p{max-width:760px}.toolbar-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.filter-panel-grid{gap:14px;display:grid}.filter-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.filter-grid input,.filter-grid select{border:1px solid var(--line-strong);background:#fff;border-radius:12px;width:100%;height:42px;padding:0 14px}.data-meta{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.data-meta strong{font-size:14px}.summary-inline{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.action-entry-card{gap:16px;display:grid}.entry-head{gap:8px;display:grid}.entry-head h3,.entry-head p{margin:0}.entry-metrics{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.entry-metrics div{gap:4px;display:grid}.entry-metrics strong{font-size:18px}.entry-metrics span{color:var(--muted);font-size:13px}.overview-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.surface-note{background:linear-gradient(#fff 0%,#f8fafc 100%);border:1px solid #e4e7ece6;border-radius:18px;gap:10px;padding:18px;display:grid}.surface-note h4,.surface-note p{margin:0}.surface-note h4{font-size:16px}.surface-note p{color:var(--muted);line-height:1.7}.empty-text{text-align:center;color:var(--muted);padding:24px}.field-card{background:linear-gradient(#fff 0%,#fbfdff 100%);border:1px solid #e2e8f0f5;border-radius:18px;gap:10px;padding:16px;display:grid}.field-label{color:#475467;letter-spacing:.04em;font-size:12px;font-weight:700}.summary-field strong{font-size:16px}.summary-field p{color:var(--muted);margin:0;font-size:13px;line-height:1.6}.stat-value-text{font-size:22px}.guide-list,.guide-item{gap:12px;display:grid}.guide-item{background:linear-gradient(#fff 0%,#f8fbff 100%);border:1px solid #e2e8f0f5;border-radius:16px;padding:16px}.guide-item p,.guide-item strong{margin:0}.guide-item p{color:var(--muted)}.dialog-mask{z-index:80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a73;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.dialog-card{width:min(760px,100vw - 48px);max-height:calc(100vh - 48px);box-shadow:var(--shadow-lg);background:#fff;border:1px solid #e4e7ece6;border-radius:22px;flex-direction:column;gap:16px;padding:22px;display:flex;overflow:auto}.dialog-card-v2{border-radius:24px}.dialog-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.dialog-head-main{gap:6px;display:grid}.dialog-head-main h3,.dialog-head-main p{margin:0}.dialog-actions{justify-content:flex-end;gap:10px;display:flex}.pager{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:16px;display:flex}.pager-v2{padding-top:2px}.pager-info{color:var(--muted);font-size:13px}.pager-actions{align-items:center;gap:10px;display:flex}.pager-actions button{min-width:92px}.section-head{justify-content:space-between;align-items:center;gap:16px;display:flex}.section-head-main{gap:6px;display:grid}.grid-form{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.dialog-form>label{gap:8px;display:grid}.dialog-form>label>span,.selector-field-head span,.selector-field-head strong{color:#344054;font-size:13px;font-weight:700}.grid-form input,.grid-form select,.login-form input{border:1px solid var(--line-strong);width:100%;height:44px;color:var(--text);background:#fff;border-radius:12px;padding:0 14px;transition:border-color .18s,box-shadow .18s}.grid-form input:focus,.grid-form select:focus,.login-form input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 4px #2563eb1f}.table-wrap{border:1px solid var(--line);background:linear-gradient(#fff 0%,#fcfcfd 100%);border-radius:18px;overflow:auto}.table-wrap-v2{border-radius:20px;box-shadow:inset 0 1px #ffffffb3}.helper-text code,.muted-text code,.section-tip code{color:var(--text);background:#94a3b824;border-radius:8px;padding:2px 6px}.table{border-collapse:collapse;width:100%}.table thead{background:#f8fafc}.table th,.table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;padding:14px 16px;font-size:14px}.table th{color:#344054;font-size:13px;font-weight:700}.table tbody tr:hover{background:#f8fbff}.cell-strong{font-weight:700}.cell-mono{font-family:Consolas,SFMono-Regular,Menlo,monospace;font-size:13px}.table-primary-cell{gap:4px;display:grid}.table-primary-cell strong{font-size:14px;font-weight:700}.table-primary-cell span{color:var(--muted);font-size:12px}.inline-actions{gap:8px;display:flex}.inline-actions button{min-width:92px}.table-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.action-button{border:1px solid var(--line);min-width:auto;height:32px;color:var(--text);box-shadow:none;background:#fff;border-radius:10px;padding:0 12px}.action-button.danger{color:var(--danger);background:var(--danger-soft);border-color:#ef44443d}.field-span-2{grid-column:span 2}.field-span-3{grid-column:span 3}.selector-field-card{background:linear-gradient(#fff 0%,#fbfdff 100%);border:1px solid #e2e8f0f5;border-radius:18px;gap:12px;padding:16px;display:grid}.selector-field-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.search-inline{grid-template-columns:minmax(0,1fr) auto;gap:10px;display:grid}.selection-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.selection-card{text-align:left;background:#fff;border:1px solid #e2e8f0f5;border-radius:16px;gap:6px;padding:14px;transition:all .18s;display:grid}.selection-card strong,.selection-card span{margin:0}.selection-card span{color:var(--muted);font-size:12px}.selection-card.active{background:linear-gradient(#f8fbff 0%,#eef5ff 100%);border-color:#2563eb80;box-shadow:0 0 0 3px #2563eb14}.upload-trigger{position:relative;overflow:hidden}.upload-trigger input{opacity:0;cursor:pointer;position:absolute;inset:0}.media-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.media-card{text-align:left;background:linear-gradient(#fff 0%,#fbfdff 100%);border:1px solid #e2e8f0f5;border-radius:18px;gap:10px;padding:14px;display:grid}.media-card strong,.media-card span{margin:0}.media-card span{color:var(--muted);font-size:12px}.media-card-image{object-fit:cover;border:1px solid var(--line);background:#fff;border-radius:16px;width:120px;height:120px}.media-empty{grid-column:1/-1}.helper-card{background:linear-gradient(#fff 0%,#f8fbff 100%);border:1px solid #bfdbfeb8;border-radius:18px;gap:8px;padding:16px 18px;display:grid}.helper-card p,.helper-card strong{margin:0}.result-board{background:linear-gradient(#fcfdff 0%,#f8fbff 100%);border:1px solid #e2e8f0f5;border-radius:18px;gap:14px;padding:18px;display:grid}.result-board-summary{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.result-board-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.checkbox-field{min-height:44px;color:var(--text);align-items:center;gap:8px;padding:0 4px;display:inline-flex}@media (width<=1440px){.stats-grid,.summary-grid,.overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=1080px){.hero-panel,.stats-grid,.summary-grid,.overview-grid,.filter-grid,.grid-form{grid-template-columns:1fr}.page-header-row,.toolbar-row,.section-head,.data-meta,.pager{flex-direction:column;align-items:stretch}}.checkbox-card{border:1px solid var(--line-strong);background:#fff;border-radius:12px;padding:0 14px}.checkbox-field input{width:16px;height:16px}.toast-stack{z-index:120;flex-direction:column;gap:12px;display:flex;position:fixed;top:24px;right:24px}.toast-item{color:#fff;min-width:280px;max-width:420px;box-shadow:var(--shadow-lg);cursor:pointer;border-radius:16px;gap:4px;padding:14px 16px;display:grid}.toast-item-head{align-items:center;gap:10px;display:flex}.toast-mark{background:#fffc;border-radius:999px;flex:none;width:10px;height:10px;box-shadow:0 0 0 4px #ffffff29}.toast-mark.success{background:#dcfce7}.toast-mark.error{background:#fee2e2}.toast-mark.info{background:#dbeafe}.toast-item.success{background:linear-gradient(135deg,#16a34a,#22c55e)}.toast-item.error{background:linear-gradient(135deg,#dc2626,#ef4444)}.toast-item.info{background:linear-gradient(135deg,#2563eb,#3b82f6)}.qr-preview{border:1px solid var(--line);background:linear-gradient(#fff 0%,#f8fafc 100%);border-radius:18px;place-items:center;gap:14px;padding:18px;display:grid}.qr-preview img{background:#fff;border-radius:12px;width:220px;height:220px}.login-page{background:radial-gradient(circle at 0 0,#2563eb2e,#0000 34%),radial-gradient(circle at 100% 100%,#3b82f624,#0000 30%),linear-gradient(135deg,#eff6ff 0%,#f8fafc 55%,#eef2ff 100%);place-items:center;min-height:100vh;padding:32px;display:grid}.login-card{grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);width:1080px;min-height:620px;display:grid;overflow:hidden}.login-visual{color:#fff;background:linear-gradient(160deg,#0f172a 0%,#172554 45%,#2563eb 100%);flex-direction:column;justify-content:space-between;padding:42px;display:flex}.login-visual-copy{gap:12px;display:grid}.login-kicker{color:#fff;background:#ffffff24}.login-visual h1{margin:12px 0;font-size:38px;line-height:1.18}.login-visual p,.login-visual li{color:#ffffffd1}.login-visual ul{gap:10px;margin:18px 0 0;padding-left:18px;display:grid}.login-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.login-metric{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff1f;border:1px solid #ffffff1f;border-radius:18px;padding:16px}.login-metric strong{margin-top:8px;font-size:20px;display:block}.login-panel{background:linear-gradient(#fff 0%,#fbfcff 100%);flex-direction:column;justify-content:center;gap:20px;padding:42px;display:flex}.login-panel-head{gap:10px;display:grid}.login-form{flex-direction:column;gap:14px;display:flex}.login-note{border:1px solid var(--line);color:var(--muted);background:#f8fafc;border-radius:14px;padding:14px 16px;font-size:13px}.login-submit{justify-content:center;width:100%}.empty-text{text-align:center;color:var(--muted);background:linear-gradient(#f8fafccc,#fffffff5);padding:28px 20px}button:disabled,.ghost-button:disabled,.primary-button:disabled,.danger-button:disabled,.action-button:disabled{cursor:not-allowed;opacity:.55;box-shadow:none}.error-text{color:var(--danger);font-size:14px}.result-panel{color:var(--text);background:#fff;border:1px solid #e2e8f0f5;border-radius:16px;gap:6px;padding:14px 16px;display:grid}.result-panel strong{color:#344054;font-size:13px}.muted-text{color:var(--muted);font-size:13px}@media (width<=1440px){body{min-width:1280px}.stats-grid,.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=960px){.hero-copy h2{font-size:24px}}.dialog-card.wide{width:min(920px,100vw - 48px)}.option-panel{gap:12px;display:grid}.checkbox-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.checkbox-card{border:1px solid var(--line);background:var(--panel-soft);border-radius:12px;align-items:center;gap:10px;min-height:44px;padding:10px 12px;display:flex}.checkbox-card input{width:16px;height:16px}:root{--radius-card:8px;--radius-control:6px;--radius-badge:4px;--card-pad:16px;--page-pad:16px;--control-h:32px;--button-h:32px;--cell-pad-y:8px;--cell-pad-x:12px;--fs-cell:13px;--fs-th:12px}.admin-page{flex-direction:column;gap:12px;padding:0;display:flex}.admin-page .search-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-card);padding:var(--card-pad);box-shadow:var(--shadow-sm);flex-direction:column;gap:12px;display:flex}.admin-page .search-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;display:grid}.admin-page .field{gap:4px;min-width:0;display:grid}.admin-page .field>label{color:#475467;font-size:12px;font-weight:600}.admin-page .field>input,.admin-page .field>select{width:100%;height:var(--control-h);border:1px solid var(--line-strong);border-radius:var(--radius-control);color:var(--text);background:#fff;padding:0 10px;font-size:13px;transition:border-color .15s,box-shadow .15s}.admin-page .field>input:focus,.admin-page .field>select:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #2563eb1a}.admin-page .field-span-2{grid-column:span 2}.admin-page .field-span-3{grid-column:span 3}.admin-page .field-span-6{grid-column:span 6}.admin-page .search-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.admin-page .primary-button.compact,.admin-page .ghost-button.compact,.admin-page .danger-button.compact{height:var(--button-h);border-radius:var(--radius-control);box-shadow:none;border:1px solid #0000;padding:0 14px;font-size:13px;transition:border-color .15s,background .15s,color .15s}.admin-page .primary-button.compact{background:linear-gradient(135deg, var(--primary), #3b82f6);color:#fff}.admin-page .ghost-button.compact{color:var(--text);border-color:var(--line-strong);background:#fff}.admin-page .danger-button.compact{color:var(--danger);background:#fff;border-color:#ef444466}.admin-page .primary-button.compact:hover,.admin-page .ghost-button.compact:hover,.admin-page .danger-button.compact:hover{transform:none;box-shadow:0 1px 2px #0f172a0d}.admin-page .ghost-button.compact:hover{border-color:var(--primary);color:var(--primary)}.admin-page .primary-button.compact:disabled,.admin-page .ghost-button.compact:disabled,.admin-page .danger-button.compact:disabled{opacity:.55;cursor:not-allowed;box-shadow:none;transform:none}.admin-page .data-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-card);box-shadow:var(--shadow-sm);flex-direction:column;gap:0;padding:0;display:flex;overflow:hidden}.admin-page .data-card-head{border-bottom:1px solid var(--line);background:#fff;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.admin-page .data-card-title{align-items:center;gap:10px;display:flex}.admin-page .data-card-title h3{color:var(--text);margin:0;font-size:15px;font-weight:700}.admin-page .count-pill{background:var(--primary-soft);height:22px;color:var(--primary);border-radius:4px;align-items:center;padding:0 8px;font-size:12px;font-weight:600;display:inline-flex}.admin-page .data-card-meta{color:var(--muted);font-size:12px}.admin-page .data-table-wrap{overflow:auto}.admin-page .data-table{border-collapse:collapse;width:100%;font-size:var(--fs-cell)}.admin-page .data-table thead{background:#f8fafc}.admin-page .data-table th{padding:var(--cell-pad-y) var(--cell-pad-x);text-align:left;font-size:var(--fs-th);color:#475467;border-bottom:1px solid var(--line);white-space:nowrap;font-weight:700}.admin-page .data-table td{padding:var(--cell-pad-y) var(--cell-pad-x);border-bottom:1px solid var(--line);vertical-align:middle;color:var(--text)}.admin-page .data-table tbody tr:hover{background:#f8fbff}.admin-page .data-table .num-cell{text-align:right;font-variant-numeric:tabular-nums}.admin-page .cell-mono{font-family:Consolas,SFMono-Regular,Menlo,monospace;font-size:12px}.admin-page .cell-link{color:var(--primary);cursor:pointer;background:0 0;border:0;padding:0;font-size:13px}.admin-page .cell-link:hover{text-decoration:underline}.admin-page .cell-link:disabled{color:var(--muted);cursor:not-allowed;text-decoration:none}.admin-page .cell-link.danger{color:var(--danger)}.admin-page .status-badge{border-radius:var(--radius-badge);color:#475467;background:#f2f4f7;align-items:center;min-height:22px;padding:0 8px;font-size:12px;font-weight:600;display:inline-flex}.admin-page .status-badge.success{color:#16a34a;background:#e8f5ee}.admin-page .status-badge.warning{color:#b45309;background:#fef6e7}.admin-page .status-badge.danger{color:#dc2626;background:#fde8e8}.admin-page .status-badge.info{color:var(--primary);background:#e8f1ff}.admin-page .empty-row td{text-align:center;color:var(--muted);background:#fff;padding:36px 16px}.admin-page .pager-compact{border-top:1px solid var(--line);background:#fcfcfd;justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;display:flex}.admin-page .pager-compact .pager-info{color:var(--muted);font-size:12px}.admin-page .pager-compact .pager-actions{align-items:center;gap:8px;display:flex}.admin-page .pager-compact button{border:1px solid var(--line-strong);height:28px;color:var(--text);cursor:pointer;box-shadow:none;background:#fff;border-radius:6px;padding:0 10px;font-size:12px}.admin-page .pager-compact button:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.admin-page .pager-compact button:disabled{color:var(--muted);opacity:.6;cursor:not-allowed}.dialog-card-compact{border-radius:var(--radius-card);width:min(720px,100vw - 48px);max-height:calc(100vh - 48px);box-shadow:var(--shadow-lg);border:1px solid var(--line);background:#fff;flex-direction:column;gap:0;padding:0;display:flex;overflow:hidden}.dialog-card-compact.size-sm{width:min(560px,100vw - 48px)}.dialog-card-compact.size-md{width:min(720px,100vw - 48px)}.dialog-card-compact.size-lg{width:min(920px,100vw - 48px)}.dialog-card-compact.size-xl{width:min(1100px,100vw - 48px)}.dialog-card-compact .dialog-card-head{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.dialog-card-compact .dialog-card-head h3{color:var(--text);margin:0;font-size:15px;font-weight:700}.dialog-card-compact .dialog-card-head p{color:var(--muted);margin:4px 0 0;font-size:12px}.dialog-card-compact .dialog-close{width:28px;height:28px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;flex:none;padding:0;font-size:18px;line-height:1}.dialog-card-compact .dialog-close:hover{color:var(--text);background:#f2f4f7}.dialog-card-compact .dialog-body{flex-direction:column;flex:auto;gap:12px;min-height:0;padding:16px;display:flex;overflow:auto}.dialog-card-compact .dialog-footer{border-top:1px solid var(--line);background:#fcfcfd;justify-content:flex-end;gap:8px;padding:12px 16px;display:flex}@media (width<=1280px){.admin-page .search-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width<=960px){.admin-page .search-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.admin-page .detail-grid,.dialog-card-compact .detail-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.admin-page .detail-cell,.dialog-card-compact .detail-cell{border:1px solid var(--line);background:#fcfdff;border-radius:6px;gap:4px;min-width:0;padding:10px 12px;font-size:13px;display:grid}.admin-page .detail-label,.dialog-card-compact .detail-label{color:#475467;font-size:12px;font-weight:600}.admin-page .detail-section,.dialog-card-compact .detail-section{border:1px solid var(--line);background:#fff;border-radius:8px;flex-direction:column;gap:8px;display:flex;overflow:hidden}.admin-page .detail-section-head,.dialog-card-compact .detail-section-head{border-bottom:1px solid var(--line);background:#fafbfc;align-items:baseline;gap:12px;padding:10px 14px;display:flex}.admin-page .detail-section-head h4,.dialog-card-compact .detail-section-head h4{color:var(--text);margin:0;font-size:14px;font-weight:700}.admin-page .detail-section-tip,.dialog-card-compact .detail-section-tip{color:var(--muted);font-size:12px}.admin-page .detail-empty,.dialog-card-compact .detail-empty{text-align:center;color:var(--muted);padding:20px;font-size:13px}.admin-page .detail-subtle,.dialog-card-compact .detail-subtle{color:var(--muted);font-size:12px}.admin-page .detail-grid>.field-span-2,.dialog-card-compact .detail-grid>.field-span-2{grid-column:span 2}.admin-page .detail-grid>.field-span-3,.dialog-card-compact .detail-grid>.field-span-3{grid-column:span 3}.admin-page .detail-grid>.field-span-4,.dialog-card-compact .detail-grid>.field-span-4{grid-column:span 4}.admin-page .cell-stack{gap:2px;min-width:0;display:grid}.admin-page .cell-stack>strong{color:var(--text);font-weight:600}.admin-page .cell-stack>.muted-line,.admin-page .cell-stack>span{color:var(--muted);font-size:12px}.admin-page .helper-card,.dialog-card-compact .helper-card{border:1px dashed var(--line-strong);color:var(--muted);background:#fafbfc;border-radius:6px;gap:4px;padding:10px 12px;font-size:12px;display:grid}.admin-page .helper-card strong,.dialog-card-compact .helper-card strong{color:var(--text);font-size:13px}.admin-page .helper-card code,.dialog-card-compact .helper-card code{color:#1d4ed8;background:#eef2f7;border-radius:4px;padding:1px 6px;font-family:Consolas,SFMono-Regular,Menlo,monospace;font-size:12px}@media (width<=1100px){.admin-page .detail-grid,.dialog-card-compact .detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.admin-page .detail-grid,.dialog-card-compact .detail-grid{grid-template-columns:1fr}}
