:root{
  --forest:#205a40; --fern:#2d805b; --pine:#133425;
  --bone:#f5f0e4; --sand:#e7dbbf; --white:#fff;
  --g800:#193f2f; --g100:#e8f5ee; --g050:#f2f9f5;
  --s400:#dac79a; --s200:#efe6d2; --s50:#faf8f4;
  --ink:#133425; --ink2:#746c58; --disabled:#a79f8b;
  --amber:#b6832b; --amber-t:#fbf3e6; --brick:#ab4536; --brick-t:#f9ebe8;
  --sh-sm:0 1px 2px rgba(19,52,37,.05),0 4px 12px rgba(19,52,37,.06);
  --sh-lg:0 8px 24px rgba(19,52,37,.10),0 24px 48px rgba(19,52,37,.12);
  --ease:cubic-bezier(.22,.61,.36,1);
  color-scheme:light;
}
*{box-sizing:border-box}
body{margin:0;background:var(--s50);color:var(--ink);
  font-family:Lato,"Helvetica Neue",Arial,"PingFang SC","Microsoft YaHei",sans-serif;font-size:15px;line-height:1.62}
h1,h2,h3{font-family:Lato,"Helvetica Neue",Arial,"PingFang SC","Microsoft YaHei","Noto Sans SC",sans-serif;font-weight:700;line-height:1.22;letter-spacing:-.01em;margin:0}
.alice,.auth-card h1{font-family:Alice,"Songti SC",Georgia,serif;font-weight:400;letter-spacing:-.015em}
h1{font-size:31px}h2{font-size:25px}h3{font-size:20px}
p{margin:0}
a{color:var(--forest)}
.zh{font-size:13px;color:var(--ink2)}
.eyebrow{font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.14em;color:var(--fern)}
.num{font-variant-numeric:tabular-nums}
button{font-family:inherit;font-size:15px;cursor:pointer}
.btn{border-radius:999px;border:1px solid transparent;padding:9px 18px;transition:background .14s var(--ease),transform .08s var(--ease),border-color .14s var(--ease)}
.btn-fill{background:var(--forest);color:var(--bone);border-color:var(--forest)}
.btn-fill:hover{background:var(--g800);border-color:var(--g800)}
.btn-fill:active{transform:translateY(1px)}
.btn-quiet{background:transparent;color:var(--forest);border-color:var(--s400)}
.btn-quiet:hover{background:rgba(32,90,64,.08)}
.btn[disabled]{background:var(--s200);color:var(--disabled);border-color:var(--s200);cursor:not-allowed}
.btn-sm{padding:5px 13px;font-size:13px}
:focus-visible{outline:2px solid var(--fern);outline-offset:2px}

/* shell */
.shell{display:flex;min-height:100vh}
.side{width:240px;flex:0 0 240px;background:var(--forest);color:var(--bone);padding:24px 20px;display:flex;flex-direction:column;gap:28px;position:sticky;top:0;height:100vh;overflow-y:auto}
.brand{display:flex;align-items:center;gap:10px}
svg.logo{width:40px;height:40px;flex:0 0 40px;color:var(--bone)}
.wordmark{font-weight:900;letter-spacing:.18em;font-size:14px}
.side .product{font-size:11px;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;color:rgba(245,240,228,.62);margin-top:2px}
.steps{display:flex;flex-direction:column;gap:2px;list-style:none;padding:0;margin:0}
.step{display:flex;gap:12px;align-items:center;padding:9px 10px;border-radius:999px;color:rgba(245,240,228,.78);background:none;border:0;width:100%;text-align:left;font-size:15px;transition:background .14s var(--ease),color .14s var(--ease)}
.step:hover{background:rgba(245,240,228,.09);color:var(--bone)}
.step[aria-current="true"]{background:rgba(245,240,228,.14);color:var(--bone)}
.ring{width:24px;height:24px;flex:0 0 24px;border-radius:999px;border:1px solid rgba(245,240,228,.55);display:grid;place-items:center;font-size:12px;font-weight:700}
.step[aria-current="true"] .ring{border-color:var(--bone)}
.step .done{background:var(--bone);color:var(--forest);border-color:var(--bone)}
.side-foot{margin-top:auto;border-top:1px solid rgba(245,240,228,.22);padding-top:16px;font-size:13px;color:rgba(245,240,228,.8)}
.side-foot b{display:block;font-weight:700;color:var(--bone)}

