/* Monastasia 进展看板：单栏、手机优先 */
:root{
  --bg:#f3f2f5;--surface:#fff;--fg:#1e1a23;--muted:#6c6577;--line:#e2dee8;
  --accent:#7b1e3f;--accent-soft:#f3e4ea;--on-accent:#fff;
  --c-decide:#7b1e3f;--c-stalled:#b9471b;--c-waiting:#9a6a06;--c-active:#2d7a4c;--c-done:#8a8494;--c-info:#4c6382;
  --display:"Songti SC","Noto Serif SC","Source Han Serif SC",serif;
  --body:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Noto Sans SC","Microsoft YaHei",sans-serif;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){:root{
  --bg:#131116;--surface:#1c1920;--fg:#ece8f1;--muted:#a39cad;--line:#2f2a35;
  --accent:#e0809f;--accent-soft:#3a2230;--on-accent:#1c1920;
  --c-decide:#e0809f;--c-stalled:#ee8a5c;--c-waiting:#e0b44f;--c-active:#6cc792;--c-done:#8f889a;--c-info:#8fa8cc;color-scheme:dark}}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--body);font-size:15px;line-height:1.55;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
a{color:var(--accent)}
[hidden]{display:none!important}
.wrap{max-width:760px;margin:0 auto;padding-inline:16px;padding-block:20px 48px;display:flex;flex-direction:column;gap:20px}
.top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}
.top>div{min-width:0}
.eyebrow{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
h1{font-family:var(--display);font-size:26px;line-height:1.25;margin:2px 0;text-wrap:balance}
h2{font-family:var(--display);font-size:18px;margin:0}
.sub,.muted{color:var(--muted)}
.small{font-size:12.5px}
.menu{display:flex;gap:12px;align-items:center;font-size:14px}
.menu form{margin:0}
.linkbtn{background:none;border:0;padding:0;font:inherit;color:var(--accent);cursor:pointer}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:var(--surface);color:var(--fg);border-radius:999px;padding:6px 12px;font:inherit;font-size:13px;cursor:pointer;font-variant-numeric:tabular-nums}
.chip b{font-weight:700}
.chip[aria-pressed="true"]{border-color:var(--fg);box-shadow:inset 0 0 0 1px var(--fg)}
.chip:focus-visible,.row:focus-visible,.tab:focus-visible,.btn:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.dot{width:8px;height:8px;border-radius:50%;flex:none;background:var(--c)}
.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);overflow-x:auto}
.main-tabs .tab{font-size:15px}
.tab{background:none;border:0;font:inherit;color:var(--muted);padding:8px 12px;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}
.tab[aria-selected="true"]{color:var(--fg);border-color:var(--accent);font-weight:600}
.page{display:flex;flex-direction:column;gap:16px}
.search,input,select{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--fg);font:inherit}
.you{background:var(--accent-soft);border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;gap:8px}
.you h2{color:var(--accent);font-size:17px}
.you ol{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:4px}
.you a{color:inherit}
.groups{display:flex;flex-direction:column;gap:22px}
section.group{display:flex;flex-direction:column;gap:8px}
.ghead{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.ghead span{color:var(--muted);font-size:13px;font-variant-numeric:tabular-nums}
.list{background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.item+.item{border-top:1px solid var(--line)}
.row{display:grid;grid-template-columns:4px 1fr;gap:12px;width:100%;text-align:left;background:none;border:0;color:inherit;font:inherit;padding:14px 16px 14px 12px;cursor:pointer}
.stripe{background:var(--c);border-radius:2px}
.main{min-width:0;display:flex;flex-direction:column;gap:5px}
.toprow{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.t{font-weight:600;font-size:15px;line-height:1.4}
.pill{flex:none;font-size:12px;color:var(--c);border:1px solid var(--c);border-radius:999px;padding:1px 8px;white-space:nowrap}
.meta{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:12.5px;color:var(--muted);font-variant-numeric:tabular-nums}
.meta .late{color:var(--c-stalled);font-weight:600}
.tag{color:var(--accent);font-weight:600}
.p{font-size:14px}
.nx{font-size:13.5px;color:var(--muted)}
.nx b{color:var(--fg);font-weight:600}
.detail{padding:0 16px 16px 28px;display:flex;flex-direction:column;gap:12px}
.blk{display:flex;flex-direction:column;gap:6px}
.bh{font-size:12px;letter-spacing:.06em;color:var(--muted)}
.keys{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:4px;font-size:13.5px;font-variant-numeric:tabular-nums}
.atts{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.atts a.open{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 12px;border:1px solid var(--line);border-radius:10px;color:var(--fg);text-decoration:none;font-size:13.5px}
.atts a.open span{flex:none;color:var(--accent);font-weight:600;font-size:13px}
.atts .lock{padding:9px 12px;border:1px dashed var(--line);border-radius:10px;font-size:13.5px;display:flex;flex-direction:column;gap:2px}
.atts .lock small{color:var(--muted);font-size:12px}
.tl{list-style:none;margin:0;padding:0 0 0 14px;border-left:2px solid var(--line);display:flex;flex-direction:column;gap:10px}
.tl li{font-size:13.5px}
.when{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}
.empty{padding:16px;color:var(--muted);font-size:14px}
.foot{font-size:12px;color:var(--muted);border-top:1px solid var(--line);padding-top:12px}
/* 价格与采收 */
.alerts{display:flex;flex-direction:column;gap:8px}
.alert{border-left:4px solid var(--c);background:var(--surface);border-radius:8px;padding:10px 12px;font-size:14px}
.alert.warn{--c:var(--c-waiting)}.alert.bad{--c:var(--c-stalled)}.alert.good{--c:var(--c-active)}
.tablewrap{overflow-x:auto;background:var(--surface);border:1px solid var(--line);border-radius:14px}
table{border-collapse:collapse;width:100%;font-size:13.5px;font-variant-numeric:tabular-nums}
th,td{padding:8px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
th{font-size:12px;color:var(--muted);font-weight:600;white-space:nowrap}
td.num,th.num{text-align:right;white-space:nowrap}
tr:last-child td{border-bottom:0}
.kind{font-size:11.5px;border:1px solid var(--line);border-radius:999px;padding:0 6px;color:var(--muted);white-space:nowrap}
.kind.invoice{color:var(--c-stalled);border-color:var(--c-stalled)}
.totals{display:flex;flex-wrap:wrap;gap:8px 20px;font-size:14px}
.totals b{font-size:20px;font-family:var(--display);display:block}
/* 登录、安装、管理 */
body.auth{display:flex;justify-content:center;padding-inline:16px;padding-block:8vh 40px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:24px;max-width:420px;width:100%;display:flex;flex-direction:column;gap:10px}
.card form,.grid-form{display:flex;flex-direction:column;gap:8px}
label{font-size:13px;color:var(--muted)}
label.check{display:inline-flex;align-items:center;gap:6px;color:var(--fg);font-size:13.5px}
label.check input{width:auto}
.btn{display:inline-block;background:var(--accent);color:var(--on-accent);border:0;border-radius:10px;padding:10px 16px;font:inherit;font-weight:600;cursor:pointer;text-decoration:none;text-align:center;margin-top:6px}
.btn.small{padding:6px 12px;font-size:13px;align-self:flex-start}
.err{color:var(--c-stalled);font-weight:600;margin:0}
.ok{color:var(--c-active);font-weight:600;margin:0}
pre.token{white-space:pre-wrap;word-break:break-all;background:var(--bg);padding:10px;border-radius:8px;font-size:12.5px}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:12px}
fieldset{border:1px solid var(--line);border-radius:10px;padding:8px 12px}
legend{font-size:12.5px;color:var(--muted)}
.checks{display:flex;flex-wrap:wrap;gap:6px 14px}
.user-row{display:flex;flex-direction:column;gap:6px;padding-top:12px;border-top:1px solid var(--line)}
.user-row.inactive{opacity:.6}
.user-head{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline}
.log{margin:0;padding-left:18px;font-size:13px;display:flex;flex-direction:column;gap:3px}
@media (prefers-reduced-motion:no-preference){.detail{animation:in .18s ease-out}@keyframes in{from{opacity:.4;transform:translateY(-3px)}to{opacity:1;transform:none}}}

@media (max-width:600px){
  .tablewrap{background:none;border:0;overflow:visible}
  .tablewrap table,.tablewrap tbody,.tablewrap tr,.tablewrap td{display:block;width:100%}
  .tablewrap thead{display:none}
  .tablewrap tr{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:8px 12px;margin-bottom:8px}
  .tablewrap td{border:0;padding:3px 0;display:flex;justify-content:space-between;gap:12px;text-align:right}
  .tablewrap td::before{content:attr(data-l);color:var(--muted);font-size:12px;flex:none;text-align:left}
  .tablewrap td:first-child{display:block;text-align:left;font-weight:600;padding-bottom:6px;border-bottom:1px solid var(--line);margin-bottom:4px}
  .tablewrap td:first-child::before{content:none}
  .tablewrap td:first-child .muted{font-weight:400}
  .tablewrap td.num{text-align:right}
  .tablewrap td:empty{display:none}
}

/* 全局搜索 */
.gsearch{position:sticky;top:env(safe-area-inset-top,0px);z-index:5;background:var(--bg);padding-block:6px;display:flex;flex-direction:column;gap:8px}
.gsearch .search{font-size:16px}
.sr{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:10px 12px;display:flex;flex-direction:column;gap:12px;max-height:70vh;overflow-y:auto;box-shadow:0 8px 24px rgba(0,0,0,.08)}
.sr-head{display:flex;justify-content:space-between;font-size:12.5px;color:var(--muted)}
.sr-group{display:flex;flex-direction:column;gap:4px}
.sr-item{display:flex;flex-direction:column;gap:1px;text-align:left;background:none;border:0;border-radius:8px;padding:7px 8px;font:inherit;color:var(--fg);text-decoration:none;cursor:pointer;width:100%}
.sr-item:hover,.sr-item:focus-visible{background:var(--accent-soft);outline:none}
.sr-t{font-weight:600;font-size:14px}
.sr-s{font-size:12px;color:var(--muted)}
.sr-x{font-size:13px;color:var(--fg);opacity:.85}
mark{background:var(--accent-soft);color:var(--accent);border-radius:3px;padding:0 1px}
.item{scroll-margin-top:84px}

/* 年历 */
.lastyear{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;gap:8px}
.lastyear h2{font-size:16px}
.lastyear ul{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:4px;font-size:14px}
.lastyear .linkbtn{align-self:flex-start;font-size:13.5px}
.cyc{padding:12px 16px;display:flex;flex-direction:column;gap:4px}
.pill.imp3{--c:var(--c-decide)}.pill.imp2{--c:var(--c-waiting)}

/* v4：紧急程度分组、截止日期、每年必做 */
.you .ub{display:flex;flex-direction:column;gap:4px;padding-top:6px;border-top:1px solid color-mix(in srgb,var(--accent) 18%,transparent)}
.you .ub:first-of-type{border-top:0;padding-top:0}
.you .ubh{display:flex;align-items:center;gap:6px;font-weight:600;font-size:14px}
.you .ubh .dot{width:9px;height:9px;border-radius:50%;background:var(--c)}
.you li small{display:block;color:var(--muted);font-size:12.5px}
.late{color:var(--c-decide)!important;font-weight:600}
.due{display:block;font-size:12.5px;color:var(--muted);margin-top:2px}
.annualbox{border-left:4px solid var(--c-waiting)}
.annualbox li small{color:var(--muted)}
.cyc .ev{font-size:12.5px;color:var(--muted);margin-top:4px}
.group.annual .ghead h2{color:var(--accent)}

/* v5：分析与异常 */
.ins{border-left:4px solid var(--c)}
.ins .pill{color:var(--c);border-color:var(--c)}
.group .more{margin-top:6px;font-size:13.5px}
.tbl.lab td.flag{color:var(--c-decide);font-weight:700;background:color-mix(in srgb,var(--c-decide) 10%,transparent)}
.tbl.lab tr.bad td:first-child{box-shadow:inset 4px 0 0 var(--c-decide)}
.tbl.lab tr.warn td:first-child{box-shadow:inset 4px 0 0 var(--c-stalled)}
.tbl.lab th small,.tbl.lab td small{display:block;font-weight:400;color:var(--muted);font-size:11.5px}
.ins .p{white-space:pre-line}
.tbl.lab td:first-child{padding-left:10px}
.ins .idate{font-weight:600;color:var(--fg)}

/* v12：发票 */
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}
.tile{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:10px 12px}
.tile.warn{border-color:var(--c-stalled)}
.tile .tile-l{font-size:12.5px;color:var(--muted)}
.tile .tile-v{font-size:19px;font-weight:700;font-variant-numeric:tabular-nums;margin-top:2px}
.tile .tile-s{font-size:12px;color:var(--muted)}
.inv .amt{font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
.inv.in{border-left:4px solid var(--c-stalled)}
.inv.out{border-left:4px solid var(--c-active)}
.inv .pill.in{color:var(--c-stalled);border-color:var(--c-stalled)}
.inv .pill.out{color:var(--c-active);border-color:var(--c-active)}
.inv .due2{font-weight:600}
.inv .due2.soon{color:var(--c-stalled)}
.inv .due2.late{color:var(--c-decide)}
.inv .flag{color:var(--c-decide);font-weight:600}
.inv .terms{font-size:13px;background:color-mix(in srgb,var(--c-waiting) 12%,transparent);border-radius:8px;padding:6px 8px;margin-top:6px}
#invq{margin:4px 0}
.sub2{font-size:15px;margin:14px 0 6px}

/* v14：今日 */
.tdhead{display:flex;flex-direction:column;gap:8px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px 16px}
.tdhead h2{font-size:18px}
.tdhead .bar{height:8px;border-radius:4px;background:var(--line);overflow:hidden}
.tdhead .bar span{display:block;height:100%;background:var(--c-active)}
.td{border-left:4px solid var(--c-info)}
.td.p1{border-left-color:var(--c-decide)}
.td.p2{border-left-color:var(--c-stalled)}
.td.done{opacity:.6;border-left-color:var(--c-active)}
.td.done .t{text-decoration:line-through}
.td .kind{font-weight:600}
.donebtn{flex:none;font:inherit;font-size:13px;padding:5px 10px;border-radius:999px;border:1px solid var(--c-active);background:transparent;color:var(--c-active);cursor:pointer;white-space:nowrap}
.donebtn[aria-pressed=true]{background:var(--c-active);color:#fff}

/* v17：历史事项 */
.histwrap{display:flex;flex-direction:column;gap:10px;margin-top:6px}
.histbtn{align-self:flex-start;font-size:14px}
.yhead{width:100%;background:none;border:0;font:inherit;color:inherit;cursor:pointer;padding:0;text-align:left}
.sub3{font-size:13px;color:var(--muted);margin:10px 0 4px;font-weight:600}

/* v18：导航与整体美化 */
:root{--shadow:0 1px 2px rgba(30,26,35,.05),0 4px 14px rgba(30,26,35,.05);--radius:16px}
@media (prefers-color-scheme:dark){:root{--shadow:0 1px 2px rgba(0,0,0,.4)}}
body{background:radial-gradient(1200px 400px at 50% -200px,color-mix(in srgb,var(--accent) 9%,transparent),transparent) ,var(--bg);background-attachment:fixed}
.top{padding-top:4px}
h1{font-size:24px;letter-spacing:.01em}
.eyebrow{color:var(--accent);font-weight:600}
.nav{position:sticky;top:0;z-index:30;margin-inline:-16px;padding:6px 16px 8px;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px);display:flex;flex-direction:column;gap:8px}
.main-tabs{border-bottom:0;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:4px;gap:4px;box-shadow:var(--shadow);overflow:visible}
.main-tabs .tab{flex:1;text-align:center;border:0;margin:0;border-radius:10px;padding:9px 10px;font-size:15px;color:var(--muted);transition:background .15s,color .15s}
.main-tabs .tab[aria-selected="true"]{background:var(--accent);color:var(--on-accent);font-weight:600}
.morebtn .caret{font-size:11px;opacity:.8}
.morebtn[aria-expanded="true"] .caret{display:inline-block;transform:rotate(180deg)}
.morepanel{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:8px;box-shadow:var(--shadow)}
.mtile{display:grid;grid-template-columns:34px 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center;text-align:left;background:var(--bg);border:1px solid transparent;border-radius:12px;padding:10px 12px;font:inherit;color:var(--fg);cursor:pointer}
.mtile:hover,.mtile[aria-selected="true"]{border-color:var(--accent);background:var(--accent-soft)}
.mtile .mi{grid-row:1/3;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);font-size:17px;font-weight:700}
.mtile b{font-size:15px}
.mtile small{font-size:12px;color:var(--muted);line-height:1.3}
.subnav{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
.subnav::-webkit-scrollbar{display:none}
.subnav .chip{flex:none}
.subnav .chip[aria-pressed="true"]{background:var(--accent);color:var(--on-accent);border-color:var(--accent);box-shadow:none}
.list{border-radius:var(--radius);box-shadow:var(--shadow)}
.you,.lastyear,.tdhead,.tile{box-shadow:var(--shadow)}
.you{border:1px solid color-mix(in srgb,var(--accent) 22%,transparent)}
.ghead h2{font-size:17px}
.chip{transition:border-color .15s,background .15s}
.search{box-shadow:var(--shadow)}
.tdhead h2{font-family:var(--display)}
.tdhead .bar{height:10px}
.tdhead .bar span{background:linear-gradient(90deg,var(--c-active),color-mix(in srgb,var(--c-active) 70%,#fff))}
/* v8 流程、失误、应收 */
.pbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.sel{font:inherit;font-size:13px;border:1px solid var(--line);background:var(--surface);color:var(--fg);border-radius:999px;padding:6px 10px}
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}
.pcard{display:flex;flex-direction:column;gap:8px;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius,14px);padding:14px;font:inherit;color:var(--fg);cursor:pointer;box-shadow:var(--shadow)}
.pcard:hover{border-color:var(--accent)}
.pcard.hot{border-left:4px solid var(--c-decide)}
.pcard .ph{display:flex;align-items:center;gap:8px}.pcard .ph b{font-size:16px}
.pi{font-size:20px;line-height:1}
.pcard .pv{font-size:22px;font-weight:700;font-variant-numeric:tabular-nums}
.pcard .pv small{display:block;font-size:12px;font-weight:400;color:var(--muted)}
.pcard .pm{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:12.5px;color:var(--muted)}
.phead{display:flex;align-items:center;gap:10px}.phead h2{font-size:22px;margin:0}
.dl{border-left:4px solid var(--c)}
.prow{border-left:4px solid var(--c)}
.prow a.t{color:var(--fg);text-decoration:none;font-weight:600}.prow a.t:hover{text-decoration:underline}
.prow .nx{font-size:13px;margin-top:4px}
.psel{padding:2px 6px;font-size:12px;max-width:150px}
.tl12{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.tl12 li{display:grid;grid-template-columns:48px 1fr;gap:8px;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:8px 10px;font-size:13.5px}
.tl12 li.now{border-color:var(--accent)}
.tl12 li div{display:flex;flex-direction:column;gap:3px}
.tla{color:var(--fg)}.tld{color:var(--c);font-weight:600}
.bars{display:grid;grid-template-columns:repeat(12,1fr);gap:4px;align-items:end;height:110px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:10px 10px 4px}
.bar1{display:flex;flex-direction:column;justify-content:flex-end;align-items:center;height:100%}
.bar1 span{display:block;width:70%;background:var(--accent);border-radius:4px 4px 0 0;min-height:0}
.bar1 small{font-size:11px;color:var(--muted);margin-top:2px}
details.more2{margin-top:8px}details.more2 summary{cursor:pointer;color:var(--accent);font-size:14px;padding:6px 0}
.plain{margin:0;padding-left:18px;font-size:14px}
.ins.yes{color:var(--c-active);font-weight:600}.ins.no,.ins.over_limit{color:var(--c-decide);font-weight:600}.ins.unknown{color:var(--c-waiting);font-weight:600}
.okc{color:var(--c-active);font-weight:600}
.tgs{display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px;margin-top:8px;font-size:12px;color:var(--muted)}
.tgs .chip{padding:3px 9px;font-size:12px}.tgs span{margin-left:6px}
.toast{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);background:var(--fg);color:var(--bg);padding:10px 14px;border-radius:10px;font-size:14px;z-index:99;max-width:90vw;box-shadow:var(--shadow)}
.small{font-size:12.5px}
.pbar .sel{width:auto;flex:none}
/* v9 酿造 */
.phead .gowine{margin-left:auto;font-size:14px;color:var(--accent)}
.wdates{list-style:none;margin:0;padding:0;background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.wdates li{display:grid;grid-template-columns:52px 92px 1fr auto;gap:8px;align-items:start;padding:9px 12px;border-left:4px solid var(--c);font-size:14px}
.wdates li+li{border-top:1px solid var(--line)}
.wdates li.past{opacity:.6}
.wdates .wd{font-variant-numeric:tabular-nums;font-weight:600}
.wdates .wk{color:var(--c);font-size:12.5px;font-weight:600}
.wdates .wt small{display:block;color:var(--muted);font-size:12.5px}
.wdates li.nowline{display:block;border-left-color:var(--accent);background:var(--accent-soft);padding:4px 12px;font-size:12.5px;color:var(--accent);font-weight:700}
.wtypes{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:13.5px;margin-bottom:8px}
tr.warnrow td:first-child{box-shadow:inset 4px 0 0 var(--c-decide)}
tr.sumrow td{font-weight:700;border-top:2px solid var(--line)}
@media (max-width:600px){.wdates li{grid-template-columns:46px 1fr auto}.wdates .wk{grid-column:2}.wdates .wt{grid-column:1/-1}}
/* v10 新邮件简报 */
.brief{border-left:4px solid var(--c)}
.brief.done{opacity:.6}
.brief .terms.bad{background:color-mix(in srgb,var(--c-decide) 14%,transparent);color:var(--fg)}

/* v11 合同 */
details.item.ct > summary { list-style: none; cursor: pointer; }
details.item.ct > summary::-webkit-details-marker { display: none; }
details.item.ct[open] { padding-bottom: 8px; }
details.item.ct .tablewrap { margin: 8px 12px 0; }
tr.key td { font-weight: 600; }
h3.sub, h4.sub { margin: 14px 0 6px; font-size: 14px; }

/* v12 发票核对 */
.upbtn { display: block; width: 100%; margin: 0 0 12px; padding: 12px; border-radius: 10px; border: 1px dashed var(--c-active, #2e7d32); background: transparent; color: inherit; font-size: 15px; cursor: pointer; }
.upform .cyc { display: grid; gap: 8px; }
.upform input:not([type=file]), .upform select, .upform textarea, .ivact input, .shareurl { width: 100%; box-sizing: border-box; padding: 9px 10px; border-radius: 8px; border: 1px solid rgba(127,127,127,.35); background: transparent; color: inherit; font: inherit; }
.upform .row2 { display: grid; grid-template-columns: 1fr 120px; gap: 8px; }
.fbtn { display: block; text-align: center; padding: 14px; border-radius: 10px; border: 1px solid rgba(127,127,127,.35); cursor: pointer; font-weight: 600; }
.fbtn input { display: block; width: 100%; margin-top: 6px; font-size: 13px; }
button.item.ivrow { width: 100%; text-align: left; font: inherit; color: inherit; cursor: pointer; }
.ivd .chk { border-left: 3px solid var(--c); padding: 4px 8px; margin: 6px 0; }
.ivact { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin-top: 10px; }
.ivact input { flex: 1 1 180px; width: auto; }
.shareurl { margin-top: 8px; font-size: 12px; }
