/* Rufiyaa Update 4 — Person focused Lent & Borrowed, QA only. */
#app .u4p-page{--u4p-accent:#087755;--u4p-mint:#b8e6d1;display:grid;gap:13px;padding-bottom:28px}
#app .u4p-page *,.u4p-sheet *{box-sizing:border-box}
#app .u4p-glass,.u4p-sheet .u4p-glass{background:linear-gradient(125deg,color-mix(in srgb,#b8e6d1 36%,var(--card,#fff)),color-mix(in srgb,#e2eef1 28%,var(--card,#fff)) 68%,color-mix(in srgb,#f7f0d8 30%,var(--card,#fff)));border:1px solid color-mix(in srgb,#087755 15%,var(--border,#dae6df));border-radius:24px;box-shadow:0 11px 28px rgba(24,75,64,.075)}
#app .u4p-overview{padding:21px 20px 16px}
#app .u4p-kicker,.u4p-sheet .u4p-kicker{font-size:10.5px;letter-spacing:.095em;font-weight:800;color:#147657;display:block}
#app .u4p-mark{font-size:17px;margin-right:6px}
#app .u4p-stats,.u4p-sheet .u4p-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:14px}
#app .u4p-stats>div,.u4p-sheet .u4p-stats>div{display:flex;flex-direction:column;gap:7px;min-width:0;padding:15px 12px;border:1px solid color-mix(in srgb,#087755 9%,transparent);border-radius:17px;background:color-mix(in srgb,var(--card,#fff) 81%,transparent)}
#app .u4p-stats span,.u4p-sheet .u4p-stats span{color:var(--muted,#6b7b79);font-size:11px}
#app .u4p-stats b,.u4p-sheet .u4p-stats b{font-size:clamp(15px,3.4vw,20px);font-weight:800;line-height:1.3;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
#app .u4p-stats .u4p-positive,.u4p-sheet .u4p-stats .u4p-positive{color:#0c7552}
#app .u4p-overview-foot{display:flex;justify-content:space-between;gap:12px;font-size:11px;color:var(--muted);margin-top:13px}
#app .u4p-tools{display:flex;gap:8px}
#app .u4p-search{display:flex;flex:1;align-items:center;gap:8px;border-radius:16px;border:1px solid var(--border);background:var(--card);padding:0 11px;min-width:0}
#app .u4p-search>span{color:#157b58;font-size:22px}
#app .u4p-search input{min-width:0;flex:1;background:transparent;border:0;outline:0;color:var(--text);font:inherit;font-size:13px;padding:13px 0}
#app .u4p-tools>select{background:var(--card);border:1px solid var(--border);color:var(--text);border-radius:15px;padding:0 11px;font-size:12px;max-width:104px}
#app .u4p-filter{display:flex;gap:7px;overflow-x:auto;scrollbar-width:none;margin:0 -3px;padding:2px 3px 5px}
#app .u4p-filter::-webkit-scrollbar{display:none}
#app .u4p-filter button{white-space:nowrap;border-radius:999px;padding:9px 13px;border:1px solid var(--border);background:var(--card);color:var(--muted);font-weight:600;font-size:11px;font-family:inherit;cursor:pointer}
#app .u4p-filter button.active{color:#07593e;background:color-mix(in srgb,#b8e6d1 50%,var(--card));border-color:#7fbca1}
#app .u4p-people-list{display:grid;gap:9px}
#app .u4p-person-row{display:flex;align-items:center;text-align:left;gap:12px;width:100%;border:1px solid color-mix(in srgb,#087755 13%,var(--border));border-radius:21px;background:var(--card);box-shadow:0 7px 20px rgba(15,60,50,.05);padding:15px 13px;color:var(--text);cursor:pointer;font:inherit}
#app .u4p-person-row:focus-visible,.u4p-sheet button:focus-visible{outline:2px solid #158564;outline-offset:3px}
#app .u4p-person-main{display:grid;gap:5px;min-width:0;flex:1}
#app .u4p-person-main>b{font-size:14px}
#app .u4p-person-main>small{font-size:11px;color:var(--muted)}
#app .u4p-direction-lines{display:grid;gap:2px;font-size:11px;color:var(--muted);overflow-wrap:anywhere}
#app .u4p-avatar,.u4p-sheet .u4p-avatar{display:grid;place-items:center;width:43px;height:43px;flex:0 0 43px;border-radius:15px;color:#087755;background:color-mix(in srgb,#b8e6d1 60%,var(--card));font-size:18px;font-weight:750}
#app .u4p-chevron{font-size:23px;color:#7aa38f}
#app .u4p-empty,.u4p-sheet .u4p-empty{border:1px dashed var(--border);border-radius:18px;color:var(--muted);font-size:13px;text-align:center;padding:22px 14px}
#app .u4p-page .u4p-add-main{margin-top:3px}
#app .u4p-shell .finance-full-top{position:relative}
#app .u4p-shell .finance-full-heading{position:absolute;left:50%;transform:translateX(-50%);text-align:center;max-width:65%;pointer-events:none}
#app .u4p-shell .u4p-add-main{display:none!important}
#app .u4p-shell .u4p-add-top{margin-left:auto;border:1px solid rgba(25,110,79,.18);background:color-mix(in srgb,#b8e6d1 40%,var(--card));border-radius:18px;padding:11px 15px;min-width:52px;color:#086746;font-weight:700;font-size:12px;font-family:inherit;white-space:nowrap;cursor:pointer}
#app .u4p-shell .u4p-add-top:focus-visible{outline:2px solid #087755;outline-offset:2px}
#app .u4p-shell .u4p-add-top .u4p-mobile-plus{display:none}
#modal-root .modal-wrap:has(.u4p-sheet){padding:0 max(8px,env(safe-area-inset-left)) max(8px,env(safe-area-inset-bottom))!important;align-items:flex-end!important}
#modal-root .modal-wrap:has(.u4p-sheet)>.modal{width:min(620px,calc(100vw - 16px))!important;max-width:620px!important;max-height:min(92dvh,900px)!important;border-radius:28px!important;padding:18px 16px 15px!important;overflow-y:auto!important;overscroll-behavior:contain!important;scrollbar-width:none!important;background:color-mix(in srgb,var(--bg,#f7fbf9) 93%,#b8e6d1)!important}
#modal-root .modal-wrap:has(.u4p-sheet)>.modal::-webkit-scrollbar{display:none!important}
.u4p-sheet{--u4p-muted:var(--muted,#6b7b79);position:relative;display:grid;gap:13px;color:var(--text);padding:3px 2px 8px}
.u4p-sheet .u4p-modal-title{display:flex;gap:10px;align-items:center;min-width:0;margin-bottom:3px}
.u4p-sheet .u4p-modal-title h2{font-size:19px;margin:0;flex:1;text-align:left}
.u4p-sheet .u4p-title-name{display:grid;gap:4px;min-width:0;flex:1}
.u4p-sheet .u4p-title-name>b{font-size:19px;overflow-wrap:anywhere}
.u4p-sheet .u4p-title-name>small{font-size:11px;color:var(--muted)}
.u4p-sheet .u4p-round{width:36px;min-width:36px;height:36px;border-radius:13px;display:grid;place-items:center;font-size:23px;font-weight:500;line-height:1;border:1px solid var(--border);background:color-mix(in srgb,var(--card,#fff) 88%,transparent);color:var(--text);cursor:pointer;padding:0}
.u4p-sheet .u4p-profile-hero{padding:16px}
.u4p-sheet .u4p-net{display:flex;justify-content:space-between;gap:10px;align-items:baseline;padding-top:13px}
.u4p-sheet .u4p-net span{color:var(--muted);font-size:11px}
.u4p-sheet .u4p-net b{color:#137859;text-align:right;font-size:12px;overflow-wrap:anywhere}
.u4p-sheet .u4p-insight{border:1px solid color-mix(in srgb,#087755 14%,transparent);background:color-mix(in srgb,#b8e6d1 28%,var(--card));border-radius:18px;padding:14px}
.u4p-sheet .u4p-insight>b{color:#0e7855;font-size:12px}
.u4p-sheet .u4p-insight p{margin:7px 0 0;color:var(--text);font-size:12px;line-height:1.6}
.u4p-sheet .u4p-section-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin:4px 0 1px}
.u4p-sheet .u4p-section-head>b{font-size:14px}
.u4p-sheet .u4p-section-head small{color:var(--muted);font-size:11px}
.u4p-sheet .u4p-record{display:grid;gap:11px;text-align:left;background:var(--card);border:1px solid var(--border);border-radius:19px;padding:14px;color:var(--text);cursor:pointer;font:inherit;box-shadow:0 6px 16px rgba(24,75,64,.045)}
.u4p-sheet .u4p-record-head,.u4p-sheet .u4p-record-foot{display:flex;align-items:center;justify-content:space-between;gap:12px}
.u4p-sheet .u4p-record-name{display:flex;align-items:center;gap:8px;min-width:0}
.u4p-sheet .u4p-record-icon{background:color-mix(in srgb,#b8e6d1 42%,var(--card));border-radius:11px;display:grid;place-items:center;width:34px;height:34px;font-size:19px;color:#087755;flex:0 0 34px}
.u4p-sheet .u4p-record-name>span:last-child{display:grid;gap:4px;min-width:0}
.u4p-sheet .u4p-record-name b{font-size:12px}
.u4p-sheet .u4p-record-name small{color:var(--muted);font-size:10px;overflow-wrap:anywhere}
.u4p-sheet .u4p-record-remaining{text-align:right;display:grid;gap:3px;max-width:46%;min-width:0}
.u4p-sheet .u4p-record-remaining b{font-size:12px;overflow-wrap:anywhere}
.u4p-sheet .u4p-record-remaining small{font-size:10px;color:var(--muted)}
.u4p-sheet .u4p-progress{display:block;width:100%;height:7px;border-radius:999px;background:color-mix(in srgb,#0c7a56 13%,var(--card));overflow:hidden}
.u4p-sheet .u4p-progress i{display:block;height:100%;background:linear-gradient(90deg,#13815f,#58bd9a);border-radius:inherit}
.u4p-sheet .u4p-record-foot{font-size:10px;color:var(--muted)}
.u4p-sheet .u4p-settled{background:color-mix(in srgb,var(--card) 88%,transparent);border:1px solid var(--border);border-radius:18px;padding:12px;display:grid;gap:11px}
.u4p-sheet .u4p-settled summary{font-size:12px;font-weight:700;cursor:pointer;color:#157559;display:flex;justify-content:space-between}
.u4p-sheet .u4p-settled[open] .u4p-record{margin-top:9px;width:100%}
.u4p-sheet .u4p-activity{background:color-mix(in srgb,var(--card) 89%,transparent);border:1px solid var(--border);border-radius:18px;padding:14px;display:grid;gap:10px}
.u4p-sheet .u4p-history-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--border);padding:11px 0 0}
.u4p-sheet .u4p-history-row>span{display:grid;gap:4px;min-width:0}
.u4p-sheet .u4p-history-row b{font-size:12px}
.u4p-sheet .u4p-history-row small{color:var(--muted);font-size:10px;overflow-wrap:anywhere}
.u4p-sheet .u4p-history-row strong{font-size:12px;color:#16815d}
.u4p-sheet .u4p-float-gap{height:72px}
.u4p-sheet .u4p-floating{position:sticky;bottom:calc(0px + env(safe-area-inset-bottom));z-index:10;display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:0 -2px;background:transparent;padding:8px 2px 4px;filter:drop-shadow(0 7px 18px rgba(23,49,43,.12))}
.u4p-sheet .u4p-floating .primary,.u4p-sheet .u4p-floating .secondary{width:100%;min-height:46px;border-radius:15px;font-weight:700;font-size:12px;font-family:inherit}
.u4p-sheet .u4p-floating .primary{background:#086c4e;color:white}
.u4p-sheet .u4p-floating .secondary{background:color-mix(in srgb,#b8e6d1 65%,var(--card));border:1px solid color-mix(in srgb,#087755 17%,var(--border));color:#0b674b}
.u4p-sheet .u4p-floating button:disabled{opacity:.4}
.u4p-sheet .u4p-record-hero{display:grid;gap:8px;padding:20px;text-align:center}
.u4p-sheet .u4p-record-hero strong{font-size:27px;line-height:1.3;color:#0b7957}
.u4p-sheet .u4p-record-hero>small{color:var(--muted);font-size:11px}
.u4p-sheet .u4p-mini-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.u4p-sheet .u4p-mini-grid>div{background:var(--card);border-radius:15px;border:1px solid var(--border);padding:12px;min-width:0;display:grid;gap:6px}
.u4p-sheet .u4p-mini-grid small{color:var(--muted);font-size:10px}
.u4p-sheet .u4p-mini-grid b{overflow-wrap:anywhere;font-size:12px}
.u4p-sheet .u4p-menu{display:grid;gap:10px}
.u4p-sheet .u4p-menu button{background:var(--card);padding:13px;border:1px solid var(--border);border-radius:14px;color:var(--text);font-weight:600;font-size:14px;font-family:inherit;text-align:left}
.u4p-sheet .u4p-delete{width:100%;margin-top:8px;color:#a34040}
.u4p-sheet .u4p-help{margin:0;color:var(--muted);font-size:11px;line-height:1.5}
.u4p-sheet .u4p-segment{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:0;background:color-mix(in srgb,#b8e6d1 24%,var(--card))}
.u4p-sheet .u4p-segment button{font-weight:700;font-size:12px;font-family:inherit;padding:11px;border-radius:11px}
.u4p-sheet .field{margin-bottom:2px}
.u4p-sheet .field label{color:var(--muted);font-size:11px;margin-bottom:5px}
.u4p-sheet .field input,.u4p-sheet .field select,.u4p-sheet .field textarea{font-size:14px;min-width:0;width:100%;border-radius:14px;background:var(--card);border:1px solid var(--border);color:var(--text);padding:12px}
.u4p-sheet .field textarea{min-height:65px}
.u4p-sheet .grid2{gap:9px}
.u4p-sheet .u4p-radio{display:flex;gap:10px;align-items:flex-start;padding:11px 12px;border:1px solid var(--border);border-radius:14px;background:var(--card);margin:3px 0;cursor:pointer}
.u4p-sheet .u4p-radio input{accent-color:#13845e;width:17px;height:17px;flex:0 0 17px}
.u4p-sheet .u4p-radio span{display:grid;gap:5px}
.u4p-sheet .u4p-radio b{font-size:12px}
.u4p-sheet .u4p-radio small{color:var(--muted);font-size:10px}
.u4p-sheet [hidden]{display:none!important}
.u4p-sheet .u4p-amount-input{display:flex;gap:7px;align-items:stretch}
.u4p-sheet .u4p-amount-input input{flex:1;min-width:0}
.u4p-sheet .u4p-amount-input button{white-space:nowrap;font-size:11px;padding:0 11px}
.u4p-sheet .u4p-allocation{background:color-mix(in srgb,#b8e6d1 18%,var(--card));border:1px solid var(--border);border-radius:18px;padding:14px;display:grid;gap:10px}
.u4p-sheet .u4p-allocation-row{border-top:1px solid var(--border);padding-top:9px;display:grid;gap:7px}
.u4p-sheet .u4p-alloc-label{display:flex;justify-content:space-between;gap:9px;align-items:baseline}
.u4p-sheet .u4p-alloc-label b{font-size:12px;overflow-wrap:anywhere}
.u4p-sheet .u4p-alloc-label small{color:var(--muted);font-size:10px;text-align:right}
.u4p-sheet .u4p-allocation-row>strong{font-size:12px;color:#137959}
.u4p-sheet .u4p-alloc-entry{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:8px}
.u4p-sheet .u4p-alloc-entry input{width:120px;border:1px solid var(--border);border-radius:12px;padding:9px;color:var(--text);background:var(--card)}
.u4p-sheet .u4p-alloc-foot,.u4p-sheet .u4p-alloc-total{display:flex;justify-content:space-between;gap:8px;font-size:11px;color:var(--muted)}
.u4p-sheet .u4p-alloc-total{border-top:1px solid var(--border);padding-top:10px}
.u4p-sheet .u4p-alloc-total b{color:#0c7754}
.u4p-sheet .u4p-error{color:#b34848;font-size:11px}
.u4p-sheet .u4p-review-hero{display:grid;gap:9px;text-align:center;padding:20px}
.u4p-sheet .u4p-review-hero>small{color:#117753;font-weight:750;font-size:11px}
.u4p-sheet .u4p-review-hero>strong{font-size:25px}
.u4p-sheet .u4p-review-hero>span{font-size:11px;color:var(--muted)}
.u4p-sheet .u4p-review-line{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--border);padding:10px 4px;font-size:12px}
.u4p-sheet .u4p-review-line>b{text-align:right}
.u4p-sheet .u4p-review-back{width:100%}
.u4p-sheet .primary{background:#086e50;color:#fff;min-height:44px}
@keyframes u4p-settled{0%{box-shadow:0 0 0 0 rgba(20,150,95,.0)}40%{box-shadow:0 0 0 10px rgba(20,150,95,.16)}100%{box-shadow:0 11px 28px rgba(24,75,64,.075)}}
.u4p-sheet .u4p-celebrate{animation:u4p-settled .7s ease-out}
@media (max-width:550px){#app .u4p-shell .u4p-add-top{width:44px;min-width:44px;height:43px;display:grid;place-items:center;padding:0;border-radius:15px}#app .u4p-shell .u4p-add-top .u4p-desktop-add{display:none}#app .u4p-shell .u4p-add-top .u4p-mobile-plus{display:block;font-size:23px}#app .u4p-shell .finance-full-heading{max-width:62%}#modal-root .modal-wrap:has(.u4p-sheet)>.modal{width:calc(100vw - 16px)!important;max-width:none!important;padding:15px 13px 12px!important;border-radius:24px!important}.u4p-sheet .u4p-modal-title h2{font-size:18px}.u4p-sheet .u4p-profile-hero{padding:14px}.u4p-sheet .u4p-stats>div{padding:12px 10px}.u4p-sheet .u4p-stats b{font-size:15px}.u4p-sheet .u4p-floating{bottom:calc(env(safe-area-inset-bottom) + 0px)}}
@media (prefers-reduced-motion:reduce){.u4p-sheet .u4p-celebrate{animation:none}}
/* Keep the two-column summaries from imposing their intrinsic min-content width on 320px iPhones. */
#app .u4p-page{grid-template-columns:minmax(0,1fr);width:100%;min-width:0}
#app .u4p-page>*{min-width:0;max-width:100%}
#app .u4p-tools{min-width:0;max-width:100%}
#app .u4p-stats{min-width:0;grid-template-columns:repeat(2,minmax(0,1fr))}
#app .u4p-stats>div{min-width:0}
#app .u4p-stats b{min-width:0;overflow-wrap:anywhere;word-break:break-word}
#modal-root .modal-wrap:has(.u4p-sheet)>.modal{box-sizing:border-box!important}
/* Aavi is intentionally available on People profiles and individual records.
   Other financial forms still follow the app's standard distraction-free modal behavior. */
body:has(#modal-root .u4p-profile) #u2w-dock-area,
body:has(#modal-root .u4p-record-sheet) #u2w-dock-area{
 opacity:1!important;pointer-events:auto!important;
 bottom:calc(89px + env(safe-area-inset-bottom))!important;
 z-index:2147480900!important;
}
body:has(#modal-root .u4p-profile) #u2w-aavi-trigger,
body:has(#modal-root .u4p-record-sheet) #u2w-aavi-trigger{
 width:49px!important;height:49px!important;
 min-width:49px!important;min-height:49px!important;
 max-width:49px!important;max-height:49px!important;
 font-size:22px!important;
}
