*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f4f4f4;color:#1a1a1a;min-height:100vh}.header{background:#cc0000;color:#fff;padding:12px 14px;display:flex;align-items:center;gap:12px;box-shadow:0 3px #1a1a1a;position:relative}.header img{height:48px;border-radius:50%;border:2px solid rgba(255,255,255,.35);flex-shrink:0}.header-text{flex:1;min-width:0}.header-text h1{font-size:1.1rem;font-weight:800;letter-spacing:.02em;line-height:1.2;text-transform:uppercase}.header-text p{font-size:.72rem;opacity:.82;margin-top:2px}.header-admin-btn{background:rgba(0,0,0,.25);border:1px solid rgba(255,255,255,.25);color:#ffffffb3;border-radius:6px;width:34px;height:34px;font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s}.header-admin-btn:hover{background:rgba(0,0,0,.4);color:#fff}.tabs-wrapper{background:#1a1a1a}.tabs{display:flex;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;touch-action:pan-x;padding:0 6px;gap:2px;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tab-btn{padding:11px 14px;border:none;background:none;cursor:pointer;font-size:.8rem;font-weight:700;color:#888;white-space:nowrap;border-bottom:3px solid transparent;text-transform:uppercase;letter-spacing:.04em;transition:all .15s;flex-shrink:0}.tab-btn.active{color:#c00;border-bottom-color:#c00}.tab-btn:hover:not(.active){color:#fff}.content{padding:12px;max-width:900px;margin:0 auto}.tournament-info{background:#1a1a1a;color:#fff;border-radius:7px;padding:8px 12px;margin-bottom:12px;font-size:.82rem}.section-title{font-size:.82rem;font-weight:800;color:#fff;background:#1a1a1a;margin:14px 0 8px;padding:7px 12px;border-radius:6px;text-transform:uppercase;letter-spacing:.06em;border-left:4px solid #cc0000}.groups-container{display:grid;grid-template-columns:1fr 1fr;gap:8px}@media (max-width: 560px){.groups-container{grid-template-columns:1fr}}.group-card{background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 1px 5px #0000001a}.group-header{background:#cc0000;color:#fff;padding:7px 11px;font-weight:800;font-size:.82rem;text-transform:uppercase;letter-spacing:.06em}.standing-table{width:100%;border-collapse:collapse;font-size:.78rem}.standing-table th{background:#f7f7f7;padding:5px 6px;text-align:center;font-weight:700;color:#666;font-size:.68rem;text-transform:uppercase}.standing-table th:first-child{text-align:left;padding-left:10px}.standing-table td{padding:7px 6px;text-align:center;border-top:1px solid #f0f0f0;font-size:.8rem}.standing-table td:first-child{text-align:left;padding-left:10px;font-weight:500;display:flex;align-items:center}.standing-table tr:nth-child(2n) td{background:#fafafa}.rank-badge{display:inline-flex;align-items:center;justify-content:center;width:19px;height:19px;border-radius:50%;font-size:.65rem;font-weight:800;margin-right:5px;background:#eee;color:#555;flex-shrink:0}.rank-1{background:#ffd700;color:#7a5900}.rank-2{background:#c0c0c0;color:#333}.rank-3{background:#cd7f32;color:#fff}.schedule-list{display:flex;flex-direction:column;gap:5px}.game-card{background:#fff;border-radius:7px;padding:10px 12px;display:flex;align-items:center;gap:8px;box-shadow:0 1px 3px #00000012;border-left:3px solid #e8e8e8}.game-card.finished{border-left-color:#c00}.game-number{font-size:.66rem;color:#ccc;min-width:18px;font-weight:700;flex-shrink:0}.game-time{font-size:.8rem;color:#333;font-weight:700;flex-shrink:0;width:38px}.game-teams{flex:1;display:flex;align-items:center;gap:0;min-width:0;font-size:.85rem}.team-name{font-weight:600;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team-name:last-child{text-align:right}.vs-sep{color:#bbb;font-size:.75rem;flex-shrink:0;padding:0 6px}.score-display{display:flex;align-items:center;gap:2px;font-weight:800;flex-shrink:0}.score-num{background:#cc0000;color:#fff;border-radius:4px;padding:3px 8px;min-width:26px;text-align:center;font-size:.9rem}.score-sep{color:#999;font-size:.8rem;padding:0 1px}.badge{font-size:.65rem;padding:2px 7px;border-radius:10px;font-weight:700;flex-shrink:0}.badge-pending{background:#f0f0f0;color:#aaa}.round-label{font-size:.7rem;font-weight:800;text-transform:uppercase;color:#c00;letter-spacing:.08em;padding:10px 0 4px}.pending-hint{background:#1a1a1a;color:#aaa;border-radius:7px;padding:10px 14px;margin-top:14px;font-size:.8rem}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.55);z-index:150}.pin-dialog{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;border-radius:12px;padding:28px 22px;z-index:300;width:280px;box-shadow:0 8px 32px #00000059;text-align:center}.pin-dialog h2{font-size:1rem;font-weight:800;color:#1a1a1a;margin-bottom:5px;text-transform:uppercase}.pin-dialog p{font-size:.78rem;color:#999;margin-bottom:16px}.pin-input{width:100%;text-align:center;font-size:2rem;font-weight:800;letter-spacing:.3em;border:2px solid #ddd;border-radius:8px;padding:10px;outline:none;margin-bottom:10px;color:#1a1a1a}.pin-input:focus{border-color:#c00}.pin-input.error{border-color:#c00;background:#fff5f5;animation:shake .3s}.pin-error{color:#c00;font-size:.77rem;margin-bottom:10px;font-weight:700}.pin-btn{width:100%;background:#cc0000;color:#fff;border:none;border-radius:8px;padding:12px;font-size:.88rem;font-weight:800;cursor:pointer;text-transform:uppercase;letter-spacing:.05em}.pin-btn:hover{background:#aa0000}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}.admin-panel{position:fixed;top:0;right:0;bottom:0;width:340px;background:#fff;box-shadow:-4px 0 24px #0003;z-index:200;display:flex;flex-direction:column;overflow:hidden}@media (max-width: 400px){.admin-panel{width:100vw}}.admin-header{background:#cc0000;color:#fff;padding:14px;display:flex;justify-content:space-between;align-items:center;font-weight:800;font-size:.9rem}.admin-close{background:none;border:none;color:#fff;font-size:1.4rem;cursor:pointer;opacity:.8}.admin-close:hover{opacity:1}.admin-filter{padding:10px 12px;background:#1a1a1a}.admin-filter select{width:100%;padding:8px 10px;border:none;border-radius:6px;font-size:.84rem;font-weight:600}.admin-body{flex:1;overflow-y:auto;padding:10px}.admin-game{background:#f7f7f7;border-radius:7px;padding:10px 11px;margin-bottom:6px;border-left:3px solid #e0e0e0}.admin-game.finished{border-left-color:#c00}.admin-game-title{font-size:.76rem;font-weight:700;color:#333;margin-bottom:7px;line-height:1.4}.score-inputs{display:flex;align-items:center;gap:6px}.score-inputs input{width:50px;text-align:center;border:2px solid #ddd;border-radius:6px;padding:5px;font-size:1.1rem;font-weight:800;outline:none}.score-inputs input:focus{border-color:#c00}.score-inputs span{color:#aaa;font-weight:700}.admin-save-btn{background:#cc0000;color:#fff;border:none;border-radius:6px;padding:6px 12px;cursor:pointer;font-size:.76rem;font-weight:800;margin-left:auto;text-transform:uppercase}.admin-save-btn:hover{background:#aa0000}.admin-save-btn:disabled{background:#ccc;cursor:not-allowed}.loading{display:flex;align-items:center;justify-content:center;height:200px;color:#999;font-size:.88rem}.error-msg{background:#fff5f5;color:#c00;border-radius:8px;padding:14px;margin:16px 0;font-size:.84rem;font-weight:600}
