:root{color:var(--admin-color-text, #172033);background:var(--admin-bg-layout, #f4f6f9);font-family:Inter,Segoe UI,PingFang SC,Microsoft YaHei,Arial,sans-serif}body{margin:0;overflow:hidden}#root{height:100dvh}.login-shell{align-items:center;background:linear-gradient(135deg,rgba(14,116,144,.16),transparent 34%),linear-gradient(315deg,rgba(34,197,94,.14),transparent 30%),#eef3f6;display:flex;min-height:100dvh;justify-content:center;padding:24px}.login-panel{background:var(--admin-bg-container, #ffffff);border:1px solid var(--admin-border-strong, #dbe3ea);border-radius:var(--admin-radius, 8px);box-shadow:0 18px 48px #15253821;max-width:420px;padding:28px;width:100%}.app-shell{height:100dvh;min-height:100dvh;overflow:hidden}.app-shell>.ant-layout{height:100dvh;min-width:0;overflow:hidden}.app-sider{border-right:1px solid var(--admin-border, #e3e9ef);height:calc(100dvh - 56px);overflow:hidden}.app-sider .ant-layout-sider-children{display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden}.app-sider .ant-menu{flex:1;min-height:0!important;overflow-x:hidden;overflow-y:auto}.sider-group-title{color:var(--admin-color-text-tertiary, #64748b);font-size:12px;font-weight:600;letter-spacing:.05em;padding:14px 20px 6px}.brand{align-items:center;color:#f8fafc;display:flex;flex:none;font-weight:700;height:56px;padding:0 8px;white-space:nowrap}.brand-mark{align-items:center;background:var(--admin-color-primary, #0e9c82);border-radius:var(--admin-radius-sm, 6px);color:#fff;display:inline-flex;height:28px;justify-content:center;margin-right:10px;width:28px}.topbar{align-items:center;display:flex;gap:16px;height:56px;padding:0 20px}.topnav{background:transparent;border-bottom:none;flex:1;min-width:0}.topbar-actions{flex:none}.mobile-nav-trigger{align-items:center;display:none!important;flex:none;height:44px;justify-content:center;min-width:44px;width:44px}.topbar-context{flex:1;min-width:0}.topbar-logout{flex:none}.content{flex:1;min-height:0;overflow:auto;padding:18px}.breadcrumb-link{color:var(--admin-color-primary, #0e9c82);cursor:pointer}.page-title{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;margin-bottom:16px}.page-title h1{font-size:22px;line-height:1.35;margin:0}.page-title p{color:var(--admin-color-text-secondary, #5f6b7a);margin:4px 0 0}.metric-row{display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:16px}.metric{background:var(--admin-bg-container, #ffffff);border:1px solid var(--admin-border, #e3e9ef);border-radius:var(--admin-radius, 8px);padding:14px 16px}.metric span{color:var(--admin-color-text-tertiary, #64748b);display:block;font-size:13px}.metric strong{color:var(--admin-color-heading, #0f172a);display:block;font-size:22px;margin-top:6px}.table-card{background:var(--admin-bg-container, #ffffff);border:1px solid var(--admin-border, #e3e9ef);border-radius:var(--admin-radius, 8px);padding:14px}.stack{display:grid;gap:16px}.card-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.entry-card{background:var(--admin-bg-container, #ffffff);border:1px solid var(--admin-border, #e3e9ef);border-radius:var(--admin-radius, 8px);display:flex;flex-direction:column;gap:8px;padding:16px;text-decoration:none;color:inherit;transition:border-color .2s,box-shadow .2s}.entry-card:hover{border-color:var(--admin-color-primary, #0e9c82);box-shadow:0 2px 8px #0e9c8229}.entry-card-title{font-size:15px;font-weight:600}.entry-card-desc{color:var(--admin-color-text-tertiary, #64748b);flex:1;font-size:13px;line-height:1.5}.entry-card-tags{display:flex;flex-wrap:wrap;gap:6px}.entry-card-meta{display:flex;flex-direction:column;gap:2px}.entry-card-footer{display:flex;align-items:center;justify-content:space-between}.split-grid{display:grid;gap:16px;grid-template-columns:minmax(0,1fr) minmax(360px,.8fr)}.menu-icon{margin-right:8px;vertical-align:-2px}@media (max-width: 960px){.app-sider{bottom:0;box-shadow:10px 0 24px #0f172a2e;height:calc(100dvh - 56px);left:0;position:fixed!important;top:56px;z-index:1000}.app-sider.ant-layout-sider-collapsed{box-shadow:none}.metric-row,.split-grid,.card-grid{grid-template-columns:1fr}.mobile-nav-trigger{display:inline-flex!important;color:#f8fafc}.topnav{display:none}.topbar{gap:8px;padding:0 12px}.content{padding:12px}}
