.sa-login{min-height:100vh;display:grid;place-items:center;padding:24px;background:#10151b}
.sa-card{background:#fff;border-radius:18px;padding:32px;max-width:420px;width:100%;display:grid;gap:14px;box-shadow:0 24px 70px rgba(0,0,0,.35)}
.sa-card h1{margin:0;font-size:1.6rem}.sa-card p{margin:0;color:#5b6570}
.sa-brand{display:inline-flex;align-items:center;gap:10px;font-weight:800;color:inherit;text-decoration:none}
.sa-brand span{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#1d6b57;color:#fff}.sa-brand em{font-style:normal;font-weight:600;color:#7a8791;font-size:.85em}
.sa-app{min-height:100vh;background:#f4f6f5;color:#14202b;font:15px/1.45 system-ui,sans-serif}
.sa-top{display:flex;align-items:center;gap:20px;padding:14px 24px;background:#fff;border-bottom:1px solid #e1e6e3;position:sticky;top:0;z-index:5}
.sa-top nav{display:flex;gap:6px;margin-left:12px;flex:1}.sa-top nav button{border:0;background:none;padding:8px 14px;border-radius:999px;font:inherit;font-weight:600;color:#5b6570;cursor:pointer}.sa-top nav button.on{background:#e3f1ec;color:#1d6b57}
.sa-main{max-width:1180px;margin:0 auto;padding:24px 16px 80px;display:grid;gap:20px}
.sa-totals{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px}.sa-totals div{background:#fff;border-radius:14px;padding:14px 16px;border:1px solid #e1e6e3}.sa-totals small{display:block;color:#7a8791}.sa-totals strong{font-size:1.4rem}
.sa-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.sa-toolbar input{flex:1;min-width:220px}
.sa-filters{display:flex;gap:6px;flex-wrap:wrap}.sa-filters button{border:1px solid #d5ddd9;background:#fff;border-radius:999px;padding:6px 12px;font:inherit;cursor:pointer}.sa-filters button.on{background:#1d6b57;color:#fff;border-color:#1d6b57}
.sa-table-wrap{background:#fff;border-radius:14px;border:1px solid #e1e6e3;overflow:auto}.sa-table{width:100%;border-collapse:collapse}.sa-table th{text-align:left;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:#7a8791;padding:12px 14px;border-bottom:1px solid #e1e6e3}.sa-table td{padding:12px 14px;border-bottom:1px solid #eef1ef;vertical-align:top}.sa-table tr[data-client]{cursor:pointer}.sa-table tr[data-client]:hover{background:#f7faf8}.sa-table small{display:block;color:#7a8791}.sa-empty{text-align:center;color:#7a8791;padding:30px!important}
.sa-badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:.78rem;font-weight:700;margin:0 4px 2px 0}.sa-badge.ok{background:#dff3e8;color:#18613f}.sa-badge.info{background:#e1ecfb;color:#1c4f94}.sa-badge.warn{background:#fff0cf;color:#8a5a00}.sa-badge.bad{background:#fde2e0;color:#a3261c}.sa-badge.muted{background:#eceff1;color:#5b6570}
.sa-btn{border:1px solid #cdd6d1;background:#fff;border-radius:10px;padding:9px 14px;font:inherit;font-weight:600;cursor:pointer;color:#14202b}.sa-btn.primary{background:#1d6b57;border-color:#1d6b57;color:#fff}.sa-btn.danger{background:#fff;border-color:#d9534f;color:#b3261e}.sa-btn:disabled{opacity:.6}
.sa-form{display:grid;gap:14px}.sa-form h2,.sa-client h3{margin:0}.sa-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;align-items:end}.sa-grid .wide{grid-column:1/-1}
.sa-app label,.sa-login label{display:grid;gap:5px;font-size:.85rem;font-weight:600;color:#43505b}.sa-app input,.sa-app textarea,.sa-login input{font:inherit;padding:10px 12px;border:1px solid #cdd6d1;border-radius:10px;background:#fff;color:#14202b;min-width:0}.sa-app label.check{display:flex;align-items:center;gap:8px}.sa-app label.check input{width:auto}
.sa-form.sa-card,.sa-app .sa-card{max-width:none;box-shadow:none;border:1px solid #e1e6e3}
.sa-hint{color:#5b6570;margin:0;font-size:.9rem}.sa-error{color:#b3261e;min-height:1.2em;margin:0}
.sa-dialog{border:0;border-radius:18px;padding:0;width:min(880px,calc(100vw - 24px));max-height:92vh;box-shadow:0 30px 90px rgba(0,0,0,.4)}.sa-dialog::backdrop{background:rgba(10,16,22,.55)}
.sa-dialog>form,.sa-client{padding:24px;display:grid;gap:20px}.sa-dhead{display:flex;justify-content:space-between;gap:16px;align-items:start}.sa-dhead h2{margin:0}.sa-dhead button{border:0;background:#eef1ef;border-radius:50%;width:34px;height:34px;font-size:1.3rem;cursor:pointer}
.sa-status{display:flex;flex-wrap:wrap;gap:14px;align-items:center;color:#43505b}.sa-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.sa-actions h3{width:100%}
@media(max-width:640px){.sa-top{flex-wrap:wrap;padding:12px 16px}.sa-top nav{order:3;width:100%;margin:0}}
/* Suscripción dentro del panel del propietario */
.billing-box .billing-card{display:grid;gap:10px;max-width:640px}
.billing-steps{margin:4px 0;padding-left:20px;display:grid;gap:6px}
.billing-note{margin:0;color:#5b6570;font-size:.9rem}.billing-note.ok{color:#18613f;font-weight:600}
.billing-report{display:flex;flex-wrap:wrap;gap:12px;align-items:end}.billing-report label{display:grid;gap:4px;font-size:.85rem;font-weight:600}
.billing-history{list-style:none;padding:0;margin:8px 0 0;display:grid;gap:6px;max-width:640px}.billing-history li{display:flex;gap:14px;justify-content:space-between;padding:8px 12px;border:1px solid #e1e6e3;border-radius:10px}.billing-history em{font-style:normal;color:#5b6570}
