:root{--primary: #4c6fff;--primary-soft: #edf1ff;--bg: #f6f7fb;--card: #ffffff;--text: #1c2333;--muted: #7a8499;--border: #e6e9f2;--danger: #e5484d;--danger-soft: #fdebec;--ok: #2fa76f;--ok-soft: #e6f6ee;--warn: #c47f17;--warn-soft: #fff4e5;--violet: #7a5af8;--gray-soft: #f1f3f7}*{box-sizing:border-box}body{margin:0;font-family:PingFang SC,Microsoft YaHei,system-ui,sans-serif;background:var(--bg);color:var(--text);font-size:14px}button{font:inherit;cursor:pointer;border:none;border-radius:8px;padding:8px 16px}button:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background:#3d5ef5}.btn-ghost{background:var(--primary-soft);color:var(--primary)}.btn-danger{background:var(--danger-soft);color:var(--danger)}.btn-plain{background:var(--gray-soft);color:#516078}.btn-sm{padding:4px 12px;font-size:12px;border-radius:6px}input,select,textarea{font:inherit;border:1px solid var(--border);border-radius:8px;padding:9px 12px;background:#fff;color:var(--text);outline:none}input:focus,select:focus,textarea:focus{border-color:var(--primary)}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.field label{font-size:13px;color:var(--muted)}.field-error{color:var(--danger);font-size:12px}.card{background:var(--card);border-radius:14px;padding:20px;border:1px solid var(--border)}.page-title{font-size:20px;font-weight:700;margin:0}.muted{color:var(--muted);font-size:13px}.badge{display:inline-block;padding:3px 10px;border-radius:99px;font-size:12px;font-weight:600;line-height:1.5;white-space:nowrap}.badge-published{background:var(--ok-soft);color:var(--ok)}.badge-draft{background:var(--gray-soft);color:#516078}.badge-offline{background:var(--warn-soft);color:var(--warn)}.badge-deleted{background:var(--danger-soft);color:var(--danger)}.badge-featured{background:var(--primary-soft);color:var(--primary)}.badge-paid{background:var(--warn-soft);color:var(--warn)}.table{width:100%;border-collapse:collapse}.table th{text-align:left;padding:12px 14px;font-size:12px;color:var(--muted);border-bottom:1px solid var(--border);white-space:nowrap}.table td{padding:12px 14px;border-bottom:1px solid var(--border);font-size:13px}.table tr:last-child td{border-bottom:none}.layout{display:flex;min-height:100vh}.layout-sidebar{width:208px;flex:none;background:#fff;border-right:1px solid var(--border);display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.layout-brand{display:flex;align-items:center;gap:10px;padding:20px 18px 16px}.layout-brand-mark{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:9px;background:var(--primary);color:#fff;font-size:13px;font-weight:700}.layout-brand-name{font-weight:700;font-size:15px}.layout-nav{flex:1;display:flex;flex-direction:column;gap:2px;padding:8px 10px}.layout-nav-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;color:var(--muted);text-decoration:none;font-size:14px;transition:background .15s,color .15s}.layout-nav-item:hover{background:var(--bg);color:var(--text)}.layout-nav-item.on{background:var(--primary-soft);color:var(--primary);font-weight:600}.layout-nav-icon{font-size:15px}.layout-sidebar-foot{padding:14px 16px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:8px;align-items:flex-start}.layout-user{font-size:12px;color:var(--muted);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layout-main{flex:1;min-width:0;display:flex;flex-direction:column}.layout-header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:20px 28px 0}.layout-header-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.layout-content{padding:18px 28px 32px;max-width:1180px;width:100%}@media (max-width: 900px){.layout{flex-direction:column}.layout-sidebar{width:100%;height:auto;position:static;flex-direction:row;align-items:center;border-right:none;border-bottom:1px solid var(--border);padding-right:12px}.layout-brand{padding:12px 14px}.layout-nav{flex-direction:row;overflow-x:auto;padding:8px}.layout-nav-item{flex:none;padding:8px 10px}.layout-sidebar-foot{flex-direction:row;align-items:center;border-top:none;margin-left:auto;padding:8px 0 8px 8px}.layout-header,.layout-content{padding-left:14px;padding-right:14px}}
