/* ══ MODNAR control panel ════════════════════════════════════════════════════ */
body.cp{overflow:auto;background:var(--paper)}
.cp .split{display:block;min-height:0}
.cp .left{display:none!important}
.cp .right{display:block;padding:0;min-height:100vh;background:var(--paper)}
.cpbar{display:flex;align-items:center;gap:18px;padding:0 28px;height:60px;border-bottom:1px solid var(--rule);background:rgba(255,255,255,.86);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);position:sticky;top:0;z-index:5}
.cpbar .wm{display:flex;align-items:center;gap:10px;font-family:var(--f-display);font-variation-settings:"wdth" 116;font-weight:800;font-size:17px;letter-spacing:-.02em;color:var(--ink)}
.cpbar .wm small{font-family:var(--f-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);font-weight:500;margin-left:4px}
.cpmark{width:30px;height:30px;border-radius:8px;background:var(--accent);color:#fff;display:grid;place-items:center;font-size:14px;font-weight:800}
.cptabs{display:flex;gap:2px;margin-left:8px}
.cptabs a{padding:7px 12px;border-radius:100px;font-size:13px;color:var(--ink-2);text-decoration:none;font-weight:500}
.cptabs a:hover{background:var(--surface-2);color:var(--ink)}
.cptabs a.on{background:var(--accent-soft);color:var(--accent);font-weight:600}
.cpbar .sp{flex:1}
.cpbar .me{display:flex;align-items:center;margin:0;padding:5px 6px 5px 5px;border-radius:100px;gap:9px;border:1px solid var(--rule);background:var(--surface)}
.cpbar .me .av{width:28px;height:28px;font-size:11px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;font-weight:700}
.cpbar .me b{display:block;font-size:13px;line-height:1.15}.cpbar .me span span{display:block;font-size:11px;color:var(--ink-3)}
.cpbar .me button{padding:5px 10px;font-size:12px;border:1px solid var(--rule);background:var(--surface);border-radius:100px;cursor:pointer}
.cpwrap{max-width:1180px;margin:0 auto;padding:22px 28px 60px}
.cph{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin:28px 0 12px}
.cph h2{font-family:var(--f-display);font-variation-settings:"wdth" 108;font-weight:700;font-size:19px;letter-spacing:-.02em;margin:0}
.cph .lbl{color:var(--ink-3)}
/* carousel */
.carousel{position:relative;border-radius:16px;overflow:hidden;border:1px solid var(--rule);background:var(--surface);box-shadow:0 10px 30px -18px rgba(13,16,23,.25)}
.carousel .track{display:flex;transition:transform .55s cubic-bezier(.22,.61,.36,1);will-change:transform}
.slide{flex:0 0 100%;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:20px;padding:30px 34px 36px;min-height:220px;background:linear-gradient(120deg,color-mix(in srgb,var(--hue) 10%,#fff) 0%,var(--surface) 55%);position:relative}
.slide::after{content:"";position:absolute;right:-60px;top:-60px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--hue) 18%,transparent) 0%,transparent 70%);pointer-events:none}
.slide .lbl{color:var(--hue)}
.slide h2{font-family:var(--f-display);font-variation-settings:"wdth" 108;font-weight:800;font-size:clamp(26px,3.4vw,40px);letter-spacing:-.03em;margin:8px 0 6px;line-height:1.05}
.slide p{margin:0 0 16px;font-size:14px;color:var(--ink-2);max-width:48ch;line-height:1.5}
.sl-r{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-content:center}
.sl-kpi{background:rgba(255,255,255,.7);border:1px solid var(--rule);border-radius:12px;padding:12px 14px;backdrop-filter:blur(4px)}
.sl-kpi b{display:block;font-family:var(--f-display);font-variation-settings:"wdth" 110;font-weight:700;font-size:22px;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.sl-kpi span{font-size:11.5px;color:var(--ink-2)}
.dots{position:absolute;left:34px;bottom:14px;display:flex;gap:6px}
.dots button{width:8px;height:8px;border-radius:50%;border:0;background:var(--rule-2);cursor:pointer;padding:0;transition:width .2s}
.dots button.on{width:22px;border-radius:4px;background:var(--accent)}
.carbtn{position:absolute;top:50%;transform:translateY(-50%);width:34px;height:34px;border-radius:50%;border:1px solid var(--rule);background:rgba(255,255,255,.9);cursor:pointer;font-size:20px;line-height:1;color:var(--ink-2);display:grid;place-items:center;opacity:0;transition:opacity .15s}
.carousel:hover .carbtn{opacity:1}
.carbtn.prev{left:10px}.carbtn.next{right:10px}
@media (max-width:760px){.slide{grid-template-columns:1fr;padding:22px 20px 34px}.sl-r{grid-template-columns:1fr 1fr}.carbtn{display:none}.dots{left:20px}}
/* app cards */
.apps{display:grid;grid-template-columns:repeat(auto-fill,minmax(212px,1fr));gap:12px}
.tile{display:flex;flex-direction:column;min-height:184px;padding:18px 18px 14px;border-radius:16px;border:1px solid color-mix(in srgb,var(--hue) 16%,var(--rule));text-decoration:none;color:var(--ink);position:relative;overflow:hidden;isolation:isolate;
  background:linear-gradient(150deg,color-mix(in srgb,var(--hue) 13%,#fff) 0%,color-mix(in srgb,var(--hue) 4%,#fff) 46%,var(--surface) 100%);
  box-shadow:0 1px 2px rgba(13,16,23,.04),inset 0 1px 0 rgba(255,255,255,.7);transition:transform .18s,box-shadow .18s,border-color .18s}
.tile::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:linear-gradient(90deg,var(--hue),color-mix(in srgb,var(--hue) 45%,#fff));opacity:.9}
.tile::after{content:"";position:absolute;right:-70px;bottom:-90px;width:230px;height:230px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--hue) 20%,transparent) 0%,transparent 68%);pointer-events:none;z-index:-1;transition:transform .35s}
a.tile:hover{transform:translateY(-3px);box-shadow:0 18px 34px -20px color-mix(in srgb,var(--hue) 55%,rgba(13,16,23,.4)),0 1px 2px rgba(13,16,23,.05);border-color:color-mix(in srgb,var(--hue) 40%,var(--rule))}
a.tile:hover::after{transform:scale(1.25)}
.tile.off{opacity:.6;filter:saturate(.35)}
.tile .mark{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;color:#fff;margin-bottom:12px;
  background:linear-gradient(135deg,color-mix(in srgb,var(--hue) 80%,#fff) 0%,var(--hue) 55%,color-mix(in srgb,var(--hue) 78%,#000) 100%);
  box-shadow:0 8px 16px -8px color-mix(in srgb,var(--hue) 75%,transparent),inset 0 1px 0 rgba(255,255,255,.35)}
.tile .mark svg{display:block}
.tile .wm{position:absolute;right:-18px;bottom:-22px;color:var(--hue);opacity:.07;pointer-events:none;z-index:-1;transform:rotate(-8deg);transition:opacity .25s,transform .35s}
.tile .wm svg{width:128px;height:128px;stroke-width:1.4}
a.tile:hover .wm{opacity:.12;transform:rotate(-4deg) translate(-4px,-4px)}
.tile .k{font-family:var(--f-display);font-variation-settings:"wdth" 110;font-weight:800;font-size:19px;letter-spacing:-.02em;line-height:1.1}
.tile .k small{display:block;font-family:var(--f-mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:color-mix(in srgb,var(--hue) 70%,var(--ink-3));font-weight:600;margin-top:4px}
.tile p{font-size:12.5px;color:var(--ink-2);margin:10px 0 0;line-height:1.45;max-width:34ch}
.tile .cnt{margin-top:auto;padding-top:12px;display:flex;justify-content:space-between;align-items:baseline;font-family:var(--f-mono);font-size:10.5px;color:var(--ink-3)}
.tile .cnt>span{min-width:0;line-height:1.4}.tile .cnt b{color:var(--ink);font-weight:600;font-size:12px;margin-right:2px}
.tile .cnt em{font-style:normal;color:var(--hue);font-weight:600;opacity:0;transition:opacity .15s}
a.tile:hover .cnt em{opacity:1}
.tile .no{margin-top:auto;padding-top:12px;font-size:11.5px;color:var(--ink-3);display:flex;align-items:center;gap:5px}
/* workspace cards */
.wide3{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}
.wcard{display:grid;grid-template-columns:44px 1fr;gap:4px 14px;padding:16px 18px;border:1px solid var(--rule);border-radius:14px;background:linear-gradient(135deg,var(--surface) 0%,var(--surface) 60%,color-mix(in srgb,var(--rule) 45%,#fff) 100%);text-decoration:none;color:var(--ink);transition:transform .16s,box-shadow .16s;position:relative;overflow:hidden}
a.wcard:hover{transform:translateY(-2px);box-shadow:0 12px 24px -18px rgba(13,16,23,.35)}
.wcard.off{opacity:.55}
.wcard .wico{grid-row:span 3;width:44px;height:44px;border-radius:12px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,color-mix(in srgb,var(--hue) 82%,#fff) 0%,var(--hue) 60%,color-mix(in srgb,var(--hue) 78%,#000) 100%);box-shadow:0 8px 16px -8px color-mix(in srgb,var(--hue) 70%,transparent),inset 0 1px 0 rgba(255,255,255,.35)}
.wcard .wico svg{display:block}
.wcard b{font-size:15px}.wcard span{font-size:12.5px;color:var(--ink-2)}.wcard em{font-style:normal;font-size:12px;color:var(--accent);font-weight:600}
/* feeds */
.two{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:14px;align-items:start}
@media (max-width:820px){.two{grid-template-columns:1fr}.cpwrap{padding:16px 16px 50px}.cpbar{padding:0 14px;gap:8px}.cptabs{display:none}.cpbar .me b,.cpbar .me span span{display:none}}
.feed{border:1px solid var(--rule);border-radius:12px;background:var(--surface);overflow:hidden}
.feed .h{display:flex;justify-content:space-between;align-items:center;padding:11px 14px;border-bottom:1px solid var(--rule);font-size:13px}
.feed .h a{font-size:12px}
.feed .r{display:grid;grid-template-columns:52px 1fr;gap:10px;padding:9px 14px;border-bottom:1px solid var(--rule);font-size:12.5px}
.feed .r:last-child{border-bottom:0}
.feed .r time{font-family:var(--f-mono);font-size:11px;color:var(--ink-3)}
.feed .r .a{font-family:var(--f-mono);font-size:11px;color:var(--accent)}.feed .r .w{color:var(--ink-2)}.feed .r .who{display:block;font-size:11px;color:var(--ink-3)}
.sysrow{display:flex;justify-content:space-between;gap:10px;padding:9px 14px;border-bottom:1px solid var(--rule);font-size:12.5px}
.sysrow:last-child{border-bottom:0}.sysrow dt{color:var(--ink-2)}.sysrow dd{margin:0;font-family:var(--f-mono);font-size:11.5px}
/* admin */
.admins{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}
.admins.big{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
.admins a{display:flex;flex-direction:column;gap:4px;padding:16px 16px 14px;border:1px solid var(--rule);border-radius:12px;background:var(--surface);text-decoration:none;color:var(--ink);transition:transform .16s,box-shadow .16s,border-color .16s}
.admins a:hover{transform:translateY(-2px);box-shadow:0 12px 24px -18px rgba(13,16,23,.35);border-color:color-mix(in srgb,var(--hue) 35%,var(--rule))}
.admins .aico{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;margin-bottom:8px;color:var(--hue);background:color-mix(in srgb,var(--hue) 11%,#fff);border:1px solid color-mix(in srgb,var(--hue) 22%,transparent)}
.admins .aico svg{display:block}
.admins b{font-size:14px}.admins span{font-size:12px;color:var(--ink-2)}.admins .to{margin-top:auto;padding-top:8px;font-family:var(--f-mono);font-size:10.5px;color:var(--ink-3)}
/* docs */
.docbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:0 0 14px}
.docbar input{flex:1;min-width:200px;max-width:360px;padding:8px 12px}
.docbar .seg{display:inline-flex;border:1px solid var(--rule);border-radius:100px;overflow:hidden;background:var(--surface)}
.docbar .seg button{border:0;background:none;padding:7px 12px;font-size:12.5px;color:var(--ink-2);cursor:pointer}
.docbar .seg button.on{background:var(--accent-soft);color:var(--accent);font-weight:600}
.docs{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}
.doc{display:flex;flex-direction:column;gap:6px;padding:16px 18px 14px;border:1px solid var(--rule);border-radius:12px;background:var(--surface);text-decoration:none;color:var(--ink);transition:transform .16s,box-shadow .16s;position:relative}
.doc:hover{transform:translateY(-2px);box-shadow:0 12px 24px -18px rgba(13,16,23,.35)}
.doc .docid{font-family:var(--f-mono);font-size:10px;letter-spacing:.08em;color:var(--ink-3)}
.doc b{font-size:14.5px;line-height:1.3}
.doc p{margin:0;font-size:12.5px;color:var(--ink-2);line-height:1.45;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.doc .docfoot{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:auto;padding-top:8px;font-size:11.5px;color:var(--ink-3)}
.doc .doclink{position:absolute;top:14px;right:14px;font-family:var(--f-mono);font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);background:var(--accent-soft);padding:2px 7px;border-radius:100px}
.dochead{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:start;margin-bottom:16px}
.dochead h2{font-family:var(--f-display);font-variation-settings:"wdth" 108;font-weight:700;font-size:24px;letter-spacing:-.02em;margin:6px 0 8px}
.dochead p{margin:0;font-size:14px;color:var(--ink-2);max-width:70ch;line-height:1.55}
.docmeta{display:grid;grid-template-columns:repeat(2,minmax(120px,1fr));gap:1px;background:var(--rule);border:1px solid var(--rule);border-radius:10px;overflow:hidden}
.docmeta div{background:var(--surface);padding:9px 12px}.docmeta dt{font-family:var(--f-mono);font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.docmeta dd{margin:2px 0 0;font-size:12.5px;font-weight:600}
@media (max-width:760px){.dochead{grid-template-columns:1fr}}
/* theme */
.swatches{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;padding:12px}
.sw{display:grid;grid-template-columns:22px 22px 1fr;gap:4px 8px;align-items:center;padding:10px;border:1px solid var(--rule);border-radius:10px;background:var(--surface);cursor:pointer;text-align:left}
.sw.on{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}
.sw .swc{width:22px;height:22px;border-radius:6px;grid-row:span 2}
.sw b{font-size:13px}.sw span{font-size:11px;color:var(--ink-3)}
.thprev{border:1px solid var(--rule);border-radius:14px;overflow:hidden;background:var(--paper);box-shadow:0 14px 30px -20px rgba(13,16,23,.35)}
.tp-bar{display:flex;align-items:center;gap:8px;padding:10px 14px;background:var(--surface);border-bottom:1px solid var(--rule)}
.tp-mark{width:26px;height:26px;border-radius:7px;background:var(--accent);color:#fff;display:grid;place-items:center;font-size:12px}
.tp-name{font-family:var(--f-display);font-weight:800;font-size:14px;letter-spacing:-.02em}
.tp-chip{font-family:var(--f-mono);font-size:10px;padding:3px 8px;border-radius:100px;background:var(--accent-soft);color:var(--accent)}
.tp-body{padding:14px}
.tp-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}
.tp-kpis div{background:var(--surface);border:1px solid var(--rule);border-radius:var(--r);padding:10px}
.tp-kpis b{display:block;font-family:var(--f-display);font-weight:700;font-size:16px}.tp-kpis span{font-size:10.5px;color:var(--ink-3)}
.tp-card{background:var(--surface);border:1px solid var(--rule);border-radius:var(--r);padding:12px}
.tp-h{font-weight:600;font-size:13px;margin-bottom:8px;display:flex;justify-content:space-between}
.tp-pill{font-family:var(--f-mono);font-size:9.5px;padding:2px 7px;border-radius:100px;background:var(--accent-soft);color:var(--accent)}
.tp-row{display:flex;justify-content:space-between;font-size:12.5px;padding:6px 0;border-top:1px solid var(--rule)}
.tp-note{margin-top:10px;font-size:11.5px;color:var(--ink-3)}
html[data-density="compact"] .tile{min-height:150px;padding:14px 14px 12px}
html[data-density="compact"] .cpwrap{padding-top:14px}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:var(--ink);color:#fff;padding:10px 18px;border-radius:var(--r);font-size:13.5px;z-index:99}
/* brand logo */
.blogo:empty{display:none}.blogo img{height:26px;max-width:140px;object-fit:contain;display:block}
[data-logo="1"] .cpbar .cpmark{display:none}
.logo-r{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:start}
.logo-drop{display:contents}
.logo-box{width:120px;height:72px;border:1px dashed var(--rule-2);border-radius:10px;display:grid;place-items:center;background:repeating-conic-gradient(#f3f4f6 0 25%,#fff 0 50%) 0 0/16px 16px;overflow:hidden}
.logo-box img{max-width:104px;max-height:56px;object-fit:contain}
.logo-r b{display:block;font-size:13.5px;margin-bottom:3px}.logo-r span{font-size:12.5px;color:var(--ink-2);line-height:1.5}
#th-drop.over .logo-box{border-color:var(--accent);background:var(--accent-soft)}
.tp-logo:empty{display:none}.tp-logo img{height:22px;max-width:110px;object-fit:contain;display:block}

/* dark theme: tints mix with the dark surface instead of white */
:root[data-theme="dark"] .cpbar{background:rgba(22,27,44,.88)}
:root[data-theme="dark"] .slide{background:linear-gradient(120deg,color-mix(in srgb,var(--hue) 22%,var(--surface)) 0%,var(--surface) 55%)}
:root[data-theme="dark"] .sl-kpi{background:rgba(22,27,44,.72);border-color:var(--rule-2)}
:root[data-theme="dark"] .carbtn{background:rgba(30,36,55,.92);color:var(--ink)}
:root[data-theme="dark"] .tile{background:linear-gradient(150deg,color-mix(in srgb,var(--hue) 28%,var(--surface)) 0%,color-mix(in srgb,var(--hue) 10%,var(--surface)) 46%,var(--surface) 100%);box-shadow:0 1px 2px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.05)}
:root[data-theme="dark"] .tile::before{background:linear-gradient(90deg,var(--hue),color-mix(in srgb,var(--hue) 45%,var(--surface)))}
:root[data-theme="dark"] .tile .mark,:root[data-theme="dark"] .wcard .wico{box-shadow:0 8px 16px -8px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,255,255,.18)}
:root[data-theme="dark"] .wcard{background:linear-gradient(135deg,var(--surface) 0%,var(--surface) 60%,color-mix(in srgb,var(--rule) 45%,var(--surface)) 100%)}
:root[data-theme="dark"] .admins .aico{background:color-mix(in srgb,var(--hue) 22%,var(--surface));color:color-mix(in srgb,var(--hue) 60%,#fff)}
:root[data-theme="dark"] .toast{background:var(--surface-3);color:var(--ink);border:1px solid var(--rule-2)}
:root[data-theme="dark"] .logo-box{background:repeating-conic-gradient(#232a44 0 25%,#1e2437 0 50%) 0 0/16px 16px}
:root[data-theme="dark"] .cpbar .me button{color:var(--ink)}

/* ── app groups + view toggle ── */
.cph .seg{display:inline-flex;border:1px solid var(--rule);border-radius:100px;overflow:hidden;background:var(--surface)}
.cph .seg button{border:0;background:none;padding:5px 11px;font-size:12px;color:var(--ink-2);cursor:pointer;font-family:inherit}
.cph .seg button.on{background:var(--accent-soft);color:var(--accent);font-weight:600}
.agrp{margin-bottom:18px}
.agrp-h{display:flex;align-items:baseline;gap:12px;margin:0 0 8px;flex-wrap:wrap}
.agrp-h h3{margin:0;font-family:var(--f-display);font-variation-settings:"wdth" 108;font-weight:700;font-size:14px;letter-spacing:-.01em;color:var(--ink)}
.agrp-h .lbl{font-size:10.5px}

/* ── new-lender form: fixed 4-column grid, section headers, aligned controls ── */
.lform{padding:14px 16px 16px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px 14px;align-items:start}
.lform .lsec{grid-column:1/-1;font-family:var(--f-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);padding-bottom:6px;border-bottom:1px solid var(--rule);margin-top:4px}
.lform .lsec:first-child{margin-top:0}
.lform .field{margin:0;gap:5px}
.lform .field > label{font-size:12px;font-weight:600;line-height:1.3;min-height:16px}
.lform .field input,.lform .field select{width:100%;padding:9px 11px;font-size:13px}
.lform .field.w2{grid-column:span 2}
.lform .lhint{font-size:11px;color:var(--ink-3)}
.lform .inwrap{display:flex;align-items:stretch;border:1px solid var(--rule-2);border-radius:var(--r);background:var(--surface);overflow:hidden}
.lform .inwrap:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.lform .inwrap input{border:0;background:none;box-shadow:none;border-radius:0;flex:1;min-width:0}
.lform .inwrap input:focus{box-shadow:none;border:0;outline:0}
.lform .inwrap .suf{display:grid;place-items:center;padding:0 10px;font-size:12px;color:var(--ink-3);background:var(--surface-2);white-space:nowrap}
.lform .inwrap.pre .suf{border-right:1px solid var(--rule)}
.lform .inwrap:not(.pre) .suf{border-left:1px solid var(--rule)}
.lform .lf-foot{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:4px;padding-top:12px;border-top:1px solid var(--rule)}
.lform .lf-foot span{font-size:12px;color:var(--ink-3)}
@media (max-width:980px){.lform{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.lform{grid-template-columns:1fr}.lform .field.w2{grid-column:span 1}.lform .lf-foot{flex-direction:column;align-items:stretch}.lform .lf-foot .btn{width:100%}}
.lform .field[hidden]{display:none}
