:root {
    --teliro-green: #4a5946;
    --teliro-salmon: #feb9a9;
    --teliro-salmon-dark: #ca7f74;
    --teliro-blush: #fcd1cc;
    --teliro-blush-light: #fce2df;
    --background: #f8f5f3;
    --surface: #fffdfc;
    --surface-muted: #f5ece8;
    --text-primary: #263024;
    --text-secondary: #687165;
    --success: #3f7d54;
    --warning: #c78b42;
    --danger: #b54f4f;
    --border: rgba(74, 89, 70, 0.12);
    --shadow: 0 18px 40px rgba(74, 89, 70, 0.08);
    --radius-sm: 10px;
    --radius-md: 18px;
    --radius-lg: 24px;
    --container: 1100px;
}

* {
    box-sizing: border-box;
}

html {
    font-size: 16px;
}

body {
    margin: 0;
    font-family: "Segoe UI", "Helvetica Neue", Arial, sans-serif;
    background:
        radial-gradient(circle at top left, rgba(254, 185, 169, 0.2), transparent 32%),
        linear-gradient(180deg, #fbf7f4 0%, #f6f0ec 100%);
    color: var(--text-primary);
}

a {
    color: inherit;
    text-decoration: none;
}

img {
    max-width: 100%;
}

.page-shell {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

.container {
    width: min(calc(100% - 1.5rem), var(--container));
    margin: 0 auto;
}

.topbar {
    position: sticky;
    top: 0;
    z-index: 20;
    backdrop-filter: blur(12px);
    background: rgba(248, 245, 243, 0.92);
    border-bottom: 1px solid var(--border);
}

.topbar-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    min-height: 74px;
}

.brand {
    display: flex;
    align-items: center;
    gap: 0.85rem;
}

.brand-logo {
    width: 46px;
    height: 52px;
    object-fit: contain;
    flex: 0 0 auto;
}

.brand-badge {
    width: 48px;
    height: 48px;
    border-radius: 16px;
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, var(--teliro-green), #687165);
    color: #fff;
    font-weight: 700;
}

.brand-title {
    font-size: 1.05rem;
    font-weight: 800;
    line-height: 1.1;
}

.brand-subtitle {
    font-size: 0.82rem;
    color: var(--text-secondary);
}

.nav-links {
    display: none;
    align-items: center;
    gap: 0.75rem;
}

.nav-link {
    padding: 0.75rem 1rem;
    border-radius: 999px;
    color: var(--text-secondary);
    font-weight: 600;
}

.nav-link:hover,
.nav-link.is-active {
    background: var(--teliro-green);
    color: #fff;
}

.hero {
    padding: 2rem 0 1.25rem;
}

.hero-card,
.card {
    background: rgba(255, 253, 252, 0.92);
    border: 1px solid var(--border);
    box-shadow: var(--shadow);
    border-radius: var(--radius-lg);
}

.hero-card {
    padding: 1.5rem;
}

.eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.85rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--teliro-green);
}

.eyebrow .live-dot,
.live-dot {
    width: 10px;
    height: 10px;
    border-radius: 999px;
    background: #e53935;
    box-shadow: 0 0 0 8px rgba(229, 57, 53, 0.12);
}

.hero-grid,
.grid {
    display: grid;
    gap: 1rem;
}

.hero-grid {
    margin-top: 1rem;
}

.hero-title {
    margin: 0.75rem 0 0.4rem;
    font-size: clamp(2rem, 4vw, 3.4rem);
    line-height: 0.98;
}

.hero-copy {
    margin: 0;
    color: var(--text-secondary);
    max-width: 58ch;
}

.pill-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-top: 1.1rem;
}

.pill {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.7rem 1rem;
    background: var(--surface-muted);
    border-radius: 999px;
    color: var(--text-primary);
    font-weight: 600;
}

.section {
    padding: 0.8rem 0 1.6rem;
}

.section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 0.9rem;
}

.section-title {
    margin: 0;
    font-size: 1.15rem;
}

