*{box-sizing:border-box}body{margin:0;font-family:Microsoft YaHei,PingFang SC,sans-serif}.shell{min-height:100vh}.sider{padding:20px 10px;background:#17201d!important;position:relative!important}.logo{color:#fff;align-items:center;gap:12px;height:70px;padding:0 12px;display:flex}.logo i{color:#17201d;background:#c9ed4c;border-radius:10px;place-items:center;width:36px;height:36px;font:900 20px Georgia;display:grid}.logo span{flex-direction:column;display:flex}.logo b{letter-spacing:3px;font-size:18px}.logo small{color:#88948e;margin-top:3px;font-size:10px}.content{background:#f5f7f5;padding:34px 40px}.content header{justify-content:space-between;align-items:center;margin-bottom:25px;display:flex}.content header span{color:#8b9691;font-size:11px}.content h1{margin:6px 0;font-size:28px}.content header p{color:#77827d;margin:0}.content header>button{cursor:pointer;background:#c9ed4c;border:0;border-radius:9px;padding:12px 18px;font-weight:700}.stats{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:16px;display:grid}.account{color:#fff;border-top:1px solid #303a36;align-items:center;gap:10px;padding:16px 4px 0;display:flex;position:absolute;bottom:18px;left:14px;right:14px}.account>span{flex-direction:column;flex:1;min-width:0;display:flex}.account b{font-size:12px}.account small{color:#87938d;text-overflow:ellipsis;font-size:9px;overflow:hidden}.account .ant-btn{color:#a5b0aa}.link-button{color:#66736d;cursor:pointer;background:0 0;border:0}.customer-toolbar{gap:12px;margin-bottom:18px;display:flex}.customer-toolbar .ant-input-affix-wrapper{max-width:390px}.customer-toolbar .ant-select{width:150px}.customer-name,.customer-contact{flex-direction:column;gap:3px;display:flex}.customer-name small,.customer-contact small{color:#8b9691}.form-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.result-page{background:#f5f7f5;place-items:center;min-height:100vh;display:grid}.login-shell{color:#f7f8f4;background:#101916;grid-template-columns:minmax(420px,1.1fr) minmax(480px,.9fr);min-height:100vh;display:grid}.login-brand{background:radial-gradient(circle at 20% 20%,#35472e 0,#0000 38%),radial-gradient(circle at 80% 70%,#253527 0,#0000 40%);flex-direction:column;justify-content:center;padding:70px clamp(50px,8vw,130px);display:flex}.login-logo{color:#17201d;background:#c9ed4c;border-radius:14px;place-items:center;width:48px;height:48px;font:900 25px Georgia;display:grid;transform:rotate(-6deg)}.login-brand>p{color:#9bac95;letter-spacing:.28em;margin:30px 0 18px;font-size:11px}.login-brand h1{letter-spacing:-3px;margin:0;font-size:clamp(52px,6vw,82px);line-height:1.08}.login-brand h1 em{color:#c9ed4c;font-style:normal}.login-brand>span{color:#9ba8a2;margin-top:28px;line-height:1.8}.login-panel{background:#f5f7f5;place-items:center;padding:30px;display:grid}.login-card{color:#17201d;background:#fff;border-radius:18px;width:min(420px,100%);padding:42px;box-shadow:0 30px 80px #0002}.login-card>small{color:#88a62d;letter-spacing:.16em;font-weight:700}.login-card h2{margin:10px 0 6px;font-size:26px}.login-card>p{color:#86908c;margin:0 0 25px}.login-card .ant-alert{margin-bottom:18px}.login-card footer{text-align:center;color:#9aa39f;margin-top:24px;font-size:10px}.login-card .ant-btn{font-weight:700}.access-toolbar{align-items:center}.access-toolbar .ant-btn{margin-left:auto}.role-toolbar{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.role-toolbar p,.form-hint{color:#7c8882;margin:0;font-size:12px}.permission-groups{flex-direction:column;gap:14px;width:100%;display:flex!important}.permission-groups section{border:1px solid #edf0ed;border-radius:10px;padding:14px}.permission-groups section>b{margin-bottom:10px;display:block}.permission-groups section>div{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.customer-name b{align-items:center;gap:8px;display:flex}.audit-toolbar .ant-select{width:160px}.audit-json{color:#314039;white-space:pre-wrap;word-break:break-all;background:#f6f8f6;border-radius:8px;max-height:260px;margin:8px 0 14px;padding:12px;font:12px/1.6 Consolas,monospace;overflow:auto}.audit-timeline{margin-top:28px}.audit-timeline section small{color:#8b9691}.audit-timeline h4{margin:12px 0 4px}.page-toolbar .ant-select{width:180px}.page-editor-grid{grid-template-columns:minmax(420px,560px) minmax(520px,1fr);align-items:start;gap:32px;display:grid}.page-content-form{padding-right:18px}.page-preview-panel{position:sticky;top:12px}.page-preview-panel>p{color:#7c8882;font-size:12px}.page-preview{min-height:560px;color:var(--preview-text);background:radial-gradient(circle at 18% 18%,color-mix(in srgb,var(--preview-primary) 18%,transparent),transparent 38%),var(--preview-background);border-radius:18px;overflow:hidden;box-shadow:0 24px 60px #10201930}.page-preview-brand{padding:24px 30px;font-weight:800}.page-preview-body{grid-template-columns:1fr 250px;gap:34px;padding:75px 40px;display:grid}.page-preview-body section small{color:var(--preview-primary);letter-spacing:.18em}.page-preview-body h2{white-space:pre-line;font-size:38px;line-height:1.1}.page-preview-body section p{opacity:.68;line-height:1.7}.page-preview-body aside{color:#17201d;background:#fff;border-radius:14px;height:max-content;padding:24px}.page-preview-body aside>b{margin-bottom:18px;display:block}.page-preview-body aside i{border:1px solid #e1e6e3;border-radius:7px;height:36px;margin:10px 0;display:block}.page-preview-body aside button{background:var(--preview-primary);border:0;border-radius:7px;width:100%;height:38px;font-weight:700}.page-preview footer{text-align:center;opacity:.5;padding:18px;font-size:10px}.version-timeline{margin-top:28px}.version-timeline .ant-card p{margin:0 0 8px}.version-timeline small{color:#7c8882}@media (max-width:1100px){.page-editor-grid{grid-template-columns:1fr}.page-preview-panel{position:static}.page-preview-body{grid-template-columns:1fr 230px}}@media (max-width:900px){.stats{grid-template-columns:repeat(2,1fr)}.content{padding:24px}.sider{display:none}}@media (max-width:820px){.login-shell{grid-template-columns:1fr}.login-brand{display:none}.login-panel{min-height:100vh}.login-card{padding:30px}}
