:root{color-scheme:light;--app-bg: #f5f7f5;--surface: #ffffff;--surface-soft: #f8faf8;--ink: #17212b;--muted: #65727f;--line: rgba(23, 33, 43, .11);--brand: #155a46;--brand-strong: #0f332b;--accent: #2f8067;--warn: #a15c13;--danger: #aa2e18;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--app-bg);color:var(--ink);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}html{width:100%;min-height:100%;background:var(--app-bg);-webkit-text-size-adjust:100%;overflow-x:hidden}*{box-sizing:border-box}body{margin:0;width:100%;min-width:320px;min-height:100vh;min-height:100dvh;overflow-x:hidden;overscroll-behavior-y:contain;background:linear-gradient(180deg,#f8faf8 0%,var(--app-bg) 44%,#eef3f1 100%),radial-gradient(circle at top left,rgba(47,128,103,.13),transparent 34%)}#root{width:100%;overflow-x:hidden}button,input,select{font:inherit}input,select,textarea{max-width:100%}button{cursor:pointer;touch-action:manipulation}@keyframes moduleEnter{0%{opacity:0;transform:translateY(10px) scale(.992)}to{opacity:1;transform:translateY(0) scale(1)}}.app-shell{width:min(1120px,calc(100vw - 332px));margin:0 24px 0 292px;padding:18px 0 40px}.app-shell>.topbar,.app-shell>.tabs{display:none}.login-shell{display:grid;width:min(100vw - 32px,430px);min-height:100vh;margin:0 auto;place-items:center;padding:32px 0}.public-shell{display:grid;gap:16px;width:min(960px,calc(100vw - 32px));margin:0 auto;padding:28px 0 40px}.public-panel{min-width:0;padding:22px;border:1px solid rgba(31,41,51,.1);border-radius:8px;background:#fffdf7f0;box-shadow:0 18px 40px #333f4e14}.public-panel h1,.public-panel h2,.public-panel p{margin:0}.public-panel h1{margin-top:8px;font-size:1.9rem;line-height:1.1}.public-panel h2{margin-bottom:12px;font-size:1rem}.public-panel>p{color:#667085}.public-badge{display:inline-flex;align-items:center;min-height:30px;padding:0 10px;border-radius:8px;background:#e8f5ee;color:#12715b;font-size:.82rem;font-weight:900}.public-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}.public-grid.single{grid-template-columns:minmax(0,1fr)}.public-progress{height:10px}.public-note{margin-top:12px!important;font-size:.92rem}.public-list{display:grid;gap:8px}.public-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-height:46px;padding:10px 12px;border:1px solid rgba(31,41,51,.1);border-radius:8px;background:#fff}.public-row span{color:#667085}.login-panel{width:100%;padding:28px;border:1px solid rgba(31,41,51,.1);border-radius:8px;background:#fffdf7f0;box-shadow:0 22px 55px #333f4e1f}.login-mark{display:grid;width:52px;height:52px;margin-bottom:18px;place-items:center;border-radius:8px;background:#1b4d3e;color:#fffdf7}.login-copy p{margin:0 0 4px;color:#667085;font-size:.9rem}.login-copy h1{margin:0 0 22px;font-size:1.75rem;letter-spacing:0}.login-form{display:grid;gap:14px}.login-mode{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:5px;margin-bottom:16px;border:1px solid rgba(31,41,51,.12);border-radius:8px;background:#fffdf7b3}.login-mode button{min-height:38px;border:0;border-radius:6px;background:transparent;color:#52606d;font-weight:800}.login-mode button.active{background:#1f2933;color:#fffdf7}.hidden{display:none!important}.login-form label{display:grid;gap:6px;color:#52606d;font-size:.86rem;font-weight:700}.login-form input,.login-form select{min-height:44px;padding:0 12px;border:1px solid rgba(31,41,51,.16);border-radius:8px;outline:0;background:#fff;color:#1f2933}.login-form input:focus,.login-form select:focus{border-color:#1b4d3e;box-shadow:0 0 0 3px #1b4d3e1f}.login-helper{color:#667085;font-size:.78rem;font-weight:700;line-height:1.35}.remember-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-top:-4px}.login-form .checkbox-line{display:inline-flex;align-items:center;gap:8px;min-width:0;color:#52606d;font-size:.82rem;line-height:1.25}.login-form .checkbox-line input{width:18px;min-width:18px;height:18px;min-height:18px;padding:0;accent-color:#1b4d3e}.small-link-button{min-height:30px;padding:0 8px;border:0;border-radius:6px;background:#edf4f1;color:#1b4d3e;font-size:.78rem;font-weight:800;white-space:nowrap}.login-error{margin:0;color:#a33a2a;font-size:.9rem;font-weight:800}.login-debug{margin:-4px 0 0;padding:8px 10px;border-radius:8px;background:#fff7d6;color:#6f4f00;font-size:.84rem;font-weight:800}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:86px;margin-bottom:14px;padding:18px;border:1px solid rgba(255,255,255,.08);border-radius:8px;background:linear-gradient(135deg,#101b24,#12382f 56%,#1d604b);color:#f8faf8;box-shadow:0 18px 42px #101b242e}.brand{display:flex;align-items:center;gap:12px}.brand-mark{display:grid;width:44px;height:44px;place-items:center;border-radius:8px;background:#ffffff1f;color:#fff}.brand p,.metric p,.list-item p,.bill-row p,.debt-row p,.account-card span,.vehicle-card span{margin:0;color:var(--muted);font-size:.88rem}.topbar .brand p{color:#f8faf8ad}.brand h1{margin:0;font-size:clamp(1.6rem,3vw,2.3rem);line-height:1.05;letter-spacing:0}.topbar .brand h1{color:#fff}.side-menu{position:fixed;top:18px;bottom:18px;left:18px;z-index:40;display:flex;flex-direction:column;gap:14px;width:250px;padding:16px;border:1px solid rgba(255,255,255,.08);border-radius:8px;background:linear-gradient(180deg,#101b24,#12382f 62%,#1d604b);color:#f8faf8;box-shadow:0 18px 42px #101b2433}.side-menu-head{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px}.side-menu-head p,.side-menu-head h1{margin:0}.side-menu-head p{color:#f8faf8a8;font-size:.82rem;font-weight:800}.side-menu-head h1{color:#fff;font-size:1.32rem;line-height:1.08}.side-close{display:none}.side-menu .tenant-switcher{width:100%;justify-content:flex-start;min-height:44px}.side-menu .tenant-switcher select{max-width:none}.side-nav{display:grid;gap:6px;min-height:0;overflow-y:auto;padding:2px 0;scrollbar-width:none}.side-nav::-webkit-scrollbar{display:none}.side-nav button{position:relative;display:flex;align-items:center;justify-content:flex-start;gap:10px;min-height:44px;padding:0 12px;border:0;border-radius:8px;background:transparent;color:#f8faf8bd;font-weight:850;text-align:left;transition:background .16s ease,color .16s ease,transform .16s ease}.side-nav button.active{background:#fff;color:#17212b;transform:translate(3px)}.side-nav button.active:before{position:absolute;top:10px;bottom:10px;left:0;width:3px;border-radius:8px;background:#2f8067;content:""}.side-menu-foot{display:grid;gap:8px;margin-top:auto}.side-menu-foot .user-badge,.side-menu-foot .icon-button{width:100%;justify-content:center}.app-header{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:46px;margin-bottom:10px;padding:0;border:0;border-radius:8px;background:transparent;box-shadow:none}.menu-trigger{display:none}.app-header-title{display:grid;min-width:0;margin-right:auto}.app-header-title span{color:var(--muted);font-size:.78rem;font-weight:800}.app-header-title strong{color:var(--ink);font-size:1.08rem;line-height:1.1}.quick-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0}.app-header .icon-button{background:#ffffffe0;box-shadow:0 8px 18px #17212b0d}.menu-backdrop{display:none}.topbar-actions{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:8px}.action-feedback{min-height:28px;padding:6px 10px;border-radius:8px;background:#ffffff1f;color:#fff;font-size:.84rem;font-weight:800}.user-badge{min-height:32px;padding:7px 10px;border:1px solid rgba(255,255,255,.14);border-radius:8px;background:#ffffff14;color:#f8faf8e0;font-size:.84rem;font-weight:800}.tenant-switcher{display:inline-flex;align-items:center;flex:0 0 auto;gap:6px;min-height:40px;padding:0 10px;border:1px solid rgba(255,255,255,.16);border-radius:8px;background:#ffffff1a;color:#fff}.tenant-switcher select{max-width:150px;border:0;outline:0;background:transparent;color:inherit;font-weight:800}.icon-button,.small-button,.secondary-button,.primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);transition:transform .15s ease,border-color .15s ease,background .15s ease}.icon-button{flex:0 0 auto;width:42px}.topbar .icon-button{border-color:#ffffff24;background:#ffffff1a;color:#fff}.icon-button.labeled{width:auto;padding:0 12px;font-weight:800}.icon-button:hover,.small-button:hover,.secondary-button:hover,.primary:hover{transform:translateY(-1px);border-color:#17212b38}.primary{padding:0 16px;background:var(--brand);color:#fff;border-color:var(--brand);font-weight:700}.primary:disabled,.secondary-button:disabled,.small-button:disabled,.icon-button:disabled{cursor:not-allowed;opacity:.55;transform:none}.small-button{width:36px;min-height:36px}.secondary-button{min-width:132px;padding:0 12px;font-size:.86rem;font-weight:800}.small-button.danger{color:var(--danger)}.page-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:16px;margin-bottom:14px;padding:16px 18px;border:1px solid var(--line);border-radius:8px;background:#ffffffdb;box-shadow:0 8px 22px #17212b0d;animation:moduleEnter .22s ease both;transform-origin:top center}.page-heading p,.page-heading h2,.page-heading span{margin:0}.page-heading p{color:var(--accent);font-size:.82rem;font-weight:800}.page-heading h2{margin-top:4px;font-size:1.55rem;line-height:1.08}.page-heading span{display:block;margin-top:6px;color:var(--muted);font-size:.92rem}.page-tools{display:grid;grid-template-columns:repeat(2,minmax(160px,1fr));gap:10px;min-width:min(100%,390px)}.finance-filters{display:grid;grid-template-columns:minmax(180px,1fr) 210px 230px;gap:12px;margin-bottom:18px}.finance-filters+.summary-grid{display:none}.field{display:flex;align-items:center;gap:8px;min-height:44px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.field input,.field select{width:100%;border:0;outline:0;background:transparent;color:var(--ink);min-width:0}.summary-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:18px}.dashboard-home{display:grid;gap:16px;animation:moduleEnter .22s ease both;transform-origin:top center}.dashboard-balance-filter{grid-template-columns:minmax(220px,360px);margin-bottom:0}.dashboard-balance-filter+.dashboard-summary{display:grid}.dashboard-summary{grid-template-columns:repeat(5,minmax(0,1fr))}.module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.module-card{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:start;gap:8px 12px;min-height:126px;padding:16px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);text-align:left;box-shadow:0 8px 24px #17212b0d}.module-card>span{display:grid;width:42px;height:42px;place-items:center;border-radius:8px;background:#edf4f1;color:var(--brand)}.module-card strong{align-self:center;font-size:1rem}.module-card small{grid-column:2;color:var(--muted);font-size:.84rem;line-height:1.35}.module-settings{display:grid;gap:10px}.module-toggle{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px;min-height:56px;padding:12px;border:1px solid var(--line);border-radius:8px;background:#fff}.module-toggle input{width:18px;height:18px;margin-top:2px;accent-color:var(--brand)}.module-toggle span{display:grid;gap:3px}.module-toggle strong,.module-toggle small{overflow-wrap:anywhere}.module-toggle small{color:var(--muted);font-size:.82rem;line-height:1.35}.metric{min-height:128px;padding:16px;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:0 8px 24px #17212b0f}.metric div{display:flex;align-items:center;gap:8px;margin-bottom:16px}.metric div span{display:inline-flex}.metric strong{display:block;font-size:1.65rem;line-height:1.1;overflow-wrap:anywhere}.metric small{display:block;margin-top:8px;color:var(--muted)}.metric.good div span,.good{color:#12715b}.metric.bad div span,.bad,.metric.warn div span{color:var(--warn)}.metric.debt div span{color:#6941c6}.metric.category div span{color:#315f72}.tabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(112px,1fr));gap:6px;padding:8px;margin-bottom:14px;border:1px solid var(--line);border-radius:8px;background:#ffffffd1;box-shadow:0 8px 22px #17212b0d}.tabs button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 10px;border:0;border-radius:6px;background:transparent;color:var(--muted);font-size:.84rem;font-weight:800}.tabs button.active{background:var(--ink);color:#fff}.workspace{display:grid;gap:16px;animation:moduleEnter .22s ease both;transform-origin:top center}.two-columns{grid-template-columns:minmax(300px,.82fr) minmax(360px,1.18fr)}.home-workspace,.notes-workspace{gap:12px}.home-module,.notes-module{display:grid;gap:16px;animation:moduleEnter .18s ease both;transform-origin:top center}.section-tabs{display:flex;gap:8px;min-width:0;overflow-x:auto;padding:6px;border:1px solid var(--line);border-radius:8px;background:#ffffffdb;box-shadow:0 8px 22px #17212b0d;scrollbar-width:none}.section-tabs::-webkit-scrollbar{display:none}.section-tabs button{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;gap:8px;min-height:40px;padding:0 12px;border:0;border-radius:7px;background:transparent;color:var(--muted);font-size:.84rem;font-weight:850;white-space:nowrap;transition:background .15s ease,color .15s ease,transform .15s ease}.section-tabs button.active{background:var(--ink);color:#fff;transform:translateY(-1px)}.section-tabs button small{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:22px;padding:0 7px;border-radius:8px;background:#edf4f1;color:var(--brand);font-size:.76rem;font-weight:900}.section-tabs button.active small{background:#ffffff2e;color:#fff}.panel{min-width:0;padding:18px;border:1px solid var(--line);border-radius:8px;background:#ffffffeb;box-shadow:0 8px 26px #17212b0f}.panel h2{margin:0 0 16px;color:var(--ink);font-size:1rem}.stacked-panels{display:grid;gap:16px}.platform-actions{display:flex;flex-wrap:wrap;gap:10px}.panel-note{margin:12px 0 0;color:#667085;font-size:.88rem}.audit-list,.registration-list{display:grid;gap:10px}.tenant-list{display:grid;gap:10px;margin-top:14px}.tenant-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-height:66px;padding:12px;border:1px solid rgba(31,41,51,.1);border-radius:8px;background:#fff}.tenant-card.active{border-color:#1b4d3e47;background:#f1faf5}.tenant-card h3,.tenant-card p{margin:0}.tenant-card h3{margin-bottom:4px;font-size:.98rem}.tenant-card p{color:#667085;font-size:.82rem}.registration-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;min-height:68px;padding:12px;border:1px solid rgba(31,41,51,.1);border-radius:8px;background:#fff}.registration-row h3,.registration-row p,.registration-row small{margin:0}.registration-row h3{margin-bottom:4px;font-size:.98rem}.registration-row p,.registration-row small{color:#667085;font-size:.82rem}.audit-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-height:54px;padding:10px 12px;border:1px solid rgba(31,41,51,.1);border-radius:8px;background:#fff}.audit-row div{display:grid;gap:3px;min-width:0}.audit-row strong,.audit-row span{overflow-wrap:anywhere}.audit-row span{color:#667085;font-size:.82rem}.audit-badge{display:inline-flex;align-items:center;min-height:30px;padding:0 9px;border-radius:8px;font-size:.78rem;font-weight:800;white-space:nowrap}.audit-badge.success{background:#e8f5ee;color:#12715b}.audit-badge.failed{background:#fff0ec;color:#aa2e18}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.form-grid label{display:grid;gap:6px;min-width:0;color:#52606d;font-size:.86rem;font-weight:700}.form-grid .wide{grid-column:1 / -1}.form-grid input,.form-grid select,.form-grid textarea{min-width:0;min-height:42px;padding:0 12px;border:1px solid rgba(23,33,43,.14);border-radius:8px;outline:0;background:var(--surface);color:var(--ink)}.form-grid textarea{min-height:96px;padding:10px 12px;resize:vertical}.toggle-row{display:flex!important;grid-template-columns:none!important;align-items:center;gap:10px;min-height:42px;padding:0 2px}.toggle-row input{width:18px;min-height:18px;margin:0;padding:0;accent-color:#1b4d3e}.form-note{margin:-2px 0 0;color:#667085;font-size:.84rem;line-height:1.35}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,.category-form input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #2f80671f}.readonly-form{opacity:.68;pointer-events:none}.list{display:grid;gap:10px}.category-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}.category-form input{min-width:0;min-height:42px;padding:0 12px;border:1px solid rgba(23,33,43,.14);border-radius:8px;outline:0;background:#fff;color:#1f2933}.category-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.category-chip{display:inline-flex;overflow:hidden;border:1px solid rgba(31,41,51,.12);border-radius:8px;background:#fff}.category-chip.active{border-color:#1b4d3e;background:#e8f5ee}.category-chip button{min-height:34px;border:0;background:transparent;color:#25313d;font-weight:800}.category-chip button:first-child{padding:0 10px}.category-chip button:last-child{width:32px;border-left:1px solid rgba(31,41,51,.1);color:#a33a2a}.list-item,.bill-row,.debt-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;min-height:68px;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.list-item h3,.bill-row h3,.debt-row h3,.account-card h3{margin:0 0 4px;font-size:.98rem;overflow-wrap:anywhere}.list-item strong,.bill-row strong,.debt-row strong{white-space:nowrap}.debt-row{align-items:start}.debt-main{display:grid;gap:8px;min-width:0}.debt-main small,.debt-values small{color:#667085;font-size:.82rem}.debt-values{display:grid;gap:2px;justify-items:end}.progress-track{display:block;width:100%;height:8px;overflow:hidden;border-radius:999px;background:#ece7dc}.progress-track span{display:block;height:100%;border-radius:inherit;background:#6941c6}.payment-history{display:flex;flex-wrap:wrap;gap:6px}.payment-history span{min-height:28px;padding:5px 8px;border-radius:8px;background:#f4f7fb;color:#52606d;font-size:.78rem;font-weight:800}.payment-form{display:grid;grid-template-columns:minmax(90px,1fr) 142px auto;gap:8px;align-items:center}.payment-form.charge-increase{grid-template-columns:minmax(90px,.8fr) 142px minmax(120px,1fr) auto}.payment-form input{min-width:0;min-height:38px;padding:0 10px;border:1px solid rgba(31,41,51,.16);border-radius:8px;outline:0;background:#fff;color:#1f2933}.payment-form input:focus{border-color:#1b4d3e;box-shadow:0 0 0 3px #1b4d3e1f}.payment-form.planned input{border-color:#315f7238}.payment-history.planned span{background:#eef6f8;color:#315f72}.payment-history button{width:24px;min-height:24px;margin-left:6px;border:0;border-left:1px solid rgba(31,41,51,.12);background:transparent;color:#a33a2a;font-weight:900}.row-actions{display:flex;gap:8px}.status{display:inline-flex;align-items:center;gap:4px;min-height:36px;padding:0 10px;border-radius:8px;background:#e8f5ee;font-size:.85rem;font-weight:800}.bill-row.paid,.debt-row.paid{opacity:.72}.account-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.vehicle-filter{display:flex;align-items:center;gap:8px;min-height:42px;margin-bottom:12px;padding:0 12px;border:1px solid rgba(31,41,51,.12);border-radius:8px;background:#fff;color:#25313d}.vehicle-filter select{width:100%;min-width:0;border:0;outline:0;background:transparent;color:inherit;font-weight:800}.vehicle-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.vehicle-metrics .metric{min-height:118px;padding:14px}.vehicle-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.account-card{position:relative;min-height:148px;padding:16px;border:1px solid rgba(31,41,51,.1);border-radius:8px;background:#fff}.vehicle-card{position:relative;min-height:132px;padding:16px;border:1px solid rgba(31,41,51,.1);border-radius:8px;background:#fff}.account-card div{display:flex;align-items:center;gap:8px;margin-bottom:18px;color:#1b4d3e}.vehicle-card div{display:flex;align-items:center;gap:8px;margin-bottom:14px;color:#315f72}.account-card strong{display:block;font-size:1.45rem}.vehicle-card h3,.vehicle-card p{margin:0}.vehicle-card h3{margin-bottom:4px;font-size:1rem}.vehicle-card p{color:#667085;font-size:.86rem}.account-card button,.vehicle-card button{position:absolute;right:12px;bottom:12px}.vault-unlock{display:grid;gap:14px}.vault-unlock label{display:grid;gap:6px;color:#52606d;font-size:.86rem;font-weight:700}.vault-unlock input{min-height:44px;padding:0 12px;border:1px solid rgba(31,41,51,.16);border-radius:8px;outline:0;background:#fff;color:#1f2933}.vault-lock-mark{display:grid;width:52px;height:52px;place-items:center;border-radius:8px;background:#1f2933;color:#fffdf7}.vault-warning{margin:0;color:#52606d;font-size:.9rem;line-height:1.45}.vault-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.vault-toolbar span{color:#52606d;font-weight:800}.vault-category-form,.vault-filters{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;margin-top:12px}.vault-category-form .field,.vault-filters .field{margin:0}.vault-search{margin-bottom:12px}.vault-filters .vault-search{margin-bottom:0}.vault-list{display:grid;gap:10px}.vault-entry{display:grid;gap:10px;padding:14px;border:1px solid rgba(31,41,51,.1);border-radius:8px;background:#fff}.vault-entry-head,.vault-secret-line{display:grid;align-items:center;gap:10px}.vault-entry-head{grid-template-columns:minmax(0,1fr) auto}.vault-entry-head h3,.vault-entry-head span,.vault-entry p{margin:0}.vault-entry-head h3{margin-top:3px;font-size:1rem}.vault-entry-head span,.vault-secret-line span,.vault-entry p,.vault-link{color:#667085;font-size:.86rem}.vault-secret-line{grid-template-columns:76px minmax(0,1fr) auto auto;min-height:38px;padding:8px 10px;border-radius:8px;background:#f4f7fb}.vault-secret-line strong{min-width:0;overflow-wrap:anywhere}.vault-link{overflow-wrap:anywhere;font-weight:800}.home-board,.notes-list{display:grid;gap:10px}.home-item,.note-card{display:grid;gap:12px;min-width:0;padding:14px;border:1px solid rgba(31,41,51,.1);border-radius:8px;background:#fff}.note-card.status-done,.note-card.status-bought{opacity:.68}.note-card.status-postponed{border-color:#a15c1338;background:#fffaf0}.home-item{grid-template-columns:auto minmax(0,1fr) auto;align-items:start}.home-item.done{opacity:.66}.home-item-icon{display:grid;width:38px;height:38px;place-items:center;border-radius:8px;background:#eef6f8;color:#315f72}.home-item h3,.home-item p,.home-item span,.note-card h3,.note-card p,.note-card span{margin:0}.home-item h3,.note-card h3{margin-top:3px;font-size:1rem}.home-item span,.home-item p,.note-card span,.note-card p{color:#667085;font-size:.86rem;line-height:1.4}.note-card-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px}.note-card-toggle{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:start;gap:8px;min-width:0;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.note-card-toggle svg{margin-top:2px;color:#667085}.note-card-toggle h3{overflow-wrap:anywhere}.note-card-toggle:hover h3{color:#1b4d3e}.note-card.collapsed{gap:0}.note-card.collapsed .note-card-toggle span{display:none}.note-card.collapsed .note-card-toggle h3{margin-top:0}.note-card-body{display:grid;gap:10px}.note-card.status-done h3,.note-card.status-bought h3{text-decoration:line-through}.note-link{display:inline-flex;align-items:center;gap:6px;color:#315f72;font-size:.86rem;font-weight:800;overflow-wrap:anywhere}.note-checklist{display:grid;gap:8px}.note-checklist label{display:flex;align-items:flex-start;gap:8px;min-height:32px;padding:8px 10px;border-radius:8px;background:#f4f7fb;color:#25313d;font-size:.88rem}.note-checklist input{margin-top:2px;accent-color:#1b4d3e}.note-checklist label.checked{color:#667085;text-decoration:line-through}.user-list{display:grid;gap:10px}.user-row{display:grid;grid-template-columns:minmax(0,1fr) 150px 160px auto auto;align-items:center;gap:10px;min-height:70px;padding:12px;border:1px solid rgba(31,41,51,.1);border-radius:8px;background:#fff}.user-row h3,.user-row p,.user-row small{margin:0}.user-row h3{margin-bottom:4px;font-size:.98rem}.user-row p{color:#667085;font-size:.86rem}.user-row small{display:block;margin-top:4px;color:#12715b;font-size:.78rem;font-weight:800}.user-row input,.user-row select{min-width:0;min-height:38px;padding:0 10px;border:1px solid rgba(31,41,51,.16);border-radius:8px;background:#fff;color:#1f2933}.empty{margin:0;padding:24px;border:1px dashed rgba(31,41,51,.2);border-radius:8px;color:#667085;text-align:center}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:920px){.app-shell{width:min(100% - 20px,760px);margin:0 auto;padding:10px 0 32px}.side-menu{top:0;bottom:0;left:0;width:min(84vw,300px);border-radius:0 8px 8px 0;transform:translate(-105%);transition:transform .18s ease}.menu-open .side-menu{transform:translate(0)}.menu-backdrop{position:fixed;inset:0;z-index:35;display:none;border:0;background:#101b2461}.menu-open .menu-backdrop{display:block}.side-close,.menu-trigger{display:inline-flex}.summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-summary,.module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.two-columns{grid-template-columns:1fr}}@media(max-width:760px){.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.module-grid{grid-template-columns:1fr}}@media(max-width:640px){html,body,#root{width:100%;max-width:100%;overflow-x:hidden}body{background:radial-gradient(circle at 50% -10%,#ffffffeb 0,#fff0 38%),linear-gradient(180deg,#edf4f1,#f7f5ef 42%,#fff)}.app-shell{width:100%;max-width:520px;overflow-x:hidden;padding:calc(8px + env(safe-area-inset-top)) 8px calc(28px + env(safe-area-inset-bottom))}.app-shell>.topbar,.app-shell>.tabs{display:none}.app-header{align-items:center;gap:8px;min-height:44px;margin-bottom:8px;padding:0}.app-header-title strong{font-size:1rem}.quick-actions{flex:0 1 auto;gap:6px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.quick-actions::-webkit-scrollbar{display:none}.quick-actions .icon-button{width:38px;min-height:38px}.quick-actions .action-feedback{flex:0 0 auto;color:var(--ink);background:#edf4f1}.topbar{align-items:flex-start;flex-direction:column;gap:12px;min-height:auto;margin-bottom:8px;padding:14px;border-color:#ffffff29;box-shadow:0 16px 34px #17212b2e}.brand{width:100%;min-width:0}.brand-mark{flex:0 0 42px;width:42px;height:42px}.brand p{font-size:.78rem}.brand h1{font-size:1.2rem;line-height:1.12;overflow-wrap:anywhere}.topbar-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%;align-items:stretch;gap:8px;overflow:visible;padding:0}.topbar-actions::-webkit-scrollbar,.summary-grid::-webkit-scrollbar,.tabs::-webkit-scrollbar{display:none}.action-feedback{grid-column:1 / -1;min-height:34px}.tenant-switcher{grid-column:span 2;justify-content:center;min-width:0;min-height:42px;padding:0 8px;background:#fffffff0}.tenant-switcher select{min-width:0;max-width:100%;font-size:.86rem}.user-badge{grid-column:span 2;display:flex;align-items:center;justify-content:center;min-width:0;min-height:42px;padding:0 8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page-heading,.page-tools,.finance-filters,.form-grid,.category-form,.account-grid,.home-module,.notes-module,.vehicle-grid,.vehicle-metrics{grid-template-columns:1fr}.page-heading{grid-template-columns:1fr;align-items:start;gap:14px;min-height:112px;margin-bottom:12px;padding:16px;border-color:#17212b14;background:#fffffff0;box-shadow:0 16px 36px #17212b14}.page-heading h2{font-size:1.46rem;line-height:1.08}.page-heading p,.page-heading span{line-height:1.35}.page-tools,.finance-filters{width:100%}.finance-filters{position:static;gap:10px;margin-bottom:12px;padding:0;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}.field{min-height:46px}.field input,.field select,.form-grid input,.form-grid select,.form-grid textarea,.category-form input,.payment-form input,.vehicle-filter select,.login-form input,.login-form select,.user-row input,.user-row select{font-size:16px}.toggle-row input{width:18px;min-height:18px}.summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 14px;overflow:visible;padding:0}.metric{min-height:112px;padding:14px;border-color:#17212b14;box-shadow:0 10px 24px #17212b0f}.metric div{margin-bottom:12px}.metric strong{font-size:1.42rem}.dashboard-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.module-grid{grid-template-columns:1fr;gap:10px}.module-card{min-height:104px;padding:14px}.tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));position:fixed;right:8px;bottom:calc(8px + env(safe-area-inset-bottom));left:8px;z-index:30;max-width:520px;margin:0;margin-inline:auto;overflow:hidden;padding:7px;border-radius:8px;border:1px solid rgba(23,33,43,.08);background:#fffffff7;box-shadow:0 16px 36px #17212b33;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.tabs button{flex-direction:column;gap:4px;min-width:0;min-height:50px;padding:6px 4px;font-size:.68rem;line-height:1.05;overflow:hidden;border-radius:7px}.tabs button svg{flex:0 0 auto;width:19px;height:19px}.tabs button span{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.panel{padding:15px;border-color:#17212b14;background:#fffffff2;box-shadow:0 10px 24px #17212b0f}.panel h2{margin-bottom:12px}.form-grid{gap:10px}.section-tabs{padding:5px}.section-tabs button{min-height:42px;padding:0 10px;font-size:.8rem}.form-grid input,.form-grid select,.form-grid textarea,.login-form input,.user-row input,.user-row select{min-height:46px}.list-item,.bill-row,.debt-row,.home-item,.note-card,.vault-entry,.account-card,.vehicle-card,.tenant-card,.note-card-head,.vault-entry-head,.vault-secret-line,.audit-row,.registration-row,.user-row{grid-template-columns:1fr;align-items:start}.list-item,.bill-row,.debt-row,.home-item,.note-card,.vault-entry,.account-card,.vehicle-card{border-color:#17212b14;box-shadow:0 8px 18px #17212b0b}.audit-badge{justify-self:start;white-space:normal}.payment-form,.payment-form.charge-increase{grid-template-columns:1fr}.debt-values{justify-items:start}.row-actions{width:100%;justify-content:flex-start}.vault-toolbar{align-items:stretch;flex-direction:column}.vault-category-form,.vault-filters{grid-template-columns:1fr}.status,.category-form .primary,.secondary-button,.primary{width:100%}.list-item strong,.bill-row strong,.debt-row strong{white-space:normal}.icon-button,.small-button{min-height:44px}.icon-button{width:100%;min-width:0}.icon-button.labeled{width:100%}.small-button{width:44px}.account-card button{right:10px;bottom:10px}.login-shell{width:100%;max-width:460px;align-items:stretch;min-height:100dvh;margin:0 auto;padding:calc(16px + env(safe-area-inset-top)) 12px calc(16px + env(safe-area-inset-bottom));background:radial-gradient(circle at 50% -10%,#fffffff0 0,#fff0 40%),linear-gradient(180deg,#eef5f1,#f8f4ec 52%,#fff)}.login-panel{align-self:center;width:100%;padding:24px;border-color:#17212b14;box-shadow:0 18px 42px #17212b1f}.public-shell{width:100%;padding:calc(10px + env(safe-area-inset-top)) 10px calc(28px + env(safe-area-inset-bottom))}.public-panel{padding:16px}.public-panel h1{font-size:1.45rem}.public-grid{display:flex;gap:10px;overflow-x:auto;padding-bottom:6px;scrollbar-width:none}.public-grid::-webkit-scrollbar{display:none}.public-grid .metric{flex:0 0 min(78vw,260px)}.public-row{grid-template-columns:1fr;align-items:start}}@media(max-width:380px){.app-shell{padding-inline:8px}.tabs button span{font-size:.62rem}.metric strong{font-size:1.3rem}}
