:root{--bg:#07111f;--panel:#0e1b2f;--muted:#8ea1bd;--text:#eef5ff;--card:#13233b;--line:#243854;--accent:#52e0a4;--accent2:#7c5cff;--danger:#ff6b6b;--warn:#ffcc66}*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:radial-gradient(circle at top left,#1d3154 0,#07111f 42%);color:var(--text)}a{color:inherit;text-decoration:none}.topbar{max-width:1180px;margin:0 auto;padding:18px 20px;display:flex;align-items:center;justify-content:space-between}.brand{font-weight:900;font-size:23px;letter-spacing:-.04em}.brand span{color:var(--accent)}nav{display:flex;gap:10px;align-items:center}nav a{color:#c9d7ee;padding:9px 12px;border-radius:12px}.nav-cta,.btn.primary{background:linear-gradient(135deg,var(--accent),#31bfff);color:#04111c!important;font-weight:800}.page{max-width:1180px;margin:0 auto;padding:18px 20px 70px}.hero{display:grid;grid-template-columns:1.05fr .95fr;gap:34px;align-items:center;padding:70px 0}.eyebrow{color:var(--accent);font-weight:800;margin-bottom:10px}.hero h1{font-size:clamp(44px,7vw,82px);line-height:.93;margin:0 0 22px;letter-spacing:-.07em}.lead{font-size:20px;line-height:1.55;color:#c5d5ef;max-width:650px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.btn,button{border:0;border-radius:16px;padding:13px 17px;font-weight:850;cursor:pointer;background:#213552;color:var(--text);display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn.secondary{border:1px solid var(--line);background:rgba(255,255,255,.04)}.panel{background:rgba(14,27,47,.82);border:1px solid rgba(255,255,255,.09);border-radius:28px;padding:24px;box-shadow:0 24px 80px rgba(0,0,0,.3);backdrop-filter:blur(10px)}.mock-row{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--line);color:#dbe8ff}.mock-row:last-child{border:0}.pill{font-size:12px;padding:5px 9px;border-radius:999px;background:#17385c;color:#bde3ff}.grid{display:grid;gap:18px}.grid.three{grid-template-columns:repeat(3,1fr)}.card{background:rgba(19,35,59,.9);border:1px solid rgba(255,255,255,.08);border-radius:24px;padding:20px}.card h3{margin:0 0 8px;font-size:19px}.muted{color:var(--muted)}.auth{max-width:480px;margin:42px auto}.form{display:grid;gap:12px}label{display:grid;gap:7px;color:#dbe7fb;font-weight:700}input,textarea,select{width:100%;padding:13px 14px;border-radius:14px;border:1px solid var(--line);background:#09182b;color:var(--text);font:inherit}textarea{min-height:120px;resize:vertical}.flash{padding:13px 16px;border-radius:16px;margin-bottom:16px}.flash.success{background:#113d2e;color:#c6ffe3}.flash.error{background:#4a1d24;color:#ffd4d4}.dash-head,.group-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin:22px 0}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.stat{padding:18px;border-radius:22px;background:#10213a;border:1px solid var(--line)}.stat b{display:block;font-size:28px;margin-top:4px}.group-layout{display:grid;grid-template-columns:1fr 370px;gap:18px;align-items:start}.member-list,.expense-list,.settle-list{display:grid;gap:10px}.member,.expense,.settle,.balance{padding:14px;border:1px solid var(--line);background:#0b1a2d;border-radius:18px}.member-top,.expense-top,.balance{display:flex;justify-content:space-between;gap:12px;align-items:center}.linkbox{display:flex;gap:8px;margin-top:10px}.linkbox input{font-size:12px}.mini{font-size:12px;padding:9px 10px;border-radius:12px}.danger{background:#472333;color:#ffd4d4}.amount-pos{color:var(--accent);font-weight:900}.amount-neg{color:var(--warn);font-weight:900}.checks{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.check{display:flex;gap:8px;align-items:center;border:1px solid var(--line);border-radius:14px;padding:10px;background:#09182b}.check input{width:auto}.footer-note{margin-top:20px;color:var(--muted);font-size:13px}@media(max-width:860px){.hero,.group-layout,.grid.three{grid-template-columns:1fr}.stats{grid-template-columns:1fr}.topbar{padding:14px}.page{padding:10px 14px 50px}.dash-head,.group-head{flex-direction:column}.panel{border-radius:22px}.checks{grid-template-columns:1fr}.member-top,.expense-top,.balance{align-items:flex-start;flex-direction:column}.hero{padding:34px 0}.lead{font-size:17px}}

.compact{padding-top:36px;padding-bottom:36px}.pricing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:28px}.price-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:24px;padding:24px;position:relative}.price-card.featured{background:linear-gradient(180deg,rgba(82,224,164,.16),rgba(255,255,255,.06));border-color:rgba(82,224,164,.45);box-shadow:0 20px 60px rgba(82,224,164,.1)}.price{font-size:42px;font-weight:900;margin:14px 0;letter-spacing:-.05em}.price span{font-size:15px;color:var(--muted)}.price-card ul{padding-left:18px;color:var(--muted);line-height:1.9}.badge{position:absolute;top:18px;right:18px;background:var(--accent);color:#04111c;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:900}.steps{display:grid;gap:16px;max-width:880px;margin:0 auto 24px}.step{display:grid;grid-template-columns:52px 1fr;gap:18px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:22px;padding:20px}.step span{width:44px;height:44px;background:var(--accent);color:#04111c;display:grid;place-items:center;border-radius:50%;font-weight:900}.cta-panel,.billing-panel,.usage-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:24px;padding:24px;margin-top:24px}.billing-stats,.usage-card{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.billing-stats div,.usage-card div{background:rgba(255,255,255,.05);border-radius:18px;padding:16px;min-width:140px}.billing-stats strong,.usage-card strong{display:block;font-size:24px}.billing-stats span,.usage-card span{color:var(--muted);font-size:14px}.plan-pill{background:rgba(82,224,164,.12);color:var(--accent);border:1px solid rgba(82,224,164,.3);padding:10px 14px;border-radius:999px;font-weight:800}.small-note{font-size:13px;margin-top:12px}@media(max-width:900px){.pricing-grid{grid-template-columns:1fr}.topbar{align-items:flex-start}.topbar nav{flex-wrap:wrap;justify-content:flex-end;gap:6px}.topbar nav a{font-size:13px;padding:8px}.billing-stats,.usage-card{align-items:stretch}.billing-stats div,.usage-card div,.usage-card .btn{width:100%}.step{grid-template-columns:1fr}.step span{margin-bottom:4px}}

.feature-panel {
    display: grid;
    grid-template-columns: 1.4fr .8fr;
    gap: 22px;
    align-items: center;
    margin-top: 32px;
  margin-bottom: 60px;
    padding: 28px;
    border-radius: 28px;
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.1);
}

