*{box-sizing:border-box}body,html{background:#f4f6f8}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#172033}button,input,select{font:inherit}button:disabled{opacity:.45;cursor:not-allowed}.wrap{max-width:1200px;margin:0 auto;padding:18px}.hero{display:flex;justify-content:space-between;align-items:center;gap:20px;background:linear-gradient(135deg,#172033,#26364f);color:#fff;border-radius:20px;padding:24px;box-shadow:0 10px 30px rgba(23,32,51,.16)}.hero h1{margin:0 0 6px;font-size:30px}.status{display:flex;align-items:center;gap:8px;white-space:nowrap}.dot{width:10px;height:10px;border-radius:50%;background:#4ade80;box-shadow:0 0 0 4px rgba(74,222,128,.15)}.notice{margin:14px 0;background:#ecfeff;border:1px solid #a5f3fc;border-radius:12px;padding:10px 12px;display:flex;justify-content:space-between;gap:12px}.notice button{border:0;background:transparent;font-size:20px}.accountbar{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:10px 12px;margin:14px 0}.accountbar>div{display:flex;gap:8px}.accountbar input,.grant input{min-width:280px}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.btn,.tabs button{border:0;border-radius:10px;padding:10px 14px;cursor:pointer;font-weight:600}.tabs button{background:#e6eaf0;color:#334155}.btn.primary,.tabs button.active{background:#172033;color:#fff}.btn.success{background:#15803d;color:#fff}.btn.danger{background:#b91c1c;color:#fff}.btn.light{background:#eef2f7;color:#27364b}.grid{display:grid;grid-template-columns:repeat(12,1fr);grid-gap:16px;gap:16px}.card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:18px;box-shadow:0 3px 12px rgba(15,23,42,.04)}.card h3{margin-top:0}.span4{grid-column:span 4}.span6{grid-column:span 6}.metric{display:flex;flex-direction:column;gap:8px}.metric span{color:#64748b}.metric strong{font-size:34px}.teams{display:grid;grid-template-columns:1fr 1fr;grid-gap:9px;gap:9px}.leader,.team{display:flex;justify-content:space-between;gap:12px;padding:11px;border-bottom:1px solid #edf0f4}.team{justify-content:flex-start;border:1px solid #e2e8f0;border-radius:10px;background:#fafbfc}.team span{color:#64748b}.row,.sectionhead{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.sectionhead{margin-bottom:14px}.sectionhead h3,.sectionhead p{margin-bottom:4px}.small{font-size:13px}.muted{color:#64748b}.center{text-align:center}.pill{display:inline-block;padding:5px 9px;border-radius:999px;background:#eef2ff;color:#3730a3;font-size:12px}.match{border:1px solid #e2e8f0;border-radius:14px;padding:13px;margin-bottom:10px}.adminrow,.scheduleedit{display:grid;grid-template-columns:1.4fr 1fr 1fr auto;grid-gap:8px;gap:8px;margin-top:10px}.accountbar input,.adminrow input,.adminrow select,.grant input,.grant select,.scheduleedit input,.scheduleedit select{padding:10px;border:1px solid #cbd5e1;border-radius:9px;background:#fff}.scorecard{min-height:360px}.scorebox{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;text-align:center;grid-gap:12px;gap:12px;margin:26px 0}.bigscore{font-size:68px;line-height:1;font-weight:800;margin-top:10px}.versus{font-size:12px;color:#94a3b8}.scorebuttons{display:flex;gap:8px;justify-content:center;margin-top:9px}.scorebuttons .btn{min-width:120px}.readonly{text-align:center;color:#64748b;background:#f8fafc;border-radius:10px;padding:10px}.tablewrap{overflow:auto}.table{width:100%;border-collapse:collapse;min-width:650px}.table td,.table th{padding:11px;border-bottom:1px solid #e2e8f0;text-align:left}.table th{font-size:12px;color:#64748b}.bracketgrid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:16px;gap:16px}.bracketmatch{border:1px solid #e2e8f0;border-radius:12px;padding:12px;margin-bottom:10px;display:flex;flex-direction:column;gap:5px}.bracketmatch b{font-size:11px;color:#94a3b8}.bracketmatch small{margin-top:5px;color:#166534;font-weight:600}.empty{padding:26px;text-align:center;color:#64748b;background:#f8fafc;border-radius:12px}.grant{display:grid;grid-template-columns:1.5fr 1fr auto;grid-gap:8px;gap:8px}.roles p{border-bottom:1px solid #edf0f4;padding-bottom:10px}code{background:#eef2f7;padding:2px 5px;border-radius:5px}.matchlist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px}.matchpick{width:100%;text-align:left;background:#fff;border:1px solid #dce3ec;border-radius:14px;padding:16px;cursor:pointer;color:#172033;box-shadow:0 2px 8px rgba(15,23,42,.04);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.matchpick:hover{transform:translateY(-1px);box-shadow:0 7px 18px rgba(15,23,42,.09);border-color:#94a3b8}.matchpick h4{font-size:18px;margin:16px 0 10px}.matchpick h4 span{font-size:12px;color:#94a3b8;font-weight:500;margin:0 6px}.matchsummary{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.matchsummary span{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:6px 9px;font-size:13px;font-weight:700}.matchdetail{display:flex;flex-direction:column;gap:16px}.detailhead{display:flex;gap:18px;align-items:flex-start}.detailhead h2{margin:10px 0 8px}.seriesbar{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.seriesbar b{font-size:18px}.winnerbanner{margin-top:12px;background:#ecfdf5;border:1px solid #bbf7d0;color:#166534;border-radius:10px;padding:10px 12px;font-weight:700}.gamestrip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:14px;gap:14px}.gamepanel{background:#fff;border:1px solid #dce3ec;border-radius:16px;padding:16px;min-height:300px;box-shadow:0 3px 12px rgba(15,23,42,.04);transition:border-color .15s ease,box-shadow .15s ease}.gamepanel.active{border-color:#172033}.gamepanel.selected{border:3px solid #172033;box-shadow:0 8px 24px rgba(23,32,51,.14)}.gamepanel.done{background:#fafdfb}.gamepanel.pending{background:#f8fafc}.gamehead{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.gamehead h3{margin:6px 0 0}.gameactions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.gameedit{padding:7px 11px}.miniScore{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;text-align:center;grid-gap:8px;gap:8px;margin:24px 0}.miniScore b{display:block;font-size:14px}.miniScore strong{display:block;font-size:52px;line-height:1;margin-top:8px}.miniScore>span{font-size:11px;color:#94a3b8}.gamewinner{background:#ecfdf5;color:#166534;border-radius:9px;padding:8px 10px;text-align:center;font-weight:700;margin-bottom:10px}.editlabel{margin:12px 0 4px;font-weight:800;color:#172033}.editlabel,.editwarning{text-align:center;font-size:13px}.editwarning{background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;border-radius:9px;padding:9px 10px;font-weight:700;margin-bottom:10px}.endgame{display:block;width:100%;margin-top:12px}.pendingbox{min-height:210px;display:flex;align-items:center;justify-content:center;text-align:center;color:#64748b;padding:20px;line-height:1.5}@media(max-width:800px){.wrap{padding:12px}.hero{align-items:flex-start;flex-direction:column}.hero h1{font-size:24px}.accountbar{align-items:flex-start;flex-direction:column}.accountbar>div{width:100%;flex-direction:column}.accountbar input,.grant input{min-width:0;width:100%}.span4,.span6{grid-column:span 12}.adminrow,.bracketgrid,.gamestrip,.grant,.matchlist,.scheduleedit,.teams{grid-template-columns:1fr}.scorecard{min-height:0}.bigscore{font-size:56px}.detailhead{flex-direction:column}.detailhead .btn{width:100%}.gamepanel{min-height:0}.miniScore strong{font-size:48px}.gameactions{max-width:62%}.gameactions .btn{width:auto}.scorebuttons .btn{min-width:0;flex:1 1}}