*{box-sizing:border-box}:root{--bg:#0d1114;--surface:#151b1f;--line:#323a40;--text:#edf1f3;--muted:#9ba5ac;--orange:#ff7a00;--green:#65d65d}html,body{margin:0;min-height:100%;font-family:Inter,Segoe UI,Arial,sans-serif;background:#080b0d;color:var(--text)}button,input,select{font:inherit}.portfolio-ribbon{height:44px;background:#090b0d;border-bottom:1px solid #242a2e;display:flex;align-items:center;padding:0 16px;gap:16px;font-size:11px}.portfolio-ribbon strong{color:var(--orange)}.portfolio-ribbon span{color:var(--muted);flex:1}.portfolio-ribbon div{display:flex;gap:8px}.portfolio-ribbon button{background:#15191c;border:1px solid #343a3e;color:#ddd;padding:7px 10px;border-radius:6px}.app-window{width:min(1600px,calc(100vw - 24px));height:calc(100vh - 64px);min-height:700px;margin:10px auto;background:var(--bg);border:1px solid #353d43;border-radius:10px;overflow:hidden;box-shadow:0 22px 60px #000a;display:flex;flex-direction:column}.titlebar{height:48px;display:flex;align-items:center;border-bottom:1px solid var(--line);background:#0d1114;padding:0 10px 0 14px;gap:10px}.titlebar>img{width:27px;height:27px;border-radius:7px}.titlebar>div:nth-child(2){display:grid}.titlebar strong{font-size:12px}.titlebar span{font-size:9px;color:var(--muted)}.title-spacer{flex:1}.local-state{display:flex!important;gap:6px;align-items:center!important;font-size:10px!important}.local-state i{width:7px;height:7px;background:var(--green);border-radius:50%}.window-controls{display:flex}.window-controls button{border:0;background:transparent;color:#ddd;width:38px;height:32px;font-size:16px}.window-controls button:hover{background:#ffffff10}.app-body{display:grid;grid-template-columns:235px 1fr;flex:1;min-height:0}.sidebar{background:#10161a;border-right:1px solid var(--line);display:flex;flex-direction:column;min-height:0}.brand{height:92px;display:flex;align-items:center;gap:12px;padding:18px}.brand img{width:46px;height:46px;border-radius:12px}.brand div{display:grid}.brand strong{font-size:19px;letter-spacing:.12em;color:var(--orange)}.brand span{font-size:10px;color:var(--muted)}nav{padding:0 10px;overflow:auto}nav>span{display:block;font-size:9px;letter-spacing:.13em;color:#707b82;margin:20px 10px 8px}nav button{width:100%;text-align:left;border:0;color:#bcc5ca;background:transparent;padding:11px 12px;border-radius:7px;font-size:13px;margin:2px 0}nav button:hover{background:#ffffff08}nav button.active{background:linear-gradient(90deg,#ff7a0028,transparent);color:#fff;border-left:3px solid var(--orange)}.sidebar footer{margin-top:auto;border-top:1px solid var(--line);padding:14px 16px;display:grid;gap:12px}.sidebar footer div:first-child{display:grid}.sidebar footer b{font-size:11px}.sidebar footer small,.version{font-size:9px;color:var(--muted)}.workspace{min-width:0;display:flex;flex-direction:column}.commandbar{height:58px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr minmax(280px,470px) 1fr;align-items:center;padding:0 18px;gap:14px;background:#11171b}.commandbar>div:first-child{font-size:11px;color:var(--muted)}.commandbar b{padding:0 6px}.commandbar strong{color:var(--text)}#globalSearch{height:34px;border:1px solid var(--line);border-radius:7px;background:#0c1013;color:var(--muted);display:flex;align-items:center;gap:8px;padding:0 10px}#globalSearch span{flex:1;text-align:left}kbd{font-size:9px;border:1px solid #3b444a;padding:3px 5px;border-radius:4px}.commandbar>div:last-child{display:flex;justify-content:flex-end;gap:8px}.commandbar button,.page-head button,.toolbar button,.panel button,.form button{border:1px solid #3a4349;background:#171e22;color:#e8ecee;padding:8px 12px;border-radius:7px;font-size:11px}.primary{background:var(--orange)!important;border-color:var(--orange)!important;color:#111!important;font-weight:700}.views{padding:22px;overflow:auto;flex:1}.view{display:none}.view.active{display:block}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:22px}.eyebrow{display:block;font-size:9px;letter-spacing:.14em;color:var(--orange);font-weight:700}.page-head h1{font-size:42px;line-height:1;margin:8px 0;letter-spacing:-.04em}.page-head.compact h1{font-size:36px}.page-head p{margin:0;color:var(--muted);font-size:13px}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:12px}.kpi{background:linear-gradient(145deg,#171e22,#11171b);border:1px solid var(--line);border-radius:9px;padding:16px}.kpi span{font-size:9px;color:var(--muted);letter-spacing:.08em}.kpi strong{display:block;font-size:27px;margin:8px 0}.kpi small{font-size:9px;color:var(--orange)}.dashboard-grid{display:grid;grid-template-columns:2fr 1fr;gap:12px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:16px;min-width:0}.panel.wide{grid-row:span 2}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.panel-head h2{margin:4px 0 0;font-size:16px}.panel-head button{background:transparent;border:0;color:var(--muted)}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:11px}th{font-size:9px;text-transform:uppercase;color:#8f9aa1;text-align:left;background:#1b2227;padding:10px;border-bottom:1px solid var(--line);white-space:nowrap}td{padding:11px 10px;border-bottom:1px solid #293137;color:#d9dee1;white-space:nowrap}.status{padding:3px 6px;border-radius:4px;font-size:9px}.status.active{background:#1d4b25;color:#8be484}.status.paid{background:#28323a;color:#b4bdc3}.activity-list{display:grid;gap:8px}.activity{border-bottom:1px solid #2b3338;padding:7px 0 10px;display:grid;grid-template-columns:1fr auto;gap:4px}.activity b{font-size:11px}.activity span,.activity small{display:block;font-size:9px;color:var(--muted)}.activity strong{color:var(--green);font-size:11px}.calc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.calc-grid label,.form label,.modal label{display:grid;gap:5px;font-size:9px;color:var(--muted)}input,select{width:100%;height:36px;border:1px solid #394249;border-radius:6px;background:#0e1417;color:#eef;padding:0 10px}.calc-results{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px}.calc-results div{border-top:1px solid var(--line);padding-top:10px}.calc-results span{font-size:9px;color:var(--muted)}.calc-results strong{display:block;color:var(--orange);margin-top:4px;font-size:14px}.toolbar{display:flex;align-items:center;gap:9px;margin-bottom:12px}.toolbar input{max-width:360px}.toolbar select{max-width:180px}.toolbar span{margin-left:auto;font-size:10px;color:var(--muted)}.panel-table{border:1px solid var(--line);border-radius:8px}.panel-table table td:last-child{text-align:right}.link-btn{background:transparent;border:0;color:var(--orange);font-size:10px}.split{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(0,1.2fr);gap:12px}.form{display:grid;gap:12px}.payment-preview{background:#0e1417;border:1px solid #303a40;border-radius:7px;padding:12px;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.payment-preview span{font-size:8px;color:var(--muted)}.payment-preview strong{display:block;font-size:13px;margin-top:3px}.card-grid,.report-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.admin-card,.report-card{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:16px}.admin-card strong{display:block}.admin-card span,.report-card span{font-size:9px;color:var(--muted)}.report-card strong{display:block;font-size:28px;margin-top:7px}.overlay{position:fixed;inset:0;background:#000a;display:none;place-items:center;padding:16px;z-index:50}.overlay.show{display:grid}.modal{width:min(620px,100%);max-height:90vh;overflow:auto;background:#151b1f;border:1px solid #414b52;border-radius:10px;box-shadow:0 25px 60px #000;padding:18px}.modal>header{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:13px;margin-bottom:16px}.modal h2{margin:5px 0 0}.modal>header button{border:0;background:transparent;color:#eee;font-size:20px}.modal form{display:grid;gap:11px}.modal .field-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.toast{position:fixed;right:22px;bottom:22px;background:#171e22;border:1px solid #465158;border-left:3px solid var(--orange);padding:11px 14px;border-radius:7px;font-size:11px;opacity:0;transform:translateY(8px);transition:.2s;z-index:60}.toast.show{opacity:1;transform:none}.app-window.minimized .app-body{display:none}.app-window.minimized{height:48px;min-height:0;margin-top:40vh}.app-window.maximized{width:100vw;height:calc(100vh - 44px);margin:0;border-radius:0}.app-window.closed{display:none}@media(max-width:1000px){.app-body{grid-template-columns:190px 1fr}.commandbar{grid-template-columns:auto minmax(170px,1fr) auto}.commandbar>#globalSearch{display:flex;min-width:0}.commandbar>#globalSearch kbd{display:none}.commandbar>#globalSearch span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kpis{grid-template-columns:1fr 1fr}.dashboard-grid{grid-template-columns:1fr}.panel.wide{grid-row:auto}.card-grid,.report-grid{grid-template-columns:1fr 1fr}}@media(max-width:680px){.portfolio-ribbon span{display:none}.portfolio-ribbon{height:auto;min-height:44px;flex-wrap:wrap;padding:7px}.app-window{width:100%;height:auto;min-height:calc(100vh - 58px);margin:0;border-radius:0}.app-body{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid var(--line)}.brand{height:65px}.brand img{width:36px;height:36px}.sidebar nav{display:flex;overflow:auto;padding:6px}.sidebar nav>span{display:none}.sidebar nav button{width:auto;white-space:nowrap}.sidebar footer{display:none}.commandbar{grid-template-columns:1fr auto;height:54px}.commandbar>div:last-child button:first-child{display:none}.views{padding:14px}.page-head h1,.page-head.compact h1{font-size:30px}.kpis{grid-template-columns:1fr 1fr}.split,.card-grid,.report-grid{grid-template-columns:1fr}.calc-grid,.calc-results{grid-template-columns:1fr}.modal .field-row{grid-template-columns:1fr}.payment-preview{grid-template-columns:1fr 1fr}}
/* Loan app identity is intentionally separate from the portfolio favicon/brand. */
.loan-app-mark{width:20px;height:20px;border:1px solid var(--line);border-radius:5px;display:grid;place-items:center;background:linear-gradient(145deg,#222b30,#151a1e);color:var(--accent);font:800 10px/1 system-ui,sans-serif;flex:0 0 auto}
.loan-brand-mark{width:44px;height:44px;border:1px solid #343d43;border-radius:10px;display:grid;place-items:center;background:linear-gradient(145deg,#20272c,#13181b);color:var(--accent);font:800 12px/1 system-ui,sans-serif;letter-spacing:.05em;flex:0 0 auto}


/* Actionable global search */
.commandbar{position:relative}
.search-popover{position:absolute;z-index:45;top:50px;left:50%;width:min(620px,calc(100% - 40px));transform:translateX(-50%) translateY(-5px);background:#12181c;border:1px solid #465057;border-radius:9px;box-shadow:0 22px 55px #000b;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .14s ease,transform .14s ease;overflow:hidden}
.search-popover.show{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0)}
.search-popover-head{height:34px;display:flex;align-items:center;justify-content:space-between;padding:0 12px;border-bottom:1px solid #2c353a;color:var(--orange);font-size:9px;font-weight:800;letter-spacing:.12em}
.search-popover-input{display:flex;align-items:center;gap:9px;padding:10px 12px;border-bottom:1px solid #2c353a}.search-popover-input>span{color:#8e999f;font-size:15px}.search-popover-input input{height:38px;border:0;background:transparent;padding:0;color:#f1f4f5;outline:0;font-size:13px}.search-results{max-height:370px;overflow:auto;padding:6px}
.search-result{width:100%;display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:10px;align-items:center;text-align:left;border:1px solid transparent;background:transparent;color:#dce2e5;padding:10px;border-radius:7px;cursor:pointer}.search-result:hover,.search-result.active{background:#1a2227;border-color:#3b464d}.search-type{font-size:8px;letter-spacing:.12em;color:var(--orange);font-weight:800}.search-main{min-width:0}.search-main b,.search-main small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-main b{font-size:12px}.search-main small{margin-top:2px;font-size:9px;color:#8f999f}.search-open{font-size:9px;color:#9fa9af}.search-result:hover .search-open,.search-result.active .search-open{color:var(--orange)}
.search-empty{padding:18px 12px;color:#879198;font-size:11px}.search-help{padding:7px 12px;border-top:1px solid #2c353a;color:#727d83;font-size:8px;letter-spacing:.06em}
tr.record-highlight td{animation:recordPulse 2.35s ease;background:#ff7a0018!important;border-color:#ff7a0066!important}@keyframes recordPulse{0%,100%{background:#ff7a0000}15%,75%{background:#ff7a0022}}
@media(max-width:1000px){.search-popover{left:auto;right:12px;transform:translateY(-5px);width:min(560px,calc(100% - 24px))}.search-popover.show{transform:translateY(0)}}
@media(max-width:680px){.search-popover{position:fixed;top:58px;left:8px;right:8px;width:auto;transform:translateY(-5px)}.search-popover.show{transform:translateY(0)}.search-result{grid-template-columns:58px minmax(0,1fr)}.search-open{display:none}}

.reopen-app{display:none;margin:16vh auto 0;border:1px solid #465158;background:#151b1f;color:#e8edef;border-radius:8px;padding:12px 16px;cursor:pointer;box-shadow:0 14px 35px #0007}.reopen-app.show{display:block}.reopen-app:hover{border-color:var(--orange);color:var(--orange)}

@media(max-width:680px){.commandbar{grid-template-columns:minmax(0,1fr) auto;padding:0 10px;gap:8px}.commandbar>div:first-child{display:none}.commandbar>#globalSearch{grid-column:1;min-width:0;width:100%}.commandbar>div:last-child{grid-column:2}.commandbar>div:last-child button{display:none}.commandbar>div:last-child .primary{display:inline-flex;padding:8px 10px}.search-popover{left:10px;right:10px;top:50px;width:auto}.search-result{grid-template-columns:58px minmax(0,1fr);padding:10px}.search-open{display:none}}

/* Deep mobile fit: keep the desktop shell from forcing a clipped internal width. */
@media(max-width:680px){
  .app-window,.app-body,.workspace,.views,.view{width:100%;max-width:100%;min-width:0}
  .app-window{overflow-x:hidden}
  .titlebar{min-width:0;padding-left:8px;gap:7px}
  .titlebar>div:nth-child(2){min-width:0;max-width:150px}
  .titlebar>div:nth-child(2) strong,.titlebar>div:nth-child(2) span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .local-state{display:none!important}
  .window-controls button{width:34px;min-width:34px}
  .sidebar,.sidebar nav{max-width:100%;min-width:0}
  .sidebar nav button{min-height:44px;padding:10px 12px}
  .commandbar{width:100%;max-width:100%;min-width:0}
  .views{overflow-x:hidden}
  .view{overflow:visible}
  .page-head{align-items:flex-start;flex-direction:column;gap:12px}
  .page-head>div,.page-head>button,.page-head>.primary{max-width:100%}
  .page-head button{min-height:44px}
  .panel,.panel-table,.split,.form,.toolbar,.calc-grid,.calc-results,.payment-preview{min-width:0;max-width:100%}
  .panel{overflow:hidden}
  .toolbar{flex-wrap:wrap}
  .toolbar input,.toolbar select{max-width:100%;min-width:0}
  input,select,.form button{max-width:100%;min-width:0}
  .form button,.toolbar button,.panel button{min-height:44px}
  .table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
}