.mini-demo-card {
    background: rgba(15,23,42,.8);
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 22px;
    padding: 20px;
    display: grid;
    gap: 8px;
}

.mini-demo-card strong {
    font-size: 18px;
}

.mini-demo-card span {
    color: var(--muted);
}

.mini-demo-card .positive {
    color: #22c55e;
    font-weight: 800;
}

.pro-share-panel {
    margin-top: 24px;
}

@media (max-width: 800px) {
    .feature-panel {
        grid-template-columns: 1fr;
        padding: 22px;
    }
}

.group-card {
    display: grid;
    gap: 12px;
}

.group-card a {
    color: inherit;
    text-decoration: none;
}

.group-card form {
    margin: 0;
}

.group-card .danger {
    width: fit-content;
}

.member-link-details {
    margin-top: 16px;
}

.member-link-details summary {
    cursor: pointer;
    color: var(--muted);
    font-weight: 800;
    padding: 10px 0;
}

.member-link-details summary:hover {
    color: var(--text);
}

#allMemberLinks {
    min-height: 190px;
    resize: vertical;
}

.panel-title-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 14px;
    margin-bottom: 16px;
}

.panel-title-row h2 {
    margin-bottom: 4px;
}

.settle-count {
    white-space: nowrap;
    background: rgba(245,158,11,.14);
    border: 1px solid rgba(245,158,11,.28);
    color: #fbbf24;
    padding: 7px 11px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 900;
}

.settlement-flow {
    display: grid;
    gap: 12px;
}

.settlement-card {
    display: grid;
    grid-template-columns: 42px 1fr 42px;
    align-items: center;
    gap: 12px;
    padding: 14px;
    border-radius: 20px;
    background: rgba(255,255,255,.055);
    border: 1px solid rgba(255,255,255,.09);
}

.person-bubble {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    font-weight: 900;
    text-transform: uppercase;
}

.person-bubble.payer {
    background: rgba(239,68,68,.16);
    color: #fca5a5;
}

.person-bubble.receiver {
    background: rgba(34,197,94,.16);
    color: #86efac;
}

.settlement-middle {
    min-width: 0;
}

.settlement-names {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 7px;
    flex-wrap: wrap;
    font-size: 14px;
    text-align: center;
}

.settlement-names span {
    color: var(--muted);
    font-weight: 700;
}

.payment-line {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 8px;
    margin: 7px 0;
}

.payment-line span {
    height: 1px;
    background: rgba(255,255,255,.16);
}

.payment-line b {
    color: #fbbf24;
}

.settlement-amount {
    text-align: center;
    font-size: 18px;
    font-weight: 950;
    color: #86efac;
}

.empty-state {
    text-align: center;
    padding: 30px 14px;
    border-radius: 20px;
    background: rgba(34,197,94,.08);
    border: 1px solid rgba(34,197,94,.16);
}

.empty-icon {
    width: 46px;
    height: 46px;
    margin: 0 auto 10px;
    border-radius: 50%;
    background: rgba(34,197,94,.18);
    color: #86efac;
    display: grid;
    place-items: center;
    font-size: 24px;
    font-weight: 900;
}

@media (max-width: 520px) {
    .settlement-card {
        grid-template-columns: 36px 1fr 36px;
        gap: 9px;
        padding: 12px;
    }

    .person-bubble {
        width: 36px;
        height: 36px;
        font-size: 13px;
    }

    .settlement-amount {
        font-size: 16px;
    }
}
button.success {
  background: #22c55e !important;
}

.copy-toast {
  position: fixed;
  bottom: 30px;
  left: 50%;
  transform: translateX(-50%) translateY(20px);
  background: #111827;
  color: #22c55e;
  padding: 12px 18px;
  border-radius: 999px;
  font-weight: 700;
  font-size: 14px;
  opacity: 0;
  transition: all 0.25s ease;
  z-index: 99999; /* IMPORTANT */
  pointer-events: none;
}

.copy-toast.show {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}