/* 青禾课堂 — 编辑排版：报纸式刊头 + 细线分隔，拒绝 AI 模板味
   配色：暖纸底 #faf7f0，深绿主色 #1e4d3b，暖橙只标重要 #c2410c，墨色文字 #1c1917 */
:root{
  --paper:#faf7f0; --paper2:#fffdf8; --ink:#1c1917; --ink2:#57534e; --line:#d6d3d1;
  --green:#1e4d3b; --green2:#2d6a4f; --orange:#c2410c; --red:#b91c1c;
  --radius:4px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);
  font-family:"Noto Sans SC","PingFang SC","Microsoft YaHei",system-ui,sans-serif;
  font-size:16px;line-height:1.65}
h1,h2,h3,.serif{font-family:"Noto Serif SC","Songti SC",serif;letter-spacing:.01em}
a{color:var(--green);text-decoration:none}
a:hover{text-decoration:underline}
button,input,select,textarea{font:inherit;color:inherit}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}
.masthead{border-bottom:3px double var(--ink);padding:18px 0 12px}
.masthead .brand{font-size:34px;font-weight:700;line-height:1.1}
.masthead .brand small{display:block;font-family:"Noto Sans SC",sans-serif;font-size:13px;color:var(--ink2);letter-spacing:.08em;margin-top:4px}
.masthead nav{display:flex;gap:22px;flex-wrap:wrap;margin-top:12px;font-size:15px}
.masthead nav a{color:var(--ink)}
.btn{display:inline-block;background:var(--green);color:#fff;border:1px solid var(--green);
  padding:10px 18px;border-radius:var(--radius);cursor:pointer;font-size:15px}
.btn:hover{background:var(--green2)}
.btn.ghost{background:transparent;color:var(--green);border-color:var(--green)}
.btn.warn{background:var(--orange);border-color:var(--orange)}
.btn:disabled{opacity:.45;cursor:not-allowed}
.btn.sm{padding:6px 12px;font-size:14px}
.section{padding:44px 0;border-bottom:1px solid var(--line)}
.section h2{font-size:26px;margin:0 0 8px}
.section .lede{color:var(--ink2);max-width:68ch;margin:0 0 20px}
.hero{display:grid;grid-template-columns:1.05fr .95fr;gap:36px;align-items:start;padding:36px 0 44px}
.hero h1{font-size:42px;line-height:1.25;margin:0 0 14px}
.hero p{color:var(--ink2);max-width:56ch}
.screen{border:1px solid var(--ink);background:#111827;color:#fff;padding:28px 24px;min-height:260px}
.screen .sig{font-size:13px;opacity:.75;margin-bottom:10px}
.screen .big{font-size:30px;line-height:1.4;font-family:"Noto Serif SC",serif}
.screen .meta{font-size:13px;opacity:.75;margin-top:16px;border-top:1px solid #374151;padding-top:10px}
.screen.idle{color:#d6d3d1}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:0}
.cell{padding:20px 22px;border-left:1px solid var(--line)}
.cell:first-child{border-left:none;padding-left:0}
.cell h3{font-size:19px;margin:0 0 6px}
.cell p{color:var(--ink2);font-size:15px;margin:0}
.table{width:100%;border-collapse:collapse}
.table th,.table td{border-bottom:1px solid var(--line);padding:12px 10px;text-align:left;vertical-align:top;font-size:15px}
.table th{background:var(--paper2)}
.price-table td.hl,.price-table th.hl{background:#eef4ef}
.faq{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line);padding:14px 0}
.faq summary{cursor:pointer;font-weight:600}
footer{padding:28px 0;color:var(--ink2);font-size:14px;border-top:3px double var(--ink)}
/* 工作台 */
.app{display:grid;grid-template-columns:220px 1fr;min-height:100vh}
.side{border-right:1px solid var(--line);padding:18px 16px;background:var(--paper2)}
.side .brand{font-size:22px}
.side nav{display:flex;flex-direction:column;gap:2px;margin-top:18px}
.side nav button{text-align:left;background:none;border:none;border-bottom:1px solid transparent;
  padding:10px 8px;cursor:pointer;font-size:15px;border-radius:var(--radius)}
.side nav button.on{border-bottom:2px solid var(--green);font-weight:700;color:var(--green)}
.main{padding:22px 28px}
.panel{border:1px solid var(--line);background:var(--paper2);padding:18px;margin-bottom:18px}
.panel h3{margin:0 0 12px;font-size:19px}
label{display:block;font-size:14px;font-weight:600;margin:12px 0 4px}
input[type=text],input[type=password],input[type=time],input[type=date],select,textarea{
  width:100%;border:1px solid var(--line);background:#fff;padding:9px 10px;border-radius:var(--radius)}
textarea{resize:vertical;min-height:90px}
.row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.row3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}
.listrow{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);align-items:start}
.listrow:last-child{border-bottom:none}
.muted{color:var(--ink2);font-size:14px}
.tag{display:inline-block;font-size:13px;border:1px solid var(--line);padding:2px 8px;border-radius:var(--radius);background:#fff}
.tag.imp{border-color:var(--orange);color:var(--orange)}
.tabs{display:flex;gap:0;border-bottom:1px solid var(--line);margin-bottom:14px}
.tabs button{background:none;border:none;border-bottom:2px solid transparent;padding:8px 14px;cursor:pointer;font-size:15px}
.tabs button.on{border-bottom-color:var(--green);color:var(--green);font-weight:700}
.chip{display:inline-block;border:1px solid var(--line);background:#fff;padding:6px 10px;margin:0 6px 6px 0;cursor:pointer;border-radius:var(--radius);font-size:14px}
.chip:hover{border-color:var(--green)}
.statbar{display:flex;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:14px 0}
.statbar div{flex:1;padding:12px 16px;border-left:1px solid var(--line)}
.statbar div:first-child{border-left:none}
.statbar b{font-size:22px;display:block}
.toast{position:fixed;right:18px;bottom:18px;background:var(--ink);color:#fff;padding:12px 16px;border-radius:var(--radius);max-width:340px}
@media(max-width:820px){
  .hero{grid-template-columns:1fr}
  .grid3{grid-template-columns:1fr}
  .cell{border-left:none;border-top:1px solid var(--line);padding-left:0}
  .app{grid-template-columns:1fr}
  .side{border-right:none;border-bottom:1px solid var(--line)}
  .row,.row3{grid-template-columns:1fr}
  .hero h1{font-size:32px}
  .masthead .brand{font-size:28px}
}
