
:root{
  --red:#e10600;--red-dark:#b90500;--ink:#111;--muted:#71717a;--line:#e7e7ea;
  --surface:#fff;--soft:#f5f5f7;--green:#138a45;--amber:#a15c00;--danger:#b42318;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}
body{margin:0;background:var(--soft);color:var(--ink);padding-bottom:94px}
button,input,select{font:inherit} button{cursor:pointer}
.topbar{background:#111;color:#fff;padding:14px 16px;position:sticky;top:0;z-index:20;box-shadow:0 2px 12px rgba(0,0,0,.18)}
.brand{max-width:760px;margin:auto;display:flex;align-items:center;gap:12px}
.brand img{width:54px;height:54px;object-fit:contain;background:#fff;border-radius:12px;padding:4px}
.brand h1{margin:0;font-size:18px;font-weight:900}.brand p{margin:2px 0 0;font-size:13px;color:#c7c7cb}
.shell{max-width:760px;margin:auto;padding:16px}.hidden{display:none!important}
.hero{background:linear-gradient(135deg,#111,#292929);border-radius:24px;padding:22px;color:#fff;display:flex;justify-content:space-between;gap:18px;margin-bottom:16px}
.eyebrow{font-size:11px;font-weight:900;color:#ff625d;letter-spacing:1.3px}.hero h2{margin:6px 0;font-size:24px}.hero p{margin:0;color:#d7d7db;font-size:14px;line-height:1.45}
.count-card{min-width:78px;background:var(--red);border-radius:18px;padding:14px;text-align:center;height:max-content}.count-card strong{display:block;font-size:28px}.count-card span{font-size:10px;font-weight:900;text-transform:uppercase}
.panel{background:#fff;border-radius:18px;padding:18px;margin-bottom:14px;box-shadow:0 1px 5px rgba(0,0,0,.05)}
.section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.section-head h3,.session-summary h3{margin:0;font-size:18px}.section-head p,.session-summary p{margin:4px 0 0;color:var(--muted);font-size:12px;line-height:1.4}
.field-label{font-size:13px;font-weight:800}.optional{font-weight:500;color:var(--muted)}
input,select{border:1px solid var(--line);background:#fff;border-radius:13px;padding:13px 14px;outline:none;min-width:0}
input:focus,select:focus{border-color:var(--red);box-shadow:0 0 0 3px rgba(225,6,0,.08)}
.input-row{display:flex;gap:8px}.input-row input{flex:1}.wide-input,.wide{width:100%}.top-gap{margin-top:14px}
.primary,.secondary{border:0;border-radius:13px;font-weight:900;padding:13px 18px}.primary{background:var(--red);color:#fff}.primary:hover{background:var(--red-dark)}.secondary{background:#f1f1f3;color:#111}.compact{padding:9px 12px;font-size:12px}
.message{min-height:18px;font-size:12px;margin:8px 0 0}.message.success{color:var(--green)}.message.error{color:var(--danger)}.center{text-align:center}
.toolbar{display:grid;grid-template-columns:1fr auto;gap:8px;margin:16px 0 10px}.stack,.score-stack{display:grid;gap:9px}
.member-card,.attendance-card,.recent-card,.history-card{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line);border-radius:15px;padding:12px 13px;background:#fff}
.member-main,.attendance-main{display:flex;align-items:center;gap:11px;min-width:0}.avatar{width:38px;height:38px;border-radius:12px;background:#111;color:#fff;display:grid;place-items:center;font-weight:900;flex:none}.member-name{font-weight:850}.subtle{font-size:11px;color:var(--muted);margin-top:2px}
.toggle-btn{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 11px;font-size:12px;font-weight:850}.toggle-btn.active{color:var(--red);background:#fff6f5;border-color:#ffd0ce}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}.form-grid label input{width:100%;margin-top:7px}.form-grid .full{grid-column:1/-1}
.session-summary{display:flex;justify-content:space-between;gap:12px;padding-bottom:15px;border-bottom:1px solid var(--line);margin-bottom:15px}.status-pill{display:inline-block;background:#fff1f0;color:var(--red);font-size:10px;font-weight:900;padding:5px 8px;border-radius:999px;margin-bottom:6px}
.text-btn{border:0;background:none;color:var(--red);font-size:12px;font-weight:900}.attendance-card{cursor:pointer}.attendance-card.selected{border-color:var(--red);background:#fff8f7}.check{width:26px;height:26px;border-radius:50%;border:2px solid #ccc;display:grid;place-items:center;color:#fff;font-weight:900}.attendance-card.selected .check{background:var(--red);border-color:var(--red)}
.empty-state{text-align:center;color:var(--muted);padding:26px 10px;font-size:14px}
.muted-text{font-size:12px;color:var(--muted);margin:8px 0 0}
.court-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.court-row label select,.court-row label input{display:block;width:100%;margin-top:7px}
.pair-grid{display:grid;grid-template-columns:1fr 42px 1fr;gap:10px;align-items:center;margin:16px 0}.pair-box{background:#f8f8fa;border:1px solid var(--line);border-radius:16px;padding:12px}.pair-label{display:block;font-size:11px;font-weight:900;color:var(--red);margin-bottom:8px}.pair-box select{width:100%;margin-top:8px}.vs{text-align:center;font-weight:950;color:#888}
.score-card{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff}.score-card-head{background:#111;color:#fff;display:flex;justify-content:space-between;padding:10px 13px;align-items:center}.court-badge{font-size:11px;font-weight:900;color:#ff6a64}.game-badge{font-size:11px;color:#ccc}
.score-body{display:grid;grid-template-columns:1fr 1px 1fr}.divider{background:var(--line)}.side{padding:14px}.side-name{font-weight:850;min-height:42px;line-height:1.3}.big-score{font-size:46px;font-weight:950;line-height:1;text-align:center;margin:14px 0}.score-controls{display:grid;grid-template-columns:1fr 1fr;gap:8px}.score-btn{border:0;border-radius:12px;padding:12px;font-size:18px;font-weight:950}.minus{background:#f1f1f3}.plus{background:var(--red);color:#fff}.complete-row{padding:11px 13px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:12px}.complete-btn{border:0;background:#111;color:#fff;border-radius:11px;padding:10px 13px;font-size:12px;font-weight:900}
.completed-score{font-weight:950;color:var(--red);font-size:18px}.winner{font-size:11px;font-weight:900;color:var(--green)}
.bottom-nav{position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr);padding:7px max(8px,env(safe-area-inset-right)) calc(7px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));z-index:30}.nav-item{border:0;background:transparent;color:#8a8a8f;font-size:11px;font-weight:800;padding:5px 2px}.nav-item span{display:block;font-size:20px;margin-bottom:2px}.nav-item.active{color:var(--red)}
@media(max-width:520px){.hero h2{font-size:21px}.panel{padding:15px}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.pair-grid{grid-template-columns:1fr}.vs{padding:2px}.score-body{grid-template-columns:1fr 1px 1fr}.side{padding:12px 9px}.big-score{font-size:42px}.hero{align-items:flex-start}}

.arman-signature{
  max-width:760px;
  margin:8px auto 0;
  padding:0 16px 6px;
  text-align:center;
  font-size:10px;
  color:#9a9aa0;
  letter-spacing:.5px;
  font-weight:600;
}