.section-subtitle {
    margin: 0.35rem 0 0;
    color: var(--text-secondary);
    font-size: 0.95rem;
}

.card {
    padding: 1rem;
}

.match-card {
    display: grid;
    gap: 0.85rem;
}

.match-meta,
.team-row,
.match-scoreline,
.card-actions,
.auth-links,
.dashboard-grid {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.match-meta {
    justify-content: space-between;
    color: var(--text-secondary);
    font-size: 0.92rem;
}

.match-meta-left {
    display: inline-flex;
    align-items: center;
    min-width: 0;
    gap: 0.55rem;
}

.status-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.45rem 0.7rem;
    border-radius: 999px;
    background: var(--surface-muted);
    font-size: 0.82rem;
    font-weight: 700;
}

.status-badge.status-live {
    background: rgba(229, 57, 53, 0.12);
    color: #b71c1c;
}

.status-badge.status-finished {
    background: rgba(63, 125, 84, 0.14);
    color: #2d5a3c;
}

.teams-block {
    display: grid;
    gap: 0.8rem;
}

.team-row {
    justify-content: space-between;
}

.match-teams {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 78px minmax(0, 1fr);
    align-items: center;
    gap: .5rem;
}

.match-teams .team-name:last-child {
    text-align: right;
}

.match-center {
    text-align: center;
    white-space: nowrap;
    font-weight: 800;
    color: var(--teliro-green);
}

.match-back-row {
    padding-bottom: 0;
}

.team-name {
    font-weight: 700;
    font-size: 1rem;
}

.team-score {
    font-weight: 800;
    font-size: 1.35rem;
    color: var(--teliro-green);
}

.score-time {
    color: var(--text-secondary);
    font-size: 0.9rem;
}

.live-card-detail {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    flex-wrap: wrap;
}

.live-card-detail .status-badge {
    padding: 0.28rem 0.5rem;
    margin-left: auto;
}

.event-list,
.stat-list,
.dashboard-column {
    display: grid;
    gap: 0.65rem;
}

.event-item,
.stat-item,
.dashboard-card {
    border-radius: var(--radius-md);
    background: var(--surface-muted);
    padding: 0.85rem 0.95rem;
}

.event-minute {
    color: var(--teliro-green);
    font-weight: 800;
    margin-right: 0.45rem;
}

.split-grid {
    display: grid;
    gap: 1rem;
}

.table-wrap {
    overflow-x: auto;
}

table {
    width: 100%;
    border-collapse: collapse;
}

th,
td {
    padding: 0.75rem 0.65rem;
    text-align: left;
    border-bottom: 1px solid var(--border);
    white-space: nowrap;
}

th {
    color: var(--text-secondary);
    font-size: 0.82rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.btn,
button {
    appearance: none;
    border: none;
    cursor: pointer;
    font: inherit;
}

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    min-height: 46px;
    padding: 0.85rem 1rem;
    border-radius: 16px;
    font-weight: 700;
    transition: transform 0.15s ease, opacity 0.15s ease;
}

.btn:hover {
    transform: translateY(-1px);
}

.btn-primary {
    background: var(--teliro-green);
    color: #fff;
}

.btn-secondary {
    background: var(--teliro-salmon);
    color: var(--text-primary);
}

.btn-ghost {
    background: var(--surface-muted);
    color: var(--text-primary);
}

.btn-danger {
    background: var(--danger);
    color: #fff;
}

.btn-modify {
    background: var(--teliro-green);
    color: #fff;
}

.auth-card {
    max-width: 480px;
    margin: 2rem auto;
    padding: 1.2rem;
}

.form-grid {
    display: grid;
    gap: 0.95rem;
}

