:root{--bg:#f4f6f4;--surface:#fff;--surface-strong:#f8fafc;--ink:#111827;--muted:#64748b;--line:#dbe3e5;--teal:#0f766e;--cyan:#0891b2;--red:#b91c1c;--amber:#b45309;--green:#15803d;--slate:#334155;--nav:#14211f;--nav-soft:#20322f;--focus:#2563eb}*{box-sizing:border-box}html,body{min-height:100%}body{background:var(--bg);color:var(--ink);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}table{border-collapse:collapse;width:100%}th,td{border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;padding:.85rem .9rem}th{color:var(--muted);letter-spacing:0;text-transform:uppercase;font-size:.72rem}td{font-size:.9rem}tr:last-child td{border-bottom:0}.numeric{text-align:right;white-space:nowrap}.subtext,.muted{color:var(--muted);margin-top:.2rem;font-size:.78rem;display:block}.eyebrow{color:var(--teal);letter-spacing:0;text-transform:uppercase;margin-bottom:.35rem;font-size:.72rem;font-weight:700;display:inline-block}.app-shell{grid-template-columns:280px minmax(0,1fr);min-height:100vh;display:grid}.app-nav{background:var(--nav);color:#f8fafc;flex-direction:column;gap:1.5rem;padding:1.25rem;display:flex}.brand-lockup{align-items:center;gap:.8rem;min-height:56px;display:flex}.brand-mark{color:var(--teal);background:#d6f3ef;border-radius:8px;flex:none;justify-content:center;align-items:center;width:42px;height:42px;display:inline-flex}.brand-mark.large{width:56px;height:56px}.brand-name{font-size:1rem;font-weight:800}.brand-subtitle{color:#a7b7b4;margin-top:.15rem;font-size:.8rem}.nav-list{gap:.25rem;display:grid}.nav-item{color:#c8d3d0;border-radius:8px;align-items:center;gap:.75rem;min-height:42px;padding:.7rem .8rem;display:flex}.nav-item:hover,.nav-item.active{background:var(--nav-soft);color:#fff}.content-shell{flex-direction:column;min-width:0;display:flex}.topbar{border-bottom:1px solid var(--line);z-index:10;background:#ffffffeb;justify-content:space-between;align-items:center;padding:1rem 1.5rem;display:flex;position:sticky;top:0}.topbar h1,.page-heading h2,.hero-band h2,.panel h3,.login-panel h1{letter-spacing:0;margin:0}.topbar h1{font-size:1.3rem}.topbar-user{align-items:center;gap:1rem;display:flex}.topbar-user strong,.topbar-user span{text-align:right;display:block}.topbar-user span{color:var(--muted);text-transform:capitalize;font-size:.8rem}.page-stack{gap:1rem;padding:1.25rem;display:grid}.hero-band{border:1px solid var(--line);background:#f9fbfa;border-radius:8px;justify-content:space-between;align-items:center;min-height:172px;padding:1.4rem;display:flex}.hero-band h2{font-size:3rem;line-height:1}.hero-band p{color:var(--muted);max-width:680px}.hero-actions{flex-direction:column;align-items:flex-end;gap:.65rem;display:flex}.page-heading{justify-content:space-between;align-items:center;gap:1rem;display:flex}.page-heading h2{font-size:1.8rem}.page-heading p{color:var(--muted);margin:.35rem 0 0}.heading-stat{background:var(--surface);border:1px solid var(--line);color:var(--slate);border-radius:8px;align-items:center;gap:.5rem;padding:.75rem .9rem;display:inline-flex}.metric-grid{gap:1rem;display:grid}.metric-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.metric-tile,.panel,.account-card,.login-panel{background:var(--surface);border:1px solid var(--line);border-radius:8px}.metric-tile{gap:.55rem;min-height:126px;padding:1rem;display:grid}.metric-tile span,.metric-tile .metric-icon{color:var(--muted)}.metric-tile strong{font-size:1.55rem}.metric-icon{border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex}.metric-icon.teal{color:var(--teal);background:#dff7f3}.metric-icon.red{color:var(--red);background:#fee2e2}.metric-icon.amber{color:var(--amber);background:#fef3c7}.metric-icon.slate{color:var(--slate);background:#e2e8f0}.dashboard-grid{grid-template-columns:minmax(280px,.9fr) minmax(0,1.4fr);gap:1rem;display:grid}.panel{min-width:0;padding:1rem}.panel.wide{min-width:0}.panel-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.9rem;display:flex}.panel-header h3{font-size:1.08rem}.rank-list{gap:.4rem;display:grid}.rank-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;min-height:54px;padding:.45rem 0;display:flex}.rank-row:last-child{border-bottom:0}.rank-row strong,.rank-row span{display:block}.rank-row span{color:var(--muted);margin-top:.2rem;font-size:.78rem}.chart-frame{width:100%;min-height:280px}.table-wrap{max-width:100%;overflow-x:auto}.table-wrap.compact th,.table-wrap.compact td{padding:.65rem .55rem}.status-badge{color:var(--slate);text-transform:capitalize;white-space:nowrap;background:#e2e8f0;border-radius:999px;align-items:center;min-height:24px;padding:.22rem .55rem;font-size:.72rem;font-weight:700;display:inline-flex}.status-badge.healthy,.status-badge.current,.status-badge.succeeded,.status-badge.resolved,.status-badge.mapped,.status-badge.inflow{color:var(--green);background:#dcfce7}.status-badge.outflow,.status-badge.failed,.status-badge.critical,.status-badge.degraded,.status-badge.error{color:var(--red);background:#fee2e2}.status-badge.high,.status-badge.stale,.status-badge.reauth_required,.status-badge.unmapped,.status-badge.open{color:var(--amber);background:#fef3c7}.button{border:1px solid #0000;border-radius:8px;align-items:center;gap:.45rem;min-height:38px;padding:.55rem .8rem;font-weight:750;display:inline-flex}.button:disabled{cursor:not-allowed;opacity:.62}.button.primary{background:var(--teal);color:#fff}.button.secondary{color:var(--teal);background:#eef6f5;border-color:#b8d8d3}.button.ghost{border-color:var(--line);color:var(--slate);background:0 0}.button.danger{color:var(--red);background:#fee2e2;border-color:#fecaca}.icon-button{border:1px solid var(--line);color:var(--slate);background:#fff;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex}.button-row{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.45rem;display:flex}.plaid-action{flex-direction:column;align-items:flex-end;gap:.5rem;display:flex}.action-message{color:var(--muted);text-align:right;max-width:280px;font-size:.78rem}.action-message.error{color:var(--red)}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.filter-bar{background:var(--surface);border:1px solid var(--line);border-radius:8px;grid-template-columns:minmax(220px,1fr) 180px 150px 120px 120px auto;align-items:center;gap:.7rem;padding:.85rem;display:grid}.search-box{border:1px solid var(--line);border-radius:8px;align-items:center;gap:.55rem;min-height:40px;padding:0 .7rem;display:flex}.search-box input,.filter-bar input,.filter-bar select,.mapping-form select,.entity-form input,.entity-form select{border:1px solid var(--line);background:#fff;border-radius:8px;width:100%;min-height:40px;padding:0 .7rem}.search-box input{border:0;outline:0;min-height:auto;padding:0}.account-grid,.entity-grid,.source-grid{grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:1rem;display:grid}.account-card{gap:1rem;padding:1rem;display:grid}.account-card-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.account-card-header strong,.account-card-header span{display:block}.account-card-header span{color:var(--muted);margin-top:.2rem;font-size:.82rem}.account-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;margin:0;display:grid}.account-stats div{background:var(--surface-strong);border:1px solid var(--line);border-radius:8px;min-height:74px;padding:.7rem}.account-stats dt{color:var(--muted);margin-bottom:.3rem;font-size:.72rem}.account-stats dd{margin:0;font-weight:750}.mapping-form{gap:.7rem;display:grid}.mapping-form label,.entity-form label{color:var(--muted);gap:.35rem;font-size:.78rem;display:grid}.entity-form{grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:.75rem;display:grid}.entity-form.compact{grid-template-columns:repeat(5,minmax(0,1fr)) auto}.entity-form.alias-form{grid-template-columns:minmax(220px,1fr) auto}.wide-field{grid-column:span 2}.entity-maintenance{gap:1rem;display:grid}.entity-maintenance-card{background:var(--surface-strong);border:1px solid var(--line);border-radius:8px;gap:.8rem;padding:.9rem;display:grid}.registry-toolbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;margin:-.15rem 0 .75rem;padding-bottom:.8rem;display:flex}.registry-search{border:1px solid var(--line);border-radius:8px;flex:1;align-items:center;gap:.55rem;min-width:240px;min-height:40px;padding:0 .7rem;display:flex}.registry-search input{border:0;outline:0;flex:1;width:100%;min-height:auto;padding:0}.registry-stats{color:var(--muted);flex-wrap:wrap;justify-content:flex-end;gap:.45rem;font-size:.78rem;display:flex}.registry-stats span{background:#eef2f7;border-radius:999px;padding:.25rem .55rem}.registry-table td{height:60px}.registry-name{gap:.18rem;display:grid}.registry-name span{color:var(--muted);font-size:.78rem}.empty-state{color:var(--muted);text-align:center;padding:1rem 0 .25rem}.drawer-backdrop{z-index:50;background:#0f172a57;animation:.14s ease-out drawer-backdrop-in;position:fixed;inset:0}.drawer-panel{background:var(--surface);border-left:1px solid var(--line);flex-direction:column;width:min(100%,460px);max-width:460px;height:100%;margin-left:auto;padding:1.1rem;animation:.18s ease-out drawer-in;display:flex;overflow-y:auto;box-shadow:-12px 0 32px #0f172a2e}.drawer-header{border-bottom:1px solid var(--line);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.75rem;padding-bottom:1rem;display:grid}.drawer-header h3{margin:0;font-size:1.2rem}.drawer-form{flex-direction:column;flex:1;gap:.9rem;min-height:0;padding-top:1rem;display:flex}.drawer-form label{color:var(--muted);gap:.35rem;font-size:.82rem;display:grid}.drawer-form input,.drawer-form select{border:1px solid var(--line);border-radius:8px;min-height:42px;padding:0 .75rem}.drawer-actions{background:var(--surface);justify-content:flex-end;gap:.6rem;margin-top:auto;padding-top:1rem;display:flex;position:sticky;bottom:0}.entity-detail-drawer .drawer-form{flex:none}.entity-detail-drawer .drawer-actions{margin-top:0;position:static}.drawer-meta{border-bottom:1px solid var(--line);color:var(--muted);flex-wrap:wrap;align-items:center;gap:.45rem;padding:.8rem 0;font-size:.78rem;display:flex}.drawer-section{border-bottom:1px solid var(--line);gap:.75rem;padding:1rem 0;display:grid}.drawer-section-heading{gap:.1rem;display:grid}.drawer-section-heading h4{margin:0;font-size:.98rem}.drawer-form input:disabled,.drawer-form select:disabled{color:var(--muted);cursor:not-allowed;background:#f8fafc}.alias-strip{flex-wrap:wrap;gap:.4rem;display:flex}.alias-strip span{color:var(--slate);background:#eef2f7;border-radius:999px;align-items:center;gap:.3rem;padding:.28rem .55rem;font-size:.76rem;display:inline-flex}.alias-strip p{color:var(--muted);margin:0;font-size:.82rem}.drawer-inline-form{grid-template-columns:minmax(0,1fr) auto;gap:.6rem;display:grid}.drawer-inline-form input{border:1px solid var(--line);border-radius:8px;min-height:40px;padding:0 .75rem}.danger-section{border-bottom:0}@keyframes drawer-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes drawer-in{0%{transform:translate(28px)}to{transform:translate(0)}}.check-row{flex-direction:row;align-items:center;display:flex!important}.check-row input{width:auto}.alias-row{flex-wrap:wrap;gap:.35rem;margin:.8rem 0;display:flex}.alias-row span{color:var(--slate);background:#eef2f7;border-radius:999px;padding:.24rem .5rem;font-size:.74rem}.mini-list{border-top:1px solid var(--line);gap:.45rem;padding-top:.75rem;display:grid}.mini-list div{grid-template-columns:80px minmax(0,1fr) auto;align-items:center;gap:.5rem;display:grid}.mini-list span{color:var(--muted);font-size:.78rem}.notice{border-radius:8px;align-items:center;gap:.45rem;margin-bottom:.9rem;padding:.7rem;display:flex}.notice.compact{color:var(--slate);background:#eef2f7;max-width:320px;margin:0}.notice.error{color:var(--red);background:#fee2e2}.login-page{justify-content:center;align-items:center;min-height:100vh;padding:1.25rem;display:flex}.login-panel{gap:1.4rem;width:100%;max-width:980px;padding:1.4rem;display:grid}.login-panel.narrow{max-width:520px}.login-brand{align-items:center;gap:1rem;display:flex}.login-panel h1{font-size:1.9rem}.login-panel p{color:var(--muted);margin:.35rem 0 0}.login-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.8rem;display:grid}.login-form{gap:.85rem;display:grid}.login-form label{color:var(--muted);gap:.35rem;font-size:.84rem;display:grid}.login-form input{border:1px solid var(--line);border-radius:8px;min-height:44px;padding:0 .8rem}.login-card{background:var(--surface-strong);border:1px solid var(--line);text-align:left;border-radius:8px;gap:.35rem;width:100%;min-height:126px;padding:1rem;display:grid}.login-card:hover{border-color:var(--teal)}.login-card span{font-weight:800}.login-card strong{color:var(--teal);text-transform:capitalize}.login-card small{color:var(--muted)}@media (max-width:1100px){.app-shell{grid-template-columns:88px minmax(0,1fr)}.brand-lockup{justify-content:center}.brand-lockup>div:last-child,.nav-item span{display:none}.nav-item{justify-content:center}.metric-grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid{grid-template-columns:1fr}}@media (max-width:760px){.app-shell{display:block}.app-nav{border-bottom:1px solid #304744;padding:.8rem}.nav-list{display:flex;overflow-x:auto}.nav-item{flex:none}.topbar,.hero-band,.page-heading{flex-direction:column;align-items:stretch}.topbar-user{justify-content:space-between}.hero-band h2{font-size:2.25rem}.metric-grid.four,.filter-bar,.registry-toolbar,.entity-form,.entity-form.compact,.entity-form.alias-form,.drawer-inline-form,.account-stats,.mini-list div{grid-template-columns:1fr}.registry-toolbar{flex-direction:column;align-items:stretch}.registry-stats{justify-content:flex-start}.wide-field{grid-column:auto}}
