:root{font-family:Arial,"Microsoft YaHei",sans-serif;color:#243047;background:#f4f6fa}*{box-sizing:border-box}body{margin:0}a{color:#416aec;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer;border:1px solid #dae0ea;background:white;color:#536079;border-radius:7px;padding:9px 15px;font-size:14px}button:hover{background:#f1f5ff}button:disabled{opacity:.5;cursor:wait}.primary{background:#4266ef;color:white;border-color:#4266ef}.primary:hover{background:#3658d9}input,textarea,select{border:1px solid #dce2ec;background:#fff;border-radius:7px;padding:11px 12px;color:#273750;width:100%;min-width:0}input:focus,textarea:focus{outline:2px solid #b5c4ff;outline-offset:1px}label{display:block;font-size:14px;color:#58677c}label input,label textarea,label select{margin-top:8px}textarea{resize:vertical;line-height:1.6}h1{font-size:26px;margin:0 0 8px}h2{font-size:18px;margin:0 0 22px}h3{font-size:16px}p{color:#8490a3;font-size:14px;line-height:1.7}.login{max-width:410px;margin:12vh auto;background:white;padding:38px;border-radius:16px;box-shadow:0 10px 50px #24365e0b}.login img{width:44px;margin-bottom:18px}.login label{margin-top:22px}.login button{margin-top:25px;width:100%;padding:12px}.login>a{display:block;text-align:center;font-size:14px;margin-top:22px}.error{color:#d64858;font-size:14px;margin-top:12px}.shell{display:grid;grid-template-columns:220px 1fr;min-height:100vh}.sidebar{background:white;border-right:1px solid #e8edf5;padding:30px 20px;position:sticky;top:0;height:100vh}.admin-brand{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:bold;margin-bottom:9px;color:#4c53e7}.admin-brand img{width:32px}.sidebar>p{margin:0 0 34px;font-size:12px;padding-left:42px}.tabs{display:flex;flex-direction:column;gap:7px}.tabs button{text-align:left;border:0;background:none;padding:13px 16px}.tabs button.active{background:#edf1ff;color:#4266ef;font-weight:bold}.sidebar .bottom{position:absolute;bottom:30px;display:flex;gap:18px;align-items:center;font-size:14px}.content{padding:36px 42px;max-width:1400px;width:100%}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px}.topbar p{margin-bottom:0}.section{background:white;border:1px solid #e7ecf4;border-radius:12px;padding:26px;margin-bottom:22px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.full{grid-column:1/-1}.actions{margin-top:23px;display:flex;gap:12px;align-items:center}.muted{font-size:13px;color:#8b96a6}.hint{background:#f0f5ff;padding:14px 18px;border-radius:9px;color:#5f769e;font-size:14px;line-height:1.8;margin-bottom:22px}.check{display:flex;align-items:center;gap:8px}.check input{width:17px;margin:0}.ad-row{border:1px solid #e2e8f3;border-radius:9px;padding:20px;margin-top:18px}.ad-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.danger{color:#d94c5b}.key-card{border:1px solid #e5eaf3;border-radius:10px;padding:20px;margin:15px 0}.key-head{display:flex;justify-content:space-between;gap:16px;align-items:center}.key-head strong{font-size:16px}.key-meta{display:flex;gap:20px;flex-wrap:wrap;margin-top:14px;color:#8792a4;font-size:13px}.key-edit{display:grid;grid-template-columns:1fr 140px auto;gap:10px;align-items:end;margin-top:17px}.badge{font-size:12px;border-radius:20px;padding:5px 9px;background:#edf9f2;color:#27885b}.badge.off{background:#f1f2f5;color:#8791a1}.badge.warn{background:#fff1ee;color:#c77645}.mono{font-family:Consolas,monospace}.price-row{display:grid;grid-template-columns:1fr 1fr 100px 2fr;gap:15px;margin-bottom:20px}.json-editor{min-height:500px;font-size:14px;font-family:Consolas,monospace}.loading{padding:60px;text-align:center;color:#8b96a7}#feedback{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#25334b;color:white;padding:13px 23px;border-radius:9px;font-size:14px;display:none;z-index:20}.tabs button:focus-visible,a:focus-visible,button:focus-visible{outline:2px solid #526dee;outline-offset:3px}@media(max-width:900px){.shell{grid-template-columns:180px 1fr}.content{padding:25px 20px}.sidebar{padding:24px 12px}.grid{grid-template-columns:1fr}.full{grid-column:auto}.key-edit{grid-template-columns:1fr}.price-row{grid-template-columns:1fr 1fr}}@media(max-width:650px){.shell{display:block}.sidebar{position:static;height:auto;border-right:0;padding:18px}.sidebar>p{display:none}.tabs{flex-direction:row;overflow-x:auto;margin-top:16px}.tabs button{white-space:nowrap;padding:10px}.sidebar .bottom{position:static;margin-top:14px;justify-content:flex-end}.content{padding:25px 15px}.topbar{align-items:flex-start;gap:10px}.topbar h1{font-size:23px}.section{padding:20px}.login{margin:10vh 18px}.key-head{flex-wrap:wrap}}

.login-page{min-height:100vh;background:#f5f7fc}.login-header{display:flex;justify-content:space-between;padding:24px 6%;background:white;border-bottom:1px solid #e3e8f1}.login-header a:first-child{font-weight:700;font-size:24px;color:#5144e9}.login-main{max-width:1100px;margin:90px auto;padding:0 30px;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.login-intro h1{font-size:36px;margin:12px 0}.login-intro p{color:#78859a}.login-form{padding:36px;background:white;border:1px solid #e2e7f0;border-radius:12px}.login-form label{display:block;margin:20px 0}.login-form input{width:100%;margin-top:8px}.login-form button{width:100%;padding:13px}.login-form .error{overflow-wrap:anywhere}@media(max-width:700px){.login-main{grid-template-columns:1fr;gap:20px;margin:32px auto;padding:0 18px}.login-intro h1{font-size:28px}.login-form{padding:24px}}

.image-editor{display:flex;gap:18px;align-items:center;margin:16px 0}.upload-preview{width:72px;height:72px;object-fit:contain;border:1px solid #e5e9f1;border-radius:12px;background:#f9fbff}.image-editor input[type=file]{max-width:260px}.upload-status{display:block;color:#386df4;font-size:13px}.ad-state{color:#758398;font-size:13px}.price-row{display:grid;grid-template-columns:110px minmax(240px,1fr) minmax(160px,1fr);align-items:center;border-bottom:1px solid #eee;padding:15px 0}.log-toolbar{display:flex;gap:10px;flex-wrap:wrap}.log-table-wrap{overflow:auto;margin-top:20px}.log-table{border-collapse:collapse;width:100%;font-size:13px}.log-table td,.log-table th{border-bottom:1px solid #e5e9ef;padding:12px;text-align:left;white-space:nowrap}.log-table th{background:#f5f7fb}.log-address{font-family:Consolas,monospace}.log-table .log-error{white-space:normal;min-width:220px;max-width:360px;overflow-wrap:anywhere}@media(max-width:700px){.price-row{grid-template-columns:1fr}.image-editor input[type=file]{max-width:200px}.ad-toolbar{flex-wrap:wrap}}
.content{min-width:0}.log-toolbar{display:flex;gap:10px;flex-wrap:wrap}.log-toolbar input{flex:1 1 260px;width:auto}.log-toolbar select{flex:0 1 180px;width:auto}.log-table-wrap{max-width:100%;overflow-x:auto}
.agency-table{overflow:auto}.agency-table table{width:100%;border-collapse:collapse;min-width:650px}.agency-table th,.agency-table td{text-align:left;padding:14px 10px;border-bottom:1px solid #e6eaf2;font-size:14px}.agency-table th{background:#f5f7fb;color:#66758d}.agency-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin:20px 0}.agency-features label{display:flex;align-items:center;gap:8px}
.ops-filter{display:flex;flex-wrap:wrap;align-items:end;gap:16px;margin-bottom:24px}.ops-filter label{min-width:150px}.ops-filter button{margin-bottom:1px}.ops-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.ops-metrics>div{border:1px solid #e4eaf5;border-radius:12px;padding:20px}.ops-metrics strong{display:block;font-size:25px;margin-top:10px}.ops-metrics small{color:#758198}.renewal{border-left:4px solid #f59e0b;background:#fff7e5}.renewal a{margin-left:12px}#package-editor,#account-editor{margin-top:24px}.sidebar{overflow-y:auto}.sidebar .bottom{position:static;margin-top:25px}@media(max-width:700px){.ops-metrics{grid-template-columns:repeat(2,1fr)}}
.admin-brand img,.login-logo{width:32px;height:32px;object-fit:contain;flex:none;vertical-align:middle}.site-logo-preview{width:64px;height:64px;object-fit:contain;border:1px solid #e6eaf2;border-radius:8px}.site-logo-editor small{display:block;margin:10px 0}.site-logo-editor button{margin-right:10px}
.preview-toolbar{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.preview-toolbar label{flex:1;min-width:200px}#agency-preview{display:block;width:100%;height:850px;max-width:100%;border:1px solid #dce4f0;border-radius:12px;margin:20px auto;background:#f7f8fa}#preview-meta{margin:16px 0;color:#65748a}#renewal-form,#review-form{padding:18px;border:1px solid #dce5f2;border-radius:10px;margin:16px 0}#renewal-form label,#review-form label{display:block;margin-bottom:14px}#renewal-form select,#renewal-form textarea,#review-form textarea{width:100%}.ad-row input[type=datetime-local]{width:100%}
