:root{--bg: #0f172a;--bg-soft: #111c34;--panel: #f9f8f4;--panel-2: #eef1f6;--ink: #1b2430;--ink-soft: #49586c;--accent: #eb5b2a;--accent-2: #0f8b8d;--good: #1f9d5a;--bad: #c0372b;--warn: #c88812;--border: #d8dde6;--shadow: 0 20px 40px rgba(7, 12, 24, .14)}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;min-height:100vh;font-family:Space Grotesk,Avenir Next,Segoe UI,sans-serif;background:radial-gradient(circle at top left,#1b2f5f 0%,var(--bg) 45%,#0a111f 100%);color:var(--ink)}body.parse-modal-open{overflow:hidden}#app{max-width:1200px;margin:0 auto;padding:1rem}.auth-gate{display:grid;gap:1rem;margin-bottom:1rem;background:linear-gradient(140deg,#f9f8f4f5,#eef1f6f5)}.auth-gate-copy{display:grid;gap:.45rem}.auth-gate-status{margin:0;color:var(--ink-soft);font-size:.92rem;letter-spacing:.02em}.auth-signin{min-height:1px;width:100%}.auth-signin>*{max-width:min(100%,25rem)}.auth-gate-email{margin:0;color:var(--accent-2);font-family:IBM Plex Mono,monospace;font-size:.82rem}.auth-gate-error{margin:0;color:var(--bad);font-family:IBM Plex Mono,monospace;font-size:.82rem}.card{background:linear-gradient(145deg,var(--panel),#ffffff);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow);padding:1rem}.topbar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.65rem;margin-bottom:1rem;padding:.55rem .65rem;background:linear-gradient(145deg,#f2f6fc,#ecf2f8 55%,#e6f0ee);border-color:color-mix(in hsl,var(--accent-2),#ffffff 55%)}.topbar-nav{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}.topbar-meta{display:inline-flex;align-items:center;gap:.6rem;margin-left:auto}.auth-user-email{color:var(--ink-soft);font-family:IBM Plex Mono,monospace;font-size:.78rem}.auth-user-button{min-width:2.2rem;min-height:2.2rem}.month-picker{min-width:0;display:inline-flex;align-items:center}.month-picker input{min-width:10.6rem;height:2.05rem;padding:.4rem .55rem;border-radius:8px;background:#f7f9fc}.month-nav{display:inline-flex;align-items:center;gap:.35rem;flex-wrap:nowrap}.month-nav .btn{min-width:2.05rem;height:2.05rem;padding:.35rem .5rem}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.hero{display:flex;justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1rem;background:linear-gradient(130deg,#f9efe6,#eef3f8 50%,#e8f2f1)}.hero h1{margin:.2rem 0;font-size:1.7rem}.layout,.route-view{display:grid;grid-template-columns:1fr;gap:1rem}.route-view[hidden]{display:none!important}.section-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.75rem}.section-head-tight{margin-bottom:.55rem}h2{margin:0;font-size:1.1rem}h3{margin:0;font-size:.95rem}.badge{border:1px solid var(--accent-2);color:var(--accent-2);padding:.2rem .6rem;border-radius:999px;font-size:.8rem;font-family:IBM Plex Mono,monospace}.entry-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.import-toolbar,.quick-toolbar{display:flex;flex-wrap:wrap;align-items:end;gap:.6rem;margin-bottom:.8rem}.import-toolbar>label,.quick-toolbar>label,.results-toolbar>label,.notes-toolbar>label{flex:1 1 12rem;min-width:min(100%,12rem)}.import-toolbar>button,.quick-toolbar>button,.results-toolbar>button,.notes-toolbar>button,.import-preview-actions>button,.entry-actions>button,.modal-actions>button{min-height:2.3rem}#importCard textarea{font-family:IBM Plex Mono,monospace;min-height:130px}#entriesView #importCard{order:-1}.trace{margin:.65rem 0;color:var(--ink-soft);font-family:IBM Plex Mono,monospace;font-size:.78rem}.import-preview-head{margin-top:.5rem}.import-preview-actions{display:flex;gap:.45rem;align-items:center}.import-preview-actions .commit-import-btn{box-shadow:0 8px 16px #0a5a5b2e}.issues-list{margin:.55rem 0 0;padding-left:1.15rem;color:var(--ink-soft)}.issues-list li{margin:.2rem 0}.issue-warning{color:var(--warn)}.issue-error{color:var(--bad)}label{display:flex;flex-direction:column;font-size:.85rem;gap:.35rem;color:var(--ink-soft)}.toggle-field{justify-content:end}.toggle-inline{display:inline-flex;align-items:center;gap:.45rem;min-height:2.2rem;color:var(--ink);font-size:.84rem}.toggle-inline input[type=checkbox]{width:1rem;height:1rem;accent-color:#0f7f82}input,select,textarea,button{font:inherit}input,select,textarea{border:1px solid var(--border);border-radius:8px;padding:.55rem .65rem;background:#fff;color:var(--ink)}input:focus,select:focus,textarea:focus{outline:2px solid color-mix(in hsl,var(--accent-2),white 50%);outline-offset:1px}.entry-actions{grid-column:1 / -1;display:flex;gap:.6rem;padding-top:.2rem}.field-full{grid-column:1 / -1}.btn{border:1px solid var(--border);border-radius:8px;padding:.45rem .8rem;background:var(--panel-2);cursor:pointer}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--accent);color:#fff;border-color:transparent}.nav-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;color:var(--ink);border:1px solid var(--border);border-radius:9px;background:linear-gradient(145deg,#e4e9f1,#dfe5ee);padding:.38rem .72rem;font-size:.98rem;font-weight:500}.nav-link:hover{transform:translateY(-1px)}.nav-link.is-active{background:var(--accent-2);color:#fff;border-color:transparent}.results-toolbar{display:flex;flex-wrap:wrap;align-items:end;gap:.6rem;margin-bottom:.7rem}.results-focus{background:linear-gradient(155deg,#f2f6fc,#f7fafb,#edf7f5);border-color:color-mix(in hsl,var(--accent-2),#ffffff 45%)}.results-focus h2{font-size:1.3rem;color:#0b5a5b}.results-focus .table-wrap{border:1px solid color-mix(in hsl,var(--accent-2),#ffffff 60%);border-radius:10px;background:#fff}.results-focus th{background:#e7f2f3;color:#2a5f60}.results-sort-button{display:inline-flex;align-items:center;gap:.3rem;width:100%;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-transform:inherit;cursor:pointer}.results-sort-button:hover,.results-sort-button[data-active=true]{color:#124f50}.sort-indicator{font-size:.82rem;opacity:.65}.results-sort-button[data-active=true] .sort-indicator{opacity:1}.summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.summary-tile{background:linear-gradient(150deg,#fff,#f3f5f9);border:1px solid var(--border);border-radius:10px;padding:.7rem}.summary-tile .label{display:block;color:var(--ink-soft);font-size:.78rem;font-family:IBM Plex Mono,monospace}.summary-tile .value{font-size:1.25rem;font-weight:700;margin-top:.25rem}.good{color:var(--good)}.bad{color:var(--bad)}.filters{display:flex;flex-wrap:wrap;gap:.5rem}.filters label{min-width:120px}.table-wrap{overflow-x:auto}.responsive-table th,.responsive-table td{vertical-align:top}.import-inline-hint{margin-top:.25rem;font-size:.72rem;color:var(--ink-soft)}.import-inline-warning{color:var(--warn);font-family:IBM Plex Mono,monospace}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:.55rem;border-bottom:1px solid var(--border);font-size:.9rem}th{font-family:IBM Plex Mono,monospace;font-size:.75rem;text-transform:uppercase;color:var(--ink-soft)}.icon-actions{display:inline-flex;align-items:center;gap:.4rem;flex-wrap:nowrap;white-space:nowrap}.icon-btn{width:2.05rem;height:2.05rem;padding:.3rem;display:inline-flex;align-items:center;justify-content:center;border-radius:9px}.icon-btn .icon{width:.95rem;height:.95rem;fill:currentColor}.icon-btn-save{color:#fff;border-color:transparent;background:linear-gradient(145deg,#1c9da0,#0f7f82)}.icon-btn-save:hover{background:linear-gradient(145deg,#169194,#0d7476)}.icon-btn-archive{color:#87551a;border-color:#f0d7b6;background:linear-gradient(145deg,#fff5e8,#f9ecd8)}.icon-btn-unarchive{color:#0f6f3f;border-color:#c8ead7;background:linear-gradient(145deg,#ebfbf2,#ddf6e8)}.toast-stack{position:fixed;right:1rem;bottom:1rem;z-index:1200;display:grid;gap:.4rem;pointer-events:none}.toast{min-width:180px;max-width:320px;padding:.55rem .7rem;border-radius:10px;border:1px solid color-mix(in hsl,var(--good),#ffffff 45%);background:linear-gradient(145deg,#f0fff6,#e8f8ef);color:#0f6a3e;font-family:IBM Plex Mono,monospace;font-size:.78rem;box-shadow:0 12px 24px #070c1833}.toast-error{border-color:color-mix(in hsl,var(--bad),#ffffff 45%);background:linear-gradient(145deg,#ffeceb,#fde2e0);color:#902018}.icon-btn[data-action=delete]{color:var(--bad)}.actions-cell{min-width:6rem}.bet-cell{display:inline-flex;align-items:center;gap:.35rem}.entry-type-badge{border:1px solid color-mix(in hsl,var(--accent-2),#ffffff 25%);color:#0b5a5b;background:linear-gradient(145deg,#ecfbfa,#dcf5f3);border-radius:999px;padding:.08rem .44rem;font-size:.66rem;letter-spacing:.03em;font-family:IBM Plex Mono,monospace}.bet-note-wrap{position:relative;display:inline-flex;align-items:center}.bet-note-indicator{display:inline-flex;align-items:center;justify-content:center;color:var(--accent-2);background:transparent;border:0;padding:0;cursor:pointer}.bet-note-tooltip{position:absolute;left:0;top:calc(100% + .35rem);min-width:160px;max-width:280px;padding:.45rem .55rem;border-radius:8px;background:#1f2d49;color:#f8fbff;font-size:.75rem;line-height:1.3;box-shadow:0 10px 20px #070c1833;z-index:20;opacity:0;transform:translateY(-3px);pointer-events:none;transition:opacity .12s ease,transform .12s ease}.bet-note-wrap:hover .bet-note-tooltip,.bet-note-indicator:focus+.bet-note-tooltip,.bet-note-wrap.is-open .bet-note-tooltip{opacity:1;transform:translateY(0)}.bet-note-indicator .icon{width:.9rem;height:.9rem;fill:currentColor}.result-pill{padding:.2rem .5rem;border-radius:999px;font-family:IBM Plex Mono,monospace;font-size:.75rem}.result-win{background:#dff5e7;color:#0b7a42}.result-loss{background:#fde4e2;color:#9d261d}.result-pending{background:#fff3d8;color:#8d5a00}.book-status-active{background:#dff5e7;color:#0b7a42}.book-status-archived{background:#edf1f6;color:#4f5d73}#booksCard .quick-toolbar{margin-bottom:1rem}#booksCard h3{margin:1rem 0 .55rem;font-size:1rem}#booksRows input,#leaguesRows input{width:100%;min-width:8rem}.icon-btn-delete{color:var(--bad)}.result-push,.result-void{background:#e8edf6;color:#435a7a}.notes-card textarea{width:100%;resize:vertical;font-family:IBM Plex Mono,monospace}.notes-toolbar{display:flex;gap:.6rem;align-items:center;margin:.7rem 0}footer{padding:.8rem 0;color:#d7deea;font-family:IBM Plex Mono,monospace;font-size:.8rem;overflow-wrap:anywhere}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#070c1899;display:grid;place-items:center;z-index:1000;padding:1rem}.modal-backdrop[hidden]{display:none!important}.modal-card{width:min(420px,100%);background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);padding:1rem;display:grid;gap:.6rem}.modal-card-wide{width:min(900px,100%)}.modal-card h3{margin:0}.modal-card p{margin:0;color:var(--ink-soft)}.modal-actions{display:flex;flex-wrap:wrap;gap:.6rem}.export-preview{width:100%;resize:vertical;font-family:IBM Plex Mono,monospace;min-height:320px}.spinner{width:28px;height:28px;border:3px solid #d8dde6;border-top-color:var(--accent-2);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(max-width:900px){#app{padding:.85rem}.auth-gate{padding:.9rem}.card{padding:.9rem;border-radius:16px}.entry-grid{grid-template-columns:1fr}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){#app{padding:.65rem}.topbar{display:grid;grid-template-columns:1fr;align-items:stretch;padding:.65rem;gap:.65rem;margin-bottom:.85rem}.topbar-nav{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem}.topbar-meta{width:100%;justify-content:space-between;margin-left:0;flex-wrap:wrap}.month-nav{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;justify-content:stretch}.month-nav .month-picker{flex:1 1 auto;min-width:0}.month-picker input{width:100%;min-width:0}.nav-link,.month-nav .btn,.btn{min-height:2.65rem}.section-head{flex-direction:column;align-items:flex-start;gap:.45rem}.summary-grid{grid-template-columns:1fr}.notes-toolbar{display:grid;grid-template-columns:1fr;align-items:stretch;gap:.65rem}.import-toolbar,.quick-toolbar,.results-toolbar{display:grid;grid-template-columns:1fr;align-items:stretch}.quick-toolbar>label,.import-toolbar>label,.results-toolbar>label,.notes-toolbar>label,.quick-toolbar>button,.import-toolbar>button,.results-toolbar>button,.notes-toolbar>button,.entry-actions>button,.import-preview-actions>button,.modal-actions>button{width:100%;min-width:0}.entry-actions,.import-preview-actions,.modal-actions{flex-direction:column;align-items:stretch}.table-wrap{overflow:visible}.responsive-table{border-collapse:separate;border-spacing:0}.responsive-table thead{display:none}.responsive-table tbody{display:grid;gap:.85rem}.responsive-table tr{display:grid;gap:.65rem;padding:.85rem;border:1px solid var(--border);border-radius:14px;background:linear-gradient(155deg,#fff,#f4f7fb 62%,#eff7f4);box-shadow:0 10px 24px #070c1817}.responsive-table td{display:grid;grid-template-columns:minmax(5.4rem,6.8rem) minmax(0,1fr);gap:.18rem .7rem;padding:0;border:0;font-size:.88rem;overflow-wrap:anywhere}.responsive-table td input,.responsive-table td select,.responsive-table td textarea{width:100%;min-width:0}.responsive-table td:before{content:attr(data-label);color:var(--ink-soft);font-family:IBM Plex Mono,monospace;font-size:.72rem;letter-spacing:.02em;text-transform:uppercase}.responsive-table td[data-label=""]:before{content:none}.responsive-table td.actions-cell{grid-template-columns:1fr;gap:.35rem}.responsive-table td.actions-cell .icon-actions{flex-wrap:wrap;white-space:normal}.responsive-table tr[data-empty-row=true]{display:block;box-shadow:none;background:linear-gradient(145deg,var(--panel),#ffffff)}.responsive-table tr[data-empty-row=true] td{display:block}.responsive-table tr[data-empty-row=true] td:before{content:none}.results-focus .table-wrap{border:0;background:transparent}.bet-cell{flex-wrap:wrap}.auth-user-email{max-width:100%;overflow-wrap:anywhere}.toast-stack{left:1rem;right:1rem;bottom:.8rem}.icon-btn{width:2.75rem;height:2.75rem;padding:.45rem}.icon-btn .icon{width:1.2rem;height:1.2rem}.actions-cell{min-width:6.5rem}.bet-note-indicator .icon{width:1rem;height:1rem}}