.main{flex:1;min-width:0;padding-block:32px;padding-left:40px;padding-right:40px}
.wrap{max-width:1400px;margin:0 auto}
.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:24px}
.page-head .lede{max-width:64ch;color:var(--ink2);margin-top:6px}
.card{background:var(--white);border:1px solid var(--s200);border-radius:10px;padding:24px}
.card + .card{margin-top:16px}
.card-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:16px;flex-wrap:wrap}
.hair{height:1px;background:var(--s200);margin:16px 0}
.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.grid2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}
.grid2>*{min-width:0}
.pill{white-space:nowrap;border-radius:999px;padding:3px 11px;font-size:12px;font-weight:700;letter-spacing:.02em;display:inline-flex;align-items:center;gap:6px}
.pill-draft{background:var(--g100);color:var(--forest)}
.pill-amber{background:var(--amber-t);color:var(--amber)}
.pill-brick{background:var(--brick-t);color:var(--brick)}
.pill-quiet{background:var(--s200);color:var(--ink2)}
.meta{font-size:13px;color:var(--ink2)}
svg.ic{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
svg.ic-16{width:16px;height:16px}
.screen[hidden]{display:none!important}
.screen{animation:rise .22s var(--ease)}
@keyframes rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* scope chips */
.scope{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.chip{border:1px solid var(--s400);border-radius:10px;padding:14px;background:var(--white);text-align:left;transition:border-color .14s var(--ease),background .14s var(--ease)}
.chip:hover{background:rgba(32,90,64,.06)}
.chip[aria-pressed="true"]{border:2px solid var(--forest);background:var(--g050);padding:13px}
.chip .t{font-weight:700;display:flex;align-items:center;gap:8px}
.chip .c{font-size:13px;color:var(--ink2);margin-top:4px}
.box{width:16px;height:16px;border-radius:6px;border:1.5px solid var(--s400);display:grid;place-items:center;flex:0 0 16px}
.chip[aria-pressed="true"] .box{border-color:var(--forest);background:var(--forest)}
.chip[aria-pressed="true"] .box svg{stroke:var(--bone)}
.chip .box svg{width:11px;height:11px;stroke-width:2.5;opacity:0}
.chip[aria-pressed="true"] .box svg{opacity:1}

/* scope dropdowns */
.field{display:grid;gap:8px}
.field + .field{margin-top:16px}
.field .lab{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}
.field .lab b{font-weight:700}
.dd{position:relative}
.dd-trigger{width:100%;display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-height:48px;border:1px solid var(--s400);border-radius:10px;background:var(--white);padding:7px 44px 7px 10px;text-align:left;position:relative;transition:border-color .14s var(--ease)}
.dd-trigger:hover,.dd[data-open="1"] .dd-trigger{border-color:var(--forest)}
.dd-trigger .ph{color:var(--ink2);font-size:15px;padding-left:4px}
.dd-trigger .caret{position:absolute;right:14px;top:50%;transform:translateY(-50%);transition:transform .14s var(--ease);color:var(--ink2)}
.dd[data-open="1"] .caret{transform:translateY(-50%) rotate(180deg)}
.tag{display:inline-flex;align-items:center;gap:6px;border-radius:999px;background:var(--g100);color:var(--forest);padding:4px 6px 4px 12px;font-size:13px;font-weight:700;line-height:1.3}
.tag .zh{color:inherit;opacity:.72;font-weight:400}
.tag .srcl{font-weight:400;color:var(--ink2);font-size:11px;letter-spacing:.02em;padding-left:6px;border-left:1px solid var(--s400);margin-left:2px}
.tag .x{width:20px;height:20px;border-radius:999px;border:0;background:transparent;display:grid;place-items:center;color:inherit;padding:0}
.tag .x:hover{background:rgba(32,90,64,.14)}
.tag.amber{background:var(--amber-t);color:var(--amber)}
.dd-menu{position:absolute;left:0;right:0;top:calc(100% + 6px);background:var(--white);border:1px solid var(--s400);border-radius:10px;box-shadow:var(--sh-lg);padding:6px;z-index:5;display:none}
.dd[data-open="1"] .dd-menu{display:block;animation:rise .16s var(--ease)}
.opt{display:flex;gap:12px;align-items:flex-start;width:100%;border:0;background:none;padding:10px 12px;border-radius:6px;text-align:left;color:var(--ink)}
.opt:hover{background:var(--g050)}
.opt[aria-disabled="true"]{color:var(--disabled);cursor:not-allowed}
.opt[aria-disabled="true"]:hover{background:none}
.opt .box{margin-top:3px}
.opt .box svg{width:11px;height:11px;stroke-width:2.5;opacity:0}
.opt[aria-checked="true"] .box{border-color:var(--forest);background:var(--forest)}
.opt[aria-checked="true"] .box svg{opacity:1;stroke:var(--bone)}
.opt .l{font-weight:700;display:flex;gap:8px;align-items:baseline}
.opt .d{font-size:13px;color:var(--ink2)}
.opt .cnt{margin-left:auto;font-size:12px;color:var(--ink2);font-weight:700;white-space:nowrap;padding-top:3px}
.sub{display:grid;gap:8px;margin-top:2px}
.subrow{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:9px 12px;border:1px solid var(--s200);border-radius:10px;background:var(--s50);font-size:15px}
.subrow .k{font-weight:700;min-width:168px}
.subrow .k .zh{display:block;font-weight:400;line-height:1.2}
.seg{display:inline-flex;border:1px solid var(--s400);border-radius:999px;overflow:hidden;background:var(--white)}
.seg button{border:0;background:transparent;padding:4px 13px;font-size:13px;color:var(--ink2)}
.seg button[aria-pressed="true"]{background:var(--forest);color:var(--bone)}
.sopt{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--s400);border-radius:999px;background:var(--white);padding:4px 12px 4px 8px;font-size:13px;color:var(--ink)}
.sopt[aria-checked="true"]{border-color:var(--forest);background:var(--g050);font-weight:700;color:var(--forest)}
.sopt[aria-checked="true"] .box{border-color:var(--forest);background:var(--forest)}
.sopt[aria-checked="true"] .box svg{opacity:1;stroke:var(--bone)}
.sopt[aria-disabled="true"]{color:var(--disabled);border-color:var(--s200);cursor:not-allowed}
.sopt .box{width:14px;height:14px;flex-basis:14px}
.sopt .box svg{width:10px;height:10px;stroke-width:2.5;opacity:0}
.confirm{border:1px solid var(--amber);background:var(--amber-t);border-radius:10px;padding:12px 14px;display:flex;gap:12px;align-items:flex-start;margin-top:14px}
.confirm svg.ic{color:var(--amber)}
.confirm .body{flex:1;min-width:0;font-size:15px}
.confirm .body b{color:var(--amber)}
.confirm ul{margin:6px 0 10px;padding-left:18px;color:var(--ink2);font-size:13px}

/* presets */
.preset{border:1px solid var(--s200);border-radius:10px;padding:18px;background:var(--white);display:flex;gap:16px;align-items:flex-start}
.preset + .preset{margin-top:12px}
.preset[data-sel="1"]{border:2px solid var(--forest);background:var(--g050);padding:17px}
.preset .body{flex:1;min-width:0}
.rules{margin:10px 0 0;padding-left:18px;color:var(--ink2);font-size:15px}
.rules li{margin:2px 0}
.stat{display:flex;gap:28px;flex-wrap:wrap}
.stat .f{font-size:31px;font-family:Lato;font-weight:300;line-height:1.1}
.stat .l{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink2);font-weight:700}

