:root{--bg:#f5f6fa;--paper:#fff;--ink:#17213a;--muted:#7f889b;--line:#e8ebf2;--navy:#141c32;--navy2:#1c2744;--violet:#746af5;--violet-dark:#6256db;--softviolet:#f0edff;--teal:#19aa9b;--mint:#e5f8f2;--amber:#ecaa65;--pink:#ee86aa;--danger:#d95869;--radius:20px;--shadow:0 10px 30px rgba(21,30,60,.035);font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--bg);font-family:Inter,'Aptos','Segoe UI',system-ui,-apple-system,sans-serif;font-size:14px;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(116,106,245,.25);outline-offset:2px}.app-shell{display:flex;min-height:100vh}.sidebar{width:244px;flex:0 0 244px;background:var(--navy);color:#f4f5fb;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:32px 17px 20px;z-index:7}.brand-wrap{display:flex;align-items:center;gap:11px;padding:0 12px 42px}.brand-logo{display:grid;place-items:center;width:35px;height:35px;border-radius:11px;background:linear-gradient(135deg,#aaa3ff,#6c62f2);box-shadow:0 7px 22px rgba(99,91,239,.35)}.brand-logo svg{width:23px;height:23px}.brand-name{font-size:22px;font-weight:850;letter-spacing:3.3px;line-height:1}.brand-sub{color:#8f9bb3;font-size:10px;letter-spacing:1.6px;text-transform:uppercase;padding-top:6px}.side-label{color:#7e8ba9;text-transform:uppercase;font-size:10px;letter-spacing:1.7px;font-weight:750;padding:8px 13px 10px}.side-nav{display:flex;flex-direction:column;gap:5px}.nav-btn{color:#98a5be;background:transparent;border:0;display:flex;align-items:center;gap:13px;width:100%;text-align:left;border-radius:11px;padding:12px 13px;font-size:13px;font-weight:600;transition:all .15s}.nav-btn svg{height:17px;width:17px;stroke-width:1.8}.nav-btn:hover{background:#232f4c;color:#f8f9fc}.nav-btn.active{background:#313758;color:white;box-shadow:inset 3px 0 0 #8e89ff}.nav-btn.active svg{color:#b2b0ff}.nav-secondary{margin-top:20px}.sidebar-spacer{flex:1}.side-bottom{padding:15px 11px 3px;border-top:1px solid #303951}.offline-label{display:flex;gap:8px;align-items:center;font-size:11px;color:#aab5c8}.status-dot{width:7px;height:7px;background:#5be1ae;border-radius:99px;box-shadow:0 0 0 3px rgba(91,225,174,.1)}.small-note{color:#8290aa;font-size:11px;line-height:1.7;margin-top:11px}.main-panel{flex:1;min-width:0}.topbar{height:85px;background:#fff;border-bottom:1px solid #eef0f5;padding:0 48px;display:flex;align-items:center;justify-content:space-between;gap:15px}.topbar-left{display:flex;align-items:center;gap:12px;color:#8d94a7;font-size:12px}.topbar-left strong{color:#29324b;font-weight:750}.tiny-circle{width:4px;height:4px;border-radius:50%;background:#c4cad7}.topbar-actions{display:flex;align-items:center;gap:10px}.date-pill,.topbar-demo{display:flex;gap:7px;align-items:center;font-size:12px;font-weight:650;color:#65718e;border:1px solid #e9ebf2;border-radius:10px;padding:10px 13px;background:#fbfbfe}.topbar-demo{border:0;background:#f3edff;color:#7663ce}.topbar-demo.live{background:#e7faf4;color:#159477}.btn{border:1px solid transparent;border-radius:10px;padding:11px 16px;font-size:12px;font-weight:750;display:inline-flex;align-items:center;justify-content:center;gap:9px;white-space:nowrap;transition:.15s;line-height:1.3}.btn svg{width:16px;height:16px}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--violet);color:white;box-shadow:0 7px 18px rgba(112,106,245,.19)}.btn-primary:hover{background:var(--violet-dark)}.btn-soft{background:var(--softviolet);color:var(--violet);border-color:transparent}.btn-soft:hover{background:#e8e3ff}.btn-plain{border-color:#e6e9f0;background:white;color:#4b5673}.btn-plain:hover{background:#f8f9ff}.btn-danger{background:#fff0f2;color:#c84963}.btn-sm{padding:8px 11px;font-size:11px}.btn-icon{width:33px;height:33px;border-radius:9px;padding:0;display:grid;place-items:center;border:1px solid #e7e9f1;background:white;color:#8390a6}.btn-icon:hover{color:var(--violet);background:var(--softviolet)}.content{padding:32px 48px 70px;max-width:1660px;margin:auto}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:24px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:800;color:var(--violet);text-transform:uppercase;margin-bottom:10px}.page-head h1{margin:0;color:var(--ink);font-size:31px;line-height:1.18;letter-spacing:-1.2px;font-weight:800}.page-head p{margin:10px 0 0;font-size:13px;color:var(--muted);line-height:1.6}.page-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.grid{display:grid;gap:19px}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-8-4{grid-template-columns:minmax(0,2fr) minmax(290px,1fr)}.grid-7-5{grid-template-columns:minmax(0,1.3fr) minmax(330px,1fr)}.card{background:var(--paper);border:1px solid #ebedf3;border-radius:var(--radius);box-shadow:var(--shadow);padding:23px;min-width:0}.card-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:20px}.card-heading h2{font-size:15px;font-weight:800;margin:0;letter-spacing:-.25px}.card-heading p{color:var(--muted);font-size:11.5px;margin:6px 0 0}.card-link{color:var(--violet);font-size:11px;font-weight:750;border:0;background:transparent;padding:3px 0}.muted{color:var(--muted)}.text-positive{color:#149780!important}.text-negative{color:#ce556c!important}.pill{font-size:10px;display:inline-flex;align-items:center;gap:6px;font-weight:800;border-radius:99px;padding:6px 9px;background:#f1f2f6;color:#64708b;white-space:nowrap}.pill.good{color:#158c73;background:#e6f7f0}.pill.bad{color:#c5556a;background:#fff0f2}.pill.purple{color:#6554cf;background:#eeebff}.pill svg{width:12px;height:12px}.section-gap{margin-top:20px}.hero{padding:27px 31px;display:flex;justify-content:space-between;gap:20px;align-items:center;border-radius:22px;background:radial-gradient(circle at 84% 30%, rgba(143,128,246,.56) 0,transparent 31%),linear-gradient(115deg,#202a51 0%,#333c78 60%,#494bab 100%);color:#fff;min-height:200px;position:relative;overflow:hidden;margin-bottom:20px}.hero:after{content:'';position:absolute;width:430px;height:430px;border:1px solid rgba(255,255,255,.12);border-radius:50%;right:-115px;top:-172px}.hero:before{content:'';position:absolute;width:300px;height:300px;border:1px solid rgba(255,255,255,.13);border-radius:50%;right:-56px;top:-106px}.hero-copy{z-index:1;max-width:560px}.hero-overline{font-size:10px;text-transform:uppercase;letter-spacing:2px;font-weight:800;color:#bab7ff;margin-bottom:13px}.hero h2{font-size:29px;line-height:1.16;letter-spacing:-.6px;font-weight:800;margin:0}.hero p{margin:12px 0 20px;color:#d6daf6;font-size:12px;line-height:1.65;max-width:470px}.hero .btn{color:#383484;background:white}.hero-art{z-index:1;flex:0 0 230px;display:flex;align-items:center;justify-content:center}.hero-orbit{width:172px;height:172px;border:1px solid rgba(255,255,255,.36);border-radius:50%;display:grid;place-items:center;position:relative;background:radial-gradient(circle,rgba(204,202,255,.15),transparent 64%)}.hero-orbit:before{content:'';position:absolute;border:1px solid rgba(255,255,255,.31);width:112px;height:112px;border-radius:50%}.hero-orbit:after{content:'';position:absolute;width:14px;height:14px;border-radius:50%;background:#bef7c5;box-shadow:0 0 30px #b4fcca;top:26px;left:18px}.hero-num{font-size:24px;font-weight:800;letter-spacing:-1.2px}.hero-mini{color:#c7c7fc;font-size:10px;text-transform:uppercase;letter-spacing:1.1px;text-align:center;margin-top:6px}.stat-card{padding:19px 21px 17px;min-height:160px}.stat-top{display:flex;align-items:center;justify-content:space-between}.stat-label{font-size:11px;color:#818ba0;font-weight:650}.stat-icon{width:33px;height:33px;background:#f1effe;border-radius:10px;display:grid;place-items:center;color:#796ef4}.stat-icon.green{background:#e6f8f1;color:#1baa90}.stat-icon.orange{background:#fff5e8;color:#e29b54}.stat-icon.pink{background:#fdf0f4;color:#e9789e}.stat-icon svg{width:17px;height:17px}.stat-number{font-size:25px;font-weight:850;letter-spacing:-.9px;margin-top:14px;white-space:nowrap}.stat-footer{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:8px;color:#8992a4;font-size:10.5px}.stat-footer .pill{padding:4px 7px;font-size:10px}.chart-canvas{width:100%;display:block;overflow:visible}.chart-canvas text{font-family:inherit;fill:#9aa2b2;font-size:11px}.legend-row{display:flex;gap:17px;align-items:center;flex-wrap:wrap}.legend-item{color:#8b93a6;font-size:11px;display:inline-flex;align-items:center;gap:7px}.legend-dot{height:8px;width:8px;border-radius:50%;background:var(--violet)}.legend-dot.outline{background:white;border:2px solid #93bfba}.chart-label{font-size:11px;fill:#9ca5b7}.donut-layout{display:flex;justify-content:center;align-items:center;margin-bottom:10px}.donut-svg{max-width:200px;width:83%}.donut-legend{display:flex;flex-direction:column;gap:12px;padding:5px 3px 0}.donut-line{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11px}.donut-line .left{display:flex;gap:9px;align-items:center;color:#7c879b}.donut-line strong{font-weight:800;font-size:11px}.analytic-list{display:flex;flex-direction:column;gap:13px}.insight{display:flex;gap:12px;padding:11px 12px;background:#f9faff;border:1px solid #f0f1f7;border-radius:12px}.insight-icon{width:29px;height:29px;flex:0 0 29px;border-radius:9px;background:#eceaff;display:grid;place-items:center;color:var(--violet)}.insight-icon svg{width:15px;height:15px}.insight-title{font-size:11.5px;font-weight:800;line-height:1.5}.insight-desc{font-size:11px;color:#7c879e;margin-top:3px;line-height:1.5}.table-wrap{overflow:auto;max-width:100%;border:1px solid #e9edf4;border-radius:13px}.data-table{width:100%;border-collapse:collapse;text-align:left;font-size:11.5px;white-space:nowrap}.data-table th{background:#f9faff;font-weight:750;font-size:10px;color:#9099ad;letter-spacing:.1px;padding:13px 15px;border-bottom:1px solid #e9edf4}.data-table td{padding:13px 15px;border-top:1px solid #f0f2f7;color:#56617a}.data-table td strong{font-weight:800;color:#273047}.data-table tbody tr:hover{background:#fcfcff}.data-table td.num,.data-table th.num{text-align:right;font-variant-numeric:tabular-nums}.data-table tfoot td{font-weight:850;color:#202a45;background:#f6f7fc}.row-dot{width:7px;height:7px;border-radius:50%;display:inline-block;margin-right:8px}.data-table .row-action{display:flex;justify-content:flex-end;gap:6px}.data-table .micro-input{max-width:105px;padding:6px 8px;border:1px solid #e6e9f1;border-radius:7px;text-align:right;color:#2f3954;background:white}.form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.form-field{display:flex;flex-direction:column;gap:8px;min-width:0}.form-label{font-size:11px;font-weight:750;color:#52617b}.form-help{font-size:10px;line-height:1.4;color:#97a0b2}.field-input,.field-select,.field-textarea{width:100%;background:#fff;border:1px solid #e6e9f1;border-radius:10px;padding:11px 12px;color:#273049;min-width:0;font-size:12px;font-variant-numeric:tabular-nums;transition:.15s}.field-input:hover,.field-select:hover{border-color:#c8cbeb}.field-input:focus,.field-select:focus,.field-textarea:focus{border-color:#a49bf7;outline:3px solid #f0edff}.field-textarea{resize:vertical;min-height:70px}.field-box{position:relative}.input-suffix{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:#a0a7b8;font-size:12px;pointer-events:none}.has-suffix{padding-right:30px}.card-footnote{font-size:10.5px;line-height:1.65;color:#939bad;margin-top:15px}.segmented{display:inline-flex;background:#eeeff6;border-radius:10px;padding:4px;gap:3px;flex-wrap:wrap}.segmented button{border:0;background:transparent;color:#7c869e;font-size:11px;font-weight:800;border-radius:7px;padding:9px 15px}.segmented button.active{background:white;color:#514fc5;box-shadow:0 2px 5px #1119300c}.tabs-row{margin-bottom:20px;display:flex;align-items:center;justify-content:space-between;gap:14px}.list-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.list-heading h2{margin:0;font-weight:800;font-size:16px}.list-heading p{font-size:11px;color:var(--muted);margin:5px 0 0}.wealth-composition{display:flex;height:13px;border-radius:20px;overflow:hidden;background:#eef0f6;margin:17px 0 13px}.asset-mini{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.asset-mini-label{font-size:10px;color:#8b96a8;display:flex;gap:7px;align-items:center}.asset-mini strong{display:block;margin-top:7px;font-size:14px}.mini-color{width:7px;height:7px;display:inline-block;border-radius:50%}.metric-box{border:1px solid #ebeef5;border-radius:13px;padding:17px;background:#fdfdff}.metric-box h3{font-size:11px;color:#8a93a5;margin:0 0 7px;font-weight:750}.metric-box strong{font-size:19px;letter-spacing:-.5px}.metric-box p{color:#96a0af;font-size:10px;margin:6px 0 0}.method-note{border-radius:13px;background:#f3f1ff;padding:13px 16px;color:#67608b;font-size:11px;line-height:1.65;border:1px solid #ebe7ff;display:flex;gap:10px}.method-note svg{height:17px;width:17px;flex:0 0 17px;color:#7669e6}.goal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.goal-card{border:1px solid #eaecf3;border-radius:18px;background:white;padding:23px;box-shadow:var(--shadow)}.goal-symbol{height:40px;width:40px;background:#f0edff;color:#6d62df;border-radius:12px;display:grid;place-items:center}.goal-symbol svg{height:19px;width:19px}.goal-card-head{display:flex;justify-content:space-between;align-items:center;gap:15px}.goal-card h3{margin:20px 0 7px;font-size:15px;font-weight:800}.goal-meta{color:#8e97a8;font-size:11px}.goal-target{font-size:25px;font-weight:850;letter-spacing:-.8px;margin:19px 0 2px}.progress-bar{height:8px;background:#efeff8;border-radius:99px;overflow:hidden;margin:16px 0 11px}.progress-bar span{display:block;height:100%;background:linear-gradient(90deg,#8980fe,#74d9be);border-radius:99px}.goal-row{display:flex;justify-content:space-between;gap:8px;font-size:11px;color:#8590a3}.goal-row strong{color:#26334f}.goal-card-bottom{margin-top:21px;padding-top:17px;border-top:1px solid #f0f1f5;display:flex;align-items:center;justify-content:space-between;gap:8px}.empty{padding:34px;text-align:center;color:#9199ad;font-size:12px}.empty-icon{width:48px;height:48px;border-radius:16px;background:#f3f1ff;color:#7a72eb;display:grid;place-items:center;margin:0 auto 12px}.empty-icon svg{height:24px;width:24px}.empty strong{display:block;font-size:15px;color:#27334e;margin-bottom:6px}.actual-topline{display:flex;align-items:center;gap:10px}.actual-topline .field-select{width:190px}.actual-summary{display:flex;gap:13px;flex-wrap:wrap;margin:18px 0}.actual-summary>div{background:#f7f8fd;border-radius:12px;padding:12px 15px;flex:1;min-width:155px}.actual-summary .act-label{color:#8c96a8;font-size:10px}.actual-summary strong{font-size:19px;letter-spacing:-.4px;display:block;margin-top:6px}.entry-row{display:grid;grid-template-columns:minmax(150px,1fr) 130px 150px;gap:15px;align-items:center;padding:11px 0;border-bottom:1px solid #f0f2f7}.entry-row:last-child{border-bottom:0}.entry-name{font-size:12px;font-weight:650;color:#34405a}.entry-meta{font-size:10px;color:#9ba4b4;margin-top:4px}.entry-planned{text-align:right;font-size:12px;color:#9aa2b2;font-variant-numeric:tabular-nums}.entry-actual .field-input{text-align:right;padding:9px 10px}.entry-head{font-size:10px;font-weight:800;color:#9ca6b6;text-transform:uppercase;letter-spacing:.5px}.entry-divider{margin:21px 0 10px;font-size:11px;font-weight:850;color:#7b8499;text-transform:uppercase;letter-spacing:1px}.act-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.act-input-card{padding:21px}.snapshot-card{margin-top:20px;border-top:1px solid #edf0f5;padding-top:19px}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:23px}.variance-row{display:grid;grid-template-columns:155px 1fr 105px;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid #f1f2f5}.variance-label{font-size:11px;color:#58627a}.variance-track{height:8px;border-radius:8px;background:#eef0f5;overflow:hidden;position:relative}.variance-track span{height:100%;position:absolute;left:0;border-radius:8px;background:#7a6ff5}.variance-val{text-align:right;font-size:11px;font-weight:750}.divider{height:1px;background:#f0f1f5;margin:18px 0}.toast-host{position:fixed;z-index:50;right:24px;bottom:24px;display:flex;flex-direction:column;gap:10px;pointer-events:none}.toast{background:#1e2845;color:white;box-shadow:0 13px 34px #121c3640;display:flex;align-items:center;gap:11px;border-radius:11px;padding:13px 16px;min-width:240px;font-size:12px;animation:slideIn .22s ease}.toast svg{color:#68e0ad;width:18px;height:18px}.modal-layer{position:fixed;inset:0;background:rgba(16,24,46,.55);backdrop-filter:blur(6px);z-index:40;display:flex;align-items:center;justify-content:center;padding:18px}.modal{width:min(520px,100%);background:white;border-radius:21px;box-shadow:0 28px 95px rgba(4,10,32,.26);padding:25px;max-height:93vh;overflow:auto;animation:modalIn .18s ease}.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:21px}.modal-head h2{font-size:20px;letter-spacing:-.4px;margin:0}.modal .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.span-2{grid-column:1/-1}.modal-help{color:#8b95aa;font-size:11px;line-height:1.6;background:#f7f8fd;padding:12px 14px;border-radius:10px}.upload-card{border:1px dashed #c9ccef;border-radius:15px;padding:27px;text-align:center;background:#faf9ff}.upload-card svg{width:30px;height:30px;color:#8278eb;margin-bottom:8px}.upload-card p{font-size:11px;color:#99a2b3}.data-action-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.action-card{border:1px solid #eceef3;background:white;border-radius:16px;padding:21px}.action-card .stat-icon{margin-bottom:16px}.action-card h3{font-size:14px;margin:0 0 7px}.action-card p{font-size:11px;color:#8e96a8;line-height:1.6;min-height:54px}.action-card button{margin-top:15px}.warning-card{border:1px solid #ffe5e9;background:#fffafa;border-radius:16px;padding:22px}.warning-card h3{margin:0;font-size:14px}.warning-card p{font-size:11px;line-height:1.65;color:#936d77}.footer-note{text-align:center;font-size:10px;color:#a7afbd;margin-top:30px}.mobile-menu{display:none}.hide{display:none!important}input[type=number]{font-variant-numeric:tabular-nums}input::-webkit-inner-spin-button{opacity:.6}@keyframes slideIn{from{transform:translateY(10px);opacity:0}to{transform:none;opacity:1}}@keyframes modalIn{from{transform:translateY(13px) scale(.97);opacity:0}to{transform:none;opacity:1}}
@media(max-width:1420px){.content{padding:31px 30px 65px}.topbar{padding:0 30px}.sidebar{width:217px;flex-basis:217px}.grid-4{gap:13px}.stat-number{font-size:23px}}@media(max-width:1100px){.sidebar{width:75px;flex-basis:75px;padding:28px 13px}.brand-wrap{padding:0 6px 35px}.brand-name,.brand-sub,.side-label,.nav-btn span,.side-bottom,.nav-secondary .nav-btn span{display:none}.nav-btn{justify-content:center;padding:13px}.nav-btn svg{height:19px;width:19px}.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-8-4,.grid-7-5{grid-template-columns:1fr}.goal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.sidebar{position:fixed;bottom:0;top:auto;left:0;width:100%;height:66px;padding:5px 10px;background:#141c32;display:block;z-index:10}.brand-wrap,.side-label,.sidebar-spacer,.side-bottom,.nav-secondary{display:none}.side-nav{display:flex;flex-direction:row;justify-content:space-around}.nav-btn{width:auto;flex:1;padding:9px 3px;flex-direction:column;gap:3px;border-radius:8px;font-size:9px}.nav-btn span{display:block;text-align:center;font-size:9px}.nav-btn svg{height:17px;width:17px}.nav-btn.active{box-shadow:none;background:#333f64}.topbar{height:62px;padding:0 18px}.topbar-left{font-size:11px}.topbar-actions{gap:5px}.date-pill{display:none}.topbar-demo{padding:7px;font-size:10px}.topbar-actions .btn{padding:9px;font-size:10px}.topbar-actions .btn-plain{display:none}.content{padding:23px 17px 95px}.page-head{flex-direction:column;gap:15px;margin-bottom:19px}.page-head h1{font-size:26px}.hero{padding:22px;min-height:180px}.hero h2{font-size:23px}.hero-art{display:none}.grid-2,.grid-3,.grid-4,.goal-grid,.act-grid,.form-grid,.form-grid.two,.data-action-grid{grid-template-columns:1fr}.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-card{padding:15px;min-height:140px}.stat-number{font-size:21px}.stat-label{font-size:10px}.card{padding:18px}.tabs-row{flex-direction:column;align-items:stretch}.segmented{width:100%}.segmented button{flex:1;padding:10px 6px}.entry-row{grid-template-columns:minmax(100px,1fr) 85px 100px;gap:7px}.entry-name{font-size:10px}.entry-planned{font-size:11px}.entry-actual .field-input{padding:8px 5px;font-size:11px}.asset-mini{grid-template-columns:repeat(2,1fr)}.modal{padding:19px}.goal-card{padding:18px}}

/* TENZOA v2 | Investment Studio + running transaction ledger */
.feature-mini{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:9px}
.feature-mini>div{background:#f7f8fc;border:1px solid #eef0f6;border-radius:14px;padding:18px 16px;display:flex;flex-direction:column;gap:9px}
.feature-mini span{font-size:11px;color:#7b849b}
.feature-mini strong{font-size:23px;letter-spacing:-.7px;color:#18233e}
.investment-table{min-width:900px}
.investment-table td{vertical-align:middle}
.asset-name{display:flex;align-items:center;gap:11px;min-width:220px}
.asset-bullet{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:#eeedff;color:#746af5;flex:0 0 38px}
.asset-bullet svg{width:18px;height:18px}
.asset-name strong{font-size:12px;line-height:1.3}
.asset-sub{display:block;color:#8c93a5;font-size:10px;line-height:1.5;margin-top:5px;font-weight:450;white-space:normal}
.market-connect{display:flex;gap:14px;background:linear-gradient(115deg,#f7f6ff,#f6fafb);padding:18px;border:1px solid #eceafa;border-radius:16px}
.market-connect .market-mark{width:43px;height:43px;flex:0 0 43px;display:grid;place-items:center;background:#fff;border-radius:13px;color:#7368e9;box-shadow:0 4px 14px rgba(116,106,245,.07)}
.market-mark svg{width:20px;height:20px}
.market-connect strong{font-size:13px}
.market-connect p{margin:7px 0 0;color:#737e93;font-size:11.5px;line-height:1.65}
.market-form{display:flex;gap:8px;margin-top:15px;align-items:center;flex-wrap:wrap}
.market-form .field-input{min-width:180px;flex:1;max-width:480px}
.market-message{margin-top:12px;color:#667187;font-size:11px;line-height:1.6}
.market-form .btn{white-space:nowrap}
.card-footnote a{color:#746af5;text-decoration:underline;text-underline-offset:2px}
.modal-wide{width:min(820px,calc(100vw - 26px));max-height:min(90vh,900px);overflow:auto}
.movement-form{display:block}
.movement-row{display:grid;grid-template-columns:1fr 1.55fr 1.7fr 1fr;gap:12px;align-items:start}
.movement-form .form-field{min-width:0}
.movement-form .field-input,.movement-form .field-select{width:100%;min-width:0}
.movement-extras{display:flex;align-items:end;gap:15px;margin-top:14px}
.movement-extras>.form-field{min-width:220px;max-width:350px}
.movement-extras>.form-help{margin-bottom:12px;max-width:300px}
.movement-form-bottom{display:flex;align-items:center;gap:14px;justify-content:space-between;margin-top:22px;padding-top:16px;border-top:1px solid #f0f1f5}
.movement-form-bottom .btn{white-space:nowrap}
.tabs-row.mini{margin:12px 0 20px}
.tabs-row.mini .segmented{background:#f3f4f9}
.actual-summary.actual-5{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border:1px solid #eff0f5;border-radius:15px;padding:19px 13px;gap:5px}
.actual-5>div{padding:4px 10px;display:flex;flex-direction:column;gap:7px;min-width:0}
.actual-5>div+div{border-left:1px solid #edf0f6}
.actual-5 strong{font-size:22px;letter-spacing:-.9px;line-height:1.1}
.actual-5 .act-label{font-size:10px;color:#7f8799}
.actual-5 small{color:#969eb0;font-size:10px}
.month-progress{display:flex;align-items:center;justify-content:space-between;gap:15px;background:#f7f7ff;border:1px solid #ecebfd;border-radius:13px;padding:13px 16px;margin-top:14px}
.month-progress>span{color:#69728a;font-size:11.5px;line-height:1.55;max-width:770px}
.month-progress button{white-space:nowrap}
.ledger-tag{display:inline-flex;align-items:center;font-size:10px;font-weight:650;padding:6px 10px;border-radius:20px;white-space:nowrap}
.ledger-tag.income{background:#e6f9f1;color:#168f72}
.ledger-tag.expense{background:#fff0f1;color:#cd657d}
.ledger-tag.invest{background:#efedff;color:#6559d7}
.text-purple{color:#6255d7}
.cluster-variance{margin:15px 0 19px}
.cluster-title{display:flex;justify-content:space-between;gap:10px;font-size:11px}
.cluster-title>span{display:flex;align-items:center;gap:8px;color:#657085}
.cluster-title strong{white-space:nowrap}
.cluster-track{width:100%;height:7px;background:#f0f1f6;border-radius:20px;margin:9px 0 7px;overflow:hidden}
.cluster-track span{display:block;height:100%;border-radius:20px;min-width:0}
.cluster-variance small{font-size:10px;color:#9aa3b2}
.card-heading .page-actions{gap:9px}
.muted{color:#8d94a8}
@media(max-width:1200px){.movement-row{grid-template-columns:repeat(2,minmax(0,1fr))}.actual-summary.actual-5{grid-template-columns:repeat(3,minmax(0,1fr))}.actual-5>div+div{border-left:0}}
@media(max-width:760px){.actual-summary.actual-5{grid-template-columns:repeat(2,minmax(0,1fr))}.actual-5 strong{font-size:19px}.movement-row{grid-template-columns:1fr}.movement-extras{flex-direction:column;align-items:stretch}.movement-extras>.form-field{max-width:none;min-width:0}.movement-form-bottom{flex-direction:column;align-items:stretch}.month-progress{flex-direction:column;align-items:stretch}.feature-mini{grid-template-columns:1fr}.feature-mini strong{font-size:20px}.market-form{align-items:stretch}.market-form .field-input{width:100%;flex-basis:100%}.nav-btn{min-width:0}.nav-btn span{font-size:8px}.side-nav{gap:0}}
/* TENZOA v3 — financial intelligence */
.side-nav{gap:3px}.sidebar{overflow-y:auto}.nav-btn{min-height:40px}
.control-strip{display:flex;align-items:center;justify-content:space-between;gap:22px;background:#fff;border:1px solid #eaeef5;border-radius:16px;padding:17px 21px;margin:0 0 22px;box-shadow:0 4px 22px rgba(36,43,74,.025)}
.control-strip>div{display:flex;align-items:flex-start;gap:8px;flex-direction:column}.control-strip>div:first-child>strong{font-size:13px;color:#2b3150}.control-strip .eyebrow{font-size:9px;color:#98a0ae;letter-spacing:1.2px}.control-strip .segmented{padding:3px;border-radius:11px}.pill-segment button{padding:9px 14px;font-size:11px}
.premium-kpi{min-height:145px;position:relative;padding:22px 20px;overflow:hidden}.premium-kpi .stat-label{display:block;margin:0 0 12px}.premium-number{font-size:27px;letter-spacing:-1.35px;font-weight:860;color:#202944;white-space:nowrap}.premium-sub{font-size:10.5px;color:#858da0;margin-top:10px;line-height:1.5}.premium-sub span{font-weight:750}.kpi-ico{position:absolute;right:16px;top:16px;height:35px;width:35px;border-radius:11px;display:grid;place-items:center;background:#eeedff;color:#6861e7}.kpi-ico.teal{color:#23a894;background:#e8f9f4}.kpi-ico.orange{color:#e6a255;background:#fff4e5}.kpi-ico.pink{color:#d87da5;background:#fff0f5}.kpi-ico svg{height:18px;width:18px}
.composition-track{height:18px;border-radius:18px;overflow:hidden;display:flex;width:100%;background:#eceef3;margin:9px 0 24px}.composition-track span{min-width:0}.asset-break-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 25px;margin:12px 0}.asset-break{display:grid;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:11px;font-size:11px;color:#737f97}.asset-break i{height:9px;width:9px;border-radius:3px}.asset-break strong{color:#2c3854;font-variant-numeric:tabular-nums}.flow-kpis{display:grid;grid-template-columns:1fr 1fr;gap:17px 14px}.flow-kpis>div{background:#f9faff;border:1px solid #f1f2f9;padding:12px 14px;border-radius:10px}.flow-kpis>div span{display:block;color:#8b95a8;font-size:10px}.flow-kpis>div strong{display:block;color:#28314e;font-size:18px;letter-spacing:-.65px;margin-top:6px}.chart-explain{color:#8b95a8;font-size:10.4px;line-height:1.6;margin-top:12px}.wealth-chart{max-height:370px}.flex-legends{display:flex;flex-wrap:wrap;gap:10px 16px;margin-top:12px}.flex-legends .legend-item{font-size:10px}.sankey-wrap{overflow-x:auto}.sankey-svg{width:100%;min-width:620px;max-height:500px}.sankey-svg text{font-family:inherit}.fy-table .total-row{background:#f2f4fc}.fy-table .total-row td{font-weight:760;color:#263453}.fy-table td:nth-child(n+2){white-space:nowrap}.mini-insight{padding:12px 16px;background:#fbf9f3;border-left:3px solid #e5ab62;color:#7b6660;border-radius:4px;font-size:11px;margin-top:14px}
.fund-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.fund-card{background:#fff;border:1px solid #ebedf5;border-radius:18px;padding:24px;box-shadow:0 4px 18px rgba(21,30,55,.035)}.fund-head{display:flex;align-items:center;justify-content:space-between}.fund-icon{height:43px;width:43px;display:grid;place-items:center;border-radius:13px}.fund-icon svg{width:23px;height:23px}.fund-card h3{margin:18px 0 6px;font-size:19px;letter-spacing:-.5px;color:#24324f}.fund-amount{font-size:27px;font-weight:870;letter-spacing:-1px;color:#252b4b;margin:21px 0 12px}.fund-amount span{font-size:14px;font-weight:550;color:#a0a7b5}.fund-stats{display:flex;justify-content:space-between;gap:14px;font-size:11px;color:#8490a0;margin:12px 0}.fund-stats strong{color:#303a55}.fund-card>.btn{margin-top:13px}.fund-rules{margin-top:14px;border-top:1px solid #eef0f5;padding-top:9px}.rule-row{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid #f3f5f8;color:#57647e;font-size:11px}.rule-row:last-child{border-bottom:0}.rule-row span{flex:1}.rule-row small{display:block;font-size:10px;color:#a1a9b7;margin-top:4px}.rule-row strong{white-space:nowrap;color:#2c3652}.rule-row .btn-icon{height:24px;width:24px;flex-shrink:0}.rule-row .btn-icon svg{width:13px}
.revision-chip{display:flex;align-items:center;width:max-content;border:1px solid #e1defb;background:#f6f5ff;border-radius:7px;padding:0 2px;margin:4px 0;color:#665ed2}.revision-chip button{border:0;background:transparent;cursor:pointer;color:inherit;font-size:10px;padding:5px}.revision-chip button.mini-delete{font-weight:bold;font-size:15px;padding:2px 5px;color:#9a82ac}.rule-change-preview{max-width:245px;max-height:120px;overflow-y:auto}.text-link{font-size:10px;color:#665ce0;border:0;background:transparent;display:inline-flex;align-items:center;gap:4px;cursor:pointer;margin-top:5px;padding:5px 0}.text-link svg{height:13px;width:13px}.stream-table td{vertical-align:top}.stream-table td:nth-child(7){min-width:160px}.subtotal-row{background:#f4f5fc}.subtotal-row td{font-weight:760!important;color:#46506b!important}.analysis-table td{white-space:nowrap}.line-dot{width:7px;height:7px;border-radius:3px;display:inline-block;margin-right:8px}.report-controls{flex-wrap:wrap}.report-controls .field-select{min-width:175px}.heatmap td:not(:first-child){font-variant-numeric:tabular-nums;font-size:10px;min-width:95px;text-align:right}.heatmap td:first-child{white-space:nowrap;font-weight:650}.heatmap th{min-width:96px}
.pnl-note{padding:12px 14px;color:#727b90;background:#f6f7fe;border-radius:10px;margin-bottom:16px;display:flex;gap:10px;font-size:11px;line-height:1.6}.pnl-note svg{width:19px;min-width:19px;height:19px;color:#635ae3}.pnl-scroll{overflow-x:auto;max-width:100%}.pnl-table{min-width:1720px;font-size:10.5px}.pnl-table .sticky-col{min-width:210px;width:210px;position:sticky;left:0;background:#fff;z-index:2;box-shadow:5px 0 8px rgba(39,49,78,.03)}.pnl-table thead .sticky-col{background:#1b2441;color:#fff;z-index:4}.pnl-table .total-row .sticky-col{background:#f1f3fb}.pnl-table tr.total-row{background:#f1f3fb;font-weight:750}.pnl-table td.month-closed{background:#f4fcf9}.pnl-table th:not(:first-child),.pnl-table td:not(:first-child){min-width:117px}.pnl-table .fy-total{background:#eeedff;font-weight:830}.pnl-table .group-line td{color:#6c778e}
@media(max-width:1300px){.asset-break-grid{grid-template-columns:1fr}.flow-kpis{grid-template-columns:1fr 1fr}.fund-grid{gap:12px}}
@media(max-width:1100px){.fund-grid{grid-template-columns:1fr}.sidebar{overflow-y:auto}}
@media(max-width:760px){.control-strip{flex-direction:column;align-items:stretch;gap:14px}.control-strip>div{width:100%}.control-strip .segmented{width:100%;overflow-x:auto}.control-strip .segmented button{flex:1;min-width:40px}.premium-number{font-size:22px}.flow-kpis{grid-template-columns:1fr 1fr}.fund-grid{grid-template-columns:1fr}.asset-break-grid{grid-template-columns:1fr}.sidebar{overflow-y:hidden}.side-nav{overflow-x:auto;justify-content:flex-start;scrollbar-width:none}.side-nav .nav-btn{min-width:68px;flex:0 0 68px;padding:6px 3px}.side-nav .nav-btn span{font-size:8px;line-height:1.15}.fy-table{min-width:790px}.wealth-chart{min-width:560px}.stream-table{min-width:1050px}}
/* Compact calendar glyph in the workspace toolbar. */
.date-pill svg{width:17px;height:17px;flex:0 0 17px}
/* Period-picker chips remain horizontal, not stacked as ordinary filter groups. */
.control-strip > .segmented{flex-direction:row;align-items:center;justify-content:flex-start;gap:3px;flex-wrap:nowrap}
@media(max-width:900px){.control-strip{flex-wrap:wrap}.control-strip > .segmented{overflow-x:auto;max-width:100%}}

/* TENZOA 3.1 - interactive net-worth values / linked project purchases */
.wealth-interactive{position:relative;min-width:0}
.wealth-chart-viewport{position:relative;width:100%;overflow:visible}
.wealth-total-label{font-family:Inter,'Segoe UI',system-ui,sans-serif!important;fill:#34365d!important;font-weight:850!important;font-size:12px!important;font-variant-numeric:tabular-nums;paint-order:stroke;stroke:#fff;stroke-width:5px;stroke-linejoin:round;pointer-events:none}
svg.wealth-chart{max-height:410px;cursor:crosshair}
svg.wealth-chart [data-wealth-part]{cursor:crosshair;transition:opacity .12s}
svg.wealth-chart [data-wealth-part]:hover{opacity:1}
.wealth-tooltip{visibility:hidden;opacity:0;position:absolute;z-index:5;min-width:240px;width:262px;max-width:calc(100% - 12px);pointer-events:none;padding:13px 14px;background:rgba(23,30,56,.97);color:#fff;border-radius:13px;box-shadow:0 12px 37px rgba(16,21,38,.27);transform:translateY(6px);transition:opacity .12s,transform .12s;font-size:11px}
.wealth-tooltip.is-visible{opacity:1;visibility:visible;transform:translateY(0)}
.wealth-tip-date{font-size:10px;color:#b8bdf5;font-weight:800;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}
.wealth-tip-main{display:flex;align-items:baseline;justify-content:space-between;gap:13px;margin-bottom:9px}
.wealth-tip-main span{color:#dadff3;font-size:11px}
.wealth-tip-main strong{font-size:16px;font-weight:850;white-space:nowrap}
.wealth-tip-component{display:flex;gap:8px;align-items:center;padding:10px 0;border-top:1px solid rgba(255,255,255,.15);font-size:11px;color:#fff}
.wealth-tip-component i{width:9px;height:9px;flex:0 0 9px;border-radius:3px}
.wealth-tip-component span{flex:1}
.wealth-tip-component strong{margin-left:auto;font-weight:850;white-space:nowrap}
.wealth-tip-budget{color:#b8c1da;font-size:10px;padding-top:4px}
.wealth-live-summary{display:grid;grid-template-columns:1fr 1.25fr 1fr 1fr;gap:12px;padding:14px 16px;border-radius:14px;border:1px solid #e6e9f4;background:#fafaff;margin-top:3px;align-items:center}
.wealth-live-summary>div{min-width:0;display:flex;flex-direction:column;gap:6px}
.wealth-live-summary>div>span{font-size:9px;font-weight:800;letter-spacing:1px;color:#7b87a2}
.wealth-live-summary>div>strong{font-size:14px;color:#2b3452;white-space:nowrap;font-variant-numeric:tabular-nums}
.wealth-live-summary>div>strong.wealth-summary-total{font-size:21px;color:#534ed0}
.wealth-breakdown-live{display:flex;flex-wrap:wrap;gap:7px 15px;margin-top:12px}
.wealth-piece{display:inline-flex;align-items:center;gap:5px;font-size:10px;color:#8e98aa;padding:5px 7px;border-radius:7px;transition:background .08s}
.wealth-piece i{width:8px;height:8px;border-radius:3px}
.wealth-piece strong{font-variant-numeric:tabular-nums;font-weight:800;color:#515e7a}
.wealth-piece.active{background:#edeaff;color:#39326f}
.wealth-piece.active strong{color:#524fc3}
.fund-card-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:13px}
.fund-card-actions .btn{flex:1;min-width:max-content}
.fund-stats .text-positive{font-weight:800}
@media(max-width:1250px){.wealth-live-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}}
@media(max-width:760px){.wealth-chart-viewport{overflow-x:auto}.wealth-chart-viewport .wealth-chart{min-width:560px}.wealth-live-summary{padding:12px;gap:13px}.wealth-live-summary>div>strong{font-size:12px}.wealth-live-summary>div>strong.wealth-summary-total{font-size:17px}}
/* TENZOA v4 - Statement Studio */
.bank-hero{background:linear-gradient(115deg,#191f40 0%,#2d315e 60%,#4f4288 100%);border-radius:22px;min-height:217px;padding:30px 35px;display:flex;justify-content:space-between;align-items:center;gap:20px;color:white;overflow:hidden;position:relative;box-shadow:0 14px 29px rgba(37,36,79,.13)}.bank-hero:before{content:"";position:absolute;width:310px;height:310px;right:-100px;top:-130px;border:1px solid rgba(255,255,255,.11);border-radius:50%;box-shadow:0 0 0 40px rgba(255,255,255,.03),0 0 0 90px rgba(255,255,255,.02)}.bank-hero>div{z-index:1}.bank-hero-eyebrow{font-weight:750;letter-spacing:1.6px;font-size:10px;color:#b3afff;margin-bottom:12px}.bank-hero h2{font-size:28px;line-height:1.22;letter-spacing:-.8px;margin:0}.bank-hero h2 span{color:#bfbaff}.bank-hero p{font-size:12px;max-width:575px;line-height:1.7;color:#c4c8df;margin:13px 0 18px}.bank-hero-tags{display:flex;gap:14px;flex-wrap:wrap}.bank-hero-tags span{display:inline-flex;align-items:center;gap:5px;font-size:10px;color:#e1defc}.bank-hero-tags svg{width:15px;height:15px;color:#82e1cf}.bank-hero-graphic{flex:0 0 210px;display:grid;grid-template-columns:55px 50px 55px;align-items:center;justify-content:center;justify-items:center;padding:20px;gap:3px}.bank-graphic-icon{width:57px;height:57px;border:1px solid #8085af;background:#313c66;border-radius:17px;display:flex;align-items:center;justify-content:center}.bank-graphic-icon svg{height:27px;width:27px}.bank-graphic-icon.purple{background:#705fd3}.bank-transfer-line{width:39px;height:3px;border-radius:7px;background:#aaa5fb;position:relative}.bank-transfer-line:after{position:absolute;right:-2px;top:-4px;content:"";border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:7px solid #aaa5fb}.bank-hero-graphic strong{grid-column:1/-1;margin-top:15px;font-size:28px}.bank-hero-graphic small{grid-column:1/-1;color:#d1d1ee;font-size:10px}.bank-upload-header{display:flex;align-items:start;justify-content:space-between;gap:10px}.bank-dropzone{min-height:195px;margin-top:15px;border:2px dashed #d7d5f7;background:linear-gradient(165deg,#fcfbff,#f9fbff);border-radius:16px;padding:22px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;transition:.18s}.bank-dropzone.dragging{border-color:var(--violet);background:#f0efff;transform:scale(1.004)}.bank-dropzone strong{font-size:15px;color:#303c59}.bank-dropzone span{font-size:11px;color:#8590a3}.bank-dropzone small{font-size:10px;line-height:1.5;color:#97a1b1}.bank-dropzone button{margin:8px 0 2px}.bank-drop-icon{width:42px;height:42px;border-radius:14px;background:#e8e7ff;color:#6f64e4;display:grid;place-items:center}.bank-drop-icon svg{height:22px;width:22px}.bank-meta-form{display:grid;grid-template-columns:minmax(230px,.7fr) 1fr;gap:15px;align-items:center;margin-top:15px}.bank-privacy{font-size:11px;color:#76829c;line-height:1.7;display:flex;align-items:flex-start;gap:9px}.bank-privacy svg{width:20px;height:20px;flex-shrink:0;color:var(--violet)}.bank-progress{padding:10px;color:#6355c8;display:flex;gap:7px}.bank-progress svg{width:16px}.bank-feature{padding:23px!important;min-height:172px}.bank-feature h3{margin:14px 0 6px;font-size:14px;color:#273550}.bank-feature p{font-size:11px;color:#7d889d;line-height:1.65;margin:0}.bank-feature-icon{height:38px;width:38px;display:grid;place-items:center;background:#eae8ff;color:#7066e8;border-radius:12px}.bank-feature-icon.teal{background:#def9f2;color:#149b8f}.bank-feature-icon.orange{background:#fff0e2;color:#dc984a}.bank-feature-icon svg{height:20px;width:20px}.bank-import-notice{border:1px solid #bee9d9;background:#eefdF6;border-radius:13px;display:flex;align-items:center;gap:10px;color:#347a70;padding:14px 17px;margin-top:22px;font-size:11px}.bank-import-notice>svg{height:21px;width:21px;flex-shrink:0}.bank-import-notice>div{flex:1}.bank-import-notice .btn{color:#347a70}.bank-hint{background:#f7f8fd;padding:11px 14px;border-radius:10px;font-size:11px;color:#7d879c;line-height:1.7;margin-top:16px}.bank-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin:16px 0}.bank-metrics>div{background:#f7f8fd;border-radius:12px;border:1px solid #eff1f7;padding:12px;display:flex;flex-direction:column;gap:7px}.bank-metrics span{font-size:10px;color:#7b8699}.bank-metrics strong{font-size:21px;font-weight:850;color:#2c3654}.bank-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:20px 0 12px}.bank-toolbar>div:first-child{display:flex;flex-wrap:wrap;gap:7px}.bank-review-hint{font-size:10px;color:#99a1af}.bank-preview-scroll{border:1px solid #edf0f6;border-radius:12px;max-height:550px;overflow:auto}.bank-preview{min-width:1150px}.bank-preview th{position:sticky;top:0;z-index:2}.bank-preview th,.bank-preview td{padding:9px 8px;font-size:10px}.bank-preview td:nth-child(3){min-width:195px;max-width:275px}.bank-preview td:nth-child(3) strong{display:block;max-width:265px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bank-preview tr.bank-not-picked{background:#fcfcfe}.bank-mini{width:100%;min-width:112px;max-width:188px;font-size:10px;padding:7px 8px;height:34px}.bank-type{min-width:100px}.bank-date{border:1px solid #dce2ec;border-radius:7px;padding:7px 5px;max-width:133px;min-width:125px;font-size:10px;color:#45536c}.bank-preview input[type=checkbox]{width:16px;height:16px;accent-color:var(--violet)}.bank-muted{color:#acb4c0;font-size:10px}.bank-score{display:block;font-size:9px;color:#919eae;line-height:1.35;margin-top:5px;max-width:170px}.bank-status{display:inline-flex;align-items:center;border-radius:6px;padding:4px 7px;font-size:9px;white-space:nowrap;font-weight:750}.bank-status.ok{color:#19836d;background:#e5f8f1}.bank-status.review{color:#9c6518;background:#fff4d7}.bank-status.dup{color:#ad5139;background:#ffebe4}.bank-status.error{color:#b3384f;background:#ffe5ec}.bank-status.muted{color:#6b7483;background:#e9ecf1}.bank-pagination{display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#919caf;gap:10px;margin-top:12px}.bank-pagination>div{display:flex;align-items:center;gap:8px}.bank-warnings{margin-top:12px;font-size:11px;color:#8c7282}.bank-warnings summary{cursor:pointer;font-weight:600}.bank-warnings p{margin:6px 0}.bank-confirm{border:1px solid #e3e0fd;display:flex;align-items:center;justify-content:space-between;gap:22px}.bank-confirm h3{font-size:18px;margin:7px 0 5px;color:#263150}.bank-confirm p{font-size:11px;color:#798499;line-height:1.6}.bank-confirm p b{color:#404963}.bank-remember{display:flex;align-items:center;gap:6px;color:#6c7792;font-size:11px;cursor:pointer;margin-top:13px}.bank-remember input{accent-color:#7164e4}.bank-rule-list{max-height:295px;overflow:auto}.bank-rule{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid #eef0f4}.bank-rule>div{display:flex;flex-direction:column;gap:5px;min-width:0}.bank-rule strong{font-size:11px;color:#3d4863;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bank-rule small{font-size:10px;color:#919bad}
@media(max-width:1200px){.bank-meta-form{grid-template-columns:1fr}.bank-hero-graphic{display:none}.bank-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.bank-toolbar{align-items:start;flex-direction:column}}@media(max-width:760px){.bank-hero{padding:25px 19px}.bank-hero h2{font-size:23px}.bank-meta-form{display:block}.bank-meta-form>*{margin-top:10px}.bank-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.bank-confirm{align-items:stretch;flex-direction:column}.bank-confirm .btn{width:100%}.bank-import-notice{flex-wrap:wrap}.bank-review-hint{display:none}}

/* TENZOA v4.1 / Rule Copilot */
.bank-copilot{padding:0;overflow:hidden;border:1px solid #dcd9fc;background:linear-gradient(160deg,#fff 0%,#fdfcff 70%,#f9f8ff 100%)}
.bank-copilot-top{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:24px 27px 16px}
.bank-copilot-top h2{font-size:19px;letter-spacing:-.45px;margin:9px 0 6px;color:#18213b}
.bank-copilot-top p{font-size:12px;max-width:680px;line-height:1.65;color:#7f889b;margin:0}
.bank-copilot-eyebrow{display:flex;align-items:center;gap:7px;color:#675ddd;font-size:10px;font-weight:850;letter-spacing:1.3px}
.bank-copilot-eyebrow svg{width:15px;height:15px}
.bank-copilot-eyebrow span{font-size:9px;letter-spacing:.8px;color:#0e957d;background:#e6f9f3;padding:4px 7px;border-radius:99px}
.bank-copilot-pill{background:#f1eeff;color:#7065c9;font-size:11px;font-weight:750;border-radius:99px;padding:9px 13px;white-space:nowrap}
.bank-copilot-body{margin:0 27px 18px;border:1px solid #e7e4fa;border-radius:14px;background:#fff;overflow:hidden}
.bank-copilot-thread{max-height:245px;overflow:auto;padding:19px;display:flex;flex-direction:column;gap:12px;min-height:118px;background:linear-gradient(#fbfaff,#fff)}
.bank-chat-intro{display:flex;align-items:flex-start;gap:12px}
.bank-chat-intro-icon{width:32px;height:32px;flex:0 0 32px;display:grid;place-items:center;border-radius:10px;background:#ebe9ff;color:#786df2}
.bank-chat-intro-icon svg{width:17px;height:17px}
.bank-chat-intro strong{display:block;font-size:12px;margin:2px 0 4px}
.bank-chat-intro p{font-size:12px;color:#8490a6;line-height:1.65;margin:0}
.bank-chat-bubble{max-width:90%;min-width:185px;border-radius:12px;padding:11px 14px;background:#f2f3f8;align-self:flex-start}
.bank-chat-bubble.user{background:#eeeaff;color:#3d387b;align-self:flex-end}
.bank-chat-bubble.error{background:#fff1f3;color:#9e3247}
.bank-chat-bubble span{font-size:10px;opacity:.72;font-weight:750;letter-spacing:.5px}
.bank-chat-bubble p{white-space:pre-wrap;overflow-wrap:anywhere;margin:6px 0 0;font-size:12px;line-height:1.65}
.bank-chat-form{border-top:1px solid #ebe9f6;padding:14px 17px 15px}
.bank-chat-label{display:block;font-size:11px;color:#6b7390;font-weight:750;margin-bottom:9px}
.bank-chat-form textarea{display:block;width:100%;border:1px solid #e3e4ed;resize:vertical;min-height:64px;max-height:200px;border-radius:11px;background:#fbfbff;padding:12px 14px;font-size:12px;line-height:1.6;color:#1c2440;outline:none}
.bank-chat-form textarea:focus{background:white;border-color:#978af7;box-shadow:0 0 0 3px rgba(116,106,245,.12)}
.bank-chat-form textarea::placeholder{color:#a9aabe}
.bank-chat-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:11px;flex-wrap:wrap}
.bank-chat-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.bank-chat-actions .btn[disabled]{opacity:.42;cursor:not-allowed}
.bank-copilot-bottom{border-top:1px solid #f0eefc;padding:14px 27px 17px;display:flex;justify-content:space-between;gap:13px;align-items:center;flex-wrap:wrap}
.bank-copilot-bottom label{display:flex;align-items:center;gap:7px;font-size:11px;font-weight:650;color:#48536e;cursor:pointer}
.bank-copilot-bottom label input{accent-color:#746af5;width:15px;height:15px}
.bank-copilot-bottom>span{display:flex;align-items:center;gap:6px;font-size:10.5px;color:#8c94a8}
.bank-copilot-bottom>span svg{width:14px;height:14px}
.bank-rule-tag{display:inline-block;color:#756af0;font-weight:700;background:#eeebff;border-radius:5px;padding:1px 5px}
.bank-rule strong{overflow-wrap:anywhere}
@media(max-width:880px){.bank-copilot-top{padding:20px 18px 13px}.bank-copilot-body{margin:0 18px 16px}.bank-copilot-bottom{padding:13px 18px}.bank-copilot-top h2{font-size:16px}.bank-copilot-pill{font-size:10px}.bank-chat-footer{align-items:stretch}.bank-chat-footer>.btn{width:100%}}

/* v4.2 — statement review filtering */
.bank-filter-panel{background:linear-gradient(145deg,#fafaff,#f8fafe);border:1px solid #e7e6fa;border-radius:15px;padding:17px 18px 15px;margin:18px 0 14px}
.bank-filter-title{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:15px}
.bank-filter-title>div{display:flex;flex-direction:column;gap:5px}.bank-filter-title strong{font-size:13px;display:flex;align-items:center;gap:8px;color:#323b63}.bank-filter-title strong svg{height:17px;width:17px;color:#756be0}.bank-filter-title span{font-size:11px;color:#7c879f}.bank-filter-title button{flex-shrink:0}
.bank-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.bank-filter-field{display:flex;flex-direction:column;gap:6px;min-width:0}.bank-filter-field>span{font-size:10px;font-weight:700;color:#697593}.bank-filter-control{width:100%;min-width:0;max-width:none!important;height:38px;font-size:11px!important;border-radius:9px}.bank-filter-query{grid-column:span 2}.bank-filter-query input{background:white}.bank-filter-panel input[type=number]{font-variant-numeric:tabular-nums}
.bank-filter-summary{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;border-top:1px solid #eff1f8;padding:15px 1px 2px;margin-top:10px;font-size:11px;color:#65718d}.bank-filter-summary strong{color:#4942ad;font-size:12px}.bank-filter-summary>span{font-size:10px;color:#929cb0}.bank-filter-actions{margin:10px 0 13px}.bank-no-results{display:flex;align-items:center;gap:9px;padding:17px;border:1px dashed #dfe1f2;border-radius:11px;margin-top:10px;background:#fbfbff;font-size:11px;color:#69738c}.bank-no-results svg{width:17px;height:17px}
@media(max-width:1120px){.bank-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.bank-filter-panel{padding:14px}.bank-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bank-filter-query{grid-column:span 2}.bank-filter-title{flex-wrap:wrap}.bank-filter-summary{align-items:flex-start;flex-direction:column}}
@media(max-width:480px){.bank-filter-grid{grid-template-columns:minmax(0,1fr)}.bank-filter-query{grid-column:auto}}


/* TENZOA v4.3: streamlined rule manager */
.bank-manager{border:1px solid #dcdaf9}
.bank-manager .bank-copilot-top{padding-bottom:21px}
.bank-manager-builder{padding:21px 27px 24px;background:#fff;border-top:1px solid #edeafb}
.bank-manager-section-title{display:flex;align-items:flex-start;gap:12px}
.bank-manager-step{flex:0 0 31px;height:31px;display:grid;place-items:center;background:#efedff;color:#7364df;border-radius:10px;font-weight:850;font-size:12px}
.bank-manager-section-title strong{font-size:14px;letter-spacing:-.25px;display:block;color:#29334e;margin:2px 0 3px}
.bank-manager-section-title p{color:#8b94a7;font-size:11px;line-height:1.5;margin:0}
.bank-manager-count{color:#7364e3;padding:3px 8px;border-radius:9px;background:#efedff;font-size:11px;margin-left:5px}
.bank-rule-form{margin-top:16px}
.bank-rule-form-grid{display:grid;grid-template-columns:minmax(125px,.85fr) minmax(180px,1.05fr) minmax(245px,1.45fr);gap:13px;align-items:start}
.bank-manager-field{display:flex;flex-direction:column;gap:7px;min-width:0}
.bank-manager-field>span{font-size:11px;font-weight:760;color:#65718c}
.bank-manager-field>.field-input,.bank-manager-field>.field-select{width:100%;height:43px;font-size:12px;border-radius:10px}
.bank-manager-field small{font-size:10px;line-height:1.55;color:#9aa2b0}
.bank-manager-add-category{display:flex;align-items:center;gap:5px;align-self:flex-start;padding:4px 0;border:0;background:transparent;color:#7766e1;font-weight:750;font-size:11px}
.bank-manager-add-category svg{width:13px;height:13px}
.bank-manager-live{margin:15px 0 0;background:#f5f4ff;border:1px solid #eeebff;color:#62628a;padding:12px 14px;border-radius:11px;font-size:11px;line-height:1.55;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.bank-manager-live svg{width:15px;height:15px;flex:0 0 15px;color:#8479e8}
.bank-manager-live strong{color:#413d91}
.bank-manager-buttons{display:flex;gap:9px;flex-wrap:wrap;align-items:center;margin-top:15px}
.bank-new-category{margin-top:17px;border:1px solid #e7e7f4;border-radius:14px;background:#fafaff;padding:16px}
.bank-new-category>strong{display:flex;align-items:center;gap:6px;font-size:12px}
.bank-new-category>strong svg{width:15px;height:15px;color:#8174ef}
.bank-new-category p{font-size:10.5px;line-height:1.6;color:#929aad}
.bank-new-category-grid{display:grid;grid-template-columns:1fr .7fr 1fr auto;gap:11px;align-items:end}
.bank-new-category-grid .btn{height:43px}
.bank-manager-library{padding:22px 27px 15px;background:#fbfaff;border-top:1px solid #efedfa}
.bank-manager-library-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.bank-manager-search{display:flex;align-items:center;gap:10px;margin:18px 0 12px}
.bank-manager-search-input{display:flex;align-items:center;gap:10px;max-width:410px;flex:1;border:1px solid #e5e5f0;border-radius:11px;background:#fff;padding:0 12px;height:39px}
.bank-manager-search-input>svg{width:16px;height:16px;color:#989db5}
.bank-manager-search-input input{border:0;outline:none;flex:1;min-width:0;font-size:11.5px;color:#26304b;background:transparent}
.bank-manager-search-input input:focus-visible{outline:none}
.bank-manager-list{max-height:360px;overflow-y:auto;border:1px solid #eaeaf2;background:white;border-radius:13px}
.bank-manager-rule{display:flex;align-items:center;gap:12px;border-bottom:1px solid #f0f0f7;padding:13px 14px}
.bank-manager-rule:last-child{border-bottom:0}
.bank-manager-rule.off{opacity:.57}
.bank-manager-rule.broken{background:#fffafb}
.bank-rule-picker input{width:15px;height:15px;accent-color:#7766ef}
.bank-rule-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.bank-rule-keyword{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.bank-rule-keyword strong{color:#232e49;font-size:12px;max-width:400px;overflow-wrap:anywhere}
.bank-rule-mode{display:inline-block;background:#f0edff;color:#7465cf;padding:4px 7px;font-size:10px;font-weight:780;border-radius:6px}
.bank-rule-warning{padding:4px 7px;color:#c85b73;background:#fff0f3;border-radius:6px;font-size:9px}
.bank-rule-destination{display:flex;align-items:center;flex-wrap:wrap;gap:6px;color:#8991a5;font-size:10.5px}
.bank-rule-destination svg{height:12px;width:12px;color:#a89ff4}
.bank-rule-destination>span:first-of-type{color:#4e5972;font-weight:680}
.bank-rule-hits{background:#eef8f4;color:#237966;border-radius:6px;padding:3px 7px;margin-left:4px}
.bank-rule-controls{display:flex;align-items:center;gap:5px}
.bank-rule-controls .btn-icon{width:31px;height:31px}
.bank-manager-switch{position:relative;width:33px;height:19px;flex:0 0 33px;cursor:pointer}
.bank-manager-switch input{opacity:0;position:absolute;left:0;top:0;width:100%;height:100%;margin:0;cursor:pointer}
.bank-manager-switch span{position:absolute;inset:0;border-radius:99px;background:#c9cdda;transition:background .15s;pointer-events:none}
.bank-manager-switch span:before{content:'';display:block;position:absolute;top:3px;left:3px;width:13px;height:13px;border-radius:50%;background:white;box-shadow:0 1px 3px #3332;transition:transform .15s}
.bank-manager-switch input:checked+span{background:#7568ef}
.bank-manager-switch input:checked+span:before{transform:translateX(14px)}
.bank-manager-switch input:focus-visible+span{outline:3px solid #bab6ff;outline-offset:2px}
.bank-manager-empty{font-size:12px;color:#8e98a9;text-align:center;padding:34px 20px}
.bank-manager-library-footer{display:flex;align-items:center;justify-content:space-between;gap:9px;flex-wrap:wrap;padding-top:12px;color:#8d94a6;font-size:10px;line-height:1.5}
.bank-manager-library-footer span{display:inline-flex;align-items:center;gap:5px}
.bank-manager-library-footer svg{width:13px;height:13px}
@media(max-width:1170px){.bank-rule-form-grid{grid-template-columns:1fr 1fr}.bank-target-field{grid-column:1/-1}.bank-new-category-grid{grid-template-columns:1fr 1fr}.bank-manager-search{flex-wrap:wrap}}
@media(max-width:700px){.bank-manager-builder,.bank-manager-library{padding:18px}.bank-rule-form-grid,.bank-new-category-grid{grid-template-columns:1fr}.bank-target-field{grid-column:auto}.bank-manager-list{max-height:430px}.bank-manager-rule{gap:8px;flex-wrap:wrap}.bank-rule-body{min-width:165px}.bank-rule-controls{width:100%;justify-content:flex-end}.bank-manager-search-input{min-width:175px}}
/* v4.4 — Annual Budget Studio */
.budget-architecture{display:flex;align-items:stretch;gap:8px;padding:17px 20px;border-radius:18px;background:linear-gradient(110deg,#202947,#30375f);color:white;margin-bottom:16px}
.budget-architecture>div:not(.budget-arch-arrow){flex:1;display:flex;flex-direction:column;gap:8px;padding:14px 13px;border-radius:12px;border:1px solid #ffffff20;min-width:0}
.budget-architecture>div.active{background:#ffffff19;border-color:#aaa6ff}
.budget-architecture span{font-size:9px;font-weight:800;letter-spacing:1.3px;color:#aaa8f0}
.budget-architecture strong{font-size:14px;letter-spacing:-.2px}.budget-architecture small{color:#c1c6dc;font-size:10px}
.budget-architecture .budget-arch-arrow{flex:0 0 20px;display:flex;align-items:center;justify-content:center;color:#a5a5db}.budget-arch-arrow svg{width:19px;height:19px}
.budget-year-control{display:flex;align-items:center;gap:24px;padding:17px 22px;background:#fff;border:1px solid #e8eaf1;border-radius:16px;margin-bottom:16px;flex-wrap:wrap}
.budget-year-control>div{display:flex;flex-direction:column;gap:7px}.budget-year-control .eyebrow{margin:0}.budget-year-control select{min-width:170px;font-weight:760}.budget-year-control .budget-main-action{margin-left:auto}
.budget-preview-banner{display:flex;align-items:flex-start;gap:12px;background:#f0efff;border:1px solid #dfdafa;padding:15px 18px;border-radius:13px;font-size:12px;color:#5b567a;line-height:1.65;margin-bottom:15px}
.budget-preview-banner>svg{width:19px;height:19px;flex:0 0 19px;color:#7167d8}
.budget-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}
.budget-metric{border:1px solid #e7eaf2;background:#fff;border-radius:17px;padding:19px 17px;min-width:0}
.budget-metric-label{font-size:10px;font-weight:800;letter-spacing:.65px;color:#7b84a0;margin-bottom:12px}
.budget-metric-value{font-size:23px;font-weight:850;letter-spacing:-.7px;white-space:nowrap}.budget-metric-foot{display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#949bb0;gap:8px;margin-top:9px}
.budget-metric-foot span:first-child{font-weight:740}
.budget-editor-card{padding:24px 21px}.budget-editor-card .card-heading{flex-wrap:wrap}
.budget-actions-top{display:flex;gap:7px;flex-wrap:wrap}
.budget-editor-instructions{font-size:10.5px;color:#78839b;background:#f9faff;border:1px solid #eff0f7;border-radius:11px;padding:12px 14px;display:flex;gap:15px;align-items:center;justify-content:space-between;line-height:1.6;flex-wrap:wrap;margin-bottom:15px}
.budget-editor-instructions span:first-child{display:flex;align-items:center;gap:7px}.budget-editor-instructions svg{width:16px;height:16px;color:#746af5}
.budget-tabs{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:15px}.budget-tabs button{background:#f6f7fa;border:1px solid #e8e9f1;color:#7b859c;font-size:11px;font-weight:750;border-radius:10px;padding:9px 13px}.budget-tabs button.active{background:#eeeaff;border-color:#e0d9fc;color:#6254d3}
.budget-table-wrap{overflow-x:auto;overflow-y:auto;max-width:100%;border:1px solid #e5e8f1;border-radius:13px;scrollbar-color:#c5c9d8 transparent;max-height:690px}
.budget-table{border-collapse:separate;border-spacing:0;min-width:1950px;width:100%;font-size:10px;font-variant-numeric:tabular-nums;table-layout:fixed}
.budget-table th,.budget-table td{border-bottom:1px solid #edf0f6;border-right:1px solid #f0f1f6;padding:7px 6px;vertical-align:middle}
.budget-table th{position:sticky;top:0;background:#1d2846;color:#e3e5f2;z-index:3;text-align:right;font-size:10px;white-space:nowrap;height:44px}
.budget-table .budget-label{width:221px;min-width:221px;max-width:221px;text-align:left;position:sticky;left:0;z-index:2;background:white;padding:9px 14px;box-shadow:5px 0 12px #1c27500a}
.budget-table th.budget-label{background:#1d2846;color:white;z-index:5}.budget-table .budget-line-title{display:flex;align-items:center;gap:7px;flex-wrap:wrap;line-height:1.35;color:#303b58;font-size:10.7px}
.budget-new-tag{background:#e9f6f2;color:#1a9e7c;font-size:7px;font-weight:800;padding:3px 5px;border-radius:5px;letter-spacing:.35px}
.budget-small-link{display:flex;align-items:center;gap:4px;color:#b05f78;border:0;background:transparent;padding:5px 0 0;font-size:9px}.budget-small-link svg{width:11px;height:11px}
.budget-number{width:83px;min-width:0;padding:7px 3px;text-align:right;border:1px solid #e6e8f0;background:#fff;border-radius:7px;color:#30405f;font-size:10.3px;font-weight:650}
.budget-number:focus{border-color:#8376f3;box-shadow:0 0 0 2px #e8e4ff;outline:0}.budget-number:disabled{background:#f8f9fc;color:#8b93a5;border-color:transparent;opacity:1}
.budget-number.overridden{background:#f2f0ff;border-color:#ddd9fb;color:#5c50c1}
.budget-table .budget-cell{width:96px;min-width:96px;padding:7px 5px;text-align:right}
.budget-table .budget-fy{width:122px;background:#f4f3ff;color:#37366b}.budget-table .budget-delta{width:100px}
.budget-table .budget-carry{width:157px;padding:6px 8px}.budget-carry .field-select{width:145px;min-width:0;height:30px;font-size:10px;padding:4px 7px}
.budget-growth{display:flex;gap:4px;align-items:center;margin-top:5px;color:#9a9fae;font-size:9px}.budget-growth input{width:51px;height:23px;border:1px solid #e0e3ed;background:white;border-radius:5px;padding:2px 4px;font-size:9.5px}
.budget-actions-cell{width:45px}.budget-actions-cell .btn-icon{width:26px;height:26px}.budget-actions-cell svg{height:13px;width:13px}
.budget-table .budget-section-head td{position:sticky;left:0;z-index:1;background:#eeeff8;padding:10px 14px;text-transform:uppercase;font-size:10px;letter-spacing:.5px;font-weight:820;color:#394467}
.budget-section-head small{color:#97a0ae;text-transform:none;font-weight:600;font-size:9px;letter-spacing:0;margin-left:13px}
.budget-section-indicator{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:9px}
.budget-table .budget-footer-row td{background:#f2f4fa;font-weight:800;color:#344064}.budget-table .budget-footer-row .budget-label{z-index:2}
.budget-goal-status{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;margin-top:21px;padding:14px;background:#f7f8fd;border-radius:12px;font-size:12px}.budget-goal-status>span{color:#8891a3}
.budget-compare-rows{display:flex;flex-direction:column;gap:0}.budget-compare-rows>div{display:flex;align-items:center;justify-content:space-between;padding:9px 0;border-bottom:1px solid #edf0f5;gap:15px}.budget-compare-rows span{color:#76819b;font-size:11px}.budget-compare-rows strong{font-size:12px}
.budget-help-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.budget-help-grid>div{background:#f7f8fc;border-radius:12px;padding:16px}.budget-help-grid strong{font-size:12px;color:#363d68}.budget-help-grid p{font-size:11px;color:#8690a1;line-height:1.55;margin:7px 0 0}
.budget-threeway{overflow-x:auto;border:1px solid #e9eaf2;border-radius:14px}.budget-threeway table{border-collapse:collapse;width:100%;min-width:800px;font-size:11px}.budget-threeway th{background:#293654;color:#fff;padding:12px 10px;font-size:10px;text-align:right}.budget-threeway th:first-child{text-align:left}.budget-threeway td{padding:12px 10px;text-align:right;border-bottom:1px solid #eff0f5}.budget-threeway td:first-child{text-align:left;font-weight:770}.budget-threeway tr:nth-child(even){background:#fafbff}.budget-threeway tr:last-child td{border-bottom:0}
@media(max-width:1160px){.budget-architecture{gap:4px}.budget-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.budget-help-grid{grid-template-columns:1fr}}
@media(max-width:700px){.budget-architecture{padding:10px;gap:4px}.budget-architecture>div:not(.budget-arch-arrow){padding:9px 7px}.budget-architecture strong{font-size:9px}.budget-architecture span{font-size:7px}.budget-architecture small{font-size:8px}.budget-arch-arrow svg{width:12px;height:12px}.budget-metric-value{font-size:19px}.budget-metrics{gap:8px}.budget-year-control{gap:10px}.budget-year-control .budget-main-action{margin-left:0}.budget-editor-card{padding:15px}}

/* TENZOA v4.5 — cross-filter and transaction intelligence */
.ledger-filters{display:grid;grid-template-columns:minmax(165px,1.5fr) repeat(3,minmax(125px,1fr));gap:10px;align-items:end;margin:0 0 11px;padding:14px;background:#f8f9fe;border:1px solid #edf0f8;border-radius:14px}
.ledger-filters label{display:flex;flex-direction:column;gap:6px;min-width:0}.ledger-filters label>span{font-size:9px;color:#7d88a1;font-weight:820;letter-spacing:.5px}.ledger-filters .field-select,.ledger-filters .field-input{font-size:11px;padding:10px 9px;height:40px}
.filter-context{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:9px 0 16px;font-size:11px;color:#78849c}.filter-context svg{width:14px;height:14px;vertical-align:middle;color:#756bef}.filter-context strong{color:#4648b9}
.ledger-filter-total{display:flex;justify-content:space-between;align-items:center;gap:15px;background:#f9faff;border-radius:10px;padding:12px 14px;margin-bottom:14px;font-size:11px;color:#6e7891}.ledger-filter-total small{font-size:10px;display:block;margin-top:3px;color:#9aa2b4}.ledger-filter-total strong{font-size:16px;font-variant-numeric:tabular-nums;white-space:nowrap}
.ledger-drill-table{min-width:730px}.ledger-main-card{padding:20px}.ledger-side-column{min-width:0}.drill-link{appearance:none;display:inline-flex;align-items:center;text-align:left;color:#5653b2;font-size:11px;font-weight:730;border:0;background:transparent;padding:6px 2px;cursor:pointer}.drill-link:hover{text-decoration:underline;color:#4137ae}.muted-drill{color:#7e889f;font-size:10px}.ledger-drill-table td{vertical-align:middle}
.drill-cluster{width:100%;display:block;text-align:left;border:1px solid transparent;border-radius:12px;padding:11px 11px 9px;background:transparent;color:inherit;margin:1px 0;cursor:pointer;transition:background .15s,border-color .15s}.drill-cluster:hover{background:#f8f7ff;border-color:#e6e2ff}.drill-cluster.selected{background:#f1efff;border-color:#cbc3ff}.drill-cluster .cluster-title,.drill-cluster .cluster-track{display:flex}.drill-cluster .cluster-title{justify-content:space-between;gap:6px;font-size:11px}.drill-cluster .cluster-title>span{display:flex;align-items:center;gap:8px}.drill-cluster .cluster-track{height:7px;border-radius:5px;overflow:hidden;margin:9px 0 6px;background:#eff0f7}.drill-cluster .cluster-track>span{height:100%;border-radius:5px}.drill-cluster small{font-size:10px;color:#8d98ab}.ledger-category-list{display:flex;flex-direction:column;gap:4px;max-height:370px;overflow:auto;padding-right:3px;scrollbar-color:#d1d0e9 transparent}.ledger-category-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 9px;border:1px solid transparent;background:#fff;border-radius:11px;width:100%;text-align:left;color:inherit}.ledger-category-row:hover{background:#f6f5ff}.ledger-category-row.selected{background:#f0edff;border-color:#dcd7ff}.ledger-category-row strong{font-size:11px;display:block;font-weight:750}.ledger-category-row small{font-size:9.5px;color:#939bae;display:block;margin-top:4px}.ledger-category-row b{font-size:11px;white-space:nowrap;font-variant-numeric:tabular-nums}
.drill-context-panel{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:16px 0 18px;padding:13px 17px;border-radius:13px;background:#f6f5ff;border:1px solid #ebe7ff}.drill-context-panel>div:first-child{display:flex;flex-direction:column;gap:5px}.drill-context-panel .eyebrow{margin:0;font-size:9px}.drill-context-panel strong{font-size:13px;color:#373468}.drill-context-panel small{font-size:10px;color:#8f94ad}.scope-chips{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.scope-chip{border:1px solid #d8d2fe;background:#fff;color:#6156be;border-radius:99px;padding:8px 10px;font-size:10px;font-weight:730}.scope-chip svg{width:12px;height:12px;vertical-align:middle}.scope-compare-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.scope-compare-grid>div{padding:16px 12px;border-radius:11px;background:#f8f9fd;min-width:0}.scope-compare-grid span{display:block;font-size:10px;color:#838da4}.scope-compare-grid strong{display:block;margin-top:7px;font-size:18px;letter-spacing:-.4px;font-variant-numeric:tabular-nums}
.report-month-hit{cursor:pointer;outline:0}.report-month-hit:hover>rect:first-of-type,.report-month-hit:focus-visible>rect:first-of-type{fill:#ece9ff!important}.report-month-hit:focus-visible{filter:drop-shadow(0 0 2px #746af5)}.report-month-hit .report-chart-actual{transition:fill .15s}.report-month-hit:hover .report-chart-actual{fill:#5144d2}.report-chart .report-month-hit.is-active text{fill:#5144d2;font-weight:800}.report-chart text{pointer-events:none}
.report-donut-click{cursor:pointer;transition:stroke-width .16s,opacity .15s}.report-donut-click:hover,.report-donut-click:focus-visible{stroke-width:29;opacity:.85;outline:none}.report-mix-legend{max-height:275px;overflow-y:auto}.report-mix-row{width:100%;display:flex;align-items:center;justify-content:space-between;text-align:left;gap:9px;padding:10px 8px;background:none;border:0;border-radius:8px;color:#59637e;font-size:11px}.report-mix-row:hover{background:#f4f2ff;color:#5e4ebf}.report-mix-row>span{display:flex;gap:8px;align-items:center}.report-mix-row>strong{font-variant-numeric:tabular-nums;white-space:nowrap}
.breakdown-drill{background:transparent;border:0;display:inline-flex;align-items:center;gap:5px;padding:5px 1px;color:#495570;font-weight:650;font-size:11px;text-align:left;cursor:pointer}.breakdown-drill:hover{color:#6552d6;text-decoration:underline}.breakdown-drill svg{height:11px;width:11px;color:#a2a0c4;opacity:0;transition:.12s}.breakdown-drill:hover svg,.breakdown-drill:focus-visible svg{opacity:1}.subtotal-action{font-size:10px;font-weight:830;letter-spacing:.15px}.selected-breakdown{background:#f4f1ff}
.interactive-heatmap .heatmap-month-head{border:0;background:transparent;color:inherit;font:inherit;font-weight:750;cursor:pointer;padding:5px 7px;border-radius:7px}.interactive-heatmap .heatmap-month-head:hover,.interactive-heatmap .heatmap-month-head.selected{background:#e8e4ff;color:#5b4bc7}.interactive-heatmap td.heatmap-selected{box-shadow:inset 0 0 0 2px #8a7cf9}.heatmap-cell{display:block;width:100%;min-width:74px;border:0;padding:10px 8px;border-radius:6px;text-align:right;cursor:pointer;font-size:10px;color:#47526d;font-weight:750;white-space:nowrap}.heatmap-cell:hover{outline:2px solid #746af5;outline-offset:-2px}
.report-ledger-controls{display:flex;align-items:end;justify-content:space-between;flex-wrap:wrap;gap:13px;margin:5px 0 17px}.report-ledger-controls .form-field{width:min(100%,360px)}.ledger-pagination{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;border-top:1px solid #eeeef6;padding-top:13px;margin-top:12px;color:#848ea4;font-size:10px}.ledger-pagination>div{display:flex;gap:7px}
@media(max-width:1350px){.ledger-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.scope-compare-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.ledger-filters{grid-template-columns:1fr}.drill-context-panel{flex-direction:column;align-items:stretch}.scope-compare-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.report-ledger-controls{align-items:stretch;flex-direction:column}.report-ledger-controls .form-field{width:100%}.ledger-side-column .card{padding:17px}}
.legend-row .legend-item svg{width:14px;height:14px;flex:0 0 14px;vertical-align:middle;color:#8b90aa}.report-chart{max-height:260px}


/* TENZOA v4.6 — Archivio movimenti: ricerca multi-periodo e ricategorizzazione. */
.sidebar{overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#455071 transparent}
.db-filter-card{padding:24px}
.db-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-top:5px}
.db-filter-grid .form-field{min-width:0;gap:7px}
.db-filter-grid .form-label{font-size:10px;font-weight:760;color:#7e89a3;letter-spacing:.15px}
.db-filter-grid .field-input,.db-filter-grid .field-select{height:41px;font-size:12px;min-width:0;max-width:100%;width:100%}
.db-filter-grid .db-search-field{grid-column:span 2}
.db-filter-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:20px;padding-top:16px;border-top:1px solid #edf0f7;font-size:11px;flex-wrap:wrap}
.db-warning{margin:15px 0 0;color:#bd465b;background:#fff2f3;padding:10px;border-radius:8px;font-size:12px}
.db-main-grid{grid-template-columns:minmax(0,2.3fr) minmax(290px,0.9fr);align-items:start;gap:18px}
.db-side{display:flex;flex-direction:column;gap:18px;min-width:0}
.db-ledger-card{padding:21px;min-width:0}
.db-page-size{display:flex;gap:8px;align-items:center;color:#7e879b;font-size:11px;font-weight:680;white-space:nowrap}
.db-page-size .field-select{width:77px;height:37px;padding:5px}
.db-selection-bar{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;align-items:center;padding:12px;background:#f7f7ff;border-radius:11px;margin-bottom:14px;font-size:10px;color:#747f96}
.db-selection-bar strong{color:#5147bc}.db-selection-actions{display:flex;gap:6px;flex-wrap:wrap}
.db-transaction-table{min-width:1090px;font-size:11px}.db-transaction-table td{vertical-align:middle}.db-table-scroll{max-height:670px;overflow:auto;overscroll-behavior:contain}
.db-transaction-table thead{position:sticky;top:0;z-index:1}.db-transaction-table th{background:#f7f8fc;white-space:nowrap}
.db-transaction-table tbody tr:hover{background:#fbfaff}.db-transaction-table tr.db-selected-row{background:#f5f1ff}
.db-checkbox-col{width:34px!important;min-width:34px!important;text-align:center!important}.db-checkbox-col input{width:15px;height:15px;accent-color:#7163f1;cursor:pointer}
.db-date-col{white-space:nowrap;font-variant-numeric:tabular-nums;color:#57617a;font-weight:640}
.db-description-col{min-width:200px;max-width:270px}.db-description-col>strong{font-size:11px;line-height:1.4;display:block;overflow-wrap:anywhere}.db-description-col .asset-sub{font-size:9px;max-width:240px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
.db-cat-col{min-width:200px}.db-inline-category{height:37px;padding:6px;font-size:11px;max-width:230px;width:100%;background:#fff;border:1px solid #e1e3f0}.db-inline-category:hover{border-color:#aba4eb}
.db-noneditable{font-size:11px;color:#8e96a6}.db-origin{font-size:10px;color:#808aa2;line-height:1.5;display:block;max-width:130px;overflow-wrap:anywhere}
.db-pagination{font-size:11px}.db-pagination button:disabled{opacity:.45;cursor:default}
.db-bulk-card{border-color:#dfdef9;background:linear-gradient(155deg,#fff 70%,#f8f7ff 100%)}
.db-bulk-card .form-field{margin-top:13px;gap:7px}.db-bulk-card .field-select{font-size:11px;max-width:100%;width:100%}
.db-bulk-info{margin:17px 0;font-size:11px;color:#78849a;line-height:1.7;display:flex;gap:8px}.db-bulk-info svg{width:15px;flex:0 0 15px;color:#7d71ee;margin-top:2px}
.db-full-button{display:flex;width:100%;white-space:normal;line-height:1.4;margin:8px 0}.db-full-button:disabled{opacity:.48;cursor:default;box-shadow:none}.db-bulk-card .card-footnote{line-height:1.65;margin-top:13px}
.db-cluster-list,.db-category-list{display:flex;flex-direction:column;gap:4px;max-height:360px;overflow:auto;scrollbar-color:#dbd9ee transparent}
.db-summary-row{display:flex;justify-content:space-between;align-items:center;gap:10px;border:1px solid transparent;border-radius:10px;padding:10px 9px;background:#fff;text-align:left;color:#526079;width:100%}
.db-summary-row:hover{background:#f7f5ff;border-color:#ded9ff}.db-summary-row.active{background:#efecff;border-color:#c9c2f5}.db-summary-row>span{display:flex;min-width:0;flex-wrap:wrap;align-items:center;gap:7px}
.db-summary-row i{display:inline-block;width:8px;height:8px;border-radius:3px;flex:0 0 8px}.db-summary-row strong{font-size:11px;min-width:0;overflow-wrap:anywhere}.db-summary-row small{font-size:9px;color:#99a1b1;white-space:nowrap}.db-summary-row b{font-size:11px;white-space:nowrap;font-variant-numeric:tabular-nums}
.db-footnote{margin-top:18px}
@media(max-width:1400px){.db-main-grid{grid-template-columns:minmax(0,1.7fr) minmax(250px,.7fr)}.db-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1100px){.db-main-grid{grid-template-columns:minmax(0,1fr)}.db-side{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.db-bulk-card{grid-column:span 2}.db-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.db-filter-card,.db-ledger-card{padding:16px}.db-filter-grid{grid-template-columns:minmax(0,1fr)}.db-filter-grid .db-search-field{grid-column:span 1}.db-side{grid-template-columns:minmax(0,1fr)}.db-bulk-card{grid-column:auto}.db-selection-actions{width:100%}.db-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.db-selection-bar{align-items:flex-start}.db-pagination{gap:8px}}
/* Navigazione mobile: tutte le aree, incluso il Database, sono raggiungibili tramite swipe. */
@media(max-width:700px){
 .sidebar{overflow-x:auto;overflow-y:hidden;scrollbar-width:none;overscroll-behavior-x:contain;touch-action:pan-x}
 .sidebar::-webkit-scrollbar{display:none}
 .side-nav{display:flex;flex-direction:row;justify-content:flex-start;width:max-content;min-width:100%;gap:4px}
 .side-nav .nav-btn{width:84px;min-width:84px;flex:0 0 84px;padding:8px 4px}
 .side-nav .nav-btn span{font-size:8px;line-height:1.15;white-space:normal}
}

/* TENZOA 4.7 — Monthly Outlook: ACT + YTG = EOM. */
.mo-control{align-items:center;flex-wrap:wrap}.mo-control-right{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.mo-month-switch{display:flex;align-items:center;gap:8px;margin-top:9px}.mo-month-switch .field-input{width:172px;font-size:13px;font-weight:750;height:36px}.mo-month-switch button:first-child svg{transform:rotate(180deg)}.mo-month-switch .btn-icon:disabled{opacity:.3;cursor:not-allowed}
.mo-year-nav{display:grid;grid-template-columns:repeat(12,minmax(80px,1fr));gap:7px;overflow:auto;padding-bottom:7px;margin:17px 0 20px}.mo-year-month{background:white;border:1px solid #e9ebf3;border-radius:12px;min-width:87px;padding:11px 7px;text-align:left;display:flex;flex-direction:column;gap:5px;min-height:85px;transition:background .15s,border-color .15s;color:#52607b}.mo-year-month>span{font-size:10px;text-transform:uppercase;font-weight:850;letter-spacing:.3px;color:#8791a7}.mo-year-month>strong{font-size:13px;color:#303b58;font-variant-numeric:tabular-nums}.mo-year-month>small{font-size:8.5px;color:#9aa3b5;line-height:1.3}.mo-year-month:hover{border-color:#bdb3ff;background:#f9f8ff}.mo-year-month.active{border-color:#8279f2;background:#f0edff;box-shadow:0 0 0 1px #8174f0}.mo-year-month.active>strong{color:#5f4bc9}
.mo-reconciliation{padding:24px 26px 21px;border-radius:21px;background:linear-gradient(118deg,#252e55,#3e417e 71%,#5151a9);color:white;box-shadow:0 10px 30px #3940761b}.mo-rec-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap;color:#e5e2ff;font-size:10px;letter-spacing:.5px;font-weight:780;text-transform:uppercase}.mo-rec-heading>span{display:flex;align-items:center;gap:8px}.mo-rec-heading svg{height:15px;width:15px;color:#b5afff}.mo-rec-heading strong{color:#bab6e4;font-size:10px;font-weight:660;text-transform:none}.mo-rec-metrics{display:flex;gap:17px;align-items:center;justify-content:space-between;margin:24px 0 20px}.mo-rec-metrics>div:not(.mo-rec-plus,.mo-rec-equals){min-width:0;flex:1;display:flex;flex-direction:column;gap:9px}.mo-rec-metrics span{font-size:11px;color:#c5c6ed;font-weight:630}.mo-rec-metrics strong{font-size:clamp(21px,2.6vw,34px);line-height:1.12;font-weight:830;color:#fff;letter-spacing:-.65px;font-variant-numeric:tabular-nums;white-space:nowrap}.mo-rec-metrics small{font-size:10px;color:#aaaed4;line-height:1.35}.mo-rec-metrics .mo-rec-emphasis{background:rgba(255,255,255,.11);border-radius:14px;padding:16px 17px;flex:1.17!important}.mo-rec-plus,.mo-rec-equals{font-size:24px;color:#b8b2ee;font-weight:650;flex:0!important}.mo-progress{height:5px;border-radius:4px;background:rgba(255,255,255,.18);overflow:hidden}.mo-progress span{display:block;height:100%;border-radius:4px;background:linear-gradient(90deg,#b0a5ff,#50d7bf);transition:width .3s}.mo-reconciliation>p{color:#c9c9eb;font-size:10.5px;line-height:1.6;margin:12px 0 0}
.mo-mini-legend{display:flex;gap:19px;align-items:center;flex-wrap:wrap;color:#838da4;font-size:10px;margin:0 0 24px}.mo-mini-legend>span{display:flex;gap:7px;align-items:center}.mo-mini-legend i{display:inline-block;width:11px;height:11px;border-radius:3px}.mo-mini-legend i.mo-mark-key{border-left:2px dashed #394867;border-radius:0;background:transparent;height:14px;width:4px}.mo-bars{display:flex;flex-direction:column;gap:22px}.mo-bar-row{display:grid;grid-template-columns:94px minmax(80px,1fr) 87px 82px;gap:11px;align-items:center}.mo-bar-label{font-size:11px;display:flex;gap:7px;align-items:center;font-weight:730;color:#626e85}.mo-bar-label i{display:inline-block;height:9px;width:9px;border-radius:3px;flex:0 0 auto}.mo-bar-row strong{font-size:11px;text-align:right;font-variant-numeric:tabular-nums}.mo-bar-row small{font-size:10px;text-align:right;white-space:nowrap}.mo-bar-track{position:relative;height:12px;border-radius:6px;background:#f2f3f8;display:flex;overflow:visible}.mo-bar-actual{height:12px;background:#746af5;border-radius:6px 0 0 6px;flex:0 0 auto}.mo-bar-rem{height:12px;background:#ccc8ff;border-radius:0 6px 6px 0;flex:0 0 auto}.mo-bar-target{height:21px;position:absolute;top:-5px;width:2px;background:#3e4a66;z-index:2;max-width:100%}
.mo-cash-list{display:flex;flex-direction:column;gap:0}.mo-cash-list>div{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:11px 3px;border-bottom:1px solid #eef0f6;font-size:11px;color:#78829a}.mo-cash-list>div>strong{font-size:11px;font-variant-numeric:tabular-nums;white-space:nowrap;color:#3d4b66}.mo-cash-list .mo-cash-opening{background:#f7f6ff;padding:13px 10px;color:#4f49a5;font-weight:770;border-radius:9px}.mo-cash-list .mo-cash-final{background:#2e345b;color:#fff;border-radius:10px;margin-top:10px;padding:16px 13px;font-weight:790}.mo-cash-list .mo-cash-final strong{color:#fff;font-size:16px}
.mo-table-card{padding:22px}.mo-table{min-width:900px;width:100%;border-collapse:collapse;font-size:10.5px}.mo-table th{font-size:9.5px;text-align:right;white-space:nowrap}.mo-table th:first-child{text-align:left;min-width:180px}.mo-table td{vertical-align:middle;padding:10px 8px;text-align:right;font-variant-numeric:tabular-nums}.mo-table td:first-child{text-align:left}.mo-label{color:#4d5b76;font-weight:650}.mo-ltp{color:#9da4b3}.mo-act{color:#5044bd;font-weight:750}.mo-eom{color:#24304d}.mo-table tr.mo-cluster-row td{background:#f3f4fa;padding:11px 10px;color:#3d4765;font-size:10px;font-weight:820;text-transform:uppercase;letter-spacing:.7px}.mo-group-dot{display:inline-block;width:8px;height:8px;margin-right:10px;border-radius:3px}.mo-table tr.mo-cluster-sub td{background:#f9faff;font-size:10.5px;font-weight:810;color:#4a5571}.mo-table tfoot td{background:#2d3355;color:#fff!important;padding:16px 8px;font-weight:800;border-top:0}.mo-table tfoot td strong{color:#fff}.mo-table .mo-edited{background:#faf8ff}.mo-override-dot{color:#8d7cff;margin-left:6px}.mo-inline-warn{margin-left:7px;font-size:9px;color:#b26b31;background:#fff3e6;border-radius:6px;padding:4px 6px}.mo-empty{text-align:center!important;color:#929aaa;padding:28px!important}.mo-residual{width:90px;padding:8px 5px;border:1px solid #e1e3ee;background:#fff;color:#414c68;border-radius:7px;font-size:10px;font-weight:750;text-align:right;font-variant-numeric:tabular-nums}.mo-residual:hover,.mo-residual:focus{border-color:#9685ff}.mo-residual.overridden{background:#efedff;border-color:#baaef5;color:#544ab3}.mo-table .mo-input-cell{white-space:nowrap}.mo-tiny-hint{font-size:10px;color:#a37945;padding:12px 5px 0;line-height:1.45}.mo-tiny-hint svg{width:12px;height:12px;vertical-align:middle}.mo-table-card .card-heading h2{font-size:15px}
@media(max-width:1350px){.mo-year-nav{grid-template-columns:repeat(12,minmax(91px,1fr))}.mo-rec-metrics strong{font-size:26px}}
@media(max-width:950px){.mo-rec-metrics{gap:10px}.mo-rec-metrics strong{font-size:21px}.mo-bar-row{grid-template-columns:86px 1fr 85px 70px;gap:6px}.mo-bar-label{font-size:10px}}
@media(max-width:700px){.mo-control{gap:15px}.mo-control-right{width:100%}.mo-month-switch .field-input{max-width:165px}.mo-reconciliation{padding:17px 14px;border-radius:15px}.mo-rec-heading{font-size:9px}.mo-rec-metrics{display:grid;grid-template-columns:minmax(0,1fr) 20px minmax(0,1fr);gap:8px;margin:18px 0}.mo-rec-metrics>div:not(.mo-rec-plus,.mo-rec-equals){padding:7px 3px}.mo-rec-metrics .mo-rec-emphasis{grid-column:1/4;grid-row:3;padding:16px!important;display:flex;flex-direction:column}.mo-rec-plus{grid-column:2;grid-row:1}.mo-rec-equals{grid-column:2;grid-row:2;align-self:center}.mo-rec-metrics strong{font-size:24px}.mo-rec-metrics small{font-size:9px}.mo-year-nav{display:flex;gap:7px;overflow-x:auto}.mo-year-month{min-width:96px;min-height:80px}.mo-bar-row{grid-template-columns:73px minmax(60px,1fr) 78px;gap:6px}.mo-bar-row small{display:none}.mo-table-card{padding:15px}.mo-table{min-width:860px}}

.mo-safety-banner{display:flex;gap:15px;align-items:center;border:1px solid #f0ce9b;background:#fff8ee;border-radius:13px;margin-top:17px;padding:14px 17px;font-size:11px;color:#87632e;line-height:1.5}.mo-safety-banner svg{width:21px;height:21px;flex:0 0 auto;color:#d79544}.mo-safety-banner>div{flex:1}.mo-safety-banner p{margin:5px 0 0;color:#9c784d}.mo-safety-banner strong{color:#815c29}.mo-safety-banner button{flex:0 0 auto}@media(max-width:700px){.mo-safety-banner{align-items:flex-start;flex-wrap:wrap}.mo-safety-banner button{margin-left:34px}}

/* TENZOA v4.7 — extra safeguards for bank movements incorrectly tagged as expenses */
.mo-to-pac{color:#655bd2;background:#f1efff;border:1px solid #e7e2fc}
.mo-to-pac:hover{background:#e5e1ff}
.mo-suspected-pac-list{display:grid;gap:6px;max-height:190px;overflow:auto;margin-top:10px}
.mo-suspected-pac-list>div{display:flex;justify-content:space-between;align-items:center;gap:13px;padding:7px 9px;border:1px solid #e4ddfc;border-radius:8px;background:#fff;font-size:11px}
.mo-suspected-pac-list span{overflow:hidden;text-overflow:ellipsis}
.mo-suspected-pac-list .btn{white-space:nowrap}

/* TENZOA 4.8: single-source FY/YTD reconciliation */
.fy-reconcile-strip{margin:16px 0 22px;border:1px solid #e0e5f0;background:#f8faff;border-radius:16px;padding:17px 19px;color:#33415f}
.fy-reconcile-title{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:13px}
.fy-reconcile-title>span{font-size:11px;font-weight:700}.reconcile-ok{color:#188975}.reconcile-bad{color:#ca5674}
.fy-reconcile-flow{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:12px 0 9px}.fy-reconcile-flow>span{border-radius:9px;padding:9px 11px;background:white;border:1px solid #ebeff5;font-size:11px;color:#7b879d}.fy-reconcile-flow strong{font-weight:800;font-size:13px;color:#172442;margin-left:5px}.fy-equals{color:#8a92a8}
.fy-reconcile-foot{font-size:10.5px;line-height:1.65;color:#6d7891}
@media(max-width:700px){.fy-reconcile-flow{gap:7px}.fy-reconcile-flow>span{flex:1 1 42%}.fy-reconcile-title{align-items:flex-start}}


/* ORVEIS v5 | brand palette */
:root{--navy:#102c2a;--navy2:#163b36;--violet:#16594e;--violet-dark:#104339;--softviolet:#edf5ef;--teal:#3f947c;--mint:#e3f3ea}
.brand-logo{background:linear-gradient(140deg,#285e52,#103d34)!important}
.brand-name{letter-spacing:2.3px!important}
.hero{background:linear-gradient(125deg,#112d2b 0%,#234e43 62%,#365d4e 100%)!important}
.nav-btn.active{background:rgba(198,177,135,.16)!important}
.orveis-cloud-banner{position:fixed;left:calc(50% - 215px);bottom:14px;max-width:min(510px,calc(100vw - 28px));width:max-content;min-width:260px;border:1px solid #b4dfcf;background:#ecf7f1;box-shadow:0 9px 28px #172d2a18;border-radius:12px;padding:11px 15px;font-size:12px;font-weight:600;color:#174a3f;z-index:250;display:none;gap:10px;align-items:center;justify-content:space-between}
.orveis-cloud-banner.show{display:flex}.orveis-cloud-banner.warn{background:#fff5e5;border-color:#eed4a8;color:#72522c}.orveis-cloud-banner.error{background:#fff0ed;border-color:#f0b6a9;color:#832a27}
.orveis-cloud-banner button{background:transparent;border:0;cursor:pointer;text-decoration:underline;color:inherit;font-weight:700}
@media(max-width:780px){.orveis-cloud-banner{left:14px;bottom:10px}}
