:root{--ink:#14213a;--mid:#0f1c3f;--mid2:#1a2c5c;--paper:#f5f3ee;--card:#fffdf8;--line:#ddd8cc;--muted:#5e6678;--accent:#d9492b;--ok:#1f7a55;--warn:#a86a00;--bad:#b3261e;--r:10px;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}body{margin:0;min-height:100dvh;background:var(--paper)}
a{color:var(--mid2)}
.mono{font-family:ui-monospace,"SF Mono",Menlo,Consolas,monospace}
.band{background:linear-gradient(160deg,var(--mid),var(--mid2));color:#f2efe6;padding:28px 20px 72px}
.band-in,.wrap{max-width:1100px;margin:0 auto}
.brand{display:flex;align-items:center;gap:10px;font-weight:700;letter-spacing:.02em;color:inherit;text-decoration:none}
.brand i{width:26px;height:26px;border-radius:7px;background:var(--accent);display:inline-block;position:relative}
.brand i:after{content:"";position:absolute;inset:8px 6px;border-top:3px solid #fff;border-bottom:3px solid #fff}
.amount{font-size:clamp(44px,9vw,84px);font-weight:800;letter-spacing:-.03em;margin:28px 0 6px;font-variant-numeric:tabular-nums}
.sub{opacity:.78;font-size:15px}.rut{font-size:18px;margin-top:6px}
.testpill,.livepill{display:inline-block;font-size:12px;padding:3px 9px;border-radius:99px;margin-left:8px;font-weight:600}
.testpill{background:#f2c14e;color:#3b2a00}.livepill{background:rgba(255,255,255,.12);color:#fff}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:28px;box-shadow:0 12px 30px -18px rgba(15,28,63,.35)}
.lift{max-width:620px;margin:-48px auto 40px;padding:0 16px;animation:up .45s ease both}
@keyframes up{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
h1,h2{margin:0 0 8px;letter-spacing:-.01em}h2{font-size:20px}
p{line-height:1.55}.muted{color:var(--muted)}
label{display:block;font-size:14px;font-weight:600;margin:14px 0 6px}
input,select{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:8px;font:inherit;background:#fff;color:var(--ink);transition:border-color .15s}
input:focus,select:focus{outline:none;border-color:var(--mid2);box-shadow:0 0 0 3px rgba(26,44,92,.15)}
.row{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
.phone{display:flex;gap:8px}.phone span{padding:11px 12px;border:1px solid var(--line);border-radius:8px;background:#efece4;white-space:nowrap}
.btn{display:inline-flex;justify-content:center;align-items:center;gap:8px;padding:12px 18px;border-radius:8px;border:0;background:var(--mid);color:#fff;font:inherit;font-weight:700;cursor:pointer;text-decoration:none;transition:transform .1s,opacity .15s}
.btn:active{transform:scale(.98)}.btn[disabled]{opacity:.45;cursor:not-allowed}
.btn.full{width:100%;margin-top:20px;padding:15px}.btn.ghost{background:transparent;color:var(--mid);border:1px solid var(--line)}
.btn.accent{background:var(--accent)}
#payment-element{margin-top:18px;min-height:40px}
.err,#payment-error:not(:empty){color:var(--bad);background:#fbeceb;border-left:3px solid var(--bad);padding:10px 12px;border-radius:6px;margin-top:14px}
.notice{color:var(--ok);background:#e8f4ee;border-left:3px solid var(--ok);padding:10px 12px;border-radius:6px;margin:14px 0}
.live{font-size:13px;color:var(--warn);background:#fbf3e2;padding:9px 12px;border-radius:6px;margin-top:14px}
.loading{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:14px;margin-top:14px}
.loading:before{content:"";width:100%;max-width:120px;height:8px;border-radius:4px;background:linear-gradient(90deg,#e8e4d9,#f6f3ec,#e8e4d9);background-size:200%;animation:sh 1.2s linear infinite}
@keyframes sh{to{background-position:-200% 0}}
.foot{text-align:center;font-size:12px;color:var(--muted);padding:24px}
.state{text-align:center}.state .mark{width:56px;height:56px;border-radius:50%;margin:0 auto 14px;border:3px solid var(--line);border-top-color:var(--mid2);animation:spin 1s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
/* admin */
.top{background:var(--mid);color:#f2efe6}
.top .wrap{display:flex;align-items:center;gap:18px;padding:14px 20px;flex-wrap:wrap}
.top nav{display:flex;gap:4px;flex-wrap:wrap;flex:1}
.top nav a{color:#c9cfe0;text-decoration:none;padding:7px 11px;border-radius:6px;font-size:14px}
.top nav a:hover{background:rgba(255,255,255,.08)}.top nav a.on{background:#fff;color:var(--mid);font-weight:600}
.top form{margin:0}.top .btn{padding:7px 12px;font-size:13px;background:rgba(255,255,255,.1)}
main.wrap{padding:28px 20px}
.head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:18px}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:20px}
.stat{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px;border-top:3px solid var(--mid2)}
.stat b{display:block;font-size:24px;font-variant-numeric:tabular-nums;margin-top:4px}.stat span{font-size:13px;color:var(--muted)}
.filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;align-items:end;margin-bottom:18px}
.filters label{margin:0 0 4px;font-size:12px}
.tbl{overflow-x:auto;background:var(--card);border:1px solid var(--line);border-radius:var(--r)}
table{width:100%;border-collapse:collapse;font-size:14px}
th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);background:#efece4;padding:10px 12px;white-space:nowrap}
td{padding:10px 12px;border-top:1px solid var(--line);font-variant-numeric:tabular-nums}
tr:hover td{background:#faf7f0}
.empty{text-align:center;padding:48px 20px;color:var(--muted)}
.gen{display:grid;grid-template-columns:1.2fr 1fr;gap:20px;margin-bottom:24px}
.link{word-break:break-all;background:#efece4;padding:12px;border-radius:8px;margin-top:12px}
.login{max-width:400px;margin:-48px auto 40px;padding:0 16px}
@media(max-width:767px){.row,.gen{grid-template-columns:1fr}.card{padding:20px}}