.tournament-switcher,
.tournament-picker,
.tournament-actions,
.dialog-head {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.tournament-switcher {
    justify-content: space-between;
    flex-wrap: wrap;
}

.tournament-picker {
    flex: 1 1 320px;
}

.tournament-picker label {
    white-space: nowrap;
}

.tournament-picker select {
    flex: 1;
}

.tournament-actions {
    display: grid;
    grid-template-columns: 1.45fr 1.2fr 1.05fr;
    width: 100%;
    gap: 0.35rem;
}

.tournament-actions .btn {
    min-width: 0;
    min-height: 38px;
    padding: 0.45rem 0.35rem;
    font-size: 0.7rem;
    line-height: 1.15;
    white-space: nowrap;
}

.btn-tournament-edit {
    background: #d1d6d3;
    color: var(--text-primary);
}

.admin-dialog {
    width: min(640px, calc(100% - 2rem));
    max-height: calc(100dvh - 2rem);
    overflow-y: auto;
    border: 0;
    border-radius: var(--radius-lg);
    padding: 1.25rem;
    color: var(--text-primary);
    background: var(--surface);
    box-shadow: 0 24px 80px rgba(34, 42, 33, 0.28);
}

.admin-dialog::backdrop {
    background: rgba(28, 34, 27, 0.55);
}

.admin-editor {
    min-inline-size: 0;
    margin: 0;
    padding: 0;
    border: 0;
}

.admin-editor:disabled {
    opacity: 0.68;
}

.admin-management-fields {
    display: block;
}

.admin-mode-footer {
    display: flex;
    justify-content: center;
    gap: 0.75rem;
    flex-wrap: wrap;
    padding-bottom: 2rem;
}

.admin-save-banner {
    position: sticky;
    top: 74px;
    z-index: 15;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    margin: .35rem 0 1rem;
    padding: .7rem .9rem;
    border: 1px solid var(--border);
    border-radius: var(--radius-md);
    background: rgba(255, 253, 252, .96);
    box-shadow: 0 10px 24px rgba(74, 89, 70, .12);
    backdrop-filter: blur(10px);
}
.admin-save-banner-label { font-size: .88rem; font-weight: 700; color: var(--text-secondary); }
.admin-save-banner-actions { display: flex; align-items: center; gap: .5rem; }
@media (max-width:519px) { .admin-save-banner { top: 74px; padding: .6rem .7rem; } .admin-save-banner-label { display:none; } .admin-save-banner-actions { width:100%; } .admin-save-banner-actions .btn { flex:1; text-align:center; } }

.admin-record-head,
.player-roster-row,
.admin-record-actions,
.editor-choice,
.dialog-actions {
    display: flex;
    align-items: center;
    gap: 0.65rem;
}

.admin-record-head,
.player-roster-row {
    justify-content: space-between;
}

.admin-record-head > div:first-child,
.player-roster-row > span {
    display: grid;
    gap: 0.2rem;
}

.admin-record-actions,
.editor-choice,
.dialog-actions {
    flex-wrap: wrap;
}

.admin-record-actions .btn {
    min-height: 38px;
    padding: 0.45rem 0.65rem;
    font-size: 0.8rem;
}

.admin-record-actions {
    justify-content: flex-end;
}

.player-roster-list {
    display: grid;
    gap: 0.45rem;
    margin-top: 0.85rem;
    padding-top: 0.85rem;
    border-top: 1px solid var(--border);
}

.player-roster-row {
    padding: 0.55rem 0;
}

.player-roster-row small {
    color: var(--text-secondary);
}

.dialog-head {
    justify-content: space-between;
}

.dialog-head h2 {
    margin: 0;
}

.dialog-close {
    min-height: 30px;
    padding: 0.3rem 0.55rem;
    border-radius: 10px;
    font-size: 0.8rem;
    line-height: 1.1;
    background: var(--surface-muted);
    color: var(--text-primary);
}

.form-group {
    display: grid;
    gap: 0.45rem;
}

label {
    font-weight: 700;
}

input,
select,
textarea {
    width: 100%;
    min-height: 48px;
    padding: 0.9rem 1rem;
    border-radius: 14px;
    border: 1px solid rgba(74, 89, 70, 0.18);
    background: #fff;
    color: var(--text-primary);
    font: inherit;
}

input[type="date"],
input[type="time"] {
    height: 48px;
    min-height: 48px;
    box-sizing: border-box;
}

.flash-stack {
    display: grid;
    gap: 0.75rem;
    margin: 1rem 0;
}

.flash {
    border-radius: 16px;
    padding: 0.95rem 1rem;
    font-weight: 600;
}

.flash-success {
    background: rgba(63, 125, 84, 0.15);
    color: #244a31;
}

.flash-error {
    background: rgba(181, 79, 79, 0.15);
    color: #7e3131;
}

.flash-info {
    background: rgba(202, 127, 116, 0.14);
    color: #73453e;
}

.footer {
    margin-top: auto;
    padding: 2rem 0 3rem;
    color: var(--text-secondary);
}

.footer-card {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
    padding: 1rem 1.1rem;
    background: rgba(255, 253, 252, 0.72);
    border-radius: var(--radius-md);
    border: 1px solid var(--border);
}

.muted {
    color: var(--text-secondary);
}

.text-right {
    text-align: right;
}

.mobile-nav {
    position: sticky;
    bottom: 0;
    z-index: 15;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.5rem;
    padding: 0.8rem;
    margin-top: 1rem;
    background: rgba(248, 245, 243, 0.94);
    border-top: 1px solid var(--border);
    backdrop-filter: blur(14px);
}

.mobile-nav a {
    text-align: center;
    padding: 0.8rem 0.4rem;
    border-radius: 16px;
    font-size: 0.86rem;
    font-weight: 700;
    color: var(--text-secondary);
}

.mobile-nav a.is-active {
    background: var(--teliro-green);
    color: #fff;
    box-shadow: 0 5px 12px rgba(74, 89, 70, 0.24);
}

.admin-nav { display: flex; gap: .55rem; overflow-x: auto; padding-bottom: .5rem; }
.admin-nav .btn { white-space: nowrap; }
.goal-item { align-items:center; gap:.55rem; }
.goal-actions { margin-left:auto; display:flex; gap:.45rem; align-items:center; }
.goal-actions form { margin:0; }
.goal-editor { display:grid; grid-template-columns:minmax(0,1fr) 5.5rem; gap:.55rem; width:100%; }
.goal-editor .btn { grid-column:auto; }
.goal-create-form { margin-top:1rem; padding-top:1rem; border-top:1px dashed var(--border); }
@media (min-width:700px) { .goal-editor { grid-template-columns:minmax(0,1fr) 6rem auto auto; align-items:end; } }
.match-card-link { display:block; color:inherit; }
.match-card-editor-toggle { cursor:pointer; }
.match-card-editor-toggle:focus-visible { outline:3px solid rgba(74,89,70,.35); outline-offset:3px; border-radius:var(--radius-md); }
.match-goal-summary { display:grid; gap:.25rem; margin-top:.65rem; padding-top:.6rem; border-top:1px solid var(--border); color:var(--text-secondary); font-size:.87rem; }
.match-goal-summary .goal-home { text-align:left; }
.match-goal-summary .goal-away { text-align:right; }
.program-goal-editor { display:grid; gap:.65rem; margin-top:.8rem; padding-top:.8rem; border-top:1px solid var(--border); }
.program-goal-editor[hidden] { display:none; }
.match-closed-actions { display:flex; align-items:center; gap:.55rem; flex-wrap:wrap; }
.match-closed-actions form { margin:0; }
.roster-section-head { align-items:center; }
.roster-template-actions { display:flex; align-items:center; gap:.45rem; flex-wrap:wrap; justify-content:flex-end; }
.roster-template-actions form { margin:0; }
.roster-import-note { margin:-.35rem 0 .9rem; font-size:.82rem; }
@media (max-width:699px) { .roster-section-head { align-items:flex-start; flex-direction:column; } .roster-template-actions { justify-content:flex-start; } }
.inline-match-section { display:grid; gap:.65rem; padding:1rem; border-radius:var(--radius-md); background:var(--surface-muted); }
.inline-match-section h3 { margin:0; font-size:1rem; }
.program-goal-edit-row { display:grid; grid-template-columns:minmax(0,1fr) 5rem auto auto; gap:.45rem; align-items:end; }
.program-goal-edit-row .goal-editor,
.program-goal-edit-row > form:last-child { display:contents; }
.program-goal-edit-row select,
.program-goal-edit-row input { min-width:0; }
.program-goal-editor .goal-create-form { margin-top:0; }
.penalty-editor { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.65rem; }
.penalty-editor label { display:grid; gap:.35rem; font-size:.82rem; font-weight:700; }
.penalty-editor .penalty-toggle { grid-column:1 / -1; display:flex; align-items:center; gap:.5rem; }
.penalty-editor .penalty-toggle input[type="checkbox"] { appearance:auto; width:20px; min-width:20px; height:20px; min-height:20px; margin:0; padding:0; accent-color:var(--teliro-green); }
.penalty-editor .btn { grid-column:1 / -1; }
.finish-match-form { display:flex; justify-content:flex-end; }
.penalty-score { margin-top:.3rem; text-align:center; color:var(--text-secondary); font-size:.82rem; font-weight:700; }
@media (max-width:699px) { .program-goal-edit-row { grid-template-columns:5rem auto auto; justify-content:center; } .program-goal-edit-row select { grid-column:1 / -1; } .program-goal-edit-row input { grid-column:1; } .program-goal-edit-row .btn { justify-self:center; } }
.public-score { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:.65rem; margin:1rem 0; text-align:center; }
.public-score b { font-size:2.3rem; color:var(--teliro-green); }
.bracket-heading { margin:0 0 .8rem; font-size:1.2rem; }
.bracket-viewport { overflow-x:auto; overflow-y:hidden; border:1px solid var(--border); border-radius:var(--radius-lg); background:#fffdfc; -webkit-overflow-scrolling:touch; touch-action:pan-x; }
.bracket-frame { --stage-width:150px; --stage-gap:24px; width:calc(var(--stage-width) * 2 + var(--stage-gap)); min-width:100%; padding:14px 12px; }
.bracket-stage-head { display:grid; grid-template-columns:var(--stage-width) var(--stage-width); gap:var(--stage-gap); align-items:center; margin-bottom:12px; font-size:.84rem; text-align:center; }
.bracket-stage-head > strong { min-height:38px; display:grid; place-items:center; }
.bracket-main { position:relative; display:grid; grid-template-columns:var(--stage-width) var(--stage-width); gap:var(--stage-gap); align-items:center; min-height:230px; }
.bracket-semis { z-index:2; display:grid; gap:16px; }
.bracket-grand-final { z-index:2; align-self:center; }
.bracket-connectors { position:absolute; top:0; bottom:0; left:var(--stage-width); z-index:1; width:var(--stage-gap); pointer-events:none; }
.bracket-connectors::before { content:''; position:absolute; top:27%; bottom:24%; left:50%; border-left:1px solid #bfc3c3; }
.bracket-connectors::after { content:''; position:absolute; top:50%; left:50%; right:0; border-top:1px solid #bfc3c3; }
.bracket-connectors span { position:absolute; left:0; width:50%; border-top:1px solid #bfc3c3; }
.bracket-connectors span:first-child { top:27%; }
.bracket-connectors span:last-child { top:76%; }
.bracket-divider { height:1px; margin:16px 0 12px; background:#d6d8d8; }
.bracket-small-final { width:var(--stage-width); }
.bracket-small-label { color:#5d6364; font-size:.76rem; margin-bottom:.3rem; }
.bracket-match { position:relative; display:grid; gap:.3rem; width:100%; padding:.58rem .65rem; background:#f0f1f2; border:0; border-radius:14px; color:var(--text-primary); box-shadow:none; }
.bracket-match:hover { background:#e8eaeb; }
.bracket-match-head { display:flex; align-items:center; justify-content:space-between; color:#5d6364; font-size:.76rem; }
.bracket-match-head em { padding:.14rem .42rem; border-radius:999px; background:#dce0e1; color:#404647; font-size:.64rem; font-style:normal; font-weight:800; }
.bracket-match span { position:relative; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:start; gap:.35rem; min-width:0; padding:.1rem 0; color:#5d6364; font-size:.82rem; font-weight:650; line-height:1.18; }
.bracket-match span i { min-width:0; overflow-wrap:anywhere; font-style:normal; }
.bracket-match span b { flex:0 0 auto; }
.bracket-match .is-winner { color:#1f2723; font-weight:850; }
.bracket-match .is-winner::after { content:''; position:absolute; top:50%; right:-11px; width:0; height:0; border-top:4px solid transparent; border-bottom:4px solid transparent; border-right:6px solid #161a18; transform:translateY(-50%); }
.bracket-match-final { box-shadow:0 8px 20px rgba(38,48,36,.06); }
@media (min-width:390px) { .bracket-frame { --stage-width:160px; --stage-gap:30px; } .bracket-match span { font-size:.86rem; } }
@media (min-width:768px) { .bracket-frame { --stage-width:216px; --stage-gap:48px; padding:20px 16px; } .bracket-stage-head { font-size:.95rem; } .bracket-main { min-height:260px; } .bracket-semis { gap:20px; } .bracket-match { padding:.7rem .8rem; } .bracket-match-head { font-size:.82rem; } .bracket-match span { font-size:1rem; } }
.inline-form { display:grid; gap:.5rem; margin-top:.7rem; }.inline-form input,.inline-form select { min-height:42px; padding:.55rem .65rem; }
.event-actions { display:flex; gap:.45rem; margin-top:.55rem; }.event-actions button { padding:.35rem .55rem; border-radius:8px; background:var(--surface); color:var(--teliro-green); font-weight:700; }.event-actions .event-delete { color:var(--danger); }.qr-card { display:flex; align-items:center; justify-content:space-between; gap:1rem; }.qr-card img { width:150px; height:150px; background:#fff; padding:.5rem; }
.group-team-list { display:grid; gap:.5rem; padding-top:.7rem; border-top:1px solid var(--border); }
.group-team-option { display:flex; align-items:center; justify-content:space-between; gap:1rem; min-height:48px; padding:.7rem .8rem; border:1px solid var(--border); border-radius:var(--radius-md); background:var(--surface-muted); cursor:pointer; }
.group-team-option strong { min-width:0; overflow-wrap:anywhere; }
.group-team-option input[type="checkbox"] { appearance:auto; width:20px; min-width:20px; height:20px; min-height:20px; margin:0; padding:0; accent-color:var(--teliro-green); cursor:pointer; }
.group-team-option:has(input:checked) { border-color:var(--teliro-green); background:var(--teliro-blush); }
.admin-inline-editor { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:.55rem; width:100%; }
.admin-inline-editor input { min-width:0; min-height:40px; padding:.5rem .65rem; }
.admin-inline-editor .btn { min-height:40px; padding:.5rem .75rem; }
.player-roster-row .admin-inline-editor { grid-template-columns:repeat(2,minmax(0,1fr)); }
.player-roster-row .admin-inline-editor .btn { grid-column:1 / -1; }
.player-roster-row.is-editing { display:block; padding:.8rem 0; }
.player-roster-row.is-editing .admin-inline-editor { margin-top:.7rem; }
.player-create-row,.team-create-row { display:grid; gap:.5rem; width:100%; margin-top:.75rem; padding-top:.75rem; border-top:1px dashed var(--border); }
.player-create-row { grid-template-columns:minmax(0,1fr) minmax(0,1fr) 4.25rem; }
.player-create-row input,.team-create-row input { min-width:0; min-height:40px; padding:.5rem .65rem; }
.player-create-row .btn,.team-create-row .btn { grid-column:1 / -1; justify-content:center; }
.team-create-row { grid-template-columns:minmax(0,1fr); margin-top:0; padding:.85rem; background:var(--surface-muted); }
.admin-record-head.is-editing { display:block; padding:.8rem 0; }
.admin-record-head.is-editing .admin-inline-editor { margin-top:.7rem; }
.team-inline-editor { grid-template-columns:1fr; }
.team-inline-editor .btn { justify-self:stretch; }
.user-inline-editor { grid-template-columns:repeat(2,minmax(0,1fr)); }
.user-inline-editor .btn { grid-column:1 / -1; }
.user-create-row { margin-top:0; padding:.85rem; border-top:1px dashed var(--border); background:var(--surface-muted); }
.is-editing .admin-inline-editor { animation:roster-edit-reveal .24s ease-out both; transform-origin:top; }
@keyframes roster-edit-reveal { from { opacity:0; transform:translateY(-10px); } to { opacity:1; transform:translateY(0); } }
.program-match-row { display:grid; gap:.65rem; padding:.8rem 0; }
.program-match-top { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:.65rem; }
.program-match-teams { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); align-items:center; gap:.35rem; min-width:0; flex:1; }
.program-match-teams strong { min-width:0; overflow-wrap:anywhere; font-size:.9rem; }
.program-match-teams strong:last-child { text-align:right; }
.program-match-teams span { color:var(--text-secondary); font-size:.72rem; font-weight:800; text-transform:uppercase; }
.program-match-top .btn { min-height:38px; padding:.45rem .65rem; font-size:.8rem; }
.program-match-bottom { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:.65rem; }
.program-match-bottom .btn { min-height:38px; padding:.45rem .65rem; font-size:.8rem; }
.program-match-top > .btn,
.program-match-bottom > .btn { justify-self:end; }
.program-match-details { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.35rem; padding:.6rem .65rem; border-radius:12px; background:var(--surface-muted); }
.program-match-details span { display:grid; min-width:0; gap:.12rem; }
.program-match-details small { color:var(--text-secondary); font-size:.66rem; font-weight:700; text-transform:uppercase; }
.program-match-details strong { min-width:0; overflow-wrap:anywhere; font-size:.78rem; }
.program-inline-editor { grid-template-columns:repeat(2,minmax(0,1fr)) !important; margin-top:.15rem; padding:.8rem; border-radius:var(--radius-md); background:var(--teliro-blush); }
.program-inline-editor .form-group { min-width:0; }
.program-inline-editor .btn { grid-column:1 / -1; }
@media (min-width:700px) { .program-inline-editor,.user-inline-editor { grid-template-columns:repeat(3,minmax(0,1fr)) !important; } .program-inline-editor .btn,.user-inline-editor .btn { grid-column:auto; align-self:end; } }
#echipe .split-grid { display:flex; flex-direction:column; }
#echipe .split-grid > .card:first-child { order:2; }
#echipe .split-grid > .card:last-child { order:1; }
#grupe .split-grid { display:flex; flex-direction:column; }
#grupe .split-grid > .card:first-child { order:2; }
#grupe .split-grid > .card:last-child { order:1; }
#terenuri .split-grid { display:flex; flex-direction:column; }
#program .split-grid { display:flex; flex-direction:column; }
.automatic-schedule-card { display:grid; gap:1rem; padding:1rem; border:1px solid rgba(74,89,70,.18); background:linear-gradient(145deg,#f3f6ef 0%,#fffaf7 70%); }
.automatic-schedule-head { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; }
.automatic-schedule-head h3 { margin:.15rem 0 0; font-size:1.25rem; }
.automatic-schedule-head .eyebrow { color:var(--teliro-green); font-size:.72rem; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.schedule-count { display:grid; justify-items:end; min-width:90px; text-align:right; }
.schedule-count strong { color:var(--teliro-green); font-size:1.65rem; line-height:1; }
.schedule-count span { max-width:110px; color:var(--text-secondary); font-size:.72rem; line-height:1.2; }
.schedule-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.45rem; }
.schedule-summary span { display:grid; gap:.1rem; padding:.65rem .5rem; border-radius:12px; background:rgba(255,255,255,.72); color:var(--text-secondary); font-size:.72rem; text-align:center; }
.schedule-summary strong { color:var(--text-primary); font-size:1rem; }
.schedule-warning { margin:0; padding:.7rem .8rem; border-left:3px solid var(--teliro-salmon); border-radius:0 10px 10px 0; background:rgba(225,144,123,.12); color:var(--text-secondary); font-size:.83rem; }
.automatic-schedule-form { padding-top:.85rem; border-top:1px solid var(--border); }
.schedule-bracket-choice small,.schedule-toggle small { display:block; margin-top:.28rem; color:var(--text-secondary); font-size:.75rem; font-weight:500; }
.schedule-toggle { display:flex; align-items:center; gap:.75rem; min-height:58px; padding:.7rem .8rem; border:1px solid var(--border); border-radius:var(--radius-md); background:rgba(255,255,255,.7); cursor:pointer; }
.schedule-toggle input,.schedule-pitch-grid input { appearance:auto; width:20px; min-width:20px; height:20px; min-height:20px; margin:0; accent-color:var(--teliro-green); }
.schedule-toggle:has(input:disabled) { cursor:not-allowed; opacity:.52; }
.schedule-pitches { display:grid; gap:.65rem; margin:0; padding:.8rem; border:1px solid var(--border); border-radius:var(--radius-md); }
.schedule-pitches legend { padding:0 .35rem; font-weight:750; }
.schedule-pitch-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.5rem; }
.schedule-pitch-grid label { display:flex; align-items:center; gap:.55rem; min-width:0; padding:.6rem; border-radius:12px; background:rgba(255,255,255,.75); cursor:pointer; }
.schedule-pitch-grid span { min-width:0; overflow-wrap:anywhere; font-size:.84rem; font-weight:700; }
.automatic-schedule-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; }
.automatic-schedule-fields .form-group { min-width:0; }
.input-suffix { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; border:1px solid var(--border); border-radius:var(--radius-md); background:var(--surface); overflow:hidden; }
.input-suffix input { border:0; border-radius:0; }
.input-suffix.input-date-control { grid-template-columns:minmax(0,1fr); }
.input-date-control input { padding:0 .75rem; text-align:center; }
.input-date-control input::-webkit-datetime-edit { display:flex; align-items:center; justify-content:center; height:100%; padding:0; }
.input-suffix span { padding-right:.75rem; color:var(--text-secondary); font-size:.72rem; }
.automatic-schedule-fields .input-suffix { height:50px; min-height:50px; box-sizing:border-box; }
.automatic-schedule-fields .input-suffix input { height:48px; min-height:48px; }
.program-date-control { height:48px; min-height:48px; box-sizing:border-box; }
.program-date-control input { height:46px; min-height:46px; }
@media (max-width:519px) { .automatic-schedule-fields { grid-template-columns:minmax(0,1fr); } }
@media (min-width:700px) { .automatic-schedule-card { padding:1.2rem; } .automatic-schedule-fields { grid-template-columns:repeat(4,minmax(0,1fr)); } .schedule-pitch-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (min-width:520px) { .player-create-row { grid-template-columns:minmax(0,1fr) minmax(0,1fr) 4.25rem auto; } .player-create-row .btn { grid-column:auto; } .team-create-row { grid-template-columns:minmax(0,1fr) auto; align-items:center; } .team-create-row .btn { grid-column:auto; } }
@media (min-width:520px) { .tournament-actions { display:flex; width:auto; gap:.75rem; } .tournament-actions .btn { min-height:46px; padding:.85rem 1rem; font-size:1rem; } }
@media (min-width:768px) { .inline-form { grid-template-columns:repeat(5,minmax(0,1fr)); align-items:center; } }

@media (min-width: 768px) {
    .nav-links {
        display: flex;
    }

    .mobile-nav {
        display: none;
    }

    .hero-grid {
        grid-template-columns: 1.3fr 0.7fr;
    }

    .grid.two-up {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .split-grid {
        grid-template-columns: 1.2fr 0.8fr;
    }

    #utilizatori .split-grid > .card {
        grid-column: 1 / -1;
    }

    .dashboard-grid {
        align-items: stretch;
    }

    .dashboard-column {
        flex: 1;
    }
}
