:root{--ink:#242924;--muted:#777d76;--line:#e7e9e4;--gold:#b79645;--green:#456653;--paper:#f7f8f5}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--paper);font:16px 'DM Sans',sans-serif}button,input,select,textarea{font:inherit}button,a,select{cursor:pointer}button{border:1px solid var(--line);background:white;color:var(--ink);border-radius:7px;padding:10px 16px}button:hover{background:#f0f2ec}button:focus-visible,a:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.primary{background:var(--ink);color:white;border-color:var(--ink)}.primary:hover{background:#414b40}.shell{display:grid;grid-template-columns:230px 1fr;min-height:100vh}.sidebar{background:#242b27;color:#f3f2eb;padding:32px 22px;display:flex;flex-direction:column;position:fixed;width:230px;height:100vh}.brand{display:flex;align-items:center;gap:12px;font:600 23px Georgia,serif;letter-spacing:1px;margin-bottom:48px}.brand img{width:46px;height:48px;object-fit:contain;background:#fff;border-radius:5px}.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:2px;color:var(--muted)}.sidebar .eyebrow{color:#a3aba4;font-size:12px;margin:0 14px 16px}.nav{display:flex;flex-direction:column;gap:8px}.nav button{border:0;background:transparent;color:#bfc6bf;text-align:left;display:flex;gap:13px;align-items:center;padding:14px}.nav button.active{background:#3a443b;color:#fff}.nav svg{width:19px;height:19px}.sidebar-bottom{margin-top:auto;border-top:1px solid #424a43;padding-top:20px;font-size:14px;color:#c4c9c2}.sidebar-bottom button{background:none;color:#d1bf82;border:0;padding:10px 0}.avatar{display:inline-grid;place-items:center;background:#e9e9df;width:36px;height:36px;border-radius:50%;color:#495443;font-size:13px;font-weight:700;margin-right:9px}.main{grid-column:2;min-width:0}.topbar{height:83px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 44px;background:#fff}.topbar span{font-size:14px;color:var(--muted)}.topbar .demo{font-size:12px;border:1px solid #dcd7c6;color:#837449;padding:5px 9px;border-radius:4px;margin-left:12px}.content{max-width:1480px;margin:auto;padding:38px 44px}.title-row{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px}h1{font-family:Manrope,sans-serif;font-size:32px;font-weight:500;letter-spacing:-1.3px;margin:0 0 8px}h2{font-size:18px;font-weight:500;margin:0}h3{font-size:16px;font-weight:500}.sub{color:var(--muted);font-size:14px;margin:0}.actions{display:flex;gap:10px;align-items:center}.panel{background:white;border:1px solid var(--line);border-radius:10px;padding:26px;margin-bottom:24px}.hero{padding:28px 30px 14px}.row{display:flex;justify-content:space-between;align-items:center;gap:16px}.segmented{display:inline-flex;background:#f3f4f0;padding:4px;border-radius:7px;gap:2px}.segmented button{border:0;background:none;padding:8px 13px;font-size:14px;color:var(--muted)}.segmented button.selected{background:#fff;box-shadow:0 1px 4px #00000010;color:var(--ink)}.number{font:500 48px Manrope,sans-serif;letter-spacing:-2px;margin:16px 0 7px}.gain{color:var(--green);font-size:14px}.chart{height:230px;width:100%;display:block;margin-top:24px;overflow:visible}.chart text{font:12px 'DM Sans',sans-serif;fill:#888f85}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.metric{padding:22px 26px}.metric strong{font:500 26px Manrope,sans-serif;display:block;margin:12px 0}.metric .sub{font-size:13px}.dot{width:7px;height:7px;border-radius:50%;display:inline-block;margin-right:6px;background:var(--green)}.section-head{display:flex;align-items:center;justify-content:space-between;margin:12px 0 20px}.section-head h2{font-size:20px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap;font-size:14px}th{font-size:12px;color:var(--muted);font-weight:400;border-bottom:1px solid var(--line);padding:12px 10px}td{padding:18px 10px;border-bottom:1px solid #f0f1ed}tr:last-child td{border-bottom:0}td:last-child,th:last-child{text-align:right}.asset-name{font-weight:500;display:block}.asset-type{display:block;color:var(--muted);font-size:12px;margin-top:5px}.badge{display:inline-block;font-size:12px;padding:5px 8px;background:#f2f3ef;border-radius:4px;color:#63715c}.badge.manual{color:#9b7c32;background:#f8f3e6}.link{padding:0;background:none;border:0;color:var(--green)}.split{display:grid;grid-template-columns:1.25fr 1fr;gap:24px}.bar-row{display:grid;grid-template-columns:130px 1fr 85px;gap:15px;align-items:center;font-size:14px;margin:22px 0}.bar{height:7px;background:#f0f1eb;border-radius:4px;overflow:hidden}.bar i{display:block;height:100%;background:var(--green);border-radius:4px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{background:white;border:1px solid var(--line);padding:26px;border-radius:10px;min-height:200px}.card .big-icon{font:32px Georgia;color:var(--gold);margin-bottom:26px}.card h2{margin:12px 0}.card p{color:var(--muted);font-size:14px;line-height:1.7}.card button{margin-top:14px}.progress{height:6px;background:#ecefe7;border-radius:4px;margin:22px 0 12px}.progress i{display:block;height:100%;background:var(--green)}.footer-note{font-size:12px;color:var(--muted);margin-top:22px}.landing{min-height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;background:#fff}.landing img{width:min(360px,65vw);display:block;margin:0 auto 20px}.landing h1{font:32px Georgia;letter-spacing:5px}.landing p{letter-spacing:3px;font-size:12px;color:var(--muted);margin:25px 0}.landing button{min-width:180px;margin:20px}.landing .demo-note{font-size:12px;letter-spacing:0}.drawer{position:fixed;right:0;top:0;height:100vh;background:white;width:410px;max-width:100vw;box-shadow:-12px 0 60px #0002;z-index:10;display:flex;flex-direction:column;padding:28px}.drawer-head{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:22px}.chat-body{flex:1;overflow:auto;padding-top:25px}.chat-body p{font-size:14px;line-height:1.8}.chat-message{padding:16px;background:#f5f6f1;border-radius:8px;margin:16px 0}.suggestion{display:block;width:100%;margin-top:10px;font-size:14px;text-align:left}.chat-input{display:flex;gap:8px;padding-top:20px}.chat-input input{min-width:0;flex:1}.overlay{position:fixed;inset:0;background:#14221955;display:flex;align-items:center;justify-content:center;z-index:20;padding:20px}.modal{max-width:620px;width:100%;max-height:90vh;overflow:auto;background:white;border-radius:12px;padding:30px}.modal h2{font-size:24px;margin-bottom:22px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}label{display:block;font-size:14px;color:#646b60}input,select,textarea{display:block;width:100%;border:1px solid #dfe3d8;border-radius:6px;padding:11px;margin-top:7px;background:#fff;color:var(--ink)}textarea{min-height:90px;resize:vertical}.full{grid-column:1/-1}.modal .actions{justify-content:flex-end;margin-top:24px}.notice{padding:14px;background:#f6f3e9;font-size:13px;line-height:1.6;margin:15px 0;border-radius:5px}.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.profile-grid p{border-bottom:1px solid var(--line);padding-bottom:16px}.profile-grid strong{display:block;color:var(--ink);margin-top:7px}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;border-radius:8px;padding:15px 22px;z-index:30;font-size:14px}.search{max-width:260px;margin:0}.muted{color:var(--muted)}@media(min-width:1600px){.content{padding-top:50px}}@media(max-width:1000px){.shell{grid-template-columns:190px 1fr}.sidebar{width:190px;padding:25px 15px}.brand{font-size:20px}.content{padding:28px 24px}.topbar{padding:0 24px}.cards{grid-template-columns:1fr 1fr}.split{grid-template-columns:1fr}.number{font-size:40px}.metrics{gap:12px}.metric{padding:18px}.metric strong{font-size:22px}}@media(max-width:700px){.shell{display:block}.sidebar{position:static;width:100%;height:auto;padding:16px}.brand{margin:0 0 15px}.sidebar .eyebrow,.sidebar-bottom{display:none}.nav{flex-direction:row;gap:3px;overflow:auto}.nav button{padding:10px;font-size:14px}.nav svg{display:none}.main{width:100%}.topbar{height:65px;padding:0 18px}.topbar>span{font-size:12px}.content{padding:25px 16px}.title-row{align-items:flex-start;flex-direction:column}.panel{padding:20px 16px}.hero .row{align-items:flex-start;flex-direction:column}.metrics{grid-template-columns:1fr}.metric{margin-bottom:0}.metrics{margin-bottom:24px}.metric strong{font-size:26px}.cards,.form-grid,.profile-grid{grid-template-columns:1fr}.bar-row{grid-template-columns:100px 1fr 70px}.number{font-size:38px}.chart{height:190px}.topbar .demo{margin-left:3px;font-size:10px}.full{grid-column:auto}.section-head{gap:12px;flex-wrap:wrap}.search{max-width:100%}h1{font-size:29px}}
/* Revised light interface */
:root{--ink:#262c29;--muted:#767e79;--line:#e9ede9;--green:#526f51;--paper:#fff}body{background:#fff;-webkit-font-smoothing:antialiased}button{transition:background .16s,border-color .16s,box-shadow .16s}button:hover{background:#f4f6f2}.shell{grid-template-columns:212px 1fr}.sidebar{width:212px;background:#f8f9f7;color:var(--ink);border-right:1px solid #ecede9;padding:26px 17px}.brand{display:flex;align-items:center;justify-content:center;width:106px;height:112px;padding:0;margin:0 auto 32px;border:0;background:transparent}.brand:hover{background:#f0f2ed}.brand img{width:100px;height:100px;background:transparent;mix-blend-mode:multiply;border-radius:0}.nav{gap:6px}.nav button{position:relative;color:#69726b;font-weight:500;font-size:14px;padding:13px 15px;border-radius:7px;gap:13px;min-height:46px}.nav button:hover{background:#edf0e9}.nav button.active{background:#e9eee3;color:#35492f}.nav svg{width:18px;height:18px}.nav-indicator{height:5px;width:5px;border-radius:50%;background:#6f835c;margin-left:auto}.sidebar-bottom{border-top:1px solid #e6eae2;padding-top:18px;color:var(--ink)}.sidebar-bottom .user-button{padding:8px 3px;display:flex;align-items:center;width:100%;text-align:left;border:0;color:var(--ink);border-radius:7px}.user-button:hover{background:#eef1e9}.avatar{background:#e6eadf;color:#536049;border:1px solid #dce3d5;font-weight:500}.user-label{display:flex;flex-direction:column;gap:4px}.user-label strong{font-weight:500;font-size:14px}.user-label small{font-size:12px;color:#858c81}.user-chevron{margin-left:auto;color:#8c9488}.topbar{height:72px;padding:0 42px;border-bottom:1px solid #f0f2ed}.topbar>span{color:#50594f;font-size:14px}.topbar .demo{margin-left:12px;background:#f6f7f4;border:0;font-size:11px;letter-spacing:.3px;color:#8b9485;padding:4px 7px}.topbar .ask-casita{padding:9px 14px;background:#fff;border-color:#e4e9df;font-size:15px;box-shadow:0 2px 4px #17200e03;display:flex;gap:9px;align-items:center}.topbar .ask-casita span{color:#43533b;font-size:14px}.content{padding:36px 42px;max-width:1530px}.title-row{margin-bottom:28px}h1{font-size:30px;font-weight:500;letter-spacing:-1.15px;margin-bottom:8px}.primary{background:#35432f;border-color:#35432f;font-size:14px;padding:11px 17px;box-shadow:0 2px 3px #1520110a}.primary:hover{background:#46593c}.panel{border-color:#e6ebe2;border-radius:12px;box-shadow:0 3px 10px #24321502}.hero{padding:26px 30px 14px}.segmented{background:#f5f7f1;border:1px solid #edf0e7;padding:3px;border-radius:7px}.segmented button{font-size:13px;padding:7px 12px}.segmented button.selected{box-shadow:0 1px 3px #23331a12;color:#3e5034}.hero select{font-size:13px;border-color:#e8ece3;padding:8px 10px;color:#66715e}.wealth-summary{padding-top:12px}.number{font-size:54px;letter-spacing:-2.3px;margin:15px 0 7px;font-weight:500;font-variant-numeric:tabular-nums}.summary-dot{padding:0 7px;color:#b6bcb1}.changes{display:grid;grid-template-columns:repeat(3,1fr);margin-top:28px;max-width:800px}.change-stat{padding:0 24px;border-left:1px solid #e7ece1}.change-stat:first-child{padding-left:0;border:0}.change-stat>span{font-size:12px;color:#7d8578}.change-value{display:flex;align-items:center;gap:9px;color:#4f7146;font-size:19px;font-weight:500;letter-spacing:-.5px;margin-top:9px;font-variant-numeric:tabular-nums;flex-wrap:wrap}.change-value small{font-size:11px;letter-spacing:0;background:#f0f5eb;border-radius:4px;padding:4px 6px;font-weight:400}.change-value.negative{color:#9a5d4d}.change-value.negative small{background:#fbf2ef}.chart-toolbar{display:flex;align-items:center;justify-content:space-between;margin-top:34px;padding-top:22px;border-top:1px solid #f0f2ec}.chart-toolbar .sub{font-size:13px}.chart{height:250px;margin-top:14px}.hero .footer-note{font-size:12px;color:#92998b;margin:12px 0 4px}.metrics{gap:18px}.metric{padding:20px 24px;background:#fafbf8;border-color:#edf0e7;box-shadow:none}.metric strong{font-size:25px;letter-spacing:-.6px;margin:12px 0 9px}.metric .sub{font-size:12px}.section-head h2{font-size:19px;letter-spacing:-.4px}.section-head button{font-size:13px;color:#67705f;padding:8px 12px}th{background:#fcfdfb;color:#8b9383;padding:15px 10px}td{padding:19px 10px}.badge{background:#f3f6ef;font-size:11px;color:#6b795c}.badge.manual{background:#f8f5eb;color:#998450}.asset-name{font-weight:500;color:#374730}.asset-type{color:#949b8d}.landing{background:#fff}.landing img{width:min(320px,65vw);margin:0 auto 16px}.landing .entrance-login{min-width:158px;display:flex;align-items:center;justify-content:space-between;margin:0 auto;padding:12px 20px;font-size:14px;border-radius:6px}.login-error{font-size:13px;color:#a54737}.modal{box-shadow:0 25px 90px #15200e20}.card{box-shadow:0 3px 10px #24321502;border-color:#e6ebe2}.chat-message{background:#f7f9f3}
@media(min-width:1500px){.wealth-summary{display:flex;justify-content:space-between;align-items:center;gap:24px}.changes{margin-top:14px}.change-stat{padding:0 20px}.number{font-size:56px}.change-value{font-size:18px}.chart{height:290px}}
@media(max-width:1100px){.shell{grid-template-columns:180px 1fr}.sidebar{width:180px;padding:24px 13px}.content{padding:28px}.topbar{padding:0 28px}.hero{padding:24px}.change-stat{padding:0 18px}.change-value{font-size:17px}}
@media(max-width:700px){.shell{display:block}.sidebar{width:100%;position:static;padding:10px 14px 12px;display:block;border-right:0;border-bottom:1px solid #e8ece2}.brand{height:64px;width:66px;margin:0 0 10px}.brand img{width:64px;height:64px}.sidebar-bottom{display:block;position:absolute;right:16px;top:18px;margin:0;padding:0;border:0}.sidebar-bottom .user-button{width:auto;gap:2px}.user-label small{display:none}.user-chevron{margin-left:12px}.nav{display:flex;flex-direction:row;gap:3px}.nav button{padding:10px 12px;font-size:13px;min-height:40px;flex:1;justify-content:center}.nav-indicator{display:none}.content{padding:24px 16px}.topbar{padding:0 18px;height:62px}.hero{padding:18px}.hero>.row{flex-direction:row;flex-wrap:wrap;align-items:center}.number{font-size:40px}.changes{gap:16px;grid-template-columns:1fr;margin-top:24px}.change-stat{border:0;padding:0;display:flex;align-items:center;justify-content:space-between;gap:12px}.change-stat>span{font-size:13px}.change-value{font-size:17px;margin:0}.chart-toolbar{margin-top:24px;padding-top:18px}.chart{height:185px}.metric{padding:20px}.title-row{gap:16px}.hero .sub{font-size:12px}.chart-toolbar .segmented button{padding:6px 9px}.user-label strong{font-size:13px}}
/* Wealth views and balance-sheet layout */
.main{position:relative}.content{padding-top:42px}.content>.title-row{padding-right:62px;min-height:54px}.casita-icon{position:absolute;right:42px;top:41px;display:grid;place-items:center;width:38px;height:38px;padding:8px;background:#fafbf8;border:1px solid #e7ece1;border-radius:50%;color:#52664a;z-index:2}.casita-icon svg{width:23px;height:23px}.casita-icon:hover{background:#edf2e6;box-shadow:0 3px 12px #354b2410}.view-controls{display:flex;gap:10px;align-items:center}.view-settings{width:34px;height:34px;padding:7px;border:0;background:transparent;color:#8b9583}.view-settings svg{width:20px;height:20px}.wealth-equation{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:flex-end;padding:16px 0 5px;font-size:12px;color:#87927f}.wealth-equation strong{font-weight:500;color:#526249}.allocation{margin:32px 0 38px;padding:0 3px}.allocation .section-head{margin-bottom:18px}.allocation .section-head .sub{font-size:12px}.allocation-bar{height:12px;display:flex;gap:3px;border-radius:4px;overflow:hidden;background:#f5f7f1}.allocation-bar span{min-width:2px}.allocation-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px 34px;margin-top:25px}.allocation-item>div{display:flex;align-items:center;gap:9px;font-size:13px;color:#6e7868}.allocation-item i{width:8px;height:8px;border-radius:2px;flex-shrink:0}.allocation-item small{margin-left:auto;color:#929a8c;font-size:12px}.allocation-item strong{display:block;margin:8px 0 0 17px;font-size:20px;font-weight:500;letter-spacing:-.5px;font-variant-numeric:tabular-nums;color:#3b4734}.balance-section{margin:32px 0}.table-heading{display:flex;gap:10px;align-items:center}.table-heading>span{font-size:12px;background:#f1f4ec;padding:3px 7px;border-radius:5px;color:#8b9681}.balance-table{padding:0 15px;overflow:hidden;overflow-x:auto}.section-head button.primary{background:#35432f;color:white;border-color:#35432f}.view-label{font-size:11px;color:#858e7c}.excluded-row{background:#fafbf8}.excluded-row .asset-name{color:#8b9285}.excluded-row .view-label{color:#ab9369}.balance-table tfoot td{padding:17px 10px;background:#fafcf7;font-size:12px;color:#6b765f;border-top:1px solid #e8eee0}.balance-table tfoot td:last-child{font-size:14px;color:#46573c;font-weight:500}.empty-table{text-align:center!important;padding:40px;color:#939c8a}.inclusion-list{margin:24px 0}.inclusion-row{display:flex;align-items:center;gap:13px;padding:16px 0;border-bottom:1px solid #edf0e8;cursor:pointer}.inclusion-row input{width:17px;height:17px;margin:0;accent-color:#637b51;flex-shrink:0}.inclusion-row>span:nth-child(2){flex:1}.inclusion-row strong{display:block;font-size:14px;font-weight:500;color:#4a5640}.inclusion-row small{display:block;font-size:12px;color:#8c9583;margin-top:5px}.inclusion-row>span:last-child{font-size:13px;color:#627153}.connection-hint{font-size:13px;line-height:1.6;background:#f3f6ed;padding:14px;border-radius:6px;color:#69785b}
@media(min-width:1500px){.content{padding-top:46px}.casita-icon{top:45px}.allocation-grid{grid-template-columns:repeat(6,1fr);gap:24px}.allocation-item>div{flex-wrap:wrap}.allocation-item small{margin-left:17px;width:100%}.allocation-item strong{font-size:19px}}
@media(max-width:1100px){.casita-icon{right:28px;top:30px}.content{padding-top:30px}.allocation-grid{gap:20px}.balance-table{padding:0 8px}}
@media(max-width:700px){.content{padding-top:25px}.casita-icon{right:18px;top:25px}.content>.title-row{padding-right:45px}.allocation-grid{grid-template-columns:repeat(2,1fr);gap:22px}.allocation-item strong{font-size:18px}.allocation-item>div{font-size:12px;flex-wrap:wrap}.allocation-item small{margin-left:17px}.wealth-equation{justify-content:flex-start;gap:8px;line-height:1.7}.balance-section .section-head{align-items:center}.balance-section .actions{gap:6px}.balance-section .actions button{font-size:12px;padding:9px}.inclusion-row{gap:9px}.inclusion-row>span:last-child{font-size:12px}.view-controls{gap:4px}}
.chart-empty{height:220px;display:flex;flex-direction:column;justify-content:center;text-align:center;color:#7d8974;font-size:16px;line-height:1.8}.chart-empty small{font-size:13px;color:#98a08f}button:disabled{opacity:.55;cursor:wait}

.tax-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.tax-card{margin:0 0 24px;padding:28px}.current-tax{background:#f4f7f0;border-color:#dce5d6}.eyebrow{font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:#7d8577;display:block;margin-bottom:10px}.tax-card h2{font-size:32px;font-weight:400}.tax-status{font-size:11px;text-transform:uppercase;letter-spacing:.08em;border:1px solid #dce3d6;padding:7px 10px;border-radius:20px}.tax-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:26px 0}.tax-metrics span{display:block;font-size:11px;color:#737a6b;margin-bottom:10px}.tax-metrics strong{font-size:22px;font-weight:400}.tax-documents{border-top:1px solid #e4e8df;padding-top:16px;margin:18px 0}.tax-documents a{display:block;padding:10px 0;color:#364831;text-decoration:none;font-size:13px}.tax-documents small{display:block;color:#838a7d;margin-top:5px}.tax-actions{display:flex;gap:10px;justify-content:flex-end}.tax-notes{white-space:pre-wrap;font-size:13px;color:#737a6b}.casita-panel{position:fixed;right:0;top:0;bottom:0;width:min(450px,100vw);padding:28px;background:#fafbf7;box-shadow:-10px 0 60px #25311b18;z-index:45;display:flex;flex-direction:column;border-left:1px solid #dfe5d8}.casita-panel .section-head{margin-bottom:14px}.chat-log{flex:1;overflow:auto;margin:20px -6px;padding:6px}.chat-bubble{white-space:pre-wrap;padding:15px;margin-bottom:14px;line-height:1.6;font-size:13px;background:white;border:1px solid #e6eade;border-radius:12px}.chat-bubble.user{background:#eaf0e3;margin-left:28px}.chat-welcome{color:#6a775e;line-height:1.8;margin:24px 0}.casita-panel form{margin-bottom:16px}.casita-panel textarea{min-height:80px;resize:vertical}.casita-panel form button{float:right;margin-top:8px}.casita-panel form:after{content:'';display:block;clear:both}.proposal-card{border:1px solid #9aaa8e;background:#f2f6ed;border-radius:12px;padding:18px;margin:12px 0}.proposal-card p{margin:12px 0}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(max-width:1100px){.tax-grid{grid-template-columns:1fr}}@media(max-width:620px){.tax-card{padding:20px}.tax-metrics{grid-template-columns:1fr;gap:16px}.tax-metrics div{display:flex;justify-content:space-between;align-items:center}.tax-metrics span{margin:0}.tax-actions{flex-wrap:wrap}.casita-panel{padding:20px}}

/* Financial editorial system — locally hosted typography, September 2026 */
@font-face{font-family:Manrope;src:url('/fonts/manrope-regular.ttf') format('truetype');font-style:normal;font-weight:400 500;font-display:swap}
@font-face{font-family:Manrope;src:url('/fonts/manrope-semibold.ttf') format('truetype');font-style:normal;font-weight:600 800;font-display:swap}
:root{--ink:#202f32;--muted:#72807d;--line:#e4e9e5;--green:#286457;--paper:#f7f8f5;--gold:#b59c68}
body{font-family:Manrope,Arial,sans-serif;background:var(--paper);font-size:14px;line-height:1.5}
button{font-size:12px;font-weight:600;border-radius:8px;transition:background .2s,color .2s,box-shadow .2s,transform .2s}
button svg{width:17px;height:17px;flex-shrink:0;vertical-align:middle}.primary,.section-head button.primary{background:#253f39;border-color:#253f39;color:#fff;box-shadow:0 2px 3px #1b38300a}.primary:hover,.section-head button.primary:hover{background:#345b50;border-color:#345b50}.actions button,.section-head button.primary{display:inline-flex;align-items:center;justify-content:center;gap:7px}
.shell{grid-template-columns:224px minmax(0,1fr)}.sidebar{width:224px;background:#f3f5f1;border-color:#e1e6df;padding:36px 20px 24px}.brand{height:116px;width:112px;margin:0 auto 48px}.brand img{width:106px;height:106px}.brand:hover{background:transparent;transform:translateY(-2px)}
.nav{gap:7px}.nav button{padding:13px 16px;min-height:48px;border-radius:8px;color:#6c7974;font-size:13px;letter-spacing:.1px;font-weight:500}.nav svg{display:block;width:20px;height:20px;opacity:.8}.nav button.active{background:#e4ebe3;color:#254f42;font-weight:600;box-shadow:inset 0 0 0 1px #dce5d9}.nav button.active svg{opacity:1}.nav button:hover{background:#e9eee7}.nav-indicator{width:4px;height:4px;background:#386a58}
.sidebar-bottom{border-color:#dfe6dc;padding-top:20px}.sidebar-bottom .user-button{padding:8px 0;gap:10px}.avatar{background:#e3e9de;border:1px solid #d6dfd0;color:#52664c;flex-shrink:0;width:34px;height:34px;font-size:12px;margin:0}.user-label strong{font-size:11px;font-weight:600}.user-label small{font-size:10px;color:#8b948b}.logout-icon{margin-left:auto;color:#83907f}.logout-icon svg{width:15px;height:15px}
.content{max-width:1450px;padding:46px 52px 64px}.content>.title-row{min-height:62px;margin-bottom:28px;padding-right:64px}h1{font-family:Georgia,'Times New Roman',serif;font-size:38px;font-weight:400;letter-spacing:-1.4px;line-height:1.15;margin-bottom:10px}h2{font-size:17px;font-weight:600;letter-spacing:-.5px}h3{font-weight:600}.sub{font-size:12px;color:var(--muted);line-height:1.7}.casita-icon{top:49px;right:52px;width:42px;height:42px;background:#fff;border:1px solid #dce5dc;box-shadow:0 3px 10px #24403306;color:#386450}.casita-icon:hover{background:#edf3ed;transform:translateY(-1px)}
.panel{border-radius:13px;border:1px solid #e1e7e1;box-shadow:0 5px 20px #20382a03;background:#fff}.hero{padding:28px 32px 18px;position:relative;overflow:hidden}.hero>.row{padding-bottom:27px;border-bottom:1px solid #edf0ec}.segmented{background:#f2f4f0;border:0;padding:4px;border-radius:8px}.segmented button{font-size:11px;padding:8px 15px;font-weight:500;border-radius:5px}.segmented button.selected{color:#294d41;background:#fff;box-shadow:0 1px 5px #1c342317}.hero select{font-family:Manrope,sans-serif;font-size:11px;min-width:128px;padding:9px 12px;border-color:#e5eae3;background:#fff;border-radius:7px;color:#63736a}
.wealth-summary{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:29px 0 9px}.eyebrow{font-size:10px;letter-spacing:1.8px;color:#829087;font-weight:600;margin-bottom:7px}.number{font-family:Manrope,sans-serif;font-size:clamp(38px,3.9vw,60px);font-weight:400;line-height:1.12;letter-spacing:-2.7px;margin:10px 0 12px;color:#223c35;font-variant-numeric:tabular-nums}.currency-tag{font-size:9px;letter-spacing:.8px;border:1px solid #e5e9e1;border-radius:4px;padding:2px 5px;margin-left:7px;color:#899383}
.changes{margin-top:0;gap:0;max-width:none}.change-stat{padding:2px 22px;border-color:#e8ece7}.change-stat:first-child{padding-left:0}.change-stat>span{font-size:10px;color:#849087}.change-value{font-size:17px;font-weight:500;letter-spacing:-.5px;color:#2f6a55;margin-top:9px;gap:7px;display:block;white-space:nowrap}.change-value small{display:table;font-size:10px;margin-top:6px;padding:2px 6px;background:#edf4ee;color:#547b62;letter-spacing:0}.change-value.negative{color:#a15e51}.change-value.negative small{color:#a15e51;background:#fbefea}
.chart-toolbar{margin-top:20px;padding:21px 0 0;border-top:0}.chart-caption{display:flex;align-items:center;gap:8px;font-size:11px;color:#6f7e73}.chart-caption i{width:6px;height:6px;border-radius:50%;background:#326b56}.range-controls{display:flex;gap:3px}.range-controls button{padding:5px 10px;border:0;background:transparent;font-size:10px;font-weight:500;color:#829085;border-radius:5px}.range-controls button.selected{background:#edf2ec;color:#2d5947}.chart{height:auto;max-height:340px;margin-top:17px;width:100%;overflow:visible}.chart text{font:10px Manrope,sans-serif;fill:#8b978c}.wealth-equation{border-top:1px solid #edf0ea;justify-content:flex-start;gap:12px;padding:17px 0 3px;font-size:11px;color:#667b6b}.hero .footer-note{font-size:10px;margin:8px 0 0;color:#8b958a}
.chart-empty{height:245px;background:repeating-linear-gradient(to bottom,transparent 0,transparent 60px,#f0f3ee 61px,transparent 62px);margin-top:16px;align-items:center;line-height:1.7;gap:5px;color:#687b6d}.chart-empty strong{font-family:Georgia,serif;font-size:21px;font-weight:400;color:#46604e;letter-spacing:-.3px}.chart-empty small{font-size:11px;color:#8b9789;max-width:310px}.empty-chart-icon{display:grid;place-items:center;width:44px;height:44px;background:#edf2eb;border:1px solid #e3eadd;border-radius:12px;color:#68805e;margin-bottom:12px}.empty-chart-icon svg{width:22px;height:22px}
.allocation{background:#fff;border:1px solid #e2e8e0;border-radius:12px;padding:24px 28px;margin:24px 0 34px}.allocation .section-head{margin:0 0 21px}.allocation-bar{height:8px;border-radius:3px;background:#eff2ec;gap:3px}.allocation-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 30px;margin-top:24px}.allocation-item>div{font-size:10px;gap:7px;flex-wrap:nowrap;color:#6e7e70}.allocation-item small{font-size:10px;width:auto;margin-left:auto;color:#929c90}.allocation-item i{width:6px;height:6px}.allocation-item strong{font-family:Manrope,sans-serif;font-size:19px;letter-spacing:-.5px;font-weight:500;margin:8px 0 0 13px;color:#334d3d}
.balance-section{margin:30px 0}.section-head h2{font-size:18px}.table-heading{gap:9px}.table-heading>span{background:#e9eee7;color:#758771;border-radius:4px;font-size:10px;padding:2px 6px}.balance-table{padding:0;border-radius:10px}table{font-size:12px}th{padding:14px 20px;background:#f9faf7;font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:1.1px;color:#8a9686;border-color:#e6ece2}td{padding:19px 20px;border-color:#edf1e8;color:#71816a}td:last-child{font-family:Manrope,sans-serif;color:#334a36;font-weight:600;font-variant-numeric:tabular-nums}.asset-name{font-size:12px;color:#344c38;font-weight:600}.asset-type{font-size:10px;color:#98a08f;margin-top:4px}.badge,.badge.manual{font-size:9px;border-radius:4px;padding:4px 7px;border:1px solid #e6eadf;background:#f4f6ef;color:#7d8b70}.badge.manual{background:#faf7ee;border-color:#eee8d6;color:#99845a}.empty-table{padding:34px 20px!important;color:#98a18f!important;font-size:11px;font-weight:400!important}tbody tr:hover{background:#fafcf7}
.modal{border-radius:14px;border:1px solid #e2e8dc;box-shadow:0 30px 100px #182b2429;padding:32px}.modal h2{font-family:Georgia,serif;font-size:29px;font-weight:400;letter-spacing:-.8px}.overlay{background:#1c2c304d;backdrop-filter:blur(5px)}label{font-size:11px;color:#6e7e70}input,select,textarea{font-size:13px;border-radius:7px;border-color:#dfe6dc;padding:12px;outline-offset:2px}input:focus,textarea:focus,select:focus{outline:2px solid #9bb5a4;border-color:transparent}.modal .sub{font-size:10px;margin-top:12px}.login-error{font-size:12px}
.landing{background:#f8f9f6}.landing img{mix-blend-mode:multiply;width:min(300px,65vw);margin-bottom:28px}.landing .entrance-login{background:transparent;color:#40573d;border:1px solid #ccd6c5;box-shadow:none;min-width:150px;font-size:11px;letter-spacing:.3px}.landing .entrance-login:hover{background:#edf1e7}.coming-soon{padding:70px 24px;text-align:center;min-height:380px;display:flex;flex-direction:column;align-items:center;justify-content:center}.coming-soon h2{font-family:Georgia,serif;font-size:29px;font-weight:400;margin:4px 0 12px}.coming-soon button{margin-top:26px;display:flex;gap:14px;align-items:center}.coming-soon .eyebrow{margin-top:15px}
.current-tax{background:linear-gradient(120deg,#f1f5ef,#fff);border-color:#dce5d6}.tax-card h2{font-family:Georgia,serif;font-size:36px}.tax-metrics strong{font-family:Manrope,sans-serif;font-size:25px;letter-spacing:-1px;font-variant-numeric:tabular-nums}.tax-status{font-size:9px;color:#6c7e63;background:#f6f8f1}.casita-panel{background:#f8faf6;border-color:#dce5d5;padding:30px;box-shadow:-15px 0 70px #20342a14}.casita-panel h2{font-family:Georgia,serif;font-size:28px;font-weight:400}.chat-bubble{font-size:12px;line-height:1.85}.chat-welcome{font-family:Georgia,serif;font-size:22px;line-height:1.5}.chat-welcome small{display:block;font:12px/1.8 Manrope,sans-serif;margin-top:14px;color:#8a9582}
@media(min-width:1600px){.content{padding-top:54px}.casita-icon{top:57px}.allocation-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1200px){.content{padding:34px 30px 50px}.casita-icon{right:30px;top:37px}.wealth-summary{display:block}.changes{margin-top:28px;width:100%;max-width:680px}.change-stat{padding:0 24px}.change-value{display:flex;align-items:center;gap:8px}.change-value small{margin-top:0}.number{font-size:48px}.allocation-item>div{flex-wrap:wrap}.allocation-item small{margin-left:13px;width:100%}}
@media(max-width:850px){.shell{grid-template-columns:180px minmax(0,1fr)}.sidebar{width:180px;padding:26px 14px}.nav button{padding:12px;font-size:12px}.content{padding:28px 22px}.hero{padding:22px}.casita-icon{right:22px;top:30px}.logout-icon{display:none}.allocation{padding:22px}.changes{gap:10px}.change-stat{padding:0 10px}.change-value{display:block;font-size:15px}.change-value small{margin-top:7px}h1{font-size:34px}}
@media(max-width:700px){.shell{display:block}.sidebar{position:relative;width:100%;height:auto;padding:12px 14px;background:#f2f5ef;display:block}.brand{width:58px;height:58px;margin:0 0 12px}.brand img{width:58px;height:58px}.sidebar-bottom{position:absolute;right:16px;top:24px;padding:0;border:0}.sidebar-bottom .user-button{gap:8px}.user-label strong{font-size:11px}.nav{gap:3px;overflow:auto}.nav button{flex:1;min-width:58px;flex-direction:column;gap:5px;padding:9px 6px;font-size:9px;border-radius:7px;min-height:57px}.nav svg{display:block;width:18px;height:18px}.content{padding:27px 16px 40px}.content>.title-row{margin-bottom:20px;min-height:58px}.casita-icon{top:27px;right:16px;width:36px;height:36px}.hero{padding:18px}.hero>.row{padding-bottom:18px;gap:8px}.segmented button{font-size:10px;padding:7px 9px}.hero select{font-size:10px;min-width:110px;max-width:140px}.wealth-summary{padding-top:23px}.number{font-size:42px;letter-spacing:-2px}.changes{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:24px}.change-stat,.change-stat:first-child{display:block;padding:0 0 0 9px;border-left:1px solid #e7ece2}.change-stat:first-child{padding-left:0;border:0}.change-stat>span{font-size:9px}.change-value{font-size:13px;margin-top:8px;white-space:normal;letter-spacing:-.4px}.change-value small{font-size:8px;padding:2px 4px;line-height:1.5}.chart-toolbar{margin-top:13px;padding-top:12px}.chart-caption{font-size:10px}.range-controls button{font-size:9px;padding:5px 8px}.chart{height:auto;min-height:140px}.chart-empty{height:210px}.chart-empty strong{font-size:19px}.chart-empty small{font-size:10px;max-width:250px}.wealth-equation{font-size:10px;gap:8px}.allocation{margin:20px 0 27px;padding:20px 18px}.allocation-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.allocation-item strong{font-size:17px}.allocation .section-head .sub{display:none}.section-head h2{font-size:17px}.section-head button.primary{font-size:10px;padding:9px 11px}.section-head button svg{width:13px;height:13px}th{padding:13px 16px}td{padding:16px}.tax-actions button{font-size:11px}.modal{padding:25px}.coming-soon{padding:40px 20px}.coming-soon h2{font-size:25px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* High-contrast surfaces and expandable mobile navigation */
:root{--ink:#1b2e2a;--muted:#53635b;--paper:#fcfdfb}
body{background:var(--paper)}.sidebar{background:#f8faf6}.sub,.muted,label,.chart-caption,.hero select,.nav button{color:#53635b}.eyebrow,.change-stat>span,.currency-tag,.chart-empty small,.hero .footer-note,.footer-note,.asset-type,.allocation-item>div,.allocation-item small,.user-label small,.tax-metrics span,.tax-documents small,.tax-notes,.chat-welcome small{color:#596851}.chart text{fill:#596851}.range-controls button{color:#53634d}.wealth-equation,td,.tax-status{color:#495e43}th{color:#53634b;background:#fbfcf9}.badge,.badge.manual{color:#6f592e}.empty-table{color:#5e6b55!important}.chart-empty{color:#52694c}.chart-empty strong{color:#344e38}.nav button.active{color:#244d3c;background:#eaf0e6}.table-heading>span{color:#526447}.user-label strong{color:#253e2d}.chat-bubble.user{background:#f0f5eb}.current-tax{background:linear-gradient(120deg,#f8fbf5,#fff)}.casita-panel{background:#fcfdf9}.landing{background:#fdfefa}.hero .footer-note{font-size:11px}.allocation-item>div{font-size:11px}th{font-size:10px}.range-controls button{min-height:32px}.mobile-header,.menu-close,.menu-backdrop{display:none}
@media(max-width:700px){
 .mobile-header{display:flex;align-items:center;justify-content:space-between;height:62px;padding:8px 16px;background:#fff;border-bottom:1px solid #e8ede4}.mobile-header img{height:44px;width:44px;object-fit:contain}.menu-toggle,.menu-close{width:44px;height:44px;display:grid;place-items:center;border:0;background:transparent;color:#294332;padding:10px}.menu-toggle svg,.menu-close svg{width:22px;height:22px}.menu-toggle:hover,.menu-close:hover{background:#f0f5eb}
 .sidebar{position:fixed;inset:0 auto 0 0;width:min(300px,86vw);height:100dvh;z-index:61;padding:26px 20px;display:flex;flex-direction:column;background:#fff;border-right:1px solid #dfe8d8;transform:translateX(-100%);visibility:hidden;transition:transform .2s ease;overflow:hidden}.sidebar .menu-close{position:absolute;right:12px;top:12px}.sidebar .brand{flex-shrink:0;width:86px;height:86px;margin:10px auto 28px}.sidebar .brand img{width:86px;height:86px}.sidebar .nav{display:flex;flex-direction:column;overflow-y:auto;min-height:0;gap:5px;padding:2px;flex:1}.sidebar .nav button{flex:none;flex-direction:row;justify-content:flex-start;min-width:0;min-height:48px;padding:13px 15px;font-size:13px;gap:14px}.sidebar .nav svg{width:20px;height:20px}.sidebar .nav-indicator{display:block}.sidebar .sidebar-bottom{position:static;flex-shrink:0;margin-top:20px;padding-top:18px;border-top:1px solid #e0e8d8}.sidebar .sidebar-bottom .user-button{width:100%;min-height:48px}.sidebar .user-label small{display:block;font-size:11px}.sidebar .user-label strong{font-size:12px}.sidebar .logout-icon{display:block}.menu-open{overflow:hidden}.menu-open .sidebar{visibility:visible;transform:translateX(0)}.menu-open .menu-backdrop{display:block;position:fixed;inset:0;z-index:60;width:100%;height:100dvh;border:0;border-radius:0;background:#102b234a;backdrop-filter:blur(3px);cursor:default}.content{padding-top:22px}.casita-icon{top:22px;width:44px;height:44px}.title-row h1{font-size:33px}.content>.title-row{min-height:58px;margin-bottom:18px}.change-stat>span{font-size:10px}.change-value small{font-size:9px}.allocation-item>div{font-size:11px}.chart-empty small{font-size:11px}.hero>.row{flex-wrap:wrap}.hero select{max-width:100%}.range-controls button{min-height:36px;min-width:32px}.chart-caption{font-size:11px}.tax-actions button{min-height:44px}.balance-section .section-head button{min-height:42px}.chart-empty{height:190px}
}

.change-value small{color:#376247}

.mobile-chart{display:none}@media(max-width:700px){.desktop-chart{display:none}.mobile-chart{display:block}.mobile-chart .chart{width:100%;height:auto;min-height:0;margin-top:16px}.mobile-chart .chart text{font-size:14px}}

/* Minimal white / charcoal visual system */
:root{--ink:#202124;--muted:#55595f;--line:#e5e6e8;--paper:#fff;--green:#23634f}
body{font-family:Arial,Helvetica,sans-serif;background:#fff;color:var(--ink);-webkit-font-smoothing:antialiased}
body,button,input,select,textarea{font-family:Arial,Helvetica,sans-serif}
h1,h2,h3,.title-row h1,.number,.allocation-item strong,.tax-metrics strong,.tax-card h2,.modal h2,.casita-panel h2,.chat-welcome,.coming-soon h2,td:last-child{font-family:Arial,Helvetica,sans-serif;color:#202124}
h1,.title-row h1{font-size:32px;font-weight:500;letter-spacing:-1px}.number{font-weight:400;letter-spacing:-2px}.section-head h2{font-weight:600;letter-spacing:-.4px}
.sidebar,.mobile-header,.landing,.casita-panel,.current-tax{background:#fff}.sidebar,.mobile-header,.sidebar .sidebar-bottom{border-color:#e5e6e8}
.sub,.muted,label,.chart-caption,.hero select,.eyebrow,.change-stat>span,.currency-tag,.chart-empty small,.hero .footer-note,.footer-note,.asset-type,.allocation-item>div,.allocation-item small,.user-label small,.tax-metrics span,.tax-documents small,.tax-notes,.chat-welcome small,.wealth-equation{color:#55595f}
.nav button,.range-controls button,td,.tax-status,.user-label strong,.asset-name{color:#30343a}.chart text{fill:#55595f}.nav button.active{color:#202124;background:#f1f2f3;font-weight:600}.nav-indicator{background:#202124}.avatar{background:#f0f1f2;color:#45494f;border-color:#e5e6e8}
button{border-radius:5px;border-color:#d5d7da;box-shadow:none;color:#30343a;background:#fff;font-weight:500}button:hover{background:#f4f5f6}.primary{background:#25282c;border-color:#25282c;color:#fff;box-shadow:none}.primary:hover{background:#42464c}.brand,.brand:hover,.user-button,.user-button:hover{background:transparent;box-shadow:none}
.segmented{background:transparent;border:1px solid #d5d7da;padding:0;border-radius:5px;gap:0;overflow:hidden}.segmented button{border:0;border-radius:0;color:#4d5157;padding:10px 15px}.segmented button.selected{background:#25282c;color:#fff;box-shadow:none}.range-controls{gap:3px}.range-controls button{border-radius:4px}.range-controls button.selected{background:#eceef0;color:#202124}.hero select{border-color:#d5d7da;border-radius:5px;background:#fff}
.panel,.allocation,.balance-table{box-shadow:none;border-color:#e5e6e8;border-radius:6px;background:#fff}.hero{border:0;padding-left:0;padding-right:0}.hero>.row{border-color:#e5e6e8}.allocation{border:0;border-top:1px solid #e5e6e8;border-bottom:1px solid #e5e6e8;border-radius:0;padding-left:0;padding-right:0}.wealth-equation{border-color:#e5e6e8}.allocation-item strong{font-weight:400}.allocation-bar{height:4px;border-radius:0}
th{color:#50545a;background:#fafafa;border-color:#e5e6e8}td{border-color:#eceef0}tbody tr:hover{background:#fafafa}.table-heading>span,.badge,.badge.manual,.tax-status{background:#f5f5f5;border-color:#e5e6e8;color:#55595f}.empty-table{color:#55595f!important}
.change-value{color:#23634f}.change-value small{background:transparent;color:#23634f;padding-left:0}.casita-icon{border-color:#d5d7da;color:#30343a;box-shadow:none;border-radius:5px}.menu-toggle,.menu-close{color:#30343a}.chat-bubble.user{background:#f3f4f5}.landing .entrance-login{color:#202124;border-color:#c9ccd0;border-radius:5px}.landing .entrance-login:hover{background:#f4f5f6}.modal{box-shadow:0 24px 80px #0000001c;border-color:#e5e6e8;border-radius:8px}input,select,textarea{border-color:#d5d7da;border-radius:5px;color:#202124}
@media(max-width:700px){.title-row h1{font-size:29px}.sidebar .nav button{border-radius:5px}.hero{padding-top:12px}.segmented button{padding:10px 12px}.number{font-size:42px}.allocation-item strong{font-size:18px}.change-stat>span{font-size:11px}.change-value{font-size:14px}.change-value small{font-size:10px}.chart-caption{font-size:12px}}
.section-head button.primary{background:#25282c;border-color:#25282c;color:#fff;box-shadow:none}.section-head button.primary:hover{background:#42464c;border-color:#42464c}.nav button.active{border-color:#e0e2e5}.logout-icon{color:#55595f}

/* Classic headings, precise monochrome financial displays */
:root{--ink:#202020;--muted:#565656;--line:#dedede;--paper:#fff;--green:#303030;--gold:#555}
h1,.title-row h1{font-family:Georgia,'Times New Roman',serif;font-size:35px;font-weight:400;letter-spacing:-1px}.modal h2,.casita-panel h2,.coming-soon h2{font-family:Georgia,'Times New Roman',serif;font-weight:400}
.number,.allocation-item strong,.tax-metrics strong,.change-value,td:last-child{font-family:Arial,Helvetica,sans-serif;font-variant-numeric:tabular-nums;letter-spacing:-.6px}.number{letter-spacing:-2px}
.sidebar{background:#fafafa;border-color:#dedede}.sidebar .brand img,.mobile-header img{mix-blend-mode:multiply}.nav button.active{background:#ececec;color:#202020;border:1px solid #d5d5d5}.nav button{border-radius:3px}.nav button:hover{background:#f0f0f0}.nav-indicator{background:#333}.avatar{background:#f1f1f1;border:1px solid #d7d7d7;color:#444}
.primary,.section-head button.primary{color:#202020;background:#fff;border:1px solid #969696;border-radius:3px;box-shadow:none}.primary:hover,.section-head button.primary:hover{background:#ededed;border-color:#555}.segmented{border-color:#bcbcbc;border-radius:3px}.segmented button.selected{background:#eaeaea;color:#161616;box-shadow:inset 0 -2px #303030}.range-controls button.selected{background:#eaeaea;color:#202020}.range-controls button{border-radius:2px}.casita-icon{border-color:#bcbcbc;border-radius:3px}.hero select,button,input,select,textarea{border-radius:3px}
.change-value,.change-value small,.gain,.loss{color:#303030}.chart-caption i{background:#303030}.chart text{fill:#555}.allocation-item i{border:1px solid #777}.allocation-bar{height:5px}.allocation-bar span{border-right:2px solid white}.allocation{border-color:#d9d9d9}.balance-table,.tax-card{border:1px solid #d9d9d9;border-radius:3px}.current-tax{background:#fafafa}.tax-status,.badge,.badge.manual{background:#f6f6f6;border-color:#ddd;color:#555}.wealth-equation{border-color:#d9d9d9}.change-stat{border-color:#dedede}
.sub,.muted,label,.chart-caption,.hero select,.eyebrow,.change-stat>span,.currency-tag,.chart-empty small,.hero .footer-note,.footer-note,.asset-type,.allocation-item>div,.allocation-item small,.user-label small,.tax-metrics span,.tax-documents small,.tax-notes,.chat-welcome small,.wealth-equation{color:#565656}
th{background:#f7f7f7;color:#4b4b4b;border-color:#dedede}td{color:#333;border-color:#e8e8e8}tbody tr:hover{background:#fafafa}.asset-name,.user-label strong,.nav button,.chart-empty strong,.chart-empty,.menu-toggle,.menu-close,.casita-icon{color:#252525}.table-heading>span{background:#eee;color:#555}.mobile-header{border-color:#dedede}.menu-open .menu-backdrop{background:#00000038;backdrop-filter:blur(2px)}button:focus-visible,a:focus-visible{outline-color:#555}input:focus,textarea:focus,select:focus{outline-color:#777}
@media(max-width:700px){.title-row h1{font-size:31px}.sidebar{background:#fafafa}.sidebar .nav button{border-radius:3px}.mobile-header img{height:48px;width:48px}}

/* Crest-inspired fine-line icon family */
button>svg{width:18px;height:18px;flex-shrink:0;vertical-align:middle}.nav svg,.sidebar .nav svg{width:22px;height:22px}.tax-actions button,[data-action="tax-year"],#casita-chat button{display:inline-flex;align-items:center;justify-content:center;gap:8px}.casita-panel h2{display:flex;align-items:center;gap:10px}.casita-panel h2 svg{width:24px;height:24px}.tax-documents a{display:flex;align-items:flex-start;gap:9px}.tax-documents a>svg{width:18px;height:18px;flex-shrink:0}

/* Quiet entrance and crisp private login */
.landing{background:#fff}.crest-animation{display:block;width:min(320px,72vw);height:auto;aspect-ratio:1;margin:0 auto 25px;border:0;pointer-events:none}.landing .entrance-login{display:inline-block;min-width:0;padding:10px 18px;border:0;border-radius:0;background:transparent;color:#353535;box-shadow:none;font-size:14px;letter-spacing:.05em;font-weight:400;text-decoration:none}.landing .entrance-login:hover{background:transparent;color:#000;text-decoration:none}.login-modal{max-width:420px;background:#fff;border:1px solid #d5d5d5;border-radius:3px;padding:32px;box-shadow:0 24px 80px #00000020}.login-heading{border-bottom:1px solid #e1e1e1;margin-bottom:26px;padding-bottom:22px}.login-heading h2{margin:0;color:#202020}.login-heading .eyebrow{color:#555}.login-modal label{display:block;font-size:12px;color:#353535;margin-top:18px}.login-modal input{display:block;width:100%;margin-top:8px;background:#fff;color:#202020;border:1px solid #bdbdbd;border-radius:2px;min-height:44px}.login-modal .actions{justify-content:space-between;border-top:1px solid #e1e1e1;padding-top:20px;margin-top:24px}.login-modal .actions button{min-height:42px;border-radius:2px}.login-modal .actions button[type="button"]{border-color:transparent;background:transparent}.login-modal .actions .primary{background:#252525;color:#fff;border-color:#252525}.login-modal .actions .primary:hover{background:#444}.login-modal .login-error{color:#222;font-size:12px}
@media(max-width:700px){.login-modal{padding:25px}.crest-animation{width:min(290px,72vw)}}

.overlay{background:rgba(0,0,0,.3);backdrop-filter:blur(5px)}

/* Final rhythm, fixed navigation geometry, and clearer hierarchy */
.sidebar .brand{width:172px;height:172px;max-width:100%;margin:0 auto 28px;flex-shrink:0}.sidebar .brand img{width:100%;height:100%;object-fit:contain}.brand:hover{transform:none}
.sidebar .nav{gap:4px}.sidebar .nav button,.sidebar .nav button.active{height:46px;min-height:46px;flex-shrink:0;padding:0 13px;gap:12px;border:1px solid transparent;border-radius:4px;font:400 13px/1 Arial,Helvetica,sans-serif;letter-spacing:0;box-shadow:none;transform:none;transition:background-color .15s,color .15s;justify-content:flex-start}.sidebar .nav button{background:transparent;color:#505050}.sidebar .nav button:hover{background:#f3f3f3;color:#202020}.sidebar .nav button.active{background:#ededed;color:#202020}.sidebar .nav button svg,.sidebar .nav button.active svg{width:20px;height:20px;flex:0 0 20px;opacity:1}.sidebar .nav-indicator{width:3px;height:3px;flex:0 0 3px;background:#656565}.sidebar .nav button span{line-height:20px}.sidebar-bottom{padding-top:20px}
.content>.title-row{margin-bottom:24px}.sub{font-size:13px;line-height:1.6}.hero{padding-top:12px;padding-bottom:12px}.hero>.row{padding-bottom:22px}.wealth-summary{padding-top:28px}.eyebrow{font-size:10px;letter-spacing:.15em;line-height:1.5}.number{font-size:54px;line-height:1.12;margin:12px 0}.change-stat>span{font-size:11px}.change-value{font-size:17px;line-height:1.3}.change-value small{font-size:11px;line-height:1.5;margin-top:5px}.chart-toolbar{margin-top:30px}.chart-caption{font-size:12px}.range-controls button{font-size:11px;min-width:34px;min-height:34px}.chart text{font-family:Arial,Helvetica,sans-serif;font-size:11px}.wealth-equation{font-size:12px;line-height:1.6;padding-top:16px}.hero .footer-note{font-size:11px;line-height:1.6}
.allocation{margin:24px 0 32px;padding-top:26px;padding-bottom:26px}.section-head{margin-bottom:20px}.section-head h2{font-size:18px;line-height:1.35}.allocation-item>div{font-size:12px;line-height:1.5}.allocation-item strong{font-size:21px;line-height:1.3}.allocation-item small{font-size:11px}.balance-section{margin:30px 0}.section-head button.primary,.tax-actions button,[data-action="tax-year"]{font-size:12px;min-height:40px;padding:9px 13px}.balance-table table{font-size:13px}.asset-name{font-size:13px;line-height:1.4}.asset-type{font-size:11px;line-height:1.4;margin-top:5px}th{font-size:10px;letter-spacing:.09em;padding:14px 18px}td{padding:18px;border-color:#ececec}.badge{font-size:10px}.tax-card{padding:26px}.tax-metrics span{font-size:12px;line-height:1.5}.tax-documents .sub{font-size:13px}.tax-metrics strong{font-size:26px}.modal .sub{font-size:12px}.modal label{font-size:12px}.casita-panel .sub{font-size:12px}.chat-bubble{font-size:13px}.coming-soon .sub{max-width:380px;line-height:1.7}
.crest-animation{width:min(384px,86.4vw)}
@media(max-width:850px) and (min-width:701px){.sidebar .brand{width:148px;height:148px}.sidebar .nav button,.sidebar .nav button.active{padding:0 10px;gap:10px}}
@media(max-width:700px){.sidebar .brand{width:152px;height:152px;margin:4px auto 22px}.sidebar .brand img{width:100%;height:100%}.sidebar .nav button,.sidebar .nav button.active{height:46px;min-height:46px;padding:0 13px;font-size:13px}.content>.title-row{margin-bottom:18px}.hero{padding-top:8px}.hero>.row{padding-bottom:20px}.wealth-summary{padding-top:24px}.number{font-size:42px;letter-spacing:-1.8px}.change-value{font-size:14px}.change-value small{font-size:10px}.changes{gap:8px}.change-stat>span{font-size:10px}.chart-toolbar{margin-top:24px}.range-controls button{font-size:10px;min-width:32px}.chart-caption{font-size:11px}.wealth-equation{font-size:11px}.allocation{margin-top:22px;padding:23px 0}.allocation-item strong{font-size:19px}.allocation-item>div{font-size:12px}.section-head h2{font-size:18px}.section-head button.primary{font-size:11px;padding:9px 11px}.tax-card{padding:22px}.tax-metrics strong{font-size:24px}.crest-animation{width:min(348px,86.4vw)}}
@media(max-width:700px) and (max-height:650px){.sidebar .brand{width:112px;height:112px;margin-bottom:16px}}

.tax-metrics span{min-height:36px}@media(max-width:700px){.tax-metrics span{min-height:0}}

/* Account connections */
.connection-strip{display:flex;align-items:center;gap:12px;padding:22px 0;border-bottom:1px solid #ddd}.connection-strip>div{flex:1}.connection-strip h2{font-size:17px;margin-bottom:6px}.connection-strip button{font-size:12px;display:flex;gap:8px;align-items:center;min-height:42px}.connections-modal{max-width:720px}.connection-list{margin:22px 0}.connection-card{border:1px solid #ddd;padding:20px;margin-bottom:16px}.connection-card h3{margin:0 0 5px;font-size:17px}.connected-account{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-top:1px solid #eee}.connected-account strong{font-size:13px;font-weight:500}.connected-account small{display:block;font-size:12px;color:#555;margin-top:6px}.connected-account button,.connection-actions button{font-size:12px;min-height:40px}.connection-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.connection-notice{font-size:12px;line-height:1.6;padding:10px;background:#f3f3f3;color:#333}.connection-empty{padding:24px 0;font-size:13px;color:#555}.connection-choices{display:grid;gap:12px;margin:24px 0}.connection-choices button{display:flex;gap:14px;text-align:left;padding:18px;align-items:center}.connection-choices span{flex:1}.connection-choices strong{display:block;font-size:14px;font-weight:500}.connection-choices small{display:block;font-size:12px;color:#555;margin-top:6px}.modal form[id^="plaid-"] label{display:block;margin-top:18px}.modal form[id^="plaid-"] .sub{margin-top:16px}.modal form[id^="plaid-"] .actions{margin-top:24px}
@media(max-width:700px){.connection-strip{flex-wrap:wrap}.connection-strip>div{flex:0 0 100%}.connection-strip button{font-size:11px}.connection-card{padding:15px}.connections-modal{padding:22px}.connection-card .section-head{align-items:flex-start;flex-wrap:wrap}.connected-account{align-items:flex-start}}

/* Phone-first dialogs: preserve readable inputs and the visible keyboard viewport. */
.casita-panel{overflow:hidden;height:var(--visible-height,100dvh);top:var(--visible-top,0px);bottom:auto}
.casita-panel>*{min-width:0;flex-shrink:0}.casita-panel .section-head{flex-wrap:nowrap;margin-top:0}
.casita-panel [data-action="close-assistant"]{width:44px;height:44px;padding:10px;flex:0 0 44px}
.chat-log{min-height:0;flex:1 1 0;overscroll-behavior:contain;overflow-wrap:anywhere}
.chat-bubble,.proposal-card{overflow-wrap:anywhere}.casita-panel form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end;margin:0 0 12px}
.casita-panel textarea{min-height:48px;height:64px;max-height:120px;resize:none;margin:0;font-size:16px;line-height:1.4}
.casita-panel form button{float:none;min-height:48px;margin:0}.casita-panel form:after{display:none}
.casita-panel form .login-error{grid-column:1/-1;grid-row:2;margin:0;overflow-wrap:anywhere}.login-error:empty{display:none}
body:has(.casita-panel){overflow:hidden}.casita-panel>small.sub{font-size:11px;line-height:1.45}
@media(max-width:700px){
 input,select,textarea,.hero select,.login-modal input{font-size:16px;min-height:44px}
 .casita-panel{width:100%;max-width:100%;padding:16px 16px max(12px,env(safe-area-inset-bottom));border:0;box-shadow:none}
 .casita-panel h2{font-size:24px}.casita-panel .eyebrow{margin-bottom:3px}.casita-panel .section-head{margin-bottom:8px}
 .chat-log{margin:12px -4px;padding:4px}.chat-welcome{font-size:21px;margin:12px 0}
 .overlay{top:var(--visible-top,0px);bottom:auto;height:var(--visible-height,100dvh);padding:12px;align-items:center}
 .modal{max-height:100%;padding:22px;overscroll-behavior:contain;min-width:0}.modal .actions{flex-wrap:wrap}.modal button{min-height:44px}
 .modal input,.modal select,.modal textarea{min-width:0;max-width:100%}.connected-account>div{min-width:0;overflow-wrap:anywhere}
 .connected-account button{flex-shrink:0}.connection-card h3,.tax-documents a,.tax-notes{overflow-wrap:anywhere}
 .range-controls button{min-height:44px}.tax-metrics div{gap:12px;min-width:0}.tax-metrics strong{overflow-wrap:anywhere}
 .casita-panel.keyboard-open>p.sub,.casita-panel.keyboard-open>.section-head .eyebrow{display:none}
}
body:has(.overlay){overflow:hidden}.modal form>label{margin-top:16px}.modal .form-grid{gap:18px}
@media(max-width:700px) and (max-height:480px){.casita-panel>p.sub,.casita-panel>.section-head .eyebrow{display:none}.casita-panel .section-head{margin-bottom:4px}.casita-panel>small.sub{font-size:10px}.chat-log{margin:8px -4px}}
/* Closer alignment to the browser edge. */
@media(min-width:701px){.content{padding-top:24px}.sidebar{padding-top:13px}.casita-icon{top:24px}}
@media(max-width:700px){.content{padding-top:11px}.mobile-header{height:54px;padding-top:4px;padding-bottom:4px}.casita-icon{top:11px}}
.commitment-field[hidden]{display:none}.hero .row>.segmented{flex-shrink:0}
.record-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:20px;margin-bottom:32px}.record-card{border:1px solid #ddd;border-radius:4px;padding:24px;min-width:0}.record-card h2{font:24px Georgia,serif;margin-bottom:14px;overflow-wrap:anywhere}.record-description{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.7}.record-symbol svg{width:28px;height:28px;margin-bottom:18px}.record-actions{display:flex;gap:8px;margin-top:22px}.record-actions button{font-size:13px;min-height:44px}.document-link,.record-documents a{display:flex;align-items:center;gap:8px;color:#222;font-size:14px;overflow-wrap:anywhere;margin-top:16px}.document-link svg,.record-documents svg{width:18px;height:18px}.record-amount{display:block;font-size:28px;font-weight:400;margin:24px 0}.record-amount small{font-size:14px;color:#555}.record-card progress,.spending-bars progress{width:100%;height:6px;accent-color:#333;display:block;margin:12px 0}.record-empty{padding:30px 0;color:#555;font-size:14px;line-height:1.8}.profile-details{font-size:14px;display:grid;grid-template-columns:1fr 1fr;gap:12px}.profile-details dd{margin:0;text-align:right}.record-card summary{cursor:pointer;font-size:14px;padding:12px 0}.secret-value{display:block;overflow-wrap:anywhere;white-space:pre-wrap;padding:12px;background:#f5f5f5}.spending-toolbar{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:24px}.spending-toolbar label{flex:1;min-width:150px}.spending-bars>div{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:20px;font-size:13px}.spending-bars progress{grid-column:1/-1;margin:0}.transaction-row{display:flex;width:100%;justify-content:space-between;align-items:center;gap:16px;text-align:left;padding:18px 0;border:0;border-bottom:1px solid #ddd;border-radius:0}.transaction-row>span{min-width:0}.transaction-row strong{font-size:14px;font-weight:500;overflow-wrap:anywhere}.transaction-row small{display:block;font-size:12px;color:#555;margin-top:7px}.transaction-row>strong{white-space:nowrap}#household-record label{margin-top:16px}.record-card details{border-top:1px solid #eee}.record-card button{min-height:44px}
/* Household chapters: quiet editorial type with precise financial figures. */
.modal{position:relative}.modal-close{position:absolute;right:16px;top:16px;width:36px;height:36px;padding:8px!important;border:0!important;background:transparent!important}.modal>h2{padding-right:30px}.modal-close svg{width:20px;height:20px}
.featured-goals{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-bottom:58px}.featured-goal{border:1px solid #ddd;padding:30px;min-width:0;background:#fff}.featured-goal h2{font-size:28px;margin:20px 0 12px}.featured-goal .section-head{margin:0;min-height:34px}.goal-target{font-size:64px;line-height:1.1;letter-spacing:-3px;font-variant-numeric:tabular-nums;color:#111}.goal-target span{font-size:34px;letter-spacing:-1px;margin-left:4px}.goal-current{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-top:30px;font-size:12px;color:#555}.goal-current strong{display:block;font-size:24px;font-weight:500;color:#111;margin-top:4px}.featured-goal progress{width:100%;height:4px;margin:14px 0 12px;accent-color:#111}.goal-chart{width:100%;height:auto;display:block;margin-top:8px}.chart-caption{display:flex;justify-content:space-between;gap:16px;color:#666;font-size:10px}.goal-description{font-family:Georgia,serif;font-style:italic;color:#444;line-height:1.6;font-size:15px;margin:24px 0 0;padding-top:20px;border-top:1px solid #eee}.featured-goal details{margin-top:22px;font-size:12px}.history-line{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid #eee}.resolutions{margin-top:56px;padding:40px 0;border-top:1px solid #ccc;text-align:center}.resolutions h2{font-size:34px;margin:12px}.resolutions p{color:#666}.coming-soon{display:inline-block;border:1px solid #ddd;padding:6px 12px;font-size:11px;text-transform:uppercase;letter-spacing:1px;color:#666}.text-button{border:0!important;background:transparent!important;padding:8px 0!important;font-size:12px!important;color:#333!important}.family-profiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.family-profile{border:1px solid #ddd;background:white;min-width:0}.profile-open{width:100%;display:block!important;text-align:left;padding:22px!important;border:0!important;background:none!important;color:#181818!important;height:auto!important;white-space:normal!important}.profile-open h2{font-size:23px;margin:22px 0 4px}.portrait{display:block;width:150px;height:150px;max-width:100%;margin:auto;background-image:url('/api/family/portraits');background-size:200% 200%;background-repeat:no-repeat;border-radius:50%;mix-blend-mode:multiply}.portrait-0{background-position:0 0}.portrait-1{background-position:100% 0}.portrait-2{background-position:0 100%}.portrait-3{background-position:100% 100%}.profile-open .profile-details{font-size:11px;display:block;margin-top:24px}.profile-open dt{color:#666;margin-top:12px}.profile-open dd{margin:4px 0 0;font-size:13px}.profile-link{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #ddd;margin-top:22px;padding-top:16px;font-size:12px}.profile-link svg{width:18px}.portrait-note{font-size:11px;color:#707070;text-align:center;margin:20px 0 0}.add-member{display:block;margin:12px auto 46px}.member-heading{text-align:center}.member-heading h2{margin:12px 0}.member-heading .portrait{width:120px;height:120px}
.tax-inbox{border:1px solid #ddd;padding:30px;margin-bottom:48px}.tax-inbox>.section-head{margin:0 0 28px}.tax-inbox h2{font-size:42px;margin:10px 0}.tax-inbox-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px}.tax-drop{display:flex!important;align-items:center;justify-content:center;flex-direction:column;border:1px dashed #aaa;padding:26px 16px;gap:8px;background:#fafafa;text-align:center;cursor:pointer;min-height:180px}.tax-drop.dragging{background:#eee;border-color:#111}.tax-drop svg{width:26px;height:26px;margin-bottom:4px}.tax-drop input{max-width:100%;font-size:12px;border:0;background:transparent;padding:8px}.tax-drop small{font-size:11px;color:#666}.tax-inbox form>.sub{font-size:11px}.tax-inbox form>.text-button{display:block;margin-top:8px}.tax-inbox-docs{border-left:1px solid #e2e2e2;padding-left:32px}.tax-file{display:flex;align-items:center;gap:12px;border-bottom:1px solid #e5e5e5;padding:20px 0}.tax-file a{display:flex;align-items:center;gap:12px;flex:1;min-width:0;text-decoration:none;color:#222;font-size:14px}.tax-file a span{overflow-wrap:anywhere}.tax-file a small{display:block;color:#666;font-size:11px;margin-top:6px}.tax-file svg{width:22px;min-width:22px}.tax-file button{min-width:36px}.tax-inbox .section-head>button{font-size:12px}.featured-goal .eyebrow{font-size:9px;letter-spacing:1.4px}
@media(max-width:1200px){.family-profiles{grid-template-columns:repeat(2,minmax(0,1fr))}.featured-goal{padding:24px}.goal-target{font-size:54px}}
@media(max-width:700px){.featured-goals,.tax-inbox-grid{grid-template-columns:1fr;gap:22px}.featured-goals{margin-bottom:36px}.featured-goal{padding:22px}.tax-inbox{padding:20px}.tax-inbox-docs{border-left:0;border-top:1px solid #ddd;padding:24px 0 0}.tax-inbox>.section-head{align-items:flex-start;gap:16px;flex-wrap:wrap}.family-profiles{gap:12px}.profile-open{padding:16px!important}.portrait{width:110px;height:110px}.profile-open h2{font-size:21px}.profile-open .sub{font-size:12px}.chart-caption{font-size:9px}.modal-close{top:10px;right:10px}.resolutions{margin-top:36px;padding:30px 0}}
@media(max-width:370px){.family-profiles{grid-template-columns:1fr}}
.identity-uploads{display:grid;grid-template-columns:1fr;gap:10px;margin:16px 0 24px}.identity-uploads button{justify-content:flex-start;min-height:44px}.member-heading+h2{padding-right:24px}.family-profile .profile-open h2{min-height:56px}.featured-goal h2,.family-profile h2{font-family:Georgia,'Times New Roman',serif;font-weight:400}.profile-open .profile-details dd{text-align:left}.profile-open .profile-details{line-height:1.35}
.tax-inbox form>label{display:block;margin-bottom:18px}.chart-caption+.chart-caption{margin-top:8px}.featured-goal h2{font-size:29px}.featured-goal .text-button{min-height:36px}.profile-open .profile-details dd{margin-left:0}.tax-inbox .tax-drop{display:flex}
/* Compact goals and the household landing page. */
.featured-goal{padding:20px 24px}.featured-goal h2{margin:10px 0 8px;font-size:25px}.featured-goal .goal-target{font-size:46px}.featured-goal .goal-target span{font-size:26px}.featured-goal .goal-current{margin-top:16px}.featured-goal .goal-chart{height:96px;margin:0}.featured-goal .goal-description{margin-top:14px;padding-top:12px;font-size:13px}.featured-goal .sub{margin:6px 0}.featured-goal details{margin-top:12px}.resolutions .coming-soon{border:0;background:transparent;padding:0}.dashboard-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:36px}.dashboard-cards{display:grid;grid-template-columns:1fr 1fr;gap:16px}.dashboard-card{display:flex!important;flex-direction:column!important;align-items:flex-start!important;text-align:left;padding:23px!important;background:#fff!important;border:1px solid #ddd!important;gap:12px!important;height:auto!important}.dashboard-card>svg{width:22px;height:22px}.dashboard-card>span{font-size:12px}.dashboard-card>strong{font-size:29px;font-weight:400;letter-spacing:-1px;line-height:1.2}.dashboard-card small{color:#666;font-size:11px}.dashboard-card:hover{border-color:#777!important}.dashboard-assistant{background:#fafafa;padding:32px;border:1px solid #e5e5e5;align-self:start}.dashboard-assistant h2{font-family:Georgia,serif;font-weight:400;font-size:34px;line-height:1.25;margin:30px 0 18px}.dashboard-assistant form{border:1px solid #ccc;border-radius:20px;padding:16px;background:white;margin:25px 0 10px}.dashboard-assistant textarea{width:100%;border:0;background:none;min-height:100px;font-size:16px;resize:vertical;padding:0}.dashboard-assistant form button{margin-left:auto;display:flex;border:0;border-radius:24px;background:#171717;color:white;font-size:12px}.mobile-crest-home{border:0!important;padding:0!important;background:transparent!important}.mobile-crest-home img{height:44px;width:auto}.historical-document{border-bottom:1px solid #eee;padding:12px 0}.historical-document button{font-size:11px;float:right;margin-left:10px}.historical-document a{font-size:12px}
.chat-modern{transform:translateX(105%);transition:transform 230ms cubic-bezier(.22,.7,.3,1);will-change:transform;box-shadow:-10px 0 40px #0000000d}.chat-modern.is-open{transform:translateX(0)}.chat-modern.is-closing{transform:translateX(105%);pointer-events:none}.chat-modern .chat-log{padding:12px 2px;margin:8px 0 20px}.chat-modern .chat-welcome{font-family:Georgia,serif;font-size:26px;line-height:1.5}.chat-modern .chat-bubble{font-size:14px;line-height:1.65;margin-bottom:18px}.chat-modern .chat-bubble.user{border-radius:18px;background:#f1f1f1;padding:12px 16px;margin-left:28px}.chat-modern .chat-bubble.assistant{border:0;background:white;padding:10px 0;margin-right:10px}.chat-modern form{display:block!important;margin:0 0 12px!important}.chat-composer{border:1px solid #ccc;border-radius:22px;padding:14px;background:#fafafa}.chat-modern .chat-composer textarea{border:0!important;outline:none!important;background:transparent!important;box-shadow:none!important;width:100%;min-height:70px;height:84px;max-height:180px;padding:0!important;font-size:16px!important}.chat-composer-bottom{display:flex;gap:10px;align-items:center;justify-content:space-between;margin-top:6px}.chat-upload{position:relative;display:flex;width:38px;height:38px;overflow:hidden;margin:0;align-items:center;justify-content:center;flex-shrink:0}.chat-upload svg{width:22px;height:22px}.chat-upload input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}.chat-modern .chat-send{border-radius:50%!important;width:38px!important;min-height:38px!important;height:38px!important;padding:9px!important;background:#191919!important;color:white!important;border:0!important;flex-shrink:0}.chat-send svg{transform:rotate(-90deg)}#chat-attachment-name{font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.chat-modern form .login-error{margin-top:10px}.chat-modern>small.sub{font-size:10px;color:#777}.chat-modern .eyebrow{font-size:10px;letter-spacing:1.5px}.chat-modern .section-head{margin-bottom:5px}.chat-modern h2{font-family:Georgia,serif;font-weight:400}
@media(max-width:1000px){.dashboard-grid{grid-template-columns:1fr}.dashboard-assistant{max-width:none}.dashboard-assistant h2{margin-top:18px}.dashboard-cards{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.dashboard-cards{grid-template-columns:1fr 1fr;gap:12px}.dashboard-card{padding:18px!important}.dashboard-card strong{font-size:25px}.dashboard-assistant{padding:24px}.dashboard-assistant h2{font-size:29px}.featured-goal{padding:18px 20px}.featured-goal .goal-chart{height:88px}.chat-modern{padding:18px 16px max(14px,env(safe-area-inset-bottom))}.chat-modern .chat-welcome{font-size:24px}}
@media(prefers-reduced-motion:reduce){.chat-modern{transition:none}}

/* Page-only waiting state; the navigation and assistant stay usable. */
.page-loading-content{filter:blur(4px);opacity:.45;pointer-events:none;user-select:none}
.page-loading-overlay{position:fixed;right:0;bottom:0;z-index:20;display:grid;place-items:center;background:rgba(255,255,255,.36);animation:loader-appear .16s ease-out}
.page-loading-overlay img{width:clamp(200px,28vw,320px);height:auto;max-height:65dvh;object-fit:contain}
.page-is-loading .casita-icon{z-index:21}
@keyframes loader-appear{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.page-loading-overlay{animation:none}}

/* Quiet, centered family entrance. */
.landing{min-height:100svh;display:grid;place-items:center;padding:48px 20px 72px;background:#fff;position:relative}.crest-entry{display:block;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;border-radius:16px;line-height:0;transition:opacity .2s}.crest-entry:hover{opacity:.88}.crest-entry .crest-animation,.crest-entry .crest-static{width:min(442px,90vw);height:auto;margin:0;display:block;pointer-events:none}.crest-entry .crest-static{display:none}.entrance-footer{position:absolute;bottom:22px;left:0;right:0;display:flex;justify-content:center;gap:12px;font-size:10px;letter-spacing:.5px;color:#737373}.entrance-footer a{color:inherit;text-decoration:none}.entrance-footer a:hover{text-decoration:underline}.login-modal{width:min(780px,calc(100vw - 32px));max-width:780px;padding:0!important;border-radius:24px!important;overflow:auto;background:#fff}.login-layout{display:grid;grid-template-columns:1.2fr 1fr}.login-form-panel{padding:48px 32px 28px}.login-modal .login-heading h2{font:normal 33px Georgia,serif;letter-spacing:-1px;margin:16px 0 12px}.login-modal input{border-radius:10px;min-height:48px;background:#fafafa;color:#111}.login-modal .actions button{border-radius:9px}.login-modal .login-heading{margin-bottom:30px}.login-art{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;background:#f5f5f3;border-left:1px solid #e5e5e2}.login-art img{width:100%;max-width:235px;mix-blend-mode:normal}.login-art>span{font:28px Georgia,serif;letter-spacing:9px;margin:26px 0 12px}.login-art p{font:italic 13px Georgia,serif;color:#626262}.login-security{display:flex;gap:10px;align-items:center;font-size:10px;line-height:1.6;color:#606060;margin:24px 0 0}.login-security svg{width:22px;height:22px;flex-shrink:0}.policy{max-width:720px;margin:70px auto;padding:0 24px 70px;line-height:1.8;color:#292929}.policy h1{font:36px Georgia,serif}.policy h2{font:24px Georgia,serif;margin:32px 0 12px}.policy a{color:#222}.policy .eyebrow{display:block;margin-bottom:20px}.policy p,.policy li{font-size:14px}
@media(max-width:700px){.crest-entry .crest-animation,.crest-entry .crest-static{width:min(400px,90vw)}.login-layout{display:block}.login-art{display:none}.login-form-panel{padding:42px 24px 24px}.login-modal .login-heading h2{font-size:31px}}
@media(prefers-reduced-motion:reduce){.crest-entry .crest-animation{display:none}.crest-entry .crest-static{display:block}}

.login-art .family-motto{font-family:Arial,Helvetica,sans-serif;font-size:16px;font-style:normal;line-height:1.6;text-align:center;color:#252525;margin:28px -10px 0}.login-modal .login-heading h2{margin-top:0}
@media(max-width:700px){.login-art{display:flex;flex-direction:row;gap:16px;padding:18px 24px;border-left:0;border-top:1px solid #e5e5e2}.login-art img{width:74px;flex-shrink:0}.login-art .family-motto{font-size:14px;margin:0;flex:1}.login-form-panel{padding-top:38px}}
/* Casita: one quiet composer, readable conversation, consistent desktop/mobile rhythm. */
.dashboard-assistant{background:#fcfcfc;border:1px solid #e8e8e8;border-radius:16px;padding:28px;min-width:0}.dashboard-assistant h2{font-size:32px;letter-spacing:-.8px;margin:28px 0 14px;line-height:1.23}.dashboard-assistant .sub{font-size:14px;max-width:340px}.dashboard-assistant #dashboard-chat{padding:16px;border:1px solid #d9d9d9;border-radius:20px;margin:24px 0 12px;transition:border-color .15s,box-shadow .15s}.dashboard-assistant #dashboard-chat:focus-within,.chat-modern .chat-composer:focus-within{border-color:#888;box-shadow:0 0 0 3px #00000005}.dashboard-assistant #dashboard-message{display:block;border:0!important;outline:0!important;box-shadow:none!important;border-radius:0;background:transparent;min-height:64px;height:64px;max-height:150px;resize:none;font:16px/1.5 Arial,sans-serif;padding:0;margin:0 0 10px}.dashboard-assistant #dashboard-chat button{min-height:40px;padding:10px 16px;font-size:12px;gap:10px}.dashboard-assistant>.text-button{font-size:12px;color:#606060;padding-left:0}
.chat-modern{width:min(480px,100vw);background:#fff;border-color:#e5e5e5;padding:24px;transition:transform 230ms cubic-bezier(.22,.7,.3,1)}.chat-modern h2{font-size:29px;line-height:1.2;margin:5px 0}.chat-modern .section-head{align-items:center}.chat-modern [data-action="close-assistant"]{border:0;border-radius:50%;color:#333;background:transparent}.chat-modern [data-action="close-assistant"]:hover{background:#f3f3f3}.chat-modern .chat-log{min-height:0;flex:1;overscroll-behavior:contain;padding:16px 0;margin:6px 0 16px}.chat-modern .chat-bubble{font:14px/1.7 Arial,sans-serif;letter-spacing:0}.chat-modern .chat-bubble.user{background:#f4f4f4;border:0;border-radius:18px 18px 4px 18px;margin-left:36px;padding:12px 16px}.chat-modern .chat-bubble.assistant{padding:4px 0;margin-right:0;color:#242424}.chat-bubble a{color:#222;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}.chat-modern .chat-welcome{font:25px/1.45 Georgia,serif;color:#252525;margin:24px 0}.chat-modern .chat-composer{padding:14px;border-radius:20px;background:#fff;border-color:#d9d9d9}.chat-modern .chat-composer textarea{min-height:48px;height:48px;max-height:150px;line-height:1.5!important}.chat-modern .chat-composer-bottom{margin-top:8px}.chat-modern .chat-send:disabled{opacity:.3;cursor:default}.chat-modern>small.sub{color:#6b6b6b;font-size:10px;text-align:center}.chat-thinking{font-size:12px;color:#666;padding:12px 0;animation:casita-pulse 1.5s ease-in-out infinite}.chat-upload{color:#333}.chat-upload:focus-within{outline:2px solid #555;border-radius:50%}@keyframes casita-pulse{50%{opacity:.45}}
@media(max-width:700px){.chat-modern{width:100%;padding:16px 18px max(12px,env(safe-area-inset-bottom))}.chat-modern .chat-bubble{font-size:15px}.chat-modern .chat-welcome{font-size:24px}.dashboard-assistant{padding:22px}.dashboard-assistant h2{font-size:29px}.chat-modern.keyboard-open>small.sub{display:none}}
@media(prefers-reduced-motion:reduce){.chat-modern{transition:none}.chat-thinking{animation:none}}
