/* Workflow screens: inbox, cases board, case detail, council, members. Tokens only (light + dark). */
:root{--col:rgba(120,120,128,.07)}
html.dark{--col:rgba(255,255,255,.05)}

/* pages that own the bottom edge hide the tab bar / plus capsule */
.shell:has([data-hide-tabs]) .tabbar,.shell:has([data-hide-tabs]) .fab,.shell:has([data-hide-fab]) .fab{display:none}

textarea{font:inherit;color:inherit;border:0;background:none;resize:vertical}
.area{width:100%;border-radius:18px;background:var(--field);padding:12px 16px;font-size:14px;line-height:1.8;min-height:92px;text-align:start}
.area:focus,.area:focus-visible{outline:none;box-shadow:0 0 0 2px var(--em);background:var(--card)}
.lbl{display:block;font-size:12px;color:var(--ink3);margin:14px 4px 6px;font-weight:500}
.pad{padding:16px 18px}
.hid{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.num{unicode-bidi:isolate}

/* section heading */
.sec{display:flex;align-items:baseline;justify-content:space-between;margin:22px 6px 10px}
.sec small{font-size:12px;color:var(--ink3)}
/* section title + count as a small grey pill (never «title · N»: the dot next to a digit reads as a Persian zero) */
.sec-t{display:flex;align-items:center;gap:8px;min-width:0}
.cap{min-width:22px;height:22px;padding:0 8px;border-radius:11px;background:var(--field);color:var(--ink3);font-size:12px;display:inline-grid;place-items:center;line-height:1}
.row .req{flex-basis:100%;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--ink2);line-height:1.7}
.row.top{align-items:flex-start}
.two .row .rt,.board-phone .row .rt{white-space:normal}
.row.slim{padding:9px 0;font-size:14px;justify-content:space-between}
a.rb{display:block}
.btn.dgr,.btn.soft.dgr{background:var(--crit-b);color:var(--crit-t)}

