
:root{--blue:#04a4cc;--blue-d:#038bb0;--blue-dd:#026f93;--blue-l:#e8f6fb;--blue-ll:#f1fafd;--text:#555;--text-d:#222;--muted:#9aa0a6;--line:#ececec;--bg:#f5f7f9;--card:#fff;--grad:linear-gradient(135deg,#04a4cc,#23c4d8)}
*{margin:0;padding:0;box-sizing:border-box}
body{font:14px/1.7 "Microsoft YaHei",微软雅黑,Helvetica,Arial,sans-serif;color:var(--text);background:var(--bg);-webkit-text-size-adjust:100%;text-size-adjust:100%}
a,a:visited{color:var(--blue);text-decoration:none}
button{font-family:inherit;cursor:pointer}
input,textarea,select{font-family:inherit}
/* ===== 登录页 ===== */
#login{position:fixed;inset:0;background:linear-gradient(135deg,#026f93,#04a4cc 60%,#23c4d8);display:flex;align-items:center;justify-content:center;z-index:1000}
.login-card{background:#fff;width:360px;max-width:90vw;border-radius:16px;box-shadow:0 24px 60px rgba(0,0,0,.25);padding:38px 34px}
.login-card h1{font-size:23px;color:var(--blue);letter-spacing:2px;text-align:center}
.login-card .sub{font-size:13px;color:var(--muted);text-align:center;margin:6px 0 26px}
.fld{margin-bottom:16px}
.fld label{display:block;font-size:13px;color:#666;margin-bottom:6px}
.fld input{width:100%;padding:11px 14px;border:1px solid #dfe3e6;border-radius:10px;font-size:14px;outline:none;transition:.15s}
.fld input:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(4,164,204,.12)}
.btn,a.btn,a.btn:visited,a.btn:hover,a.btn:active{display:inline-block;background:var(--blue);color:#fff!important;border:none;border-radius:10px;padding:11px 18px;font-size:14px;transition:.15s;text-decoration:none}
.btn:hover{background:var(--blue-d);color:#fff!important}
.btn.block{width:100%}
.btn.ghost,a.btn.ghost,a.btn.ghost:visited,a.btn.ghost:hover,a.btn.ghost:active{background:#fff;color:var(--blue)!important;border:1px solid var(--blue)}
.btn.ghost:hover{background:var(--blue-l);color:var(--blue)!important}
.btn.danger,a.btn.danger,a.btn.danger:visited,a.btn.danger:hover,a.btn.danger:active{background:#e5484d;color:#fff!important}
.btn.danger:hover{background:#c93b40;color:#fff!important}
.login-tip{font-size:12px;color:var(--muted);text-align:center;margin-top:14px;line-height:1.6}
/* ===== 后台主体 ===== */
#app{display:none}
#app.show{display:flex}
.sidebar{width:232px;flex:0 0 232px;align-self:flex-start;position:sticky;top:0;height:100vh;overflow-y:auto;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column}
.sidebar .logo{padding:20px 22px;font-size:20px;font-weight:800;color:var(--blue);letter-spacing:1px;border-bottom:1px solid var(--line)}
.sidebar .logo small{display:block;font-size:11px;color:var(--muted);font-weight:400;letter-spacing:1px;margin-top:3px}
.nav{padding:12px 12px;flex:1}
.nav a{display:flex;align-items:center;gap:10px;padding:11px 14px;border-radius:10px;color:#555;font-size:14px;margin-bottom:4px;transition:.15s}
.nav a:hover{background:var(--blue-ll);color:var(--blue)}
.nav a.active{background:var(--blue);color:#fff}
.nav a .dot{width:7px;height:7px;border-radius:50%;background:currentColor;opacity:.7}
.nav .back{margin-top:8px;border-top:1px solid var(--line);padding-top:12px}
.nav .back a{color:var(--muted)}
.main{flex:1;min-width:0;display:flex;flex-direction:column;min-height:100vh}
.topbar{height:60px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 24px;position:sticky;top:0;z-index:5}
.topbar h2{font-size:18px;color:var(--text-d)}
.topbar .user{font-size:13px;color:#666;display:flex;align-items:center;gap:12px}
.topbar .user b{color:var(--blue)}
.content{padding:24px;flex:1}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:22px}
/* 仪表盘 */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}
.stat{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:20px 22px;position:relative;overflow:hidden}
.stat .num{font-size:30px;font-weight:800;color:var(--blue)}
.stat .lab{font-size:13px;color:var(--muted);margin-top:4px}
.stat .bar{position:absolute;right:-10px;top:-10px;width:64px;height:64px;border-radius:50%;background:var(--blue-l);opacity:.5}
.welcome{background:linear-gradient(120deg,#026f93,#04a4cc);color:#fff;border-radius:14px;padding:22px 24px;margin-bottom:20px}
.welcome h3{font-size:19px;margin-bottom:6px}
.welcome p{font-size:13px;opacity:.92}
.panel-t{font-size:15px;font-weight:700;color:var(--text-d);margin-bottom:14px}
.mlist{list-style:none}
.mlist li{padding:11px 0;border-bottom:1px dashed var(--line);font-size:13px;color:#666;display:flex;justify-content:space-between}
.mlist li:last-child{border-bottom:none}
.mlist .t{color:var(--blue)}
.empty{text-align:center;color:var(--muted);padding:40px 0;font-size:14px}
/* 分类管理 */
.muted{color:var(--muted);font-size:12.5px;font-weight:400}
.cat-add{display:flex;gap:10px;margin-bottom:16px}
.cat-add input{flex:1;padding:10px 14px;border:1px solid #dfe3e6;border-radius:10px;font-size:14px;outline:none}
.cat-add input:focus{border-color:var(--blue)}
.btn.sm{padding:7px 14px;font-size:13px;border-radius:9px}
.btn.ghost{background:#fff;color:var(--blue);border:1px solid var(--blue)}
.btn.ghost:hover{background:var(--blue-l)}
.cat-tbl{width:100%;border-collapse:collapse;font-size:14px}
.cat-tbl th,.cat-tbl td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--line)}
.cat-tbl th{background:var(--blue-l);color:var(--text-d);font-weight:600;font-size:13px}
.cat-tbl tr:hover td{background:#fbfdfe}
.cat-tbl .ops{display:flex;gap:8px;white-space:nowrap}
/* 表格 */
.tb-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;gap:12px}
.tb-top input{padding:9px 14px;border:1px solid #dfe3e6;border-radius:10px;font-size:13px;width:260px;outline:none}
.tb-top input:focus{border-color:var(--blue)}
table{width:100%;border-collapse:collapse;background:var(--card);border:1px solid var(--line);border-radius:12px;overflow:hidden}
th,td{text-align:left;padding:13px 14px;font-size:13px;border-bottom:1px solid var(--line)}
th{background:var(--blue-l);color:var(--blue-dd);font-weight:600;font-size:12px}
tr:last-child td{border-bottom:none}
.badge{display:inline-block;background:var(--blue-l);color:var(--blue-dd);font-size:11px;padding:3px 10px;border-radius:10px}
.badge.gray{background:#f0f1f3;color:#888}
.ops a{margin-right:12px;font-size:13px}
.ops a.del{color:#e5484d}
/* 手机端表格横向滚动容器 */
.tb-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
/* 广告预览卡片（后台效果案例，与前台一致） */
.adbox{display:block;background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin-top:14px;color:#555;text-decoration:none}
.adbox img{width:100%;border-radius:8px;margin-bottom:8px;display:block}
.adbox .at{font-size:13px;font-weight:600;color:var(--blue)}
/* 虚拟示例广告（无图也能展示效果） */
.ad-demo{position:relative;overflow:hidden;border-radius:12px;color:#fff;text-decoration:none;display:block;box-shadow:0 6px 20px rgba(2,111,147,.18);background:linear-gradient(120deg,#06b6d4 0%,#0891b2 45%,#0369a1 100%)}
.ad-demo *{box-sizing:border-box}
.ad-demo .ad-tag{position:absolute;top:8px;left:10px;font-size:10px;letter-spacing:1px;background:rgba(255,255,255,.22);padding:2px 7px;border-radius:20px;backdrop-filter:blur(2px)}
.ad-demo .ad-logo{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:9px;background:rgba(255,255,255,.25);font-size:18px;line-height:1}
.ad-demo .ad-title{font-weight:800;line-height:1.2}
.ad-demo .ad-sub{opacity:.9;line-height:1.4}
.ad-demo .ad-cta{display:inline-flex;align-items:center;gap:4px;background:#fff;color:#0369a1;font-weight:700;border-radius:20px;white-space:nowrap}
.ad-demo.top{display:flex;align-items:center;gap:16px;padding:16px 18px;margin-top:14px}
.ad-demo.top .ad-main{flex:1;min-width:0}
.ad-demo.top .ad-title{font-size:17px;margin:6px 0 4px}
.ad-demo.top .ad-sub{font-size:12.5px}
.ad-demo.top .ad-cta{padding:9px 16px;font-size:13px}
.ad-demo.side{padding:20px 16px 18px;text-align:center;margin-top:14px}
.ad-demo.side .ad-logo{margin:6px auto 10px}
.ad-demo.side .ad-title{font-size:16px;margin-bottom:8px}
.ad-demo.side .ad-sub{font-size:12.5px;margin-bottom:14px}
.ad-demo.side .ad-cta{padding:9px 20px;font-size:13px}
/* 广告设计尺寸参考表 */
.ref-tbl{width:100%;border-collapse:collapse;margin-top:8px;font-size:12.5px}
.ref-tbl th,.ref-tbl td{border:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}
.ref-tbl th{background:var(--blue-ll);color:var(--blue-dd);font-weight:700}
.ref-tbl td b{color:var(--text-d)}
.ref-note{font-size:12px;color:var(--muted);margin-top:8px;line-height:1.6}
/* 表单 */
.formrow{margin-bottom:16px;max-width:480px}
.formrow.wide{max-width:none}
.formrow label{display:block;font-size:13px;color:#666;margin-bottom:6px}
.formrow input,.formrow select,.formrow textarea{width:100%;padding:10px 13px;border:1px solid #dfe3e6;border-radius:10px;font-size:14px;outline:none}
.formrow input:focus,.formrow textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(4,164,204,.12)}
.formrow textarea{min-height:140px}
/* modal */
#modal{position:fixed;inset:0;background:rgba(0,0,0,.4);display:none;align-items:center;justify-content:center;z-index:1100}
#modal.show{display:flex}
#modal-edit,#modal-nav,#modal-ad{position:fixed;inset:0;background:rgba(0,0,0,.4);display:none;align-items:center;justify-content:center;z-index:1100}
#modal-edit.show,#modal-nav.show,#modal-ad.show{display:flex}
.modal-box{background:#fff;width:860px;max-width:94vw;border-radius:16px;box-shadow:0 24px 60px rgba(0,0,0,.3);padding:26px 30px;max-height:92vh;overflow:auto}
.modal-box h3{font-size:17px;color:var(--text-d);margin-bottom:18px}
.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}
/* 文章编辑顶部操作栏（吸顶：操作按钮 + 格式工具栏，长文滚动常驻） */
.edit-topbar{position:sticky;top:0;z-index:5;background:#fff;display:flex;flex-direction:column;align-items:stretch;gap:10px;margin:-26px -30px 16px;padding:16px 30px 12px;border-bottom:1px solid var(--line);box-shadow:0 6px 18px rgba(8,80,110,.06)}
.edit-topbar .etb-row{display:flex;align-items:center;gap:10px}
.edit-topbar .spacer{flex:1}
/* 文章编辑弹窗紧凑布局，最大化正文编辑区 */
#modal .modal-box,#modal-edit .modal-box{padding:22px 30px;max-height:96vh;width:1080px;max-width:96vw}
#modal .edit-topbar,#modal-edit .edit-topbar{margin:-20px -26px 16px;padding:14px 26px 12px;gap:10px}
#modal .edit-topbar .etb-row,#modal-edit .edit-topbar .etb-row{margin-bottom:2px}
#modal .modal-box h3,#modal-edit .modal-box h3{font-size:16px;margin-bottom:10px}
#modal .formrow,#modal-edit .formrow{margin-bottom:10px}
#modal .formrow.wide,#modal-edit .formrow.wide{margin-bottom:12px}
#modal .formrow label,#modal-edit .formrow label{font-size:12.5px;margin-bottom:3px}
#modal .formrow input,#modal-edit .formrow input,
#modal .formrow select,#modal-edit .formrow select{padding:7px 11px;font-size:13.5px;border-radius:8px}
#modal .rd,#modal-edit .rd{font-size:13px;margin-right:16px}
#modal .rte-toolbar,#modal-edit .rte-toolbar{gap:5px;margin-bottom:5px}
#modal .rte-toolbar button,#modal-edit .rte-toolbar button{padding:5px 8px;font-size:12px;min-width:30px;border-radius:6px}
#modal .rte-hint,#modal-edit .rte-hint{font-size:11.5px;margin-left:6px}
#modal .rte-editor,#modal-edit .rte-editor{min-height:560px;padding:14px 20px;font-size:15px;max-width:none}
.toast{position:fixed;left:50%;bottom:40px;transform:translateX(-50%);background:#222;color:#fff;padding:11px 20px;border-radius:10px;font-size:13px;opacity:0;transition:.25s;z-index:1200;pointer-events:none}
.toast.show{opacity:.95}
/* 富文本编辑器 */
.rte-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:8px}
.edit-topbar .rte-toolbar{margin-bottom:0}
.rte-sep{width:1px;align-self:stretch;background:var(--line);margin:2px 3px}
.rte-color{width:34px;height:32px;padding:2px;border:1px solid #dfe3e6;border-radius:8px;background:#fff;cursor:pointer}
.rte-color::-webkit-color-swatch-wrapper{padding:0}
.rte-color::-webkit-color-swatch{border:none;border-radius:6px}
.rte-size{height:32px;border:1px solid #dfe3e6;border-radius:8px;background:#fff;font-size:12px;color:var(--text);padding:0 2px;cursor:pointer}
.rte-hint{display:inline-block;margin-left:8px;font-size:12px;color:#8a94a6}
.rd{display:inline-flex;align-items:center;gap:6px;margin-right:18px;font-size:14px;cursor:pointer}
.rd input{accent-color:var(--blue);width:auto}
.badge.pub{background:rgba(34,197,94,.14);color:#16a34a}
.badge.draft{background:rgba(245,158,11,.16);color:#d97706}
.badge.top{background:var(--grad);color:#fff}
/* 设置开关 */
.setrow{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 4px;border-bottom:1px solid var(--line)}
.setrow:last-of-type{border-bottom:none}
.setrow .hint{display:block;font-size:12px;color:#9aa3ad;margin-top:3px}
.setrow b{font-size:14.5px;color:var(--text-d)}
.sw{position:relative;display:inline-block;width:48px;height:28px;flex:0 0 auto}
.sw input{opacity:0;width:0;height:0;margin:0}
.sw .slider{position:absolute;cursor:pointer;inset:0;background:#c2cad3;border:1px solid #97a1ad;border-radius:30px;transition:.25s;box-shadow:inset 0 1px 3px rgba(0,0,0,.12)}
.sw .slider::before{content:"";position:absolute;height:22px;width:22px;left:2px;top:2px;background:#fff;border-radius:50%;box-shadow:0 1px 3px rgba(0,0,0,.22);transition:.25s}
.sw input:checked + .slider{background:var(--grad);border-color:transparent}
.sw input:checked + .slider::before{transform:translateX(20px)}
.rte-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:8px 10px;background:#f6f9fb;border-bottom:1px solid var(--line)}
.rte-toolbar button{padding:6px 11px;border:1px solid #dfe3e6;background:#fff;border-radius:8px;font-size:13px;cursor:pointer;min-width:34px;line-height:1.2;transition:.15s}
.rte-toolbar button:hover{background:var(--blue-l);border-color:var(--blue)}
.rte-toolbar button.active{background:var(--grad);color:#fff;border-color:transparent;box-shadow:0 2px 8px rgba(4,164,204,.25)}
.rte-sel{height:30px;border:1px solid #dfe3e6;background:#fff;border-radius:8px;font-size:13px;color:var(--text-d);padding:0 6px;cursor:pointer;max-width:120px}
.rte-sel:hover{border-color:var(--blue)}
.rte-sep{width:1px;height:22px;background:var(--line);margin:0 3px}
.rte-color{width:30px;height:30px;padding:0;border:1px solid #dfe3e6;border-radius:7px;background:#fff;cursor:pointer}
.rte-color:hover{border-color:var(--blue)}
.rte-editor{min-height:460px;max-width:840px;margin:0 auto;border:1px solid #dfe3e6;border-radius:10px;padding:26px 34px;font-size:15px;line-height:1.95;outline:none;overflow:auto;background:#fff;font-family:"微软雅黑","Segoe UI",system-ui,sans-serif;box-shadow:0 8px 30px rgba(8,80,110,.05) inset}
.rte-editor:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(4,164,204,.12)}
.rte-editor img{max-width:100%;border-radius:8px;margin:6px 0}
.rte-editor h1{font-size:26px;color:var(--text-d);margin:6px 0 10px;line-height:1.35}
.rte-editor h2{font-size:21px;color:var(--text-d);margin:8px 0 6px;line-height:1.4}
/* 发布预览弹窗（复刻前台文章详情页实际发布效果） */
.pubprev-mask{position:fixed;inset:0;background:rgba(15,32,42,.6);display:none;align-items:flex-start;justify-content:center;z-index:1300;padding:30px 14px;overflow:auto}
.pubprev-mask.show{display:flex}
.pubprev{background:#fff;max-width:960px;width:100%;border-radius:16px;box-shadow:0 30px 90px rgba(0,0,0,.35);overflow:hidden;animation:ppin .25s ease}
@keyframes ppin{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.pp-top{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 18px;background:#fff;border-bottom:1px solid #eef1f4;z-index:2}
.pp-top .pt{font-size:13.5px;font-weight:700;color:#036c8a;display:flex;align-items:center;gap:9px}
.pp-top .pt .dot{width:9px;height:9px;border-radius:50%;background:#04a4cc;box-shadow:0 0 0 4px rgba(4,164,204,.18)}
.pp-top .pr{font-size:12px;color:#9aa3ad}
.pp-top .x{cursor:pointer;border:none;background:#f0f4f7;border-radius:9px;width:36px;height:34px;font-size:20px;color:#52606d;line-height:1}
.pp-top .x:hover{background:#e3e9ee}
.pp-body{padding:30px 46px 38px}
.pp-body .dcover{height:184px;border-radius:13px;margin-bottom:18px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;background:linear-gradient(135deg,#04a4cc,#23c4d8)}
.pp-body .dcover .dc{position:absolute;left:18px;top:16px;background:rgba(0,0,0,.3);color:#fff;font-size:12.5px;padding:3px 12px;border-radius:20px}
.pp-body .dcover .di{font-size:66px;color:rgba(255,255,255,.88);font-weight:800}
.pp-body h1{font-size:27px;margin:0 0 12px;color:#222;line-height:1.4}
.pp-body .dmeta{display:flex;flex-wrap:wrap;gap:14px;align-items:center;font-size:13px;color:#888;margin-bottom:20px;border-bottom:1px dashed #eef1f4;padding-bottom:14px}
.pp-body .dmeta .c{background:#e8f6fb;color:#036c8a;padding:2px 12px;border-radius:20px;font-weight:600}
.pp-body .dmeta .st{margin-left:auto;color:#036c8a;font-weight:600}
.pp-body .content{font-size:15.5px;line-height:2;color:#444}
.pp-body .content p{margin:0 0 1em}
.pp-body .content img{display:block;margin:16px auto;border-radius:8px;max-width:100%;height:auto}
.pp-body .content table{width:100%;border-collapse:collapse;margin:16px 0;font-size:14.5px;border-radius:10px;overflow:hidden;box-shadow:0 4px 14px rgba(8,80,110,.06)}
.pp-body .content th,.pp-body .content td{border:1px solid #e2e7ed;padding:9px 13px;text-align:left;vertical-align:top;line-height:1.6}
.pp-body .content th{background:#e8f6fb;color:#222;font-weight:600}
.pp-body .content h2,.pp-body .content h3{color:#222;margin:1.3em 0 .6em}
.pp-body .content blockquote{border-left:4px solid #04a4cc;background:#f1fafd;padding:10px 16px;border-radius:8px;color:#566069;margin:1em 0}
.pp-body .content ul{list-style:disc;padding-left:1.6em;margin:1em 0}
.pp-body .content ol{list-style:decimal;padding-left:1.6em;margin:1em 0}
.pp-body .content li{margin:.4em 0}
.pp-body .content code{background:#eef3f6;padding:1px 6px;border-radius:4px;font-family:Consolas,Menlo,monospace;font-size:.9em;color:#1d6b86}
.pp-body .content sub,.pp-body .content sup{font-size:.75em}
.pp-body .content font[size="1"]{font-size:12px}.pp-body .content font[size="2"]{font-size:13px}.pp-body .content font[size="3"]{font-size:15px}.pp-body .content font[size="4"]{font-size:18px}.pp-body .content font[size="5"]{font-size:21px}.pp-body .content font[size="6"]{font-size:25px}.pp-body .content font[size="7"]{font-size:30px}
.pp-body .content hr{border:none;border-top:1px solid #eee;margin:18px 0}
.pp-body .foot{margin-top:26px;padding-top:16px;border-top:1px solid #eef1f4;font-size:12.5px;color:#9aa3ad;text-align:center}
@media(max-width:600px){.pp-body{padding:18px 16px 26px}.pp-body h1{font-size:22px}.pp-body .dcover{height:140px}.pp-body .dcover .di{font-size:52px}}
.rte-editor h3{font-size:18px;color:var(--text-d);margin:8px 0 6px}
.rte-editor blockquote{border-left:3px solid var(--blue);padding:4px 14px;color:#6b7785;background:var(--blue-ll);margin:8px 0;border-radius:0 8px 8px 0}
.rte-editor code{background:#eef3f6;padding:1px 6px;border-radius:4px;font-family:Consolas,Menlo,monospace;font-size:.9em;color:#1d6b86}
.rte-editor sub,.rte-editor sup{font-size:.75em}
/* 文章正文排版 */
.content h1,.content h2,.content h3{margin:14px 0 8px;color:var(--text-d);line-height:1.4}
.content p{margin:10px 0;line-height:1.9}
.content ul,.content ol{margin:10px 0 10px 24px}
.content li{margin:4px 0}
.content img{max-width:100%;border-radius:8px;margin:8px 0}
.content a{color:var(--blue);text-decoration:underline}
.content blockquote{border-left:3px solid var(--blue);padding-left:12px;color:#777;margin:10px 0}
/* ===== 手机适配 ===== */
@media(max-width:900px){
  #app.show{flex-direction:column}
  .sidebar{position:sticky;top:0;z-index:6;width:100%;flex:0 0 auto;align-self:stretch;height:auto;min-height:auto;overflow-y:visible;flex-direction:row;align-items:center;border-right:none;border-bottom:1px solid var(--line);padding:0;background:#fff}
  .sidebar .logo{display:none}
  .nav{flex-direction:row;align-items:center;padding:8px 8px;gap:2px;overflow-x:auto;flex:1;white-space:nowrap;scrollbar-width:none;-ms-overflow-style:none}
  .nav::-webkit-scrollbar{display:none}
  .nav a{margin-bottom:0;white-space:nowrap;padding:8px 13px;border-radius:8px}
  .nav .back{margin-top:0;border-top:none;padding-top:0;margin-left:auto}
  .topbar{position:static;padding:12px 14px}
  .topbar h2{font-size:16px}
  .main{min-height:auto}
  .content{padding:14px}
  .card{padding:16px}
  .stats{grid-template-columns:repeat(2,1fr)}
  .tb-top{flex-direction:column;align-items:stretch}
  .tb-top input{width:100%}
  .welcome{padding:16px 18px}
  .tb-scroll table{min-width:560px}
}
@media(max-width:600px){
  .content{padding:12px}
  .card{padding:14px}
  .stats{grid-template-columns:repeat(2,1fr)}
  .stat{padding:16px}
  .stat .num{font-size:24px}
  .welcome h3{font-size:17px}
  .welcome p{font-size:12px}
  .modal-box{padding:14px 16px;max-height:98vh}
  .modal-box h3{font-size:16px;margin-bottom:12px}
  .edit-topbar{margin:-14px -16px 12px;padding:10px 16px 10px;gap:8px}
  .edit-topbar .etb-row{gap:6px;flex-wrap:wrap}
  .edit-topbar .btn{padding:8px 13px;font-size:13px}
  .rte-toolbar button{padding:5px 7px;font-size:11.5px;min-width:28px}
  .rte-color{width:30px;height:28px}
  .rte-size{height:28px;font-size:11px}
  .rte-hint{display:none}
  .rte-editor{min-height:46vh;padding:12px 14px;font-size:14px}
  .formrow input,.formrow select{padding:9px 12px}
  .ops a{display:inline-block;padding:4px 0}
  .ops a.del{margin-left:2px}
  .cat-add{flex-direction:column}
  .setrow{flex-direction:column;align-items:flex-start;gap:10px}
  .setrow .sw{align-self:flex-end}
  .cat-tbl th,.cat-tbl td{padding:10px 12px}
}
.ad-demo.article{display:flex;align-items:center;gap:14px;padding:14px 16px;margin-top:14px}
.ad-demo.article .ad-logo{margin-left:2px}
.ad-demo.article .ad-main{flex:1;min-width:0}
.ad-demo.article .ad-title{font-size:15px;margin:2px 0 3px}
.ad-demo.article .ad-sub{font-size:12px}
.ad-demo.article .ad-cta{padding:8px 15px;font-size:12.5px}