/* lists */
.item{display:flex;gap:14px;padding:14px 0;border-top:1px solid var(--s200);align-items:flex-start}
.item:first-child{border-top:0}
.anchor{font-weight:700;font-size:13px;color:var(--forest);min-width:148px;flex:0 0 148px}
.anchor .sub{display:block;font-weight:400;color:var(--ink2)}
.item .txt{flex:1;min-width:0;max-width:76ch}
.conf{font-size:12px;font-weight:700;color:var(--ink2);white-space:nowrap}
.bar{width:54px;height:4px;border-radius:999px;background:var(--s200);overflow:hidden;display:inline-block;vertical-align:middle;margin-right:7px}
.bar i{display:block;height:100%;background:var(--fern)}
.bar.low i{background:var(--amber)}

/* progress */
.prog{display:flex;flex-direction:column;gap:0}
.pline{display:flex;gap:12px;align-items:center;padding:9px 0;border-top:1px solid var(--s200);font-size:15px}
.pline:first-child{border-top:0}
.pline .nm{flex:1}
.spin{width:18px;height:18px;border-radius:999px;border:1.75px solid var(--s200);border-top-color:var(--fern);animation:sp .9s linear infinite}
@keyframes sp{to{transform:rotate(360deg)}}
.track{height:4px;border-radius:999px;background:var(--s200);overflow:hidden}
.track i{display:block;height:100%;background:var(--forest);transition:width .36s var(--ease)}

/* readiness */
.gauge{display:flex;gap:20px;align-items:center;flex-wrap:wrap}
.gring{width:96px;height:96px;flex:0 0 96px;border-radius:999px;display:grid;place-items:center;border:1px solid var(--s400);position:relative}
.gring .v{font-size:25px;font-weight:300;font-family:Lato}
.gring .u{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--ink2);font-weight:700}
.chapter{display:flex;gap:12px;align-items:center;padding:11px 0;border-top:1px solid var(--s200)}
.chapter:first-child{border-top:0}
.chapter .nm{flex:1}
.count{font-weight:700;font-variant-numeric:tabular-nums}

/* readiness: upload + gap groups */
.drop{display:flex;gap:14px;align-items:center;border:1.5px dashed var(--s400);border-radius:10px;padding:18px 20px;background:var(--s50);cursor:pointer;transition:border-color .14s var(--ease),background .14s var(--ease)}
.drop:hover,.drop:focus-visible{border-color:var(--forest);background:var(--g050)}
.drop svg.ic{width:26px;height:26px;color:var(--fern)}
.drop>div{min-width:0;flex:1}
.drop .drop-sub{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.drop-sm{padding:12px 14px}
.drop-sm svg.ic{width:20px;height:20px}
.ulog-line{display:flex;gap:12px;align-items:flex-start;padding:8px 0;border-top:1px solid var(--s200);font-size:15px}
.ulog-line:first-child{border-top:0}
.ulog-line .k{font-weight:700;min-width:150px;flex:0 0 150px;color:var(--forest);font-size:13px}
.gg{border:1px solid var(--s200);border-radius:10px;padding:4px 16px 8px;margin-top:12px;background:var(--white)}
.gg-h{display:flex;gap:12px;align-items:center;padding:10px 0;list-style:none;cursor:default}
details.gg summary.gg-h{cursor:pointer}
details.gg summary::-webkit-details-marker{display:none}
details.gg summary::after{content:"";margin-left:auto;width:8px;height:8px;border-right:1.5px solid var(--ink2);border-bottom:1.5px solid var(--ink2);transform:rotate(45deg);transition:transform .14s var(--ease)}
details.gg[open] summary::after{transform:rotate(-135deg)}
.chapter.dim{color:var(--ink2)}
.chapter .nm .note{display:block;font-size:13px;color:var(--ink2);margin-top:2px}
.chapter .acts{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;flex:0 0 auto;max-width:46%}
.chapter .nm{min-width:180px}
.chapter[data-done="1"] .nm{color:var(--ink2)}
.inline{display:grid;grid-template-columns:repeat(2,1fr);gap:10px 16px;padding:4px 0 10px}
.inline label{display:grid;gap:4px;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink2)}
.inp{font:inherit;font-size:15px;font-weight:400;letter-spacing:0;text-transform:none;color:var(--ink);border:1px solid var(--s400);border-radius:999px;padding:8px 14px;background:var(--white)}
textarea.inp{border-radius:10px;padding:10px 14px}
.inp:focus{outline:2px solid var(--fern);outline-offset:1px;border-color:var(--forest)}
.inp[readonly]{background:var(--s50)}
@media (max-width:900px){.inline{grid-template-columns:1fr}}

/* evidence */
.doc{border:1px solid var(--s200);border-radius:10px;background:var(--white);padding:22px;max-height:70vh;overflow:auto}
.docline{padding:2px 4px;border-radius:6px;cursor:pointer;transition:background .14s var(--ease)}
.docline:hover{background:var(--g050)}
.docline[data-on="1"]{background:var(--g100);box-shadow:inset 2px 0 0 var(--forest)}
.declared{background:var(--bone);border-radius:6px;padding:10px 12px;margin:8px 0;font-size:15px;max-width:76ch}
.rail{position:sticky;top:16px}
.src{border-top:1px solid var(--s200);padding:12px 0;font-size:15px}
.src .f{font-weight:700;display:flex;gap:8px;align-items:center}
.src .cell{font-variant-numeric:tabular-nums;color:var(--ink2);font-size:13px}
.quote{border-left:2px solid var(--s400);padding-left:12px;margin-top:6px;color:var(--ink2);font-size:13px;max-width:76ch}
table.t{width:100%;border-collapse:collapse;font-size:15px}
table.t th{text-align:left;font-weight:700;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink2);padding:0 10px 8px 0;border-bottom:1px solid var(--s200)}
table.t td{padding:10px 10px 10px 0;border-bottom:1px solid var(--s200);vertical-align:top}
.toast{position:fixed;right:24px;bottom:24px;background:var(--white);border:1px solid var(--s400);border-radius:10px;padding:14px 18px;box-shadow:var(--sh-lg);max-width:340px;display:none;z-index:9}
.toast.on{display:block;animation:rise .22s var(--ease)}
@media (max-width:900px){
  .shell{flex-direction:column}
  .side{width:auto;flex:none;height:auto;position:static;flex-direction:row;align-items:center;gap:16px;overflow-x:auto;padding:14px 16px}
  .side-foot,.side .product{display:none}
  .steps{flex-direction:row}
  .step span.lb{display:none}
  .main{padding-left:16px;padding-right:16px}
  .grid2,.scope{grid-template-columns:1fr}
}

