#tcm-pro, #tcm-pro * { box-sizing: border-box; }
#tcm-pro { --bg:#070b10; --panel:#10151c; --panel2:#151b24; --line:rgba(255,255,255,.08); --txt:#f5f7fb; --muted:#9ba4b2; --red:#d51e25; --red2:#92151a; --green:#1f9d55; font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color:var(--txt); background: radial-gradient(circle at 80% 0%, rgba(213,30,37,.22), transparent 35%), linear-gradient(135deg,#06090d,#0d1118 60%,#070a0f); border:1px solid var(--line); border-radius:24px; overflow:hidden; min-height:760px; display:grid; grid-template-columns:260px 1fr; box-shadow:0 30px 80px rgba(0,0,0,.35); }
#tcm-pro button, #tcm-pro input, #tcm-pro select, #tcm-pro textarea { font:inherit; }
.tcm-side { background:linear-gradient(180deg,rgba(0,0,0,.55),rgba(8,12,18,.9)); border-right:1px solid var(--line); padding:28px 20px; display:flex; flex-direction:column; gap:10px; }
.tcm-brand { margin-bottom:28px; letter-spacing:.04em; }
.tcm-brand strong { display:block; color:#ef222c; font-size:34px; line-height:.85; font-style:italic; font-weight:900; }
.tcm-brand span { display:block; font-weight:900; font-size:22px; }
.tcm-brand small { display:block; color:var(--muted); font-size:15px; letter-spacing:.18em; margin-top:8px; }
.tcm-side button { width:100%; background:transparent; color:#d9dee8; border:0; border-radius:12px; padding:15px 18px; text-align:left; cursor:pointer; transition:.18s; }
.tcm-side button:hover, .tcm-side button.is-active { background:linear-gradient(135deg,var(--red),var(--red2)); color:#fff; box-shadow:0 10px 25px rgba(213,30,37,.18); }
.tcm-main { min-width:0; padding:0 0 40px; }
.tcm-top { height:78px; border-bottom:1px solid var(--line); display:flex; align-items:center; gap:16px; padding:0 34px; background:rgba(255,255,255,.02); }
.tcm-mobile-menu { width:42px; height:42px; border-radius:12px; border:1px solid var(--line); background:rgba(255,255,255,.04); color:#fff; }
.tcm-top-search { flex:1; max-width:520px; }
#tcm-pro input, #tcm-pro select, #tcm-pro textarea { width:100%; background:rgba(255,255,255,.055); color:#fff; border:1px solid var(--line); border-radius:12px; padding:14px 16px; outline:none; }
#tcm-pro input:focus, #tcm-pro select:focus, #tcm-pro textarea:focus { border-color:rgba(213,30,37,.7); box-shadow:0 0 0 3px rgba(213,30,37,.14); }
#tcm-pro textarea { min-height:110px; resize:vertical; }
.tcm-btn { border:1px solid var(--line); background:rgba(255,255,255,.065); color:#fff; border-radius:12px; padding:13px 17px; cursor:pointer; }
.tcm-btn-red { border-color:rgba(213,30,37,.45); background:linear-gradient(135deg,var(--red),var(--red2)); box-shadow:0 10px 24px rgba(213,30,37,.18); }
.tcm-content { padding:34px; }
.tcm-title { margin:0 0 24px; }
.tcm-title h1 { margin:0; font-size:42px; line-height:1; letter-spacing:-.04em; color:#fff; }
.tcm-title p { margin:10px 0 0; color:var(--muted); }
.tcm-stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; margin-bottom:24px; }
.tcm-stats > div, .tcm-card, .tcm-class, .tcm-profile, .tcm-sport { background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.025)); border:1px solid var(--line); border-radius:18px; box-shadow:0 18px 45px rgba(0,0,0,.18); }
.tcm-stats > div { padding:24px; display:grid; grid-template-columns:auto 1fr; gap:8px 14px; align-items:center; }
.tcm-stats i { width:48px; height:48px; display:grid; place-items:center; border-radius:50%; background:rgba(213,30,37,.15); font-style:normal; font-size:24px; grid-row:span 2; }
.tcm-stats b { font-size:34px; line-height:1; }
.tcm-stats span { color:var(--muted); }
.tcm-grid2 { display:grid; grid-template-columns:1fr 1fr; gap:22px; margin-bottom:24px; }
.tcm-card { padding:24px; margin-bottom:22px; }
.tcm-card h2, .tcm-class h3, .tcm-sport h2 { margin:0 0 18px; }
.tcm-row, .tcm-line, .tcm-mini { display:flex; align-items:center; gap:14px; padding:13px 0; border-bottom:1px solid var(--line); }
.tcm-row:last-child, .tcm-line:last-child, .tcm-mini:last-child { border-bottom:0; }
.tcm-row span, .tcm-line span, .tcm-mini span { flex:1; }
.tcm-row b { color:#fff; }
.tcm-line { cursor:pointer; }
.tcm-line:hover { background:rgba(255,255,255,.035); margin-left:-10px; margin-right:-10px; padding-left:10px; padding-right:10px; border-radius:12px; }
.tcm-avatar { width:52px; height:52px; border-radius:50%; background:rgba(255,255,255,.08); border:1px solid rgba(213,30,37,.55); overflow:hidden; display:grid; place-items:center; flex:0 0 52px; }
.tcm-avatar img { width:100%; height:100%; object-fit:cover; display:block; }
.tcm-avatar span { font-size:22px; opacity:.65; }
.tcm-line b, .tcm-mini b { display:block; }
.tcm-line small, .tcm-mini small { display:block; color:var(--muted); margin-top:4px; }
.tcm-line em, .tcm-num, .tcm-profile em { color:#ff4c54; font-style:normal; font-weight:800; background:rgba(213,30,37,.14); padding:6px 9px; border-radius:8px; }
.tcm-pay { display:inline-flex; width:max-content; align-items:center; border-radius:8px; padding:7px 10px; font-size:13px; }
.tcm-pay.is-paid { background:rgba(31,157,85,.16); color:#5ee089; }
.tcm-pay.is-unpaid { background:rgba(213,30,37,.16); color:#ff626a; }
.tcm-filterbar { display:flex; gap:14px; margin-bottom:24px; align-items:center; }
.tcm-filterbar input { max-width:420px; }
.tcm-sport { padding:22px; margin-bottom:24px; background:rgba(255,255,255,.025); }
.tcm-sport > h2 { color:#fff; font-size:30px; border-bottom:2px solid var(--red); padding-bottom:14px; display:inline-block; }
.tcm-class { padding:0; margin:18px 0 28px; overflow:hidden; }
.tcm-class h3 { padding:20px 22px 0; font-size:24px; }
.tcm-class h3 small { background:rgba(213,30,37,.18); color:#ff656c; padding:3px 8px; border-radius:7px; font-size:14px; margin-left:8px; }
.tcm-table { width:100%; }
.tcm-head, .tcm-body { display:grid; grid-template-columns:150px 1.5fr 1fr 150px 40px; align-items:center; gap:12px; padding:16px 22px; }
.tcm-head { color:#cfd5df; background:rgba(255,255,255,.035); font-size:13px; text-transform:uppercase; letter-spacing:.04em; }
.tcm-body { border-top:1px solid var(--line); cursor:pointer; }
.tcm-body:hover { background:rgba(255,255,255,.035); }
.tcm-person { display:grid; grid-template-columns:52px 1fr; gap:12px; align-items:center; }
.tcm-person .tcm-avatar { grid-row:span 2; }
.tcm-person small { color:var(--muted); line-height:1.45; }
.tcm-dots { color:var(--muted); font-size:24px; text-align:right; }
.tcm-form { max-width:860px; display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.tcm-form label { display:flex; flex-direction:column; gap:8px; color:#d9dee8; }
.tcm-form label:has(textarea), .tcm-form .tcm-photo, .tcm-form button[type=submit] { grid-column:1 / -1; }
.tcm-photo { display:flex; align-items:center; gap:16px; background:rgba(255,255,255,.03); border:1px solid var(--line); border-radius:18px; padding:18px; }
.tcm-profile { padding:26px; min-width:320px; max-width:430px; }
.tcm-profile .tcm-avatar { width:104px; height:104px; margin:0 auto 14px; }
.tcm-profile h2 { text-align:center; margin:0 0 10px; }
.tcm-profile > em, .tcm-profile > .tcm-pay { margin:0 auto 10px; display:flex; justify-content:center; }
.tcm-profile hr { border:0; border-top:1px solid var(--line); margin:20px 0; }
.tcm-info { display:grid; grid-template-columns:150px 1fr; gap:16px; padding:12px 0; border-bottom:1px solid var(--line); }
.tcm-info small { color:var(--muted); }
.tcm-info span { white-space:pre-wrap; }
.tcm-actions { display:flex; gap:12px; margin-top:20px; }
.tcm-modal { position:fixed; inset:0; background:rgba(0,0,0,.65); z-index:999999; display:grid; place-items:center; padding:20px; }
.tcm-modal[hidden] { display:none; }
.tcm-modal-box { position:relative; background:#0b1017; border:1px solid var(--line); border-radius:22px; box-shadow:0 30px 80px rgba(0,0,0,.5); max-height:90vh; overflow:auto; }
.tcm-modal-close { position:absolute; top:12px; right:12px; width:36px; height:36px; border-radius:50%; border:1px solid var(--line); background:rgba(255,255,255,.06); color:#fff; font-size:24px; z-index:2; cursor:pointer; }
.tcm-error { margin:20px 34px 0; padding:15px 18px; border-radius:14px; background:rgba(213,30,37,.16); border:1px solid rgba(213,30,37,.35); color:#ffb1b5; }
.tcm-loading { padding:30px; color:var(--muted); }
@media (max-width: 900px) {
#tcm-pro { display:block; border-radius:0; min-height:100vh; }
.tcm-side { display:flex; flex-direction:row; overflow-x:auto; padding:16px; gap:8px; border-right:0; border-bottom:1px solid var(--line); }
.tcm-brand { min-width:150px; margin:0 10px 0 0; }
.tcm-brand strong { font-size:24px; }
.tcm-brand span { font-size:16px; }
.tcm-brand small { font-size:10px; }
.tcm-side button { min-width:max-content; padding:12px 14px; }
.tcm-top { height:auto; padding:16px; flex-wrap:wrap; }
.tcm-top-search { order:3; width:100%; max-width:none; flex-basis:100%; }
.tcm-content { padding:22px 16px; }
.tcm-title h1 { font-size:34px; }
.tcm-stats, .tcm-grid2 { grid-template-columns:1fr; }
.tcm-filterbar { flex-direction:column; align-items:stretch; }
.tcm-filterbar input { max-width:none; }
.tcm-head { display:none; }
.tcm-body { grid-template-columns:1fr; gap:8px; padding:18px; }
.tcm-person { grid-template-columns:52px 1fr; }
.tcm-form { grid-template-columns:1fr; }
.tcm-info { grid-template-columns:1fr; gap:4px; }
.tcm-profile { min-width:0; width:min(92vw,430px); }
} #tcm-pro.tcm-public { grid-template-columns:1fr; min-height:0; }
#tcm-pro.tcm-public .tcm-side,
#tcm-pro.tcm-public .tcm-top [data-add-member],
#tcm-pro.tcm-public .tcm-mobile-menu { display:none !important; }
#tcm-pro.tcm-public .tcm-top { justify-content:flex-end; }
#tcm-pro.tcm-public .tcm-top-search { max-width:520px; flex:1; }
#tcm-pro.tcm-public .tcm-content { padding:34px; }
#tcm-pro.tcm-public .tcm-public-class .tcm-head,
#tcm-pro.tcm-public .tcm-public-class .tcm-body { grid-template-columns:90px 1.2fr 1fr; }
#tcm-pro.tcm-public .tcm-public-class .tcm-body { cursor:default; }
#tcm-pro.tcm-public .tcm-public-name b { font-size:17px; }
#tcm-pro.tcm-public .tcm-public-car { color:#dfe5ee; }
#tcm-pro.tcm-public .tcm-pay,
#tcm-pro.tcm-public .tcm-dots,
#tcm-pro.tcm-public .tcm-num { display:none !important; }
@media (max-width: 900px) {
#tcm-pro.tcm-public .tcm-top { padding:16px; }
#tcm-pro.tcm-public .tcm-content { padding:22px 16px; }
#tcm-pro.tcm-public .tcm-public-class .tcm-head { display:none; }
#tcm-pro.tcm-public .tcm-public-class .tcm-body { grid-template-columns:64px 1fr; }
#tcm-pro.tcm-public .tcm-public-car { grid-column:2; color:var(--muted); margin-top:-8px; }
}
.tcm-import-card p { color: var(--muted); }
.tcm-import-cols { display:grid; grid-template-columns:1fr 1fr; gap:22px; align-items:start; }
.tcm-import-cols ul { margin:0; padding-left:20px; color:#dfe5ee; line-height:1.8; }
.tcm-import-result { margin-top:20px; padding:18px; border:1px solid var(--line); border-radius:16px; background:rgba(255,255,255,.04); }
@media(max-width:760px){ .tcm-import-cols{grid-template-columns:1fr;} }