/* partners.trulata.com. Tokens are docs/product/BRAND.json, the same as login.trulata.com. */
:root{
  --ink:#282a2b; --paper:#ffffff; --paper-50:#f7f8fb; --line:#e4e8f0;
  --primary:#3a43ad; --accent:#4cd1f4; --secondary:#9a3fc1;
  --text:#2a2d30; --text-dim:#5b6168; --negative:#dd2c32; --positive:#16a34a;
  --radius:18px; --radius-sm:12px;
  --grad:linear-gradient(110deg,#9a3fc1 0%,#3a43ad 52%,#4cd1f4 100%);
  --shadow:0 24px 60px -28px rgba(40,42,43,0.32);
}
*{box-sizing:border-box}
body{margin:0;font:400 16px/1.6 Poppins,system-ui,sans-serif;color:var(--text);background:var(--paper-50)}
a{color:var(--primary)}
.center{min-height:100vh;display:grid;place-items:center;padding:6vh 16px}
.card{width:100%;max-width:28rem;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);
      box-shadow:var(--shadow);padding:2.25rem 2rem;position:relative;overflow:hidden}
.card.wide{max-width:40rem}
.card::before{content:"";position:absolute;inset:0 0 auto;height:4px;background:var(--grad)}
.brand{display:flex;align-items:center;gap:.6rem;margin-bottom:1.4rem;text-decoration:none}
.brand img{height:30px}
h1{font:800 22px/1.3 Montserrat,system-ui,sans-serif;margin:0 0 .4rem;color:var(--ink)}
h2{font:800 17px/1.3 Montserrat,system-ui,sans-serif;margin:0 0 .8rem;color:var(--ink)}
p.sub{margin:0 0 1.4rem;color:var(--text-dim);font-size:.95rem}
label{display:block;font-weight:500;font-size:.9rem;margin:.9rem 0 .35rem}
input,textarea{width:100%;padding:.75rem .9rem;border:1px solid var(--line);border-radius:var(--radius-sm);
  font:400 16px Poppins,system-ui,sans-serif;color:var(--text);background:var(--paper)}
textarea{min-height:5rem;resize:vertical}
input:focus,textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(58,67,173,.12)}
.check{display:flex;gap:.6rem;align-items:flex-start;margin-top:1rem;font-size:.92rem}
.check input{width:auto;margin-top:.3rem}
button,.btn{display:inline-block;width:100%;margin-top:1.1rem;padding:.85rem 1rem;border:0;border-radius:var(--radius-sm);
  background:var(--grad);color:#fff;font:600 16px Poppins,system-ui,sans-serif;cursor:pointer;text-align:center;text-decoration:none}
button[disabled]{opacity:.6;cursor:default}
.msg{margin-top:1.1rem;font-size:.92rem;padding:.85rem .9rem;border-radius:var(--radius-sm);display:none}
.msg.show{display:block}
.msg.ok{background:var(--paper-50);border:1px solid var(--line)}
.msg.err{background:var(--paper-50);border:1px solid var(--negative);color:var(--negative)}
.foot{margin-top:1.4rem;font-size:.85rem;color:var(--text-dim);text-align:center}
.hp{position:absolute;left:-5000px}
ul.terms{margin:.2rem 0 0;padding-left:1.1rem;font-size:.93rem}
ul.terms li{margin:.25rem 0}

/* dashboard */
.top{background:var(--paper);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:2}
.top .in{max-width:1080px;margin:0 auto;padding:.8rem 16px;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.top img{height:26px}
.top .who{font-size:.85rem;color:var(--text-dim);text-align:right}
.wrap{max-width:1080px;margin:0 auto;padding:24px 16px 64px}
.grid{display:grid;gap:14px;grid-template-columns:repeat(4,minmax(0,1fr))}
.tile{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-sm);padding:1rem 1.1rem}
.tile .k{font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim)}
.tile .v{font:800 26px/1.2 Montserrat,system-ui,sans-serif;color:var(--ink);margin-top:.25rem}
.tile .s{font-size:.82rem;color:var(--text-dim)}
.panel{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:1.3rem 1.4rem;margin-top:16px}
.cols{display:grid;gap:16px;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}
.cols>*,.grid>*,.panel{min-width:0}
.scroll table{min-width:560px}
.link{display:flex;gap:.5rem;align-items:center;margin:.5rem 0}
.link code{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:var(--paper-50);
  border:1px solid var(--line);border-radius:10px;padding:.55rem .7rem;font-size:.88rem}
.link button{width:auto;margin:0;padding:.55rem .9rem;font-size:.85rem}
.code{font:800 22px/1 Montserrat,system-ui,sans-serif;letter-spacing:.04em;color:var(--primary)}
table{width:100%;border-collapse:collapse;font-size:.92rem}
th{text-align:left;font-weight:500;color:var(--text-dim);font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;
   padding:.5rem .4rem;border-bottom:1px solid var(--line)}
td{padding:.6rem .4rem;border-bottom:1px solid var(--line)}
.scroll{overflow-x:auto}
.pill{display:inline-block;font-size:.78rem;padding:.12rem .55rem;border-radius:999px;background:var(--paper-50);border:1px solid var(--line)}
.pill.closed{background:#ecfdf3;border-color:#bbf7d0;color:#166534}
.empty{color:var(--text-dim);font-size:.92rem;padding:.6rem 0}
.assets{display:grid;gap:10px;grid-template-columns:repeat(4,minmax(0,1fr))}
.assets a{display:block;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--paper-50)}
.assets img{width:100%;height:90px;object-fit:cover;object-position:top left;display:block}
.assets a.logo img{object-fit:contain;padding:14px;background:#fff}
.assets a.logo.dark img{background:#282a2b}
.assets span{display:block;font-size:.78rem;padding:.35rem .5rem;color:var(--text-dim)}
pre.copy{white-space:pre-wrap;background:var(--paper-50);border:1px solid var(--line);border-radius:10px;padding:.8rem;font:400 .9rem/1.55 Poppins,system-ui,sans-serif;margin:.4rem 0}
@media (max-width:820px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cols{grid-template-columns:minmax(0,1fr)}.assets{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:420px){.card{padding:1.8rem 1.2rem}.tile .v{font-size:22px}}
