:root{--bg: #f4f6fb;--card: #ffffff;--ink: #131a26;--muted: #667085;--line: #e4e7ee;--line-soft: #eef1f6;--brand: #0b57d0;--brand-d: #08419b;--brand-soft: #eef4ff;--ok: #137333;--ok-bg: #eaf7ee;--ok-line: #bfe3c9;--err: #b3261e;--err-bg: #fdecea;--warn: #935705;--warn-bg: #fff8e6;--warn-line: #f0d48a;--radius: 16px;--radius-sm: 10px;--shadow: 0 1px 2px rgba(16,24,40,.05), 0 8px 28px rgba(16,24,40,.07);--shadow-lg: 0 12px 40px rgba(11,87,208,.12);--sans: "Inter", "Segoe UI", system-ui, -apple-system, Roboto, sans-serif}*{box-sizing:border-box}body{margin:0;font-family:var(--sans);background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased}h1,h2,h3{letter-spacing:-.02em;margin:0 0 8px}h2{font-size:22px}h3{font-size:16px}code{background:var(--brand-soft);padding:1px 6px;border-radius:6px;font-size:.85em}.auth-wrap{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(900px 340px at 20% 0%,#dbe8ff,transparent),radial-gradient(700px 300px at 90% 100%,#e7f6ec,transparent),var(--bg)}.auth-card{background:var(--card);max-width:640px;width:100%;border:1px solid var(--line);border-radius:20px;padding:32px;box-shadow:var(--shadow-lg)}.brand{color:var(--brand);font-weight:800;letter-spacing:.6px;text-transform:uppercase;font-size:12px}.auth-card h1{margin:6px 0 4px;font-size:28px}.muted{color:var(--muted)}.muted.small,.small{font-size:12px}.fee-box{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}.fee-box div{background:var(--brand-soft);border:1px solid #c9dcff;padding:9px 13px;border-radius:12px;font-size:14px}.auth-form label{display:block;margin:10px 0;font-weight:600}.auth-form input{width:100%;margin-top:6px;padding:11px 12px;border:1px solid var(--line);border-radius:10px;font-size:15px}.btn{border:0;border-radius:999px;padding:11px 20px;font-weight:700;cursor:pointer;font-size:15px;transition:transform .08s ease,box-shadow .15s ease,background .15s ease}.btn:active{transform:translateY(1px)}.btn.primary{background:linear-gradient(180deg,#1470f0,var(--brand));color:#fff;box-shadow:0 6px 18px #0b57d047}.btn.primary:hover{background:var(--brand-d)}.btn.primary:disabled{opacity:.6;cursor:wait;box-shadow:none}.btn.ghost{background:#eef1f6;color:var(--ink);border:1px solid transparent}.btn.ghost:hover{background:#e2e7f0}.btn.small{padding:8px 14px;font-size:13px}.btn.google{width:100%;margin-top:12px;background:var(--brand);color:#fff;display:flex;gap:10px;align-items:center;justify-content:center}.btn.google .g{background:#fff;color:var(--brand);width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-weight:900}.google-btn-wrap{margin-top:12px;min-height:44px;display:flex;justify-content:center}.hint{font-size:13px;color:var(--muted)}.error{color:var(--err);background:var(--err-bg);border:1px solid #f5c6c2;padding:8px 10px;border-radius:8px;font-size:13px;margin-top:8px}.ok{color:var(--ok);font-size:13px;font-weight:600}.rules{font-size:13px;color:var(--muted);padding-left:18px;margin:16px 0 0}.rules li{margin:4px 0}.app{max-width:1080px;margin:0 auto;padding:20px 16px 32px}.topbar{position:sticky;top:12px;z-index:20;display:flex;gap:16px;align-items:center;justify-content:space-between;background:#ffffffeb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:var(--radius);padding:14px 18px;flex-wrap:wrap;box-shadow:var(--shadow)}.topbar .sub{font-size:12px;color:var(--muted);letter-spacing:.4px}.fee-bar{display:flex;gap:12px;align-items:center;background:linear-gradient(135deg,#0b57d0,#08419b);color:#fff;padding:10px 16px;border-radius:999px;font-size:13px;flex-wrap:wrap;box-shadow:0 4px 14px #0b57d04d}.fee-bar b{background:#ffffff2e;padding:3px 10px;border-radius:999px}.fee-hint{opacity:.75;font-size:12px}.user{display:flex;gap:10px;align-items:center}.user img{width:36px;height:36px;border-radius:50%;border:1px solid var(--line)}.uname{font-weight:700;font-size:14px}.uemail{font-size:12px;color:var(--muted)}.steps{display:flex;gap:8px;margin:16px 0;flex-wrap:wrap}.step{border:1px solid var(--line);background:var(--card);border-radius:999px;padding:9px 15px;cursor:pointer;font-size:14px;font-weight:600;box-shadow:0 1px 2px #1018280a}.step:hover{border-color:#c9dcff}.step.active{background:var(--ink);color:#fff;border-color:var(--ink)}.step.done{border-color:var(--ok-line);background:var(--ok-bg)}.step .n{font-weight:800;margin-right:6px;opacity:.8}.main{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:26px;box-shadow:var(--shadow)}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media(max-width:700px){.grid2{grid-template-columns:1fr}.main{padding:18px}}.main label{font-weight:600;font-size:14px;display:block}.main input,.main select,.main textarea{width:100%;margin-top:6px;padding:11px 12px;border:1px solid var(--line);border-radius:10px;font-size:14px;font-family:inherit;background:#fff;transition:border-color .15s ease,box-shadow .15s ease}.main input:focus,.main select:focus,.main textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px #0b57d026}.rules-box{background:var(--warn-bg);border:1px solid var(--warn-line);border-radius:12px;padding:14px 16px;margin:16px 0;font-size:14px}.rules-box ul{margin:8px 0 0;padding-left:18px}.actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px;flex-wrap:wrap}.track-head h2{font-size:22px}.track-head .search{max-width:440px}.warn{background:#fff4e5;border:1px solid #f5c97b;color:var(--warn);padding:10px 12px;border-radius:10px;margin:12px 0;font-size:14px}.warn.inline{margin-top:10px;font-size:13px}.notice{background:var(--brand-soft);border:1px solid #c9dcff;padding:8px 12px;border-radius:10px;font-size:13px;margin-bottom:10px}.events{display:grid;gap:12px;margin-top:14px}.event-card{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff;transition:border-color .15s ease,box-shadow .15s ease}.event-card:hover{border-color:#c9dcff;box-shadow:var(--shadow)}.event-card.filled{border-color:#8fd3a3;box-shadow:0 0 0 1px #8fd3a3 inset}.event-head{width:100%;background:#fafbfe;border:0;display:flex;justify-content:space-between;gap:12px;padding:13px 15px;cursor:pointer;text-align:left}.event-head:hover{background:#f2f6ff}.event-code{font-size:12px;color:var(--brand);font-weight:800;letter-spacing:.3px}.event-name{font-size:17px;font-weight:800}.event-name.sm{font-size:15px}.event-meta{font-size:12px;color:var(--muted);margin-top:2px}.event-badge{align-self:center;font-size:12px;background:#eef1f6;padding:6px 11px;border-radius:999px;white-space:nowrap;font-weight:700}.event-card.filled .event-badge{background:#dff3e5;color:var(--ok);font-weight:800}.event-body{padding:15px;border-top:1px solid var(--line-soft);background:#fff}.team-block{background:#fafbfe;border:1px dashed var(--line);border-radius:12px;padding:12px;margin-bottom:10px}.team-title{font-weight:800;font-size:13px;margin-bottom:8px;text-transform:uppercase;letter-spacing:.4px;color:#344054}.member-row{display:grid;grid-template-columns:1fr 130px 40px;gap:8px;margin-bottom:8px}.member-row input,.member-row select{margin-top:0}@media(max-width:520px){.member-row{grid-template-columns:1fr 110px 40px}}.icon-btn{border:1px solid var(--line);background:#fff;border-radius:10px;cursor:pointer;font-size:18px;line-height:1}.icon-btn:hover{background:var(--err-bg);border-color:#f5c6c2}.row-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.preview{font-size:13px;margin-top:8px;background:#f2f6ff;padding:8px 10px;border-radius:8px;border:1px solid #dbe6ff}.preview span{color:var(--muted);margin-right:6px}.indiv-row{margin-bottom:12px}.cat{max-width:320px}.review h2{font-size:22px}.counts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}@media(max-width:700px){.counts{grid-template-columns:1fr}}.counts label{background:#fafbfe;border:1px solid var(--line);border-radius:12px;padding:12px}.counts-actions{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}.total-box{margin:14px 0;background:var(--ok-bg);border:1px solid var(--ok-line);padding:16px;border-radius:14px}.total-line{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;font-size:14px}.total-amount{font-size:26px;font-weight:800;color:var(--ok)}.notes textarea{resize:vertical;min-height:70px}.summary{background:#fafbfe;border:1px solid var(--line);border-radius:14px;padding:16px;margin:14px 0}.review-track{margin-top:14px}.review-track-head{font-weight:800;font-size:14px;margin:12px 0 8px;padding-top:12px;border-top:1px dashed var(--line)}.review-track:first-child .review-track-head{border-top:0;padding-top:0}.review-event{background:#fff;border:1px solid var(--line);border-radius:12px;margin-bottom:10px;overflow:hidden}.review-event-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;padding:11px 13px;background:#f8faff;border-bottom:1px solid var(--line-soft)}.review-event-body{padding:12px 13px}.review-team{margin-bottom:10px}.review-team:last-child{margin-bottom:0}.chips{display:flex;flex-wrap:wrap;gap:8px}.person-chip{display:inline-flex;align-items:center;gap:8px;background:var(--brand-soft);border:1px solid #c9dcff;border-radius:999px;padding:6px 8px 6px 12px;font-size:13px}.person-chip b{font-weight:700}.person-chip i{font-style:normal;background:#fff;border:1px solid var(--line);border-radius:999px;padding:2px 8px;font-size:12px;color:#344054}.person-chip i.no-grade{color:var(--err);border-color:#f5c6c2;background:var(--err-bg)}.confirm{display:flex;gap:10px;align-items:flex-start;background:var(--warn-bg);border:1px solid var(--warn-line);padding:13px;border-radius:12px;margin:12px 0;font-size:14px;cursor:pointer}.confirm input{width:20px;height:20px;margin-top:1px;accent-color:var(--brand)}.status{margin-top:12px;font-size:14px;background:var(--brand-soft);border:1px solid #c9dcff;padding:11px 13px;border-radius:10px}.foot{text-align:center;color:var(--muted);font-size:12px;padding:18px 16px}.req{font-size:12px;color:var(--err);font-weight:700}.req-hint{font-size:13px;color:var(--muted);font-weight:500}.field-error{display:block;color:var(--err);font-size:12px;margin-top:5px;font-weight:600}.main input.invalid,.main select.invalid,.main textarea.invalid{border-color:var(--err);box-shadow:0 0 0 3px #b3261e1f}.step-error{background:var(--err-bg);border:1px solid #f5c6c2;color:#7a1f1a;padding:12px 14px;border-radius:12px;margin:12px 0;font-size:14px;font-weight:600}.progress-row{margin:14px 2px 0}.progress{height:8px;background:#e6eaf1;border-radius:999px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#1470f0,#08419b);border-radius:999px;transition:width .3s ease}.progress-meta{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);margin-top:6px}.saved{color:var(--ok);font-weight:600}.step.has-error{border-color:#f5c6c2;background:var(--err-bg)}.step.has-error .n{color:var(--err)}.track-errors{background:var(--err-bg);border:1px solid #f5c6c2;border-radius:12px;padding:12px 14px;margin:12px 0;font-size:14px}.track-errors ul{margin:8px 0 0;padding-left:18px}.track-errors li{margin:3px 0}.track-locked{background:#f1f3f9;border:1px dashed #9aa3b2;border-radius:12px;padding:13px 15px;margin:12px 0;font-size:14px;color:#344054}.track-locked b{display:block;margin-bottom:4px}.events.locked .event-card{opacity:.72}.event-card.locked-card{background:#f8f9fc}.event-card.locked-card .event-badge{background:#e6eaf1;color:#475069;font-weight:800}.step.is-locked{border-style:dashed}.event-card.invalid{border-color:#e57373;box-shadow:0 0 0 1px #e57373 inset}.event-card.invalid .event-badge{background:var(--err-bg);color:var(--err);font-weight:800}.checklist{display:grid;gap:8px;margin:14px 0}.check-item{display:flex;gap:10px;align-items:center;padding:10px 13px;border-radius:10px;font-size:14px;font-weight:600;border:1px solid var(--line);background:#fff}.check-item.pass{border-color:var(--ok-line);background:var(--ok-bg);color:#0f5132}.check-item.fail{border-color:#f5c6c2;background:var(--err-bg);color:#7a1f1a}.check-ic{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-weight:900;font-size:13px;flex-shrink:0}.check-item.pass .check-ic{background:var(--ok);color:#fff}.check-item.fail .check-ic{background:var(--err);color:#fff}.check-details{padding:4px 4px 0 34px;display:grid;gap:4px}.success-card{text-align:center;padding:32px 20px}.success-icon{width:64px;height:64px;border-radius:50%;background:var(--ok);color:#fff;font-size:32px;font-weight:900;display:grid;place-items:center;margin:0 auto 14px;box-shadow:0 8px 24px #13733359}.success-card h2{font-size:24px}.success-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0}@media(max-width:600px){.success-grid{grid-template-columns:1fr}}.success-grid div{background:#fafbfe;border:1px solid var(--line);border-radius:12px;padding:12px;display:grid;gap:4px}.success-grid span{font-size:12px;color:var(--muted)}.success-grid b{font-size:16px}.reg-details{display:grid;gap:8px;margin-bottom:12px}.reg-details div{display:flex;justify-content:space-between;gap:12px;font-size:14px;border-bottom:1px dashed var(--line);padding:6px 0;flex-wrap:wrap}.reg-details span{color:var(--muted)}.reg-details b{text-align:right}.legal h2{font-size:24px}.legal-body{margin-top:12px;font-size:14.5px;line-height:1.65}.legal-body h3{font-size:16px;margin:22px 0 6px}.legal-body p{margin:8px 0}.legal-body ul{margin:8px 0;padding-left:20px}.legal-body li{margin:5px 0}.legal-body a,.hint a,.foot-links a{color:var(--brand);font-weight:600;text-decoration:none}.legal-body a:hover,.hint a:hover,.foot-links a:hover{text-decoration:underline}.auth-legal{margin-top:18px;padding-top:14px;border-top:1px solid var(--line-soft);text-align:center;font-size:13px}.pay-box{margin:16px 0;background:#fafbfe;border:1px solid var(--line);border-radius:14px;padding:16px}.pay-box.pending{background:var(--warn-bg);border-color:var(--warn-line)}.pay-box.paid{background:var(--ok-bg);border-color:var(--ok-line)}.pay-box .row-actions,.pay-box .error{margin-top:10px}
