:root{color:#15223b;font-synthesis:none;--blue:#1769e0;--navy:#11213b;--line:#dfe5ee;--muted:#69768a;--green:#138a63;--red:#c83b4d;background:#f5f7fb;font-family:Inter,Noto Sans SC,Microsoft YaHei,system-ui,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,select{font:inherit}button{cursor:pointer}.login-page{background:radial-gradient(circle at 20% 15%,#e0ecff,#0000 34%),linear-gradient(145deg,#f9fbff,#edf3fb);place-items:center;min-height:100vh;display:grid}.login-card{background:#ffffffeb;border:1px solid #d8e1eee6;border-radius:22px;width:min(430px,100% - 32px);padding:46px;box-shadow:0 28px 70px #1d3c6826}.brand-mark{background:var(--blue);color:#fff;border-radius:14px;place-items:center;width:48px;height:48px;font-size:23px;font-weight:800;display:grid}.eyebrow{color:var(--blue);letter-spacing:.18em;margin:24px 0 6px;font-size:11px;font-weight:800}.login-card h1{margin:0 0 8px;font-size:30px}.muted,.panel-title p,.permission-title p{color:var(--muted)}form,label{gap:8px;display:grid}.login-card form{gap:18px;margin-top:30px}label{font-size:13px;font-weight:700}input,select{width:100%;color:var(--navy);background:#fff;border:1px solid #ccd5e2;border-radius:9px;outline:none;padding:11px 12px}input:focus,select:focus{border-color:var(--blue);box-shadow:0 0 0 3px #1769e01f}button{border:0;border-radius:9px;padding:11px 16px;font-weight:700}.primary{background:var(--blue);color:#fff}.primary:hover{background:#0f59c5}.primary:disabled{opacity:.58;cursor:not-allowed}.secondary{color:var(--navy);background:#fff;border:1px solid #cfd7e3}.error{color:var(--red)}.security-note{text-align:center;color:#8590a0;margin:22px 0 0;font-size:12px}.console{grid-template-columns:235px 1fr;min-height:100vh;display:grid}.sidebar{color:#fff;background:#101d33;flex-direction:column;height:100vh;padding:25px 18px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:12px;padding:0 8px;display:flex}.brand>span{background:var(--blue);border-radius:10px;place-items:center;width:38px;height:38px;font-size:18px;font-weight:800;display:grid}.brand div{display:grid}.brand small{color:#9da9bc;margin-top:3px}.sidebar nav{margin-top:42px}.sidebar nav button{text-align:left;color:#fff;background:#1b3153;width:100%;padding:13px}.logout{color:#aeb8c8;text-align:left;background:0 0;margin-top:auto}.content{min-width:0;padding:32px 38px 54px}.topbar{justify-content:space-between;align-items:center;display:flex}.topbar .eyebrow,.detail-heading .eyebrow,.modal .eyebrow{margin:0 0 7px}.topbar h1{margin:0;font-size:29px}.banner{border-radius:9px;margin:20px 0;padding:12px 15px}.banner.error{background:#fff0f2}.banner.success{color:var(--green);background:#eaf8f3}.stats{grid-template-columns:repeat(4,1fr);gap:16px;margin:26px 0;display:grid}.stats article{border:1px solid var(--line);background:#fff;border-radius:14px;padding:20px}.stats span{color:var(--muted);font-size:13px;display:block}.stats strong{margin-top:10px;font-size:28px;display:block}.panel{border:1px solid var(--line);background:#fff;border-radius:15px;overflow:hidden}.panel-title{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:21px 24px;display:flex}.panel-title h2,.panel-title p{margin:0}.panel-title p{margin-top:5px;font-size:13px}.search{max-width:250px}.merchant-grid{grid-template-columns:minmax(290px,35%) 1fr;min-height:590px;display:grid}.merchant-list{border-right:1px solid var(--line);max-height:680px;overflow:auto}.merchant{text-align:left;background:#fff;border-bottom:1px solid #edf0f5;border-radius:0;justify-content:space-between;align-items:center;width:100%;padding:16px 20px;display:flex}.merchant:hover,.merchant.selected{background:#f1f6ff}.merchant>span{min-width:0;display:grid}.merchant small,.detail-heading small,.permission small{color:#8995a6;white-space:nowrap;text-overflow:ellipsis;margin-top:5px;font-weight:400;overflow:hidden}.status{white-space:nowrap;border-radius:999px;padding:6px 8px;font-size:11px;font-style:normal;font-weight:800}.status.paid_active{color:#087954;background:#e6f6f0}.status.trial_active{color:#1769e0;background:#e8f1ff}.status.trial_expired{color:#9b6500;background:#fff2dd}.status.suspended{color:#b62b3d;background:#ffecee}.detail{padding:26px}.empty,.empty-detail{text-align:center;color:var(--muted)}.empty{padding:35px}.empty-detail{place-content:center;height:100%;display:grid}.empty-detail div{color:var(--blue);font-size:36px}.empty-detail h3{color:var(--navy);margin:12px 0 0}.detail-heading{justify-content:space-between;align-items:flex-start;margin-bottom:25px;display:flex}.detail-heading h2{margin:0}.form-row{grid-template-columns:1fr 1fr;gap:15px;margin-bottom:15px;display:grid}.detail>.secondary{margin-top:14px}.divider{background:var(--line);height:1px;margin:26px 0}.permission-title h3,.permission-title p{margin:0}.permission-title p{margin-top:5px;font-size:12px}.permissions{gap:9px;margin:17px 0;display:grid}.permission{border:1px solid #e4e9f0;border-radius:10px;grid-template-columns:auto 1fr minmax(120px,180px);align-items:center;gap:12px;padding:12px;display:grid}.permission>input[type=checkbox]{width:18px;height:18px;accent-color:var(--blue)}.permission span{display:grid}.permission .version{padding:8px;font-size:12px}.modal-backdrop{z-index:10;background:#07101f85;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:17px;width:min(460px,100%);padding:28px;box-shadow:0 24px 60px #00000040}.modal-title{justify-content:space-between;display:flex}.modal-title h2{margin:0}.close{color:#7d8797;background:0 0;padding:0 6px;font-size:25px}.modal form{gap:17px;margin-top:24px}.modal-actions{justify-content:flex-end;gap:10px;margin-top:5px;display:flex}@media (width<=1000px){.stats{grid-template-columns:1fr 1fr}.merchant-grid{grid-template-columns:1fr}.merchant-list{border-right:0;border-bottom:1px solid var(--line);max-height:300px}.detail{min-height:500px}}@media (width<=720px){.console{display:block}.sidebar{flex-direction:row;align-items:center;height:auto;padding:16px;position:static}.sidebar nav{display:none}.logout{margin:0 0 0 auto}.content{padding:23px 16px}.topbar{align-items:flex-end}.stats{grid-template-columns:1fr 1fr}.panel-title{gap:14px;display:grid}.search{max-width:none}.form-row{grid-template-columns:1fr}.permission{grid-template-columns:auto 1fr}.permission .version{grid-column:2}.login-card{padding:32px 25px}}
