/* =========================================================
   智策工坊 · 后台管理面板样式
   ========================================================= */
:root{--navy:#0a1424;--navy2:#0e1c31;--card:#111f35;--line:rgba(255,255,255,.09);--gold:#c9a24b;--gold-l:#f0d68e;--txt:#e6ecf5;--sub:#8fa3c2;}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{background:var(--navy);color:var(--txt);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;font-size:14px;}
button{font-family:inherit;cursor:pointer;}
a{color:var(--gold-l);text-decoration:none;}
code{background:rgba(0,0,0,.4);padding:2px 6px;border-radius:5px;font-size:13px;color:var(--gold-l);}
[hidden]{display:none !important;}

.f-label{display:block;color:var(--sub);font-size:12.5px;margin:14px 0 6px;}
.f-input{width:100%;box-sizing:border-box;background:rgba(255,255,255,.05);border:1px solid var(--line);color:var(--txt);border-radius:9px;padding:10px 12px;font-size:13.5px;outline:none;transition:border .2s,background .2s;}
.f-input:focus{border-color:var(--gold);background:rgba(201,162,75,.06);}

.btn{border:none;border-radius:10px;font-size:14px;font-weight:600;padding:10px 18px;transition:.2s;display:inline-flex;align-items:center;justify-content:center;gap:6px;}
.btn-gold{background:linear-gradient(135deg,#1c3356,#101f38);color:var(--gold-l);border:1px solid rgba(201,162,75,.45);box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 4px 14px rgba(0,0,0,.3);}
.btn-gold:hover{box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 0 18px rgba(201,162,75,.35);transform:translateY(-1px);}
.btn-block{width:100%;}
.btn-sm{padding:6px 12px;font-size:12.5px;border-radius:8px;}

/* ---------- 登录 ---------- */
.login{min-height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(1200px 600px at 50% -10%,rgba(201,162,75,.18),transparent 60%),var(--navy);padding:24px;}
.login-card{width:360px;max-width:94%;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:34px 30px;box-shadow:0 20px 60px rgba(0,0,0,.4);}
.login-logo{font-size:26px;font-weight:800;letter-spacing:1px;text-align:center;background:linear-gradient(120deg,#f2e6c4,#e6ecf5);-webkit-background-clip:text;background-clip:text;color:transparent;}
.login-logo span{color:var(--gold-l);}
.login-sub{text-align:center;color:var(--sub);font-size:13px;margin:6px 0 20px;}
.login-msg{min-height:20px;color:#e8635c;font-size:12.5px;margin:10px 0 4px;text-align:center;}
.login-tip{margin-top:16px;text-align:center;color:var(--sub);font-size:12.5px;}

/* ---------- 主框架 ---------- */
.admin{min-height:100vh;display:flex;flex-direction:column;}
.admin-top{display:flex;align-items:center;justify-content:space-between;padding:14px 26px;background:var(--navy2);border-bottom:1px solid var(--line);}
.at-brand{font-size:17px;font-weight:800;}
.at-brand span{color:var(--gold-l);}
.at-actions{display:flex;gap:16px;align-items:center;}
.at-link{color:var(--sub);font-size:13.5px;background:none;border:none;padding:0;transition:color .2s;}
.at-link:hover{color:var(--gold-l);}

.admin-body{flex:1;display:flex;}
.admin-nav{width:200px;flex:none;padding:20px 14px;border-right:1px solid var(--line);}
.an-item{display:block;width:100%;text-align:left;background:none;border:none;color:var(--sub);font-size:14.5px;padding:11px 16px;border-radius:10px;margin-bottom:6px;transition:.2s;}
.an-item:hover{background:rgba(255,255,255,.05);color:var(--txt);}
.an-item.active{background:rgba(201,162,75,.12);color:var(--gold-l);font-weight:600;}

.admin-main{flex:1;min-width:0;padding:26px 30px;}

/* ---------- 文档管理 ---------- */
.docs-admin{display:flex;gap:22px;align-items:flex-start;height:calc(100vh - 130px);}
.da-tree{width:300px;flex:none;background:var(--card);border:1px solid var(--line);border-radius:14px;display:flex;flex-direction:column;height:100%;overflow:hidden;}
.da-tree-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--line);font-weight:600;font-size:14.5px;}
.da-tree-body{flex:1;overflow-y:auto;padding:12px;}
.da-empty{color:var(--sub);font-size:13px;text-align:center;padding:30px 0;}
.sec-block{margin-bottom:8px;}
.sec-head{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:8px;cursor:pointer;}
.sec-head:hover{background:rgba(255,255,255,.05);}
.sec-head .arr{transition:transform .25s;font-size:10px;color:var(--sub);}
.sec-block.open .sec-head .arr{transform:rotate(90deg);}
.sec-title{flex:1;font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.sec-ops{display:flex;gap:4px;opacity:0;transition:.2s;}
.sec-block:hover .sec-ops{opacity:1;}
.mini{background:none;border:1px solid var(--line);color:var(--sub);font-size:11px;border-radius:6px;padding:2px 7px;}
.mini:hover{color:var(--gold-l);border-color:var(--gold);}
.sec-docs{list-style:none;margin:2px 0 0;padding:0 0 0 12px;max-height:0;overflow:hidden;transition:max-height .3s;}
.sec-block.open .sec-docs{max-height:800px;}
.doc-row{display:flex;align-items:center;gap:6px;padding:6px 8px 6px 12px;border-radius:7px;cursor:pointer;font-size:13.5px;color:var(--sub);}
.doc-row:hover{background:rgba(255,255,255,.05);color:var(--txt);}
.doc-row.active{background:rgba(201,162,75,.12);color:var(--gold-l);}
.doc-t{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.doc-ops{display:flex;gap:4px;opacity:0;transition:.2s;}
.doc-row:hover .doc-ops{opacity:1;}
.add-doc{display:flex;align-items:center;gap:6px;margin-top:4px;padding:6px 8px 6px 12px;font-size:13px;color:var(--gold-l);cursor:pointer;border-radius:7px;}
.add-doc:hover{background:rgba(201,162,75,.1);}

.da-editor{flex:1;min-width:0;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px;height:100%;overflow-y:auto;display:flex;flex-direction:column;}
.da-editor-empty{color:var(--sub);text-align:center;margin:auto;font-size:14px;}
.da-ed-head{display:flex;gap:12px;align-items:center;margin-bottom:14px;}
.da-ed-head .f-input{flex:1;}
.da-ed-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;flex:1;min-height:0;}
.da-md{width:100%;height:100%;min-height:300px;box-sizing:border-box;background:#0c1626;border:1px solid var(--line);color:var(--txt);border-radius:10px;padding:14px;font-family:Consolas,Monaco,monospace;font-size:13.5px;line-height:1.7;resize:none;outline:none;}
.da-md:focus{border-color:var(--gold);}
.da-preview{background:#0c1626;border:1px solid var(--line);border-radius:10px;overflow:hidden;display:flex;flex-direction:column;min-height:300px;}
.da-pv-label{padding:10px 14px;border-bottom:1px solid var(--line);color:var(--sub);font-size:12.5px;}
.da-pv-body{flex:1;overflow-y:auto;padding:14px 18px;}
.da-pv-body .md-h{color:var(--txt);}
.da-pv-body .md-h1{font-size:22px;border-bottom:1px solid var(--line);padding-bottom:8px;}
.da-pv-body .md-h2{font-size:18px;}
.da-pv-body .md-h3{font-size:15px;}
.da-pv-body p{color:#c3cede;line-height:1.8;margin:0 0 10px;}
.da-pv-body ul,.da-pv-body ol{margin:0 0 10px;padding-left:22px;color:#c3cede;line-height:1.7;}
.da-pv-body .md-pre{background:#0e1c31;border:1px solid var(--line);border-radius:8px;padding:12px;overflow-x:auto;margin:0 0 12px;}
.da-pv-body .md-pre code{background:none;color:#d8e0ec;font-size:12.5px;}
.da-pv-body .md-ic{background:rgba(201,162,75,.13);color:var(--gold-l);padding:2px 6px;border-radius:5px;}
.da-pv-body .md-quote{border-left:3px solid var(--gold);background:rgba(201,162,75,.08);padding:10px 14px;border-radius:0 8px 8px 0;color:#cdd6e4;margin:0 0 12px;}
.da-pv-body table{border-collapse:collapse;width:100%;font-size:13px;margin:0 0 12px;color:#c3cede;}
.da-pv-body th{background:rgba(255,255,255,.04);color:var(--txt);padding:7px 10px;border:1px solid var(--line);}
.da-pv-body td{padding:7px 10px;border:1px solid var(--line);}
.da-ed-meta{color:var(--sub);font-size:12px;margin-top:12px;}

/* ---------- 站点设置 ---------- */
.settings h3{font-size:22px;margin:0 0 6px;}
.set-sub{color:var(--sub);margin:0 0 20px;font-size:13.5px;line-height:1.7;}
.set-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start;max-width:1060px;}
.set-card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:20px 22px;}
.set-card h4{font-size:15px;margin:0 0 4px;}
.set-tip{color:var(--sub);font-size:12.5px;margin:6px 0 4px;line-height:1.6;}
.img-field{margin-bottom:8px;}
.img-preview{margin-top:8px;max-height:110px;overflow:hidden;border-radius:8px;border:1px dashed var(--line);display:flex;align-items:center;justify-content:center;min-height:48px;color:var(--sub);font-size:12px;}
.img-preview img{max-width:100%;max-height:110px;object-fit:contain;display:block;}
.save-msg{min-height:20px;margin-top:12px;color:#5ed68a;font-size:13px;}
.save-msg.err{color:#e8635c;}

/* toast */
.toast{position:fixed;left:50%;bottom:34px;transform:translateX(-50%) translateY(20px);background:#111f35;border:1px solid var(--gold);color:var(--gold-l);padding:11px 22px;border-radius:10px;font-size:13.5px;opacity:0;pointer-events:none;transition:.3s;box-shadow:0 10px 30px rgba(0,0,0,.4);}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0);}

/* 响应式 */
@media (max-width:900px){
  .docs-admin{flex-direction:column;height:auto;}
  .da-tree{width:100%;height:auto;max-height:360px;}
  .da-editor{height:auto;min-height:420px;}
  .da-ed-grid{grid-template-columns:1fr;}
  .set-grid{grid-template-columns:1fr;}
  .admin-body{flex-direction:column;}
  .admin-nav{width:100%;display:flex;gap:8px;border-right:none;border-bottom:1px solid var(--line);}
  .an-item{margin-bottom:0;}
}
