*{box-sizing:border-box}body{margin:0;background:#f6f7fb;color:#20273b;font:14px/1.6 "Segoe UI","Microsoft YaHei",sans-serif}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #a5b4fc;outline-offset:2px}[hidden]{display:none!important}a{text-decoration:none;color:inherit}h1,h2,h3,p{margin:0}h1{font-size:30px;letter-spacing:-.8px;line-height:1.4}h2{font-size:18px}label{display:block;font-weight:600;font-size:12px;margin-bottom:7px;color:#47516a}input:not([type=color]),textarea,select{width:100%;border:1px solid #dce0e9;background:#fff;border-radius:8px;padding:10px 12px;color:#263149;transition:border .15s;outline:none}input:not([type=color]):focus,textarea:focus,select:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f112}textarea{resize:vertical}input[type=color]{height:43px;width:100%;border:1px solid #dce0e9;border-radius:8px;background:white;padding:4px}input::placeholder,textarea::placeholder{color:#a1a7b5}.button{border:1px solid transparent;border-radius:8px;padding:10px 17px;display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap;font-size:13px;font-weight:600;transition:.15s}.button.primary{color:white;background:#5858e8;box-shadow:0 3px 7px #5858e81a}.button.primary:hover{background:#4846ce}.button.secondary{background:white;border-color:#dfe3eb;color:#4c5670}.button.secondary:hover,.button.quiet:hover{background:#eef0f7}.button.quiet{color:#65708a;background:transparent}.button.small{padding:6px 11px;font-size:12px}.button.danger{color:#fff;background:#d34755}.button.text-danger{color:#c64857;background:transparent}.full-width{width:100%}.icon-button{border:0;background:transparent;color:#8992a7;font-size:24px;line-height:1;width:32px;height:32px;border-radius:7px}.icon-button:hover{background:#eef0f7;color:#47516a}.brand{display:flex;align-items:center;gap:11px;font-size:21px;font-weight:750;letter-spacing:1px}.brand small{display:block;font-size:9px;letter-spacing:2px;font-weight:600;color:#97a0b6;line-height:1.1}.brand-mark{width:39px;height:39px;display:block;flex-shrink:0;object-fit:contain;box-shadow:0 5px 10px #5758e82b;border-radius:25%}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;color:#838caa;display:block;margin-bottom:9px}.login-view{display:grid;grid-template-columns:1fr 1fr;min-height:100vh}.login-story{background:#20264b;color:#fff;padding:48px 9%;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;position:relative}.login-story:before{content:"";position:absolute;width:560px;height:560px;right:-250px;bottom:-220px;border-radius:50%;border:80px solid #ffffff03}.brand.light small{color:#a3a7cf}.login-story h1{font-size:39px;font-weight:600;letter-spacing:.4px;margin-bottom:20px}.login-story p{color:#b6bcd5;font-size:13px;line-height:1.9}.light-text{color:#a7ace4;margin-bottom:20px}.login-foot{font-size:10px;color:#929abc;letter-spacing:1.5px}.login-paper{margin:30px 0;width:255px;background:#fafbff;border-radius:6px;padding:25px;position:relative;transform:rotate(-7deg);box-shadow:0 22px 50px #11183650;height:206px;overflow:hidden}.login-paper>span{font-size:6px;color:#9096af;letter-spacing:2px}.login-paper h3{font-size:14px;color:#576076;margin:9px 0 20px}.login-paper i{display:block;background:#e6e9f0;height:4px;margin:10px 0}.login-paper i:last-of-type{width:70%}.login-paper b{position:absolute;color:#5858e82c;transform:rotate(-23deg);font-size:25px;white-space:nowrap;top:90px;left:33px}.login-form-wrap{display:grid;place-items:center;background:#fff;padding:40px}.login-form{width:100%;max-width:350px}.login-form h2{font-size:28px;margin-bottom:10px}.login-form>p{color:#8a91a3;font-size:13px;margin-bottom:34px}.login-form input{padding:12px!important}.login-form .button{width:100%;margin-top:20px;justify-content:space-between;padding:12px 16px}.login-hint{border-top:1px solid #eef0f5;padding-top:21px;margin-top:30px;font-size:11px;color:#9aa1b1;line-height:1.9}.form-error{color:#cb4257;font-size:12px;min-height:18px;margin-top:7px}.app-shell{min-height:100vh;display:grid;grid-template-columns:224px minmax(0,1fr)}.sidebar{background:#fff;border-right:1px solid #e8ebf3;padding:33px 20px 0;position:sticky;top:0;height:100vh;display:flex;flex-direction:column}.sidebar .brand{margin:0 6px 43px}.nav-caption{font-size:10px;letter-spacing:2px;color:#a2a9b8;padding-left:13px;margin-bottom:13px}.nav-item{width:100%;display:flex;align-items:center;gap:12px;padding:12px 14px;border:0;background:transparent;color:#798198;font-size:13px;font-weight:600;border-radius:8px;margin-bottom:6px;text-align:left}.nav-item>span:first-child{font-size:20px;line-height:1;font-weight:400}.nav-item.active{background:#eeedff;color:#5c55d8}.nav-item:hover{background:#f3f4fa}.nav-count{font-size:10px;margin-left:auto;color:#aaaec0;font-weight:400}.nav-item.active .nav-count{color:#8b83df}.sidebar-note{margin-top:auto;padding:20px 6px 23px;color:#626d87;font-size:11px;font-weight:600}.sidebar-note p{font-size:10px;color:#a0a8b9;line-height:1.9;margin-top:8px;font-weight:400}.status-dot{display:inline-block;width:6px;height:6px;background:#4cb69a;border-radius:50%;vertical-align:middle;margin-right:6px}.sidebar-bottom{display:flex;align-items:center;border-top:1px solid #eef0f5;padding:20px 0;gap:10px}.avatar{border-radius:10px;background:#f0efff;color:#776bd5;font-size:12px;width:34px;height:34px;display:grid;place-items:center}.sidebar-bottom strong{font-size:11px;display:block}.sidebar-bottom small{display:block;font-size:9px;color:#a2a9b8}.sidebar-bottom .icon-button{margin-left:auto;font-size:20px}.workspace{min-width:0}.topbar{height:77px;background:#fff;border-bottom:1px solid #e8ebf3;display:flex;justify-content:space-between;align-items:center;padding:0 38px;font-size:11px;color:#6e778c}.topbar>div{display:flex;align-items:center;gap:18px}.breadcrumb{color:#a2a9b8}.breadcrumb-sep{margin:0 13px;color:#c9cdda}.revision{font-size:10px;color:#9aa2b5}.workspace-content{max-width:1480px;margin:auto;padding:33px 38px 0}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:28px}.page-heading p{font-size:12px;color:#9199ac;margin-top:8px}.page-heading .eyebrow{margin-bottom:6px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:19px;margin-bottom:32px}.stat{background:white;border:1px solid #e7eaf1;border-radius:11px;display:flex;align-items:center;gap:14px;padding:19px 20px;position:relative;min-height:104px}.stat-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:11px;font-size:22px}.lavender{background:#efedff;color:#8774dc}.blue{background:#edf3ff;color:#7b9cda}.mint{background:#eaf7f2;color:#63ab92}.stat>div>span{font-size:11px;color:#9aa1b1;display:block}.stat strong{display:block;font-size:23px;line-height:1.4;font-weight:650;color:#353e58}.stat small{font-size:9px;color:#b0b7c6;position:absolute;right:18px;bottom:22px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:17px;min-height:32px}.section-heading h2{font-size:15px;font-weight:650}.section-heading h2>span{margin-left:7px;font-size:11px;background:#e9eaf4;color:#969bb3;border-radius:5px;padding:1px 6px}.section-heading>span{font-size:10px;color:#a1a8ba}.template-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(285px,1fr));gap:22px}.template-card{background:#fff;border:1px solid #e5e9f1;border-radius:12px;overflow:hidden;transition:.15s}.template-card:hover{box-shadow:0 9px 24px #242c5510;border-color:#cccdf0}.template-preview{background:#f0f2f7;height:183px;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative;border-bottom:1px solid #edf0f5}.template-preview canvas{width:155px;height:197px;transform:rotate(-5deg) translateY(22px);box-shadow:0 4px 18px #323c5512;background:white}.template-badge{position:absolute;top:14px;right:13px;color:#7f77bf;background:#ffffffd9;border:1px solid #e8e7f4;border-radius:5px;padding:1px 7px;font-size:9px}.template-card-body{padding:18px 18px 12px}.card-title{display:flex;align-items:center;gap:8px}.card-title h3{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.badge{padding:1px 7px;font-size:9px;background:#edf8f2;color:#5aa285;border-radius:4px;white-space:nowrap}.badge.muted{background:#f0f1f5;color:#949aab}.card-description{font-size:11px;color:#9aa2b4;margin:7px 0 15px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.card-meta{display:flex;gap:13px;font-size:10px;color:#a6aebe;padding-bottom:15px;border-bottom:1px solid #f0f1f7}.card-actions{display:flex;justify-content:space-between;align-items:center;padding-top:10px}.card-actions>span{font-size:9px;color:#abb2c1}.card-actions>div{display:flex;gap:2px}.card-actions button{font-size:10px;padding:5px 8px}.info-banner{display:flex;gap:12px;align-items:center;padding:14px 18px;background:#eef0fc;border:1px solid #e2e6fa;border-radius:9px;margin-bottom:22px;color:#7a83a7;font-size:11px}.info-banner>span{font-size:22px;color:#8a8fce}.group-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(285px,1fr));gap:20px}.group-card{background:white;border:1px solid #e5e9f1;padding:21px;border-radius:11px}.group-card-head{display:flex;gap:12px;align-items:center;margin-bottom:19px}.group-card-head h3{font-size:14px}.group-card-head p{font-size:10px;color:#a1a9bb}.group-card-template{padding:12px;background:#f7f8fc;border-radius:7px;font-size:11px;color:#8590a8;margin-bottom:14px}.group-card-template strong{color:#505d79;font-weight:500;display:block;margin-top:4px}.group-card .card-actions{border-top:1px solid #edf0f5;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.group-card .card-actions button{padding:7px;min-width:0;white-space:normal}.empty-state{background:#fff;border:1px dashed #d7dcea;border-radius:11px;text-align:center;padding:60px 20px;color:#9aa4b8;grid-column:1/-1}.empty-state strong{display:block;font-size:14px;color:#5d6984;margin-bottom:9px}.empty-state p{font-size:12px}.page-error{border:1px solid #f3d3d6;background:#fff5f5;color:#ba5260;border-radius:8px;padding:12px 16px;margin-bottom:20px;font-size:12px}.table-wrap{background:white;border:1px solid #e5e9f1;border-radius:11px;overflow:auto}table{width:100%;border-collapse:collapse;white-space:nowrap;text-align:left}th{font-size:10px;font-weight:500;color:#969eb2;background:#fbfcfe;padding:14px 20px;border-bottom:1px solid #eef0f5}td{padding:17px 20px;border-bottom:1px solid #eff1f6;color:#7c879f;font-size:11px}tr:last-child td{border:0}td strong{font-size:12px;color:#475571;font-weight:600}td small{font-size:9px;display:block;color:#b0b8c7;margin-top:3px}.device-actions{display:flex;gap:2px}.device-actions button{padding:4px 8px;font-size:10px}.table-note{font-size:10px;color:#a6adbd;margin-top:14px}.search{display:flex;align-items:center;gap:8px;background:white;padding:3px 9px;border:1px solid #e2e6f0;border-radius:7px;margin:0;font-weight:400}.search input{padding:4px!important;font-size:11px;border:0!important;box-shadow:none!important;min-width:160px}.search span{font-size:20px;color:#929db4}.workspace-footer{padding:28px 0 20px;display:flex;justify-content:space-between;font-size:9px;color:#b4bac8;border-top:1px solid #e8ebf3;margin-top:34px}dialog{border:1px solid #e4e7f0;border-radius:15px;padding:0;box-shadow:0 30px 100px #18203b40;max-height:92vh;max-width:95vw;color:#263149}dialog::backdrop{background:#19233b66;backdrop-filter:blur(3px)}.editor-dialog{width:960px}.small-dialog{width:430px}.dialog-heading{padding:23px 27px;border-bottom:1px solid #edf0f5;display:flex;align-items:center;justify-content:space-between}.dialog-heading .eyebrow{font-size:8px;margin-bottom:3px}.dialog-heading h2{font-size:18px}.editor-body{display:grid;grid-template-columns:1.1fr 1fr}.editor-fields{padding:23px 27px;max-height:65vh;overflow:auto}.editor-fields>input,.editor-fields>textarea,.simple-fields>input,.simple-fields>select{margin-bottom:17px}.field-label{display:flex;justify-content:space-between}.field-label>span{font-size:10px;color:#a2a9b9}.variable-chips{display:flex;gap:5px;flex-wrap:wrap;margin:-8px 0 19px}.variable-chips button{font-size:9px;border:0;border-radius:4px;background:#f0effd;color:#8b81bf;padding:3px 6px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-bottom:15px}.form-grid.three{grid-template-columns:repeat(3,1fr)}.form-grid input,.form-grid select{font-size:12px}.field-hint{font-size:10px;line-height:1.8;color:#a1a9bb;margin:1px 0 9px}.editor-preview{padding:24px;background:#f5f6fb;display:flex;flex-direction:column;align-items:center;justify-content:center;border-left:1px solid #edf0f5}.preview-heading{font-size:10px;color:#8994ab;width:100%;margin-bottom:20px}.paper-wrap{width:100%;max-width:290px;background:#fff;box-shadow:0 5px 25px #28365a0b;border:1px solid #e9ecf3}.paper-wrap canvas{display:block;width:100%;height:auto}.editor-preview>p{font-size:9px;color:#a3adbf;line-height:1.9;text-align:center;margin-top:20px}.dialog-footer{padding:17px 27px;border-top:1px solid #edf0f5;display:flex;gap:10px;justify-content:flex-end;align-items:center}.dialog-footer>.form-error{margin:0 auto 0 0;max-width:60%}.simple-fields{padding:24px 27px}.simple-fields>p:not(.field-hint){font-size:12px;line-height:1.9;color:#8b94a9;margin-bottom:12px}.enrollment-code{background:#f2f1ff;color:#6155d3;font-size:19px;letter-spacing:2px;border:1px dashed #d4cef6;border-radius:8px;padding:17px;text-align:center;word-break:break-all;margin:14px 0}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);border-radius:10px;background:#26314d;color:white;padding:12px 21px;font-size:12px;box-shadow:0 8px 30px #1b244f30;z-index:1000;max-width:90vw}.toast.error{background:#a94657}
@media(min-width:1450px){.template-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.template-preview{height:205px}}@media(max-width:1150px){.stat small{display:none}.topbar{padding:0 25px}.workspace-content{padding:27px 25px 0}.stats{gap:12px}.stat{padding:17px 14px}.sidebar{padding-left:15px;padding-right:15px}.app-shell{grid-template-columns:200px minmax(0,1fr)}.section-heading>span{display:none}}@media(max-width:800px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;padding:16px;display:block;border-bottom:1px solid #e6e9f2}.sidebar .brand{margin:0 0 18px}.sidebar nav{display:flex;gap:6px}.nav-item{justify-content:center;margin:0;padding:9px}.nav-count,.nav-caption,.sidebar-note,.sidebar-bottom{display:none}.topbar{height:57px;padding:0 20px}.workspace-content{padding:23px 20px 0}.page-heading h1{font-size:26px}.page-heading p{max-width:220px;line-height:1.8}.stats{gap:8px}.stat{min-height:88px;padding:14px 10px;gap:8px}.stat-icon{width:31px;height:31px;border-radius:9px;font-size:18px}.stat>div>span{font-size:9px}.stat strong{font-size:19px}.revision{display:none}.template-grid,.group-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.editor-body{grid-template-columns:1fr}.editor-preview{display:none}.editor-fields{max-height:62vh}.login-view{grid-template-columns:1fr}.login-story{display:none}.login-form-wrap{min-height:100vh;padding:25px}.table-note{line-height:1.8}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

.group-card .card-actions{gap:8px;padding-top:14px}
.group-card .card-actions .group-view-code{grid-column:1/-1;background:#f4f3ff;border-color:#e3dfff;color:#6255ce;padding:9px}
.group-card .card-actions .group-view-code:hover{background:#eeedff;border-color:#d3ccf6}
.group-card .card-actions button{border-radius:8px;font-size:11px}
.select-field{position:relative;min-width:0;width:100%}
.simple-fields>.select-field{margin-bottom:17px}
.select-field .select-source{position:absolute!important;left:0;top:0;width:1px!important;height:1px!important;opacity:0;padding:0!important;margin:0!important;pointer-events:none;clip-path:inset(50%);overflow:hidden}
.select-trigger{width:100%;min-height:43px;border:1px solid #dce0e9;background:#fff;border-radius:8px;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px;color:#263149;text-align:left;line-height:1.6;transition:border-color .15s,box-shadow .15s}
.select-trigger>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.select-trigger:hover{border-color:#bcbde1}
.select-trigger:focus-visible,.select-field.is-open .select-trigger{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f112}
.select-trigger[aria-invalid=true]{border-color:#cb4257}
.select-trigger:disabled{background:#f7f8fc;color:#a1a9bb;cursor:not-allowed;opacity:.75}
.select-chevron{width:7px;height:7px;flex:0 0 7px;border-right:1.5px solid #9297b1;border-bottom:1.5px solid #9297b1;transform:translateY(-2px) rotate(45deg);transition:transform .15s;margin:0 3px}
.select-field.is-open .select-chevron{transform:translateY(2px) rotate(225deg);border-color:#6d61d4}
.form-grid .select-trigger{font-size:12px}
.select-options{position:fixed;inset:auto;margin:0;padding:5px;background:#fff;color:#263149;border:1px solid #e0e3ef;border-radius:8px;box-shadow:0 8px 28px #27304b1c;overflow-y:auto;overscroll-behavior:contain;z-index:1100;font-size:12px;line-height:1.6;scrollbar-width:thin;scrollbar-color:#d5d8e8 transparent}
.select-option{padding:9px 32px 9px 11px;min-height:36px;border-radius:5px;position:relative;cursor:pointer;word-break:break-word;transition:background .1s,color .1s}
.select-option+.select-option{margin-top:2px}
.select-option.active,.select-option:hover{background:#f4f3ff;color:#6255ce}
.select-option[aria-selected=true]{color:#6255ce;background:#eeedff;font-weight:600}
.select-option[aria-selected=true]:after{content:"✓";position:absolute;right:11px;top:9px;font-size:12px}
.select-option[aria-disabled=true]{color:#abb2c1;background:transparent;cursor:not-allowed;font-weight:400}
.select-option.select-option-action{position:sticky;top:0;z-index:1;color:#6255ce;background:#f6f5ff;font-weight:600;border-bottom:1px solid #e7e4fa;border-radius:5px 5px 0 0;margin-bottom:4px}
.select-option.select-option-action:hover,.select-option.select-option-action.active{background:#eeebff}
.auth-loading{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;background:#fff;color:#8790a7;font-size:13px}.auth-loading .brand-mark{width:48px;height:48px;font-size:28px}.login-form>input{margin-bottom:18px}.login-form .auth-field-hint{font-size:10px;color:#8c96aa;line-height:1.8;margin:-10px 0 19px}.login-form #confirm-password-field{margin-top:3px}.login-form #auth-description{line-height:1.9;margin-bottom:28px}.sidebar-bottom>div{min-width:0}.sidebar-bottom strong{overflow:hidden;text-overflow:ellipsis;max-width:118px}.login-form-wrap{padding-top:35px;padding-bottom:35px}



.client-rule-info{align-items:flex-start;line-height:1.9}
.client-rule-info>span{line-height:1.4}
.client-rule-info p+p{margin-top:5px;color:#929bb4}
.client-rule-list>.empty-state{border:0;border-radius:0;padding:48px 20px 35px}
.empty-state-action{text-align:center;padding:0 20px 36px}
.client-rule-table{table-layout:fixed;min-width:850px;white-space:normal}
.client-rule-table th,.client-rule-table td{padding:15px 16px;overflow-wrap:anywhere}
.client-rule-table th:first-child{width:24%}
.client-rule-table th:nth-child(2){width:16%}
.client-rule-table th:nth-child(3){width:14%}
.client-rule-table th:nth-child(4){width:16%}
.client-rule-table th:nth-child(5){width:10%}
.client-rule-table th:last-child{width:20%}
.client-rule-table td{line-height:1.8}
.client-rule-actions{display:flex;flex-wrap:wrap;gap:2px}
.client-rule-actions .button{padding:5px 7px;font-size:10px}
.client-rule-dialog{width:520px}
.client-rule-dialog .simple-fields>input{margin-bottom:4px}
.client-rule-dialog .field-hint{margin-bottom:17px}
.client-rule-dialog .form-error{margin-top:13px}
.client-rule-switch{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 15px;margin:5px 0 0;border:1px solid #e6e5f4;border-radius:10px;background:#f8f8fe;cursor:pointer}
.client-rule-switch strong{font-size:12px;font-weight:600;display:block;color:#626c87}
.client-rule-switch small{display:block;font-size:10px;color:#a1a9bb;margin-top:4px;font-weight:400;line-height:1.7}
.client-rule-switch input[type=checkbox]{appearance:none;position:relative;flex:0 0 36px;width:36px;height:22px;min-height:0;margin:0;padding:0;border:0;border-radius:14px;background:#cbd0df;cursor:pointer;transition:background .15s}
.client-rule-switch input[type=checkbox]:before{content:"";position:absolute;width:16px;height:16px;left:3px;top:3px;border-radius:50%;background:white;box-shadow:0 1px 3px #303c5826;transition:transform .15s}
.client-rule-switch input[type=checkbox]:checked{background:#6962e9}
.client-rule-switch input[type=checkbox]:checked:before{transform:translateX(14px)}
.client-rule-switch input[type=checkbox]:focus-visible{outline:2px solid #6962e9;outline-offset:3px;box-shadow:none}
@media(max-width:800px){.sidebar{min-width:0}.sidebar nav{overflow-x:auto;justify-content:flex-start;padding-bottom:3px}.sidebar .nav-item{flex:0 0 auto;white-space:nowrap}.client-rule-info{font-size:11px}.client-rule-dialog .simple-fields{padding:20px}.client-rule-table{min-width:850px}}

/* Keep the modal frame rounded while only its inset field area scrolls. */
dialog{overflow:hidden}
dialog[open]{display:flex;flex-direction:column}
dialog>form{display:flex;flex-direction:column;min-height:0;max-height:calc(92vh - 2px);overflow:hidden}
.dialog-heading,.dialog-footer{flex-shrink:0}
dialog .simple-fields{min-height:0;overflow-y:auto;margin:6px;padding:18px 21px}
.editor-body{min-height:0;grid-template-rows:minmax(0,1fr);overflow:hidden}
.editor-fields{min-height:0;max-height:none;margin:6px;padding:17px 21px}
.editor-preview{min-height:0;overflow:hidden}
dialog .simple-fields,.editor-fields{scrollbar-width:thin;scrollbar-color:#c9c7de transparent;overscroll-behavior:contain;scroll-padding-block:16px}
dialog .simple-fields::-webkit-scrollbar,.editor-fields::-webkit-scrollbar{width:8px}
dialog .simple-fields::-webkit-scrollbar-thumb,.editor-fields::-webkit-scrollbar-thumb{border:2px solid transparent;border-radius:8px;background:#c9c7de;background-clip:padding-box}
dialog .simple-fields::-webkit-scrollbar-track,.editor-fields::-webkit-scrollbar-track{background:transparent}
.editor-fields>.select-field{margin-bottom:17px}
.editor-fields>#platform-site-hint{margin-top:-8px;margin-bottom:17px}
.editor-fields>#sites-fields{margin-bottom:17px}
@media(max-width:800px){.client-rule-dialog .simple-fields{padding:14px}}
@media(max-height:650px) and (min-width:801px){
  .editor-preview{display:grid;grid-template-rows:auto minmax(0,1fr) auto;align-items:center;justify-content:stretch;justify-items:center;gap:10px;padding:16px}
  .editor-preview .preview-heading,.editor-preview>p{margin:0}
  .editor-preview .paper-wrap{min-height:0;height:100%;max-height:373px;width:auto;max-width:100%;aspect-ratio:7/9}
  .editor-preview .paper-wrap canvas{width:100%;height:100%;object-fit:contain}
}

.group-card-head{margin-bottom:15px}
.group-metrics{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px}
.group-metrics>button{min-width:0;text-align:left;border:1px solid #e9e6fa;border-radius:9px;padding:10px 12px;background:#faf9ff;color:#786da9}
.group-metrics>button:hover{background:#f1eeff;border-color:#d6cff4}
.group-metrics strong{display:block;font-size:26px;line-height:1.3;font-weight:650;color:#6557cc}
.group-metrics span{display:flex;align-items:center;justify-content:space-between;gap:4px;font-size:10px;margin-top:3px}
.group-metrics b{font-size:12px;font-weight:400;color:#aa9ed7}
.membership-line{display:block;line-height:1.9}
.group-picker .select-trigger>span:first-child{white-space:normal;line-height:1.7}
.group-picker .select-trigger{font-size:12px}
.selected-groups{display:grid;gap:7px;margin-top:9px}
.selected-groups:empty{display:none}
.selected-group{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 10px;background:#f8f7fd;border:1px solid #e9e5f6;border-radius:8px;min-width:0}
.selected-group-caption{min-width:0;overflow-wrap:anywhere}
.selected-group-caption strong{display:block;font-size:11px;font-weight:500;color:#665d89}
.selected-group-caption small{display:block;color:#9c90bc;font-size:9px;margin-top:2px}
.group-order-actions{display:flex;gap:4px;flex-shrink:0}
.group-order-button{border:1px solid #ded8f1;background:#fff;color:#7c6caf;border-radius:6px;width:26px;height:26px;display:grid;place-items:center;padding:0;font-size:14px;line-height:1}
.group-order-button:hover{background:#eeebfa;border-color:#cfc5eb}
.group-order-button:disabled{cursor:default;opacity:.35;background:transparent}
.group-remove{font-size:18px;color:#a18bb4}
.group-global-note{font-size:10px;color:#978bb6;padding:0 2px}
.group-detail-dialog{width:800px}
.group-detail-dialog .table-wrap{border-radius:9px}
.group-detail-dialog table{white-space:normal;min-width:560px}
.group-detail-dialog th,.group-detail-dialog td{padding:13px 15px;overflow-wrap:anywhere}
.group-detail-dialog .empty-state{border:0;padding:35px 15px}
#duplicate-template-dialog .dialog-heading{background:#faf9ff}
#duplicate-template-message{color:#70618f;font-size:13px;margin:0}
@media(max-width:800px){.section-heading:has(.search){flex-wrap:wrap}.section-heading .search{max-width:100%}.section-heading .search input{width:100%;min-width:0}.template-section-heading .search{flex:1 1 190px;max-width:280px}.selected-group{padding:8px}.group-detail-dialog .simple-fields{padding:14px}.group-detail-dialog .dialog-heading h2{font-size:15px}}

.permission-note{border:1px solid #e6e2f6;border-radius:9px;padding:12px 16px;margin-bottom:21px;background:#f6f4fd;color:#9686b4;font-size:11px}
button[data-permission-blocked],.account-table button:disabled{cursor:not-allowed}
.list-toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px;flex-wrap:wrap}
.list-toolbar>div{display:flex;gap:8px;flex-wrap:wrap}
.list-toolbar>span{font-size:10px;color:#9ba3b6;line-height:1.8}
.list-toolbar .button{font-size:11px;padding:8px 12px}
.account-self-actions{display:flex;justify-content:flex-end;margin-bottom:15px}
.account-table{min-width:760px;white-space:normal}
.account-table th,.account-table td{padding:15px 17px;overflow-wrap:anywhere}
.role-badge{display:inline-block;padding:3px 8px;border-radius:6px;background:#eeebfa;color:#8b76ba;font-size:10px;white-space:nowrap}
.role-superadmin{background:#edeaff;color:#7860c2}.role-auditor{background:#edf2fa;color:#8a9bb8}
.permission-tags{display:flex;gap:5px;flex-wrap:wrap;max-width:260px}
.permission-tags>span{font-size:9px;border:1px solid #e6e2f4;background:#faf9fe;color:#9a8db4;padding:1px 6px;border-radius:5px;white-space:nowrap}
.permission-tags>.muted{color:#a0a8bb;background:#f5f6f9;border-color:#e9ebf2}
.account-dialog{width:660px}
.account-dialog .form-grid{margin-top:18px}
.account-dialog input,.account-dialog .select-trigger{font-size:12px}
.account-dialog input:disabled{background:#f7f8fc;color:#9aa2b4}
#account-permissions{border:1px solid #e6e2f2;border-radius:10px;display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:15px;margin:18px 0}
#account-permissions legend{font-size:11px;color:#8e80a9;padding:0 7px}
#account-permissions label{display:flex;gap:9px;align-items:flex-start;margin:0;font-size:11px;line-height:1.7;font-weight:500;cursor:pointer;color:#736587}
#account-permissions input[type=checkbox]{width:16px;height:16px;padding:0;margin:2px 0 0;flex:0 0 16px;accent-color:#7461d0}
#account-permissions small{display:block;font-size:9px;color:#a79ab8;font-weight:400;margin-top:2px}
.account-dialog .client-rule-switch{margin-bottom:8px}
.section-description{font-size:11px;color:#9aa2b5;line-height:1.9;margin:-3px 0 18px}
.audit-table{min-width:760px;white-space:normal}
.audit-filters{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:18px;flex-wrap:wrap}
.audit-action-filter{display:flex;align-items:center;gap:10px;min-width:0;flex:0 1 280px}
.audit-action-filter>label{margin:0;font-size:11px;white-space:nowrap;color:#9b8bac}
.audit-action-filter .select-field{flex:1;min-width:150px}
.audit-action-filter .select-trigger{font-size:11px;min-height:37px;padding:7px 11px}
.audit-filters .search{flex:0 1 320px;min-width:0;min-height:37px}
.audit-filters .search input{min-width:0;width:100%}
.audit-table th,.audit-table td{padding:14px 16px;overflow-wrap:anywhere}
.audit-table th:first-child{width:170px}
.audit-table .button{font-size:10px;padding:4px 8px}
.pagination{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:18px;color:#a1a8b8;font-size:10px}
.pagination>div{display:flex;gap:7px}
.pagination button:disabled{cursor:default}
.audit-detail-dialog{width:900px}
.detail-summary{display:grid;grid-template-columns:1fr 1fr;gap:15px 24px;margin:0 0 23px;padding:15px;border:1px solid #e9e5f5;border-radius:9px;background:#fbfaff}
.detail-summary dt{font-size:10px;color:#a497b7;margin-bottom:3px}
.detail-summary dd{margin:0;color:#7c6c96;font-size:12px;overflow-wrap:anywhere}
.detail-subtitle{font-size:12px;color:#8e7fa6;margin-bottom:11px;font-weight:600}
.audit-diff-table{white-space:normal;table-layout:fixed;min-width:540px}
.audit-diff-table th:first-child{width:20%}
.audit-diff-table th,.audit-diff-table td{padding:12px;vertical-align:top;overflow-wrap:anywhere}
.audit-diff-table pre{font:11px/1.9 "Segoe UI","Microsoft YaHei",sans-serif;white-space:pre-wrap;overflow-wrap:anywhere;margin:0;color:#8d7c9e}
.audit-detail-dialog .empty-state{padding:28px 16px;border:0}
.import-dialog{width:1060px}
.import-dialog .simple-fields{padding:18px 21px}
.import-dialog .import-intro{font-size:12px;line-height:1.9;color:#9588a7;margin-bottom:12px}
.import-intro strong{font-weight:500;color:#82709e}
.import-downloads{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.upload-zone{position:relative;display:flex;align-items:center;gap:15px;flex-wrap:wrap;border:1px dashed #d5cbed;background:#faf8ff;border-radius:10px;padding:18px;margin:0 0 12px;cursor:pointer}
.upload-zone>span{font-size:12px;font-weight:600;color:#8c71b3;border:1px solid #dfd5f1;border-radius:7px;background:#fff;padding:8px 13px}
.upload-zone>small{font-size:11px;font-weight:400;color:#a594bb;overflow-wrap:anywhere}
.upload-zone:hover,.upload-zone:focus-within{border-color:#aa93d6;background:#f5f0ff}
.upload-zone input[type=file]{position:absolute;width:1px!important;height:1px;opacity:0;padding:0!important;overflow:hidden;clip-path:inset(50%)}
.import-reference{border:1px solid #e9e3f3;border-radius:9px;margin:14px 0 18px;color:#9c8aaf;font-size:11px;background:#fcfbff}
.import-reference summary{padding:11px 14px;cursor:pointer;border-radius:9px}
.import-reference summary:hover{background:#f4f0fb}
.reference-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:4px 14px 14px}
.reference-grid h3{font-size:11px;font-weight:600;color:#9b86b3;margin-bottom:8px}
.reference-grid p{margin:0 0 8px;border-top:1px solid #eee9f6;padding-top:6px;overflow-wrap:anywhere}
.reference-grid strong{font-size:10px;font-weight:500;display:block;color:#8d7a9e}
.reference-grid code{display:block;font:10px/1.8 Consolas,monospace;color:#ad9fbc;user-select:all}
.import-summary{display:flex;gap:10px 20px;align-items:center;flex-wrap:wrap;border:1px solid #dceae3;border-radius:9px;background:#f5faf7;color:#81a18c;padding:13px 15px;font-size:11px;margin:16px 0 13px}
.import-summary strong{font-weight:600}.import-summary p{flex-basis:100%;font-size:10px;line-height:1.8}
.import-summary.has-errors{border-color:#ecdae3;background:#fdf7fa;color:#bb8ea2}
.import-preview{max-height:350px;overflow:auto;margin-bottom:14px;scrollbar-width:thin;scrollbar-color:#d0c4df transparent}
.import-preview table{min-width:880px;white-space:normal;table-layout:fixed}
.import-preview th,.import-preview td{padding:11px 12px;vertical-align:top;overflow-wrap:anywhere;font-size:10px;line-height:1.8}
.import-preview th{position:sticky;top:0;background:#fbf9fe;z-index:1}
.import-preview th:first-child{width:50px}.import-preview th:nth-child(2){width:18%}.import-preview th:last-child{width:24%}
.import-preview .import-row-error td{background:#fffbfd}.row-error{display:block;color:#bb8c9f}.row-error+.row-error{margin-top:4px}
.import-dialog .dialog-footer{flex-wrap:wrap}
.import-dialog #import-confirm-hint{color:#ac99bd}
@media(max-width:800px){.list-toolbar{align-items:flex-start}.account-self-actions{justify-content:flex-start}.account-dialog .simple-fields,.audit-detail-dialog .simple-fields{padding:14px}.account-dialog .form-grid{grid-template-columns:1fr;gap:14px}#account-permissions{grid-template-columns:1fr;gap:14px}.detail-summary{gap:13px;grid-template-columns:1fr}.reference-grid{grid-template-columns:1fr}.import-dialog .dialog-heading{padding:18px 20px}.import-dialog .simple-fields{padding:12px 14px}.import-dialog .dialog-footer{padding:13px 18px}.pagination{align-items:flex-start}.pagination>span{max-width:120px}.section-heading .search{flex:1 1 210px;max-width:330px}.import-preview{max-height:280px}.upload-zone{gap:10px;padding:13px}}
@media(max-width:800px){.audit-filters{align-items:stretch;gap:10px}.audit-action-filter{flex-basis:100%}.audit-filters .search{flex-basis:100%;max-width:none}}

/* Approved Guangdong Jianke identity; long system name wraps without truncation. */
.brand-mark{box-shadow:none;border-radius:6px;background:#fff;object-fit:contain}.brand .system-name{font-size:15px;line-height:1.45;letter-spacing:0;font-weight:700}.brand .system-name small{font-size:8px;letter-spacing:.6px;line-height:1.7;margin-top:3px}.sidebar .brand{gap:9px;margin-left:0;margin-right:0}.sidebar .brand-mark{width:43px;height:43px}.login-story>.brand{gap:15px;position:relative;z-index:1}.login-story>.brand .brand-mark{width:66px;height:66px;border-radius:8px}.login-story .brand .system-name{font-size:20px;line-height:1.4}.login-story .brand .system-name small{font-size:10px;letter-spacing:1px}.login-story h1{font-size:clamp(27px,2.8vw,39px)}.login-paper b{font-size:21px;left:24px}.workspace-footer{gap:18px}.workspace-footer>span:first-child{max-width:55%}@media(max-width:1150px){.sidebar .brand .system-name{font-size:13px}.sidebar .brand-mark{width:35px;height:35px}}
