:root{
  --bg:#101012;
  --sidebar:#171719;
  --panel:#1d1d20;
  --panel-2:#232326;
  --panel-hover:#29292d;
  --border:#333338;
  --border-soft:#29292d;
  --text:#f4f4f5;
  --muted:#9b9ba2;
  --faint:#707077;
  --button:#f2f2f3;
  --button-text:#101012;
  --danger:#ff7676;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}
button,a,input{font:inherit}
button{color:inherit}.hidden{display:none!important}

/* AUTH */
.auth-screen{min-height:100vh;background:#101012;display:flex;flex-direction:column}
.auth-topbar{height:76px;border-bottom:1px solid #242427;display:flex;align-items:center;padding:0 34px;background:#141416}
.auth-brand{display:flex;align-items:center;gap:11px;color:#fff;text-decoration:none;font-weight:700;font-size:17px}
.auth-brand img{width:34px;height:34px;border-radius:9px;object-fit:cover}
.auth-stage{flex:1;display:grid;place-items:center;padding:54px 20px 48px}
.auth-card{width:min(430px,100%);background:#1c1c1f;border:1px solid #303034;border-radius:12px;padding:31px 32px 28px}
.auth-logo-wrap{display:flex;justify-content:center;margin-bottom:21px}.auth-logo-wrap img{width:54px;height:54px;border-radius:14px;object-fit:cover}
.auth-copy{text-align:center}.auth-copy h1{font-size:25px;letter-spacing:-.035em;margin:8px 0 8px}.auth-copy p{color:#929299;font-size:12px;line-height:1.55;margin:0 auto 24px;max-width:330px}
.auth-tabs{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid #303034;margin-bottom:22px}.auth-tab{border:0;background:transparent;color:#77777e;font-size:12px;font-weight:600;padding:12px 8px;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}.auth-tab:hover{color:#c9c9ce}.auth-tab.active{color:#fff;border-bottom-color:#fff}
.google-button{width:100%;height:48px;background:#f5f5f6;color:#151517;border:1px solid #f5f5f6;border-radius:7px;display:flex;align-items:center;justify-content:center;gap:11px;font-size:13px;font-weight:600;cursor:pointer;transition:.14s}.google-button:hover{background:#fff}.google-icon-tile{width:23px;height:23px;display:grid;place-items:center}.google-icon-tile img{width:19px;height:19px}
.auth-divider{display:flex;align-items:center;gap:11px;color:#66666d;font-size:9px;font-weight:700;letter-spacing:.1em;margin:22px 0}.auth-divider:before,.auth-divider:after{content:"";height:1px;flex:1;background:#303034}
.auth-form{display:flex;flex-direction:column;gap:15px}.auth-form label:not(.checkbox-label){display:flex;flex-direction:column;gap:7px}.auth-form label>span{font-size:11px;color:#b2b2b8;font-weight:500}.auth-form input[type="email"],.auth-form input[type="password"],.auth-form input[type="text"]{height:46px;border-radius:6px;border:1px solid #37373c;background:#242427;color:#fff;padding:0 13px;outline:none;font-size:13px;transition:border-color .14s,background .14s}.auth-form input::placeholder{color:#6d6d74}.auth-form input:focus{border-color:#777780;background:#27272a}
.form-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.checkbox-label{display:flex;align-items:flex-start;gap:8px;cursor:pointer}.checkbox-label input{width:15px;height:15px;margin:0;accent-color:#e9e9eb}.checkbox-label span{font-size:10px!important;color:#8f8f96!important;line-height:1.45}.text-button,.auth-switch button{padding:0;border:0;background:transparent;color:#d6d6da;font-size:10px;cursor:pointer}.text-button:hover,.auth-switch button:hover{text-decoration:underline;color:#fff}
.auth-submit{height:47px;background:#e9e9eb;color:#111113;border:1px solid #e9e9eb;border-radius:7px;font-size:12px;font-weight:700;cursor:pointer;margin-top:2px}.auth-submit:hover{background:#fff}.auth-submit:disabled{opacity:.55;cursor:not-allowed}
.terms-row{padding:2px 0 3px}.auth-message{min-height:17px;margin-top:14px;text-align:center;color:#b5b5bb;font-size:10px;line-height:1.5}.auth-message.error{color:#ff9b9b}.auth-message.success{color:#a8dbb5}
.auth-switch{text-align:center;color:#77777e;font-size:10px;margin:17px 0 0}.auth-switch button{margin-left:3px;color:#dddde1;font-weight:600}
.auth-footer{min-height:66px;border-top:1px solid #242427;display:flex;align-items:center;justify-content:center;gap:24px;padding:18px 20px;color:#66666d;font-size:10px;background:#121214;flex-wrap:wrap}

/* DASHBOARD */
.app-shell{min-height:100vh;display:grid;grid-template-columns:250px 1fr}
.sidebar{height:100vh;position:sticky;top:0;background:var(--sidebar);border-right:1px solid #262629;padding:24px 16px 18px;display:flex;flex-direction:column}
.brand{display:flex;align-items:center;gap:11px;color:#fff;text-decoration:none;font-weight:700;font-size:18px;padding:0 8px 26px}.brand img{width:33px;height:33px;border-radius:9px;object-fit:cover}
.nav{display:flex;flex-direction:column;gap:5px}.nav-item{width:100%;border:0;background:transparent;padding:12px 13px;border-radius:7px;text-align:left;display:flex;align-items:center;gap:12px;font-size:14px;font-weight:500;color:#aaaab0;cursor:pointer;transition:.16s ease}.nav-item:hover{background:#202023;color:#fff}.nav-item.active{background:#2a2a2e;color:#fff}.nav-icon{width:20px;text-align:center;font-size:17px;color:#c6c6cb}
.sidebar-footer{margin-top:auto;padding-top:16px;border-top:1px solid #29292c;position:relative}.profile-button{border:0;width:100%;padding:9px 7px;background:transparent;display:flex;align-items:center;gap:10px;text-align:left;cursor:pointer;border-radius:8px}.profile-button:hover{background:#202023}.avatar{width:34px;height:34px;border-radius:50%;background:#ececee;color:#171719;display:grid;place-items:center;font-size:11px;font-weight:800}.profile-copy{display:flex;flex-direction:column;min-width:0;flex:1}.profile-copy strong{font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-copy span{font-size:10px;color:var(--muted);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chevron{color:#77777d}.profile-menu{position:absolute;left:0;right:0;bottom:58px;background:#242427;border:1px solid #38383d;border-radius:7px;padding:6px;box-shadow:0 16px 42px rgba(0,0,0,.38)}.profile-menu[hidden]{display:none}.profile-menu button{width:100%;border:0;background:transparent;color:#d0d0d4;text-align:left;padding:10px;border-radius:5px;font-size:11px;cursor:pointer}.profile-menu button:hover{background:#303034;color:#fff}
.main{min-width:0;padding:0 6vw 80px}.topbar{min-height:112px;border-bottom:1px solid #252528;display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:38px}.eyebrow,.small-label{font-size:10px;letter-spacing:.14em;color:#797980;font-weight:700}.topbar h1{font-size:23px;letter-spacing:-.03em;margin:6px 0 0;font-weight:650}.top-actions{display:flex;align-items:center;gap:8px;font-size:12px;color:#9999a0}.status-dot{width:7px;height:7px;background:#8dffad;border-radius:50%;box-shadow:0 0 0 3px rgba(141,255,173,.08)}
.page{display:none;max-width:1040px}.active-page{display:block}.hero-card{background:linear-gradient(135deg,#222225,#19191c);border:1px solid #303034;border-radius:12px;padding:28px 30px;display:flex;align-items:center;justify-content:space-between;gap:28px;margin-bottom:42px}.hero-card h2{font-size:25px;letter-spacing:-.035em;margin:9px 0 9px}.hero-card p{max-width:680px;color:#aaaab1;font-size:14px;line-height:1.65;margin:0}.shield{width:54px;height:54px;border:1px solid #404046;background:#252529;border-radius:50%;display:grid;place-items:center;font-size:18px;color:#cfcfd4;flex:0 0 auto}
.section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:16px}.section-heading h3{font-size:18px;margin:0 0 5px;letter-spacing:-.02em}.section-heading p{font-size:12px;color:#85858c;margin:0}.linked-heading{margin-top:42px}.provider-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.provider-card{border:1px solid var(--border);background:var(--panel);border-radius:10px;display:flex;align-items:center;gap:15px;padding:15px;text-align:left;cursor:pointer;min-height:84px;transition:background .14s,border-color .14s,transform .14s}.provider-card:hover{background:var(--panel-hover);border-color:#44444a;transform:translateY(-1px)}.provider-logo{width:52px;height:52px;border-radius:6px;display:grid;place-items:center;flex:0 0 auto}.white-tile{background:#f5f5f5}.provider-logo img{width:29px;height:29px;object-fit:contain}.provider-info{display:flex;flex-direction:column;gap:5px;min-width:0;flex:1}.provider-info strong{font-size:14px}.provider-info span{font-size:12px;color:#8f8f96}.provider-arrow{font-size:18px;color:#74747b;margin-right:5px}
.linked-list{display:flex;flex-direction:column;gap:10px}.empty-state{background:#18181b;border:1px dashed #36363b;border-radius:10px;padding:30px 20px;text-align:center;display:flex;flex-direction:column;align-items:center}.empty-icon{width:38px;height:38px;border-radius:50%;background:#252529;display:grid;place-items:center;color:#9c9ca3;margin-bottom:12px}.empty-state strong{font-size:13px}.empty-state span{font-size:12px;color:#7e7e85;margin-top:6px}.linked-row{display:flex;align-items:center;gap:15px;background:var(--panel);border:1px solid #2d2d31;border-radius:10px;padding:14px 16px}.linked-row .provider-logo{width:48px;height:48px}.linked-copy{display:flex;flex-direction:column;gap:4px;flex:1}.linked-copy strong{font-size:14px}.linked-copy span{font-size:12px;color:#95959c}.connected-pill{font-size:10px;background:#272b28;border:1px solid #3b473e;color:#bde5c6;padding:5px 8px;border-radius:999px;margin-right:8px}.unlink{background:transparent;border:0;color:#88888f;cursor:pointer;font-size:12px;padding:8px}.unlink:hover{color:#fff}
.privacy-note{margin-top:24px;border-top:1px solid #252528;padding-top:20px;display:flex;gap:12px;color:#8e8e95}.privacy-note .lock{font-size:9px;margin-top:5px}.privacy-note strong{font-size:12px;color:#b8b8be}.privacy-note p{margin:5px 0 0;font-size:11px;line-height:1.55;max-width:720px}.placeholder-page.active-page{display:block}.placeholder-card{max-width:720px;background:#1c1c1f;border:1px solid #303034;border-radius:12px;padding:34px}.placeholder-card h2{font-size:25px;margin:10px 0}.placeholder-card p{color:#97979e;line-height:1.6}
.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.72);display:grid;place-items:center;padding:20px;z-index:20}.modal-backdrop[hidden]{display:none}.modal{width:min(440px,100%);background:#1d1d20;border:1px solid #3a3a40;border-radius:13px;padding:28px;position:relative;box-shadow:0 28px 90px rgba(0,0,0,.55)}.modal-close{position:absolute;right:14px;top:10px;background:transparent;border:0;color:#8a8a91;font-size:26px;cursor:pointer}.modal-provider{width:58px;height:58px;border-radius:8px;background:#f5f5f5;display:grid;place-items:center;margin-bottom:20px}.modal-provider img{width:32px;height:32px}.modal h2{font-size:21px;margin:0 0 9px}.modal p{font-size:13px;line-height:1.6;color:#a1a1a8;margin:0 0 24px}.modal-actions{display:flex;justify-content:flex-end;gap:9px}.modal-actions a,.modal-actions button{border-radius:6px;padding:10px 15px;font-size:12px;font-weight:600;text-decoration:none;cursor:pointer}.secondary{background:#29292d;border:1px solid #3a3a3f;color:#d0d0d5}.primary{background:#efeff0;color:#111114;border:1px solid #efeff0}.dev-note{margin-top:19px;padding-top:16px;border-top:1px solid #2e2e32;color:#77777e;font-size:10px;line-height:1.55}.dev-note code{color:#a9a9ae}.toast{position:fixed;right:24px;bottom:24px;background:#242428;border:1px solid #3b3b40;border-radius:8px;padding:12px 15px;font-size:12px;color:#e6e6e9;box-shadow:0 15px 50px rgba(0,0,0,.4);z-index:30}

@media (max-width:820px){.app-shell{grid-template-columns:72px 1fr}.sidebar{padding:20px 10px}.brand{padding:0 9px 24px}.brand span,.nav-item span:last-child,.profile-copy,.chevron{display:none}.brand img{width:36px;height:36px}.nav-item{justify-content:center;padding:12px}.sidebar-footer{display:flex;justify-content:center}.profile-button{justify-content:center}.profile-menu{left:0;right:auto;width:120px}.main{padding:0 24px 60px}.provider-grid{grid-template-columns:1fr}}
@media (max-width:560px){.auth-topbar{height:66px;padding:0 18px}.auth-stage{padding:31px 14px}.auth-card{padding:26px 20px 24px}.auth-footer{gap:14px}.app-shell{display:block}.sidebar{height:auto;position:fixed;z-index:10;bottom:0;top:auto;left:0;right:0;border-top:1px solid #2b2b2e;border-right:0;padding:8px 10px;background:rgba(23,23,25,.97)}.brand,.sidebar-footer{display:none}.nav{flex-direction:row;justify-content:space-around}.nav-item{width:auto;flex:1}.nav-item:nth-child(5){display:none}.main{padding:0 17px 90px}.topbar{min-height:88px;margin-bottom:25px}.top-actions{display:none}.hero-card{padding:22px}.shield{display:none}.hero-card h2{font-size:21px}.provider-card{min-height:78px}.modal{padding:24px}}
