/* 十九山统一视觉(kami):羊皮纸 + 墨蓝 + 仓耳今楷,与 payroll-ai / pricing-ai 同源 */
@font-face{font-family:"TsangerJinKai02";src:url("https://cdn.jsdelivr.net/gh/tw93/Kami@main/assets/fonts/TsangerJinKai02-W04.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"TsangerJinKai02";src:url("https://cdn.jsdelivr.net/gh/tw93/Kami@main/assets/fonts/TsangerJinKai02-W05.ttf") format("truetype");font-weight:500;font-style:normal;font-display:swap}

:root{
  --bg:#f5f4ed; --card:#faf9f5; --ink:#141413; --muted:#6b6a64; --olive:#504e49;
  --brand:#1B365D; --brand-hover:#27496e; --green:#2f5d3a; --red:#8c3a3a;
  --line:#e8e6dc; --line-soft:#e5e3d8; --chip:#E4ECF5;
  --serif:"TsangerJinKai02","Source Han Serif SC","Noto Serif CJK SC","Songti SC","STSong",Georgia,serif;
}
*{box-sizing:border-box; -webkit-tap-highlight-color:transparent}
body{margin:0; background:var(--bg); color:var(--ink);
  font:16px/1.65 var(--serif); letter-spacing:.3px;
  min-height:100vh; display:flex; flex-direction:column}
main{max-width:560px; width:100%; margin:0 auto; padding:12px; flex:1 0 auto}

.site-footer{flex-shrink:0; text-align:center; padding:20px 12px;
  padding-bottom:calc(20px + env(safe-area-inset-bottom))}
.site-footer a{color:var(--muted); font-size:12.5px; text-decoration:none; letter-spacing:.5px}
.site-footer a:hover{color:var(--brand); text-decoration:underline}

.top{position:sticky; top:0; z-index:9; background:var(--card); border-bottom:1px solid var(--line);
  display:flex; align-items:center; justify-content:space-between; gap:6px; padding:10px 10px;
  padding-top:calc(10px + env(safe-area-inset-top))}
.top nav{display:flex; gap:6px; align-items:center}
.brand{font-weight:500; color:var(--brand); text-decoration:none; font-size:16px; letter-spacing:1px; white-space:nowrap}
.top .btn.small{padding:6px 9px; font-size:13px; white-space:nowrap}
.who{color:var(--muted); text-decoration:none; font-size:13px; white-space:nowrap}

.card{background:var(--card); border:1px solid var(--line); border-radius:6px;
  padding:16px; margin:10px 0; display:block; color:inherit; text-decoration:none}
.card h1{font-size:20px; font-weight:500; margin:6px 0 10px; letter-spacing:1px}
.card h2{font-size:17px; font-weight:500; margin:4px 0 10px}

.btn{display:block; width:100%; text-align:center; border:0; border-radius:4px;
  background:var(--brand); color:#faf9f5; text-decoration:none; cursor:pointer;
  font-family:var(--serif); font-size:16px; font-weight:500; letter-spacing:.5px;
  padding:13px 16px; margin:10px 0}
.btn:hover{background:var(--brand-hover); color:#fff}
.btn.green{background:var(--green)}
.btn.green:hover{background:#3a6e47}
.btn.danger{background:var(--red)}
.btn.ghost{background:transparent; color:var(--brand); border:1px solid var(--brand)}
.btn.ghost:hover{background:var(--chip); color:var(--brand)}
.btn.small{display:inline-block; width:auto; padding:7px 14px; font-size:14px; margin:0}
.btn.small.danger{background:transparent; color:var(--red); border:1px solid var(--red); margin-top:18px}
.btn.big{font-size:17px}
.btn.ok{background:var(--green)}

.tabs{display:flex; gap:6px; margin:4px 0 8px; overflow-x:auto}
.tabs a{flex:1; text-align:center; white-space:nowrap; padding:9px 12px; border-radius:4px;
  background:var(--card); color:var(--muted); text-decoration:none; font-size:15px; border:1px solid var(--line)}
.tabs a.on{background:var(--brand); color:#faf9f5; border-color:var(--brand); font-weight:500}
.tabs b{font-weight:500}

.task .row1{display:flex; align-items:center; gap:8px}
.task .row2{margin:6px 0 4px; font-weight:500}
.task .row3{display:flex; gap:14px; color:var(--muted); font-size:14px}
.task.s-published{opacity:.55}
.acct{font-size:15px}

.chip{font-size:12.5px; padding:2px 9px; border-radius:3px; background:var(--chip); color:var(--brand); white-space:nowrap}
.chip.st{margin-left:auto; background:#efece1; color:var(--olive)}
.s-open .chip.st{background:#f3ead8; color:#8a6d3b}
.s-claimed .chip.st{background:var(--chip); color:var(--brand)}
.s-published .chip.st{background:#e3eade; color:var(--green)}
.p-抖音{background:var(--ink); color:#faf9f5}
.p-小红书{background:#f0dcd8; color:var(--red)}
.p-视频号{background:#efe7d2; color:#7a5d22}

.tt{font-size:19px; font-weight:500; margin:8px 0 2px}
.muted{color:var(--muted); font-size:14px}
.center{text-align:center}
.empty{text-align:center; color:var(--muted); margin:48px 0}
.done{text-align:center; color:var(--green); font-weight:500; margin:14px 0}
.flash{background:#e9efe6; border:1px solid #c9d8c5; color:var(--green); border-radius:4px;
  padding:10px 14px; margin:10px 0; font-size:15px}
.flash.err{background:#f0dcd8; border-color:#e0c4be; color:var(--red)}

.copyblock{border-top:1px solid var(--line-soft); padding:10px 0}
.copyblock:first-child{border-top:0}
.cb-head{display:flex; justify-content:space-between; align-items:center; font-weight:500; font-size:15px}
.copyblock pre{white-space:pre-wrap; word-break:break-all; background:#f1efe6; border-radius:4px;
  padding:10px; margin:8px 0 0; font:14.5px/1.65 var(--serif); min-height:20px}

.stack label{display:block; margin:12px 0; font-size:14.5px; color:var(--olive); font-weight:500}
input,select,textarea{width:100%; margin-top:5px; padding:11px 12px; font-size:16px;
  border:1px solid var(--line); border-radius:4px; background:#fffefa; color:var(--ink);
  font-family:var(--serif)}
input:focus,select:focus,textarea:focus{outline:0; border-color:var(--brand)}

.login{margin-top:14vh; text-align:center; border:0; background:transparent}
.login h1{color:var(--brand); font-size:24px; letter-spacing:6px; text-indent:6px}
.login form{margin-top:14px}
.login select,.login input{margin-bottom:10px; text-align:center}

.checks{display:flex; gap:16px; margin-top:6px}
.check{display:inline-flex; align-items:center; gap:6px; font-weight:400}
.check input{width:auto; margin:0}

.tablewrap{overflow-x:auto; margin:8px 0}
table{border-collapse:collapse; width:100%; font-size:14px; white-space:nowrap}
th,td{border-bottom:1px solid var(--line); padding:7px 10px; text-align:left}
th{color:var(--muted); font-weight:500}

.member-row{display:grid; grid-template-columns:72px 1fr; gap:8px; align-items:center;
  border-top:1px solid var(--line-soft); padding:12px 0}
.member-row:first-of-type{border-top:0}
.member-row b{grid-column:1; font-size:15px}
.member-row input,.member-row select{margin:0; padding:8px 10px; font-size:14px; grid-column:2}
.member-row .btn{grid-column:2; justify-self:end}
.member-row.inactive{opacity:.5}
