:root{font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,sans-serif;color:#27243a;background:#f5f1ff;font-synthesis:none;--purple: #806cf2;--purple-dark: #6853df;--purple-soft: #eeeaff;--border: #e5e0f1;--muted: #858096;--panel: #ffffff;--success: #57bb36;--danger: #ef6d72;--shadow: 0 18px 50px rgba(86, 66, 148, .1)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:linear-gradient(135deg,#f8f4ff,#f2edff 48%,#fbf9ff)}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled,.disabled{opacity:.58;cursor:not-allowed}input,textarea,select{width:100%;border:1px solid #dcd6e9;border-radius:9px;background:#fff;color:#27243a;padding:11px 13px;outline:none;transition:border-color .18s,box-shadow .18s}input:focus,textarea:focus,select:focus{border-color:var(--purple);box-shadow:0 0 0 3px #806cf21f}textarea{resize:vertical;line-height:1.55}label>span:first-child{display:block;margin-bottom:7px;font-size:13px;font-weight:650;color:#555064}h1,h2,h3,p{margin-top:0}.muted{color:var(--muted);line-height:1.65}.eyebrow{margin-bottom:5px;color:var(--purple);font-size:11px;font-weight:800;letter-spacing:.15em}.stack{display:flex;flex-direction:column;gap:16px}.stack.compact{gap:10px}.wide{width:100%}.button{border:0;border-radius:10px;padding:10px 18px;background:#ece9f3;color:#4f495d;font-weight:700;transition:transform .15s,box-shadow .15s,background .15s}.button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 20px #4c3d8424}.button.primary{color:#fff;background:linear-gradient(135deg,#8d78f7,#7865ed)}.button.secondary{color:var(--purple-dark);background:var(--purple-soft)}.button.ghost{background:#fff;border:1px solid #ded8ea}.button.success{color:#fff;background:var(--success)}.button.stop{color:#fff;background:#f1a2a5}.button.danger{color:#fff;background:var(--danger)}.button.small{padding:7px 12px;border-radius:7px;font-size:12px}.link-button,.tiny-button,.icon-button{border:0;background:none;color:var(--purple-dark);padding:4px 6px}.tiny-button{font-size:12px}.danger-text{color:var(--danger)!important}.align-start{align-self:flex-start}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:30px}.auth-card{width:min(440px,100%);padding:42px;border-radius:24px;background:#fffffff5;box-shadow:var(--shadow);text-align:center}.auth-card form{margin-top:28px;text-align:left}.brand-mark{display:grid;place-items:center;width:72px;height:72px;margin:0 auto 20px;border-radius:22px;background:linear-gradient(135deg,#8e7af8,#6d58df);color:#fff;font-size:34px;font-weight:900;box-shadow:0 12px 30px #735ce44d}.brand-mark.admin{background:linear-gradient(135deg,#3d3759,#262238)}.brand-mark.small{width:56px;height:56px;font-size:26px;border-radius:17px}.auth-card h1{margin-bottom:12px;font-size:28px}.admin-link{display:inline-block;margin-top:25px;color:var(--muted);font-size:13px;text-decoration:none}.form-error{margin:0;color:#d7444b;background:#fff0f1;border-radius:8px;padding:9px 11px;font-size:13px}.success-copy{margin:0;color:#37951d;background:#effbea;border-radius:8px;padding:9px 11px;font-size:13px}.app-shell{min-height:100vh}.topbar{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 28px;background:#ffffffdb;border-bottom:1px solid rgba(222,216,237,.8);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);position:sticky;top:0;z-index:20}.brand-line,.top-actions{display:flex;align-items:center;gap:12px}.brand-line>div{display:flex;flex-direction:column}.brand-line small{color:var(--muted)}.mini-logo{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;color:#fff;background:var(--purple);font-weight:900}.workspace{display:grid;grid-template-columns:320px minmax(0,1fr);gap:16px;max-width:1420px;margin:0 auto;padding:20px}.sidebar{display:flex;flex-direction:column;gap:12px;position:sticky;top:92px;height:calc(100vh - 112px)}.login-account{flex:none;border-radius:18px;padding:14px}.side-section,.control-panel,.admin-card{background:#fffffff5;border:1px solid rgba(229,224,241,.9);border-radius:17px;box-shadow:0 8px 24px #5946900f}.side-section{padding:16px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:8px}.section-title h2{margin:0;font-size:15px}.section-title>span{color:var(--muted);font-size:12px}.account-picker{flex:none;max-height:250px;overflow:auto}.account-option{width:100%;display:grid;grid-template-columns:38px 1fr auto;gap:10px;align-items:center;border:0;background:transparent;border-radius:11px;padding:9px;margin-top:8px;text-align:left;color:inherit}.account-option:hover,.account-option.active{background:var(--purple-soft)}.account-option>span:nth-child(2){display:flex;flex-direction:column;min-width:0}.account-option strong,.account-option small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.account-option small{margin-top:3px;color:var(--muted)}.avatar{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;overflow:hidden;background:#ece8ff;color:var(--purple-dark);font-weight:800;flex:none}.avatar img{width:100%;height:100%;object-fit:cover}.dot{width:8px;height:8px;border-radius:50%;background:#c7c2cf}.dot.online{background:#67ca48;box-shadow:0 0 0 3px #ebfae6}.log-section{flex:1;display:flex;min-height:0;flex-direction:column}.log-list{margin:12px 0;min-height:150px;flex:1;overflow:auto;border-radius:11px;background:#f8f6ff;padding:8px}.log-item{padding:9px;border-bottom:1px solid #ebe7f4}.log-item:last-child{border-bottom:0}.log-item time,.log-item small{display:block;color:#9892a4;font-size:10px}.log-item p{margin:4px 0;font-size:12px;line-height:1.45}.log-item.success p{color:#3d9127}.log-item.error p{color:#d24b51}.log-item.warning p{color:#a67119}.empty-copy{color:#aaa5b1;text-align:center;font-size:13px;margin:30px 0}.today-count{text-align:center;color:var(--purple-dark);font-size:13px}.today-count strong{font-size:18px}.expiry{margin:12px 0 0;font-size:11px;text-align:center;color:var(--muted)}.control-panel{min-height:calc(100vh - 112px);padding:28px 36px}.empty-main{min-height:600px;display:grid;place-content:center;text-align:center;color:var(--muted)}.empty-main h2{color:#403b4f;margin:15px 0 8px}.account-summary{display:flex;align-items:center;gap:14px;padding-bottom:24px;border-bottom:1px solid var(--border)}.account-summary .avatar{width:54px;height:54px}.account-summary>div{flex:1}.account-summary h1{margin:0 0 3px;font-size:22px}.account-summary p:last-child{margin:0;color:var(--muted);font-size:12px}.config-section{padding:26px 0;border-bottom:1px solid var(--border)}.config-section>h2{font-size:16px;margin-bottom:20px}.field-row{display:grid;grid-template-columns:110px minmax(0,1fr);gap:18px;padding:10px 0;align-items:start}.field-label{padding-top:9px;font-weight:750;font-size:14px;color:#3b3747;text-align:right}.field-control{min-width:0}.segmented{display:inline-flex;flex-wrap:wrap;border:1px solid #ddd7e9;border-radius:9px;overflow:hidden;background:#fff}.segmented button{border:0;border-right:1px solid #ddd7e9;padding:8px 14px;background:#fff;color:#625d6d}.segmented button:last-child{border-right:0}.segmented button.active{background:var(--purple);color:#fff}.inline-wrap{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.inline-input{display:flex;gap:8px;width:100%}.inline-input input{flex:1}.phrase-input{align-items:flex-start}.phrase-input textarea{flex:1;min-height:76px}.field-help{color:var(--muted);line-height:1.6}.toggle-row,.check-row{display:flex;align-items:center;gap:9px;color:#5f596c;font-size:13px}.check-row input{width:auto}.switch{width:40px;height:22px;padding:2px;border:0;border-radius:20px;background:#d9d5e2}.switch span{display:block;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .18s;box-shadow:0 1px 4px #00000029}.switch.on{background:var(--purple)}.switch.on span{transform:translate(18px)}.phrase-list{display:flex;flex-direction:column;gap:6px;max-height:190px;overflow:auto}.phrase-list>div{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 11px;border-radius:8px;background:#f8f6fd}.phrase-list .check-row{min-width:0;flex:1}.phrase-list .check-row span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.upload-button{display:inline-flex;width:auto}.asset-list{display:flex;gap:6px;flex-wrap:wrap}.asset-list span{font-size:11px;background:#f3f0fa;color:#736d7e;border-radius:6px;padding:5px 8px}.number-input{display:inline-flex;align-items:center;border:1px solid #dcd6e9;border-radius:8px;overflow:hidden;background:#fff}.number-input input{width:82px;border:0;border-radius:0;box-shadow:none}.number-input span{display:block;padding-right:10px;color:var(--muted);font-size:12px}.range-input{display:flex;align-items:center;gap:8px}.run-card{margin-top:25px;padding:20px;border-radius:16px;background:linear-gradient(135deg,#f3efff,#fbfaff);display:flex;align-items:center;justify-content:space-between;gap:20px}.run-card p{margin:0 0 3px;color:var(--muted);font-size:12px}.run-card strong{display:block;color:var(--purple-dark);font-size:28px}.run-card strong small{font-size:12px;margin-left:5px}.run-card>div>span{font-size:11px;color:var(--muted)}.run-actions{display:flex;flex-wrap:wrap;gap:9px}.status-pill{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;background:#eeeaf5;color:#716b7e;font-size:11px;font-weight:750}.status-pill.running,.status-pill.active{background:#eaf9e6;color:#3b9622}.status-pill.waiting,.status-pill.quota_wait,.status-pill.unused{background:#fff6dd;color:#98711c}.status-pill.paused,.status-pill.disabled,.status-pill.expired{background:#ffebec;color:#c9484f}.modal-backdrop{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:20px;background:#251f3673;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.modal{width:min(520px,100%);max-height:calc(100vh - 40px);overflow:auto;padding:28px;border-radius:20px;background:#fff;box-shadow:0 25px 80px #1b143347}.modal-head{display:flex;justify-content:space-between;align-items:start;margin-bottom:24px}.modal-head h2{margin:0}.icon-button{font-size:28px;color:var(--muted)}.toast{position:fixed;z-index:80;right:24px;bottom:24px;max-width:min(380px,calc(100vw - 48px));padding:13px 18px;color:#fff;background:#4b4559;border-radius:10px;box-shadow:0 12px 35px #1c172940}.toast.success{background:#429f29}.toast.error{background:#d65157}.admin-shell{max-width:1380px;margin:0 auto;padding:28px;min-height:100vh}.admin-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.admin-top h1{margin:0}.admin-top>div:last-child{display:flex;gap:8px}.admin-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:16px;margin-bottom:16px}.admin-card{padding:22px;margin-bottom:16px}.admin-card h2{font-size:16px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.summary-card>strong{font-size:54px;color:var(--purple)}.summary-card>div{display:flex;gap:8px;flex-wrap:wrap}.summary-card span{background:#f2eff9;padding:6px 9px;border-radius:7px;font-size:12px}.code-reveal{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:14px;border-radius:10px;background:#f1edff}.code-reveal strong{letter-spacing:.08em;color:var(--purple-dark)}.code-reveal small{color:var(--danger)}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:850px}th,td{padding:12px 10px;border-bottom:1px solid #ebe7f1;text-align:left;font-size:12px}th{color:var(--muted);font-weight:700}td strong,td small{display:block}td small{color:var(--muted);margin-top:3px}.table-actions{display:flex;gap:5px}.table-actions button{border:0;border-radius:6px;padding:5px 7px;background:#f0edf6;color:#5d566b;font-size:11px}.audit-list{max-height:320px;overflow:auto}.audit-list article{display:grid;grid-template-columns:160px 180px 1fr 160px;gap:10px;padding:9px 4px;border-bottom:1px solid #eeeaf3;font-size:12px}.audit-list time,.audit-list small{color:var(--muted)}@media(max-width:900px){.workspace{grid-template-columns:1fr}.sidebar{position:static;height:auto}.log-section{min-height:350px}.control-panel{min-height:600px;padding:22px}.admin-grid{grid-template-columns:1fr}}@media(max-width:620px){.topbar{padding:0 14px}.brand-line small{display:none}.workspace,.admin-shell{padding:10px}.control-panel{padding:17px}.field-row{grid-template-columns:1fr;gap:7px}.field-label{text-align:left;padding:0}.account-summary{align-items:flex-start;flex-wrap:wrap}.account-summary>div{min-width:calc(100% - 70px)}.run-card{align-items:stretch;flex-direction:column}.run-actions .button{flex:1}.form-grid{grid-template-columns:1fr}.admin-top{align-items:flex-start;gap:15px}.audit-list article{grid-template-columns:1fr 1fr}.auth-card{padding:30px 22px}}
