:root{--bg: #f5f7fb;--surface: #ffffff;--primary: #0e3b6f;--primary-strong: #0a2a51;--accent: #f5a623;--text: #14213d;--text-muted: #5a6479;--border: #d8dee9;--danger: #c0392b;--success: #1f8a4c;--radius: 10px;--shadow: 0 1px 2px rgba(20, 33, 61, .06), 0 4px 12px rgba(20, 33, 61, .04)}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);-webkit-text-size-adjust:100%}a{color:var(--primary)}.layout{min-height:100vh;display:flex;flex-direction:column}header.app-header{background:var(--primary);color:#fff;padding:1rem 1.25rem;position:sticky;top:0;z-index:10;box-shadow:var(--shadow)}header.app-header h1{margin:0;font-size:1.25rem;font-weight:700}header.app-header p{margin:.15rem 0 0;opacity:.85;font-size:.85rem}nav.app-nav{display:flex;gap:.25rem;overflow-x:auto;padding:.5rem;background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:64px;z-index:9}nav.app-nav a{flex:0 0 auto;padding:.65rem 1rem;text-decoration:none;color:var(--text-muted);border-radius:var(--radius);font-weight:600;font-size:.9rem;min-height:44px;display:inline-flex;align-items:center}nav.app-nav a.active{background:var(--primary);color:#fff}main.app-main{flex:1;padding:1rem 1.25rem 4rem;max-width:960px;width:100%;margin:0 auto}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;margin-bottom:1rem;box-shadow:var(--shadow)}.intro{color:var(--text-muted);margin:0 0 1rem;line-height:1.5}button{font:inherit;min-height:44px;padding:.5rem 1rem;border-radius:var(--radius);border:1px solid var(--primary);background:var(--primary);color:#fff;cursor:pointer;font-weight:600}button.secondary{background:#fff;color:var(--primary)}button.danger{border-color:var(--danger);background:var(--danger)}button.danger.secondary{background:#fff;color:var(--danger)}button:disabled{opacity:.5;cursor:not-allowed}input[type=text],input[type=number],textarea,select{font:inherit;min-height:44px;padding:.5rem .75rem;border:1px solid var(--border);border-radius:var(--radius);background:#fff;color:var(--text);width:100%}input[type=number]{-moz-appearance:textfield;max-width:5rem;min-width:4rem;text-align:center}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}textarea{min-height:120px;resize:vertical}label{display:block;font-weight:600;margin-bottom:.4rem;font-size:.9rem}.match-row{display:grid;grid-template-columns:1fr auto auto auto 1fr;gap:.5rem;align-items:center;padding:.6rem 0;border-bottom:1px solid var(--border)}.match-row:last-child{border-bottom:none}.match-row .home,.match-row .away{font-weight:600}.match-row .home{text-align:right}.match-row .meta{grid-column:1 / -1;font-size:.8rem;color:var(--text-muted);display:flex;justify-content:space-between;gap:.5rem}.match-row .points{color:var(--success);font-weight:700}.match-row.locked input{background:#f1f3f7;color:var(--text-muted)}.stage-group{margin-top:1.5rem;font-size:.85rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.tabs{display:flex;gap:.25rem;margin-bottom:1rem}.tabs button{background:#fff;color:var(--text-muted);border-color:var(--border)}.tabs button.active{background:var(--primary);color:#fff;border-color:var(--primary)}table{width:100%;border-collapse:collapse}th,td{padding:.6rem .5rem;text-align:left;border-bottom:1px solid var(--border)}th{font-size:.8rem;text-transform:uppercase;color:var(--text-muted);letter-spacing:.04em}td.right,th.right{text-align:right}.banner{padding:.75rem 1rem;border-radius:var(--radius);margin-bottom:1rem;font-size:.9rem}.banner.error{background:#fdecea;color:var(--danger);border:1px solid #f4b5af}.banner.success{background:#e6f3ec;color:var(--success);border:1px solid #a4d6b6}.banner.info{background:#eef2fa;color:var(--primary);border:1px solid #c8d4ec}.row-stack{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.row-stack>*{flex:0 0 auto}@media (max-width: 600px){main.app-main{padding:.75rem .75rem 4rem}.match-row{grid-template-columns:1fr 3rem auto 3rem 1fr;gap:.25rem}}img.gen-image{max-width:100%;border-radius:var(--radius);border:1px solid var(--border);margin-top:.75rem}.invite-token{font-family:ui-monospace,SFMono-Regular,monospace;background:#f1f3f7;padding:.4rem .6rem;border-radius:var(--radius);border:1px solid var(--border);font-size:.85rem;word-break:break-all}.footer-note{color:var(--text-muted);font-size:.8rem;line-height:1.4;margin-top:1rem}
