*{box-sizing:border-box;margin:0;padding:0}
body{font-family:"PingFang SC","Microsoft YaHei",sans-serif;background:#FFF6EC;color:#333;font-size:14px}
a{color:#F2670C;text-decoration:none}
.wrap{max-width:1180px;margin:0 auto;padding:0 20px}

/* 顶部导航 */
.top{background:linear-gradient(90deg,#FF9435,#F2670C);padding:14px 0;box-shadow:0 2px 10px rgba(242,103,12,.25)}
.top .wrap{display:flex;align-items:center}
.logo{color:#fff;font-size:18px;font-weight:700;margin-right:28px;white-space:nowrap}
.top nav{display:flex;flex-wrap:wrap;gap:4px}
.top nav a{color:rgba(255,255,255,.85);padding:7px 13px;border-radius:8px;font-size:14px}
.top nav a:hover{background:rgba(255,255,255,.15);color:#fff}
.top nav a.on{background:rgba(255,255,255,.22);color:#fff;font-weight:600}
.top nav a.out{margin-left:auto;background:rgba(0,0,0,.12)}

main.wrap{padding:26px 20px 40px}

/* 面板 */
.panel{background:#fff;border-radius:14px;box-shadow:0 4px 20px rgba(0,0,0,.06);padding:26px 30px;margin-bottom:22px}
.panel.narrow{max-width:560px}
.panel h2{font-size:18px;margin-bottom:18px;color:#2b2b2b}
.h2sub{font-size:12px;color:#999;font-weight:400;margin-left:8px}

/* 消息 */
.msg{border-radius:8px;padding:10px 16px;margin-bottom:16px;font-size:14px}
.msg.ok{background:#EAFBF2;color:#16A34A}
.msg.err{background:#FDE7E3;color:#C62828}

/* 表单 */
.form .frow{display:flex;align-items:center;margin-bottom:14px}
.form .frow label{width:150px;color:#666;flex-shrink:0}
.form .frow input{flex:1;max-width:420px}
.hint{color:#aaa;font-size:12px;margin-left:12px}
input[type=text],input[type=password],input:not([type]){padding:8px 11px;border:1px solid #e3e3e3;border-radius:7px;font-size:14px;outline:none;width:100%}
input:focus{border-color:#F97316}
.btn{display:inline-block;margin-top:14px;padding:10px 38px;border:0;border-radius:8px;background:linear-gradient(90deg,#FF9435,#F2670C);color:#fff;font-size:15px;cursor:pointer}
.btn:hover{opacity:.92}
.tip{margin-top:14px;color:#999;font-size:12px;line-height:1.8}

/* 表格 */
.tbl{width:100%;border-collapse:collapse}
.tbl th{text-align:left;color:#999;font-size:12px;font-weight:500;padding:8px 6px;border-bottom:2px solid #f0f0f0}
.tbl td{padding:6px;border-bottom:1px solid #f6f6f6}
.tbl tr.new td{background:#FFFCF7}
.tbl.small td{padding:4px 6px}
.tbl .c{text-align:center}
.w56{width:56px}.w46{width:46px}

/* 增值项目 */
.vitem{border:1px solid #f0e6da;border-radius:10px;padding:14px 16px;margin-bottom:16px}
.vitem.add{border-style:dashed;background:#FFFCF7}
.vhead{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.vhead .ico{width:64px;text-align:center}
.vhead .nm{width:220px}
.vhead .sort{width:60px}
.vhead .del{margin-left:auto;color:#C62828;font-size:13px}

/* 首页 */
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.kv{width:100%;border-collapse:collapse}
.kv td{padding:9px 6px;border-bottom:1px solid #f4f4f4}
.kv td:first-child{color:#999;width:90px}
.help{padding-left:20px;line-height:2.1;color:#555}
.help code{background:#FFF1E6;color:#F2670C;padding:2px 8px;border-radius:6px}
.quick{display:flex;justify-content:space-between;align-items:center;background:#fff;border-radius:12px;padding:18px 22px;box-shadow:0 4px 20px rgba(0,0,0,.06);color:#333}
.quick:hover{box-shadow:0 6px 24px rgba(242,103,12,.18)}
.quick b{font-size:15px}
.quick span{color:#999;font-size:12px}

/* 二维码 */
.qrgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:18px}
.qrcard{border:1px solid #f0e6da;border-radius:10px;padding:14px;display:flex;flex-direction:column;gap:10px}
.qrcard.add{border-style:dashed}
.qrimg{height:150px;background:#f7f7f7;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#bbb;overflow:hidden}
.qrimg img{max-width:100%;max-height:100%}
.qrrow{display:flex;align-items:center;gap:10px;font-size:13px;color:#888}
.qrrow .sort{width:56px}
.qrrow .del{color:#C62828;margin-left:auto}

/* 模板 */
.moderow{display:flex;gap:16px;margin-bottom:22px}
.mode{flex:1;display:flex;align-items:center;gap:10px;border:2px solid #eee;border-radius:10px;padding:14px 18px;cursor:pointer}
.mode:has(input:checked){border-color:#F97316;background:#FFFCF7}
.mode span{color:#999;font-size:12px}
.modeform .moderow{margin-bottom:0}
.modeform{margin-bottom:20px}
.tplgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px}
.tpl{display:flex;flex-direction:column;gap:8px;border:2px solid #eee;border-radius:12px;padding:12px;cursor:pointer;position:relative}
.tpl:hover{border-color:#f3b98f}
.tpl.on{border-color:#F97316;box-shadow:0 4px 16px rgba(242,103,12,.15)}
.swatch{height:56px;border-radius:8px;display:flex;align-items:center;justify-content:center;gap:8px}
.swatch i{width:22px;height:22px;border-radius:6px;border:1px solid rgba(255,255,255,.6)}
.tpl b{font-size:14px}
.meta{font-size:12px;color:#999}
.meta em{color:#16A34A;font-style:normal;margin-left:8px;font-weight:700}
.acts{display:flex;gap:6px;flex-wrap:wrap;margin-top:2px}
.acts form{display:inline;margin:0}
.acts button,.acts a{border:1px solid #e8e2d8;background:#fff;border-radius:6px;padding:4px 10px;font-size:12px;color:#666;cursor:pointer;text-decoration:none}
.acts button:hover,.acts a:hover{border-color:#F97316;color:#F2670C}
.acts button{font-family:inherit}
.edbar{margin-top:20px}
.edbar .btn{margin-top:0}

/* 自定义图标上传 */
.iconcell{display:flex;align-items:center;gap:8px}
.iconcell input[type=file]{max-width:170px;font-size:12px}
.iconprev{width:34px;height:34px;border-radius:8px;object-fit:cover;border:1px solid #eee;background:#fafafa;flex-shrink:0}
.iconprev.empty{display:inline-flex;align-items:center;justify-content:center;color:#bbb;font-size:11px}
.iconprev.sm{width:26px;height:26px;border-radius:6px}
.delico{color:#999;font-size:12px;white-space:nowrap;display:flex;align-items:center;gap:4px}

/* 模板编辑器 */
.edbase .vrow{margin-bottom:10px}
.vrow{display:flex;align-items:center;gap:8px;font-size:13px;color:#666}
.vrow .lbl{width:82px;flex-shrink:0}
.vrow .sep{color:#aaa;font-style:normal}
.vrow input.mid{max-width:90px}
.vrow input[type=color]{width:36px;height:28px;padding:2px;border:1px solid #e3e3e3;border-radius:6px;background:#fff;cursor:pointer;flex-shrink:0}
.vrow .vhex{width:86px;flex-shrink:0}
.vrow input[type=range]{flex:1;max-width:260px}
.ghead{font-size:13px;color:#F2670C;margin:18px 0 10px;border-top:1px dashed #f0e6da;padding-top:14px}
.vargroups{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:8px 26px}
.vgroup h4{font-size:13px;color:#999;font-weight:600;margin:0 0 8px}
.vgroup .vrow{margin-bottom:6px}
.bgrow{display:flex;align-items:flex-start;gap:14px}
.bgthumb{width:160px;height:90px;object-fit:cover;border-radius:8px;border:1px solid #eee;background:#f7f7f7}
.bgops{display:flex;flex-direction:column;gap:8px;flex:1}
.bgops input[type=file]{font-size:13px}
.delbg{color:#C62828;font-size:13px;display:flex;align-items:center;gap:6px}
.edbtns{display:flex;gap:12px;align-items:center;margin-top:20px}
.btn.gray{background:#eee;color:#666}

/* 模板页电视框预览 */
.tvzone{display:flex;flex-direction:column;align-items:center;margin-bottom:26px}
.tv{width:min(880px,100%);background:linear-gradient(180deg,#232323,#0e0e0e);border-radius:16px;padding:12px 12px 14px;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.tv-screen{position:relative;width:100%;aspect-ratio:16/9;background:#000;overflow:hidden;border-radius:6px}
#tvStage{position:absolute;width:1920px;height:1080px;transform-origin:0 0}
.tv-stand{display:flex;justify-content:center;gap:80px;margin-top:-2px;height:44px}
.tv-stand i{width:26px;height:44px;background:linear-gradient(180deg,#1c1c1c,#050505);border-radius:0 0 4px 4px}
.tv-stand i:first-child{transform:skewX(14deg)}
.tv-stand i:last-child{transform:skewX(-14deg)}
.tv-shadow{width:min(620px,72%);height:16px;border-radius:50%;background:radial-gradient(ellipse,rgba(0,0,0,.22),transparent 70%);margin-top:4px}
.tvcap{margin-top:12px;font-size:13px;color:#888}
.tvcap b{color:#F2670C}

/* 登录页 */
.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh}
.login-box{background:#fff;border-radius:14px;box-shadow:0 6px 30px rgba(0,0,0,.08);padding:38px 42px;width:400px}
.login-box h1{color:#F2670C;font-size:22px;text-align:center}
.login-box .sub{text-align:center;color:#999;font-size:13px;margin:6px 0 22px}
.login-box label{display:block;color:#666;font-size:13px;margin:14px 0 6px}
.login-box button{margin-top:24px;width:100%;padding:12px;border:0;border-radius:8px;background:linear-gradient(90deg,#FF9435,#F2670C);color:#fff;font-size:15px;cursor:pointer}

.foot{text-align:center;color:#bbb;font-size:12px;padding:20px 0 36px}

/* 行内即时删除按钮 */
.rowdel{display:inline-block;padding:4px 12px;border:1px solid #F3C1B0;border-radius:6px;background:#FFF6F2;color:#D9480F;font-size:13px;cursor:pointer;line-height:1.4}
.rowdel:hover{background:#F2670C;border-color:#F2670C;color:#fff}
.tbl .rowdel{padding:2px 10px;font-size:12px}

/* 上传失败提示 */
.uperr{color:#D9480F;background:#FFF1EB;border:1px solid #F3C1B0;border-radius:8px;padding:8px 14px}
