/* StuLo admin: the backend for staff. Builds on app.css, only what the admin adds lives here. */

/* shell */
.adm-logo{display:flex;align-items:center;gap:10px}
.adm-logo span{height:22px;padding:0 8px;border-radius:999px;background:var(--navy);color:#fff;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;display:inline-flex;align-items:center}
.scope{display:flex;align-items:center;gap:8px;height:42px;padding:0 4px 0 12px;border-radius:var(--r-input);background:#fff;box-shadow:inset 0 0 0 1px var(--line);color:var(--muted);transition:box-shadow .3s var(--ease-soft)}
.scope:hover{box-shadow:inset 0 0 0 1px var(--line-2)}
.scope svg.i{width:18px;height:18px}
.scope select{height:40px;max-width:220px;padding:0 30px 0 0;border:0;background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23121740' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 10px center;appearance:none;-webkit-appearance:none;font:inherit;font-size:14px;font-weight:600;color:var(--navy);cursor:pointer;outline:none;text-overflow:ellipsis}
.scope.fixed{padding:0 14px 0 12px;cursor:default}
.scope.fixed b{font-size:14px;color:var(--navy);white-space:nowrap;max-width:220px;overflow:hidden;text-overflow:ellipsis}
.scope:focus-within{box-shadow:inset 0 0 0 1.5px var(--bright)}
@media(max-width:900px){.scope select{max-width:140px}.scope.fixed b{max-width:140px}}
@media(max-width:640px){.scope{display:none}}
.search{margin:0}

/* statuses: one shape (app.css), four tones */
.st.b{background:var(--indigo-50);color:var(--bright)}
.st.n{background:var(--cloud);color:var(--muted)}
.st.t{background:#E6F6F6;color:#137577}
.st i{width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}

/* person cell */
.who{display:flex;align-items:center;gap:12px;min-width:0}
.who .av{width:36px;height:36px;border-radius:12px;font-size:12.5px}
.who b{display:block;font-size:14.5px;color:var(--navy);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.who small{display:block;font-size:12.5px;color:var(--muted);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.av.c1{background:var(--indigo-50);color:var(--bright)}.av.c2{background:#E6F6F6;color:#137577}.av.c3{background:var(--warn-50);color:var(--warn)}.av.c4{background:var(--mint);color:var(--green)}
.org-dot{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;font-weight:600;color:var(--navy);white-space:nowrap}
.org-dot::before{content:"";width:8px;height:8px;border-radius:3px;background:var(--c,var(--bright));flex:none}

/* list pages: title, filters and table in one card */
.list-card{padding:0;overflow:hidden}
.list-head{display:grid;gap:14px;padding:20px 22px 16px;border-bottom:1px solid var(--line)}
.list-head .row1{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}
.list-head h2{font-size:18px;letter-spacing:-.01em}
.list-head .sub{margin-top:2px}
.flt{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px}
.flt .search.sm{flex:1 1 280px;max-width:360px;height:36px}
.flt .link{font-size:13.5px}
.flt .rng{display:contents}
.sort .dp input{width:150px;height:36px;padding:0 42px 0 12px;border-radius:var(--r-input);border:1px solid var(--line);background:#fff;font:inherit;font-size:13.5px;font-weight:600;color:var(--navy);outline:none}
.sort .dp input:hover{border-color:var(--line-2)}
.sort .dp input:focus{border-color:var(--bright)}
.tbl.adm td.contact{font-size:13.5px;color:var(--ink)}
.tbl.adm td.contact small{display:block;color:var(--muted)}
/* Leads has many columns: tighter cells so it fits a laptop screen without scrolling */
.tbl.adm.leads th,.tbl.adm.leads td{padding-left:8px;padding-right:8px}
.tbl.adm.leads td{white-space:normal}
.tbl.adm.leads td.contact,.tbl.adm.leads td.dt{white-space:nowrap}
.tbl.adm.leads td .st{white-space:nowrap}
.tbl.adm.leads .acts .btn{white-space:nowrap}
.tbl.adm.leads .who .av{display:none}
.tbl.adm.leads .who small{white-space:normal}
.tbl.adm.leads .acts [data-as] svg{display:none}
.tbl.adm.leads .rl{display:inline-flex;align-items:center;gap:5px;margin-top:4px;font-size:12.5px;font-weight:600}
.tbl.adm.leads .rl svg{width:13px;height:13px}
.seg.stage{flex-wrap:wrap}
.tbl.adm{min-width:880px}
.tbl.adm th{padding:12px 14px;border-bottom:1px solid var(--line)}
.tbl.adm th:first-child,.tbl.adm td:first-child{padding-left:22px}
.tbl.adm th:last-child,.tbl.adm td:last-child{padding-right:22px}
.tbl.adm td{padding:12px 14px;vertical-align:middle}
.tbl.adm tbody tr:first-child td{border-top:0}
.tbl.adm td.r,.tbl.adm th.r{text-align:right}
.tbl.adm td small{display:block;font-size:12.5px;color:var(--muted)}
.tbl.adm .acts{display:flex;justify-content:flex-end;gap:8px}
.tbl.adm tbody tr.noclick{cursor:default}
.tbl.adm tbody tr.noclick:hover td{background:none}
.list-card .tbl-wrap{margin:0}
.list-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:14px 22px;border-top:1px solid var(--line);font-size:13.5px;color:var(--muted)}
.pager{display:flex;align-items:center;gap:6px}
.pager button{min-width:36px;height:36px;padding:0 10px;border-radius:12px;border:1px solid var(--line);background:#fff;font-size:13.5px;font-weight:600;color:var(--navy);transition:border-color .3s var(--ease-soft)}
.pager button:hover:not(:disabled){border-color:var(--line-2)}
.pager button[aria-current=page]{background:var(--navy);border-color:var(--navy);color:#fff}
.pager button:disabled{color:var(--subtle);cursor:not-allowed}
.list-card .list-empty{border-top:0}
@media(max-width:640px){.list-head,.list-foot{padding-left:16px;padding-right:16px}.tbl.adm th:first-child,.tbl.adm td:first-child{padding-left:16px}.flt .search.sm{max-width:none;flex-basis:100%}}

/* overview */
.kpi .ico svg{width:18px;height:18px}
.kpi a.link{margin-top:10px}
.kpi .delta.down{color:var(--warn)}
/* case workspace */
.mini-sel{height:36px;padding:0 30px 0 10px;border-radius:var(--r-input);border:1px solid var(--line);background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23121740' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 10px center;font:inherit;font-size:13.5px;font-weight:600;color:var(--navy);-webkit-appearance:none;appearance:none;cursor:pointer;max-width:100%}
.mini-sel:focus{outline:none;border-color:var(--bright)}
.req{border:1px solid var(--line);border-radius:var(--r-input);padding:14px 16px;margin-bottom:10px}
.req-h b{display:block;font-size:13.5px;color:var(--navy)}.req-h span{display:block;font-size:13.5px;color:var(--muted);margin-top:2px}
.req ul{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:8px}
.mdl .notes li{display:block}
.req li{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:14px;color:var(--ink)}
.req li>span:first-child{flex:1;min-width:160px}
.req-a{display:flex;gap:6px}
.req-f{display:grid;gap:12px;margin-top:12px;padding:14px 16px;border-radius:var(--r-input);background:var(--cloud)}
.req-pick{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px 16px}
.ck{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--ink);cursor:pointer}.ck input{width:16px;height:16px;accent-color:var(--bright)}
#reqB{display:inline-flex;align-items:center;gap:6px}#reqB svg{width:15px;height:15px}
.note-box .seg.sm button{white-space:nowrap}
.notes small .st{margin-left:6px;height:20px;font-size:11px;padding:0 8px}
.tl{list-style:none;display:grid;gap:12px}
.tl li{display:flex;gap:12px}.tl i{width:8px;height:8px;margin-top:6px;border-radius:50%;background:var(--line-2);flex:none}.tl li:first-child i{background:var(--bright)}
.tl b{display:block;font-size:13.5px;font-weight:600;color:var(--navy)}.tl small{font-size:12.5px;color:var(--muted)}
.col-f{display:flex;align-items:center;gap:10px;height:44px;padding:0 12px;border:1px solid var(--line);border-radius:var(--r-input)}
.col-f input{width:28px;height:28px;padding:0;border:0;background:none;cursor:pointer}.col-f span{font-size:14px;font-weight:600;color:var(--navy)}
.sw-c{display:inline-block;width:14px;height:14px;border-radius:4px;background:var(--c);margin-right:8px;vertical-align:-2px}
img.org-mk{object-fit:contain;background:#fff;box-shadow:inset 0 0 0 1px var(--line)}
.page-act .rng,.flt .rng{display:contents}
[data-csv]{display:inline-flex;align-items:center;gap:5px;font-size:13px}[data-csv] svg{width:14px;height:14px}
/* Leads header: tabs and sort, then search, Filters and chips, then the filter panel */
.lh-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 16px}
.lh-find{justify-content:flex-start}
.lh-find .search.sm{flex:0 1 360px;height:36px}
#fBtn{gap:7px}#fBtn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
#fBtn em{font-style:normal;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--bright);color:#fff;font-size:11.5px;font-weight:700;display:inline-grid;place-items:center}
#fBtn[aria-expanded=true]{border-color:var(--bright);color:var(--bright)}
.lh-chips{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding-top:14px;border-top:1px solid var(--line)}
.lh-chips[hidden]{display:none}
.lh-l{font-size:12.5px;font-weight:600;color:var(--muted);margin-right:4px}
.chips-f{display:contents}
#resetF{white-space:nowrap;margin-left:4px;font-size:13.5px}
.fchip{display:inline-flex;align-items:center;gap:4px;height:30px;padding:0 4px 0 12px;border-radius:999px;background:var(--indigo-50);color:var(--bright);font-size:13px;font-weight:600}
.fchip button{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;color:var(--bright)}.fchip button:hover{background:#fff}
.fchip svg{width:13px;height:13px}
.fpanel{padding:16px;border-radius:var(--r-input);background:var(--cloud)}
.fp-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px 16px}
@media(max-width:1100px){.fp-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:640px){.fp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.fp-foot{display:flex;align-items:center;justify-content:flex-end;gap:16px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}
.fpanel[hidden]{display:none}
.fpanel .rng{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.fpanel .rng[hidden]{display:none}
.fpanel .rng .dp input{padding:0 30px 0 10px;font-size:13px;text-overflow:clip}
.fpanel .rng .dp-btn{right:2px}
@media(max-width:640px){.fpanel .rng{grid-column:1/-1}}
.fl select,.fl .dp input{text-overflow:ellipsis}
.fl{display:grid;gap:6px;font-size:13.5px;font-weight:600;color:var(--navy)}
.fl select{width:100%;height:36px;padding:0 32px 0 12px;border-radius:var(--r-input);border:1px solid var(--line);background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23121740' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center;font:inherit;font-size:13.5px;font-weight:600;color:var(--navy);-webkit-appearance:none;appearance:none;cursor:pointer}
.fl select:hover{border-color:var(--line-2)}.fl select:focus{outline:none;border-color:var(--bright)}
.fl .dp input{width:100%;height:36px;padding:0 42px 0 12px;border-radius:var(--r-input);border:1px solid var(--line);background:#fff;font:inherit;font-size:13.5px;font-weight:600;color:var(--navy);outline:none}
.fl .dp input:focus{border-color:var(--bright)}
@media(max-width:640px){.lh-find .search.sm{flex-basis:100%}.lh-row>.sort{width:100%}}
/* stage tabs: the Letter decoder switch (Upload a file / Paste text), each count in a small pill */
.seg.dec{justify-self:start}
.seg.dec button{display:inline-flex;align-items:center;gap:8px}
.seg.dec em{font-style:normal;min-width:22px;height:22px;padding:0 7px;border-radius:999px;corner-shape:round;background:rgba(255,255,255,.8);color:var(--muted);font-size:12px;font-weight:700;display:inline-grid;place-items:center;margin:0}
.seg.dec button[aria-selected=true] em{background:var(--indigo-50);color:#3447E6}
.fchip,#fBtn em{corner-shape:round}
.lh-find .lh-sort{margin-left:auto}
/* contrast: tags, avatars and the lead header keep 4.5:1 text and stand out from the grey page */
body[data-shell=admin] .st{color:var(--green-d)}
body[data-shell=admin] .st.b{color:#3447E6}
body[data-shell=admin] .st.w{color:#A3350A}
body[data-shell=admin] .st.n{color:var(--muted)}
.av.c1{color:#3447E6}.av.c3{color:#A3350A}.av.c4{color:var(--green-d)}
.det-t .av{background:#fff;box-shadow:inset 0 0 0 1px var(--line)}
.det-t h1 .st{background:#fff;box-shadow:inset 0 0 0 1px var(--line-2)}
.det-t p{color:var(--ink);font-size:14.5px}
.det-t p svg{color:var(--muted)}
.tbl tbody tr:hover .st.n{background:#fff;box-shadow:inset 0 0 0 1px var(--line)}
.kv dd .na{font-weight:500;color:var(--muted)}
@media(min-width:1100px){.kpis.k6{grid-template-columns:repeat(3,1fr)}}
.att{list-style:none;display:grid;gap:8px}
.att a,.att li>div{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:var(--r-input);border:1px solid var(--line);color:inherit;text-decoration:none;transition:border-color .2s,background .2s}
.att a:hover{border-color:var(--line-2);background:var(--cloud)}
.att b{display:block;font-size:14.5px;color:var(--navy)}.att small{font-size:12.5px;color:var(--muted)}
.att li>a>div,.att li>div>div{flex:1}
.att-n{min-width:28px;height:28px;padding:0 8px;border-radius:999px;corner-shape:round;display:grid;place-items:center;background:var(--cloud);color:var(--muted);font-weight:700;font-size:13px}
.att-n.on{background:var(--warn-50);color:#A3350A}
.att svg{width:16px;height:16px;color:var(--subtle)}
/* creative assets */
.asset-g{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,330px),1fr));gap:16px;padding:20px 22px 22px}
.asset{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;background:#fff}
.a-thumb{position:relative;display:block;width:100%;aspect-ratio:16/9;padding:0;border:0;background:var(--cloud);overflow:hidden;cursor:zoom-in}
.a-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.a-thumb iframe{width:200%;height:200%;border:0;transform:scale(.5);transform-origin:0 0;pointer-events:none;background:#fff}
.a-type{position:absolute;right:10px;bottom:10px;height:22px;padding:0 9px;border-radius:999px;corner-shape:round;background:rgba(18,23,64,.78);color:#fff;font-size:11.5px;font-weight:700;display:inline-flex;align-items:center}
.pdf-t{height:100%;display:grid;place-items:center;align-content:center;gap:6px;padding:16px;text-align:center;background:#fff}
.pdf-t svg{width:32px;height:32px;color:#A3350A}.pdf-t b{font-size:14px;color:var(--navy)}.pdf-t small{font-size:12px;color:var(--muted)}
.pdf-t.big{min-height:300px}
.a-body{padding:14px 16px 10px;display:grid;gap:4px;flex:1}
.a-body b{font-size:15px;color:var(--navy)}.a-body small{font-size:12.5px;color:var(--muted)}
.a-body p{font-size:13.5px;color:var(--ink);margin-top:4px}
.a-who{display:inline-flex;align-items:center;gap:6px;margin-top:6px;font-size:12.5px;font-weight:600;color:var(--muted)}.a-who svg{width:14px;height:14px}
.a-foot{display:flex;align-items:center;gap:8px;padding:12px 16px 16px}
.a-foot .btn svg{width:15px;height:15px}
.a-adm,.a-n{margin-left:auto;display:flex;gap:4px}.a-n{font-size:12.5px;color:var(--muted)}
.icon-b{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;color:var(--muted);transition:background .2s,color .2s}
.icon-b:hover{background:var(--cloud);color:var(--navy)}.icon-b svg{width:17px;height:17px}
.a-pv{border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;background:var(--cloud)}
.a-pv img{width:100%;display:block}.a-pv iframe{width:100%;height:420px;border:0;display:block;background:#fff}
.a-orgs{display:grid;gap:10px;margin-top:14px}
.seg2{display:flex;flex-wrap:wrap;gap:10px}
.f .ck input{width:18px;height:18px;padding:0;border-radius:4px;-webkit-appearance:auto;appearance:auto;flex:none}
.zone.zf{flex:none;min-height:0;padding:20px 16px}.zone.zf .up{width:40px;height:40px;margin-bottom:8px}.zone.zf .up .i{width:20px;height:20px}
.zone.zf .btn{margin-top:10px}.zone.zf.has{border-style:solid;border-color:var(--bright);background:var(--indigo-50)}
.f.bad .zone.zf{border-color:var(--warn)}.a-orgs[hidden]{display:none}
.q-list{list-style:none}
.q-list li{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--line)}
.q-list li:first-child{border-top:0;padding-top:0}
.q-list li:last-child{padding-bottom:0}
.q-list .who{flex:1}
.q-list .meta{font-size:12.5px;color:var(--muted);text-align:right;white-space:nowrap}
.funnel{display:grid;gap:12px}
.funnel .fr{display:grid;grid-template-columns:150px 1fr 48px;align-items:center;gap:12px;font-size:13.5px}
.funnel .fr span{font-weight:600;color:var(--navy)}
.funnel .fr b{text-align:right;font-variant-numeric:tabular-nums;color:var(--navy)}
.funnel .track{height:12px;border-radius:99px;background:var(--cloud);overflow:hidden}
.funnel .track i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--bright),var(--bright-2))}
@media(max-width:520px){.funnel .fr{grid-template-columns:110px 1fr 36px}}
.org-bars{display:grid;gap:12px}
.org-bars .fr{grid-template-columns:170px 1fr 48px}
.org-bars .track i{background:var(--c)}

/* detail pages */
.back{display:inline-flex;align-items:center;gap:6px;margin-top:14px;font-size:13.5px;font-weight:600;color:var(--muted)}
.back svg{width:16px;height:16px;transform:rotate(180deg)}
.back:hover{color:var(--navy)}
.page-h.det{margin-top:10px;align-items:center}
.det-t{display:flex;align-items:center;gap:16px;min-width:0}
.det-t .av{width:56px;height:56px;border-radius:18px;font-size:18px}
.det-t h1{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.det-t p{display:flex;flex-wrap:wrap;gap:6px 14px}
.det-t p span{display:inline-flex;align-items:center;gap:6px}
.det-t p svg{width:15px;height:15px;color:var(--subtle)}
.kv{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px}
@media(min-width:760px){.kv.c3{grid-template-columns:repeat(3,minmax(0,1fr))}}
.kv dt{font-size:12.5px;color:var(--muted)}
.kv dd{font-size:14.5px;font-weight:600;color:var(--navy);margin-top:2px;overflow-wrap:anywhere}
.steps-h{list-style:none;display:grid;gap:0}
.steps-h li{display:flex;align-items:center;gap:12px;padding:10px 0;font-size:14px;color:var(--muted);border-top:1px solid var(--line)}
.steps-h li:first-child{border-top:0;padding-top:0}
.steps-h li .n{width:26px;height:26px;flex:none;border-radius:9px;display:grid;place-items:center;background:var(--cloud);font-size:12px;font-weight:700;color:var(--muted)}
.steps-h li.done{color:var(--ink)}
.steps-h li.done .n{background:var(--mint);color:var(--green)}
.steps-h li.cur{color:var(--navy);font-weight:600}
.steps-h li.cur .n{background:var(--bright);color:#fff}
.steps-h li small{margin-left:auto;font-size:12.5px;color:var(--muted);font-weight:500}
.notes{list-style:none;display:grid;gap:14px}
.notes li{padding:12px 14px;border-radius:var(--r-md);background:var(--cloud);font-size:14px;color:var(--ink)}
.notes li small{display:block;margin-bottom:4px;font-size:12px;font-weight:600;color:var(--muted)}
.note-box{display:flex;gap:8px;margin-top:14px}
.note-box input{flex:1;min-width:0;height:36px;padding:0 14px;border-radius:var(--r-input);border:1px solid var(--line);font:inherit;font-size:14px;color:var(--navy);outline:none}
.note-box input:focus{border-color:var(--bright)}
.act-l{list-style:none;display:grid}
.act-l li{display:flex;gap:12px;padding:10px 0;border-top:1px solid var(--line);font-size:13.5px}
.act-l li:first-child{border-top:0;padding-top:0}
.act-l li i{width:8px;height:8px;margin-top:7px;border-radius:50%;background:var(--line-2);flex:none}
.act-l li b{display:block;color:var(--navy);font-weight:600}
.act-l li small{color:var(--muted)}

/* organizations */
.orgs{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.org-c{display:flex;flex-direction:column;gap:16px;transition:border-color .3s var(--ease-soft),transform .5s var(--ease-soft)}
.org-c:hover{border-color:var(--line-2);transform:translateY(-2px)}
.org-c .oh{display:flex;align-items:center;gap:12px}
.org-mk{width:44px;height:44px;flex:none;border-radius:14px;display:grid;place-items:center;font-family:var(--display);font-size:17px;font-weight:600;color:#fff;background:var(--c)}
.org-c .oh b{display:block;font-size:16px;color:var(--navy)}
.org-c .oh small{font-size:12.5px;color:var(--muted)}
.org-c .oh .st{margin-left:auto}
.org-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.org-stats small{display:block;font-size:12px;color:var(--muted)}
.org-stats b{font-family:var(--display);font-size:20px;color:var(--navy);font-variant-numeric:tabular-nums}
.url{display:flex;align-items:center;gap:8px;min-width:0;height:40px;padding:0 6px 0 12px;border-radius:12px;background:var(--cloud);font-size:13.5px;font-weight:600;color:var(--navy)}
.url span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.url button{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;color:var(--muted);transition:background .2s,color .2s}
.url button:hover{background:#fff;color:var(--navy)}
.url button svg{width:16px;height:16px}
.org-c .foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto}
.org-c .foot small{font-size:12.5px;color:var(--muted)}
.add-c{display:grid;place-items:center;text-align:center;min-height:240px;border:1.5px dashed var(--line-2);background:transparent;color:var(--muted);font-size:14px;transition:border-color .3s var(--ease-soft),background .3s}
.add-c:hover{border-color:var(--bright);background:var(--indigo-50);color:var(--bright)}
.add-c .ti{width:44px;height:44px;margin:0 auto 10px;border-radius:14px;display:grid;place-items:center;background:#fff;color:var(--bright);box-shadow:var(--shadow)}
.add-c b{display:block;color:var(--navy);font-size:15px}
.sub-f{display:flex;align-items:stretch;border:1px solid var(--line);border-radius:var(--r-input);overflow:hidden;transition:border-color .3s}
.sub-f:focus-within{border-color:var(--bright)}
.sub-f span{display:flex;align-items:center;padding:0 4px 0 14px;background:var(--cloud);color:var(--muted);font-size:14.5px;white-space:nowrap}
.f .sub-f input{border:0;border-radius:0;padding-left:6px}
.f.bad .sub-f{border-color:var(--warn)}

/* team + roles */
.roles{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.role-c{padding:16px 18px}
.role-c b{display:flex;align-items:center;gap:8px;font-size:15px;color:var(--navy)}
.role-c p{font-size:13px;color:var(--muted);margin-top:4px}
.role-c small{display:block;margin-top:10px;font-size:12.5px;font-weight:600;color:var(--ink)}
.perm{width:100%;border-collapse:collapse;font-size:14px;min-width:640px}
.perm th{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:12px 14px;text-align:center;border-bottom:1px solid var(--line)}
.perm th:first-child,.perm td:first-child{text-align:left;padding-left:22px}
.perm td{padding:12px 14px;border-top:1px solid var(--line);text-align:center;color:var(--ink)}
.perm tbody tr:first-child td{border-top:0}
.perm td svg{width:18px;height:18px}
.perm .y{color:var(--green)}
.perm .no{color:var(--line-2)}
.perm td small{display:block;font-size:12px;color:var(--muted)}
.role-pick{display:grid;gap:8px}
.role-pick label{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border:1px solid var(--line);border-radius:var(--r-md);cursor:pointer;transition:border-color .3s var(--ease-soft),background .3s}
.role-pick label:hover{border-color:var(--line-2)}
.role-pick input{margin-top:3px;width:18px;height:18px;accent-color:var(--bright);flex:none}
.role-pick label:has(input:checked){border-color:var(--bright);background:var(--indigo-50)}
.role-pick b{display:block;font-size:14.5px;color:var(--navy)}
.role-pick span{font-size:13px;color:var(--muted)}
.mdl .note-i{display:flex;gap:8px;align-items:flex-start;margin-top:14px;font-size:13px;color:var(--muted)}
.mdl .note-i svg{width:16px;height:16px;flex:none;margin-top:1px;color:var(--subtle)}

/* admin tools catalog */
.tool-g{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}
.tool-g .card h3{font-size:18px;display:flex;align-items:center;gap:10px;margin-bottom:4px}
.tool-g .card h3 .ti{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:var(--cloud);color:var(--navy)}
.tool-g .card h3 .ti svg{width:18px;height:18px}
.tool-g .card>p{font-size:13.5px;color:var(--muted);margin-bottom:12px}
.tool-l{list-style:none}
.tool-l li{display:flex;align-items:center;gap:10px;padding:10px 0;border-top:1px solid var(--line)}
.tool-l li>div{flex:1;min-width:0}
.tool-l li b{display:block;font-size:14px;color:var(--navy)}
.tool-l li small{display:block;font-size:12.5px;color:var(--muted)}
.tool-l a.go{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;color:var(--subtle);transition:background .2s,color .2s}
.tool-l a.go:hover{background:var(--cloud);color:var(--navy)}
.tool-l a.go svg{width:16px;height:16px}
.drop-l{list-style:none;display:grid;gap:0}
.drop-l li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 14px;padding:12px 0;border-top:1px solid var(--line);font-size:14px}
.drop-l li:first-child{border-top:0;padding-top:0}
.drop-l li b{color:var(--navy)}
.drop-l li span{grid-column:1/-1;font-size:13px;color:var(--muted)}

/* staff sign in and organization sign up */
body[data-shell=auth]{background:var(--navy)}
.au{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:32px 16px;background:linear-gradient(150deg,#0f1438 0%,var(--navy) 45%,#1a2380 100%);position:relative;isolation:isolate;overflow:hidden}
.au::before,.au::after{content:"";position:absolute;z-index:-1;border-radius:50%;filter:blur(90px);pointer-events:none}
.au::before{width:min(70vw,900px);aspect-ratio:1;left:30%;top:-40%;background:radial-gradient(circle,rgba(70,90,255,.5),rgba(70,90,255,.14) 45%,transparent 70%)}
.au::after{width:min(50vw,640px);aspect-ratio:1;right:-12%;bottom:-30%;background:radial-gradient(circle,rgba(70,90,255,.38),transparent 70%)}
.au-box{position:relative;width:min(100%,440px);background:#fff;color:var(--ink);border-radius:24px;padding:clamp(24px,4vh,36px) clamp(22px,2.6vw,36px);box-shadow:0 40px 90px -30px rgba(0,0,0,.6)}
.au-box .adm-logo{margin-bottom:24px}
.au-box .adm-logo svg{height:30px;width:auto}
.au-h{font-size:clamp(24px,min(2.4vw,4vh),30px);margin-bottom:6px;color:var(--navy)}
.au-sub{color:var(--muted);font-size:14.5px;line-height:1.5;margin-bottom:clamp(16px,2.6vh,24px)}
.au form{display:grid;gap:clamp(12px,1.8vh,16px)}
.au .btn.full{width:100%;background:var(--bright);box-shadow:none}
.au .btn.full:hover{background:#3447e6}
.au .lbl-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.au .lbl-row .link{font-size:13px}
.au-alt{margin-top:clamp(14px,2.2vh,20px);padding-top:clamp(14px,2.2vh,20px);border-top:1px solid var(--line);font-size:14px;color:var(--muted);text-align:center}
.au-alt .link{font-size:14px;font-weight:600;text-decoration:underline;text-underline-offset:3px}
.au-foot{position:relative;margin-top:18px;text-align:center;font-size:12.5px;color:rgba(255,255,255,.5)}
.au-org{display:flex;align-items:center;gap:12px;padding:12px 14px;margin-bottom:20px;border-radius:var(--r-md);background:var(--cloud)}
.au-org small{display:block;font-size:12px;color:var(--muted)}
.au-org b{font-size:14.5px;color:var(--navy)}
.au-org .org-mk{width:38px;height:38px;border-radius:12px;font-size:15px}
.au-url{display:inline-flex;align-items:center;gap:6px;margin-bottom:12px;padding:4px 10px;border-radius:999px;background:rgba(255,255,255,.1);color:rgba(255,255,255,.85);font-size:12.5px;font-weight:600;position:relative}
.au-url svg{width:14px;height:14px}
.au .fine{font-size:12.5px;color:var(--muted)}
.au .fine a{color:var(--bright)}
@media(max-width:480px){.au-box{padding:24px 20px}}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.pl-n{display:inline-block;margin-right:6px;font-weight:600;color:var(--navy)}
.tbl.adm td>small{margin-top:4px}
[data-shell=admin] .content{max-width:1480px}
.tbl.adm th{white-space:nowrap}
.tbl.adm td{white-space:nowrap}
.tbl.adm .who b,.tbl.adm .who small{max-width:220px}
.tbl.adm th,.tbl.adm td{padding-left:12px;padding-right:12px}
.f .role-pick input{width:18px;height:18px;padding:0;border:0;border-radius:50%;margin-top:2px;flex:none;-webkit-appearance:auto;appearance:auto}
.au>div{width:min(100%,440px)}
.au-box{width:100%}
.list-card .tbl-wrap{position:relative}
@media(max-width:640px){
  .flt{display:grid;grid-template-columns:1fr 1fr;gap:12px}
  .flt .search.sm{grid-column:1/-1}
  .flt .sort{flex-direction:column;align-items:stretch;gap:6px}
  .flt .sort select{width:100%}
  .flt .link{justify-self:start;align-self:end;height:40px}
  .page-h .page-act{width:100%}
}
.who>div{min-width:0}
@media(max-width:640px){
  .q-list li{flex-wrap:wrap;row-gap:8px}
  .q-list .who{flex:1 1 100%}
  .q-list .meta{margin-right:auto;text-align:left}
  .det-t{align-items:flex-start}
  .det-t .av{width:48px;height:48px}
}
.flt .search input::placeholder,.lh-find .search input::placeholder{color:var(--subtle)}
