*{box-sizing:border-box}body{color:#1f2937;background:#f5f7fb;min-width:320px;margin:0;font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}:root{--app-bg:#f5f7fb;--app-surface:#fff;--app-surface-soft:#f8fbff;--app-border:#e5e7eb;--app-primary:#1677ff;--app-primary-deep:#14315f;--app-accent:#12b981;--app-header-bg:#ffffffeb;--app-header-text:#172033;--app-sider-bg:#fff;--app-sider-text:#233044;--app-sider-muted:#64748b;--app-menu-active-bg:#e6f4ff;--app-menu-active-color:#1677ff;--app-shadow:0 18px 44px #0f172a14}html[data-theme-variant=ocean]{--app-bg:#effaf9;--app-surface-soft:#f3fffd;--app-primary:#08979c;--app-primary-deep:#10464b;--app-accent:#13c2c2;--app-header-bg:#fffffff0;--app-header-text:#14363a;--app-sider-bg:#fff;--app-sider-text:#1f3d42;--app-sider-muted:#5f7f83;--app-menu-active-bg:#e6fffb;--app-menu-active-color:#08979c}html[data-theme-variant=graphite]{--app-bg:#f4f5f7;--app-surface-soft:#f8fafc;--app-primary:#3f4a5f;--app-primary-deep:#202938;--app-accent:#64748b;--app-header-bg:#fffffff0;--app-header-text:#202938;--app-sider-bg:#fff;--app-sider-text:#243145;--app-sider-muted:#64748b;--app-menu-active-bg:#eef2f7;--app-menu-active-color:#202938}html[data-theme-variant=aurora]{--app-bg:#f7f3ff;--app-surface-soft:#fbf8ff;--app-primary:#722ed1;--app-primary-deep:#3b176b;--app-accent:#eb2f96;--app-header-bg:#fffffff0;--app-header-text:#3b176b;--app-sider-bg:#fff;--app-sider-text:#341657;--app-sider-muted:#7e5aa8;--app-menu-active-bg:#f3e8ff;--app-menu-active-color:#722ed1}html[data-theme-variant=navy]{--app-bg:#f1f5fb;--app-surface-soft:#f8fbff;--app-primary:#2563eb;--app-primary-deep:#dbeafe;--app-accent:#22d3ee;--app-header-bg:linear-gradient(135deg, #132033, #334155);--app-header-text:#f8fafc;--app-sider-bg:#101827;--app-sider-text:#e8eef8;--app-sider-muted:#9fb1c9;--app-menu-active-bg:#2563eb3d;--app-menu-active-color:#fff}html[data-theme-variant=forest]{--app-bg:#f3fbf6;--app-surface-soft:#f8fffb;--app-primary:#15995a;--app-primary-deep:#d9fbe8;--app-accent:#84cc16;--app-header-bg:linear-gradient(135deg, #123d2c, #146c43);--app-header-text:#f4fff8;--app-sider-bg:#0f2e24;--app-sider-text:#e7fff0;--app-sider-muted:#98d6b2;--app-menu-active-bg:#22c55e3d;--app-menu-active-color:#fff}html[data-theme-variant=sunset]{--app-bg:#fff7ed;--app-surface-soft:#fffaf5;--app-primary:#ea580c;--app-primary-deep:#ffedd5;--app-accent:#f59e0b;--app-header-bg:linear-gradient(135deg, #5b2440, #9a3412);--app-header-text:#fff7ed;--app-sider-bg:#332017;--app-sider-text:#fff2e3;--app-sider-muted:#f4b883;--app-menu-active-bg:#f973163d;--app-menu-active-color:#fff}html[data-theme-variant] body{background:linear-gradient(180deg, color-mix(in srgb, var(--app-primary) 7%, transparent), transparent 280px), var(--app-bg)}.app-gray-mode{filter:grayscale()}.app-weak-mode{filter:invert(80%)}.app-shell{background:0 0;min-height:100vh}.app-sider{background:var(--app-sider-bg);border-right:1px solid var(--app-border);z-index:10;box-shadow:8px 0 24px #0f172a0a}.app-sider .ant-menu{color:var(--app-sider-text);background:0 0;border-inline-end:0}.app-sider .ant-menu-submenu-title,.app-sider .ant-menu-item{color:var(--app-sider-text)}.app-sider .ant-menu-submenu-arrow,.app-sider .ant-menu-item-icon{color:var(--app-sider-muted)}.app-sider .ant-menu-item-selected{color:var(--app-menu-active-color);background:var(--app-menu-active-bg);font-weight:700}.app-sider .ant-menu-light .ant-menu-submenu-selected>.ant-menu-submenu-title{color:var(--app-menu-active-color)}.menu-submenu-link{min-width:0;max-width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;padding:0;display:inline-flex}.menu-submenu-link:hover{color:var(--app-menu-active-color)}.app-fixed-sidebar .app-sider{height:100vh;position:sticky;inset-block-start:0;overflow:auto}.brand{height:56px;color:var(--app-primary-deep);border-bottom:1px solid color-mix(in srgb, var(--app-sider-text) 12%, transparent);align-items:center;padding:0 20px;font-size:18px;font-weight:700;display:flex}.app-theme-navy .brand,.app-theme-forest .brand,.app-theme-sunset .brand{color:#fff}.brand:before{background:linear-gradient(135deg, var(--app-primary), var(--app-accent));width:28px;height:28px;box-shadow:0 8px 18px color-mix(in srgb, var(--app-primary) 24%, transparent);content:"";border-radius:8px;margin-right:10px}.ant-layout-sider-collapsed .brand:before{margin-right:0}.ant-layout-sider-collapsed .brand{justify-content:center;padding:0;font-size:13px}.app-header{height:56px;color:var(--app-header-text);background:var(--app-header-bg);border-bottom:1px solid var(--app-border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);grid-template-columns:minmax(220px,1fr) auto minmax(220px,1fr);align-items:center;gap:12px;padding:0 20px;display:grid}.app-theme-navy .app-header,.app-theme-forest .app-header,.app-theme-sunset .app-header{border-bottom:0;box-shadow:0 10px 32px #0f172a1f}.app-theme-navy .app-header .ant-btn,.app-theme-forest .app-header .ant-btn,.app-theme-sunset .app-header .ant-btn,.app-theme-navy .app-header .ant-breadcrumb,.app-theme-forest .app-header .ant-breadcrumb,.app-theme-sunset .app-header .ant-breadcrumb,.app-theme-navy .account-name,.app-theme-forest .account-name,.app-theme-sunset .account-name{color:var(--app-header-text)}.app-fixed-header .app-header{z-index:9;position:sticky;inset-block-start:0}.app-header-left{min-width:0}.app-header-center{justify-content:center;min-width:0;display:flex}.app-header>.ant-space:last-child{justify-content:flex-end}.app-top-menu-strip{border:1px solid color-mix(in srgb, var(--app-primary) 10%, var(--app-border));background:color-mix(in srgb, var(--app-surface-soft) 86%, #fff);border-radius:8px;align-items:center;gap:6px;max-width:min(56vw,760px);padding:4px;display:flex;overflow-x:auto}.app-top-menu-strip::-webkit-scrollbar{display:none}.app-top-menu-item{flex:none}.app-top-menu-strip .ant-btn-text{color:#334155}.app-top-menu-strip .ant-btn-primary{box-shadow:0 8px 18px color-mix(in srgb, var(--app-primary) 20%, transparent)}.app-theme-navy .app-top-menu-strip,.app-theme-forest .app-top-menu-strip,.app-theme-sunset .app-top-menu-strip{background:#ffffff1f;border-color:#ffffff38}.app-theme-navy .app-top-menu-strip .ant-btn-text,.app-theme-forest .app-top-menu-strip .ant-btn-text,.app-theme-sunset .app-top-menu-strip .ant-btn-text{color:#ffffffe6}.current-dept-chip{border:1px solid color-mix(in srgb, var(--app-primary) 14%, transparent);max-width:260px;min-height:28px;color:var(--app-primary-deep);background:color-mix(in srgb, var(--app-primary) 8%, #fff);border-radius:999px;align-items:center;gap:6px;padding:3px 10px 3px 6px;display:inline-flex}.app-theme-navy .current-dept-chip,.app-theme-forest .current-dept-chip,.app-theme-sunset .current-dept-chip{color:#fff;background:#ffffff1f;border-color:#fff3}.current-dept-chip-icon{width:20px;height:20px;color:var(--app-primary);background:color-mix(in srgb, var(--app-primary) 11%, #fff);border-radius:999px;place-items:center;display:inline-grid}.app-theme-navy .current-dept-chip-icon,.app-theme-forest .current-dept-chip-icon,.app-theme-sunset .current-dept-chip-icon{color:#fff;background:#ffffff29}.current-dept-chip-label{color:inherit;opacity:.62;font-size:12px}.current-dept-chip strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.app-workspace-tabs{background:color-mix(in srgb, var(--app-surface) 96%, transparent);border-bottom:1px solid var(--app-border);height:40px;padding:6px 16px 0}.app-workspace-tabs .ant-tabs-nav{margin:0}.app-workspace-tabs .ant-tabs-tab{justify-content:center;min-width:96px}.workspace-tab-label{align-items:center;min-width:60px;height:100%;display:inline-flex}.app-content{background:0 0;min-height:calc(100vh - 96px);padding:16px}.app-footer{color:#94a3b8;text-align:center;border-top:1px solid #e5e7eb;padding:10px 16px}.account-trigger{height:40px;padding-inline:8px}.account-name{text-overflow:ellipsis;white-space:nowrap;max-width:140px;font-weight:600;overflow:hidden}.account-profile-summary{margin-bottom:16px}.account-modal-note{margin-top:12px;margin-bottom:0}.page-stack{width:100%}.login-page{background:#f5f7fb;place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{width:min(420px,100%)}.full-width-input,.layout-settings-stack,.layout-settings-control{width:100%}.layout-settings-stack section{display:block}.layout-settings-control{margin-top:10px}.layout-settings-row{border-bottom:1px solid #f0f2f5;justify-content:space-between;align-items:center;padding:10px 0;display:flex}.layout-settings-row>span{gap:3px;display:grid}.layout-settings-row small,.layout-settings-hint{color:#64748b;font-size:12px;line-height:1.55;display:block}.layout-settings-hint{margin-top:8px}.layout-preview-grid{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px;display:grid}.layout-preview-item{cursor:default;background:linear-gradient(90deg,#1f2a44 0 28%,#0000 28%),linear-gradient(#eef2f7 0 28%,#fff 28%);border:1px solid #e5e7eb;border-radius:8px;height:54px;padding:0}.layout-preview-item.is-active{border-color:var(--app-primary);box-shadow:0 0 0 2px color-mix(in srgb, var(--app-primary) 14%, transparent)}.layout-preview-item:disabled{cursor:not-allowed;filter:grayscale(70%);opacity:.42}.layout-preview-top{background:linear-gradient(#1f2a44 0 28%,#0000 28%),linear-gradient(90deg,#eef2f7 0 32%,#fff 32%)}.layout-preview-mix{background:linear-gradient(#1f2a44 0 24%,#0000 24%),linear-gradient(90deg,#1f2a44 0 24%,#0000 24%),#fff}.system-split-page{grid-template-columns:minmax(240px,300px) minmax(0,1fr);align-items:start;gap:16px;display:grid}.system-user-page{grid-template-columns:minmax(260px,360px) minmax(0,1fr)}.system-side-card,.system-main-card,.system-dict-card{min-width:0}.system-side-card .ant-card-body{max-height:calc(100vh - 180px);overflow:auto}.system-dict-page{grid-template-columns:minmax(420px,1fr) minmax(420px,1fr);align-items:start;gap:16px;display:grid}.system-selected-row td{background:#e6f4ff!important}.app-density-small .ant-table-cell,.app-density-small .ant-table-thead>tr>th,.app-density-small .ant-table-tbody>tr>td{height:34px!important;padding:6px 8px!important;line-height:1.35!important}.app-density-middle .ant-table-cell,.app-density-middle .ant-table-thead>tr>th,.app-density-middle .ant-table-tbody>tr>td{height:44px!important;padding:10px 12px!important;line-height:1.5!important}.app-density-large .ant-table-cell,.app-density-large .ant-table-thead>tr>th,.app-density-large .ant-table-tbody>tr>td{height:56px!important;padding:15px 14px!important;line-height:1.65!important}.app-density-small .ant-table,.app-density-small .ant-table-wrapper{font-size:12px}.app-density-large .ant-table,.app-density-large .ant-table-wrapper{font-size:14px}.app-density-small .ant-card-head{min-height:42px}.app-density-small .ant-card-body{padding:14px}.app-density-small .ant-pro-card-body{padding-block:12px;padding-inline:12px}.app-density-small .ant-form-item{margin-bottom:14px}.app-density-large .ant-card-body{padding:24px}.base-crud-modal .ant-modal-content{border-radius:14px;box-shadow:0 24px 80px #0f172a2e}.base-crud-modal .ant-modal-header{border-bottom:1px solid #eef2f7;margin-bottom:18px;padding-bottom:12px}.base-crud-form .ant-form-item{margin-bottom:16px}.base-crud-form .ant-form-item-label{padding-inline-end:12px}.base-crud-form .ant-input,.base-crud-form .ant-input-number,.base-crud-form .ant-select-selector,.base-crud-form .ant-picker{border-radius:8px}@media (width<=720px){.base-crud-form,.base-crud-form .ant-form-item{display:block}}.login-page{background:radial-gradient(circle at 16% 18%,#1677ff2e,#0000 26%),radial-gradient(circle at 80% 76%,#12b98129,#0000 28%),linear-gradient(135deg,#eef5ff 0%,#f8fbff 50%,#edfdf7 100%);grid-template-columns:minmax(0,1fr) minmax(360px,460px);align-items:center;gap:40px;min-height:100vh;padding:48px clamp(24px,7vw,96px);display:grid;overflow:hidden}.login-hero{color:#102a56;flex-direction:column;justify-content:center;min-height:520px;display:flex;position:relative}.login-hero:before{content:"";background:linear-gradient(#ffffffe0,#ffffff8c),repeating-linear-gradient(0deg,#14315f0f 0 1px,#0000 1px 42px);border:1px solid #1677ff29;border-radius:18px;width:480px;height:300px;position:absolute;inset:50px auto auto 40px;transform:rotate(-4deg);box-shadow:0 28px 80px #0f172a1f}.login-hero-content{z-index:1;max-width:600px;position:relative}.login-eyebrow{color:#1677ff;letter-spacing:0;margin-bottom:18px;font-weight:700}.login-title{color:#0f1f3a;margin:0 0 18px;font-size:clamp(38px,5vw,62px);line-height:1.05}.login-description{color:#4b5d78;max-width:520px;font-size:16px;line-height:1.8}.login-metric-row{flex-wrap:wrap;gap:12px;margin-top:32px;display:flex}.login-metric{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffc7;border:1px solid #1677ff1f;border-radius:10px;min-width:126px;padding:14px 16px}.login-metric strong{color:#102a56;font-size:20px;display:block}.login-metric span{color:#64748b;font-size:12px}.login-card{border:1px solid #1677ff1a;width:100%;box-shadow:0 24px 80px #0f172a21}.login-card .ant-card-body{padding:34px}.login-card .ant-alert{margin-bottom:16px}.dashboard-hero{background:linear-gradient(135deg,#1677ff1a,#12b98114),#fff;border:1px solid #d8e7ff;border-radius:12px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:24px;display:grid}.dashboard-hero h2{margin:0 0 8px}.dashboard-hero p{color:#52637a;margin:0}.dashboard-pulse{color:#fff;background:linear-gradient(135deg,#1677ff,#12b981);border-radius:24px;place-items:center;width:112px;height:112px;font-weight:800;display:grid;box-shadow:0 18px 40px #1677ff40}.dashboard-card-title{justify-content:space-between;align-items:center;gap:12px;display:flex}.module-overview-page .ant-card,.dashboard-module-card{height:100%}.module-hero{border:1px solid color-mix(in srgb, var(--app-primary) 14%, #d8e7ff);background:linear-gradient(135deg, color-mix(in srgb, var(--app-primary) 9%, #fff), color-mix(in srgb, var(--app-accent) 6%, #fff)), #fff;border-radius:12px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;padding:24px;display:grid}.module-eyebrow{color:var(--app-primary);font-weight:700}.module-hero h3,.module-hero p{margin-bottom:0}.module-hero p{color:#52637a;max-width:920px;margin-top:10px;line-height:1.75}.module-hero-mark{color:#fff;width:104px;height:104px;box-shadow:0 18px 44px color-mix(in srgb, var(--app-primary) 22%, transparent);border-radius:26px;place-items:center;font-size:34px;display:grid}.module-feature-card{color:#1f2937;background:linear-gradient(180deg, #fff, color-mix(in srgb, var(--app-primary) 3%, #fff));border:1px solid #e7edf5;border-radius:10px;grid-template-columns:auto minmax(0,1fr);gap:8px 12px;height:100%;padding:16px;transition:border-color .18s,box-shadow .18s,transform .18s;display:grid;box-shadow:0 10px 28px #0f172a0a}.module-feature-card:hover{color:#1f2937;border-color:color-mix(in srgb, var(--app-primary) 34%, #d8e7ff);transform:translateY(-1px);box-shadow:0 16px 36px #0f172a14}.module-feature-icon{width:34px;height:34px;color:var(--app-primary);background:color-mix(in srgb, var(--app-primary) 10%, #fff);border-radius:9px;grid-row:span 3;place-items:center;font-size:17px;display:inline-grid}.module-feature-card strong{color:#142034}.module-feature-card span:last-of-type{color:#64748b;line-height:1.6}.module-feature-card ul{color:#64748b;grid-column:2;margin:4px 0 0;padding-left:16px;font-size:12px;line-height:1.7}@media (width<=1100px){.system-split-page,.system-user-page,.system-dict-page{grid-template-columns:1fr}}@media (width<=920px){.login-page{grid-template-columns:1fr;padding:28px}.login-hero{min-height:auto}.login-hero:before{display:none}.dashboard-hero,.module-hero{grid-template-columns:1fr}.module-hero-mark{width:84px;height:84px;font-size:28px}}
