/* CreditLens — Design B "Decision board". Deep green + brass, Fraunces display, IBM Plex text/mono. */
@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,500;9..144,600&family=IBM+Plex+Sans:wght@400;500;600&family=IBM+Plex+Mono:wght@400;500&display=swap');

:root{
  --green:#0B3B2E; --green-2:#14553F; --green-3:#2E6E56; --mint:#DDF3E8; --mint-2:#F2F7F4;
  --brass:#B8862B; --brass-2:#F1E4C3; --brass-3:#FBF8F0;
  --ink:#1B2A25; --mute:#5F6F69; --line:#DCE3DF; --bg:#F6F8F6; --card:#FFFFFF;
  --ok:#1E7F4F; --warn:#B25E09; --bad:#B3261E; --ok-bg:#E3F5EA; --warn-bg:#FDF0E1; --bad-bg:#FBE3E1;
  --stick-top:52px; --topbar-h:52px;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{background:var(--bg);color:var(--ink);font:13.5px/1.5 'IBM Plex Sans',system-ui,sans-serif}
a{color:var(--green-2)}
.mono, td.num, th.num, input.num{font-family:'IBM Plex Mono',Consolas,monospace;font-variant-numeric:tabular-nums}
.serif,h1,.page-head h1,.filehead h1{font-family:Fraunces,Georgia,serif;font-weight:500}

/* ---------- Top bar ---------- */
.topbar{background:var(--green);color:#fff;display:flex;align-items:center;gap:22px;padding:0 24px;min-height:52px;position:sticky;top:0;z-index:100;flex-wrap:wrap}
.topbar .brand{font-family:Fraunces,serif;font-size:19px;font-weight:600;letter-spacing:.2px;color:#fff;text-decoration:none;padding:12px 0}
.topbar nav{display:flex;gap:4px;align-self:stretch}
.topbar nav a{color:#CFE3D8;text-decoration:none;padding:0 12px;display:flex;align-items:center;font-size:13px}
.topbar nav a:hover{color:#fff;background:rgba(255,255,255,.06)}
.topbar nav a.active{color:#fff;box-shadow:inset 0 -3px 0 var(--brass)}
.topbar .right{margin-left:auto;display:flex;align-items:center;gap:14px;font-size:12.5px;color:#CFE3D8;flex-wrap:wrap;padding:6px 0}
.topbar .right span{color:#fff;font-weight:500}
.topbar select{background:var(--green-2);color:#fff;border:1px solid var(--green-3);padding:4px 8px;font:12.5px 'IBM Plex Sans';max-width:260px}
.topbar .btn{background:transparent;border-color:#CFE3D8;color:#fff}
.topbar .btn:hover{background:rgba(255,255,255,.1)}
.bg-banner{background:var(--bad);color:#fff;padding:6px 24px;font-size:12.5px;font-weight:600;position:sticky;top:var(--topbar-h);z-index:90}
.wrap{padding:22px 28px 60px;background:transparent}

/* ---------- Page heads & sections ---------- */
.page-head{display:flex;align-items:baseline;gap:14px;margin-bottom:14px;border-bottom:1px solid var(--line);padding-bottom:10px}
.page-head h1{font-size:24px;line-height:1.1}
.page-head .actions{margin-left:auto;display:flex;gap:6px;flex-wrap:wrap}
h2.sec{font-family:Fraunces,serif;font-size:16px;font-weight:500;margin:22px 0 8px;padding-bottom:5px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:10px}
h3.sec{font-family:'IBM Plex Sans';font-size:12.5px !important;font-weight:600;color:var(--green);margin:14px 0 6px;letter-spacing:.2px}
.sec-sub{font:12px 'IBM Plex Sans';color:var(--mute);margin-left:auto;letter-spacing:0;text-transform:none}

/* ---------- Tables ---------- */
table.grid{border-collapse:collapse;width:100%;background:var(--card)}
table.grid th,table.grid td{padding:7px 10px;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:420px;border-bottom:1px solid var(--line)}
table.grid thead th{background:var(--mint);color:var(--green);font-weight:500;font-size:12px}
table.grid tbody tr:hover td{background:var(--mint-2)}
table.grid td.num,table.grid th.num{text-align:right;font-family:'IBM Plex Mono',monospace;font-size:12.5px}
table.grid td.lbl{font-weight:500;background:var(--bg)}
table.grid tr.total td{font-weight:600;background:var(--brass-2);border-top:1px solid var(--brass)}
.tbl-scroll{overflow-x:auto}
table.kv{border-collapse:collapse}
table.kv th{text-align:left;padding:4px 14px 4px 0;font-weight:500;color:var(--mute);white-space:nowrap;vertical-align:top;font-size:12.5px}
table.kv td{padding:4px 24px 4px 0;white-space:nowrap}

/* ---------- Buttons ---------- */
.btn{display:inline-block;font:500 13px 'IBM Plex Sans';padding:8px 14px;cursor:pointer;border:1px solid var(--green);background:var(--green);color:#fff;text-decoration:none}
.btn:hover{background:var(--green-2)}
.btn-sec{background:#fff;color:var(--green)}
.btn-sec:hover{background:var(--mint-2)}
.btn-brass{background:var(--brass);border-color:var(--brass);color:#fff}
.btn-brass:hover{background:#A2761F}
.btn-danger{background:var(--bad);border-color:var(--bad);color:#fff}
.btn-danger:hover{background:#961F19}
.btn-xs{padding:3px 9px;font-size:11.5px}
.btn[disabled]{opacity:.5;cursor:not-allowed}

/* ---------- Forms ---------- */
label{display:block;font-weight:500;font-size:12.5px;margin:8px 0 3px;color:var(--ink)}
input[type=text],input[type=email],input[type=password],input[type=date],input[type=number],input[type=file],select,textarea{
  width:100%;max-width:420px;border:1px solid #B9C4BF;padding:6px 8px;font:13px 'IBM Plex Sans';background:#fff;color:var(--ink)}
textarea{max-width:640px;min-height:72px}
input.num{text-align:right}
.field-err{color:var(--bad);font-size:11.5px;margin-top:2px}
.form-row{display:flex;gap:18px;flex-wrap:wrap}
.form-row>div{flex:1 1 220px;min-width:200px}
fieldset{border:1px solid var(--line);padding:8px 14px 14px;margin:10px 0;background:#fff}
legend{font-weight:600;font-size:12.5px;padding:0 6px;color:var(--green)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.btn:focus-visible{outline:2px solid var(--brass);outline-offset:1px}

/* ---------- Badges / chips / flash ---------- */
.badge{display:inline-block;font-size:11px;font-weight:600;padding:2px 8px;letter-spacing:.2px;border:1px solid transparent}
.badge-green{color:var(--ok);background:var(--ok-bg)}
.badge-amber{color:var(--warn);background:var(--warn-bg)}
.badge-red{color:var(--bad);background:var(--bad-bg)}
.badge-gray{color:var(--mute);background:#EEF2EF}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{display:inline-block;border:1px solid var(--line);background:#fff;padding:3px 10px;font-size:12px;white-space:nowrap;color:var(--ink)}
.chip.dark{background:var(--green);color:#fff;border-color:var(--green)}
.chip.warn{border-color:var(--warn);color:var(--warn);background:var(--warn-bg)}
.chip.crit{border-color:var(--bad);color:var(--bad);background:var(--bad-bg)}
.chip.ok{border-color:var(--ok);color:var(--ok);background:var(--ok-bg)}
a.chip{text-decoration:none}
a.chip:hover,a.chip:focus{border-color:var(--green)}
.flash{border:1px solid var(--line);border-left:4px solid var(--ok);padding:8px 12px;margin-bottom:12px;font-size:12.5px;background:#fff}
.flash.err{border-left-color:var(--bad)} .flash.warn{border-left-color:var(--warn)}

/* ---------- Tabs (CAM) ---------- */
.tabs{display:flex;border-bottom:1px solid var(--line);margin:14px 0 0;flex-wrap:wrap;gap:2px;position:sticky;top:var(--stick-top);background:var(--bg);z-index:30}
.tabs a{padding:9px 14px;text-decoration:none;font-weight:500;font-size:13px;color:var(--mute);border-bottom:2px solid transparent;margin-bottom:-1px}
.tabs a.active{color:var(--green);border-color:var(--green)}
.tabs a i{font-style:normal;background:var(--mint);color:var(--green);padding:0 6px;margin-left:6px;font-size:11.5px}
.tab-body{border:1px solid var(--line);border-top:none;padding:16px;background:#fff}

.pager{margin:10px 0;font-size:12px;display:flex;gap:8px;align-items:center}
.muted{color:var(--mute);font-size:12.5px}
.tokenbox{font-family:'IBM Plex Mono',monospace;font-size:12px;border:1px dashed var(--green-3);padding:8px 10px;word-break:break-all;white-space:normal;max-width:720px;background:#fff}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:22px}
@media (max-width:900px){.grid-2{grid-template-columns:1fr}}
.checklist-row{display:flex;gap:8px;align-items:center;margin:4px 0}
.checklist-row input[type=text]{max-width:260px}
.checklist-row select{max-width:140px;width:auto}
.login-box{max-width:380px;margin:80px auto;border:1px solid var(--line);background:#fff;padding:28px;border-top:4px solid var(--green)}
.login-box h1{font-size:24px;margin-bottom:14px}
.portal-wrap{max-width:980px;margin:0 auto;padding:20px 14px}

/* Stat strip → tiles */
.stat-strip{display:flex;gap:10px;margin-bottom:14px;flex-wrap:wrap}
.stat-strip .stat{flex:1 1 150px;background:#fff;border:1px solid var(--line);border-top:4px solid var(--green);padding:12px 12px 10px;text-decoration:none;color:inherit}
.stat-strip .stat b{display:block;font-family:Fraunces,serif;font-size:22px;font-weight:600;line-height:1.1}
.stat-strip .stat span{font-size:12px;color:var(--mute)}
a.stat:hover,a.stat:focus{border-color:var(--green);outline:none}

/* ---------- Panels ---------- */
.panel{background:var(--card);border:1px solid var(--line);margin-bottom:22px}
.panel>h2{font-family:Fraunces,serif;font-size:17px;font-weight:500;padding:12px 16px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:10px;margin:0}
.panel>h2 small{font:12px 'IBM Plex Sans';color:var(--mute);margin-left:auto}
.panel .in{padding:14px 16px}
.panel .in.flush{padding:0;overflow-x:auto}

/* ---------- Application file view ---------- */
.ident{background:var(--card);padding:22px 28px 14px;margin:-22px -28px 0}
.ident .row{display:flex;align-items:flex-end;gap:26px;flex-wrap:wrap}
.ident h1{font-size:30px;line-height:1.1}
.ident .meta{color:var(--mute);font-size:13px;line-height:1.7}
.ident .meta b{color:var(--ink);font-weight:500}
.ident .actions{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}
.ident .chips{margin-top:10px}
.snav-bar{display:flex;gap:2px;margin:0 -28px 22px;padding:0 28px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);position:sticky;top:var(--stick-top);background:#fff;z-index:30;overflow-x:auto}
.snav-bar a{padding:10px 14px;color:var(--mute);font-size:13px;font-weight:500;border-bottom:2px solid transparent;text-decoration:none;white-space:nowrap}
.snav-bar a:hover,.snav-bar a:focus{color:var(--green);outline:none}
.snav-bar a i{font-style:normal;background:var(--mint);color:var(--green);padding:0 6px;margin-left:6px;font-size:11.5px}
.snav-bar a i.red{background:var(--bad-bg);color:var(--bad)}
.file-grid{display:grid;grid-template-columns:1fr 350px;gap:22px;align-items:start}
.scrsec{scroll-margin-top:calc(var(--stick-top) + 52px)}

.tiles{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:22px}
.tile{background:#fff;border:1px solid var(--line);border-top:4px solid var(--green);padding:12px 12px 10px;text-decoration:none;color:inherit;display:block}
.tile:hover,.tile:focus{border-color:var(--green);outline:none}
.tile .v{font-family:Fraunces,serif;font-size:21px;font-weight:600;line-height:1.1;color:var(--ink)}
.tile .l{color:var(--mute);font-size:12px;margin-top:4px}
.tile .d{margin-top:6px;font-size:12px}
.tile.brass{border-top-color:var(--brass)} .tile.bad{border-top-color:var(--bad)} .tile.bad .v{color:var(--bad)}
.tile .d.ok{color:var(--ok)} .tile .d.warn{color:var(--warn)} .tile .d.bad{color:var(--bad)}

.sem{display:grid;grid-template-columns:1fr 1fr}
.sem>div{display:flex;gap:10px;align-items:flex-start;padding:9px 0;border-bottom:1px solid var(--line);font-size:13px}
.sem>div:nth-child(odd){padding-right:16px;border-right:1px solid var(--line)}
.sem>div:nth-child(even){padding-left:16px}
.dot{width:10px;height:10px;border-radius:50% !important;margin-top:5px;flex:none}
.dot.g{background:var(--ok)} .dot.a{background:var(--warn)} .dot.r{background:var(--bad)} .dot.n{background:#B9C4BF}
.sem b{font-weight:500;display:block}
.sem span{color:var(--mute);font-size:12.5px}

.stepper{display:grid;grid-template-columns:repeat(8,1fr);gap:3px;margin:0 0 14px}
.step{padding:8px 8px;font-size:11.5px;color:var(--mute);background:#EEF2EF;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.step.done{background:var(--mint);color:var(--green)}
.step.cur{background:var(--green);color:#fff;font-weight:500}

.openlist{margin:0;padding:0;list-style:none}
.openlist li{padding:8px 0;border-bottom:1px solid var(--line);font-size:13px;display:flex;gap:10px;align-items:center}
.openlist li:last-child{border-bottom:0}
.openlist .who{color:var(--mute);font-size:12px;min-width:86px;float:none}
.openlist a{color:var(--ink);text-decoration:none;border-bottom:1px dotted #9AA7A1}
.openlist a:hover{border-bottom-color:var(--green)}

/* Decision panel */
.decide{position:sticky;top:calc(var(--stick-top) + 60px)}
.decide .hd{background:var(--green);color:#fff;padding:14px 16px}
.decide .hd .big{font-family:Fraunces,serif;font-size:30px;font-weight:600;line-height:1}
.decide .hd .cap{font-size:12px;color:#CFE3D8;margin-top:6px}
.decide .hd .ask{margin-top:10px;font-size:12.5px;display:flex;justify-content:space-between;color:#CFE3D8}
.decide .hd .ask b{color:var(--brass)}
.gauge{height:8px;background:var(--green-3);margin-top:8px;position:relative}
.gauge i{position:absolute;left:0;top:0;bottom:0;background:var(--brass)}
.gauge em{position:absolute;top:-4px;width:2px;height:16px;background:#fff}
.wf{font-size:13px}
.wf>div{display:flex;justify-content:space-between;gap:10px;padding:6px 0;border-bottom:1px solid var(--line)}
.wf>div b{font-weight:500}
.wf>div .num{font-size:12.5px}
.wf>div.neg .num{color:var(--bad)}
.wf>div.sum{font-weight:600;border-bottom:2px solid var(--green)}
.sign{padding:14px 16px;border-top:1px solid var(--line);display:grid;gap:8px}
.sign .btn{text-align:center}
.sign .note{font-size:12.5px;color:var(--mute)}
.remark{border-left:3px solid var(--brass);padding:8px 12px;margin-bottom:8px;background:var(--brass-3);font-size:12.5px}
.remark .rh{display:flex;justify-content:space-between;gap:8px;font-size:11.5px;color:var(--mute);margin-bottom:2px}
.remark .rh b{color:var(--ink);font-weight:500;font-size:12.5px}
.remark .rb{white-space:pre-wrap;color:var(--ink)}

/* Clickable rows */
tr[data-href]{cursor:pointer}
tr[data-href]:focus{outline:2px solid var(--brass);outline-offset:-2px}
.keypoints{margin:4px 0 0 16px;padding:0;font-size:12.5px}
.keypoints li{margin:3px 0}
.keypoints a{color:inherit;text-decoration:none;border-bottom:1px dotted #9AA7A1}

/* ---------- Mobile ---------- */
@media (max-width:1080px){.file-grid{grid-template-columns:1fr}.decide{position:static}.tiles{grid-template-columns:repeat(3,1fr)}.sem{grid-template-columns:1fr}.sem>div{border-right:0!important;padding:9px 0!important}}
@media (max-width:720px){
  .wrap{padding:12px 12px 40px}
  .ident{padding:14px 12px 10px;margin:-12px -12px 0}
  .snav-bar{margin:0 -12px 14px;padding:0 12px}
  .ident h1{font-size:24px}
  .topbar{gap:8px;padding:0 12px}
  .topbar nav{order:3;flex:1 0 100%;overflow-x:auto;border-top:1px solid var(--green-3)}
  .topbar nav a{padding:9px 10px;white-space:nowrap}
  .topbar .right span:first-child{display:none}
  .page-head{flex-wrap:wrap;gap:8px} .page-head .actions{margin-left:0}
  .tiles{grid-template-columns:1fr 1fr}
  .stepper{display:flex;overflow-x:auto}
  .stepper .step{flex:0 0 auto}
  .tabs{flex-wrap:nowrap;overflow-x:auto} .tabs a{white-space:nowrap}
  .form-row>div{flex:1 1 100%;min-width:0}
  form div[style*="grid-template-columns:1fr 1fr"]{grid-template-columns:1fr !important}
  table.grid[style*="max-width"]{max-width:none !important}
  input,select,textarea{font-size:16px}
  .btn{padding:9px 14px}
}


/* ---------- Containment: wide tables scroll inside their column, never widen the page ---------- */
html,body{overflow-x:clip}
.file-grid>div,.grid-2>div,.panel,.panel .in,.tab-body,.wrap{min-width:0}
.file-grid>div:first-child{overflow:hidden}
.panel .in{overflow-x:auto}
.tiles{min-width:0}
.tiles .tile{min-width:0;overflow:hidden}
.tile .v{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sem>div{min-width:0} .sem span{overflow-wrap:anywhere}
.stepper{overflow-x:auto}

/* Borrower name pinned into the section bar once the header has scrolled away */
.snav-bar .snav-name{display:none;font-family:Fraunces,serif;font-weight:600;font-size:15px;color:var(--ink);padding:8px 14px 8px 0;margin-right:6px;border-right:1px solid var(--line);white-space:nowrap;align-self:center}
.snav-bar .snav-name small{font-family:'IBM Plex Mono',monospace;font-weight:400;font-size:11px;color:var(--mute);margin-left:6px}
.snav-bar.stuck .snav-name{display:inline-block}

/* ---------- Dashboard visuals ---------- */
.prog{display:grid;grid-template-columns:150px 1fr 96px;gap:10px;align-items:center;padding:6px 0;border-bottom:1px solid var(--line);font-size:13px}
.prog:last-child{border-bottom:0}
.prog .bar{height:10px;background:var(--mint-2);position:relative}
.prog .bar i{position:absolute;left:0;top:0;bottom:0;background:var(--green-2)}
.prog .num{text-align:right;white-space:nowrap}
.prog a{color:inherit;text-decoration:none;border-bottom:1px dotted #9AA7A1}
.cols{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;align-items:end;height:170px;border-bottom:1px solid var(--line);padding-bottom:26px;position:relative}
.cols .col{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;position:relative}
.cols .col i{display:block;width:70%;background:var(--brass)}
.cols .col b{font-size:11px;font-weight:500;color:var(--ink);margin-bottom:4px;white-space:nowrap}
.cols .col span{position:absolute;bottom:-26px;font-size:11px;color:var(--mute);text-align:center;line-height:1.2}
@media (max-width:720px){.prog{grid-template-columns:100px 1fr 70px}}

/* ---------- List filters ---------- */
.filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px 12px;padding:10px 12px;background:#fff;border:1px solid var(--line);margin-bottom:10px}
.filters label{margin-top:0;font-size:11.5px;color:var(--mute)}
.filters input,.filters select{max-width:none}
.filters .fa{display:flex;gap:6px;align-items:end}

/* ---------- Global search ---------- */
.gsearch{position:relative;margin-left:auto}
.gsearch input{width:280px;max-width:44vw;background:var(--green-2);border:1px solid var(--green-3);color:#fff;padding:6px 10px 6px 30px;font:12.5px 'IBM Plex Sans'}
.gsearch input::placeholder{color:#A9C7B9}
.gsearch input:focus{background:#fff;color:var(--ink);outline:2px solid var(--brass)}
.gsearch .ico{position:absolute;left:9px;top:7px;color:#A9C7B9;font-size:13px;pointer-events:none}
.gsearch .drop{display:none;position:absolute;top:36px;left:0;width:520px;max-width:90vw;background:#fff;border:1px solid var(--line);box-shadow:0 8px 24px rgba(0,0,0,.14);z-index:200;max-height:70vh;overflow:auto;color:var(--ink)}
.gsearch .drop.open{display:block}
.gsearch .grp{padding:6px 12px 2px;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--mute);background:var(--mint-2)}
.gsearch .hit{display:flex;gap:10px;align-items:center;padding:8px 12px;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink);font-size:13px}
.gsearch .hit:hover,.gsearch .hit.sel{background:var(--brass-3)}
.gsearch .hit .k{font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--green);min-width:120px}
.gsearch .hit .t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gsearch .hit .t small{color:var(--mute);margin-left:6px}
.gsearch .hit .badge{margin-left:auto}
.gsearch .none{padding:12px;color:var(--mute);font-size:12.5px}
.gsearch .foot{padding:7px 12px;font-size:12px;color:var(--mute);border-top:1px solid var(--line)}
.gsearch .foot kbd{font:11px 'IBM Plex Mono';border:1px solid var(--line);padding:0 4px}
.topbar .right{margin-left:0}
@media (max-width:720px){.gsearch{order:2;flex:1 1 100%;margin:0 0 6px}.gsearch input{width:100%;max-width:none}.gsearch .drop{width:100%}}

/* Denomination selector in the top bar */
.topbar .denom{margin-left:10px}
.topbar .denom select{max-width:140px}

/* Excel-style header filters + sortable headers */
table.grid.xl thead tr.xf th{background:#fff;padding:4px 6px;border-bottom:2px solid var(--green)}
table.grid.xl .af{width:100%;max-width:none;min-width:90px;padding:4px 6px;font-size:12px;border:1px solid #C9D3CE;background:#fff}
table.grid.xl select.af{padding:3px 4px}
table.grid.xl .rng{display:flex;gap:4px}
table.grid.xl .rng .af{min-width:70px}
table.grid.xl th:has(select.af + select.af){min-width:150px}
table.grid.xl th:has(select.af + select.af) select.af{margin-bottom:3px}
table.grid.xl a.sort{color:inherit;text-decoration:none;display:inline-flex;gap:4px;align-items:center}
table.grid.xl a.sort i{font-style:normal;font-size:10px;color:#9AA7A1}
table.grid.xl a.sort.on i{color:var(--green)}

/* Invite screen */
.reqsec{padding:10px 0;border-bottom:1px solid var(--line)}
.reqsec:last-child{border-bottom:0}
.reqsec>label{display:flex;gap:10px;align-items:flex-start;margin:0;font-weight:400;cursor:pointer}
.reqsec>label input{margin-top:3px}
.reqsec>label b{font-weight:600}
.reqsec>label span{display:block;color:var(--mute);font-size:12.5px}
.reqsec .rng{margin:8px 0 0 26px;display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:12.5px}
.ymp{display:inline-flex;gap:4px}
.ymp select{width:auto;max-width:none;padding:5px 6px}
.presets{display:inline-flex;gap:4px;margin-left:8px}
.presets a{font-size:11.5px;border:1px solid var(--line);padding:2px 8px;text-decoration:none;color:var(--green)}
.presets a:hover{border-color:var(--green)}

/* Invite: request table */
.reqtbl td{white-space:normal;vertical-align:middle;padding:10px}
.reqtbl label.ck{display:flex;gap:10px;align-items:flex-start;margin:0;font-weight:400;cursor:pointer}
.reqtbl label.ck input{margin-top:3px;width:auto}
.reqtbl label.ck b{font-weight:600;display:block}
.reqtbl label.ck small{color:var(--mute);font-size:12px}
.rngrow{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:12.5px;color:var(--mute)}
.rngrow .ymp select,select.w-auto{width:auto;max-width:none;min-width:0;padding:5px 6px;font-size:12.5px}
#checklist-table td{white-space:normal;vertical-align:middle;padding:6px 8px}
#checklist-table input[type=text],#checklist-table select{max-width:none}
#checklist-table .rngrow select{padding:4px 5px}

/* Portal wizard */
.wizard{list-style:none;display:flex;gap:4px;margin:14px 0 18px;padding:0;overflow-x:auto;border-bottom:1px solid var(--line)}
.wizard li a{display:flex;align-items:center;gap:8px;padding:10px 12px;text-decoration:none;color:var(--mute);border-bottom:3px solid transparent;white-space:nowrap;font-size:13px}
.wizard li a i{font-style:normal;width:22px;height:22px;border-radius:50%;border:1px solid #B9C4BF;display:inline-flex;align-items:center;justify-content:center;font-size:11.5px;font-weight:600}
.wizard li.done a{color:var(--green)} .wizard li.done a i{background:var(--mint);border-color:var(--green);color:var(--green)}
.wizard li.cur a{color:var(--green);border-bottom-color:var(--brass);font-weight:600} .wizard li.cur a i{background:var(--green);color:#fff;border-color:var(--green)}
.wiznav{display:flex;justify-content:space-between;gap:10px;margin-top:22px;padding-top:14px;border-top:1px solid var(--line)}

/* Consistent action placement in forms */
.toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:4px 0 10px}
.toolbar .tb-field label{margin-top:0}
.toolbar .tb-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding-bottom:2px}
.actions-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.actions-row .muted{max-width:70ch;line-height:1.45}
.inline-upload{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.inline-upload input[type=file]{max-width:420px}
fieldset{padding:12px 16px 14px}
legend{font-size:13px}
.portal-wrap fieldset,.wrap fieldset{background:#fff}
#gg-grid input.gg-in{max-width:130px}
#gg-grid td.num{padding-right:8px}

/* Wide tables inside fieldsets/panels must scroll, never overflow the page */
fieldset{min-width:0;max-width:100%}
.tbl-scroll{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}

/* ITR pivot */
.itr-pivot .tgl{width:20px;height:20px;border:1px solid var(--green);background:#fff;color:var(--green);font:600 13px/1 'IBM Plex Mono';cursor:pointer;margin-right:8px;vertical-align:middle;padding:0}
.itr-pivot .tgl[aria-expanded=true]{background:var(--green);color:#fff}
.itr-pivot .tgl-sp{display:inline-block;width:28px}
.itr-pivot tr.grp td{background:var(--mint-2)}
.itr-pivot td.sub-lbl{padding-left:38px;color:var(--mute)}
.itr-pivot tr.sub td{background:#fff}

.itr-pivot td.sub2-lbl{padding-left:66px;color:var(--mute);font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:420px}
.itr-pivot .tgl2{width:18px;height:18px;font-size:12px}

.secbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:var(--mint-2);border:1px solid var(--line);padding:8px 12px;margin-bottom:12px;font-size:12.5px}
.secbar label{margin:0;font-weight:400;display:inline-flex;gap:5px;align-items:center}
.secbar input[type=checkbox]{width:auto}