.step .ring{font-size:11px;letter-spacing:0}
#chNav .step .ring{width:auto;min-width:34px;padding:0 6px;border-radius:999px}
.file{display:grid;gap:4px;font-size:13px;color:var(--ink2);font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.file input[type=file]{font:inherit;font-weight:400;text-transform:none;letter-spacing:0;font-size:13px;color:var(--ink)}

/* template check */
.sec-h{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap;margin:28px 0 12px}
.dcard{background:var(--white);border:1px solid var(--amber);border-radius:10px;padding:18px 20px}
.dcard + .dcard{margin-top:12px}
.dcard-h{display:flex;gap:12px;align-items:flex-start}
.dcard-h .txt{flex:1;min-width:0}
.dcells{margin:10px 0 8px;padding-left:18px;font-size:15px}
.dcells li{margin:2px 0}
.lnk{border:0;background:none;padding:0;color:var(--forest);text-decoration:underline;text-underline-offset:2px;text-decoration-color:var(--s400);font-size:inherit;text-align:left;cursor:pointer}
.lnk:hover{text-decoration-color:var(--forest)}
.draftline{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.dec{border-top:1px solid var(--s200);margin-top:12px;padding-top:12px;display:grid;gap:10px}
.dec-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.dec-k{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink2);min-width:210px}
.dec-k .zh{display:block;text-transform:none;letter-spacing:0;font-weight:400;font-size:12px}
.inp-sm{padding:5px 12px;font-size:13px;border-radius:999px}
.legend{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.lg{font-size:12px;padding:3px 10px;border-radius:999px;border:1px solid var(--s200);cursor:default}
.fgrid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px;align-items:start}
.fscroll{max-height:72vh;overflow:auto;padding-right:4px}
.fpanel{border:1px solid var(--s200);border-radius:10px;padding:16px;background:var(--s50);font-size:15px}
.fpanel .dec-k{min-width:0}
.fpanel .dec-row{align-items:flex-start;flex-direction:column}
.fch{margin-top:10px}
.fch:first-child{margin-top:0}
table.form{width:100%;border-collapse:collapse;margin:4px 0 12px;font-size:12px;line-height:1.4}
table.form td{border:1px solid var(--s200);padding:5px 6px;vertical-align:top;overflow:hidden;max-width:420px}
table.form td.cont,table.form td.fc:empty{min-width:24px}
.lg.fc{cursor:default}
.fc{cursor:pointer}
.fc .ct{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}
.fc .kt{display:block;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--forest);margin-bottom:2px}
.o-op{background:var(--bone)}
.o-au{background:var(--g100)}
.o-fx{background:var(--white);color:var(--ink2)}
.fc.open{background:var(--amber-t);box-shadow:inset 0 0 0 1px var(--amber)}
.fc.open .kt{color:var(--amber)}
.fc.d-skip{background:var(--s200);color:var(--disabled)}
.fc.d-return{background:var(--brick-t)}
.fc.d-return .kt{color:var(--brick)}
td.fc:hover{box-shadow:inset 0 0 0 1px var(--forest)}
td.fc.sel{box-shadow:inset 0 0 0 2px var(--forest)}
td.cont{background:var(--s50)}
@media (max-width:1100px){.fgrid{grid-template-columns:1fr}.fscroll{max-height:60vh}}
textarea.inp{width:100%;resize:vertical;box-sizing:border-box}
.review .inline>label{max-width:none}
select.inp{width:auto}
.zh.inp{color:var(--ink2)}
table.t td .inp{width:100%;box-sizing:border-box;font-size:13px;padding:6px 8px}
pre.log{font:12px/1.5 ui-monospace,Menlo,Consolas,monospace;color:var(--ink2);white-space:pre-wrap;background:var(--s50);border-radius:10px;padding:10px;margin:12px 0 0}
.home-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:16px}
@media (max-width:900px){.home-grid{grid-template-columns:1fr}}
/* narrow windows hide the sidebar footer: sign out moves into the menu */
.side .nav-signout{display:none}
@media (max-width:900px){.side .nav-signout{display:flex}}
/* one interface language at a time (static/js/i18n.js): the Chinese notes written beside the English stay hidden */
.zh:not(.zh-show){display:none!important}
.i18n-hide{display:none}
.auth-card{position:relative}
.auth-lang{position:absolute;top:16px;right:16px}
.lang-sel{width:auto;min-width:120px;padding:4px 10px;font-size:13px}
.side-foot .lang-sel{background:transparent;color:var(--bone);border-color:rgba(245,240,228,.35)}
.side-foot .lang-sel option{color:#1d2a24}

/* ---- redesign 2026-10-24: loading, sentence-case labels, menus, the report page's next step */
.loading{display:flex;justify-content:center;padding:72px 0}
.ring-load{width:32px;height:32px;border-radius:999px;border:1px solid var(--forest);position:relative;display:block}
.ring-load::after{content:"";position:absolute;inset:5px;border-radius:999px;border:2px solid transparent;border-top-color:var(--fern);animation:sp .9s linear infinite}
@media (prefers-reduced-motion:reduce){.ring-load::after{animation-duration:2.4s}}
#bootLoad{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:var(--s50)}
#bootLoad[hidden]{display:none}
.inline label{font-size:13px;font-weight:700;letter-spacing:0;text-transform:none;color:var(--ink2)}
.inline label.check{display:flex;gap:10px;align-items:flex-start;font-weight:400;font-size:14px;color:var(--ink)}
.inline label.check input{margin-top:4px;flex:none}
table.t th,.rhead,.kpi .l,.stat .l{text-transform:none;letter-spacing:0;font-size:13px}
table.t .r{text-align:right}
dialog.ask{max-width:480px;width:calc(100% - 32px);border:1px solid var(--s200);border-radius:10px;padding:24px;box-shadow:var(--sh-lg);color:var(--ink)}
dialog.ask::backdrop,#fbDialog::backdrop{background:rgba(19,52,37,.32)}
.btn-danger{background:var(--brick);color:var(--white);border-color:var(--brick)}
.btn-danger:hover{background:#8f3a2d;border-color:#8f3a2d}
.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0}
.btn-icon.btn-sm{width:30px;height:30px}
.btn-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
details.menu{position:relative;display:inline-block}
details.menu>summary{list-style:none;cursor:pointer}
details.menu>summary::-webkit-details-marker{display:none}
.menu-list{position:absolute;right:0;top:calc(100% + 6px);z-index:30;display:grid;min-width:230px;padding:6px;background:var(--white);border:1px solid var(--s200);border-radius:10px;box-shadow:var(--sh-lg)}
.menu-list a,.menu-list button{display:block;text-align:left;padding:8px 10px;border:0;border-radius:6px;background:none;font:inherit;font-size:15px;color:var(--ink);text-decoration:none;cursor:pointer}
.menu-list a:hover,.menu-list button:hover{background:var(--g050)}
.menu-list .danger{color:var(--brick);border-top:1px solid var(--s200);margin-top:4px;padding-top:10px;border-radius:0 0 6px 6px}
.menu-list .danger:first-child{border-top:0;margin-top:0;padding-top:8px;border-radius:6px}
.tabs{position:sticky;top:0;z-index:10;background:var(--s50);overflow-y:hidden}
.status-line{color:var(--ink2);margin:0 0 14px}
.num-ring{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;padding:0 8px;border:1px solid var(--forest);border-radius:999px;font-weight:700;color:var(--forest);font-variant-numeric:tabular-nums}
.next-card .item{align-items:flex-start}
.next-card .item>.row{padding-top:4px}
.todo-rows{margin:8px 0 4px;border-top:1px solid var(--s200)}
.todo-rows>.meta{padding:8px 0 2px}
.todo-row{display:flex;gap:14px;align-items:center;flex-wrap:wrap;padding:8px 0;border-top:1px solid var(--s200);font-size:15px;color:var(--ink)}
.todo-row .anchor{min-width:64px;flex:0 0 64px}
.todo-row .txt{flex:1;min-width:200px}
.todo-row>.row{flex:0 0 auto}
.next-card .anchor{min-width:48px;flex:0 0 48px}
.chlegend{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:8px;padding:0 4px;font-size:12px}
.chlegend i.dot{display:inline-block;width:7px;height:7px;border-radius:999px;margin-right:5px;background:var(--s400);vertical-align:1px}
.chkey{flex-direction:column;flex-wrap:nowrap;gap:6px;margin-top:10px;padding:0 8px;color:var(--ink2);line-height:1.4}
.chkey>span{display:flex;gap:8px;align-items:center;white-space:nowrap}
.chkey .chring{margin-left:0;margin-top:1px}
.chlegend i.dot.ok{background:var(--fern)}.chlegend i.dot.warn{background:var(--amber)}.chlegend i.dot.off{background:var(--s200)}
.declared-box{margin:0 0 14px}
.std-line{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 20px}
.learned{white-space:pre-wrap;font-size:15px;line-height:1.7;margin-top:8px;max-width:76ch}
details.record>summary{display:flex;justify-content:space-between;align-items:center;gap:12px;cursor:pointer;list-style:none}
details.record>summary::-webkit-details-marker{display:none}
details.record[open]>summary{margin-bottom:12px}
.invite-row{grid-template-columns:2fr 1fr 2fr auto;align-items:end}
@media (max-width:900px){.invite-row{grid-template-columns:1fr}}
/* guided set-up and Templates and style */
.guide{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;background:var(--g050);border:1px solid var(--g100);border-radius:10px;padding:16px 20px;margin:0 0 16px}
.guide p{margin-top:4px;font-size:15px;line-height:1.65}
.guide .pill{flex:none}
/* the three steps of the client list, one strip (founder 2026-10-26) */
.howto{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--s200);border-radius:10px;background:var(--s50);margin:0 0 14px}
.howto>div{padding:12px 16px;display:flex;gap:10px;align-items:flex-start;min-width:0}
.howto>div+div{border-left:1px solid var(--s200)}
.howto .num-ring{min-width:26px;height:26px;font-size:12px;flex:none;margin-top:1px}
.howto b{display:block;font-size:15px}
.howto .meta{display:block;margin-top:2px;line-height:1.5}
.howto .off,.howto .off .meta{color:var(--disabled)}
.howto .off .num-ring{border-color:var(--s400);color:var(--disabled)}
@media (max-width:1000px){.howto{grid-template-columns:1fr}.howto>div+div{border-left:0;border-top:1px solid var(--s200)}}
.flabel{display:block;font-size:13px;font-weight:700;color:var(--ink2);margin-bottom:4px}
.data-note{margin-top:12px;padding:10px 14px;border-left:2px solid var(--s400);max-width:80ch;line-height:1.55}
.org-row{display:flex;gap:10px;align-items:center;margin-top:6px}
.org-row .inp{flex:1;max-width:460px}
.org-h{margin:0 0 12px}
.lib-std{padding:14px 0;border-top:1px solid var(--s200)}
.lib-std:first-of-type{border-top:0;padding-top:0}
.lib-std>.name{font-weight:700;margin-bottom:4px}
.lib-row{display:flex;gap:14px;align-items:flex-start}
.lib-row .lib-k{min-width:130px;flex:0 0 130px;font-size:13px;font-weight:700;color:var(--forest);padding-top:14px}
.lib-row .srow{flex:1;border-top:0}
/* translated pages: a Chinese note shown in place of English keeps the surrounding size and colour; Chinese in headings (in any
   language: client names are often Chinese) uses the same Chinese face as the body text (Alice has no Chinese, and the serif fallback differs per system) */
