:root{--navy:#142b4a;--blue:#2369d8;--blue-hover:#1c5ebf;--blue-soft:#edf4ff;--blue-focus:rgba(35,105,216,.25);--blue-focus-soft:rgba(35,105,216,.08);--orange:#f2682a;--green:#198754;--green-soft:#e8f6ef;--purple:#7c5bd6;--teal:#0d9488;--ink:#172033;--muted:#6c778c;--label:#4d586b;--placeholder:#8791a3;--line:#e5e9f0;--surface:#ffffff;--canvas:#f5f7fb;--hover:#f3f6fa;--field-bg:#fbfcfe;--field-border:#dce2eb;--red:#a23b3b;--red-soft:#fff0f0;--red-border:#f0c7c7;--yellow:#a95c0a;--yellow-soft:#fff3df;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-7:32px;--sp-8:40px;--radius-sm:7px;--radius-md:9px;--radius-lg:14px;--radius-xl:18px;--radius-pill:999px;--shadow-sm:0 1px 3px rgba(0,0,0,.08);--shadow-md:0 3px 14px rgba(20,43,74,.035);--shadow-lg:0 8px 24px rgba(17,31,52,.12);--shadow-xl:0 22px 70px rgba(20,43,74,.1);--shadow-button:0 8px 20px rgba(35,105,216,.18);--shadow-drawer:-18px 0 50px rgba(17,31,52,.15);--shadow-modal:0 30px 90px rgba(17,31,52,.22);--font-2xs:9px;--font-xs:10px;--font-sm:12px;--font-base:13px;--font-md:16px;--font-lg:20px;--font-xl:31px;--btn-height:40px;--btn-icon-size:36px;--input-height:44px;--sidebar-width:248px;--topbar-height:68px;--transition:.2s ease;color-scheme:light}*{box-sizing:border-box}body,html{min-height:100%;min-height:100dvh}html{overscroll-behavior:none;-webkit-tap-highlight-color:transparent}body{margin:0;color:var(--ink);background:var(--canvas);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}button,input,select,textarea{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible{outline:3px solid var(--blue-focus);outline-offset:2px}.tenant-login-page{min-height:100vh;display:grid;place-items:center;padding:var(--sp-6);position:relative;overflow:hidden;background:radial-gradient(circle at 15% 10%,rgba(255,255,255,.1),transparent 40%),radial-gradient(circle at 85% 90%,rgba(255,255,255,.08),transparent 45%),linear-gradient(160deg,#102846,#1f5dae 60%,#2369d8)}.tenant-login-brand{display:flex;flex-direction:column;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-6);position:relative;z-index:1}.tenant-login-logo{width:56px;height:56px;display:grid;place-items:center;border-radius:var(--radius-lg) var(--radius-lg) var(--radius-lg) var(--sp-1);background:linear-gradient(145deg,var(--orange),#e64b1c);font-size:28px;font-weight:800;color:white}.tenant-login-brand strong{color:white;font-size:var(--font-lg);letter-spacing:.08em;text-transform:uppercase}.tenant-login-brand span{color:#cfe0f8;font-size:var(--font-base)}.tenant-login-card{width:min(420px,100%);padding:42px;border:1px solid rgba(255,255,255,.5);border-radius:var(--radius-xl);background:white;box-shadow:var(--shadow-xl);position:relative;z-index:1}.tenant-login-card h2{margin:0 0 var(--sp-2);font-size:26px}.tenant-login-card>p:not(.eyebrow){color:var(--muted)}.tenant-login-card form{margin:28px 0 0;display:grid;grid-gap:var(--sp-4);gap:var(--sp-4)}.tenant-login-card label{display:grid;grid-gap:var(--sp-2);gap:var(--sp-2);color:var(--label);font-size:var(--font-sm);font-weight:700}.tenant-login-card input{height:48px;padding:0 var(--sp-4);border:1px solid var(--field-border);border-radius:var(--radius-md);background:var(--field-bg)}.tenant-login-card form>button{height:50px;margin-top:var(--sp-1);border:0;border-radius:var(--radius-md);color:white;background:var(--blue);cursor:pointer;font-weight:800;transition:background var(--transition)}.tenant-login-card form>button:hover{background:var(--blue-hover)}.tenant-login-card form>button:disabled{opacity:.5;cursor:not-allowed}.tenant-login-back{display:inline-flex;align-items:center;gap:6px;margin-bottom:var(--sp-3);border:0;background:none;padding:0;color:var(--muted);font-size:var(--font-sm);font-weight:600;cursor:pointer}.tenant-login-back:hover{color:var(--blue)}.tenant-login-forgot{justify-self:end;margin-top:calc(-1 * var(--sp-2));color:var(--blue);font-size:var(--font-sm);font-weight:600;text-decoration:none}.tenant-login-forgot:hover{text-decoration:underline}.login-error{padding:11px var(--sp-3);border-radius:var(--radius-md);color:#9f2f2f;background:var(--red-soft);font-size:var(--font-base)}.tenant-selector{display:grid;grid-gap:var(--sp-2);gap:var(--sp-2);margin-top:var(--sp-2)}.tenant-option{display:flex;align-items:center;gap:var(--sp-3);width:100%;padding:var(--sp-3) var(--sp-4);border:1px solid var(--field-border);border-radius:var(--radius-md);background:var(--field-bg);cursor:pointer;font:inherit;font-size:14px;font-weight:600;color:var(--ink);text-align:left;transition:border-color var(--transition),background var(--transition)}.tenant-option.selected,.tenant-option:hover{border-color:var(--blue);background:var(--blue-soft)}.tenant-option:disabled{opacity:.6;cursor:not-allowed}.tenant-option input[type=radio]{accent-color:var(--blue)}.tenant-option-avatar{display:grid;place-items:center;flex-shrink:0;width:36px;height:36px;border-radius:50%;background:var(--blue-soft);color:var(--blue)}.login-divider{display:flex;align-items:center;gap:var(--sp-3);margin:var(--sp-4) 0;color:var(--muted);font-size:var(--font-sm)}.login-divider:after,.login-divider:before{content:"";flex:1 1;height:1px;background:var(--line)}.profile-content form{padding:var(--sp-4) var(--sp-3)}.profile-content .logout-button{width:100%;height:var(--btn-height);border:1px solid var(--red-border);border-radius:var(--radius-md);color:var(--red);background:#fff7f7;cursor:pointer;font-weight:700;transition:background var(--transition)}.app-shell{min-height:100vh;padding-left:var(--sidebar-width);transition:padding-left var(--transition)}.app-shell.is-collapsed{--sidebar-width:80px}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar-width);z-index:40;display:flex;flex-direction:column;background:var(--surface);border-right:1px solid var(--line);transition:width var(--transition);overflow:hidden}.app-shell.is-collapsed .sidebar.is-peek{width:248px;box-shadow:12px 0 32px rgba(17,31,52,.18);overflow:visible}.brand-row{min-height:var(--topbar-height);display:flex;align-items:center;gap:11px;padding:0 var(--sp-4);border-bottom:1px solid var(--line)}.brand-mark{flex:0 0 auto;width:35px;height:35px;display:grid;place-items:center;border-radius:11px 11px 11px 3px;color:white;background:linear-gradient(145deg,var(--orange),#e64b1c);font-weight:800;font-size:16px}.brand-row>div:nth-child(2){min-width:0;display:grid}.brand-row strong{display:block;font-size:var(--font-sm);font-weight:700;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand-row span{color:var(--muted);font-size:var(--font-xs);white-space:nowrap}.collapse-button{margin-left:auto}.icon-button{width:var(--btn-icon-size);height:var(--btn-icon-size);border:0;border-radius:var(--radius-md);display:inline-grid;place-items:center;background:transparent;cursor:pointer;transition:background var(--transition)}.icon-button:hover{background:var(--hover)}.nav-arrow-button{width:34px;height:34px;border:1px solid var(--line);border-radius:var(--radius-sm);display:grid;place-items:center;background:white;cursor:pointer;transition:border-color var(--transition)}.nav-arrow-button:hover{border-color:#a9c4ed;color:var(--blue)}.nav-list{padding:var(--sp-2) var(--sp-2);overflow-y:auto;flex:1 1;display:flex;flex-direction:column;gap:1px}.nav-section,.nav-section-toggle{height:14px;margin:var(--sp-1) var(--sp-2) 2px;color:#9aa3b3;font-size:var(--font-2xs);font-weight:800;letter-spacing:.1em;text-transform:uppercase}.nav-section-toggle{width:100%;padding:0;border:0;background:transparent;display:flex;align-items:center;justify-content:space-between;cursor:pointer;transition:color var(--transition)}.nav-section-toggle:hover{color:var(--label)}.nav-section-toggle .nav-chevron{flex-shrink:0}.nav-item{position:relative;width:100%;height:28px;padding:0 var(--sp-2);border:0;border-radius:var(--radius-md);display:flex;align-items:center;gap:var(--sp-2);background:transparent;color:var(--label);cursor:pointer;text-align:left;text-decoration:none;white-space:nowrap;transition:background var(--transition),color var(--transition);font-size:var(--font-sm)}.nav-item:hover{background:var(--hover);color:var(--navy)}.nav-item.active{background:var(--blue-soft);color:var(--blue);font-weight:700}.nav-item.active:before{content:"";position:absolute;left:calc(var(--sp-2) * -1);width:3px;height:18px;border-radius:0 var(--sp-1) var(--sp-1) 0;background:var(--blue)}.nav-item small{margin-left:auto;min-width:18px;height:16px;display:grid;place-items:center;border-radius:var(--sp-2);color:var(--blue);background:white;font-weight:800;font-size:10px}.sidebar-footer{margin-top:auto;padding:var(--sp-3) var(--sp-3) var(--sp-5);border-top:1px solid var(--line)}.version{display:block;padding:var(--sp-2) var(--sp-3) 0;color:#a0a9b8;font-size:var(--font-xs)}.nav-sub-item{height:26px;font-size:var(--font-sm)}.nav-sub-dot{width:6px;height:6px;border-radius:50%;background:var(--muted);flex-shrink:0}.nav-subsection-toggle{margin:var(--sp-1) var(--sp-2) 2px}.nav-chevron{margin-left:auto;transition:transform var(--transition);color:var(--muted)}.nav-chevron.open{transform:rotate(180deg)}.is-collapsed .nav-item{justify-content:center;padding:0}.sidebar.is-peek .nav-item{justify-content:flex-start;padding:0 var(--sp-2)}.is-collapsed .collapse-button{margin-left:0}.top-float{position:fixed;top:0;left:var(--sidebar-width);right:0;z-index:30;height:0;pointer-events:none;transition:left var(--transition)}.top-float:before{content:"";position:absolute;top:0;left:0;right:0;height:58px;background:linear-gradient(var(--canvas),var(--canvas) 70%,transparent)}.top-float-actions{position:absolute;top:var(--sp-4);right:var(--sp-7);display:flex;align-items:center;gap:var(--sp-2);pointer-events:auto}.top-float-actions .period-chip,.top-float-actions .primary-button,.top-float-actions .secondary-button{height:32px;padding:0 var(--sp-3);font-size:var(--font-xs)}.top-float-actions .icon-button{width:30px;height:30px}.top-float-actions .icon-button svg{width:16px;height:16px}.top-float-actions .avatar-button{width:32px;height:32px;font-size:var(--font-sm)}.period-chip{border-radius:var(--radius-pill);display:inline-flex;align-items:center;gap:var(--sp-2);background:var(--navy);color:#fff;font-weight:700}.period-chip,.top-float-new-button{white-space:nowrap}.mobile-menu-btn{display:none;pointer-events:auto}.notification-button{position:relative}.avatar-button{width:38px;height:38px;border:0;border-radius:50%;color:#33506f;background:#dbe6ef;font-weight:800;cursor:pointer;transition:opacity var(--transition);overflow:hidden}.avatar-button img{width:100%;height:100%;object-fit:cover;border-radius:50%}.table-search{display:flex;align-items:center;gap:var(--sp-2);height:34px;padding:0 var(--sp-3);border:1px solid var(--line);border-radius:var(--radius-md);color:var(--placeholder);background:var(--field-bg);transition:border-color var(--transition)}.table-search:focus-within{border-color:#97b9ee}.table-search input{width:160px;border:0;outline:none;color:var(--ink);background:transparent;font-size:var(--font-sm)}.main-content{max-width:1920px;margin:0 auto;padding:var(--sp-7)}.page-heading{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--sp-6);margin-bottom:var(--sp-6)}.page-heading-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-3)}.page-heading-actions select{height:40px;padding:0 var(--sp-3);border:1px solid var(--field-border);border-radius:var(--radius-md);background:var(--field-bg);font:inherit;color:inherit}.eyebrow{margin-bottom:6px;color:var(--blue);font-size:var(--font-sm);font-weight:800;letter-spacing:.08em;text-transform:uppercase}h1,h2,p{margin-top:0}h1{margin-bottom:6px;font-size:clamp(26px,2.2vw,36px);letter-spacing:-.035em}.page-heading p,.panel-heading p{margin-bottom:0;color:var(--muted)}.primary-button,.secondary-button{height:var(--btn-height);border:0;border-radius:var(--radius-md);display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);cursor:pointer;font-weight:700;text-decoration:none;transition:background var(--transition)}.primary-button{padding:0 var(--sp-5);color:white;background:var(--blue);box-shadow:var(--shadow-button)}.primary-button:hover{background:var(--blue-hover)}.primary-button:disabled{opacity:.5;cursor:not-allowed}.secondary-button{padding:0 var(--sp-3);color:var(--blue);background:var(--blue-soft)}.danger-button{height:var(--btn-height);padding:0 var(--sp-4);border:1px solid var(--red-border);border-radius:var(--radius-md);display:inline-flex;align-items:center;gap:var(--sp-2);color:var(--red);background:var(--red-soft);cursor:pointer;font-weight:700}.metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:var(--sp-4);gap:var(--sp-4);margin-bottom:var(--sp-5)}.metric-card{position:relative;min-height:148px;padding:var(--sp-5);overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-md)}.metric-card:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--accent)}.metric-card>span{display:block;margin-bottom:var(--sp-3);color:var(--muted);font-size:var(--font-base);font-weight:600}.metric-card strong{display:block;margin-bottom:var(--sp-2);font-size:var(--font-xl);letter-spacing:-.04em}.metric-card small{color:var(--muted)}.metric-card>svg{position:absolute;top:var(--sp-5);right:var(--sp-5);width:35px;height:35px;padding:var(--sp-2);border-radius:var(--radius-md);color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,white)}.metric-card.metric-active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.filter-tabs{display:flex;gap:0;margin-bottom:var(--sp-4);border-bottom:1px solid var(--line)}.main-content>.filter-tabs:first-child{margin-top:var(--sp-5)}.filter-tab{padding:var(--sp-2) var(--sp-4);font-size:var(--font-sm);font-weight:600;background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;color:var(--muted);transition:color var(--transition),border-color var(--transition);display:inline-flex;align-items:center;gap:var(--sp-2);white-space:nowrap}.filter-tab:hover{color:var(--label)}.filter-tab.active{color:var(--blue);border-bottom-color:var(--blue)}.filter-tab .tab-count{font-size:11px;background:var(--hover);padding:1px 6px;border-radius:var(--radius-pill);color:var(--muted);font-weight:600}.accent-blue{--accent:var(--blue)}.accent-orange{--accent:var(--orange)}.accent-green{--accent:var(--green)}.accent-purple{--accent:var(--purple)}.accent-teal{--accent:var(--teal)}.accent-red{--accent:var(--red)}.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;grid-gap:var(--sp-5);gap:var(--sp-5)}.content-grid-nav-left{display:grid;grid-template-columns:280px minmax(0,1fr);grid-gap:var(--sp-5);gap:var(--sp-5)}.two-col-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--sp-5);gap:var(--sp-5);align-items:start}.proposal-item-row{display:grid;grid-template-columns:1fr 80px 120px auto}.material-request-item-row{display:grid;grid-template-columns:1fr 140px auto}.contact-item-row{display:grid;grid-template-columns:1.3fr 1.1fr 1fr 1.3fr auto;grid-gap:var(--sp-2);gap:var(--sp-2);align-items:end}.kanban-toolbar{gap:var(--sp-4);padding:0 0 var(--sp-4)}.kanban-search,.kanban-toolbar{display:flex;align-items:center}.kanban-search{gap:var(--sp-2);flex:1 1;max-width:360px;height:var(--input-height);padding:0 var(--sp-3);border:1px solid var(--field-border);border-radius:var(--radius-md);background:var(--field-bg);color:var(--muted)}.kanban-search input{border:0;background:transparent;outline:none;width:100%;font-size:var(--font-base);color:var(--text)}.kanban-count{font-size:var(--font-sm);color:var(--muted);margin-left:auto}.kanban-container{display:flex;gap:var(--sp-4);overflow-x:auto;padding-bottom:var(--sp-4);min-height:400px}.kanban-column{flex:1 1;min-width:220px;max-width:320px;display:flex;flex-direction:column;border-radius:var(--radius-lg);background:#f4f6f9}.kanban-column-header{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-3) var(--sp-4);border-bottom:3px solid var(--col-color,var(--line))}.kanban-column-title{font-size:var(--font-base);font-weight:700;color:var(--ink)}.kanban-column-count{font-size:var(--font-xs);font-weight:700;color:white;background:var(--col-color,var(--muted));padding:2px 8px;border-radius:var(--radius-pill)}.kanban-column-body{flex:1 1;padding:var(--sp-3);display:flex;flex-direction:column;gap:var(--sp-3);overflow-y:auto}.kanban-card{background:white;border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--sp-3) var(--sp-4);cursor:pointer;transition:box-shadow var(--transition),border-color var(--transition)}.kanban-card:hover{border-color:var(--blue);box-shadow:0 2px 8px rgba(35,105,216,.12)}.kanban-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--sp-1)}.kanban-card-id{font-size:var(--font-xs);color:var(--muted);font-weight:600}.kanban-card-title{font-size:var(--font-base);font-weight:600;color:var(--ink);margin:0 0 var(--sp-2);line-height:1.35}.kanban-card-category{background:#edf0f4;padding:2px 8px;border-radius:var(--radius-pill);display:inline-block;margin-bottom:var(--sp-2)}.kanban-card-category,.kanban-card-footer{font-size:var(--font-xs);color:var(--muted)}.kanban-card-footer{display:flex;justify-content:space-between}.kanban-card-sla{font-size:var(--font-xs);color:var(--yellow);margin-top:var(--sp-2);font-weight:600}.kanban-priority{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--priority-color,var(--muted));border:1px solid var(--priority-color,var(--line));padding:1px 6px;border-radius:var(--radius-pill)}.kanban-empty{text-align:center;color:var(--muted);font-size:var(--font-sm);padding:var(--sp-5) 0}.kanban-card[draggable=true]{cursor:-webkit-grab;cursor:grab}.kanban-card[draggable=true]:active{cursor:-webkit-grabbing;cursor:grabbing}.kanban-card-dragging{opacity:.4;border-style:dashed}.kanban-column-dragover{background:#e8edfa;outline:2px dashed var(--blue);outline-offset:-2px;border-radius:var(--radius-lg)}.kanban-grip{color:var(--muted);vertical-align:middle;margin-right:2px}.kanban-card-delete{background:none;border:none;color:var(--muted);cursor:pointer;padding:2px;border-radius:var(--radius-sm);transition:color var(--transition),background var(--transition)}.kanban-card-delete:hover,.kanban-error{color:var(--red);background:var(--red-soft)}.kanban-error{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);margin-bottom:var(--sp-4);border:1px solid var(--red-border);border-radius:var(--radius-md);font-size:var(--font-sm)}.kanban-error button{background:none;border:none;color:var(--red);cursor:pointer}.kanban-loading{position:fixed;bottom:var(--sp-5);right:var(--sp-5);background:var(--navy);color:white;padding:var(--sp-2) var(--sp-4);border-radius:var(--radius-pill);font-size:var(--font-sm);font-weight:600;z-index:1000;box-shadow:var(--shadow-lg)}.kanban-create-modal{width:min(560px,95vw);max-height:calc(100vh - 40px);overflow-y:auto}.kanban-modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-5) var(--sp-5) var(--sp-4);border-bottom:1px solid var(--line)}.kanban-modal-header h2{font-size:var(--font-lg);font-weight:700;color:var(--ink);margin:0}.kanban-modal-header button{background:none;border:none;color:var(--muted);cursor:pointer}.kanban-create-form{display:block;padding:var(--sp-4) var(--sp-5) var(--sp-5)}.kanban-create-form label{display:flex;flex-direction:column;gap:var(--sp-1);font-size:var(--font-sm);color:var(--label);font-weight:600;margin-bottom:var(--sp-4)}.kanban-create-form input,.kanban-create-form select,.kanban-create-form textarea{height:var(--input-height);padding:0 var(--sp-3);border:1px solid var(--field-border);border-radius:var(--radius-md);background:var(--field-bg);font-size:var(--font-base);color:var(--text)}.kanban-create-form textarea{height:auto;padding:var(--sp-2) var(--sp-3);resize:vertical}.kanban-create-form footer{display:flex;justify-content:flex-end;gap:var(--sp-2);padding-top:var(--sp-3);border-top:1px solid var(--line)}.kanban-create-form footer button{height:var(--btn-height);padding:0 var(--sp-5);border:1px solid var(--line);border-radius:var(--radius-md);background:white;cursor:pointer;font-weight:600;transition:background var(--transition)}.kanban-create-form footer button[type=submit]{color:white;border-color:var(--blue);background:var(--blue)}.kanban-create-form footer button[type=submit]:disabled{opacity:.5;cursor:not-allowed}.kanban-form-error{padding:var(--sp-2) var(--sp-3);background:var(--red-soft);border:1px solid var(--red-border);border-radius:var(--radius-md);color:var(--red);font-size:var(--font-sm);margin-bottom:var(--sp-3)}.panel{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-md)}.panel-heading{min-height:76px;padding:var(--sp-5);display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4)}.panel-heading h2{margin-bottom:var(--sp-1);font-size:var(--font-md);letter-spacing:-.015em}.panel-heading p{font-size:var(--font-sm)}.table-tools{min-height:49px;padding:var(--sp-2) var(--sp-3) var(--sp-2) var(--sp-5);border-block:1px solid var(--line);align-items:center;justify-content:space-between;gap:var(--sp-2)}.segmented,.table-tools{display:flex;flex-wrap:wrap}.segmented{gap:var(--sp-1);padding:3px;border-radius:var(--radius-md);background:#f2f4f8}.segmented a,.segmented button{height:29px;padding:0 var(--sp-3);border:0;border-radius:var(--radius-sm);display:inline-flex;align-items:center;color:var(--muted);background:transparent;cursor:pointer;font-size:var(--font-sm);text-decoration:none;white-space:nowrap;transition:background var(--transition),color var(--transition)}.segmented .selected{color:var(--ink);background:white;font-weight:700;box-shadow:var(--shadow-sm)}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:var(--font-sm);white-space:nowrap}th{padding:var(--sp-3) var(--sp-4);color:#7c8698;background:#fafbfd;font-size:var(--font-xs);letter-spacing:.045em;text-align:left;text-transform:uppercase}td{height:52px;padding:var(--sp-2) var(--sp-4);border-top:1px solid #edf0f4}tbody tr{cursor:pointer;transition:background var(--transition)}tbody tr:hover{background:#f9fbff}td strong{font-weight:600}.columns-menu-wrap{position:relative}.columns-menu{position:absolute;z-index:90;top:calc(100% + 6px);right:0;width:220px;max-width:calc(100vw - var(--sp-8));padding:var(--sp-3);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-modal)}.columns-menu-title{font-size:var(--font-xs);font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.045em;margin-bottom:var(--sp-2)}.columns-menu ul{list-style:none;display:grid;grid-gap:var(--sp-1);gap:var(--sp-1);max-height:260px;overflow-y:auto;margin-bottom:var(--sp-2)}.columns-menu li label{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-1) var(--sp-2);border-radius:var(--radius-sm);font-size:var(--font-sm);cursor:pointer}.columns-menu li label:hover{background:var(--hover)}.columns-menu-reset{width:100%;display:flex;align-items:center;justify-content:center;gap:6px;padding:var(--sp-2);border:1px solid var(--line);border-radius:var(--radius-md);background:transparent;color:var(--muted);font-size:var(--font-xs);font-weight:600;cursor:pointer}.columns-menu-reset:hover:not(:disabled){background:var(--hover);color:var(--ink)}.columns-menu-reset:disabled{opacity:.5;cursor:not-allowed}th.resizable-th{position:relative;padding-right:var(--sp-5)}.resizable-th-label,th.resizable-th{overflow:hidden;text-overflow:ellipsis}.resizable-th-label{display:block}.resizable-th-handle{position:absolute;top:0;right:0;bottom:0;width:14px;display:grid;place-items:center;color:transparent;cursor:col-resize;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:none}th.resizable-th:hover .resizable-th-handle{color:#c3cbd8}.resizable-th-handle:hover{color:var(--blue)}.pin-column{width:36px}.pin-toggle{color:#c3cbd8}.pin-toggle-active{color:var(--yellow)}tbody tr.table-row-pinned{background:var(--yellow-soft)}tbody tr.table-row-pinned:hover{background:#ffedc4}.protocol{color:var(--blue);font-weight:700}.muted{color:var(--muted)}.status{display:inline-flex;align-items:center;gap:6px;padding:5px var(--sp-2);border-radius:var(--radius-pill);font-size:var(--font-xs);font-weight:700}.status:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.status-progress{color:var(--blue);background:#eaf3ff}.status-waiting{color:var(--yellow);background:var(--yellow-soft)}.status-done{color:#17774b;background:#e7f6ef}.status-danger{color:var(--red);background:var(--red-soft)}.status-neutral{color:var(--muted);background:#f2f4f7}.status-income{color:#17774b;background:#e7f6ef}.status-expense{color:var(--red);background:var(--red-soft)}.status-transfer{color:var(--purple);background:#f0ebff}.module-badge{display:inline-block;padding:3px 8px;border-radius:var(--radius-pill);font-size:var(--font-xs);font-weight:600;background:#f0f3f8;color:var(--label);white-space:nowrap}.empty-search{min-height:240px;display:grid;place-content:center;justify-items:center;grid-gap:var(--sp-2);gap:var(--sp-2);color:var(--muted)}.right-column{display:grid;align-content:start;grid-gap:var(--sp-5);gap:var(--sp-5)}.panel-backdrop{z-index:48}.backdrop,.panel-backdrop{position:fixed;inset:0;border:0;background:rgba(17,31,52,.18);-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}.backdrop{z-index:39}.context-drawer{position:fixed;z-index:50;inset:0 0 0 auto;width:min(420px,92vw);padding:0 var(--sp-5);background:white;box-shadow:var(--shadow-drawer)}@keyframes slide-in{0%{transform:translateX(100%)}}.drawer-heading{height:88px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.drawer-heading span{color:var(--blue);font-size:var(--font-xs);font-weight:800;letter-spacing:.1em;text-transform:uppercase}.drawer-heading h2{margin:3px 0 0;font-size:var(--font-lg)}.notification-list{padding:0 var(--sp-5)}.notification-actions{padding:var(--sp-3) 0;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);font-size:var(--font-sm);color:var(--muted)}.notification-actions button{border:0;background:none;color:var(--blue);font-size:var(--font-xs);font-weight:600;cursor:pointer;display:flex;align-items:center;gap:4px}.notification-item{padding:var(--sp-4) 0;border-bottom:1px solid var(--line);display:flex;gap:var(--sp-3);align-items:flex-start;cursor:pointer;position:relative}.notification-item.read{opacity:.6;cursor:default}.notification-body{flex:1 1;min-width:0}.notification-body strong{display:block;margin-bottom:3px;font-size:var(--font-sm);line-height:1.35}.notification-body p{margin:0 0 4px;color:var(--muted);font-size:var(--font-xs);line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notification-body time{color:#9aa3b1;font-size:11px}.notification-badge{position:absolute;top:2px;right:0;min-width:17px;height:17px;display:grid;place-items:center;border:2px solid white;border-radius:50%;color:white;background:var(--orange);font-size:9px;font-weight:800;line-height:1}.notification-icon{flex:0 0 auto;width:38px;height:38px;border-radius:var(--radius-md);display:grid;place-items:center}.notification-icon svg{width:18px}.notification-icon.orange{color:var(--orange);background:#fff0e9}.notification-icon.blue{color:var(--blue);background:var(--blue-soft)}.notification-icon.green{color:var(--green);background:#e8f6ef}.notification-icon.red{color:var(--red);background:var(--red-soft)}.notification-icon.purple{color:var(--purple);background:#f0ebff}.notification-empty{padding:var(--sp-7) 0;text-align:center;color:var(--muted);font-size:var(--font-sm)}.profile-card{padding:35px 0;display:grid;justify-items:center;grid-gap:6px;gap:6px;border-bottom:1px solid var(--line)}.profile-avatar{width:72px;height:72px;margin-bottom:var(--sp-2);border-radius:22px;display:grid;place-items:center;color:white;background:var(--navy);font-size:22px;font-weight:800;overflow:hidden}.profile-avatar img{width:100%;height:100%;object-fit:cover}.profile-card span{color:var(--muted);font-size:var(--font-sm)}.profile-content>a,.profile-content>button{width:100%;height:52px;padding:0 var(--sp-3);border:0;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:var(--sp-3);color:inherit;background:transparent;cursor:pointer;text-align:left;text-decoration:none;transition:color var(--transition)}.profile-content>a:hover,.profile-content>button:hover{color:var(--blue)}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.module-grid{padding:var(--sp-4) 0;display:grid;grid-template-columns:repeat(3,1fr);grid-gap:var(--sp-2);gap:var(--sp-2)}.module-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:var(--sp-2);padding:var(--sp-3) var(--sp-2);border-radius:var(--radius-lg);text-decoration:none;color:var(--ink);transition:background var(--transition)}.module-card:hover{background:var(--hover)}.module-card.active{background:var(--blue-soft)}.module-card-icon{width:52px;height:52px;border-radius:14px;display:grid;place-items:center}.module-card-label{font-size:var(--font-xs);font-weight:600;text-align:center;color:var(--label);line-height:1.2}.module-card-star{position:absolute;top:2px;right:2px;display:grid;place-items:center;width:22px;height:22px;border:none;background:transparent;color:var(--muted);border-radius:50%;cursor:pointer;opacity:0;transition:opacity var(--transition),color var(--transition)}.module-card-star.is-default,.module-card:hover .module-card-star{opacity:1}.module-card-star:hover{background:var(--hover)}.module-card-star.is-default{color:#eab308}.module-card-default-tag{font-size:10px;font-weight:600;color:var(--blue)}.module-heading{margin-bottom:var(--sp-6);display:flex;align-items:flex-end;justify-content:space-between;gap:var(--sp-6)}.module-heading h1{margin-bottom:6px}.module-heading h1+p{margin-bottom:0;color:var(--muted)}.module-heading-actions{display:flex;align-items:center;gap:var(--sp-2)}.module-panel{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-lg);background:white;box-shadow:var(--shadow-md)}.module-toolbar{min-height:66px;padding:var(--sp-3) var(--sp-4);display:flex;align-items:center;gap:var(--sp-3);border-bottom:1px solid var(--line);flex-wrap:wrap}.module-toolbar label{flex:1 1;max-width:520px;height:42px;padding:0 var(--sp-3);display:flex;align-items:center;gap:var(--sp-2);border:1px solid var(--line);border-radius:var(--radius-md);background:#fafbfd}.module-toolbar label input{width:100%;border:0;outline:0;background:transparent}.module-toolbar button,.module-toolbar select{height:42px;padding:0 var(--sp-3);border:1px solid var(--line);border-radius:var(--radius-md);background:white;transition:color var(--transition),border-color var(--transition)}.module-toolbar button{display:flex;align-items:center;gap:var(--sp-2);cursor:pointer}.module-toolbar button:hover{color:var(--blue);border-color:#a9c4ed}.module-toolbar .primary-button{border:0;background:var(--blue);color:white}.module-toolbar .primary-button:hover{background:var(--blue-hover);color:white;border-color:transparent}.module-toolbar .secondary-button{border:0;background:var(--blue-soft);color:var(--blue)}.module-table-wrap{min-height:320px;overflow-x:auto}.module-table-wrap td:last-child{width:92px}.row-actions{display:flex;gap:var(--sp-1)}.row-actions button{width:32px;height:32px;border:0;border-radius:var(--radius-sm);display:grid;place-items:center;color:var(--muted);background:transparent;cursor:pointer;transition:color var(--transition),background var(--transition)}.row-actions button:hover{color:var(--blue);background:var(--blue-soft)}.row-actions button:last-child:hover{color:var(--red);background:var(--red-soft)}.module-state{min-height:340px;display:grid;place-content:center;justify-items:center;grid-gap:var(--sp-2);gap:var(--sp-2);color:var(--muted)}.module-pagination{min-height:58px;padding:0 var(--sp-5);display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);color:var(--muted);font-size:var(--font-sm)}.module-pagination>div{display:flex;align-items:center;gap:var(--sp-3)}.module-pagination button{width:34px;height:34px;border:1px solid var(--line);border-radius:var(--sp-2);display:grid;place-items:center;background:white;cursor:pointer;transition:border-color var(--transition)}.module-pagination button:disabled{cursor:not-allowed;opacity:.4}.module-pagination svg{width:var(--sp-4)}.module-pagination select{height:34px;padding:0 var(--sp-2);border:1px solid var(--line);border-radius:var(--sp-2);background:white;color:var(--ink);font-size:var(--font-sm)}@media (max-width:620px){.module-pagination{flex-wrap:wrap;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4)}}.modal-layer{position:fixed;z-index:80;inset:0;padding:var(--sp-5);display:grid;place-items:center;background:rgba(17,31,52,.38);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.record-modal{width:min(620px,100%);max-height:calc(100vh - 40px);overflow-y:auto;border-radius:var(--radius-xl);background:white;box-shadow:var(--shadow-modal)}.record-modal>header{min-height:82px;padding:var(--sp-5);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.record-modal header span{color:var(--blue);font-size:var(--font-xs);font-weight:800;text-transform:uppercase}.record-modal h2{margin:3px 0 0;font-size:var(--font-lg)}.record-modal form{padding:var(--sp-5);display:grid;grid-gap:var(--sp-4);gap:var(--sp-4)}.record-modal label,.settings-form label{display:grid;grid-gap:var(--sp-2);gap:var(--sp-2);color:var(--label);font-size:var(--font-sm);font-weight:700}.record-modal input,.record-modal select,.record-modal textarea,.settings-form input,.settings-form select{width:100%;min-height:var(--input-height);padding:var(--sp-3);border:1px solid var(--field-border);border-radius:var(--radius-md);background:var(--field-bg)}.record-modal textarea{resize:vertical}.form-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:var(--sp-4)}.form-grid,.form-grid-3{display:grid;gap:var(--sp-4)}.form-grid-3{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:var(--sp-4)}.form-grid-4{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));grid-gap:var(--sp-3);gap:var(--sp-3)}.form-tabs{display:flex;gap:var(--sp-1);border-bottom:1px solid var(--line);margin-bottom:var(--sp-4);overflow-x:auto}.form-tab{border:0;background:none;padding:var(--sp-2) var(--sp-3);font-size:var(--font-sm);font-weight:700;color:var(--muted);cursor:pointer;white-space:nowrap;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color var(--transition),border-color var(--transition)}.form-tab:hover{color:var(--navy)}.form-tab.active{color:var(--blue);border-bottom-color:var(--blue)}.record-modal form>footer{padding-top:var(--sp-1);display:flex;justify-content:flex-end;gap:var(--sp-2)}.record-modal form>footer button{height:var(--btn-height);padding:0 var(--sp-5);border:1px solid var(--line);border-radius:var(--radius-md);background:white;cursor:pointer;transition:background var(--transition)}.record-modal form>footer button[type=submit]{color:white;border-color:var(--blue);background:var(--blue);font-weight:700}.record-modal form>footer button[type=submit]:disabled{opacity:.5;cursor:not-allowed}.modal-backdrop{position:fixed;z-index:80;inset:0;padding:var(--sp-5);display:grid;place-items:center;background:rgba(17,31,52,.38);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);overflow-y:auto}.modal{width:min(70vw,1200px);max-height:calc(100vh - 40px);overflow-y:auto;border-radius:var(--radius-xl);background:white;box-shadow:var(--shadow-modal)}.modal-header{min-height:82px;padding:var(--sp-5);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.modal-header h2{margin:0;font-size:var(--font-lg)}.modal-body{padding:var(--sp-5);display:grid;grid-gap:var(--sp-4);gap:var(--sp-4)}.modal-footer{padding:var(--sp-4) var(--sp-5);display:flex;justify-content:flex-end;gap:var(--sp-2);border-top:1px solid var(--line)}.modal label{display:grid;grid-gap:var(--sp-2);gap:var(--sp-2);color:var(--label);font-size:var(--font-sm);font-weight:700}.modal input,.modal select,.modal textarea{width:100%;min-height:var(--input-height);padding:var(--sp-3);border:1px solid var(--field-border);border-radius:var(--radius-md);background:var(--field-bg)}.modal textarea{resize:vertical}.modal-wide{width:min(82vw,1320px)}.modal-body-with-sidebar{display:grid;grid-template-columns:1fr 200px;align-items:start}.modal-sidebar{display:flex;flex-direction:column;gap:var(--sp-2);padding:var(--sp-5);border-left:1px solid var(--line)}.modal-sidebar button{width:100%;justify-content:flex-start}@media (max-width:860px){.modal-body-with-sidebar{grid-template-columns:1fr}.modal-sidebar{border-left:0;border-top:1px solid var(--line);flex-direction:row;flex-wrap:wrap}.modal-sidebar button{width:auto;flex:1 1 auto;justify-content:center}}.panel form input,.panel form select,.panel form textarea{width:100%;min-height:var(--input-height);padding:var(--sp-3);border:1px solid var(--field-border);border-radius:var(--radius-md);background:var(--field-bg)}.panel form textarea{resize:vertical}.panel-form input,.panel-form select,.panel-form textarea{width:100%;min-height:var(--input-height);padding:var(--sp-3);border:1px solid var(--field-border);border-radius:var(--radius-md);background:var(--field-bg)}.panel-form textarea{resize:vertical}.panel form label{display:grid;grid-gap:var(--sp-2);gap:var(--sp-2);color:var(--label);font-size:var(--font-sm);font-weight:700}.form-section{border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--sp-4);display:grid;grid-gap:var(--sp-4);gap:var(--sp-4)}.form-section legend{font-size:var(--font-sm);font-weight:800;color:var(--blue);text-transform:uppercase;padding:0 var(--sp-2)}.record-drawer{position:fixed;z-index:60;inset:0 0 0 auto;width:min(520px,94vw);padding:0 var(--sp-6);background:white;box-shadow:var(--shadow-drawer);animation:slide-in .2s ease-out;display:flex;flex-direction:column;overflow-y:auto}.record-drawer>header{min-height:100px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.record-drawer header span{color:var(--blue);font-size:var(--font-xs);font-weight:800;text-transform:uppercase}.record-drawer h2{max-width:350px;margin:var(--sp-1) 0 0;font-size:var(--font-lg)}.record-drawer dl{margin:0}.record-drawer dl>div{padding:var(--sp-5) 0;display:grid;grid-gap:var(--sp-2);gap:var(--sp-2);border-bottom:1px solid var(--line)}.record-drawer dt{color:var(--muted);font-size:var(--font-xs);font-weight:800;text-transform:uppercase}.record-drawer dd{margin:0}.record-drawer>footer{padding-top:var(--sp-5);display:flex;gap:var(--sp-2)}.record-drawer>footer button{height:var(--btn-height);padding:0 var(--sp-4);border:1px solid var(--line);border-radius:var(--radius-md);display:flex;align-items:center;gap:var(--sp-2);background:white;cursor:pointer;transition:color var(--transition),border-color var(--transition)}.record-drawer>footer button:last-child{color:var(--red);border-color:var(--red-border)}.module-toast{position:fixed;z-index:100;right:var(--sp-6);bottom:var(--sp-6);max-width:380px;padding:var(--sp-4) var(--sp-5);border-radius:var(--radius-md);color:white;background:#17774b;box-shadow:0 12px 35px rgba(20,43,74,.2);font-size:var(--font-base);font-weight:700}.module-toast.error{background:var(--red)}.alert-banner{margin-bottom:var(--sp-4);padding:var(--sp-3) var(--sp-4);border-radius:var(--radius-md);border:1px solid transparent;font-size:var(--font-sm);font-weight:600}.alert-banner.success{background:var(--green-soft);border-color:var(--green);color:var(--green)}.alert-banner.error{background:var(--red-soft);border-color:var(--red-border);color:var(--red)}.settings-form{max-width:820px}.settings-form,.settings-form section{display:grid;grid-gap:var(--sp-5);gap:var(--sp-5)}.settings-form section{padding:var(--sp-6);border:1px solid var(--line);border-radius:var(--radius-lg);background:white}.settings-form section>h2{margin:0}.settings-form section>p{margin:calc(var(--sp-3) * -1) 0 2px;color:var(--muted)}.switch-row{min-height:58px;display:flex!important;align-items:center;justify-content:space-between}.switch-row span{display:grid;grid-gap:var(--sp-1);gap:var(--sp-1)}.switch-row small{color:var(--muted);font-weight:400}.toggle-switch{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:relative;width:36px;height:20px;background:var(--line);border-radius:10px;cursor:pointer;transition:background .2s;flex-shrink:0}.toggle-switch:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;background:white;border-radius:50%;transition:transform .2s;box-shadow:0 1px 2px rgba(0,0,0,.15)}.toggle-switch:checked{background:var(--blue)}.toggle-switch:checked:after{transform:translateX(16px)}.modal input.toggle-switch,.panel input.toggle-switch{width:36px;min-height:0;padding:0;border:none}.amount-positive{color:#17774b;font-weight:700}.amount-negative{color:var(--red);font-weight:700}.amount-neutral{color:var(--ink);font-weight:700}.col-num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}tfoot td{border-top:2px solid var(--line);background:#fafbfd;padding-top:var(--sp-3);padding-bottom:var(--sp-3)}tfoot .col-num,tfoot strong{color:var(--navy)}.account-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:var(--sp-4);gap:var(--sp-4);margin-bottom:var(--sp-6)}.account-card{position:relative;padding:var(--sp-5);border-radius:var(--radius-lg);overflow:hidden;cursor:pointer;transition:transform var(--transition),box-shadow var(--transition);color:white;min-height:160px;display:flex;flex-direction:column;justify-content:space-between}.account-card:hover{transform:translateY(-2px);box-shadow:0 12px 32px rgba(17,31,52,.18)}.account-card.checking{background:linear-gradient(135deg,#1a3a6e,#2369d8)}.account-card.savings{background:linear-gradient(135deg,#0f5f3c,#198754)}.account-card.wallet{background:linear-gradient(135deg,#6b3fa0,#7c5bd6)}.account-card.investment{background:linear-gradient(135deg,#0d5e6a,#0d9488)}.account-card.credit{background:linear-gradient(135deg,#7a1f1f,#a23b3b)}.account-card-header{display:flex;align-items:center;justify-content:space-between}.account-card-bank{font-size:var(--font-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;opacity:.8}.account-card-type{opacity:.7;display:flex;justify-content:space-between}.account-card-type,.account-card-type .projection-btn{font-size:var(--font-xs);font-weight:600;align-items:center}.account-card-type .projection-btn{display:inline-flex;gap:4px;background:rgba(255,255,255,.15);border:none;color:white;padding:2px 8px;border-radius:var(--radius-pill);cursor:pointer;opacity:0;transition:opacity var(--transition)}.account-card:hover .projection-btn{opacity:1}.account-card-type .projection-btn:hover{background:rgba(255,255,255,.25)}.projection-details{display:flex;flex-direction:column;gap:var(--sp-3)}.projection-row{display:flex;justify-content:space-between;align-items:center;font-size:var(--font-sm)}.projection-row strong{font-size:var(--font-base)}.projection-divider{height:1px;background:var(--line);margin:var(--sp-1) 0}.projection-total{padding-top:var(--sp-1)}.projection-total strong{font-size:18px}.account-card-balance{font-size:28px;font-weight:800;letter-spacing:-.03em}.account-card-label{font-size:var(--font-xs);opacity:.75;margin-bottom:4px}.account-card-name{font-size:var(--font-base);font-weight:600}.account-card-number{font-size:var(--font-xs);opacity:.6}.account-card-open-finance{position:absolute;top:var(--sp-4);right:var(--sp-4);width:24px;height:24px;border-radius:50%;background:rgba(255,255,255,.2);display:grid;place-items:center}.add-account-card{border:2px dashed var(--line);border-radius:var(--radius-lg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-2);min-height:160px;cursor:pointer;color:var(--muted);transition:border-color var(--transition),color var(--transition),background var(--transition)}.add-account-card:hover{border-color:var(--blue);color:var(--blue);background:var(--blue-soft)}.dashboard-card{position:relative}.dashboard-card-actions{position:absolute;top:var(--sp-3);right:var(--sp-3);z-index:2;display:flex;gap:4px;opacity:0;transition:opacity var(--transition)}.dashboard-card-actions:focus-within,.dashboard-card:hover .dashboard-card-actions{opacity:1}.dashboard-card-action{display:grid;place-items:center;width:26px;height:26px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--muted);cursor:pointer;text-decoration:none;box-shadow:var(--shadow-sm);transition:background var(--transition),color var(--transition),border-color var(--transition)}.dashboard-card-action:hover{background:var(--blue-soft);color:var(--blue);border-color:var(--blue)}.dashboard-card-expanded .cashflow-bars{height:320px}.dashboard-card-draggable{cursor:-webkit-grab;cursor:grab}.dashboard-card-drag-handle{position:absolute;top:var(--sp-3);left:var(--sp-3);z-index:2;display:grid;place-items:center;width:22px;height:22px;color:var(--muted);opacity:0;transition:opacity var(--transition)}.dashboard-card-draggable:hover .dashboard-card-drag-handle{opacity:1}.dashboard-card-drag-over{outline:2px dashed var(--blue);outline-offset:2px}@media (hover:none){.account-card-type .projection-btn,.dashboard-card-actions,.module-card-star{opacity:1}}.dashboard-card-chart-picker{position:relative}.dashboard-card-chart-menu{position:absolute;top:calc(100% + 4px);right:0;z-index:5;display:flex;flex-direction:column;gap:1px;padding:4px;min-width:132px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-md)}.dashboard-card-chart-menu-item{display:flex;align-items:center;gap:var(--sp-2);padding:6px var(--sp-2);border:none;border-radius:var(--radius-sm);background:transparent;color:var(--ink);font-size:var(--font-sm);font-weight:600;cursor:pointer;text-align:left}.dashboard-card-chart-menu-item.active,.dashboard-card-chart-menu-item:hover{background:var(--blue-soft);color:var(--blue)}.cashflow-chart{padding:var(--sp-5)}.cashflow-bars{display:flex;align-items:flex-end;gap:var(--sp-2);height:160px}.cashflow-bar-group{flex:1 1;height:100%;display:flex;gap:3px;align-items:flex-end}.cashflow-bar{flex:1 1;border-radius:4px 4px 0 0;min-height:4px;transition:opacity var(--transition)}.cashflow-bar:hover{opacity:.8}.cashflow-bar.income{background:var(--green)}.cashflow-bar.expense{background:var(--red)}.cashflow-labels{display:flex;gap:var(--sp-2);margin-top:var(--sp-2)}.cashflow-labels span{flex:1 1;text-align:center;font-size:var(--font-xs);color:var(--muted)}.budget-item{padding:var(--sp-3) 0;border-bottom:1px solid var(--line)}.budget-item:last-child{border-bottom:0}.budget-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--sp-2)}.budget-item-name{font-size:var(--font-sm);font-weight:600}.budget-item-values{font-size:var(--font-sm);color:var(--muted)}.budget-bar{height:6px;border-radius:var(--radius-pill);background:#e9edf3;overflow:hidden}.budget-bar-fill{height:100%;border-radius:inherit;background:var(--blue);transition:width .4s ease}.budget-bar-fill.over{background:var(--red)}.budget-bar-fill.warning{background:var(--yellow)}.of-institution-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));grid-gap:var(--sp-3);gap:var(--sp-3)}.of-institution-card{padding:var(--sp-4);border:1px solid var(--line);border-radius:var(--radius-md);display:flex;flex-direction:column;align-items:center;gap:var(--sp-2);cursor:pointer;transition:border-color var(--transition),background var(--transition);text-align:center}.of-institution-card:hover{border-color:var(--blue);background:var(--blue-soft)}.of-institution-card.connected{border-color:var(--green);background:var(--green-soft)}.of-institution-logo{width:48px;height:48px;border-radius:var(--radius-md);background:var(--canvas);display:grid;place-items:center;font-weight:800;font-size:var(--font-md);color:var(--navy)}.of-institution-name{font-size:var(--font-sm);font-weight:600;color:var(--ink)}.of-institution-status{font-size:var(--font-xs);font-weight:700}.of-institution-status.connected{color:var(--green)}.of-institution-status.pending{color:var(--yellow)}.dre-table{width:100%;border-collapse:collapse;font-size:var(--font-sm)}.dre-table th{padding:var(--sp-3) var(--sp-4);color:#7c8698;background:#fafbfd;font-size:var(--font-xs);letter-spacing:.045em;text-align:right;text-transform:uppercase}.dre-table th:first-child{text-align:left}.dre-table td{padding:var(--sp-3) var(--sp-4);border-top:1px solid #edf0f4;text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.dre-table td:first-child{text-align:left}.dre-group-header td{background:#f5f7fb;font-weight:700;color:var(--navy);font-size:var(--font-base)}tr.table-row-pinned.dre-group-header td{background:var(--yellow-soft)}tr.table-row-pinned.dre-group-header:hover td{background:#ffedc4}.dre-subtotal td{border-top:2px solid var(--line);font-weight:700;background:#fafbfd}.dre-total td{border-top:2px solid var(--navy);font-size:var(--font-md);font-weight:800;color:var(--navy);background:var(--blue-soft)}.dre-indent{padding-left:calc(var(--sp-4) + 16px)!important}.conciliation-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--sp-4);gap:var(--sp-4)}.conciliation-column{border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;background:white}.conciliation-col-header{padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;background:#fafbfd}.conciliation-item{padding:var(--sp-3) var(--sp-5);border-bottom:1px solid #f0f2f5;display:flex;align-items:center;gap:var(--sp-3);cursor:pointer;transition:background var(--transition)}.conciliation-item:hover{background:#f5f8ff}.conciliation-item.matched{opacity:.5;cursor:default}.conciliation-item.selected{background:var(--blue-soft);border-color:#bcd2f7}.filter-bar{display:flex;align-items:flex-end;gap:var(--sp-4);margin-bottom:var(--sp-5);padding:var(--sp-4) var(--sp-5);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-md);flex-wrap:wrap}.filter-field{display:grid;grid-gap:var(--sp-2);gap:var(--sp-2)}.filter-field label{font-size:var(--font-xs);color:var(--muted);font-weight:600}.filter-field input,.filter-field select{height:40px;padding:0 var(--sp-3);border:1px solid var(--field-border);border-radius:var(--radius-md);background:var(--field-bg);font:inherit;color:inherit}.month-range-filter,.month-range-nav{align-items:center}.month-range-nav{display:flex;gap:var(--sp-2)}.month-range-label{font-weight:700;font-size:var(--font-sm);text-transform:capitalize;min-width:140px}@media (max-width:620px){.month-range-nav{flex-wrap:wrap}.month-range-label{min-width:0}}.type-toggle{display:flex;gap:var(--sp-2)}.type-toggle button{flex:1 1;height:42px;border:2px solid var(--line);border-radius:var(--radius-md);background:white;cursor:pointer;font-weight:700;font-size:var(--font-sm);transition:all var(--transition)}.type-toggle button.active{border-color:var(--blue);color:var(--blue);background:#eaf3ff}.type-toggle button.income.active{border-color:var(--green);color:var(--green);background:var(--green-soft)}.type-toggle button.expense.active{border-color:var(--red);color:var(--red);background:var(--red-soft)}.type-toggle button.transfer.active{border-color:var(--purple);color:var(--purple);background:#f0ebff}.tab-strip{display:flex;gap:var(--sp-1);border-bottom:1px solid var(--line);margin-bottom:var(--sp-4);overflow-x:auto}.tab-button{flex-shrink:0;padding:var(--sp-3) var(--sp-3);border:none;border-bottom:2px solid transparent;background:none;cursor:pointer;font-weight:700;font-size:var(--font-sm);color:var(--muted);white-space:nowrap;transition:all var(--transition)}.tab-button:hover:not(.active){color:var(--label)}.tab-button.active{color:var(--blue);border-bottom-color:var(--blue)}.kpi-section{margin-top:var(--sp-5)}.kpi-section>h2{margin-bottom:var(--sp-4);font-size:var(--font-md);letter-spacing:-.015em}.summary-panel{padding:var(--sp-5)}.summary-row{display:flex;justify-content:space-between;align-items:center;padding:var(--sp-2) 0;border-bottom:1px solid var(--line)}.summary-row:last-child{border-bottom:0}.summary-row span{color:var(--muted);font-size:var(--font-sm)}.summary-row strong{font-size:var(--font-md);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.nf-badge{display:inline-flex;align-items:center;gap:4px;padding:3px var(--sp-2);border-radius:var(--radius-sm);font-size:var(--font-xs);font-weight:700}.nf-badge.nfe{background:#e7f6ef;color:#17774b}.nf-badge.nfse{background:var(--blue-soft);color:var(--blue)}.nf-badge.nfce{background:#fff3df;color:var(--yellow)}.autocomplete-wrap{position:relative}.autocomplete-wrap input{width:100%;min-height:var(--input-height);padding:var(--sp-3);border:1px solid var(--field-border);border-radius:var(--radius-md);background:var(--field-bg)}.autocomplete-list{position:absolute;z-index:90;top:100%;left:0;right:0;margin:4px 0 0;padding:4px;list-style:none;background:white;border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-modal);max-height:200px;overflow-y:auto}.autocomplete-list li{padding:8px 10px;border-radius:var(--radius-sm);cursor:pointer;display:grid;grid-gap:2px;gap:2px}.autocomplete-list li:hover{background:#f0f4ff}.autocomplete-list li strong{font-size:var(--font-sm)}.autocomplete-list li small{color:var(--muted);font-size:11px}.field-hint{color:var(--muted)}.field-error-hint,.field-hint{font-size:11px;font-weight:400;margin-top:-2px}.field-error-hint{color:var(--red)}.entry-chooser-highlight{display:flex;align-items:center;gap:var(--sp-3);border:2px solid var(--blue);border-radius:var(--radius-md);padding:var(--sp-4);background:var(--blue-soft);color:var(--blue);cursor:pointer;transition:background var(--transition);font-size:var(--font-base);text-align:left}.entry-chooser-highlight:hover{background:#d9eaff}.entry-chooser-highlight span{display:grid;grid-gap:3px;gap:3px}.entry-chooser-highlight strong{font-size:var(--font-base);font-weight:700}.entry-chooser-highlight small{font-size:var(--font-xs);color:var(--blue);opacity:.8;font-weight:400}.receipt-capture-area{display:flex;flex-direction:column;align-items:center;gap:var(--sp-3);padding:var(--sp-7) var(--sp-5);border:2px dashed var(--line);border-radius:var(--radius-lg);cursor:pointer;text-align:center;color:var(--muted);transition:border-color var(--transition),background var(--transition)}.receipt-capture-area:hover{border-color:var(--blue);background:var(--blue-soft);color:var(--blue)}.receipt-capture-area strong{font-size:var(--font-base);font-weight:700;color:var(--ink)}.receipt-capture-area span{font-size:var(--font-sm)}.bottom-nav{display:none;position:fixed;bottom:0;left:0;right:0;z-index:40;height:calc(64px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--surface);border-top:1px solid var(--line);box-shadow:0 -4px 20px rgba(17,31,52,.08);flex-direction:row;align-items:stretch}.bottom-nav-item{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border:0;background:transparent;color:var(--muted);text-decoration:none;cursor:pointer;transition:color var(--transition);padding:0}.bottom-nav-item,.bottom-nav-item span{font-size:10px;font-weight:600}.bottom-nav-item.active{color:var(--blue)}.bottom-nav-item:hover{color:var(--navy)}.financial-assistant-btn,.financial-assistant-panel{position:fixed;right:var(--sp-5);z-index:250}.financial-assistant-btn{bottom:var(--sp-5)}.financial-assistant-panel{bottom:calc(var(--sp-5) + 64px)}@media (max-width:1180px){.metrics-grid{grid-template-columns:repeat(2,1fr)}.content-grid,.content-grid-nav-left{grid-template-columns:1fr}.right-column{grid-template-columns:repeat(2,1fr)}.conciliation-grid{grid-template-columns:1fr}}@media (max-width:860px){.tenant-login-card{padding:var(--sp-6)}.app-shell,.app-shell.is-collapsed{padding-left:0}.is-collapsed .sidebar,.sidebar{width:248px;transform:translateX(-105%);box-shadow:12px 0 32px rgba(17,31,52,.13)}.is-collapsed .sidebar.is-peek{width:248px}.sidebar.is-open{transform:translateX(0)}.collapse-button{display:none}.top-float{left:0}.mobile-menu-btn{display:inline-grid;position:absolute;top:var(--sp-5);left:var(--sp-5)}.top-float-actions{right:var(--sp-5)}.header-extra-slot,.period-chip,.top-float-new-button{display:none}.main-content{padding:var(--sp-6) var(--sp-5)}.account-cards,.two-col-grid{grid-template-columns:1fr}.kanban-container{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}.kanban-column{min-width:82vw;scroll-snap-align:start}.kanban-toolbar{flex-direction:column;align-items:stretch}.kanban-search{max-width:100%}.contact-item-row,.material-request-item-row,.proposal-item-row{grid-template-columns:1fr}.bottom-nav{display:flex}.main-content{padding-bottom:calc(80px + env(safe-area-inset-bottom))}.module-toast{bottom:calc(80px + env(safe-area-inset-bottom) + var(--sp-3));right:var(--sp-4)}.financial-assistant-btn{bottom:calc(64px + env(safe-area-inset-bottom) + var(--sp-3))}.financial-assistant-panel{bottom:calc(64px + env(safe-area-inset-bottom) + var(--sp-3) + 64px)}.mobile-menu-btn{display:none}.modal-layer{padding:0;align-items:flex-end}.record-modal{width:100%;max-height:92vh;border-radius:var(--radius-xl) var(--radius-xl) 0 0}.modal-backdrop{padding:0;align-items:flex-end}.modal{max-height:92vh}.context-drawer,.modal{width:100%;border-radius:var(--radius-xl) var(--radius-xl) 0 0}.context-drawer{inset:auto 0 0 0}}@media (max-width:620px){.page-heading{flex-direction:column}.page-heading,.page-heading-actions{align-items:stretch}.primary-button{align-self:flex-start}.metrics-grid,.right-column{grid-template-columns:1fr}.module-heading{align-items:stretch;flex-direction:column}.module-toolbar{align-items:stretch;flex-wrap:wrap}.form-grid,.form-grid-3,.form-grid-4{grid-template-columns:1fr}.filter-bar{flex-direction:column;align-items:stretch}.account-cards{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-bottom:var(--sp-2)}.account-card{scroll-snap-align:start}.module-heading .primary-button,.page-heading .primary-button{width:100%;justify-content:center}}.timeline{position:relative;display:flex;flex-direction:column;gap:var(--sp-4);padding-left:var(--sp-5)}.timeline:before{content:"";position:absolute;left:5px;top:4px;bottom:4px;width:2px;background:var(--line)}.timeline-item{position:relative}.timeline-dot{position:absolute;left:calc(var(--sp-5) * -1 + 1px);top:4px;width:10px;height:10px;border-radius:50%;background:var(--blue);border:2px solid var(--surface,#fff)}.timeline-description{font-weight:600;margin:0}.timeline-meta{font-size:var(--font-xs);color:var(--muted);margin:var(--sp-1) 0 0;display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-1)}