/* chips + pills */
.chips-row{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}
.pill{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 14px;border-radius:99px;background:var(--field);font-size:14px;color:var(--ink2);white-space:nowrap}
.pill .i{width:16px;height:16px}
.pill.on{background:var(--em);color:#fff}
.pill.file{cursor:pointer}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.seg{display:flex;gap:4px;padding:4px;border-radius:16px;background:var(--field);margin:14px 0 10px}
.seg button{flex:1;height:38px;border-radius:12px;font-size:14px;color:var(--ink2)}
.seg button.on{background:var(--card);color:var(--ink);font-weight:500;box-shadow:var(--shadow)}
.note-warn{display:flex;gap:8px;align-items:flex-start;padding:10px 14px;border-radius:16px;background:var(--wait-b);color:var(--wait-t);font-size:14px;margin:10px 0}
.note-warn .i{margin-top:3px}
.login-err{margin-top:12px}
.rs>.btn{margin-top:14px}
.mform>.btn{margin-top:14px}

/* member picker */
.mpick{display:flex;flex-direction:column;gap:2px;margin:6px 0}
.mp-cap{font-size:12px;color:var(--ink3);margin:6px 6px 2px;font-weight:500}
.mp-search{margin-bottom:2px}
.mpick .more-link{border-top:0;margin-top:0}
.mrow{display:flex;align-items:center;gap:12px;min-height:54px;padding:0 10px;border-radius:16px;text-align:start;width:100%}
.mrow:hover{background:var(--field)}
.mrow.on{background:var(--mint)}
.mrow .mn{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.5}
.mrow .mn-t{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mrow .mn-i{font-size:12px;color:var(--ink3);font-weight:400}
.mck{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;color:var(--em-t);flex:none}
.mck .i{width:18px;height:18px;stroke-width:2.6}

/* shamsi date */
.sd-sel{display:flex;gap:8px;margin:6px 0}
.sel{flex:1;height:44px;border-radius:14px;background:var(--field);padding:0 10px;font:inherit;color:inherit;border:0}
.sd-txt{font-size:12px;margin:4px 4px 0}

/* tab/nav badge */
.nbadge{position:absolute;top:-2px;inset-inline-start:2px;min-width:18px;height:18px;border-radius:9px;padding:0 5px;background:var(--danger);color:#fff;font-style:normal;font-size:12px;font-weight:600;display:grid;place-items:center;line-height:1}
.tab .ti{position:relative}
.nav{position:relative}
.nav .nbadge{position:static;margin-inline-start:auto}

/* ---------- inbox ---------- */
.inbox-hd{flex-wrap:wrap;align-items:center}
.island{display:flex;align-items:stretch;border-radius:26px;padding:6px;width:100%}
.pill-n{flex:1;padding:6px 8px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-width:0}
.pill-n+.pill-n{border-inline-start:1px solid var(--sep)}
.pill-n{border-radius:20px;cursor:pointer;transition:background .15s}
.pill-n+.pill-n{border-inline-start:0;position:relative}
.pill-n+.pill-n::before{content:"";position:absolute;inset-inline-start:0;top:20%;bottom:20%;width:1px;background:var(--sep)}
.pill-n.on{background:var(--em);color:#fff}
.pill-n.on small,.pill-n.on b{color:#fff}
.pill-n.on::before,.pill-n.on+.pill-n::before{display:none}
.pill-n small{font-size:12px;color:var(--ink3);line-height:1.5;white-space:nowrap}
.pill-n b{font-size:20px;font-weight:500;line-height:1.5}
.pill-n.bad b{color:var(--crit-t)}
.two{display:grid;grid-template-columns:minmax(0,1fr);gap:0}
.col-main,.col-side{min-width:0}

/* ---------- cases board ---------- */
.cpage{display:flex;flex-direction:column;min-width:0;min-height:calc(100dvh - 190px)}
.c-head{order:0;align-items:center}
.c-filters{order:1;margin:0 0 10px}
.steps5{order:2;display:flex;justify-content:space-between;gap:4px;margin:6px 0 4px}
.board-phone{order:3}
.c-search{order:4;margin-top:auto}
.board{display:none}
.st5{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;font-size:12px;color:var(--ink3);min-width:0}
.st5 i{width:44px;height:44px;border-radius:50%;background:var(--card);box-shadow:var(--shadow);display:grid;place-items:center;font-style:normal;font-size:16px;font-weight:500;color:var(--ink2)}
.st5.on i{background:var(--em);color:#fff;box-shadow:0 6px 14px -6px rgba(7,139,78,.8)}
.st5.on{color:var(--ink);font-weight:600}
.st5 span{white-space:normal;text-align:center;line-height:1.3}
/* an empty stage steps back (still tappable) so the eye goes to the stages that hold cases */
.st5.z:not(.on){opacity:.5}
.st5.z:not(.on) i{box-shadow:none}
.c-new{display:none}
.searchbar{display:flex;align-items:center;gap:10px;height:52px;border-radius:26px;padding:0 18px;color:var(--ink3)}
.searchbar input{flex:1;min-width:0;font-size:14px;outline:none;height:100%}
.searchbar:focus-within{box-shadow:0 0 0 2px var(--em)}
/* phone: the search pill is pinned above the tab bar, the round + (app.css .fab, 56px) sits in the same row at its end, so they never overlap */
.c-search{position:fixed;inset-inline:16px;bottom:calc(max(14px,env(safe-area-inset-bottom)) + 68px + 12px);margin-inline-end:68px;z-index:4}
.cpage{padding-bottom:76px}
.col-empty{text-align:center;font-size:12px;padding:10px 0}

@media (min-width:900px){
 .inbox-hd{flex-wrap:nowrap}
 .island{width:auto}
 .pill-n{padding:6px 18px}
 .two{grid-template-columns:minmax(0,1fr) 380px;gap:24px;align-items:start}
 .two .sec:first-child{margin-top:6px}
 .cpage{min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 340px;grid-template-areas:"head search" "filters filters" "board board";column-gap:16px;align-items:center}
 .c-head{grid-area:head;margin-bottom:6px}
 .c-new{display:inline-flex}
 .c-search{grid-area:search;position:static;margin:0 0 14px}
 .cpage{padding-bottom:0}
 .c-filters{grid-area:filters;margin:4px 0 14px}
 .steps5,.board-phone{display:none}
 .board{grid-area:board;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;align-items:start}
 .cpage>.skel{grid-column:1/-1}
}
.col{border-radius:26px;padding:12px;background:var(--col);display:flex;flex-direction:column;gap:10px;min-width:0}
.colh{display:flex;align-items:center;gap:8px;padding:2px 4px 6px}
.colh span{font-weight:600;font-size:14px;white-space:nowrap}
.nc{width:26px;height:26px;border-radius:50%;background:var(--card);color:var(--ink2);font-size:12px;font-weight:500;display:grid;place-items:center;flex:none;box-shadow:var(--shadow);font-style:normal}
button.cnt{cursor:pointer}
.cnt.on{background:var(--em);color:#fff}
.board.only{grid-template-columns:minmax(0,1fr)}
.col.only .cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}
.cards{display:contents}
.cnt{margin-inline-start:auto;min-width:24px;height:24px;border-radius:12px;padding:0 7px;background:var(--done-b);color:var(--done-t);font-size:12px;font-weight:500;display:grid;place-items:center;font-style:normal}
.cc{background:var(--card);border-radius:20px;padding:14px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:10px;min-width:0}
.cc .t{display:flex;gap:10px;align-items:flex-start}
.cc .t div{font-weight:500;font-size:14px;line-height:1.6;min-width:0}
.cc .a{display:flex;align-items:baseline;gap:6px;font-size:14px}
.cc .a .num{font-weight:500;font-size:16px}
.cc .g{font-size:12px;color:var(--ink3);display:flex;align-items:center;gap:6px;min-width:0}
.cc .g .i{width:16px;height:16px}
.cc .cf{display:flex;align-items:center;justify-content:space-between;gap:6px;flex-wrap:wrap}

/* ---------- case detail + council ---------- */
.nb{display:inline-flex;align-items:center;gap:2px;color:var(--em-t);font-size:16px;margin-bottom:8px}
.nb .i{width:22px;height:22px}
.cd{display:grid;grid-template-columns:minmax(0,1fr);gap:0;min-width:0}
.cd-main,.cd-side{min-width:0}
.cd-hd{display:flex;gap:14px;align-items:flex-start;margin-bottom:14px}
.cd-hd h1{font-size:28px;margin-bottom:2px}
.sum{padding:16px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.sum small{display:block;font-size:12px;color:var(--ink3)}
.sum b{font-size:20px;font-weight:500;line-height:1.5;display:block}
.sum b em{font-style:normal;font-size:14px;color:var(--ink3);margin-inline-start:6px}
.needy{text-align:end}
.needy b{font-size:16px}
.needy .muted{font-size:12px;display:block}
.tl{padding:0 4px}
.step{position:relative;display:flex;gap:14px;padding-bottom:22px}
.step:last-child{padding-bottom:6px}
.step:not(:last-child)::before{content:"";position:absolute;inset-inline-start:15px;top:32px;bottom:2px;width:2px;background:var(--track);border-radius:99px}
.step.done:not(:last-child)::before{background:var(--em)}
.dot{width:32px;height:32px;border-radius:50%;flex:none;display:grid;place-items:center;background:var(--track);color:var(--ink3);z-index:1;font-size:12px;font-weight:500}
.step.done .dot{background:var(--em);color:#fff}
.step.now .dot{background:var(--card);box-shadow:0 0 0 2px var(--em),0 0 0 7px var(--ok-b);color:var(--em-t)}
.dot .i{width:16px;height:16px;stroke-width:2.4}
.sb{flex:1;min-width:0;padding-top:3px}
.sb h3{font-size:16px;font-weight:500;line-height:1.5}
.sb h3.who{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.sb h3 .arr{width:16px;height:16px;color:var(--ink3)}
.sb p{font-size:12px;color:var(--ink3);margin-top:1px}
.qt{margin-top:8px;padding:10px 14px;border-radius:18px;background:var(--col);font-size:14px;color:var(--ink2);line-height:1.8}
.qt.res{background:var(--mint);color:var(--ink)}
.qt b{display:block;font-size:12px;font-weight:500;color:var(--em-t);margin-bottom:2px}
.sess{margin-top:10px;display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:18px;background:var(--new-b);color:var(--new-t);font-size:14px;font-weight:500}
.sess span{flex:1}
.sess .chev{color:inherit}
.docs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:14px}
.doc{position:relative;aspect-ratio:1;border-radius:18px;background:var(--field);overflow:hidden;display:block}
.doc img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.doc-ph{position:absolute;inset:0;display:grid;place-items:center;color:var(--ink3)}
.doc-ph .i{width:30px;height:30px}
.doc small{position:absolute;inset-inline:0;bottom:0;padding:14px 6px 6px;font-size:12px;color:#fff;text-align:center;background:linear-gradient(transparent,rgba(0,0,0,.55))}
.viewer{position:relative;border-radius:22px;overflow:hidden;background:var(--field);min-height:260px;display:grid;place-items:center;margin-bottom:10px}
.viewer img{position:relative;width:100%;max-height:60dvh;object-fit:contain;display:block}
.viewer .doc-ph{position:static;display:grid;padding:60px 0}
.viewer .doc-ph .i{width:56px;height:56px}
.viewer img+.doc-ph{display:none}
.doc-ph.big{position:absolute;inset:0;padding:0}
.cta{position:sticky;bottom:max(14px,env(safe-area-inset-bottom));margin:18px 0 14px;border-radius:30px;padding:8px;z-index:5;display:flex;flex-direction:column;gap:8px}
.cta .btn{height:52px;font-size:16px}
.cta-row{display:flex;gap:8px}
.cta-row .btn{flex:1;height:44px;font-size:14px;padding:0 10px}
.cta-main{display:flex;gap:8px;align-items:center}
.cta-main .btn{flex:1}
.cta .more-btn{width:52px;height:52px;flex:none;background:var(--field)}
.cta-none{text-align:center;font-size:14px;padding:6px 0}
@media (min-width:900px){
 .cd{grid-template-columns:minmax(0,1fr) 360px;gap:0 24px;align-items:start}
 .cd-main{grid-column:1;grid-row:1/span 2}
 .cd-side{grid-column:2;grid-row:1}
 .cd-side .sec:first-child{margin-top:0}
 .cta{grid-column:1/-1;grid-row:3;width:100%;max-width:560px;margin-inline:auto}
 .cd-hd h1{font-size:28px}
}
@media (min-width:1400px){
 .cd{grid-template-columns:minmax(0,1fr) minmax(420px,520px);gap:0 40px}
 .cd{grid-template-rows:auto 1fr}
 .cta{grid-column:2;grid-row:1;align-self:start;position:static;max-width:none;margin:0 0 6px}
 .cd-side{grid-row:2}
 .cd-side .sec:first-child{margin-top:14px}
}

/* council */
.minutes{padding:16px 20px;display:flex;flex-direction:column;gap:8px}
.mtext,.otext{white-space:pre-wrap;line-height:1.9;font-size:14px}
.otext{margin-top:4px;color:var(--ink2);font-size:14px}
.opin .rb{min-width:0}
.rt2{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.rt2 small{font-size:12px}
.vp{display:flex;align-items:center;gap:10px;margin-top:8px;padding:6px 6px 6px 14px;border-radius:99px;background:var(--field)}
.vp audio{display:none}
.vp-b{width:36px;height:36px;border-radius:50%;flex:none;display:grid;place-items:center;background:var(--em);color:#fff}
.vp-b .i{width:16px;height:16px}
.vp-b .i-pause,.vp.on .i-play{display:none}
.vp.on .i-pause{display:block}
.vp-bar{flex:1;height:4px;border-radius:99px;background:var(--track);overflow:hidden}
.vp-bar i{display:block;height:100%;width:0;background:var(--em);border-radius:99px}
.vp-t{font-size:12px;color:var(--ink3);min-width:70px;text-align:center;font-variant-numeric:tabular-nums}
.mform{display:block}
.tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.tile{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:8px 12px;border-radius:99px;background:var(--mint);font-size:14px;text-align:center;line-height:1.4;color:var(--em-t);min-width:0}
.tile .i{width:20px;height:20px;flex:none}
.tile.on{background:var(--em);color:#fff;font-weight:500}
.council-sum .csum-note{margin:2px 18px 16px;padding:0}
.council-sum + .evid,.council-sum + .sec,.council-sum + .oprog{margin-top:18px}
.council-sum ~ .oprog{margin-top:18px}
.fchip{display:flex;align-items:center;gap:10px;padding:6px 6px 6px 14px;border-radius:18px;background:var(--mint);color:var(--em-t);font-size:14px;margin:6px 0}
.fchip span{flex:1}
.phone-m{direction:ltr;unicode-bidi:isolate}

@media (min-width:1400px){
 .two{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
 .inbox-hd h1{font-size:28px}
}
.col[hidden]{display:none}

/* logout sits apart at the end of «بیشتر» */
.more-out{margin-top:22px;border-top:1px solid var(--sep)}
/* a notification / «بیشتر» row is at most two lines: title + one meta line; long text is cut with an ellipsis, the whole text is behind the tap */
.nt-list .row .rm,.sheet .row .rm{flex-wrap:nowrap}
.nt-list .row .rm>span,.sheet .row .rm>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nt-list .row .rm>.nt-time{flex:none;overflow:visible}
/* unread = bold + a dot (these rules sat in a scoped file that is never linked, so they never applied) */
.nt-unread{font-weight:600;color:var(--ink)}
.nt-read{font-weight:400}
.nt-time{color:var(--ink3);font-size:12px}
.nt-dot{width:10px;height:10px;border-radius:50%;background:var(--em);flex:none}

/* money page */
/* three equal flat frames in one row: same size, same edge, soft shadow, nothing inside another box */
.money-sum{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.ms-fr{background:var(--card);border-radius:24px;box-shadow:var(--shadow);padding:6px 18px;min-width:0;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:10px}
.money-sum.empty{grid-template-columns:minmax(0,1fr)}
.ms-fr b.ms-none{font-size:16px;font-weight:400;color:var(--ink3)}
.ms-fr small{display:block;font-size:12px;color:var(--ink3);white-space:nowrap}
.ms-fr b{display:block;font-weight:500;line-height:1.5;font-size:16px;white-space:nowrap}
.ms-main b{font-size:20px;font-weight:600}
.ms-alloc{margin-top:0}
.money-cta{display:none}
@media (max-width:599px){
 /* phone: ONE brand-green summary card (balance big, the two totals small on one line); the add button sits in the thumb zone */
 .money-sum{position:relative;display:flex;flex-wrap:wrap;align-items:baseline;gap:0 8px;background:var(--em);color:#fff;border-radius:28px;padding:14px 20px 14px;box-shadow:var(--shadow)}
 .ms-fr{background:none;box-shadow:none;border-radius:0;padding:0;flex:0 0 auto;flex-direction:row;gap:5px;align-items:baseline}
 .ms-fr small{color:rgba(255,255,255,.78)}
 .ms-fr b{font-size:14px;font-weight:500;color:#fff}
 .ms-fr b.ms-none{font-size:16px;font-weight:400;color:rgba(255,255,255,.85)}
 .money-sum.empty .ms-main{margin-bottom:0}
/* no separator glyph between the two totals: a plain gap (a «·» next to a digit reads as a Persian zero) */
 .ms-main{flex:1 0 100%;flex-direction:column;align-items:flex-start;gap:0;margin-bottom:6px}
 .ms-main small{font-size:12px}
 .ms-main b{font-size:28px;font-weight:600;line-height:1.4}
 .ms-main .ms-alloc{position:absolute;inset-inline-end:16px;top:14px;background:rgba(255,255,255,.18);color:#fff;box-shadow:none}
 .money-top{display:none}
 .money-cta{display:inline-flex;position:fixed;inset-inline:16px;bottom:calc(max(14px,env(safe-area-inset-bottom)) + 68px + 14px);z-index:5;justify-content:center;width:auto}
 main:has(.money-cta){padding-bottom:84px}
}
.row .amt{font-size:14px;font-weight:500}
.row .amt.neg{color:var(--ink2)}
.fundrow{display:block;margin-top:12px}

/* case status line +«nothing for you to do» capsule */
.stline{font-size:14px;color:var(--ink2);line-height:1.7;margin:2px 0 4px}
.cta.quiet{position:static;background:none;padding:0;box-shadow:none;margin:18px 0 14px}
.cta-none{background:var(--field);color:var(--ink3);border-radius:99px;padding:10px 18px;font-size:12px;line-height:1.7}

/* first-time guide + glossary */
.qmark{display:inline-grid;place-items:center;width:28px;height:28px;margin-inline-start:10px;border-radius:50%;background:var(--field);color:var(--ink3);font-size:14px;font-weight:500;vertical-align:middle}
.guide{position:relative;padding:20px 20px 18px;display:flex;flex-direction:column;gap:12px}
.guide .gx{position:absolute;top:12px;inset-inline-end:12px}
.guide p{padding-inline-end:36px;line-height:1.8}
.guide ol{list-style:none;display:flex;flex-direction:column;gap:10px}
.guide li{display:flex;align-items:center;gap:12px;font-size:14px}
.guide li i{width:30px;height:30px;border-radius:50%;background:var(--mint);color:var(--em-t);display:grid;place-items:center;font-style:normal;font-weight:600;flex:none}
.gloss{display:flex;flex-direction:column;gap:2px}
.gloss>div{padding:10px 0}
.gloss>div+div{border-top:1px solid var(--sep)}
.gloss dt{font-weight:600;font-size:14px}
.gloss dd{font-size:14px;color:var(--ink2);line-height:1.8}
.hint{font-size:12px;color:var(--ink3);margin:-2px 4px 6px;line-height:1.6}

/* ---------- money: tabs, sheets, case fund ---------- */
.field.start{text-align:start;font-size:16px;margin-top:8px}
.field.ltr{direction:ltr;text-align:left}
.field:disabled{opacity:.5}
.mform .btn.wide{margin-top:16px}
.mform .hint{margin-top:10px}
.mform .chips-row{margin:10px 0 2px}
.seg button .nc.inl{display:inline-grid;vertical-align:middle;margin-inline-start:6px;width:20px;height:20px;font-size:12px;background:var(--danger);color:#fff;box-shadow:none}
.more-note{text-align:center;margin-top:10px}
.pct{font-size:14px;font-weight:500;color:var(--em-t)}
.avail{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;padding:12px 16px;border-radius:18px;background:var(--mint);margin-bottom:6px}
.avail small{font-size:12px;color:var(--ink3)}
.avail b{font-size:20px;font-weight:600;color:var(--em-t)}
.cpick{margin:6px 0}
.searchbar.sm{height:44px;margin-bottom:6px;background:var(--field);box-shadow:none;border-radius:22px}
.cp-none{text-align:center}
.cprow .mn{display:flex;flex-direction:column;gap:0;line-height:1.5}
.cprow .cp-t{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500;font-size:14px}
.cprow .cp-i{font-size:12px;color:var(--ink3);font-weight:400}
.disb-hd{display:flex;align-items:center;gap:14px;margin-bottom:10px}
.disb-hd h3{font-size:20px;font-weight:600;line-height:1.5}
.disb-hd p{font-size:12px}
.disb-amt{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.disb-amt b{font-size:28px;font-weight:600}
.disb-amt small{font-size:12px;color:var(--ink3)}
.disb-amt .chip{margin-inline-start:auto;align-self:center}
.prog{height:8px;border-radius:99px;background:var(--track);overflow:hidden;margin:4px 0 6px}
.prog i{display:block;height:100%;border-radius:99px;background:var(--em);transition:width .3s}
.apr{margin:10px 0 4px}
.apr .row.slim{padding:8px 0;gap:12px;font-size:14px;align-items:center}
.apr .row.slim>span:last-child{text-align:end;display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end;min-width:0}
.disb-act{display:flex;flex-direction:column;gap:10px;margin-top:14px}
.fund3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:6px}
.fund3>div{background:var(--field);border-radius:18px;padding:10px 12px;min-width:0}
.fund3 small{display:block;font-size:12px;color:var(--ink3)}
.fund3 b{display:block;font-size:12px;font-weight:600;line-height:1.6;letter-spacing:-.2px}
@media (min-width:420px){.fund3 b{font-size:14px}}
.fund3>div:last-child b{color:var(--em-t)}
.fr-main{flex:1;min-width:0;text-align:start;font:inherit;color:inherit}
.fundrow .row .btn.sm{flex:none}
.fr-stats{width:calc(100% - 32px);margin:0 16px 16px;text-align:start;font:inherit;color:inherit}
.fr-main .rt small{font-size:12px;font-weight:400}
.trace{list-style:none;display:flex;flex-direction:column;gap:2px;padding:0 4px}
.trace li{display:flex;gap:12px;align-items:flex-start;padding:8px 0;position:relative}
.trace li:not(:last-child)::before{content:"";position:absolute;inset-inline-start:15px;top:40px;bottom:-6px;width:2px;background:var(--track)}
.trace li.sub{padding-inline-start:26px}
.trace li.sub::before{inset-inline-start:41px}
.tdot{width:32px;height:32px;border-radius:50%;background:var(--mint);color:var(--em-t);display:grid;place-items:center;flex:none}
.tdot .i{width:16px;height:16px}
.trace b{display:block;font-weight:500;font-size:14px;line-height:1.5}
.trace small{display:block;font-size:12px;color:var(--ink3);line-height:1.6}
.stats .row .amt{font-size:20px}
.stats-sub{margin-bottom:8px}

/* sim-fix2: report sheet, contact card, attachments, my-work */
.seg button:disabled{opacity:.4;pointer-events:none}
.seg.rec{margin-top:4px}
.seg.rec button.on.rec-ok{background:var(--ok-b);color:var(--ok-t)}
.seg.rec button.on.rec-no{background:var(--crit-b);color:var(--crit-t)}
.seg.rec button.on.rec-wait{background:var(--wait-b);color:var(--wait-t)}
.kind-sel{flex:1;min-width:0;height:36px;border-radius:99px;background:var(--card);padding:0 12px;font:inherit;font-size:14px;color:inherit;border:0}
.rs-draft{display:block;margin:4px 6px 0}
.contact{padding:14px 18px;margin-top:10px;display:flex;flex-direction:column;gap:10px}
.tel-pill{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;height:44px;padding:0 18px;border-radius:99px;background:var(--mint);color:var(--em-t);font-weight:500;font-size:16px}
.tel-pill .i{width:18px;height:18px}
.contact .cl{display:flex;flex-direction:column;gap:2px}
.contact .cl small{font-size:12px;color:var(--ink3)}
.contact .cl span{font-size:14px;line-height:1.7}
.atts{display:grid;grid-template-columns:repeat(4,minmax(0,64px));gap:8px;margin:8px 0}
.doc.sm{border-radius:14px}
.doc.sm small{padding:8px 2px 3px;font-size:12px}
.end-chips{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}
.hist{display:inline-flex;align-items:center;gap:2px;margin-top:6px;font-size:14px;color:var(--em-t)}
.hist .i{width:14px;height:14px}
button.hist{background:none;border:0;padding:0;font:inherit;font-size:14px;cursor:pointer;margin-inline-start:16px}
.evid .qt{margin-top:10px}
.evid .atts{grid-template-columns:repeat(auto-fill,minmax(92px,112px));gap:10px;margin:14px 0 0}
.evid .doc.sm small{font-size:12px;padding:12px 4px 5px}
.note-line{padding:2px 6px;font-size:12px}
.nbadge.solo{position:static;margin-inline-end:8px}
.step .vp{margin-top:8px}

/* ---------- judge-fix: case detail order ---------- */
@media (max-width:899px){
 .cd:not(.single) .cd-main,.cd:not(.single) .cd-side{display:contents}
 .cd:not(.single) .cd-hd{order:0}
 .cd:not(.single) .sum{order:1}
 .cd:not(.single) .cd-fund{order:2}
 .cd:not(.single) .note-warn{order:3}
 .cd:not(.single) .cd-tl{order:4}
 .cd:not(.single) .cd-needs{order:5}
 .cd:not(.single) .cd-docs{order:6}
 .cd:not(.single) .cta{order:9}
}
@media (min-width:900px){
 .cd:not(.single) .cd-side{display:flex;flex-direction:column}
 .cd:not(.single) .cd-needs{order:1}
 .cd:not(.single) .cd-docs{order:2}
 .cd:not(.single) .cd-fund{order:3;margin-top:16px}
}

/* ---------- judge-fix: case fund row = one line ---------- */
.fr-line{display:block;width:calc(100% - 32px);margin:0 16px 14px;padding:0 2px;text-align:start;font:inherit;font-size:14px;color:var(--ink2);line-height:1.7}
.fr-line b{font-weight:500;color:var(--ink)}
.fr-line.muted{color:var(--ink3)}

/* ---------- judge-fix: council (one column inside the width cap) ---------- */
.cd.single,.cd.single{grid-template-columns:minmax(0,1fr);grid-template-rows:none;gap:0}
.cd.single .cd-main,.cd.single .cd-side{grid-column:1;grid-row:auto}
.oprog{display:flex;align-items:center;gap:14px;margin:0 6px 10px;font-size:14px;color:var(--ink2)}
.oprog span:first-child{white-space:nowrap}
.oprog .prog{flex:1;max-width:260px;margin:0}

/* ---------- judge-fix: cases board ---------- */
.col.slim{padding:8px 12px;gap:0}
.col.slim .colh{padding:2px 0}
.colh-empty{margin-inline-start:auto;font-size:12px}
.colh .chip{height:22px;padding:0 8px}
.cnt{padding:0 10px;white-space:nowrap}
.board-phone .row .rt{white-space:nowrap}
.board-phone .row .amt{font-size:14px;font-weight:500;white-space:nowrap}
@media (max-width:899px){
 .c-filters{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-inline:-16px;padding-inline:16px}
 .c-filters::-webkit-scrollbar{display:none}
 .c-filters .pill{flex:none}
}

/* ---------- judge-fix: inbox ---------- */
.row.rowlink{position:relative}
.row.rowlink a.rb::after{content:"";position:absolute;inset:0}
.row.rowlink .btn{position:relative;z-index:1}
.btn.sm.tall{min-height:44px;height:44px}
.more-link{display:flex;align-items:center;justify-content:center;gap:4px;width:100%;min-height:44px;margin-top:2px;border-top:1px solid var(--sep);color:var(--em-t);font-size:14px;font-weight:500}
@media (min-width:900px){
 /* the three counters live in the title row, flat, right beside the greeting */
 .inbox-hd{justify-content:flex-start;gap:40px;align-items:center}
 .inbox-hd .island{background:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;padding:0;gap:4px}
}

/* ---------- members: admin management ---------- */
.mem-h{display:flex;align-items:baseline;gap:8px;font-size:14px;font-weight:600;color:var(--ink2);margin:18px 4px 8px}
.mem-n{font-size:12px;font-weight:400;color:var(--ink3)}
.row.rowbtn{cursor:pointer;border-radius:14px;transition:background .15s}
.row.rowbtn:focus-visible{outline:none;box-shadow:0 0 0 2px var(--em)}
.mem-fold{display:flex;align-items:center;gap:6px;margin:20px 4px 8px;font-size:14px;color:var(--ink3);min-height:44px}
.mem-fold .i{width:16px;height:16px}
.mem-off .av{background:var(--field);color:var(--ink3)}
.mem-off .rt{color:var(--ink3)}
.mem-add{display:none}
.mem-fab{position:fixed;inset-inline:16px;margin-inline:auto;bottom:calc(max(14px,env(safe-area-inset-bottom)) + 68px + 14px);width:min(calc(100% - 32px),360px);height:52px;font-size:16px;z-index:4}
.mem-pad{height:76px}
@media (min-width:900px){
 .mem-add{display:inline-flex}
 .mem-fab,.mem-pad{display:none}
 .row.rowbtn:hover{background:var(--field)}
}
.mform .field:focus,.mform .field:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--em) 28%,transparent),0 0 0 1.5px var(--em)}
.mform .pill{min-height:44px}
.mform .btn:disabled{background:var(--field);color:var(--ink3);box-shadow:none;cursor:not-allowed}
/* members: wide screens (>=1100px) swap the role-grouped cards for one compact table */
.mem-table{display:none}
@media (min-width:1100px){
 .mem-groups,.mem-h{display:none}
 .mem-table{display:block;padding:4px 0;overflow:hidden}
 .trow{display:grid;grid-template-columns:1fr 160px 150px;align-items:center;column-gap:12px;width:100%;min-height:44px;padding:0 20px;text-align:start;border-radius:0}
 .trow+.trow{border-top:1px solid var(--sep)}
 .trow.rowbtn{border-radius:0}
 .trow.rowbtn:hover{background:var(--field)}
 .trow.rowbtn:focus-visible{box-shadow:inset 0 0 0 2px var(--em)}
 .tn{display:flex;align-items:center;gap:10px;min-width:0}
 .tn .av{width:28px;height:28px;font-size:13px;flex:none}
 .tn .rt{font-size:15px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .tr{font-size:13px;color:var(--ink3)}
 .tp{font-size:13px;color:var(--ink3);font-variant-numeric:tabular-nums;text-align:start}
 .mem-table.mem-off{opacity:.55}
 .mem-table.mem-off .av{background:var(--field);color:var(--ink3)}
}
/* ---------- taste-fix B: rows. The case number is a plain grey tabular number; meta items are separated by the Persian comma «،» (never a middle dot: it reads as a zero next to a digit) ---------- */
.cno{color:var(--ink3);font-variant-numeric:tabular-nums}
.row .rm>span:not(.req):has(~span:not(.req))::after{content:"،"}
.money-list .row .rm{flex-wrap:nowrap;white-space:nowrap;overflow:hidden}
.money-list .row .rm>*{min-width:0;flex:none}

/* ---------- taste-fix D: case detail ---------- */
.stline .cno{font-weight:500}
.detail-l{display:inline-flex;align-items:center;gap:2px;flex:none;font-size:14px;font-weight:500;color:var(--em-t)}
@media (max-width:899px){
 .cd:not(.single) .cd-note{order:1}
 .cd:not(.single) .sum{order:2}
 .cd:not(.single) .cd-fund{order:3}
 .cd:not(.single) .note-warn{order:4}
 .cd:not(.single) .cd-tl{order:5}
 .cd:not(.single) .cd-needs{order:6}
 .cd:not(.single) .cd-docs{order:7}
}
/* the request text: pre-wrapped, 14px, clamped to 8 lines until «بیشتر» */
.cd-note{margin-bottom:14px}
.cd-note .sec{margin-top:6px}
.note-card{padding:16px 20px}
.nbody{font-size:14px;line-height:1.8;color:var(--ink);overflow-wrap:anywhere}
.nbody p{white-space:pre-wrap}
.nbody p+p,.nbody ul+p,.nbody p+ul{margin-top:6px}
.nbody ul{list-style:none;display:flex;flex-direction:column;gap:2px}
.nbody li{position:relative;padding-inline-start:16px}
.nbody li::before{content:"";position:absolute;inset-inline-start:2px;top:.85em;width:5px;height:5px;border-radius:50%;background:var(--ink3)}
.nbody.clamp{max-height:calc(14px*1.8*8);overflow:hidden;-webkit-mask-image:linear-gradient(#000 70%,transparent);mask-image:linear-gradient(#000 70%,transparent)}
.note-more{margin-top:6px;min-height:36px;color:var(--em-t);font-size:14px;font-weight:500}
/* council summary: the first two lines only */
.note-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:14px;line-height:1.8;color:var(--ink2);white-space:pre-wrap;overflow-wrap:anywhere}