.zh.zh-show{font-size:inherit;color:inherit}
.auth-card h1{font-family:Alice,"PingFang SC","Microsoft YaHei","Noto Sans SC",sans-serif}
.guide ul{margin:6px 0 0;padding-left:18px}
.guide li{margin:2px 0;font-size:15px;line-height:1.6}
select option:disabled{color:var(--disabled)}
.block.block-off{background:var(--s50);color:var(--disabled)}
.block.block-off .c,.block.block-off .t{color:var(--disabled)}
.org-pick select{max-width:380px;display:block}
.org-pick .meta{margin-top:8px}
.org-pick .org-unready{padding-top:8px;border-top:1px solid var(--s200);margin-top:12px}
/* the model's reasoning while a part is drafted: plain, small, scrolls inside its box; shown as written, never translated */
.pline-wrap{border-top:1px solid var(--s200);padding:6px 0}
.pline-wrap:first-child{border-top:0}
.pline-wrap .pline{border-top:0}
.think{font:13px/1.55 Lato,"PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink2);background:var(--s50);border:1px solid var(--s200);border-radius:6px;padding:8px 10px;margin:6px 0 2px;white-space:pre-wrap;max-height:160px;overflow:auto}
.think-done summary{font-size:13px;color:var(--forest);cursor:pointer;margin-top:2px}
.gen-banner{flex-wrap:wrap}
.gen-think{flex-basis:100%}
.gen-think:empty{display:none}

/* the draft page (founder 2026-10-26, batch 3): field names as labels, growing text boxes, one-line proposals, ring states */
.cl{display:flex;gap:10px;align-items:baseline}
.cl-name{flex:1;min-width:0;font-size:13px;font-weight:700;color:var(--ink2)}
.cl-pos{margin-left:auto;font-size:12px;font-weight:400;color:var(--disabled);font-variant-numeric:tabular-nums}
.cl-man{font-size:12px;font-weight:400;color:var(--fern);cursor:default}
.review textarea.inp{overflow:hidden;min-height:94px}
.sug{display:flex;gap:12px;align-items:flex-start;flex-wrap:wrap;margin-top:6px;padding:10px 12px;border:1px solid var(--amber);background:var(--amber-t);border-radius:10px}
.sug>.pill{flex:none;margin-top:2px}
.sug-t{flex:1;min-width:220px;font-size:15px}
.sug-lab{display:block;font-size:12px;color:var(--ink2);margin-bottom:3px}
.sug-val{padding:7px 10px;background:var(--white,#fff);border:1px solid var(--s200);border-radius:6px;font-weight:600;white-space:pre-wrap}
.sug-rem{font-weight:400;margin-top:4px}
.sug-src{margin-top:8px;padding-top:6px;border-top:1px dashed var(--s200)}
.sug-src .meta{font-size:13px;line-height:1.5}
.chring{margin-left:auto;width:18px;height:18px;flex:0 0 18px;border-radius:999px;border:1px solid var(--s400);display:grid;place-items:center;font-size:11px;font-weight:700;color:var(--amber)}
.chring svg{width:11px;height:11px;stroke:currentColor;fill:none;stroke-width:2.5}
.chring.st-ok{border-color:var(--forest);background:var(--forest);color:var(--bone)}
.chring.st-warn{border-color:var(--amber)}
.chring.st-off{border-style:dashed;border-color:var(--s200)}
.ring-ic{width:24px;height:24px;flex:0 0 24px;border-radius:999px;border:1px solid var(--forest);display:grid;place-items:center;color:var(--forest)}
.ring-ic svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:1.75}
.review>div:first-child{position:sticky;top:64px}

/* the three lists (documents, points to verify, on-site checks) and proposals: one row each, actions at the right (batch 4) */
.item.li{padding:12px 0;align-items:flex-start;gap:16px}
.item.li .anchor{min-width:120px;flex:0 0 120px}
.item.li .acts{flex:0 0 auto;display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;align-items:center;max-width:42%}
.item.li .acts .lnk{margin-left:4px}
.item.li .quote{margin-top:4px}
@media (max-width:1000px){.item.li{flex-wrap:wrap}.item.li .acts{flex-basis:100%;justify-content:flex-start;max-width:none;padding-left:136px}}
details.gg .item.li:first-of-type{border-top:0}

/* findings chosen, not typed (founder 2026-10-26) */
.fpicks{gap:16px;margin-top:10px;flex-wrap:wrap;align-items:flex-end}
.fpick{display:inline-flex;flex-direction:column;gap:4px;min-width:170px}
.fpick select.inp{min-width:170px}
.fedit{display:grid;gap:8px;margin-top:10px;padding:12px;border:1px solid var(--s200);border-radius:10px}
.fnew{padding:14px 0 6px;border-bottom:1px solid var(--s200);margin-bottom:6px}
.fcard.is-rejected>.txt{opacity:.5}
.fcard.is-rejected>.txt .row:last-of-type{opacity:1}
.fpick select.inp{max-width:420px}
.fpick .rec{font-size:12px;color:var(--s600,#5b6b63)}
.fclause-about{margin-top:2px;max-width:420px}

/* the client's answer, chosen among prepared ones (founder 2026-10-29) */
.copts{display:grid;gap:6px;margin-top:10px}
.copt{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;text-align:left;width:100%;padding:8px 12px;
  border:1px solid var(--s200);border-radius:8px;background:var(--s50);cursor:pointer;font:inherit;color:inherit}
.copt:hover{border-color:var(--s400)}
.copt:disabled{opacity:.6;cursor:wait}
.copt .pill{flex:none}
.copt-other summary{cursor:pointer;font-size:13px;color:var(--s600,#5b6b63);margin-top:2px}
.copt[aria-pressed="true"]{border-color:var(--forest);box-shadow:inset 0 0 0 1px var(--forest);background:#fff}
.btn[aria-pressed="true"]{border-color:var(--forest);box-shadow:inset 0 0 0 1px var(--forest)}
.clsave{position:sticky;bottom:12px;z-index:5;display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;padding:10px 14px;
  border:1px solid var(--s200);border-radius:10px;background:var(--s50);box-shadow:0 4px 16px rgba(0,0,0,.08)}
.copt-chosen{margin-top:8px;padding:8px 12px;border-left:3px solid var(--s200)}
.copt-note{margin-top:8px;padding-top:8px;border-top:1px solid var(--s200)}

/* wide screens (founder 2026-10-29: the work area was too narrow): findings read on the left, decisions on the right;
   prepared answers two to a row; reading text keeps its measure */
@media (min-width:1280px){
  .fcard>.txt{max-width:none;display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,440px);gap:4px 28px;align-items:start}
  .fcard>.txt>.fc-main{max-width:76ch}
  .fcard>.txt>.fc-side .fpicks{flex-direction:column;align-items:stretch;margin-top:0}
  .fcard>.txt>.fedit{grid-column:1/-1}
  .item.li .txt{max-width:none}
  .item.li .txt>[data-raw],.item.li .txt>.bi-zh,.item.li .txt>b{max-width:100ch;display:block}
  .item.li .txt .quote,.item.li .txt .copt-chosen{max-width:100ch}
  .copts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .copts>.meta,.copts>.copt-other{grid-column:1/-1}
  .review{grid-template-columns:280px minmax(0,1fr)}
}

/* actions sit at the right edge of their row however short the text is (founder 2026-10-29, after the widening) */
.item>.acts,.item>.txt+.row{margin-left:auto}
.gg-h>.gg-act{margin-left:auto}
.cl-col{font-weight:700;color:var(--forest);margin-right:8px;white-space:nowrap}
.cl-own{margin-left:8px;font-size:12px;color:var(--ink2);white-space:nowrap}
.banner>span:first-child{flex:1 1 320px;min-width:0}
.banner>.btn,.banner>.row:last-child{flex:none;margin-left:auto}
.fc-side>.row:last-of-type{justify-content:flex-end}
details.gg summary:has(>.gg-act)::after{margin-left:12px}

/* the writing instruction, one numbered point per cell */
.pts{margin-top:8px;display:flex;flex-direction:column;gap:6px}
.pt-row{display:flex;gap:10px;align-items:flex-start}
.pt-n{flex:none;width:24px;text-align:right;padding-top:9px;color:var(--ink2);font-variant-numeric:tabular-nums}
.pt-row>textarea{flex:1;min-width:0;font-size:14px;line-height:1.6;resize:vertical}
.pt-row>.lnk{flex:none;padding-top:9px}
.learned.pt-list{white-space:normal;padding-left:24px}

/* stages of one audit (founder 2026-10-31): a row of three steps above the tabs; the current one is the auditor's choice */
.stagebar{display:flex;gap:8px;align-items:center;margin:0 0 10px;flex-wrap:wrap}
.stagebar .s{display:flex;align-items:center;gap:8px;font:inherit;font-size:13px;color:var(--ink2);padding:5px 12px 5px 5px;border-radius:999px;border:1px solid var(--s200);background:var(--white);cursor:pointer}
.stagebar .s .ring{width:22px;height:22px;flex:0 0 22px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--s400);border-radius:999px;font-weight:700;font-size:12px;color:var(--ink2)}
.stagebar .s[data-on="1"]{border:2px solid var(--forest);color:var(--pine);font-weight:700;background:var(--g050)}
.stagebar .s[data-on="1"] .ring{background:var(--forest);border-color:var(--forest);color:var(--bone)}
.stagebar .s[data-done="1"] .ring{background:var(--g100);border-color:var(--forest);color:var(--forest)}
.stagebar .s .ring svg{width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:2.5}
.stagebar .s:hover{border-color:var(--s400);color:var(--forest)}
/* the preparation sheet: two columns of cards, each row of the visit list with its look / ask / trace lines */
.prep-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
.prep-grid .card{margin:0}
.prep-label{font-weight:700;max-width:76ch}
.lat{display:flex;gap:8px;align-items:baseline;margin-top:3px;max-width:76ch}
.lat-k{flex:0 0 58px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink2)}
.prep-row.off .txt{color:var(--disabled)}
.prep-row .src{margin-top:4px}
pre.plan{font:inherit;white-space:pre-wrap;margin:0;color:var(--pine)}
@media (max-width:960px){.prep-grid{grid-template-columns:1fr}}
.prep-grid .span2{grid-column:1/-1}
.routine{margin-top:8px}
.routine .gg-h b{font-weight:700}
.routine-rows{border-top:1px solid var(--s200);margin-top:6px}
.role{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;padding:8px 0;border-top:1px solid var(--s200)}
.role-k{font-weight:700;min-width:120px}
.role-n{min-width:70px}
.role-rows{flex-basis:100%}
.role .acts{display:inline-flex;gap:6px}
.plan-line{padding:6px 0;border-top:1px solid var(--s200)}
.plan-line:first-child{border-top:0}
.prep-row.done .txt{color:var(--ink2)}
.prep-row .acts .lnk{margin-left:6px}
/* the audit plan on the preparation sheet (2026-10-31) */
.plan{border:1px solid var(--s200);border-radius:10px;overflow:hidden;margin-top:10px}
.pslot{display:grid;grid-template-columns:118px minmax(0,1fr) auto;gap:12px;padding:8px 12px;border-top:1px solid var(--s200);align-items:start}
.plan>.pslot:first-child{border-top:0}.pslot.lunch{color:var(--disabled)}
.ptime{font-variant-numeric:tabular-nums;font-weight:700;display:flex;flex-direction:column;gap:2px}
.ptitle{font-weight:700}.pbody .meta{max-width:76ch}
.ptags{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end;max-width:220px}
.ptag{font-size:11px;border:1px solid var(--s400);border-radius:999px;padding:1px 8px;color:var(--ink2);white-space:nowrap}
.pday{background:var(--s50);padding:4px 12px;font-size:13px;font-weight:700;border-top:1px solid var(--s200)}
.ppt{display:flex;gap:8px;font-size:13px;margin-top:4px;color:var(--ink)}.ppt .anchor-sm{font-family:ui-monospace,Menlo,Consolas,monospace;color:var(--ink2);min-width:52px;flex:none}
.pwarn{background:var(--amber-t);border-radius:10px;padding:8px 12px;margin:8px 0;font-size:13px;line-height:1.5}
pre.preview{white-space:pre-wrap;font:inherit;font-size:13px;line-height:1.5;background:var(--s50);border:1px solid var(--s200);border-radius:10px;padding:10px 12px;max-height:280px;overflow:auto;margin-top:10px}
@media (max-width:720px){.pslot{grid-template-columns:88px minmax(0,1fr)}.ptags{grid-column:1/-1;justify-content:flex-start;max-width:none}}
/* the task overview (2026-10-31): label / value / source rows */
.kv{display:grid;grid-template-columns:140px minmax(0,1fr);gap:2px 14px;padding:7px 0;border-top:1px solid var(--s200);align-items:baseline}
.kv:first-of-type{border-top:0}.kv-k{color:var(--ink2);font-size:13px}.kv-v{max-width:76ch;overflow-wrap:anywhere}
.kv-s{grid-column:2;font-size:12px;color:var(--disabled)}.kv-maps{font-size:13px;white-space:nowrap}.kv-site{margin-top:4px}
.kv-block{margin-top:12px;padding-top:10px;border-top:1px solid var(--s200)}
@media (max-width:720px){.kv{grid-template-columns:1fr}.kv-s{grid-column:1}}

.prep-col{display:flex;flex-direction:column;gap:16px;min-width:0}
.map-embed{display:block;width:100%;height:320px;border:0;border-radius:10px;background:var(--g050)}
.fcard.is-picked{box-shadow:inset 3px 0 0 var(--forest)}

/* feedback dialog: kinds on the left, the exact problem on the right, the message below (founder 2026-11-01) */
#fbDialog{width:min(820px,calc(100% - 32px));max-width:820px;padding:0;border:1px solid var(--s200);border-radius:10px;box-shadow:var(--sh-lg);color:var(--ink);background:var(--white)}
.fb svg{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.fb-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:22px 24px 16px;border-bottom:1px solid var(--s200)}
.fb-head h3{font-size:20px;margin:4px 0 2px}
.fb-x{border:0;background:none;width:32px;height:32px;border-radius:999px;color:var(--ink2);display:grid;place-items:center;cursor:pointer;flex:none}
.fb-x:hover{background:var(--s200);color:var(--ink)}.fb-x svg{width:18px;height:18px}
.fb-body{display:grid;grid-template-columns:224px minmax(0,1fr);min-height:300px}
.fb-kinds{padding:12px;background:var(--s50);border-right:1px solid var(--s200);display:flex;flex-direction:column;gap:2px}
.fb-kind{display:flex;align-items:center;gap:10px;padding:9px 12px;border:0;background:none;border-radius:6px;font:inherit;font-size:14px;color:var(--ink);text-align:left;cursor:pointer;transition:background .14s var(--ease)}
.fb-kind svg{width:18px;height:18px;color:var(--ink2);flex:none}
.fb-kind:hover{background:var(--s200)}
.fb-kind[aria-pressed="true"]{background:var(--white);box-shadow:var(--sh-sm);color:var(--forest);font-weight:700}
.fb-kind[aria-pressed="true"] svg{color:var(--forest)}
.fb-subs{padding:16px 20px}
.fb-list{display:flex;flex-direction:column;gap:4px;margin-top:8px}
.fb-sub{display:flex;align-items:center;gap:12px;width:100%;padding:9px 12px;border:1px solid transparent;border-radius:6px;background:none;font:inherit;font-size:14px;line-height:1.4;text-align:left;color:var(--ink);cursor:pointer;transition:background .14s var(--ease),border-color .14s var(--ease)}
.fb-sub .ring{width:16px;height:16px;border-radius:999px;border:1.5px solid var(--s400);flex:none;box-sizing:border-box}
.fb-sub:hover{background:var(--s50)}
.fb-sub[aria-pressed="true"]{border-color:var(--forest);background:var(--g050)}
.fb-sub[aria-pressed="true"] .ring{border:5px solid var(--forest)}
.fb-empty{height:100%;display:grid;place-items:center;text-align:center;color:var(--ink2);font-size:14px}
.fb-empty svg{width:22px;height:22px;color:var(--s400)}.fb-empty p{margin:6px 0 0}
.fb-lab{display:block;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink2)}
.fb-write{display:flex;flex-direction:column;gap:6px;padding:16px 24px 4px;border-top:1px solid var(--s200);transition:opacity .14s var(--ease)}
.fb-write .fb-lab+*{margin-bottom:8px}
.fb-write[data-off="true"]{opacity:.5}
#fbRep{width:100%}
#fbText{width:100%;border-radius:10px;min-height:140px;resize:vertical;line-height:1.55;padding:10px 14px}
.fb-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 24px 20px}
@media (max-width:700px){.fb-body{grid-template-columns:1fr;min-height:0}.fb-kinds{flex-direction:row;flex-wrap:wrap;border-right:0;border-bottom:1px solid var(--s200)}.fb-foot{flex-direction:column;align-items:stretch}}
/* admin: feedback list */
.fb-filter{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:6px}
.fb-row{padding:14px 0;border-top:1px solid var(--s200)}
.fb-row:first-of-type{border-top:0}
.fb-row-top{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.fb-row-sub{font-size:13px;color:var(--ink2)}
.fb-row-time{margin-left:auto;font-size:13px;color:var(--ink2);font-variant-numeric:tabular-nums}
.fb-row-text{margin:8px 0 6px;max-width:76ch;white-space:pre-wrap}
