/* Easy Lending USA portal - v0.4 design */
:root{
  --red:#D42B1F; --red-d:#A81F16; --red-t:#FDECEA;
  --navy:#0E1B33; --navy-2:#16284B; --navy-3:#9FB0CF;
  --ink:#0F172A; --ink2:#334155; --mut:#64748B; --line:#E5E8EF; --line-2:#EEF1F6;
  --bg:#F4F6FA; --card:#fff;
  --good:#15803D; --good-bg:#E8F6EE; --warn:#B45309; --warn-bg:#FEF3E2;
  --bad:#B91C1C; --bad-bg:#FDECEC; --blue:#1D4ED8; --blue-bg:#EAF0FE; --vio:#6D28D9; --vio-bg:#F1EBFE;
  --r:12px; --r-s:8px;
  --sh:0 1px 2px rgba(16,24,40,.04),0 1px 3px rgba(16,24,40,.06);
  --sh-l:0 12px 32px rgba(16,24,40,.12);
  font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  font-feature-settings:"cv11","ss01";
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--ink);font-size:14.5px;line-height:1.5;-webkit-font-smoothing:antialiased}
a{color:var(--red-d);text-decoration:none}
a:hover{text-decoration:underline}
h1{font-size:1.45rem;font-weight:700;margin:0;letter-spacing:-.015em;line-height:1.25}
h2{font-size:.95rem;font-weight:650;margin:0;letter-spacing:-.005em}
button{font:inherit}
.ico{flex:none;display:inline-block;vertical-align:-3px}
.muted{color:var(--mut)} .small{font-size:.82rem} .bad{color:var(--bad)} .nowrap{white-space:nowrap} .block{display:block}
.boot{padding:40px;color:var(--mut)}
.empty{color:var(--mut);margin:4px 0;font-size:.9rem}
.pad{padding:12px}
:focus-visible{outline:2px solid var(--red);outline-offset:2px}

