:root{font-family:Inter,"Segoe UI","Microsoft YaHei",sans-serif;color:#28354b;background:#f5f7fb;font-size:14px}*{box-sizing:border-box}body{margin:0}[hidden]{display:none!important}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}button:focus-visible,a:focus-visible{outline:3px solid #9bbef5;outline-offset:3px}input,select,textarea{border:1px solid #dce2ec;border-radius:7px;padding:10px 12px;color:#29374e;background:#fff;outline:none;min-width:0}input:focus,select:focus,textarea:focus{border-color:#6c8acc;box-shadow:0 0 0 3px #6685cb15}input::placeholder,textarea::placeholder{color:#a0aaba}.primary,.secondary{padding:10px 17px;border-radius:7px;border:1px solid #dce2ec;font-weight:600;white-space:nowrap}.primary{background:#476bba;border-color:#476bba;color:#fff;box-shadow:0 3px 7px #476bba20}.primary:hover{background:#3f60a8}.secondary{background:#fff;color:#54657e}.text-button{border:0;background:none;color:#60748c}.brand-mark{display:inline-grid;place-items:center;width:37px;height:37px;background:linear-gradient(135deg,#8aa3e5,#5270b7);color:white;border-radius:11px;font-size:23px;font-weight:700}.auth-shell{min-height:100vh;display:grid;place-items:center;background:radial-gradient(ellipse at 20% 20%,#e6ecfa,transparent 55%),#f6f8fc;padding:24px}.auth-card{width:min(420px,100%);padding:36px;background:white;border:1px solid #e4e9f3;border-radius:17px;box-shadow:0 15px 60px #2542690b}.auth-card h1{font-size:25px;margin:22px 0 10px}.auth-card p{color:#8290a6;line-height:1.7;font-size:13px}.auth-card label{display:flex;flex-direction:column;gap:9px;margin:20px 0;font-size:13px}.auth-card .primary{width:100%;margin:5px 0 20px}.auth-card small{display:block;font-size:11px;color:#95a0b3;line-height:1.7}.workspace{display:flex;min-height:100vh}aside{position:fixed;inset:0 auto 0 0;width:225px;background:#fff;border-right:1px solid #e7ebf3;padding:30px 18px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;color:#2b3952;text-decoration:none;font-size:20px;font-weight:700;padding-left:7px}.brand small{display:block;font-size:8px;letter-spacing:1.25px;color:#96a1b4;margin-top:5px;font-weight:500}.aside-label{font-size:10px;color:#9aa5b6;margin:45px 13px 13px;letter-spacing:2px}.active-nav{background:#eef2fb;border:1px solid #e5ebf8;color:#5274b6;border-radius:8px;padding:13px;display:flex;gap:11px;align-items:center}.active-nav b{margin-left:auto;font-weight:500;background:#dee7f9;border-radius:5px;padding:2px 7px;font-size:11px}.aside-note{margin-top:auto;padding:20px 10px 0;font-size:11px;color:#788a9f;border-top:1px solid #eef1f5}.aside-note p{margin-left:13px;font-size:10px;color:#a2adbc}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#69a58d;margin-right:5px}.main{margin-left:225px;width:calc(100% - 225px)}header{height:75px;background:white;border-bottom:1px solid #e9edf4;display:flex;align-items:center;justify-content:space-between;padding:0 40px;color:#94a0b2;font-size:12px}header b{color:#5b6b83;font-weight:500}header>div{display:flex;gap:20px;align-items:center}main{max-width:1480px;margin:auto;padding:38px 40px}.page-title{display:flex;align-items:center;justify-content:space-between;gap:16px}.eyebrow{font-size:9px;letter-spacing:2px;color:#9aa7bb}.page-title h1{font-size:28px;font-weight:700;margin:10px 0}.page-title p{color:#8b99ad;font-size:12px;line-height:1.8;margin:0}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:30px 0}.stats article{background:#fff;border:1px solid #e5eaf3;border-radius:10px;padding:22px;position:relative}.stats article:after{content:'';position:absolute;right:22px;top:24px;width:32px;height:32px;border-radius:10px;background:#eef2fb}.stats article:nth-child(2):after{background:#edf6f2}.stats article:nth-child(3):after{background:#f1eff9}.stats article:nth-child(4):after{background:#fbf2e9}.stats span{font-size:12px;color:#7e8ba1}.stats strong{display:block;font-size:29px;color:#3d4f6d;margin:12px 0;font-weight:600}.stats small{font-size:10px;color:#a3adbe}.library-panel{border:1px solid #e4e9f2;background:#fff;border-radius:11px;min-height:330px;padding:23px}.toolbar{display:flex;gap:12px;align-items:center;border-bottom:1px solid #eef1f6;padding-bottom:22px;margin-bottom:22px}.toolbar input{width:260px;font-size:12px}.toolbar select{font-size:12px}.toolbar .secondary{font-size:12px}.toolbar>span{margin-left:auto;font-size:11px;color:#98a5b8}.ad-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.ad-card{border:1px solid #e4e9f1;border-radius:10px;overflow:hidden;background:#fff}.ad-preview{height:155px;background:linear-gradient(135deg,#f2f5fb,#e9eef8);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;color:#acb8ce;font-size:45px}.ad-preview img{width:100%;height:100%;object-fit:cover}.ad-preview video{width:100%;height:100%;object-fit:contain}.ad-preview .ad-kind{position:absolute;left:12px;top:12px;background:#ffffffdc;border:1px solid #ffffff80;border-radius:5px;padding:4px 8px;font-size:10px;color:#5d7398}.ad-content{padding:17px}.ad-title-line{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}.ad-title-line h3{font-size:14px;margin:0;line-height:1.5;word-break:break-word}.ad-status{font-size:10px;padding:3px 7px;background:#f1f3f6;color:#929eaf;border-radius:4px;white-space:nowrap}.ad-status.published{background:#edf6f0;color:#6e9981}.ad-content>p{font-size:11px;color:#98a4b6;line-height:1.7;margin:11px 0 17px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:37px}.ad-metrics{display:flex;justify-content:space-between;gap:10px;font-size:11px;padding:12px 0;border-top:1px solid #f0f2f6;color:#94a0b2}.ad-metrics strong{color:#5c739a;font-size:14px}.ad-actions{display:flex;gap:8px;padding-top:12px;border-top:1px solid #f0f2f6}.ad-actions button{border:1px solid #e1e7f2;border-radius:5px;padding:6px 11px;background:#f7f9fc;font-size:11px;color:#697d9f}.empty{text-align:center;padding:55px;color:#9aa8bc}.empty>span{font-size:40px}.empty h3{font-size:15px;font-weight:500}.empty p{font-size:12px}footer{text-align:center;font-size:10px;color:#a4afbf;padding:10px 20px 25px}.error{font-size:12px;color:#b55e61;line-height:1.7;white-space:pre-wrap}.error:empty{display:none}dialog{width:min(760px,96vw);max-height:92vh;padding:0;border:1px solid #e1e7f1;border-radius:14px;box-shadow:0 20px 80px #1e335b30;color:#34455f}dialog::backdrop{background:#22365366;backdrop-filter:blur(2px)}.dialog-heading{padding:23px 27px;border-bottom:1px solid #e9edf4;display:flex;justify-content:space-between;align-items:center}.dialog-heading small{color:#9faac0;font-size:9px;letter-spacing:1.8px}.dialog-heading h2{margin:6px 0 0;font-size:20px}.close{border:0;background:none;color:#9ba6b8;font-size:26px}.editor-body{padding:24px 27px;max-height:65vh;overflow:auto}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-grid>label{display:flex;flex-direction:column;gap:9px;font-size:12px;color:#6d7e99}.form-grid .full{grid-column:1/-1}.form-grid textarea{resize:vertical}.form-grid input,.form-grid select,.form-grid textarea{font-size:12px;width:100%}.upload-block{border:1px dashed #cfd9eb;background:#f9fbfe;border-radius:8px;padding:15px;display:flex;flex-wrap:wrap;gap:12px;align-items:center;font-size:12px}.upload-block b{font-size:12px;font-weight:500}.upload-block small{display:block;color:#9aa8bd;font-size:10px;margin-top:7px}.file-button{display:inline-block;background:white;padding:7px 10px;border:1px solid #dce4f1;border-radius:5px;color:#5f7caf;cursor:pointer}.file-button input{display:block;max-width:150px;font-size:10px;margin-top:5px}.upload-block>img{width:50px;height:50px;object-fit:cover;border-radius:5px}.upload-block>video{width:100%;height:120px}.upload-block>span{font-size:10px;color:#8d9bb1;word-break:break-all}.form-grid .toggle{flex-direction:row;align-items:center;gap:9px}.toggle input{width:16px;height:16px;accent-color:#5b7dbb}.dialog-footer{padding:17px 27px;border-top:1px solid #e9edf4;display:flex;gap:10px;justify-content:flex-end;align-items:center}.dialog-footer>span{margin-right:auto;font-size:11px;color:#7289ad}#toast{position:fixed;top:25px;left:50%;transform:translateX(-50%);background:#fff;border:1px solid #e0e9e3;color:#62866c;box-shadow:0 5px 20px #24355612;border-radius:8px;padding:12px 22px;font-size:13px;z-index:50}@media(min-width:1600px){.ad-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:1100px){aside{width:185px}.main{margin-left:185px;width:calc(100% - 185px)}main{padding:28px 24px}header{padding:0 24px}.stats{gap:10px}.ad-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.toolbar{flex-wrap:wrap}.toolbar input{flex:1;min-width:150px}}@media(max-width:700px){aside{display:none}.main{margin:0;width:100%}header{height:60px;padding:0 18px}main{padding:25px 16px}.page-title h1{font-size:24px}.page-title p{max-width:220px}.page-title .primary{padding:9px 12px;font-size:12px}.stats{grid-template-columns:repeat(2,1fr);margin:22px 0}.stats article{padding:17px}.library-panel{padding:14px}.ad-grid{grid-template-columns:1fr}.toolbar input{width:100%;flex:auto}.toolbar select{flex:1;font-size:11px}.toolbar>span{width:100%;text-align:right}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.editor-body{padding:20px}.dialog-heading{padding:20px}.dialog-footer{padding:15px}.auth-card{padding:28px}}

.ad-actions{flex-wrap:wrap}.ad-actions .delete-ad{color:#b43a43;border-color:#e7c5c8;background:#fff7f7}
