/* UMLA BISI Season Console — SQLite v0.2.0 */
:root{--bg:#f8fafc;--fg:#0f172a;--muted:#475569;--card:#fff;--line:#e2e8f0;--accent:#4f46e5;--accent2:#059669;--danger:#dc2626}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.45 system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,"Helvetica Neue",Arial}
code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.95em}
.app-header{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-bottom:1px solid var(--line);background:rgba(248,250,252,.92);backdrop-filter:blur(8px)}
.brand{display:flex;align-items:center;gap:12px}
.logo{height:44px;object-fit:contain}
.brand-text .title{font-weight:950}
.brand-text .subtitle{font-size:12px;color:var(--muted)}
.container{max-width:1240px;margin:0 auto;padding:16px}
.notice{display:none;margin:8px 0 12px;padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:#fff}
.notice.ok{display:block;border-color:#bbf7d0;background:#ecfdf5}
.notice.err{display:block;border-color:#fecaca;background:#fff1f2}
.notice.warn{display:block;border-color:#fde68a;background:#fffbeb}
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 14px}
.tab{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 12px;cursor:pointer;font-weight:900}
.tab.active{background:#eef2ff;border-color:#c7d2fe}
.tab-panel{display:none}
.tab-panel.active{display:block}
.grid{display:grid;gap:14px}
@media (min-width:980px){.grid{grid-template-columns:1fr 1fr}}
.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:14px;box-shadow:0 1px 2px rgba(2,6,23,.05)}
.card h2{margin:0 0 8px;font-size:18px}
.card h3{margin:0 0 8px;font-size:16px}
.card.inner{margin-top:12px}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.muted{color:var(--muted);font-size:13px}
.label{color:var(--muted);font-size:12px;margin-bottom:6px}
.input{width:100%;border:1px solid #cbd5e1;border-radius:12px;padding:10px 12px;background:#fff}
.btn{appearance:none;border:0;border-radius:12px;padding:10px 12px;font-weight:950;background:var(--accent);color:#fff;cursor:pointer}
.btn:hover{filter:brightness(.96)}
.btn.primary{background:var(--accent2)}
.btn.ghost{background:#e2e8f0;color:#0f172a}
.btn.danger{background:var(--danger)}
.btn.file{position:relative;overflow:hidden}
.btn.file input{position:absolute;inset:0;opacity:0;cursor:pointer}
.pill{background:#f1f5f9;border-radius:999px;padding:6px 10px;font-size:13px;display:inline-flex;gap:8px;align-items:center}
.callout{margin-top:10px;padding:10px 12px;border-radius:12px;background:#f1f5f9;border:1px solid var(--line);font-size:13px;color:#0f172a}
.kv{display:flex;justify-content:space-between;border-bottom:1px dashed var(--line);padding:8px 0}
.kv:last-child{border-bottom:0}
.kv .k{color:var(--muted);font-size:13px}
.kv .v{font-weight:950}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px}
.table{width:100%;border-collapse:separate;border-spacing:0;background:#fff}
.table th{position:sticky;top:0;background:#eef2ff;border-bottom:1px solid var(--line);text-align:left;padding:8px;font-size:13px}
.table td{border-bottom:1px solid var(--line);padding:8px;font-size:14px;vertical-align:top}
.table tr:last-child td{border-bottom:0}
.table.mini td,.table.mini th{font-size:13px}
.game-pane.hidden{display:none}
.scorebar{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end;margin-top:12px}
.scorebox{flex:1;min-width:220px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:10px}
.scorebox .teamname{font-weight:950}
.scorebox .score{font-size:44px;font-weight:1000}
.scorebar .meta{min-width:200px}
.two-col{display:grid;gap:12px;margin-top:12px}
@media (min-width:980px){.two-col{grid-template-columns:1fr 1fr}}
.modal.hidden{display:none}
.modal{position:fixed;inset:0;background:rgba(15,23,42,.55);display:flex;align-items:flex-start;justify-content:center;padding:18px;z-index:20}
.modal-card{width:min(860px,100%);background:#fff;border-radius:18px;border:1px solid var(--line);box-shadow:0 12px 30px rgba(2,6,23,.25)}
.modal-head{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-bottom:1px solid var(--line)}
.modal-title{font-weight:950}
.modal-body{padding:14px}
.form-grid{display:grid;gap:10px}
@media (min-width:980px){.form-grid{grid-template-columns:1fr 1fr}.span2{grid-column:1 / span 2}}
.dow{display:flex;gap:10px;flex-wrap:wrap;padding:10px 12px;border:1px solid #cbd5e1;border-radius:12px;background:#fff}
.team-inputs{display:grid;gap:8px;margin-top:10px}
.team-input-row{display:flex;gap:8px;align-items:center}
.team-input-row input{flex:1}

.grid.onecol{grid-template-columns:1fr !important}

.pbp-overlay{position:fixed;top:80px;right:16px;width:min(520px,92vw);background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 12px 30px rgba(2,6,23,.25);z-index:30;padding:10px}
.pbp-overlay.hidden{display:none}
.pbp-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.pbp-title{font-weight:950}

@media (min-width:980px){.grid.schedule-grid{grid-template-columns:2fr 3fr}}

.game-layout{display:block}
.pbp-dock{background:#fff;border:1px solid var(--line);border-radius:16px;padding:10px;box-shadow:0 1px 2px rgba(2,6,23,.05)}
.pbp-dock.hidden{display:none}
@media (min-width:980px){
  .game-layout.docked{display:grid;grid-template-columns:1fr 420px;gap:12px;align-items:start}
  .pbp-dock{position:sticky;top:92px;max-height:calc(100vh - 110px);overflow:auto}
}
body.game-wide .container{max-width:98vw}

.pbp-overlay.fullscreen{left:0;right:0;top:0;bottom:0;width:auto;max-width:none;border-radius:0;padding:14px}

.pbp-overlay.fullscreen{left:0;right:0;top:0;bottom:0;width:auto;max-width:none;border-radius:0;padding:14px;overflow:auto}
.pbp-fullgrid{display:block}
@media (min-width:980px){
  .pbp-fullgrid{display:grid;grid-template-columns:1.4fr 0.9fr;gap:12px;align-items:start}
  .pbp-right{position:sticky;top:68px;max-height:calc(100vh - 96px);overflow:auto}
}
#fsMount #gamePane{display:block !important}
body.fs-mode #tab-game #gamePane{display:none !important}

body.fs-mode #pbpSection{display:none !important}


.draftshow{position:fixed;inset:0;background:rgba(15,23,42,.96);color:#fff;z-index:60;display:flex;align-items:center;justify-content:center;padding:24px;text-align:center}
.draftshow.hidden{display:none}
.draftshow-shell{max-width:1100px;width:100%;display:flex;flex-direction:column;align-items:center;gap:18px}
.draftshow-logo{width:min(220px,42vw);height:auto;object-fit:contain;margin-bottom:8px}
.draftshow-team{font-size:clamp(34px,4.8vw,64px);font-weight:900;line-height:1.1}
.draftshow-player{font-size:clamp(52px,8vw,112px);font-weight:1000;line-height:1.02}
.draftshow-counter{font-size:18px;color:#cbd5e1}
.draftshow-controls{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
