
:root{
  --bg:#f5f6f7;--card:#fff;--line:#d9dee3;--text:#343a40;--muted:#6c757d;
  --blue:#0877d8;--blue2:#0667ba;--green:#198754;--red:#b42318;--yellow:#fff3cd;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;background:var(--bg);color:var(--text);font-size:14px}
button,input,select,textarea{font:inherit}
a{text-decoration:none;color:inherit}
.hidden{display:none!important}
.container{max-width:1180px;margin:0 auto;padding:0 16px}
.auth-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}
.auth-card{width:min(430px,100%);background:#fff;border:1px solid var(--line);border-radius:8px;padding:30px;box-shadow:0 12px 34px rgba(0,0,0,.06)}
.brand{font-size:20px;font-weight:700;color:var(--blue)}
.brand.big{font-size:30px;margin-bottom:4px}
.auth-tabs{display:flex;border-bottom:1px solid var(--line);margin:22px 0}
.tab,.subtab{border:0;background:transparent;cursor:pointer}
.tab{padding:10px 14px;color:var(--blue)}
.tab.active{color:#333;border:1px solid var(--line);border-bottom-color:#fff;border-radius:4px 4px 0 0;margin-bottom:-1px}
label{display:block;font-weight:600;margin:12px 0 6px}
input,select,textarea{width:100%;padding:9px 10px;border:1px solid #cbd2d8;border-radius:4px;background:#fff;color:var(--text)}
textarea{min-height:115px;resize:vertical}
.btn{border:1px solid #aeb7bf;background:#fff;color:#333;border-radius:4px;padding:8px 12px;cursor:pointer}
.btn:hover{background:#f7f8f9}
.btn.primary{background:var(--blue);border-color:var(--blue);color:#fff}
.btn.primary:hover{background:var(--blue2)}
.btn.danger{color:var(--red);border-color:#e1aaaa}
.btn.success{background:var(--green);border-color:var(--green);color:#fff}
.btn.full{width:100%;margin-top:14px}
.smallbtn{padding:6px 9px;font-size:12px}
.small{font-size:12px}
.muted{color:var(--muted)}
.notice{margin-top:14px;background:#f7fafc;border-left:3px solid #95b6ce;padding:10px 12px;line-height:1.5}
.topbar{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.topbar-inner{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:14px}
.nav{display:flex;align-items:center;gap:2px}
.nav a{padding:18px 10px;color:#31506a;font-weight:600;border-bottom:3px solid transparent}
.nav a.active{color:var(--blue);border-bottom-color:var(--blue)}
.account{display:flex;align-items:center;gap:8px}
.badge{display:inline-block;background:#edf2f7;padding:4px 7px;border-radius:99px;font-size:11px;font-weight:700}
main.container{padding-top:22px;padding-bottom:50px}
.page-head{display:flex;justify-content:space-between;gap:16px;align-items:end;margin-bottom:14px}
.page-head h1{margin:0 0 4px;font-size:24px}
.tabs-row{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:12px}
.subtab{padding:10px 14px;color:var(--blue)}
.subtab.active{color:#333;border:1px solid var(--line);border-bottom-color:#fff;border-radius:4px 4px 0 0;margin-bottom:-1px}
.toolbar{display:flex;gap:8px;align-items:center;margin:12px 0}
.toolbar input{max-width:280px}
.table-card{background:#fff;border:1px solid var(--line);border-radius:5px;overflow:auto}
table{border-collapse:collapse;width:100%;min-width:820px}
th,td{padding:11px 10px;border-bottom:1px solid #e6e8ea;text-align:left;vertical-align:top}
th{background:#fafbfc;font-weight:600;white-space:nowrap}
.num{text-align:right}
.status{display:inline-block;padding:3px 7px;border-radius:3px;font-size:11px;font-weight:700}
.status.pending,.status.to_confirm{background:#fff3cd;color:#856404}
.status.reported,.status.waiting{background:#d9ecff;color:#0b5d9d}
.status.received,.status.active,.status.paid,.status.claimed{background:#dff3e8;color:#136d3e}
.status.canceled,.status.cancelled,.status.closed,.status.disabled{background:#eceff1;color:#59636b}
.status.expired{background:#f8d7da;color:#842029}
.row-actions{display:flex;gap:5px;flex-wrap:wrap}
.balance-line{font-size:15px;line-height:1.8;margin:10px 0 14px}
.money-hi{background:#fff3bd;padding:1px 4px}
.panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:12px 0}
.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:12px 0}
.stat{background:#fff;border:1px solid var(--line);padding:12px;border-radius:4px}
.stat span{display:block;color:var(--muted);font-size:12px}.stat strong{font-size:20px;display:block;margin-top:3px}
.loading{position:fixed;left:50%;top:74px;transform:translateX(-50%);background:#111827;color:#fff;padding:8px 13px;border-radius:99px;z-index:100}
.toast{position:fixed;right:18px;top:76px;z-index:200;background:#111827;color:#fff;padding:10px 13px;border-radius:5px;max-width:360px;box-shadow:0 6px 20px rgba(0,0,0,.18)}
.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.38);z-index:100;display:flex;align-items:center;justify-content:center;padding:18px}
.modal{width:min(680px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:6px;box-shadow:0 18px 60px rgba(0,0,0,.22)}
.modal-head{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-bottom:1px solid var(--line)}
.modal-head h2{font-size:18px;margin:0}.icon-btn{border:0;background:transparent;font-size:24px;color:#68717a;cursor:pointer}
.modal-body,.modal form{padding:16px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.modal-actions{display:flex;justify-content:flex-end;gap:7px;margin-top:16px}
.empty{padding:34px;text-align:center;color:var(--muted)}
.payment-method{white-space:pre-wrap;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;background:#f7f8f9;padding:8px;border-radius:4px;max-width:360px}
@media(max-width:800px){
  .topbar-inner{flex-wrap:wrap;padding-top:8px;padding-bottom:8px}.account-email{display:none}
  .nav{order:3;width:100%;overflow:auto}.nav a{padding:8px 9px}
  .page-head{align-items:flex-start;flex-direction:column}.toolbar{align-items:stretch;flex-direction:column}.toolbar input{max-width:none}
  .form-grid,.stat-grid{grid-template-columns:1fr}
}