/* auth */
.auth{min-height:100vh;display:grid;place-items:center;padding:16px;background:radial-gradient(1200px 600px at 50% -10%,#e9eef8,var(--bg))}
.auth-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:32px;width:100%;max-width:400px;box-shadow:var(--sh-l)}
.auth-logo{height:42px;margin-bottom:16px}
.auth-card h1{font-size:1.3rem;margin-bottom:4px}
.auth-card form p{margin:12px 0}
.auth-card label{display:block;font-size:.85rem;color:var(--ink2);margin-bottom:4px;font-weight:500}
.auth-card input[type=text],.auth-card input[type=password]{width:100%;padding:11px 12px;border:1px solid #D3D8E2;border-radius:10px;font-size:1rem}
.auth-card .login-remember label{display:inline;color:var(--mut)}
.auth-card input[type=submit]{width:100%;background:var(--red);color:#fff;border:0;border-radius:10px;padding:12px;font-weight:600;font-size:1rem;cursor:pointer}
.auth-card input[type=submit]:hover{background:var(--red-d)}
.auth-foot{font-size:.9rem;margin-top:14px}

/* shell */
.top{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:16px;background:rgba(255,255,255,.92);backdrop-filter:saturate(1.4) blur(8px);border-bottom:1px solid var(--line);padding:0 20px;height:60px}
.brand{width:196px;flex:none}
.brand img{height:32px;display:block}
.search{flex:1;max-width:560px;position:relative;display:flex;align-items:center}
.search .ico{position:absolute;left:12px;color:var(--mut);pointer-events:none}
.search input[type=search]{width:100%;padding:9px 12px 9px 36px;border:1px solid var(--line);border-radius:10px;background:var(--bg);font-size:.92rem}
.search input[type=search]:focus{background:#fff}
.grow{flex:1}
.top-r{display:flex;align-items:center;gap:6px;margin-left:auto}
.me{display:flex;align-items:center;gap:8px;padding:0 6px}
.who{font-weight:600;font-size:.88rem}
.icon-btn{position:relative;display:inline-grid;place-items:center;width:38px;height:38px;border-radius:10px;border:0;background:none;color:var(--ink2);cursor:pointer}
.icon-btn:hover{background:var(--bg);text-decoration:none}
.icon-btn.sm{width:28px;height:28px;border-radius:7px;color:var(--mut)}
.bell-n{position:absolute;top:4px;right:3px;background:var(--red);color:#fff;border-radius:10px;font-size:.66rem;font-weight:700;padding:1px 5px;min-width:17px;text-align:center;line-height:1.35;box-shadow:0 0 0 2px #fff}
.bell-panel{position:absolute;right:16px;top:58px;width:min(400px,calc(100vw - 24px));max-height:72vh;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--sh-l)}
.bell-h{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--line);position:sticky;top:0;background:#fff}
.note{display:block;padding:11px 16px;border-bottom:1px solid var(--line-2);color:var(--ink)}
.note:hover{background:var(--bg);text-decoration:none}
.note.unread{background:#FFF8F7;box-shadow:inset 3px 0 0 var(--red)}
.note.urgent .note-t::before{content:"URGENT ";color:var(--red);font-weight:700;font-size:.72rem}
.note-t{display:block;font-weight:600;font-size:.9rem}
.note-b{display:block;font-size:.84rem;color:var(--ink2);white-space:pre-line}
.note-d{display:block;font-size:.74rem;color:var(--mut);margin-top:2px}
.link{background:none;border:0;color:var(--red-d);cursor:pointer;font-size:inherit;padding:0;text-align:left}
.link:hover{text-decoration:underline}

.body{display:flex;min-height:calc(100vh - 60px)}
.side{width:236px;flex:none;padding:16px 12px;background:var(--navy);position:sticky;top:60px;height:calc(100vh - 60px);overflow:auto}
.side a{display:flex;align-items:center;gap:11px;padding:9px 12px;border-radius:9px;color:#C9D3E6;font-weight:500;font-size:.92rem;margin-bottom:2px}
.side a .ico{color:var(--navy-3)}
.side a:hover{background:var(--navy-2);color:#fff;text-decoration:none}
.side a.on{background:rgba(212,43,31,.16);color:#fff;font-weight:600;box-shadow:inset 3px 0 0 var(--red)}
.side a.on .ico{color:#FF8A80}
.main{flex:1;min-width:0;padding:24px 28px 72px;max-width:1360px}

/* page header */
.page-h{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-bottom:18px}
.page-sub{margin:4px 0 0;color:var(--mut);font-size:.9rem}
.seg{display:inline-flex;background:#fff;border:1px solid var(--line);border-radius:10px;padding:3px;box-shadow:var(--sh)}
.seg a{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:7px;color:var(--ink2);font-size:.86rem;font-weight:500}
.seg a:hover{text-decoration:none;background:var(--bg)}
.seg a.on{background:var(--ink);color:#fff}

/* components */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:var(--red);color:#fff;border:1px solid var(--red);border-radius:9px;padding:8px 14px;font-weight:600;font-size:.88rem;cursor:pointer;line-height:1.2;white-space:nowrap;transition:background .15s,box-shadow .15s}
.btn:hover{background:var(--red-d);text-decoration:none}
.btn:disabled{opacity:.6;cursor:default}
.btn.ghost{background:#fff;color:var(--ink);border-color:#D6DBE4;box-shadow:var(--sh)}
.btn.ghost:hover{background:var(--bg)}
.btn.small{padding:5px 10px;font-size:.8rem;border-radius:7px}
.btn.danger{color:var(--bad)}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);margin-bottom:16px;box-shadow:var(--sh)}
.card-h{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:13px 16px;border-bottom:1px solid var(--line-2)}
.card-h a{font-size:.84rem;font-weight:500}
.card-b{padding:14px 16px}
.fold > summary{cursor:pointer;list-style:none;border-bottom:0}
.fold > summary::-webkit-details-marker{display:none}
.fold > summary::after{content:"";width:8px;height:8px;border-right:2px solid var(--mut);border-bottom:2px solid var(--mut);transform:rotate(45deg);margin-left:8px;transition:transform .15s;flex:none}
.fold[open] > summary{border-bottom:1px solid var(--line-2)}
.fold[open] > summary::after{transform:rotate(-135deg)}
.fold-s{margin-left:auto;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:60%}
.alert{display:flex;align-items:center;gap:6px;flex-wrap:wrap;background:var(--warn-bg);border:1px solid #F5D9A8;color:#7A4307;border-radius:10px;padding:10px 14px;margin-bottom:16px;font-size:.9rem}
.badge{display:inline-flex;align-items:center;padding:2px 9px;border-radius:999px;font-size:.75rem;font-weight:600;background:#EEF1F5;color:var(--ink2);white-space:nowrap}
.st-new{background:var(--blue-bg);color:var(--blue)}
.st-contacted,.st-qualified{background:#EEF2FF;color:#4338CA}
.st-docs_requested,.st-docs_received{background:var(--warn-bg);color:var(--warn)}
.st-submitted,.st-term_sheet,.st-underwriting,.st-appraisal{background:var(--vio-bg);color:var(--vio)}
.st-clear_to_close{background:#E6F7F1;color:#047857}
.st-funded{background:var(--good-bg);color:var(--good)}
.st-lost,.st-junk,.st-archived{background:#F1F2F4;color:#6B7280}
.bulk{position:sticky;top:68px;z-index:20;display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:var(--ink);color:#fff;border-radius:10px;padding:8px 12px;margin-bottom:10px;box-shadow:var(--sh-l);font-size:.88rem}
.bulk .btn.ghost{box-shadow:none}
.bulk .link{color:#C9D3E6;margin-left:auto}
.pick-td{width:36px;padding-right:0!important}
.pick-td input{width:16px;height:16px;accent-color:var(--red);cursor:pointer}
.chip{display:inline-flex;align-items:center;padding:1px 8px;border-radius:6px;font-size:.72rem;font-weight:650;background:#EEF1F5;color:var(--ink2);vertical-align:middle;white-space:nowrap}
.chip.bad,.pr-hot{background:var(--bad-bg);color:var(--bad)}
.chip.good{background:var(--good-bg);color:var(--good)}
.pr-warm{background:var(--warn-bg);color:var(--warn)}
.pr-cold{background:#EEF1F5;color:var(--mut)}
.cm-projected{background:#EEF1F5;color:var(--ink2)} .cm-earned{background:var(--warn-bg);color:var(--warn)} .cm-paid{background:var(--good-bg);color:var(--good)}
.ref{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.78rem;color:var(--mut)}
.av{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;font-weight:700;font-size:.78rem;flex:none;letter-spacing:.02em}
.av-sm{width:28px;height:28px;font-size:.7rem}
.av-lg{width:52px;height:52px;font-size:1.05rem}

/* dashboard */
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(178px,1fr));gap:12px;margin-bottom:18px}
.tile{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:14px;color:var(--ink);display:flex;gap:12px;align-items:center;box-shadow:var(--sh);transition:border-color .15s,box-shadow .15s,transform .15s}
.tile:hover{border-color:#CBD2DE;text-decoration:none;box-shadow:0 6px 16px rgba(16,24,40,.08);transform:translateY(-1px)}
.tile-ic{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:#F1F4F9;color:var(--ink2);flex:none}
.tile-txt{display:flex;flex-direction:column;min-width:0}
.tile-n{font-size:1.45rem;font-weight:700;line-height:1.1;letter-spacing:-.02em}
.tile-l{font-size:.8rem;color:var(--mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tile.bad .tile-ic{background:var(--bad-bg);color:var(--bad)} .tile.bad .tile-n{color:var(--bad)}
.tile.warn .tile-ic{background:var(--warn-bg);color:var(--warn)} .tile.warn .tile-n{color:var(--warn)}
.tile.good .tile-ic{background:var(--good-bg);color:var(--good)}
.tile.info .tile-ic{background:var(--vio-bg);color:var(--vio)}
.dash{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,1fr);gap:16px;align-items:start}
.bars{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px}
.bars a{display:grid;grid-template-columns:120px 1fr 28px;gap:10px;align-items:center;color:var(--ink2);font-size:.82rem}
.bars a:hover{text-decoration:none;color:var(--ink)}
.bar-l{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bar-t{height:8px;background:var(--line-2);border-radius:99px;overflow:hidden}
.bar-f{display:block;height:100%;border-radius:99px}
.bar-f.st-new{background:#3B82F6}.bar-f.st-contacted,.bar-f.st-qualified{background:#6366F1}.bar-f.st-docs_requested,.bar-f.st-docs_received{background:#F59E0B}
.bar-f.st-submitted,.bar-f.st-term_sheet,.bar-f.st-underwriting,.bar-f.st-appraisal{background:#8B5CF6}.bar-f.st-clear_to_close{background:#10B981}.bar-f.st-funded{background:#16A34A}
.bar-n{text-align:right;font-weight:650;color:var(--ink)}
.mini{list-style:none;margin:0;padding:0}
.mini li{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line-2)}
.mini li:last-child{border-bottom:0}
.mini a{color:var(--ink)}
.mini-a{display:flex;align-items:center;gap:10px;min-width:0;flex:1}
.mini-a:hover{text-decoration:none}
.mini-a:hover strong{text-decoration:underline}
.mini-t{display:flex;flex-direction:column;min-width:0;flex:1}
.mini-t > *{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.due{font-size:.78rem;white-space:nowrap;font-weight:600}

/* lists */
.head-row{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px}
.tabs{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:14px}
.tabs a{padding:6px 12px;border-radius:999px;background:#fff;border:1px solid var(--line);color:var(--ink2);font-size:.84rem;font-weight:500}
.tabs a.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.tabs a:hover{text-decoration:none;border-color:#CBD2DE}
.tabs select{margin-left:auto;width:auto}
.table-wrap{overflow-x:auto;background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh)}
.tbl{width:100%;border-collapse:collapse;font-size:.88rem}
.tbl th{text-align:left;font-weight:600;color:var(--mut);font-size:.74rem;text-transform:uppercase;letter-spacing:.04em;padding:11px 14px;border-bottom:1px solid var(--line);white-space:nowrap;background:#FAFBFD}
.tbl td{padding:11px 14px;border-bottom:1px solid var(--line-2);vertical-align:middle}
.tbl tr:last-child td{border-bottom:0}
.tbl tr.click{cursor:pointer}
.tbl tr.click:hover td{background:#F8FAFD}
.tbl tr.click:focus{outline:2px solid var(--red);outline-offset:-2px}
.who-cell{display:flex;align-items:center;gap:10px}

/* board */
.board{display:flex;gap:12px;overflow-x:auto;padding-bottom:12px;align-items:flex-start;min-height:60vh}
.col{flex:none;width:272px;background:#EDF0F5;border-radius:var(--r);padding:8px;transition:background .15s}
.col.over{background:#E2E7F0;box-shadow:inset 0 0 0 2px #A9B6CC}
.col-h{display:flex;align-items:center;gap:8px;padding:6px 6px 10px;font-size:.86rem}
.col-n{margin-left:auto;background:#fff;border-radius:99px;padding:0 8px;font-size:.75rem;font-weight:650;color:var(--ink2)}
.dot{width:9px;height:9px;border-radius:50%;flex:none}
.dot.st-new{background:#3B82F6}.dot.st-contacted,.dot.st-qualified{background:#6366F1}.dot.st-docs_requested,.dot.st-docs_received{background:#F59E0B}
.dot.st-submitted,.dot.st-term_sheet,.dot.st-underwriting,.dot.st-appraisal{background:#8B5CF6}.dot.st-clear_to_close{background:#10B981}.dot.st-funded{background:#16A34A}
.col-b{display:flex;flex-direction:column;gap:8px;min-height:40px}
.kcard{display:flex;flex-direction:column;gap:4px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 11px;color:var(--ink);box-shadow:var(--sh);cursor:grab}
.kcard:hover{text-decoration:none;border-color:#C2CAD8}
.kcard.dragging{opacity:.45}
.kc-top{display:flex;justify-content:space-between;gap:6px;align-items:flex-start;font-size:.88rem}
.kc-meta{font-size:.78rem;color:var(--mut)}
.kc-bot{display:flex;justify-content:space-between;gap:6px;font-size:.76rem;margin-top:2px}
.kc-amt{font-weight:650}
.kc-due{color:var(--mut)} .kc-due.bad{color:var(--bad);font-weight:650}

/* forms */
.form{display:flex;flex-direction:column;gap:11px}
.form.narrow{max-width:580px}
.field{display:flex;flex-direction:column;gap:5px}
.lbl{font-size:.78rem;font-weight:600;color:var(--ink2)}
.hint{font-size:.77rem;color:var(--mut);margin:4px 0 0}
input[type=text],input[type=email],input[type=password],input[type=tel],input[type=number],input[type=search],input[type=datetime-local],select,textarea{
  width:100%;padding:8px 10px;border:1px solid #D6DBE4;border-radius:var(--r-s);font:inherit;font-size:.9rem;background:#fff;color:var(--ink);transition:border-color .15s,box-shadow .15s}
textarea{resize:vertical;line-height:1.5}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 3px rgba(212,43,31,.14)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.row{display:flex;gap:8px;align-items:center}
.row.wrap{flex-wrap:wrap}
.row select,.row input{width:auto}
.check{display:flex;gap:8px;align-items:center;font-size:.88rem}
.check input{width:auto}
.copy{display:flex;gap:6px;margin:6px 0}
.copy input{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.8rem}

/* deal page */
.crumbs{display:flex;align-items:center;gap:10px;font-size:.84rem;color:var(--mut);margin-bottom:10px}
.crumbs a{display:inline-flex;align-items:center;gap:4px;color:var(--ink2);font-weight:500}
.dh{padding:18px 18px 14px}
.dh-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}
.dh-id{display:flex;gap:14px;align-items:center;min-width:0}
.dh-id h1{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:.84rem;margin-top:5px}
.dh-act{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.dh-act select{width:auto;padding:7px 10px;font-size:.86rem}
.stepper{list-style:none;display:flex;gap:4px;padding:0;margin:16px 0 0;overflow-x:auto;scrollbar-width:thin}
.stepper li{flex:1;min-width:92px}
.stepper button{width:100%;border:0;background:#EEF1F5;color:var(--mut);font-size:.72rem;font-weight:600;padding:8px 6px;cursor:pointer;clip-path:polygon(0 0,calc(100% - 9px) 0,100% 50%,calc(100% - 9px) 100%,0 100%,9px 50%);line-height:1.2;transition:background .15s,color .15s}
.stepper li:first-child button{clip-path:polygon(0 0,calc(100% - 9px) 0,100% 50%,calc(100% - 9px) 100%,0 100%);border-radius:7px 0 0 7px}
.stepper li:last-child button{clip-path:polygon(0 0,100% 0,100% 100%,0 100%,9px 50%);border-radius:0 7px 7px 0}
.stepper button:hover{background:#E2E7EF;color:var(--ink)}
.stepper li.past button{background:#FBD5D1;color:var(--red-d)}
.stepper li.now button{background:var(--red);color:#fff}
.stepper.is-closed li button{background:#F1F2F4;color:#9AA3AF}
.facts-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) minmax(0,1.35fr) minmax(0,.9fr);gap:0;padding:0}
.fact{display:flex;flex-direction:column;gap:3px;padding:12px 16px;border-right:1px solid var(--line-2);min-width:0}
.fact:last-child{border-right:0}
.fact-l{font-size:.72rem;color:var(--mut);font-weight:600;text-transform:uppercase;letter-spacing:.04em}
.fact-v{font-weight:600;font-size:.92rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fact .fu-in{padding:4px 6px;font-size:.82rem;min-width:0;font-weight:600;border-color:transparent;background:var(--bg)}
.fact .fu-in.bad{color:var(--bad);background:var(--bad-bg)}
.fact-warn{font-size:.72rem;font-weight:700;color:var(--bad)}
.deal-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(320px,1fr);gap:16px;align-items:start}
.col-main,.col-side,.dash-main,.dash-side{min-width:0}
.mail-meta{overflow-wrap:anywhere}

/* composer */
.composer-card{overflow:hidden}
.cmp-tabs{display:flex;gap:2px;padding:6px 8px 0;border-bottom:1px solid var(--line-2);overflow-x:auto;background:#FAFBFD}
.cmp-tabs button{display:inline-flex;align-items:center;gap:7px;border:0;background:none;padding:10px 12px;color:var(--mut);font-weight:600;font-size:.86rem;cursor:pointer;border-bottom:2px solid transparent;white-space:nowrap}
.cmp-tabs button:hover{color:var(--ink)}
.cmp-tabs button.on{color:var(--red-d);border-bottom-color:var(--red)}
.cmp-pane{padding:14px 16px}
.cmp-form{display:flex;flex-direction:column;gap:10px}
.cmp-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.cmp-fu{display:flex;align-items:center;gap:6px;font-size:.8rem;color:var(--mut);font-weight:500}
.cmp-fu input{width:auto;padding:5px 8px;font-size:.82rem}
.cmp-grid{display:grid;grid-template-columns:64px 1fr;gap:8px 10px;align-items:center}
.cmp-grid label{font-size:.8rem;color:var(--mut);font-weight:600}
.cmp-reply{display:flex;align-items:center;gap:6px;font-size:.84rem;color:var(--ink2);background:var(--blue-bg);padding:7px 10px;border-radius:8px}
.cmp-att summary{cursor:pointer;font-size:.84rem;color:var(--ink2);font-weight:500;display:inline-flex;align-items:center;gap:4px}
.cmp-att-l{display:flex;flex-direction:column;gap:4px;margin-top:6px;max-height:160px;overflow:auto}
.cmp-empty{padding:8px 0}

/* feed */
.feed-f{display:flex;gap:4px;flex-wrap:wrap}
.feed-f button{border:1px solid var(--line);background:#fff;border-radius:99px;padding:3px 10px;font-size:.78rem;color:var(--ink2);cursor:pointer;font-weight:500}
.feed-f button.on{background:var(--ink);border-color:var(--ink);color:#fff}
.feed-f .cnt{opacity:.65;font-weight:600}
.feed{list-style:none;margin:0;padding:0;position:relative}
.feed::before{content:"";position:absolute;left:15px;top:8px;bottom:8px;width:2px;background:var(--line-2)}
.fi{display:flex;gap:12px;padding:8px 0;position:relative}
.fi-i{flex:none;width:32px;height:32px;border-radius:50%;background:#F1F4F9;color:var(--ink2);display:grid;place-items:center;border:3px solid #fff;z-index:1}
.fi-c{min-width:0;flex:1;padding-top:3px}
.fi-h{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;font-size:.84rem}
.fi-k{font-size:.74rem;color:var(--mut);font-weight:500}
.fi-k.in{color:var(--good);font-weight:600} .fi-k.out{color:var(--blue);font-weight:600}
.fi-t{margin-left:auto;font-size:.74rem;color:var(--mut);white-space:nowrap}
.fi-b{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.9rem;margin-top:3px;color:var(--ink2)}
.fi-note .fi-b,.fi-call .fi-b{background:#FFFBEB;border:1px solid #FCEFC7;border-radius:10px;padding:8px 11px;color:var(--ink)}
.fi-message .fi-b{background:var(--red-t);border:1px solid #F8D3CF;border-radius:10px;padding:8px 11px;color:var(--ink)}
.fi-note .fi-i{background:#FEF3C7;color:#92400E} .fi-call .fi-i{background:var(--good-bg);color:var(--good)}
.fi-message .fi-i{background:var(--red-t);color:var(--red-d)} .fi-status .fi-i{background:var(--vio-bg);color:var(--vio)}
.fi-mail-in .fi-i{background:var(--good-bg);color:var(--good)} .fi-mail-out .fi-i{background:var(--blue-bg);color:var(--blue)}
.fi-mh{display:block;width:100%;text-align:left;background:#fff;border:1px solid var(--line);border-radius:10px;padding:9px 12px;cursor:pointer;color:var(--ink);margin-top:-2px;transition:border-color .15s,box-shadow .15s}
.fi-mh:hover{border-color:#C9D0DC;box-shadow:var(--sh)}
.fi-mh[aria-expanded=true]{border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom-color:var(--line-2)}
.fi-mh .fi-h{margin-bottom:3px}
.fi-subj{display:flex;align-items:center;gap:6px;font-size:.88rem}
.fi-snip{display:block;font-size:.82rem;color:var(--mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}
.fi-mh[aria-expanded=true] .fi-snip{display:none}
.att-n{display:inline-flex;align-items:center;gap:2px;font-size:.74rem;color:var(--mut)}
.fi-mail{border:1px solid var(--line);border-top:0;border-radius:0 0 10px 10px;padding:10px 12px;display:flex;flex-direction:column;gap:8px;background:#FCFDFE}
.mail-txt{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.88rem;max-height:440px;overflow:auto;color:var(--ink)}
.att-l{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.att-l li{background:#fff;border:1px solid var(--line);border-radius:8px;padding:4px 9px;font-size:.82rem}
.feed-empty::before{display:none}

/* side cards */
.contact{display:flex;flex-direction:column;gap:9px}
.ct-row{display:flex;align-items:center;gap:9px;font-size:.9rem;min-width:0}
.ct-row .ico{color:var(--mut)}
.ct-row > a,.ct-row > span,.ct-row > .link{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ct-row .icon-btn{margin-left:auto}
.prog{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.prog-t{flex:1;height:8px;background:var(--line-2);border-radius:99px;overflow:hidden}
.prog-f{height:100%;background:linear-gradient(90deg,#22C55E,#16A34A);border-radius:99px;transition:width .3s}
.needs{list-style:none;margin:0 0 10px;padding:0}
.nd{display:flex;align-items:center;gap:9px;padding:6px 0;border-bottom:1px solid var(--line-2);font-size:.86rem}
.nd:last-child{border-bottom:0}
.nd-i{flex:none;width:18px;height:18px;border-radius:50%;border:2px solid #CBD2DE;display:grid;place-items:center;color:#fff}
.nd-received .nd-i,.nd-approved .nd-i{background:var(--good);border-color:var(--good)}
.nd-waived .nd-i{background:#CBD2DE;border-color:#CBD2DE}
.nd-requested .nd-i{border-color:var(--warn)}
.nd-l{flex:1;min-width:0}
.nd-waived .nd-l{color:var(--mut);text-decoration:line-through}
.nd-s{width:auto;padding:3px 6px;font-size:.76rem;border-radius:6px;background:var(--bg);border-color:transparent}
.nd-tag{font-size:.74rem;font-weight:600;color:var(--mut)}
.nd-received .nd-tag,.nd-approved .nd-tag{color:var(--good)}
.nd-add{display:flex;gap:6px;margin:8px 0}
.nd-add input,.nd-add select{flex:1;width:auto;min-width:0}
.subs{list-style:none;margin:0 0 8px;padding:0}
.sub{border:1px solid var(--line);border-radius:10px;margin-bottom:8px;overflow:hidden}
.sub summary{display:grid;grid-template-columns:1fr auto;gap:2px 8px;padding:9px 11px;cursor:pointer;list-style:none}
.sub summary::-webkit-details-marker{display:none}
.sub summary:hover{background:#FAFBFD}
.sub-l{display:flex;align-items:center;gap:7px;font-size:.9rem}
.sub-t{grid-column:1 / 3}
.sub-edit{padding:10px 11px;border-top:1px solid var(--line-2);background:#FCFDFE}
.sb-sent,.sb-reviewing{background:var(--blue-bg);color:var(--blue)} .sb-quoted{background:var(--warn-bg);color:var(--warn)}
.sb-term_sheet{background:var(--vio-bg);color:var(--vio)} .sb-selected{background:var(--good-bg);color:var(--good)}
.sb-declined,.sb-withdrawn{background:#F1F2F4;color:#6B7280}

/* older blocks still in use */
.composer{display:flex;flex-direction:column;gap:8px;margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.timeline{list-style:none;margin:0;padding:0}
.ev{display:flex;gap:10px;padding:10px 0;border-bottom:1px solid var(--line-2)}
.ev:last-child{border-bottom:0}
.ev-i{flex:none;width:28px;height:28px;border-radius:50%;background:#F1F4F9;display:grid;place-items:center;color:var(--ink2)}
.ev-status .ev-i{background:var(--vio-bg);color:var(--vio)}
.ev-message .ev-i{background:var(--red-t);color:var(--red-d)}
.ev-c{min-width:0;flex:1}
.ev-h{font-size:.84rem}
.ev-b{white-space:pre-wrap;word-wrap:break-word;font-size:.9rem;margin-top:2px}
.tasks{list-style:none;margin:0 0 10px;padding:0}
.tasks li{display:grid;grid-template-columns:auto 1fr auto;gap:4px 10px;align-items:center;padding:7px 0;border-bottom:1px solid var(--line-2);font-size:.88rem}
.tasks li > .muted{grid-column:2 / 4}
.tasks li.done .task-t{text-decoration:line-through;color:var(--mut)}
.tasks input[type=checkbox]{width:16px;height:16px;accent-color:var(--red)}
.task-d{font-size:.78rem;color:var(--mut);white-space:nowrap}
.task-d.bad{color:var(--bad);font-weight:600}
.task-form{display:flex;flex-direction:column;gap:8px}
.facts{display:grid;grid-template-columns:max-content 1fr;gap:8px 18px;margin:0}
.facts dt{color:var(--mut);font-size:.84rem}
.facts dd{margin:0}
.progress{list-style:none;display:flex;gap:4px;padding:0;margin:0 0 16px;overflow-x:auto}
.progress li{flex:1;min-width:84px;font-size:.72rem;text-align:center;padding:8px 4px;border-top:4px solid var(--line);color:var(--mut)}
.progress li.past{border-color:#F0A59F;color:var(--ink2)}
.progress li.now{border-color:var(--red);color:var(--ink);font-weight:700}
.upload{display:flex;flex-direction:column;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line-2)}
.upload input[type=file]{padding:10px;border:1.5px dashed #CBD2DE;border-radius:10px;background:var(--bg);width:100%;font-size:.84rem}
.docs li{align-items:flex-start}
.doc-name{min-width:0;word-break:break-word;font-size:.88rem}
.doc-act{display:flex;gap:8px;align-items:center;flex:none}
.tpl{border:1px solid var(--line);border-radius:10px;margin-bottom:8px}
.tpl summary{padding:10px 12px;cursor:pointer}
.tpl .form{padding:0 12px 12px}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:var(--ink);color:#fff;padding:10px 16px;border-radius:10px;font-size:.9rem;z-index:99;transition:opacity .4s;box-shadow:var(--sh-l)}
.toast.bad{background:var(--bad)}
.toast.out{opacity:0}

/* tablet */
@media (max-width:1180px){
  .facts-strip{grid-template-columns:repeat(3,minmax(0,1fr))}
  .fact:nth-child(3n){border-right:0}
  .fact:nth-child(-n+3){border-bottom:1px solid var(--line-2)}
  .dash{grid-template-columns:minmax(0,1fr)}
}
/* phone: bottom tab bar */
@media (max-width:860px){
  html,body{font-size:15px}
  .top{gap:8px;padding:0 12px;height:56px}
  .brand{width:auto}
  .brand img{height:27px}
  .who{display:none}
  .search{max-width:none}
  .body{flex-direction:column;min-height:calc(100vh - 56px)}
  .side{position:fixed;bottom:0;left:0;right:0;top:auto;height:auto;width:auto;display:flex;justify-content:space-around;padding:6px 4px calc(6px + env(safe-area-inset-bottom));z-index:40;overflow-x:auto;border-top:1px solid #1E3157}
  .side a{flex-direction:column;gap:2px;padding:6px 8px;font-size:.66rem;margin:0;min-width:58px;text-align:center;white-space:nowrap}
  .side a.on{box-shadow:none;background:rgba(212,43,31,.22)}
  .side.solo{display:none}
  .side.solo + .main{padding-bottom:40px}
  .main{padding:16px 14px 96px}
  .deal-grid{grid-template-columns:minmax(0,1fr)}
  .side{justify-content:flex-start}
  .facts-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fact:nth-child(n){border-right:1px solid var(--line-2);border-bottom:1px solid var(--line-2)}
  .fact:nth-child(2n){border-right:0}
  .fact:nth-last-child(-n+2){border-bottom:0}
  .two{grid-template-columns:1fr}
  .tbl{font-size:.85rem}
  .tbl.staff th:nth-child(n+7),.tbl.staff td:nth-child(n+7){display:none}
  .tbl.staff.has-pick th:nth-child(7),.tbl.staff.has-pick td:nth-child(7){display:table-cell}
  .bulk{top:62px}
  .dh-act .btn span,.dh-act .btn{font-size:.82rem}
  .col{width:250px}
  .bell-panel{top:54px;right:8px}
}
@media (max-width:520px){
  .tbl.staff th:nth-child(4),.tbl.staff td:nth-child(4),.tbl.staff th:nth-child(5),.tbl.staff td:nth-child(5){display:none}
  .me{display:none}
  .mini .badge{display:none}
  .dh-act{width:100%}
  .dh-act select{flex:1}
  .tiles{grid-template-columns:1fr 1fr}
  .tile{padding:11px;gap:9px}
  .tile-ic{width:32px;height:32px}
  .tile-n{font-size:1.25rem}
  .dh-id .av-lg{width:42px;height:42px;font-size:.9rem}
  h1{font-size:1.25rem}
  .cmp-grid{grid-template-columns:52px 1fr}
  .bars a{grid-template-columns:96px 1fr 24px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
