:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--primary:#111;--primary-foreground:#fff;--danger:#dc2626;--app-bg:#fafafa;--surface:#fff;--surface-soft:#f4f4f5;--surface-hover:#ededf0;--border:#e4e4e7;--text:#171717;--muted:#71717a;--ring:#71717a59;--radius-sm:.5rem;--radius-md:.75rem;--radius-lg:1rem;--radius-xl:1.25rem;--radius-2xl:1.5rem;--shadow-sm:0 1px 2px #0f172a0a;--shadow-md:0 4px 12px #0f172a0f;--shadow-lg:0 12px 28px #0f172a14;font-family:Geist,Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:400;line-height:1.5}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--primary:#f4f4f5;--primary-foreground:#18181b;--danger:#f87171;--app-bg:#09090b;--surface:#18181b;--surface-soft:#27272a;--surface-hover:#323238;--border:#ffffff1a;--text:#fafafa;--muted:#a1a1aa;--ring:#a1a1aa59;--shadow-sm:0 1px 2px #00000040;--shadow-md:0 8px 18px #00000038;--shadow-lg:0 16px 34px #0000004d}*{box-sizing:border-box}*,:before,:after{transition:background-color .22s,border-color .22s,color .22s,fill .22s,stroke .22s,box-shadow .22s,transform .22s}html,body,#root{min-height:100%}body{background:var(--app-bg);color:var(--text);margin:0}*{border-color:var(--border)}button,input,select{font:inherit}a{color:inherit;text-decoration:none}.portal-shell{background:var(--app-bg);min-height:100vh;color:var(--text);display:flex;overflow:hidden}.portal-loading{justify-content:center;align-items:center}.loading-card{text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-2xl);width:min(100%,26rem);box-shadow:var(--shadow-sm);padding:2rem}.loading-card h1,.loading-card p{margin:0}.loading-card p{color:var(--muted);margin-top:.5rem}.loading-icon{width:2rem;height:2rem;color:var(--primary);margin-bottom:1rem}.portal-sidebar{background:var(--surface);border-right:1px solid var(--border);width:16rem;box-shadow:var(--shadow-sm);z-index:20;flex-direction:column;flex-shrink:0;transition:transform .22s,box-shadow .22s;display:flex}.sidebar-brand{align-items:center;height:4rem;padding:0 1.5rem;display:flex}.brand-link{color:var(--primary);letter-spacing:-.02em;cursor:pointer;background:0 0;border:0;align-items:center;gap:.75rem;font-size:.95rem;font-weight:700;display:inline-flex}.brand-icon{background:var(--primary);width:1.75rem;height:1.75rem;color:var(--primary-foreground);border-radius:.6rem;padding:.3rem}.sidebar-nav{flex:1;padding:1rem;overflow-y:auto}.nav-section+.nav-section{margin-top:1.25rem}.nav-section-label{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:.35rem;padding:0 .45rem;font-size:.68rem;font-weight:700}.nav-button{border-radius:var(--radius-md);width:100%;color:var(--muted);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:.75rem;padding:.6rem .7rem;font-size:.88rem;font-weight:500;transition:background .18s,color .18s,transform .18s;display:flex}.nav-button+.nav-button{margin-top:.25rem}.nav-button:hover{background:var(--surface-soft);color:var(--text);transform:translate(2px)}.nav-button.is-active{background:var(--primary);color:var(--primary-foreground);box-shadow:var(--shadow-md)}.nav-icon{flex-shrink:0;width:1rem;height:1rem}.sidebar-profile{background:var(--surface-soft);border-radius:var(--radius-xl);border:1px solid var(--border);align-items:center;gap:.75rem;margin:1rem;padding:1rem;display:flex}.sidebar-avatar,.topbar-avatar,.profile-avatar{border-radius:999px;justify-content:center;align-items:center;font-weight:700;display:inline-flex;overflow:hidden}.avatar-image{object-fit:cover;color:#0000}.sidebar-avatar{background:color-mix(in srgb, var(--primary) 12%, transparent);width:2.2rem;height:2.2rem;color:var(--primary)}.sidebar-profile-copy{min-width:0}.sidebar-profile-copy p,.sidebar-profile-copy span{margin:0}.sidebar-profile-copy p{font-size:.82rem;font-weight:600}.sidebar-profile-copy span{color:var(--muted);font-size:.72rem}.portal-main{background:color-mix(in srgb, var(--surface-soft) 45%, transparent);flex-direction:column;flex:1;min-width:0;display:flex}.portal-topbar{background:var(--surface);border-bottom:1px solid var(--border);height:4rem;box-shadow:var(--shadow-sm);z-index:10;justify-content:space-between;align-items:center;gap:1rem;padding:0 1.5rem;display:flex}.topbar-left,.topbar-right,.topbar-user{align-items:center;gap:.75rem;display:flex}.topbar-left h1{letter-spacing:-.02em;margin:0;font-size:1.25rem;font-weight:700}.topbar-user{margin-left:.5rem}.topbar-user span{color:var(--primary);font-size:.82rem;font-weight:600}.topbar-avatar{border:1px solid var(--border);background:var(--surface-soft);width:1.8rem;height:1.8rem;color:var(--text)}.portal-content{flex:1;padding:1.5rem 2rem 2rem;overflow-y:auto}.content-wrap{width:100%;margin:0 auto}.content-wide{max-width:80rem}.content-narrow{max-width:64rem}.content-overview{max-width:72rem}.dashboard-grid{grid-template-columns:1.15fr .85fr;gap:1rem;display:grid}.stack-lg>*+*{margin-top:1.5rem}.stack-md>*+*{margin-top:1rem}.stack-xs>*+*{margin-top:.15rem}.icon-button,.pill-button,.secondary-button,.outline-button,.toolbar-button,.text-link,.logout-button,.sortable-header,.brand-link{font:inherit}.icon-button,.logout-button{cursor:pointer;border:0;justify-content:center;align-items:center;transition:all .18s;display:inline-flex}.icon-button{background:var(--surface-soft);width:2.5rem;height:2.5rem;color:var(--text);border-radius:999px}.icon-button:hover{background:var(--surface-hover);transform:translateY(-1px)}.icon-button svg,.logout-button svg,.pill-button svg,.secondary-button svg,.outline-button svg,.toolbar-button svg,.sortable-header svg,.cbu-note svg{width:1rem;height:1rem}.logout-button{color:var(--danger);background:0 0}.welcome-banner{border-radius:var(--radius-2xl);background:var(--primary);color:var(--primary-foreground);box-shadow:var(--shadow-lg);padding:2rem;animation:.35s fadeSlideUp;position:relative;overflow:hidden}.welcome-copy{z-index:1;max-width:25rem;position:relative}.welcome-copy h2,.section-heading h2,.panel-header h3,.modal-header h3{margin:0}.welcome-copy p,.section-heading p,.panel-header p{margin:.5rem 0 0}.welcome-copy p{max-width:22rem;color:color-mix(in srgb, var(--primary-foreground) 82%, transparent);font-size:.98rem}.welcome-watermark{width:8rem;height:8rem;color:color-mix(in srgb, var(--surface) 16%, transparent);position:absolute;bottom:-1.5rem;right:-1.5rem}.pill-button,.secondary-button,.outline-button,.toolbar-button,.auth-submit{cursor:pointer;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:.5rem;min-height:2.75rem;padding:.78rem 1.15rem;font-size:.92rem;font-weight:700;line-height:1;transition:all .18s;display:inline-flex}.pill-button{background:var(--surface);color:var(--text);box-shadow:var(--shadow-md);margin-top:1.5rem}.pill-button:hover{background:var(--surface-soft);transform:translateY(-1px)}.pill-button-muted{background:var(--surface);color:var(--text);border-color:var(--border);box-shadow:var(--shadow-md)}.pill-button-muted:hover{background:var(--surface-soft)}.secondary-button{background:var(--surface-soft);color:var(--text);border-color:var(--border);box-shadow:var(--shadow-sm)}.secondary-button:hover,.toolbar-button:hover{background:var(--surface-hover);transform:translateY(-1px)}.outline-button{background:var(--surface);color:var(--text);border:1px solid color-mix(in srgb, var(--primary) 18%, var(--border));box-shadow:var(--shadow-sm)}.outline-button:hover{background:var(--surface-soft);transform:translateY(-1px)}.full-width{justify-content:center;width:100%}.stat-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.stat-grid-savings .stat-card-value{font-size:1.45rem}.stat-card{border-radius:var(--radius-2xl);background:var(--surface);border:1px solid var(--border);min-height:8.9rem;padding:1.5rem;transition:transform .18s,box-shadow .18s,border-color .18s;position:relative}.stat-card.is-featured{background:var(--primary);color:var(--primary-foreground);border-color:var(--primary);overflow:hidden}.stat-card.is-featured:after{content:"";background:color-mix(in srgb, var(--surface) 10%, transparent);border-radius:999px;width:5.5rem;height:5.5rem;position:absolute;bottom:-2rem;right:-2rem}.stat-card-top{z-index:1;justify-content:space-between;align-items:center;gap:1rem;display:flex;position:relative}.stat-card h3{color:var(--muted);margin:0;font-size:.9rem;font-weight:500}.stat-card.is-featured h3,.stat-card.is-featured p{color:color-mix(in srgb, var(--primary-foreground) 82%, transparent)}.stat-card-value{z-index:1;margin-top:1rem;font-size:1.9rem;font-weight:700;position:relative}.stat-card p{z-index:1;color:var(--muted);margin:.3rem 0 0;font-size:.78rem;position:relative}.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}.stat-icon{border-radius:999px;justify-content:center;align-items:center;width:2rem;height:2rem;display:inline-flex}.tone-danger{color:var(--danger);background:#ef44441f}.tone-success{color:#22c55e;background:#22c55e1f}.tone-primary{color:var(--primary);background:color-mix(in srgb, var(--primary) 8%, transparent)}.stat-card.is-featured .tone-primary{color:var(--primary-foreground);background:color-mix(in srgb, var(--primary-foreground) 12%, transparent)}.panel,.cbu-hero,.loan-panel,.previous-loan-card,.modal-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-2xl);box-shadow:var(--shadow-sm)}.panel,.cbu-hero,.loan-panel,.previous-loan-card{animation:.35s fadeSlideUp}.panel,.cbu-hero,.loan-panel{padding:1.5rem}.content-overview .panel{padding:0;overflow:hidden}.panel-padded{padding:1.5rem}.content-overview .panel-header{padding:1.5rem 1.25rem 1rem}.content-overview .data-table{margin-top:0}.panel-header,.section-heading,.toolbar,.actions-right{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.loans-subsection-heading{margin-top:1rem}.section-heading h2{font-size:1.5rem;font-weight:700}.section-heading p,.panel-header p{color:var(--muted);font-size:.875rem}.text-link{color:var(--primary);cursor:pointer;background:0 0;border:0;font-size:.875rem;font-weight:500;transition:opacity .18s,transform .18s}.text-link:hover{opacity:.85;transform:translate(1px)}.summary-strip{border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--surface-soft) 45%, transparent);border-top-left-radius:var(--radius-2xl);border-top-right-radius:var(--radius-2xl);grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin:-1.5rem -1.5rem 0;padding:1.5rem;display:grid}.summary-strip-compact{background:0 0;border-bottom:0;margin:0;padding:0 1.5rem 1.5rem}.summary-item p,.info-grid p,.loan-amount span,.loan-detail-grid p,.previous-loan-meta p,.modal-summary p{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin:0;font-size:.75rem;font-weight:500}.summary-item strong,.info-grid strong,.loan-detail-grid strong,.previous-loan-meta strong{margin-top:.35rem;font-size:1rem;display:block}.amount-positive{color:#16a34a;font-weight:700}.amount-danger{color:var(--danger)}.amount-primary{color:var(--primary)}.table-scroll{overflow-x:auto}.data-table{border-collapse:collapse;width:100%;min-width:720px;margin-top:1rem}.data-table th,.data-table td{text-align:left;vertical-align:top;border-bottom:1px solid var(--border);padding:.95rem 1.2rem}.data-table th{background:color-mix(in srgb, var(--surface-soft) 65%, transparent);color:var(--muted);font-size:.78rem;font-weight:500}.data-table td{font-size:.84rem}.data-table tbody tr:hover{background:color-mix(in srgb, var(--surface-soft) 50%, transparent)}.table-empty{text-align:center;color:var(--muted)}.quick-actions{gap:.75rem;display:grid}.quick-action-card{border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--surface-soft);width:100%;color:var(--text);cursor:pointer;text-align:left;align-items:center;gap:.8rem;padding:.95rem 1rem;display:flex}.quick-action-card:hover{background:var(--surface-hover);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.quick-action-card svg{width:1rem;height:1rem;color:var(--primary)}.activity-list{gap:.9rem;display:grid}.activity-item{border:1px solid var(--border);border-radius:var(--radius-xl);background:color-mix(in srgb, var(--surface-soft) 45%, transparent);grid-template-columns:auto 1fr auto;align-items:center;gap:.9rem;padding:1rem;display:grid}.activity-dot{background:var(--primary);border-radius:999px;width:.65rem;height:.65rem}.activity-copy strong,.support-card-item strong{display:block}.activity-copy p{color:var(--muted);margin:.2rem 0 0;font-size:.85rem}.activity-meta{color:var(--muted);text-align:right;font-size:.8rem}.mono{font-family:SFMono-Regular,Consolas,Liberation Mono,monospace}.receipt-pill,.summary-chip,.badge{border-radius:999px;align-items:center;padding:.28rem .55rem;font-size:.7rem;font-weight:700;display:inline-flex}.receipt-pill,.summary-chip{border:1px solid var(--border);background:var(--surface-soft)}.badge-row{flex-wrap:wrap;gap:.5rem;margin-top:1rem;display:flex}.badge{border:1px solid var(--border);background:var(--surface-soft);letter-spacing:.06em;text-transform:uppercase;font-size:.625rem}.badge-success{color:#16a34a;background:#22c55e1a;border-color:#22c55e26}.badge-primary{background:color-mix(in srgb, var(--primary) 10%, transparent);color:var(--primary);border-color:color-mix(in srgb, var(--primary) 16%, transparent)}.profile-card{padding:0;overflow:hidden}.support-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.support-stack{gap:.85rem;display:grid}.support-card-item{border:1px solid var(--border);border-radius:var(--radius-xl);background:color-mix(in srgb, var(--surface-soft) 45%, transparent);padding:1rem}.support-card-item p{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin:0 0 .35rem;font-size:.78rem;font-weight:600}.profile-hero{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:flex-start;gap:1.5rem;padding:1.5rem;display:flex}.profile-avatar{background:color-mix(in srgb, var(--primary) 12%, transparent);width:6rem;height:6rem;color:var(--primary);font-size:2rem;box-shadow:0 6px 16px #0f172a14}.profile-copy{flex:1;min-width:0}.profile-copy h2{margin:0;font-size:1.5rem}.profile-copy p{color:var(--muted);align-items:center;gap:.35rem;margin:.35rem 0 0;display:flex}.inline-icon{flex-shrink:0;width:.95rem;height:.95rem}.info-section{padding:1.5rem}.info-section+.info-section{border-top:1px solid var(--border)}.info-section h3{border-bottom:1px solid var(--border);margin:0 0 1rem;padding-bottom:.75rem;font-size:1.05rem}.info-empty{color:var(--muted);margin:0;font-size:.9rem}.info-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;display:grid}.action-row{flex-wrap:wrap;gap:.5rem;display:flex}.year-select{border:1px solid var(--border);background:var(--surface);min-width:6rem;color:var(--text);border-radius:.7rem;padding:.65rem .8rem}.toolbar{border-bottom:1px solid var(--border);padding-bottom:1rem}.search-field{align-items:center;width:min(100%,24rem);display:flex;position:relative}.search-field svg{color:var(--muted);position:absolute;left:.9rem}.search-field input{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-soft);width:100%;color:var(--text);outline:none;padding:.75rem 1rem .75rem 2.5rem}.search-field input:focus,.year-select:focus{border-color:color-mix(in srgb, var(--primary) 18%, var(--border));box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 10%, transparent)}.toolbar-button{background:var(--surface);color:var(--text);border-color:var(--border);box-shadow:var(--shadow-sm)}.muted-small{color:var(--muted);font-size:.75rem}.sortable-header{color:inherit;cursor:pointer;font-weight:inherit;background:0 0;border:0;align-items:center;gap:.4rem;padding:0;display:inline-flex}.cbu-hero{justify-content:space-between;align-items:center;gap:1rem;display:flex}.cbu-hero h2{color:var(--muted);margin:0;font-size:1.25rem;font-weight:500}.cbu-total{margin:.25rem 0 0;font-size:2.25rem;font-weight:700}.cbu-note{color:var(--muted);align-items:center;gap:.4rem;margin:.75rem 0 0;display:inline-flex}.cbu-icon{color:#22c55e;background:#22c55e1a;border-radius:999px;justify-content:center;align-items:center;width:6rem;height:6rem;display:inline-flex}.cbu-icon svg{width:2.5rem;height:2.5rem}.loan-panel{padding:0;position:relative;overflow:hidden}.loan-status-badge{border-bottom-left-radius:var(--radius-lg);color:#fff;text-transform:uppercase;letter-spacing:.08em;z-index:1;background:#22c55e;padding:.45rem 1rem;font-size:.7rem;font-weight:700;position:absolute;top:0;right:0}.loan-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.5rem;display:flex;position:relative}.loan-title-row{align-items:center;gap:.5rem;display:flex}.loan-title-row h3{margin:0;font-size:1.25rem}.loan-title-icon{color:var(--primary)}.loan-header p{color:var(--muted);margin:.35rem 0 0}.loan-amount{text-align:right}.loan-amount strong{color:var(--primary);margin-top:.3rem;font-size:1.875rem;display:block}.loan-body{background:color-mix(in srgb, var(--surface-soft) 40%, transparent);grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;padding:1.5rem;display:grid}.loan-progress-header,.loan-progress-meta{justify-content:space-between;align-items:center;gap:1rem;display:flex}.loan-progress-header h4{margin:0}.loan-progress-header span{color:var(--primary);font-size:.875rem;font-weight:700}.progress-track{background:var(--surface);border-radius:999px;width:100%;height:1rem;margin-top:.75rem;overflow:hidden;box-shadow:inset 0 1px 2px #0f172a14}.progress-fill{background:var(--primary);border-radius:999px;height:100%}.loan-progress-meta{color:var(--muted);margin-top:.75rem;font-size:.875rem}.loan-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;font-size:.9rem;display:grid}.loan-next-payment{border-top:1px solid var(--border);grid-column:1/-1;justify-content:space-between;align-items:center;gap:1rem;margin-top:.5rem;padding-top:1rem;display:flex}.previous-loan-card{grid-template-columns:minmax(20rem,1.6fr) minmax(9rem,.8fr) minmax(9rem,.8fr) auto;align-items:center;gap:2rem;padding:1.6rem;transition:border-color .18s,transform .18s,box-shadow .18s;display:grid}.previous-loan-card:hover{border-color:color-mix(in srgb, var(--primary) 28%, var(--border));box-shadow:var(--shadow-md);transform:translateY(-1px)}.previous-loan-main{align-items:center;gap:1rem;min-width:0;display:flex}.previous-loans-heading{flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:.15rem}.previous-loan-icon{background:var(--surface-soft);width:3.05rem;height:3.05rem;color:var(--muted);border-radius:999px;justify-content:center;align-items:center;display:inline-flex;box-shadow:inset 0 1px #ffffff80}.previous-loan-parent{flex-wrap:wrap;align-items:center;display:flex}.previous-loan-title{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.previous-loan-title h3{margin:0;font-size:1.05rem}.previous-loan-main p{margin:.16rem 0 0;line-height:1.2}.previous-loan-meta{text-align:center;grid-template-columns:repeat(2,minmax(0,1fr));align-content:center;justify-items:center;gap:2.5rem;display:grid}.previous-loan-meta p{text-transform:none;letter-spacing:0;margin:0;font-size:.95rem;font-weight:500}.previous-loan-meta strong{margin-top:.2rem;font-size:1.05rem}.previous-loan-card .outline-button{white-space:nowrap;border-color:color-mix(in srgb, var(--primary) 18%, var(--border));justify-self:end;min-width:7.5rem}.modal-backdrop{z-index:60;background:#0f172a8c;justify-content:center;align-items:flex-start;padding:1.5rem 1rem;animation:.2s fadeIn;display:flex;position:fixed;inset:0;overflow-y:auto}.modal-card{flex-direction:column;width:min(100%,32rem);max-height:calc(100vh - 3rem);animation:.22s modalIn;display:flex;overflow:hidden}.modal-header,.modal-footer{justify-content:space-between;align-items:center;padding:1rem 1.5rem;display:flex}.modal-header{border-bottom:1px solid var(--border)}.modal-footer{border-top:1px solid var(--border);gap:1rem}.modal-footer .pill-button,.modal-footer .secondary-button,.modal-footer .outline-button{min-width:8.75rem;margin-top:0}.modal-body{flex:1;padding:1.5rem;overflow-y:auto}.modal-body h4{margin:0 0 1rem;font-size:.9rem}.modal-summary{border:1px solid var(--border);background:color-mix(in srgb, var(--surface-soft) 50%, transparent);border-radius:.9rem;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;padding:1rem;display:flex}.modal-summary-amount{text-align:right}.modal-summary-amount strong{color:#16a34a;margin-top:.25rem;font-size:1.4rem;display:block}.modal-history{gap:.75rem;max-height:14rem;padding-right:.25rem;display:grid;overflow-y:auto}.history-row{border:1px solid var(--border);background:var(--surface);border-radius:.9rem;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;padding:1rem;display:grid}.profile-edit-modal{width:min(100%,56rem);max-height:calc(100vh - 3rem)}.profile-edit-form{gap:1.25rem;display:grid}.profile-edit-hero{border:1px solid var(--border);background:color-mix(in srgb, var(--surface-soft) 55%, transparent);border-radius:1rem;align-items:center;gap:1rem;padding:1rem;display:flex}.profile-photo-actions{gap:.4rem;display:grid}.profile-photo-actions p{color:var(--muted);margin:0;font-size:.85rem}.profile-upload-button{width:fit-content;margin-top:.15rem}.profile-edit-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.profile-field{gap:.45rem;display:grid}.profile-field-full{grid-column:1/-1}.profile-field span{color:var(--muted);font-size:.84rem;font-weight:700}.profile-field input{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--foreground);font:inherit;border-radius:.85rem;padding:.85rem 1rem}.profile-field input:focus{border-color:color-mix(in srgb, var(--primary) 55%, white);box-shadow:0 0 0 4px color-mix(in srgb, var(--primary) 14%, transparent);outline:none}.form-feedback{border-radius:.85rem;margin:0;padding:.9rem 1rem;font-size:.92rem}.form-feedback.success{color:#15803d;background:#e4f8ec}.form-feedback.error{color:#b91c1c;background:#fdecec}.history-row p,.history-row span{margin:0}.history-row span{color:var(--muted);font-size:.75rem}.history-dot{border:1px solid var(--border);background:var(--surface-soft);border-radius:999px;width:2rem;height:2rem}.mobile-only,.sidebar-backdrop{display:none}@media (width<=1024px){.stat-grid,.summary-strip,.dashboard-grid,.loan-body,.support-grid,.previous-loan-meta,.profile-edit-grid{grid-template-columns:1fr}.loan-amount,.loan-next-payment{text-align:left}.loan-next-payment{flex-direction:column;align-items:flex-start}.previous-loan-card{grid-template-columns:1fr;gap:1rem}.previous-loans-heading{gap:.35rem}.previous-loan-meta,.previous-loan-card .outline-button{text-align:left;justify-self:start}.activity-item{grid-template-columns:auto 1fr}.activity-meta{text-align:left;grid-column:2}}@media (width<=900px){.portal-sidebar{transition:transform .2s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.portal-sidebar.is-open{transform:translate(0)}.sidebar-backdrop{z-index:19;background:#0f172a73;border:0;animation:.2s fadeIn;display:block;position:fixed;inset:0}.mobile-only{display:inline-flex}}@media (width<=640px){.portal-topbar,.portal-content{padding-left:1rem;padding-right:1rem}.topbar-user span{display:none}.welcome-banner,.panel,.cbu-hero,.loan-header,.loan-body,.previous-loan-card,.modal-body,.modal-header,.modal-footer{padding:1rem}.profile-hero,.cbu-hero,.loan-header{flex-direction:column;align-items:flex-start}.info-grid{grid-template-columns:1fr}.data-table{min-width:640px}.modal-backdrop{padding:.75rem}.modal-card,.profile-edit-modal{max-height:calc(100vh - 1.5rem)}}.tab-panel{animation:.24s tabFadeSlide}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalIn{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes tabFadeSlide{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.auth-shell{color:#fff;background-color:#0b0b0b;min-height:100vh;font-family:ui-sans-serif,system-ui,sans-serif;display:flex}.auth-panel-copy{background-color:#0b1914;border-right:1px solid #ffffff0d;flex-direction:column;flex:1;padding:3rem;display:flex;position:relative;overflow:hidden}.auth-left-bg-overlay{opacity:.15;z-index:0;background-image:url(/bg.png);background-position:50%;background-size:cover;position:absolute;inset:0}.auth-left-glow-top{filter:blur(120px);z-index:0;background:#08bd6b33;border-radius:50%;width:40%;height:40%;position:absolute;top:-10%;left:-10%}.auth-left-glow-bottom{filter:blur(120px);z-index:0;background:#3b82f61a;border-radius:50%;width:50%;height:50%;position:absolute;bottom:-10%;right:-10%}.auth-left-grid-pattern{z-index:0;background-image:radial-gradient(circle,#ffffff0d 1px,#0000 1px);background-size:40px 40px;position:absolute;inset:0}.auth-left-content{z-index:10;flex-direction:column;justify-content:space-between;height:100%;display:flex;position:relative}.auth-brand-admin{align-items:center;gap:16px;display:flex}.auth-logo-img{object-fit:contain;flex-shrink:0;width:auto;height:64px}.auth-logo-title{letter-spacing:-.025em;margin:0;font-size:1.875rem;font-weight:700}.auth-logo-sub{color:#a1a1aa;max-width:28rem;margin:0;font-size:.875rem;font-weight:500}.auth-left-middle h1{letter-spacing:-.025em;margin:0 0 1.5rem;font-size:3.75rem;font-weight:300;line-height:1.1}.auth-left-middle h1 span{color:#08bd6b;font-weight:700}.auth-tagline{color:#a1a1aa;max-width:28rem;margin-bottom:3rem;font-size:1.125rem;line-height:1.6}.auth-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;max-width:28rem;display:grid}.auth-stat-card{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);cursor:default;background:#ffffff08;border:1px solid #ffffff1a;border-radius:1rem;padding:1rem;transition:background-color .2s}.auth-stat-card:hover{background:#ffffff0d}.stat-icon{opacity:.8;width:20px;height:20px;margin-bottom:.5rem;transition:opacity .2s}.auth-stat-card:hover .stat-icon{opacity:1}.text-emerald-500{color:#10b981}.text-blue-500{color:#3b82f6}.text-amber-500{color:#f59e0b}.text-purple-500{color:#a855f7}.stat-label{text-transform:uppercase;letter-spacing:.05em;color:#a1a1aa;margin:0;font-size:.625rem;font-weight:600}.stat-value{margin:.25rem 0 0;font-family:monospace;font-size:.875rem;font-weight:500}.auth-left-footer{text-transform:uppercase;letter-spacing:.1em;color:#a1a1aa;opacity:.4;justify-content:space-between;align-items:center;font-size:.625rem;font-weight:500;display:flex}.auth-footer-links{gap:1.5rem;display:flex}.auth-footer-links a{color:#a1a1aa;transition:color .2s}.auth-footer-links a:hover{color:#fff}.auth-panel-form{background-color:#0b0b0b;flex:1;justify-content:center;align-items:center;padding:3rem;display:flex;position:relative}.auth-form-container{z-index:10;width:100%;max-width:400px;position:relative}.auth-mobile-brand{align-items:center;gap:12px;margin-bottom:2.5rem;display:none}.auth-form-container h2{letter-spacing:-.025em;color:#fff;margin:0 0 .5rem;font-size:1.875rem;font-weight:700}.auth-form-container>p{color:#a1a1aa;margin:0 0 2rem;font-size:1rem}.auth-field{flex-direction:column;gap:.5rem;margin-bottom:1.5rem;display:flex}.auth-field-row{justify-content:space-between;align-items:center;display:flex}.auth-field label{text-transform:uppercase;letter-spacing:.05em;color:#a1a1aa;margin-left:.25rem;font-size:.75rem;font-weight:600}.auth-input-wrapper{position:relative}.auth-input-wrapper svg{color:#a1a1aa;width:16px;height:16px;transition:color .2s;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.auth-input-wrapper:focus-within svg{color:#08bd6b}.auth-input-wrapper input,.auth-input-wrapper select{color:#fff;box-sizing:border-box;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:.75rem;width:100%;height:3rem;padding:0 1rem 0 2.5rem;font-size:.875rem;transition:all .2s}.auth-input-wrapper input:focus,.auth-input-wrapper select:focus{background:#ffffff14;border-color:#08bd6b;outline:none}.auth-link{color:#08bd6b;font-size:.75rem;font-weight:500;text-decoration:none}.auth-link:hover{text-decoration:underline}.auth-checkbox{align-items:center;gap:.5rem;margin-bottom:2rem;margin-left:.25rem;display:flex}.auth-checkbox input{accent-color:#08bd6b;cursor:pointer;background:0 0;border:1px solid #fff3;width:16px;height:16px}.auth-checkbox label{color:#a1a1aa;cursor:pointer;font-size:.875rem;font-weight:500}.auth-submit-btn{color:#fff;cursor:pointer;background:#067244;border:0;border-radius:1rem;justify-content:center;align-items:center;gap:8px;width:100%;height:3rem;font-size:1rem;font-weight:700;transition:all .2s;display:flex;box-shadow:0 18px 50px -18px #0f172a8c}.auth-submit-btn:hover{background:#08bd6b}.auth-submit-btn:disabled{opacity:.7;cursor:wait}.auth-submit-btn svg{transition:transform .2s}.auth-submit-btn:hover svg{transform:translate(4px)}.auth-switch{text-align:left;margin-top:1.5rem}.auth-link-text{color:#08bd6b;cursor:pointer;background:0 0;border:none;padding:0;font-size:.875rem;font-weight:500}.auth-link-text:hover{text-decoration:underline}.auth-error-banner,.auth-success-banner{border-radius:.5rem;margin-bottom:1.5rem;padding:.75rem;font-size:.875rem}.auth-error-banner{color:#f87171;background:#ef444426;border:1px solid #ef44444d}.auth-success-banner{color:#34d399;background:#10b98126;border:1px solid #10b9814d}@media (width<=1024px){.auth-panel-copy{display:none}.auth-mobile-brand{display:flex}}@media print{*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}#sidebar,.portal-sidebar,.portal-topbar,.action-row,.modal-backdrop,.toast-container,button{display:none!important}body,.portal-layout,.portal-main,.content-wrap,.tab-panel{color:#000!important;background:#fff!important;width:100%!important;max-width:none!important;height:auto!important;margin:0!important;padding:0!important;display:block!important;overflow:visible!important}.panel{box-shadow:none!important;background:#fff!important;border:none!important;margin-bottom:2rem!important;padding:0!important}.section-heading{border-bottom:2px solid #222!important;margin-bottom:1.5rem!important;padding-bottom:1rem!important}.section-heading h2{color:#000!important;margin-bottom:4pt!important;font-size:26pt!important;font-weight:700!important}.section-heading p{color:#444!important;font-size:11pt!important}.data-table-container{border:none!important;overflow:visible!important}table{border-collapse:collapse!important;width:100%!important;font-size:10pt!important}thead{display:table-header-group!important}tbody tr{page-break-inside:avoid!important}th,td{text-align:left;color:#000!important;white-space:normal!important;border-bottom:1px solid #ddd!important;padding:10pt 8pt!important}th{text-transform:uppercase;letter-spacing:.05em;color:#000!important;background:0 0!important;border-top:1px solid #000!important;border-bottom:1px solid #000!important;font-size:9pt!important;font-weight:700!important}.amount-positive,.badge,.mono,strong,.amount-negative{color:#000!important;background:0 0!important;border:none!important;padding:0!important;font-weight:700!important}.text-red-500,.text-emerald-600{color:#000!important}.summary-strip{background:0 0!important;border:1px solid #ddd!important;border-radius:4px!important;flex-wrap:wrap!important;gap:0!important;margin-bottom:25pt!important;padding:5pt!important;display:flex!important}.summary-item{background:0 0!important;border:none!important;border-right:1px solid #ddd!important;border-radius:0!important;flex:1!important;padding:10pt 15pt!important}.summary-item:last-child{border-right:none!important}.summary-item p{text-transform:uppercase;letter-spacing:.05em;color:#666!important;margin-bottom:4pt!important;font-size:9pt!important}.summary-item strong{color:#000!important;font-size:16pt!important}@page{margin:10mm 15mm;size:A4 portrait}}
