*{box-sizing:border-box}body{margin:0;background:#eef2f7;color:#172033;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.auth-loading{min-height:100vh;display:grid;place-items:center;align-content:center;gap:12px;background:#eef2f7;color:#344054;font-weight:750}.auth-loading .anticon{color:#1f6feb;font-size:30px}.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(420px,.85fr);background:#eef2f7}.login-visual{position:relative;display:flex;flex-direction:column;justify-content:space-between;min-height:100vh;padding:42px 56px;overflow:hidden;background:linear-gradient(145deg,#101828f5,#112545f0),url(https://images.unsplash.com/photo-1516321318423-f06f85e504b3?auto=format&fit=crop&w=1400&q=80);background-size:cover;background-position:center;color:#fff}.login-visual:after{content:"";position:absolute;inset:auto 56px 38px auto;width:220px;height:130px;border:1px solid rgba(255,255,255,.18);border-radius:8px;background:linear-gradient(180deg,#ffffff1f,#ffffff0a);pointer-events:none}.login-brand{position:relative;z-index:1;display:flex;align-items:center;gap:12px}.login-copy{position:relative;z-index:1;max-width:620px}.login-copy .page-kicker{color:#8cc3ff}.login-copy h1.ant-typography{margin:0 0 16px;color:#fff;font-size:48px;line-height:1.1;letter-spacing:0}.login-copy .ant-typography{max-width:560px;color:#ffffffb8;font-size:16px;line-height:1.8}.login-metrics{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,150px));gap:12px}.login-metrics>div{padding:14px;border:1px solid rgba(255,255,255,.14);border-radius:8px;background:#ffffff14;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.login-metrics strong,.login-metrics span{display:block}.login-metrics strong{margin-bottom:5px;font-size:24px}.login-metrics span{color:#ffffffa3;font-size:12px}.login-card{align-self:center;width:min(430px,calc(100% - 48px));justify-self:center;border:1px solid #dde5f0;border-radius:8px;box-shadow:0 24px 60px #10182824}.login-card .ant-card-body{padding:34px}.login-icon{width:42px;height:42px;display:grid;place-items:center;margin-bottom:18px;border-radius:8px;background:#eaf2ff;color:#1f6feb;font-size:22px}.login-card h3.ant-typography{margin-bottom:6px}.login-card .ant-form{margin-top:24px}.app-shell{min-height:100vh}.sidebar{background:#101828!important;border-right:1px solid rgba(255,255,255,.08)}.brand{height:74px;display:flex;align-items:center;gap:12px;padding:0 20px;color:#fff;border-bottom:1px solid rgba(255,255,255,.08)}.brand-mark{width:38px;height:38px;display:grid;place-items:center;border-radius:8px;background:#1f6feb;font-weight:900;box-shadow:0 10px 24px #1f6feb47}.brand-title{font-weight:800;line-height:1.2}.brand-subtitle{margin-top:2px;color:#ffffff8a;font-size:12px}.menu{border-right:0!important;background:transparent!important;padding:12px}.menu .ant-menu-item{color:#ffffffa8;border-radius:8px;margin-inline:0;width:100%}.menu .ant-menu-item:hover{color:#fff!important;background:#ffffff14!important}.menu .ant-menu-item-selected{color:#fff!important;background:#1f6feb!important}.topbar{height:74px;display:flex;align-items:center;justify-content:space-between;padding:0 28px;background:#ffffffeb;border-bottom:1px solid #dde5f0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.sub{margin-left:12px;color:#667085;font-size:13px}.content{padding:28px}.page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:18px}.page-kicker{margin-bottom:4px;color:#1f6feb;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:0}.page-title{margin-bottom:4px;color:#111827;font-size:26px;font-weight:850}.page-desc{color:#667085;font-size:14px}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}.stats-grid.compact{margin-bottom:18px}.metric-card,.section-panel{border:1px solid #dde5f0;border-radius:8px;box-shadow:0 14px 34px #1018280f}.metric-card .ant-statistic-title{color:#667085;font-size:13px}.metric-card .ant-statistic-content{color:#111827;font-weight:800}.dashboard-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:16px}.dashboard-wide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px}.dashboard-stats .metric-card .ant-card-body{min-height:116px}.panel-title{margin-bottom:12px;color:#111827;font-weight:800}.publish-row{display:grid;grid-template-columns:150px minmax(0,1fr);align-items:center;gap:18px}.publish-row.compact{grid-template-columns:118px minmax(0,1fr);margin-top:16px}.trend-chart{height:236px;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));align-items:end;gap:12px;padding-top:10px}.trend-item{display:grid;grid-template-rows:1fr auto auto;gap:6px;min-width:0;height:100%;text-align:center}.trend-bar-wrap{display:flex;align-items:end;justify-content:center;min-height:132px;border-radius:8px;background:#f3f6fb;overflow:hidden}.trend-bar{width:100%;max-width:34px;border-radius:8px 8px 0 0;background:#1f6feb;box-shadow:0 10px 22px #1f6feb38}.trend-value{color:#172033;font-size:13px;font-weight:800}.trend-label{color:#667085;font-size:12px}.asset-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.asset-grid>div{display:grid;gap:5px;padding:12px;border:1px solid #edf1f7;border-radius:8px;background:#fbfcff}.asset-grid .anticon{color:#1f6feb;font-size:18px}.asset-grid strong{color:#111827;font-size:22px;line-height:1}.asset-grid span{color:#667085;font-size:12px}.ranking-list{display:flex;flex-direction:column;gap:10px}.ranking-item{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;border:1px solid #edf1f7;border-radius:8px;background:#fbfcff}.rank-index{width:34px;height:34px;display:grid;place-items:center;border-radius:8px;background:#eaf2ff;color:#1f6feb;font-weight:900}.rank-index.danger{background:#fff1f0;color:#d92d20}.rank-main{min-width:0}.rank-title{margin:2px 0 4px;color:#172033;font-weight:750;line-height:1.45}.rank-bar{height:6px;margin-top:8px;overflow:hidden;border-radius:999px;background:#edf1f7}.rank-bar span{display:block;height:100%;border-radius:inherit;background:#1f6feb}.recent-list{display:flex;flex-direction:column;gap:10px}.recent-item{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px;border:1px solid #edf1f7;border-radius:8px;background:#fbfcff}.recent-title{margin:6px 0 2px;color:#172033;font-weight:700;line-height:1.45}.bank-workbench{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px;align-items:start}.span-4{grid-column:span 4}.span-5{grid-column:span 5}.span-7{grid-column:span 7}.span-8{grid-column:span 8}.section-panel .ant-card-head{min-height:48px;border-bottom-color:#edf1f7}.section-panel .ant-card-head-title{font-weight:800}.section-panel .ant-card-body{padding:16px}.entity-form{margin-top:4px}.form-two-col,.form-three-col{display:grid;gap:12px}.form-two-col{grid-template-columns:repeat(2,minmax(0,1fr))}.form-three-col{grid-template-columns:repeat(3,minmax(0,1fr))}.full-input{width:100%}.ant-table-wrapper .ant-table{color:#172033}.ant-table-wrapper .ant-table-thead>tr>th{background:#f8fafc;color:#667085;font-weight:750}.ant-table-wrapper .ant-table-tbody>tr{cursor:pointer}.selected-row>td{background:#eaf2ff!important}.question-cell{min-width:280px}.question-title{margin:7px 0 2px;color:#172033;font-weight:700;line-height:1.45}.question-drawer{color:#172033}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0}.detail-grid>div{display:flex;flex-direction:column;gap:4px;padding:12px;border:1px solid #edf1f7;border-radius:8px;background:#fbfcff}.drawer-section{margin-top:18px}.json-block{max-height:260px;overflow:auto;margin:0;padding:12px;border:1px solid #dde5f0;border-radius:8px;background:#0f172a;color:#dbeafe;font-size:12px;line-height:1.6}.sub-question{padding:12px;border:1px solid #edf1f7;border-radius:8px;background:#fbfcff}.question-filter-panel{margin-bottom:16px}.filter-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.notice-filter-grid{grid-template-columns:180px 180px minmax(280px,1fr)}.user-filter-grid{grid-template-columns:160px 160px 220px minmax(280px,1fr)}.system-filter-grid{grid-template-columns:180px minmax(300px,1fr) 120px}.permission-panel{margin-bottom:16px}.permission-grid{display:grid;gap:10px}.permission-row{display:grid;grid-template-columns:180px minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:stretch;padding:12px;border:1px solid #edf1f7;border-radius:8px;background:#fbfcff}.permission-row>div{min-width:0}.permission-row strong,.permission-row span,.permission-row p{display:block}.permission-row strong{color:#172033;font-weight:800}.permission-row span{margin-top:4px;color:#667085;font-size:12px}.permission-row p{margin:8px 0 0;color:#344054;line-height:1.5}.system-nav-panel{margin-bottom:16px}.system-nav-panel .ant-card-body{padding:10px}.development-log-page{display:grid;gap:16px}.development-log-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.development-log-summary,.development-log-meta{display:grid;grid-template-columns:1.4fr .6fr 1fr;gap:12px;margin-bottom:14px}.development-log-summary>div,.development-log-meta>div{display:grid;gap:5px;padding:12px;border:1px solid #edf1f7;border-radius:8px;background:#fbfcff}.development-log-summary strong,.development-log-meta strong{color:#172033}.development-log-toolbar{margin-bottom:0}.development-log-filter{grid-template-columns:minmax(360px,1fr) 110px;margin-bottom:14px}.development-log-meta{grid-template-columns:minmax(0,1fr) 240px;margin-bottom:0}.development-log-list{display:grid;gap:12px}.development-log-item{padding:14px;border:1px solid #edf1f7;border-radius:8px;background:#fff}.development-log-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.development-log-head>div{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.development-log-head strong{color:#172033;font-size:15px}.development-log-item ul{margin:10px 0 0;padding-left:18px;color:#344054;line-height:1.75}.development-log-note{margin-top:10px;padding:10px;border-radius:8px;background:#fff7e6;color:#8a5a00}.development-log-pagination{display:flex;justify-content:flex-end;margin-top:16px}.system-log-panel{margin-top:16px}.system-log-filter{grid-template-columns:180px 180px minmax(300px,1fr) 120px;margin-bottom:16px}.user-cell,.user-profile-head{display:flex;align-items:center;gap:12px}.user-avatar{width:38px;height:38px;display:grid;flex:0 0 auto;place-items:center;border-radius:8px;background:#1f6feb;color:#fff;font-weight:850;object-fit:cover}.user-avatar.large{width:56px;height:56px;font-size:22px}.muted-line{margin-top:3px;color:#667085;font-size:12px}.drawer-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.question-form .ant-form-item{margin-bottom:14px}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.switch-row{display:flex;align-items:center;gap:18px;padding-top:2px}.notice-preview{padding:14px;border:1px solid #edf1f7;border-radius:8px;background:#fbfcff;color:#172033;line-height:1.8}.notice-preview p{margin:0 0 10px}.template-download-btn{margin-left:10px}.placeholder-page{min-height:420px;display:grid;place-items:center;align-content:center;gap:8px;border:1px solid #dde5f0;border-radius:8px;background:#fff;color:#667085;box-shadow:0 14px 34px #1018280f}.placeholder-page>.anticon{color:#1f6feb;font-size:34px}.contact-config-page{display:flex;flex-direction:column;gap:16px}.contact-config-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.contact-config-actions{margin-top:16px}.config-note{padding:12px 14px;border:1px solid #dbe7ff;border-radius:8px;background:#f5f8ff;color:#50627f;line-height:1.7}@media(max-width:1280px){.span-4,.span-5,.span-7,.span-8{grid-column:span 12}.filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:960px){.login-shell{grid-template-columns:1fr}.login-visual{min-height:auto;padding:30px 24px;gap:60px}.login-card{margin:24px 0}.stats-grid,.dashboard-grid,.dashboard-wide-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.publish-row,.form-grid,.form-grid.two{grid-template-columns:1fr}.asset-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.permission-row,.development-log-metrics,.development-log-summary,.development-log-meta,.development-log-filter,.contact-config-grid{grid-template-columns:1fr}}@media(max-width:720px){.login-copy h1.ant-typography{font-size:34px}.login-metrics{grid-template-columns:1fr}.content{padding:18px}.stats-grid,.dashboard-grid,.dashboard-wide-grid,.filter-grid{grid-template-columns:1fr}}
