:root{color-scheme:light;--ink:#171719;--muted:#727276;--line:#dedee0;--surface:#fff;--page:#fafafa;--accent:#750e1a;--accent-soft:#f6eaec;--soft:#f0f0f1;--shadow:0 2px 8px rgba(21,21,25,.035);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--page)}*{box-sizing:border-box}body{margin:0;background:var(--page);font-size:15px}button,input,select{font:inherit}button{cursor:pointer}h1,h2,p{margin-top:0}h1{font-size:30px;line-height:1.2;letter-spacing:-.035em;margin-bottom:8px}h2{letter-spacing:-.02em}.app-layout{min-height:100vh;display:grid;grid-template-columns:250px minmax(0,1fr)}.sidebar{height:100vh;position:sticky;top:0;background:#fff;border-right:1px solid var(--line);padding:22px 14px 15px;display:flex;flex-direction:column;overflow:hidden}.brand{display:flex;align-items:center;gap:11px;padding:4px 12px 27px}.brand-mark{width:48px;height:48px;display:grid;place-items:center;background:var(--ink);color:#fff;border-radius:15px;font-size:24px;font-weight:800;letter-spacing:-.07em}.brand-mark.small{width:38px;height:38px;border-radius:12px;font-size:19px}.brand strong{display:block;font-size:17px;letter-spacing:-.02em}.brand span{font-size:12px;color:var(--muted)}.nav-link{width:100%;border:0;background:transparent;text-align:left;color:#515156;border-radius:9px;padding:11px 12px;display:flex;align-items:center;gap:11px;font-size:14px;margin:2px 0}.nav-link:hover,.nav-link.active{background:#f3f3f4;color:var(--ink)}.nav-link.active{font-weight:650}.nav-icon{font-size:20px;line-height:16px;width:21px;text-align:center;color:#68686b}.nav-section{padding:22px 12px 8px;color:#88888d;font-size:10px;letter-spacing:.09em;font-weight:700;display:flex;justify-content:space-between}.nav-section span{color:#aaa}.game-nav{overflow:auto;flex:1}.game-nav-item{padding:9px 10px;gap:9px;font-size:13px}.game-dot{width:7px;height:7px;border-radius:50%;background:#c2c2c5;flex:none}.game-nav-item.active .game-dot{background:var(--accent)}.game-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-count{color:#929297;font-size:11px}.sidebar-bottom{border-top:1px solid var(--line);padding:13px 4px 2px;display:flex;align-items:center;gap:9px}.user-avatar{width:32px;height:32px;border-radius:50%;background:#202023;color:white;display:grid;place-items:center;font-size:13px;flex:none}.user-label{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.icon-button{border:0;background:transparent;color:#55555a;font-size:21px;width:36px;height:36px;border-radius:8px;display:inline-grid;place-items:center}.icon-button:hover{background:#f1f1f2}.main-area{min-width:0}.topbar{height:76px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.88);display:flex;align-items:center;justify-content:space-between;padding:0 34px;position:sticky;top:0;z-index:5;backdrop-filter:blur(12px)}.topbar strong{font-size:14px;display:block}.topbar small{font-size:12px;color:var(--muted);display:block;margin-top:3px}.topbar-actions{display:flex;align-items:center;gap:8px;color:#818186;font-size:12px}.connection-dot{width:7px;height:7px;background:#398558;border-radius:50%}.mobile-menu,.mobile-logout{display:none}.page-content{max-width:1050px;margin:0 auto;padding:34px 38px 70px}.eyebrow{color:#86868b;font-size:10px;font-weight:750;letter-spacing:.11em;margin-bottom:8px}.content-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:27px}.content-head .muted{margin:0}.muted{color:var(--muted);font-size:14px}.button{border:1px solid var(--line);border-radius:9px;padding:10px 15px;font-weight:650;font-size:13px;transition:.15s;display:inline-flex;align-items:center;justify-content:center;gap:7px}.button.primary{background:var(--ink);border-color:var(--ink);color:white}.button.primary:hover{background:#343437}.button.secondary{background:white;color:#353539}.button.secondary:hover{background:#f7f7f7}.toolbar{display:flex;gap:10px;margin-bottom:17px}.searchbox{background:#fff;border:1px solid var(--line);border-radius:9px;height:40px;display:flex;align-items:center;padding:0 11px;gap:8px;flex:1;max-width:360px;color:#85858a}.searchbox input{border:0;outline:0;width:100%;background:transparent;font-size:13px}.ticket-list{display:grid;gap:12px}.ticket-card{background:#fff;border:1px solid var(--line);border-radius:15px;min-height:140px;display:flex;align-items:center;padding:22px 21px;position:relative;box-shadow:var(--shadow);transition:transform .15s,border .15s}.ticket-card:hover{transform:translateY(-1px);border-color:#cacacd}.ticket-card.needs-action{border-left:7px solid var(--accent);padding-left:16px}.ticket-date{width:62px;text-align:center;display:flex;flex-direction:column;align-items:center;color:#77777c;flex:none}.ticket-date strong{font-size:29px;line-height:1.1;color:var(--ink);font-weight:750}.date-month{font-size:10px;letter-spacing:.09em;font-weight:700;color:#89898e}.date-day{font-size:12px;max-width:66px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:6px}.ticket-divider{height:78px;width:1px;background:var(--line);margin:0 21px}.ticket-main{min-width:0;flex:1}.ticket-title-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-right:32px}.ticket-title-row h2{font-size:20px;line-height:1.3;margin:0;font-weight:720}.ticket-price{font-size:14px;font-weight:700;white-space:nowrap}.ticket-meta{margin-top:8px;display:flex;gap:7px 16px;flex-wrap:wrap;color:#77777c;font-size:13px}.ticket-foot{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-top:12px}.status-chip,.pill-link{border-radius:99px;background:#f3f3f4;padding:6px 10px;color:#5f5f64;font-size:12px;line-height:1.1;text-decoration:none}.status-chip.done{color:#4a7059;background:#edf5ef}.pill-link{color:var(--accent);background:var(--accent-soft)}.card-edit{position:absolute;right:10px;top:10px;border:0;background:transparent;border-radius:7px;color:#777;font-size:20px;width:33px;height:33px}.card-edit:hover{background:#f2f2f3}.empty-state{text-align:center;border:1px dashed #d5d5d8;border-radius:14px;background:rgba(255,255,255,.65);padding:54px 20px}.empty-icon{font-size:30px;color:#999;margin-bottom:12px}.empty-state h2{font-size:18px;margin-bottom:6px}.empty-state p{color:var(--muted);font-size:13px;margin-bottom:20px}.summary-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:27px 0 35px}.summary-card{border:1px solid var(--line);border-radius:13px;background:#fff;padding:20px 22px;box-shadow:var(--shadow)}.summary-card span{font-size:12px;color:var(--muted);display:block;margin-bottom:8px}.summary-card strong{font-size:27px;letter-spacing:-.03em}.section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.section-title h2{font-size:17px;margin:0}.section-title span{font-size:12px;color:var(--muted)}.games-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.game-card{background:white;border:1px solid var(--line);border-radius:12px;text-align:left;display:flex;align-items:center;padding:15px;gap:12px;min-width:0;transition:.15s}.game-card:hover{border-color:#aaa;transform:translateY(-1px)}.game-card-mark{width:38px;height:38px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;border-radius:11px;font-weight:750}.game-card-text{display:block;min-width:0;flex:1}.game-card-text strong{font-size:13px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.game-card-text small{color:var(--muted);font-size:11px;display:block;margin-top:4px}.arrow{font-size:22px;color:#929297}.bottom-nav{display:none}.card-panel{background:white;border:1px solid var(--line);border-radius:13px;padding:20px;margin-bottom:15px}.user-create h2{font-size:16px;margin:0 0 15px}.user-form{display:grid;grid-template-columns:1fr 1.3fr .8fr auto;gap:10px;align-items:end}.user-list{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}.user-row{display:flex;align-items:center;gap:11px;padding:12px 15px;border-bottom:1px solid #eee}.user-row:last-child{border:0}.user-row strong{font-size:13px;flex:1}.role-badge{background:#f0f0f1;border-radius:50px;padding:5px 9px;color:#68686d;font-size:11px}.text-button{border:0;background:transparent;font-size:12px;color:#666;text-decoration:underline}.text-button.danger{color:var(--accent)}.small-note{font-size:12px;color:var(--muted);margin-top:14px}.login-wrap,.install-body{min-height:100vh;display:grid;place-items:center;padding:22px;background:#f4f4f5}.login-card,.install-card{width:min(100%,430px);background:white;border:1px solid var(--line);border-radius:18px;padding:34px;box-shadow:0 12px 42px rgba(20,20,24,.06)}.login-card .brand-mark,.install-card .brand-mark{margin-bottom:23px}.login-card h1,.install-card h1{font-size:26px}.stack-form{display:grid;gap:14px;margin-top:24px}.stack-form label,.form-grid label,.user-form label{display:grid;gap:6px;color:#55555a;font-size:12px;font-weight:650}.stack-form input,.form-grid input,.user-form input,.user-form select{min-width:0;border:1px solid #d7d7da;border-radius:8px;height:40px;padding:0 11px;color:var(--ink);background:white;font-weight:400;font-size:14px;outline:none}.stack-form input:focus,.form-grid input:focus,.user-form input:focus,.user-form select:focus{border-color:#8c2632;box-shadow:0 0 0 3px rgba(117,14,26,.09)}.form-error{color:var(--accent);font-size:12px;min-height:16px;margin:0}.modal-backdrop{position:fixed;inset:0;background:rgba(14,14,17,.45);z-index:20;display:grid;place-items:center;padding:20px;overflow:auto}.modal{width:min(100%,720px);max-height:min(92vh,900px);overflow:auto;background:white;border-radius:16px;padding:24px;box-shadow:0 20px 80px rgba(0,0,0,.2)}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px}.modal-head h2{font-size:21px;margin:0}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-grid label{font-size:12px}.form-grid input{height:39px}.form-grid .wide{grid-column:1/-1}.file-line{margin-top:18px;padding:14px;background:#f7f7f8;border-radius:10px;display:grid;grid-template-columns:1fr auto;gap:6px 14px;align-items:center}.file-line strong{display:block;font-size:13px}.file-line small,.file-hint{font-size:11px;color:var(--muted)}.file-line input{font-size:12px;max-width:270px}.file-hint{text-align:right}.modal-actions{display:flex;justify-content:flex-end;align-items:center;gap:9px;margin-top:22px}.modal-actions .text-button{margin-right:auto}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:40;background:#242426;color:#fff;border-radius:9px;padding:11px 16px;font-size:13px;box-shadow:0 5px 20px #0003}.notice{border-radius:9px;padding:12px;margin:10px 0 15px;font-size:13px}.notice.success{background:#edf5ef;color:#315a3b}.notice.error{background:#faeaec;color:#711520}.install-card>p:not(.eyebrow){color:var(--muted);font-size:13px;line-height:1.6}.install-card .button{margin-top:12px}.fatal{margin:80px auto;max-width:500px;padding:20px;background:#fff;border:1px solid var(--line);border-radius:12px;color:var(--accent)}
@media(max-width:850px){.app-layout{grid-template-columns:1fr}.sidebar{position:fixed;left:0;top:0;bottom:0;width:285px;height:100dvh;z-index:30;transform:translateX(-105%);transition:transform .2s;box-shadow:12px 0 35px #0001}.menu-open .sidebar{transform:translateX(0)}.mobile-overlay{display:none;position:fixed;inset:0;background:#0006;z-index:25}.menu-open .mobile-overlay{display:block}.mobile-menu{display:inline-grid;width:36px;height:36px;place-items:center;border:0;background:transparent;font-size:19px;margin-right:10px}.topbar{height:66px;padding:0 16px;justify-content:flex-start}.topbar>div:first-of-type{flex:1}.mobile-logout{display:inline-grid}.page-content{padding:26px 20px 90px}.bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:10;height:65px;background:#fff;border-top:1px solid var(--line);display:flex;justify-content:space-around;padding-bottom:env(safe-area-inset-bottom)}.bottom-nav button{background:none;border:0;min-width:80px;display:grid;align-content:center;justify-items:center;gap:2px;color:#777;font-size:11px}.bottom-nav button span{font-size:20px}.bottom-nav button.active{color:var(--accent);font-weight:700}.content-head{align-items:flex-start}.user-form{grid-template-columns:1fr 1fr}.user-form button{grid-column:1/-1}.connection-label{display:none}}
@media(max-width:560px){h1{font-size:25px}.page-content{padding:24px 14px 86px}.content-head{gap:10px;margin-bottom:20px}.content-head .button{padding:9px 10px;font-size:12px;white-space:nowrap}.ticket-card{padding:16px 13px;min-height:126px;border-radius:12px}.ticket-card.needs-action{padding-left:9px}.ticket-date{width:49px}.ticket-date strong{font-size:24px}.ticket-divider{margin:0 12px;height:70px}.ticket-title-row{align-items:flex-start;display:block;padding-right:24px}.ticket-title-row h2{font-size:16px}.ticket-price{display:block;margin-top:4px;font-size:12px}.ticket-meta{font-size:11px;gap:5px 10px}.ticket-foot{gap:5px;margin-top:9px}.status-chip,.pill-link{font-size:10px;padding:5px 7px}.games-grid{grid-template-columns:1fr}.summary-row{gap:9px;margin:20px 0 27px}.summary-card{padding:16px}.summary-card strong{font-size:24px}.searchbox{max-width:none}.toolbar .button{font-size:0;width:40px;padding:0}.toolbar .button::first-letter{font-size:16px}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.modal{padding:18px 15px}.modal-actions{flex-wrap:wrap}.modal-actions .text-button{width:100%;text-align:left;margin-bottom:6px}.file-line{grid-template-columns:1fr}.file-hint{text-align:left}.user-form{grid-template-columns:1fr}.user-form button{grid-column:auto}.user-row{gap:8px;padding:10px}.role-badge{display:none}.ticket-list{gap:9px}.login-card,.install-card{padding:26px 22px}}

.head-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.archived-game{cursor:default}.archived-game:hover{transform:none;border-color:var(--line)}.archived-game .button{white-space:nowrap}@media(max-width:560px){.head-actions{justify-content:flex-start;width:100%}.content-head{flex-wrap:wrap}.head-actions .button{font-size:11px;padding:8px 9px}.archived-game{flex-wrap:wrap}.archived-game .game-card-text{min-width:calc(100% - 65px)}}

/* Kompakte Kartenansicht: mehr Einträge pro Bildschirm */
.ticket-list{gap:7px}
.ticket-card{min-height:0;padding:11px 15px;border-radius:11px}
.ticket-card.needs-action{padding-left:10px;border-left-width:5px}
.ticket-date{width:48px}
.ticket-date strong{font-size:23px}
.date-month{font-size:9px}
.date-day{font-size:10px;margin-top:3px}
.ticket-divider{height:54px;margin:0 14px}
.ticket-title-row{padding-right:27px}
.ticket-title-row h2{font-size:16px;line-height:1.2}
.ticket-price{font-size:12px}
.ticket-meta{margin-top:4px;gap:4px 11px;font-size:11px}
.ticket-foot{gap:5px;margin-top:6px}
.status-chip,.pill-link{padding:4px 8px;font-size:10px}
.card-edit{right:6px;top:5px;width:28px;height:28px;font-size:18px}
@media(max-width:560px){
 .ticket-card{padding:10px 9px;min-height:0}
 .ticket-card.needs-action{padding-left:6px}
 .ticket-date{width:40px}
 .ticket-date strong{font-size:20px}
 .ticket-divider{height:48px;margin:0 9px}
 .ticket-title-row h2{font-size:14px}
 .ticket-meta{font-size:10px;gap:3px 8px}
 .ticket-foot{gap:4px;margin-top:5px}
 .status-chip,.pill-link{font-size:9px;padding:4px 6px}
}

.calendar-status{font-size:11px;color:var(--muted);margin:-18px 0 12px}.calendar-status.calendar-error{color:var(--accent)}

.pdf-link{border:0;cursor:pointer;font-family:inherit}.pdf-viewer-modal{width:min(100%,1000px);height:min(94vh,1000px);display:flex;flex-direction:column}.pdf-viewer-modal .modal-head{flex:none}.pdf-frame-wrap{min-height:0;flex:1;display:flex;flex-direction:column}.pdf-frame{width:100%;min-height:0;flex:1;border:1px solid var(--line);border-radius:8px;background:#f4f4f4}.pdf-tools{padding-top:9px;display:flex;justify-content:flex-end}.pdf-loading{color:var(--muted);padding:30px 0}.pdf-error{padding-top:10px}
@media(max-width:560px){.pdf-backdrop{padding:8px}.pdf-viewer-modal{height:95dvh;max-height:95dvh;padding:13px}.pdf-frame{min-height:0}}

/* Desktop: mehr Arbeitsfläche und kompakte Tabellenwirkung */
@media(min-width:1100px){
 .app-layout{grid-template-columns:260px minmax(0,1fr)}
 .sidebar{padding:24px 16px 16px}
 .topbar{height:72px;padding:0 clamp(28px,3.2vw,56px)}
 .page-content{width:min(100%,1540px);max-width:1540px;padding:30px clamp(28px,3.2vw,56px) 60px}
 .content-head{margin-bottom:20px}
 .content-head h1{font-size:28px}
 .summary-row{margin:19px 0 25px}
 .summary-card{padding:16px 19px}
 .games-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
 .game-card{padding:13px;gap:10px}
 .game-card-mark{width:34px;height:34px}
 .ticket-list{gap:6px}
 .ticket-card{padding:9px 13px;border-radius:9px}
 .ticket-card.needs-action{padding-left:9px;border-left-width:4px}
 .ticket-date{width:42px}
 .ticket-date strong{font-size:20px}
 .ticket-divider{height:43px;margin:0 12px}
 .ticket-title-row h2{font-size:14px}
 .ticket-meta{font-size:10px;gap:3px 12px;margin-top:3px}
 .ticket-foot{margin-top:4px;gap:4px}
 .status-chip,.pill-link{font-size:9px;padding:3px 7px}
 .card-edit{right:5px;top:4px;width:26px;height:26px}
 .searchbox{max-width:460px}
}
@media(min-width:1500px){.games-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.page-content{width:min(100%,1700px);max-width:1700px}}

/* Fix: Das mobile Overlay darf am Desktop keine CSS-Grid-Spalte belegen. */
.mobile-overlay{display:none}
@media(min-width:851px){
 .app-layout{display:grid;grid-template-columns:260px minmax(0,1fr);align-items:start}
 .sidebar{grid-column:1;grid-row:1;width:auto;min-width:0}
 .main-area{grid-column:2;grid-row:1;min-width:0;width:100%}
 .mobile-overlay{display:none!important}
}

/* Kartenbelegung: frei oder vergeben muss sofort erkennbar sein */
.assignment-summary{display:flex;gap:10px;align-items:center;margin:0 0 13px}
.assignment-count{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:6px 11px;font-size:12px;font-weight:650}
.assignment-count strong{font-size:14px}
.assignment-count.free{color:#23633d;background:#e9f5ed}
.assignment-count.assigned{color:#76121d;background:#f7e9eb}
.assignment-badge{display:inline-flex;align-items:center;border-radius:999px;padding:5px 10px;font-size:10px;font-weight:800;letter-spacing:.045em}
.assignment-badge.free{background:#dff2e5;color:#185c34}
.assignment-badge.assigned{background:#f4dfe2;color:#74111c}
.ticket-card.free-card{border-left:5px solid #2d8a4e;padding-left:10px}
.ticket-card.assigned-card{border-left:5px solid var(--accent);padding-left:10px}
.ticket-card.free-card .assignment-badge,.ticket-card.assigned-card .assignment-badge{font-size:10px}
.form-grid .is-hidden{display:none!important}
.form-grid select{min-width:0;border:1px solid #d7d7da;border-radius:8px;height:40px;padding:0 11px;color:var(--ink);background:white;font-size:14px}
.form-grid select:focus{border-color:#8c2632;box-shadow:0 0 0 3px rgba(117,14,26,.09);outline:none}
@media(min-width:1100px){.assignment-summary{margin-bottom:10px}.assignment-count{padding:5px 9px}.assignment-badge{font-size:9px;padding:4px 8px}}

/* Karten direkt anklickbar, Links/Buttons bleiben eigenständige Aktionen */
.ticket-card[data-card-open]{cursor:pointer}
.ticket-card[data-card-open]:focus-visible{outline:3px solid #8e3440;outline-offset:2px}
.ticket-card[data-card-open]:hover{transform:translateY(-1px);box-shadow:0 4px 14px rgba(21,21,25,.09)}
.card-edit{z-index:2;background:rgba(255,255,255,.92)}

/* Drei-Punkte-Menü mit Direktlink und PDF-Aktionen */
.card-actions-wrap{position:absolute;right:6px;top:5px;z-index:4}
.card-actions-wrap .card-edit{position:static}
.card-actions-menu{position:absolute;right:0;top:34px;min-width:190px;padding:5px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.14);z-index:15}
.card-actions-menu[hidden]{display:none}
.card-action-item{width:100%;display:flex;align-items:center;gap:8px;padding:9px 11px;border:0;border-radius:7px;background:transparent;color:var(--ink);text-decoration:none;text-align:left;font:inherit;font-size:13px;white-space:nowrap}
.card-action-item:hover{background:#f3f3f4}

/* Roboto Condensed variable font: regular copy, bold/extra-bold emphasis. */
@font-face{font-family:'Roboto Condensed';src:url('./assets/fonts/RobotoCondensed-Variable.ttf') format('truetype');font-style:normal;font-weight:100 900;font-display:swap}
:root,body{font-family:'Roboto Condensed',Arial,sans-serif}
.game-card.home-game-day{background:#f8eef0;border-color:#e7cfd3}
.game-card.home-game-day .game-card-mark{background:#edd7da;color:#71121d}
.game-card.home-game-day:hover{background:#f2e2e5;border-color:#d9b3ba}
.game-card.home-game-day .game-card-text strong{font-weight:700}

/* Pairing der transparenten Vereinswappen in den Spielkacheln */
.game-crest-pair{width:72px;height:58px;flex:0 0 72px;display:flex;align-items:center;justify-content:flex-start;position:relative;background:transparent}
.game-crest{width:48px;height:48px;flex:0 0 48px;object-fit:contain;background:transparent;position:relative;z-index:1}
.game-crest+.game-crest,.game-crest+.game-crest-fallback,.game-crest-fallback+.game-crest{margin-left:-19px}
.game-crest-away{z-index:2}
.game-crest-fallback{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;border-radius:50%;background:#fff;border:1px solid var(--line);color:var(--ink);font-size:11px;font-weight:800;position:relative;z-index:1}
.game-crest-fallback.game-crest-away{z-index:2}
@media(max-width:560px){.game-crest-pair{width:62px;height:50px;flex-basis:62px}.game-crest{width:42px;height:42px;flex-basis:42px}.game-crest+.game-crest,.game-crest+.game-crest-fallback,.game-crest-fallback+.game-crest{margin-left:-16px}.game-crest-fallback{width:36px;height:36px;flex-basis:36px;font-size:9px}}

/* Vereinswappen kompakter in den Spielkacheln */
.game-crest-pair{width:58px;height:48px;flex-basis:58px}
.game-crest{width:38px;height:38px;flex-basis:38px}
.game-crest+.game-crest,.game-crest+.game-crest-fallback,.game-crest-fallback+.game-crest{margin-left:-15px}
.game-crest-fallback{width:34px;height:34px;flex-basis:34px;font-size:10px}
@media(max-width:560px){
 .game-crest-pair{width:50px;height:42px;flex-basis:50px}
 .game-crest{width:33px;height:33px;flex-basis:33px}
 .game-crest+.game-crest,.game-crest+.game-crest-fallback,.game-crest-fallback+.game-crest{margin-left:-13px}
 .game-crest-fallback{width:30px;height:30px;flex-basis:30px;font-size:9px}
}

/* Lesbarkeit an den Referenzbildschirm anpassen */
body{font-size:16px}
.topbar strong{font-size:16px}
.topbar small{font-size:14px}
.nav-link{font-size:15px}
.nav-section{font-size:11px}
.game-nav-item{font-size:14px}
.nav-count{font-size:12px}
.content-head h1{font-size:32px}
.content-head .muted,.muted{font-size:15px}
.button{font-size:14px}
.section-title h2{font-size:20px}
.section-title span{font-size:14px}
.summary-card span{font-size:14px}
.summary-card strong{font-size:30px}
.game-card{padding:17px;gap:14px}
.game-card-text strong{font-size:17px}
.game-card-text small{font-size:14px;margin-top:5px}
.game-crest-pair{width:64px;height:52px;flex-basis:64px}
.game-crest{width:42px;height:42px;flex-basis:42px}
.game-crest+.game-crest,.game-crest+.game-crest-fallback,.game-crest-fallback+.game-crest{margin-left:-17px}
.game-crest-fallback{width:38px;height:38px;flex-basis:38px;font-size:12px}
.ticket-title-row h2{font-size:18px}
.ticket-price{font-size:14px}
.ticket-meta{font-size:13px}
.status-chip,.pill-link{font-size:12px;padding:5px 9px}
.ticket-date strong{font-size:24px}
.date-month{font-size:11px}
.date-day{font-size:12px}
.card-action-item{font-size:14px}
.bottom-nav button{font-size:13px}
@media(min-width:1100px){
 .topbar strong{font-size:16px}.topbar small{font-size:14px}
 .game-card{padding:15px}.game-card-text strong{font-size:17px}.game-card-text small{font-size:14px}
 .ticket-title-row h2{font-size:16px}.ticket-price{font-size:13px}
 .ticket-meta{font-size:12px}.status-chip,.pill-link{font-size:11px;padding:4px 8px}
}
@media(max-width:850px){
 .topbar{height:70px}
 .page-content{padding:27px 20px 96px}
 .nav-link{font-size:16px}
 .bottom-nav{height:72px}
 .bottom-nav button{font-size:13px}
 .bottom-nav button span{font-size:23px}
 .connection-label{font-size:13px}
 .content-head h1{font-size:30px}
 .content-head .muted,.muted{font-size:16px}
 .section-title h2{font-size:21px}
 .summary-card span{font-size:14px}
 .summary-card strong{font-size:29px}
 .game-card{padding:17px;gap:14px}
 .game-card-text strong{font-size:18px;white-space:normal;line-height:1.2}
 .game-card-text small{font-size:14px;line-height:1.35}
 .game-crest-pair{width:66px;height:54px;flex-basis:66px}
 .game-crest{width:44px;height:44px;flex-basis:44px}
 .game-crest+.game-crest,.game-crest+.game-crest-fallback,.game-crest-fallback+.game-crest{margin-left:-18px}
 .game-crest-fallback{width:39px;height:39px;flex-basis:39px;font-size:12px}
 .ticket-card{padding:13px 13px}
 .ticket-date{width:46px}
 .ticket-date strong{font-size:22px}
 .date-month{font-size:10px}
 .date-day{font-size:11px}
 .ticket-divider{margin:0 11px;height:50px}
 .ticket-title-row h2{font-size:17px}
 .ticket-price{font-size:13px}
 .ticket-meta{font-size:12px;gap:4px 9px}
 .ticket-foot{margin-top:6px;gap:5px}
 .status-chip,.pill-link{font-size:11px;padding:5px 8px}
 .assignment-badge{font-size:11px;padding:5px 9px}
 .assignment-count{font-size:14px}
 .assignment-count strong{font-size:16px}
 .toolbar{margin-bottom:14px}
 .searchbox{height:44px}
 .searchbox input{font-size:15px}
 .toolbar .button{font-size:13px}
}
@media(max-width:560px){
 h1{font-size:29px}
 .page-content{padding:24px 15px 96px}
 .topbar{height:66px}
 .topbar strong{font-size:16px}.topbar small{font-size:13px}
 .content-head{gap:12px;margin-bottom:20px}
 .content-head .button{font-size:13px;padding:9px 11px}
 .calendar-status{font-size:12px}
 .summary-row{gap:10px;margin:18px 0 27px}
 .summary-card{padding:15px}
 .summary-card span{font-size:13px}
 .summary-card strong{font-size:27px}
 .section-title h2{font-size:20px}
 .section-title span{font-size:13px}
 .games-grid{gap:9px}
 .game-card{padding:14px 12px;gap:11px;border-radius:12px}
 .game-card-text strong{font-size:16px;line-height:1.2}
 .game-card-text small{font-size:13px;line-height:1.35}
 .game-crest-pair{width:54px;height:46px;flex-basis:54px}
 .game-crest{width:37px;height:37px;flex-basis:37px}
 .game-crest+.game-crest,.game-crest+.game-crest-fallback,.game-crest-fallback+.game-crest{margin-left:-15px}
 .game-crest-fallback{width:33px;height:33px;flex-basis:33px;font-size:10px}
 .arrow{font-size:25px}
 .ticket-list{gap:8px}
 .ticket-card{padding:12px 10px;border-radius:11px}
 .ticket-card.free-card,.ticket-card.assigned-card{padding-left:8px;border-left-width:4px}
 .ticket-date{width:39px}
 .ticket-date strong{font-size:20px}
 .date-month{font-size:9px;letter-spacing:.04em}
 .date-day{font-size:10px;margin-top:3px}
 .ticket-divider{height:46px;margin:0 8px}
 .ticket-title-row h2{font-size:15px;line-height:1.25}
 .ticket-price{font-size:12px}
 .ticket-meta{font-size:11px;gap:3px 7px}
 .ticket-foot{margin-top:5px;gap:4px}
 .status-chip,.pill-link{font-size:10px;padding:4px 7px}
 .assignment-badge{font-size:10px;padding:4px 7px}
 .card-action-item{font-size:14px}
 .bottom-nav{height:70px}
 .bottom-nav button{font-size:12px}
}
