:root{--ink:#17211b;--muted:#6f7b73;--cream:#f5f7f2;--surface:#fff;--line:#e2e8e1;--green:#176b4b;--green-2:#2b8a62;--lime:#d9f28c;--amber:#e8a83e;--red:#d65b54;--shadow:0 16px 45px rgba(23,33,27,.08)}
*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif}h1,h2,h3,strong,.navbar-brand{font-family:'Manrope','DM Sans',sans-serif}a{color:var(--green);text-decoration:none}.muted{color:var(--muted)}.eyebrow{font-size:.72rem;letter-spacing:.15em;font-weight:800;color:var(--green);margin-bottom:.55rem}.brand-mark{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:11px;background:var(--lime);color:var(--ink);font-weight:800}.brand-lockup{display:flex;align-items:center;gap:.65rem;font:800 1.05rem Manrope;color:var(--ink)}
.app-nav{background:rgba(255,255,255,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.navbar-brand{font-size:1.05rem}.nav-link{color:#738078!important;border-radius:10px;padding:.6rem .8rem!important}.nav-link.active,.nav-link:hover{color:var(--ink)!important;background:#f0f4ee}.shop-chip{display:flex;align-items:center;gap:.45rem;background:#f0f4ee;border:1px solid var(--line);padding:.45rem .7rem;border-radius:999px;font-size:.8rem}.status-dot,.live-badge span{width:7px;height:7px;background:var(--green-2);border-radius:50%;display:inline-block}.btn-primary{background:var(--green);border-color:var(--green)}.btn-primary:hover{background:#12583e;border-color:#12583e}.btn-soft{background:#eef3ed;border:1px solid #e0e8df;color:var(--ink)}.btn-soft:hover{background:#e5ece4;color:var(--ink)}.btn-dark{background:var(--ink);border-color:var(--ink)}.btn-ghost{background:transparent;border:1px solid var(--line);color:var(--ink)}.text-link{font-weight:700}.page-title{font-size:clamp(2rem,3.5vw,3rem);letter-spacing:-.04em;margin:0}.app-main{max-width:1500px;margin:auto}.hero-summary{background:linear-gradient(135deg,#123e2e,#1d6548);color:#fff;border-radius:26px;padding:28px 30px;display:flex;justify-content:space-between;align-items:end;gap:20px;box-shadow:var(--shadow)}.hero-summary .eyebrow{color:#cdebbd}.hero-number{font:800 clamp(2.7rem,6vw,4.7rem) Manrope;letter-spacing:-.06em}.summary-copy{color:#d5e5db}.summary-actions{display:flex;align-items:center;gap:15px;flex-wrap:wrap}.pill-alert{background:rgba(217,242,140,.16);border:1px solid rgba(217,242,140,.3);color:#e7f7c1;padding:.5rem .75rem;border-radius:999px;font-size:.8rem}.hero-summary .text-link{color:#fff}.stat-card,.panel-card{background:var(--surface);border:1px solid var(--line);border-radius:20px;box-shadow:0 8px 25px rgba(23,33,27,.035)}.stat-card{padding:20px;min-height:132px;display:flex;flex-direction:column;justify-content:space-between}.stat-card span{font-size:.82rem;color:var(--muted)}.stat-card strong{font-size:1.65rem;letter-spacing:-.04em}.stat-card small{color:#89938d}.panel-card{padding:22px}.panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:15px}.panel-head h2,.natural-card h2{font-size:1.2rem;margin:0}.panel-head p{font-size:.85rem;color:var(--muted);margin:.25rem 0 0}.live-badge{font-size:.75rem;display:flex;align-items:center;gap:.4rem;color:var(--green);background:#eef7eb;border-radius:999px;padding:.4rem .6rem}.follow-list{display:flex;flex-direction:column}.follow-row{display:flex;gap:14px;padding:17px 0;border-top:1px solid var(--line);position:relative}.follow-row:before{content:"";width:3px;position:absolute;left:-22px;top:16px;bottom:16px;border-radius:4px;background:#b8c4bb}.follow-row.urgent:before{background:var(--red)}.follow-row.watch:before{background:var(--amber)}.avatar{flex:0 0 40px;width:40px;height:40px;border-radius:13px;background:#eaf0e9;color:var(--green);display:grid;place-items:center;font-weight:800}.avatar-lg{width:54px;height:54px;font-size:1.15rem}.follow-main{min-width:0;flex:1}.follow-main h3{font-size:1rem;margin:0}.follow-main p{font-size:.8rem;color:var(--muted);margin:.2rem 0}.why{display:inline-block;background:#f7f9f6;border:1px solid #edf0eb;padding:.45rem .6rem;border-radius:9px;font-size:.74rem;color:#5c675f}.priority{font-size:.65rem;padding:.24rem .45rem;border-radius:999px}.priority-urgent{background:#fdebea;color:#a5403c}.priority-watch{background:#fff4df;color:#996315}.priority-healthy{background:#eaf7ef;color:#2a7650}.follow-right{text-align:right;min-width:145px}.follow-right>strong{font-size:1.15rem}.natural-card{background:linear-gradient(145deg,#f4f9ed,#fff);}.example-bubble{margin-top:15px;background:#fff;border:1px dashed #bfcbbd;padding:13px;border-radius:14px;color:#536057;font-size:.9rem}.activity-row{display:flex;align-items:center;gap:10px;padding:11px 0;border-top:1px solid var(--line)}.activity-row>div:nth-child(2){display:flex;flex-direction:column;flex:1}.activity-row small{color:var(--muted)}.activity-icon{width:30px;height:30px;border-radius:10px;display:grid;place-items:center}.activity-icon.credit{background:#edf8ee;color:var(--green)}.activity-icon.payment{background:#eef3fb;color:#42648f}.text-credit{color:#a84c46}.text-payment{color:var(--green)}.empty-state{padding:35px 10px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:14px}.search-row{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:16px}.search-row input{max-width:420px}.app-table{--bs-table-bg:transparent}.app-table th{font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;border-bottom-color:var(--line)}.app-table td{border-bottom-color:var(--line)}.customer-cell{display:flex;gap:10px;align-items:center}.customer-cell div{display:flex;flex-direction:column}.customer-cell small{color:var(--muted)}.status-pill{padding:.3rem .55rem;border-radius:999px;font-size:.72rem}.status-warning{background:#fff4df;color:#9b6514}.status-good{background:#eaf7ef;color:#2a7650}.detail-head{display:flex;justify-content:space-between;align-items:center;gap:20px}.balance-box{background:#fff;border:1px solid var(--line);padding:15px 18px;border-radius:18px;display:grid;gap:5px;min-width:220px}.balance-box span{font-size:.75rem;color:var(--muted)}.balance-box strong{font-size:1.7rem}.timeline-row{display:flex;align-items:center;gap:12px;padding:15px 0;border-top:1px solid var(--line)}.timeline-dot{width:10px;height:10px;border-radius:50%;flex:0 0 10px}.timeline-dot.credit{background:var(--red)}.timeline-dot.payment{background:var(--green)}.timeline-row div:nth-child(2){display:flex;flex-direction:column;flex:1}.timeline-row small{color:var(--muted)}.natural-input{font-size:1rem;resize:vertical}.parse-card{background:#f4f8f2;border:1px solid #dfe9dc;border-radius:15px;padding:14px}.parse-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0}.parse-grid div{background:#fff;border-radius:10px;padding:9px}.parse-grid small{display:block;color:var(--muted);font-size:.7rem}.parse-grid strong{font-size:.95rem}.strength{height:5px;background:#e8ece7;border-radius:10px;overflow:hidden}.strength span{display:block;height:100%;width:0;background:var(--amber);transition:width .2s}.auth-shell{min-height:100vh;background:radial-gradient(circle at 15% 10%,#dff0c5,transparent 32%),var(--cream);display:grid;place-items:center;padding:24px}.auth-card{width:min(100%,500px);background:#fff;border:1px solid var(--line);border-radius:28px;padding:32px;box-shadow:var(--shadow)}.section-title{font-size:2.3rem;letter-spacing:-.05em}.form-control,.form-select{border-color:#dce4db;border-radius:12px;padding:.72rem .85rem}.form-control:focus,.form-select:focus{border-color:#78a58e;box-shadow:0 0 0 .2rem rgba(23,107,75,.1)}.landing-shell{min-height:100vh;background:radial-gradient(circle at 80% 15%,rgba(217,242,140,.12),transparent 26%),#10241b;color:#f4f7f3}.landing-shell .brand-mark{background:var(--lime)}.display-title{font:800 clamp(3rem,7vw,6.3rem) Manrope;line-height:.98;letter-spacing:-.07em;max-width:900px}.display-title span{color:var(--lime)}.landing-copy{max-width:700px;color:#bfd0c6;font-size:1.08rem}.trust-row{display:flex;flex-wrap:wrap;gap:15px;color:#b8d1c1;font-size:.8rem}.hero-phone{background:#f8faf6;color:var(--ink);border-radius:30px;padding:20px;max-width:380px;margin:auto;transform:rotate(1.2deg)}.phone-top{display:flex;justify-content:space-between;color:var(--muted);font-size:.75rem}.mini-dot{width:7px;height:7px;border-radius:50%;background:var(--green)}.phone-balance{font:800 2.5rem Manrope;margin:20px 0}.phone-balance small{font:400 .78rem 'DM Sans';color:var(--muted)}.mini-card{display:flex;justify-content:space-between;gap:10px;align-items:center;border-radius:15px;padding:14px;margin-top:10px;border:1px solid var(--line)}.mini-card div{display:flex;flex-direction:column}.mini-card small{color:var(--muted);font-size:.7rem}.mini-card.urgent{border-left:4px solid var(--red)}.mini-card.watch{border-left:4px solid var(--amber)}.mini-card.healthy{border-left:4px solid var(--green-2)}.mini-action{margin-top:15px;padding:12px;border-radius:12px;background:#eaf1e8;font-size:.8rem;font-weight:700;display:flex;justify-content:space-between}
@media(max-width:767px){.hero-summary{align-items:flex-start;flex-direction:column;padding:23px}.follow-row{align-items:flex-start}.follow-right{min-width:90px}.follow-right .btn{padding:.25rem .45rem;font-size:.7rem}.detail-head{align-items:flex-start;flex-direction:column}.balance-box{width:100%}.app-nav{position:relative}.display-title{font-size:3.25rem}.hero-phone{max-width:330px}.auth-card{padding:25px}}

.entry-switch{display:inline-flex;gap:.35rem;background:#e9eee8;padding:.3rem;border-radius:999px;margin-bottom:1.25rem;border:1px solid var(--line)}
.entry-tab{padding:.55rem .9rem;border-radius:999px;color:var(--muted);font-weight:700;font-size:.82rem}
.entry-tab.active{background:#fff;color:var(--ink);box-shadow:0 4px 12px rgba(23,33,27,.07)}
.entry-panel{animation:rise .25s ease both}
@keyframes rise{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
.btn,.form-control,.form-select,.panel-card,.stat-card{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.btn-primary:hover,.btn-dark:hover,.btn-soft:hover{transform:translateY(-1px)}
.panel-card:hover{box-shadow:0 12px 32px rgba(23,33,27,.055)}
.strength span.is-strong{background:var(--green-2)}
.app-footer{border-top:1px solid var(--line);margin-top:2rem;padding:18px 0;color:#7a847d;font-size:.76rem;background:#f0f3ee}
.app-footer .container-fluid{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap}
@media(max-width:767px){.entry-switch{width:100%}.entry-tab{flex:1;text-align:center}.app-footer .container-fluid{justify-content:center;text-align:center}.follow-right{min-width:105px}}

/* readability fixes for the landing hero */
.display-title{line-height:1.12;letter-spacing:-.01em;margin-bottom:1.25rem}
.landing-copy{margin-top:1rem;max-width:34rem}
.eyebrow{color:#9be0b4}

/* ---- typography cleanup: one font family, normal spacing ---- */
body,h1,h2,h3,h4,strong,.navbar-brand,.brand-lockup,.hero-number,.phone-balance,.display-title,.phone-balance small,button,input,select,textarea{font-family:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif}
body{font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{letter-spacing:-.01em;font-weight:700}
.page-title{font-size:clamp(1.7rem,3vw,2.2rem);letter-spacing:-.015em;font-weight:700}
.section-title{font-size:1.9rem;letter-spacing:-.015em}
.display-title{font-weight:700;font-size:clamp(2.1rem,4.6vw,3.4rem);line-height:1.15;letter-spacing:-.02em;max-width:640px}
.eyebrow{text-transform:none;letter-spacing:0;font-weight:600;font-size:.9rem;color:#9be0b4}
.hero-number{font-weight:700;font-size:clamp(2.2rem,5vw,3.4rem);letter-spacing:-.02em}
.phone-balance{font-weight:700;font-size:2rem}
.stat-card strong{font-size:1.5rem;letter-spacing:-.01em}
.balance-box strong{letter-spacing:-.01em}
.landing-copy{font-size:1.02rem;line-height:1.65}
.app-table th{letter-spacing:.04em}
.app-footer{padding:18px 0;border-top:1px solid var(--line);color:var(--muted);font-size:.85rem;margin-top:40px}
.hero-phone{transform:none}
@media(max-width:767px){.display-title{font-size:2.1rem}}

/* ---- logo, smoother feel ---- */
.brand-logo{width:34px;height:34px;border-radius:10px;flex:0 0 auto;box-shadow:0 2px 8px rgba(13,59,42,.25)}
.brand-lockup{font-weight:700;letter-spacing:-.01em}
.navbar-brand{display:flex;align-items:center;gap:.6rem;font-weight:700}
html{scroll-behavior:smooth}
main,.auth-card,.hero-phone{animation:hf-in .35s ease both}
@keyframes hf-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
a,.btn,.nav-link,.panel-card,.stat-card,.follow-row,.mini-card,.form-control,.form-select{transition:background-color .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.btn:hover{transform:translateY(-1px)}.btn:active{transform:none}
.stat-card:hover,.panel-card:hover{box-shadow:0 10px 28px rgba(23,33,27,.07)}
.follow-row:hover{background:#fafcf9}
.btn:focus-visible,.nav-link:focus-visible,a:focus-visible{outline:2px solid #78a58e;outline-offset:2px}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* footer blends into the page */
.app-footer{background:transparent!important;border:0!important;margin-top:24px;padding:20px 0 28px;text-align:center;color:#8a948d;font-size:.82rem}
.app-footer .container-fluid{justify-content:center!important}
.auth-shell .app-footer,.landing-shell + .app-footer{display:none}
.welcome-bar{height:4px;background:#e4ece3;border-radius:4px;overflow:hidden;margin:22px auto 0;max-width:220px}
.welcome-bar span{display:block;height:100%;background:var(--green);width:0;animation:hf-fill 2.5s linear forwards}
@keyframes hf-fill{to{width:100%}}

.tx-actions{display:flex;gap:6px;margin-left:14px}
.tx-actions .btn{padding:.2rem .6rem;font-size:.75rem;border-radius:999px}
@media(max-width:575px){.timeline-row{flex-wrap:wrap}.tx-actions{margin-left:22px;width:100%}}
