@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/montserrat-latin-500-normal-DRFEGfly.woff2)format("woff2"),url(/assets/montserrat-latin-500-normal-Dok2oTci.woff)format("woff")}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/montserrat-latin-700-normal-BdjcYUrC.woff2)format("woff2"),url(/assets/montserrat-latin-700-normal-BWkrl476.woff)format("woff")}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/montserrat-latin-800-normal-axpkC1rd.woff2)format("woff2"),url(/assets/montserrat-latin-800-normal-C3dfDxXV.woff)format("woff")}:root{--bg:#f4f6f8;--card:#fff;--ink:#0f172a;--muted:#64748b;--line:#e2e8f0;--accent:#0d9488;--accent-ink:#fff;--soft:#dff5f1;--away:#fdeaea;--away-line:#f7c4c4;--away-ink:#b91c1c;--warn:#d97706;--bad:#dc2626;--good:#059669;--chip:#edf1f5;--m1:#0d9488;--m2:#6366f1;--s:#65a30d;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);-webkit-tap-highlight-color:transparent;margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif}button{font:inherit;cursor:pointer}a{color:inherit}header.top{z-index:5;background:var(--bg);border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:10px 16px;display:flex;position:sticky;top:0}header.top h1{flex:1;margin:0;font-size:17px}header.top small{color:var(--muted);font-family:ui-monospace,Menlo,monospace;font-size:11px;font-weight:400;display:block}.pts{background:var(--soft);color:var(--accent);border:none;border-radius:20px;padding:5px 10px;font-size:13px;font-weight:700;text-decoration:none}.iconbtn{border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:10px;padding:6px 10px;font-size:13px}.iconbtn:disabled{opacity:.4}nav.tabs{gap:6px;max-width:760px;margin:0 auto;padding:10px 16px;display:flex}nav.tabs a{text-align:center;background:var(--chip);color:var(--ink);border-radius:10px;flex:1;padding:10px 4px;font-size:13px;font-weight:600;text-decoration:none}nav.tabs a.router-link-exact-active{background:var(--accent);color:var(--accent-ink)}main{max-width:760px;margin:0 auto;padding:0 16px 24px}footer.foot{text-align:center;color:var(--muted);padding:8px 16px 32px;font-size:12px}footer.foot a{color:var(--muted);margin:0 6px}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;margin-bottom:10px;padding:12px}h2{margin:0 0 8px;font-size:15px}h3{color:var(--muted);margin:12px 0 6px;font-size:13px}.note{color:var(--muted);margin:6px 0 0;font-size:12px}.center{text-align:center}.banner{background:var(--away);color:var(--away-ink);text-align:center;padding:6px;font-size:12px}.chips{flex-wrap:wrap;gap:6px;margin:4px 0 10px;display:flex}.chips button{border:1px solid var(--line);background:var(--chip);color:var(--ink);white-space:nowrap;border-radius:20px;flex:1;padding:7px 8px;font-size:13px}.chips button.on{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.cal{grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;display:grid}.cal .wd{color:var(--muted);text-align:center;font-size:11px}.cal .kw{color:var(--muted);grid-column:1/-1;margin-top:4px;font-size:11px}.d{background:var(--chip);color:var(--muted);border:none;border-radius:9px;padding:8px 0;font-size:14px;font-weight:600;position:relative}.d.in{background:var(--soft);color:var(--accent)}.d.out{background:var(--away);color:var(--away-ink);text-decoration:line-through}.d.open{border:1px dashed var(--line);background:0 0}.d.today{outline:2px solid var(--accent);outline-offset:-2px}.d:disabled{opacity:.45;cursor:default}.d .dish{font-size:9px;font-weight:700;position:absolute;top:3px;right:4px}.legend{color:var(--muted);flex-wrap:wrap;gap:10px;margin-top:8px;font-size:11px;display:flex}.legend i{vertical-align:-1px;border-radius:3px;width:10px;height:10px;margin-right:4px;display:inline-block}.day{border-top:1px solid var(--line);padding:10px 0}.day:first-of-type{border-top:none;padding-top:0}.day-head{justify-content:space-between;align-items:baseline;margin-bottom:6px;display:flex}.day-head b{font-size:14px}.day-head span{color:var(--muted);font-size:11px}.opts{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.opt{border:1px solid var(--line);background:var(--chip);color:var(--ink);text-align:left;overflow-wrap:anywhere;border-radius:10px;min-height:56px;padding:7px 6px;font-size:12px;line-height:1.25}.opt b{margin-bottom:2px;font-size:12px;display:block}.opt em{color:var(--muted);margin-top:3px;font-size:11px;font-style:normal;display:block}.opt.sel{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.opt.sel em{color:var(--accent-ink);opacity:.8}.opt:disabled{opacity:.5;cursor:default}.hint{color:var(--good);margin-top:5px;font-size:11px}.progress{background:var(--chip);border-radius:6px;height:10px;margin:8px 0;overflow:hidden}.progress i{background:var(--accent);height:100%;display:block}.btn{background:var(--accent);color:var(--accent-ink);border:none;border-radius:10px;padding:10px 14px;font-size:14px;font-weight:600}.btn.ghost{background:var(--chip);color:var(--ink)}.btn:disabled{opacity:.4}.code{letter-spacing:2px;text-align:center;margin:10px 0;font:700 22px ui-monospace,Menlo,monospace}.kpis{grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:10px;display:grid}.kpi{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:10px}.kpi small{color:var(--muted);font-size:11px;display:block}.kpi b{font-size:22px}.kpi span{color:var(--good);font-size:11px}.share{background:var(--chip);border-radius:6px;height:22px;font-size:11px;font-weight:600;display:flex;overflow:hidden}.share div{color:#fff;white-space:nowrap;justify-content:center;align-items:center;display:flex;overflow:hidden}.bars{align-items:flex-end;gap:6px;height:110px;display:flex}.bars div{text-align:center;color:var(--muted);flex-direction:column;flex:1;justify-content:flex-end;height:100%;font-size:10px;display:flex}.bars i{background:var(--accent);border-radius:3px 3px 0 0;margin-bottom:3px;display:block}.bars i.alt{background:var(--line)}table{border-collapse:collapse;width:100%;font-size:12px}th,td{border-bottom:1px solid var(--line);text-align:right;white-space:nowrap;padding:6px 3px}th:first-child,td:first-child{text-align:left}th{color:var(--muted);font-size:11px;font-weight:600}td small{color:var(--muted)}.dot{border-radius:50%;width:9px;height:9px;margin-left:3px;display:inline-block}.dot.green{background:var(--good)}.dot.yellow{background:var(--warn)}.dot.red{background:var(--bad)}.dot.grey{background:var(--line)}.scroll{overflow-x:auto}input,textarea,select{font:inherit;border:1px solid var(--line);background:var(--chip);color:var(--ink);border-radius:9px;padding:8px;font-size:14px}input.small{width:72px}textarea{width:100%;min-height:140px}.form{grid-template-columns:1fr auto;align-items:center;gap:8px;font-size:13px;display:grid}.grid3{grid-template-columns:auto repeat(3,minmax(0,1fr));align-items:center;gap:6px;font-size:12px;display:grid}.grid3 input{width:100%}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.mono{font-family:ui-monospace,Menlo,monospace}.subtabs{gap:6px;margin-bottom:10px;padding-bottom:2px;display:flex;overflow-x:auto}.subtabs button{border:1px solid var(--line);background:var(--card);color:var(--ink);white-space:nowrap;border-radius:20px;padding:6px 12px;font-size:13px}.subtabs button.on{background:var(--ink);color:var(--bg);border-color:var(--ink)}.toast{background:var(--ink);color:var(--bg);opacity:0;pointer-events:none;text-align:center;z-index:20;border-radius:12px;max-width:90%;padding:10px 16px;font-size:14px;transition:opacity .25s;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.toast.show{opacity:1}.legal h1{font-size:20px}.legal h2{margin-top:16px;font-size:16px}.legal p,.legal li{font-size:14px;line-height:1.5}.lead{margin:0 0 10px;font-size:14px;line-height:1.4}.lead .g{color:var(--accent)}.d.open{background:var(--chip);color:var(--muted);border:none}.cal{gap:6px}.d{padding:11px 0;font-size:15px}.ahead{border-top:1px solid var(--line);margin-top:14px;padding-top:12px;font-size:13px}.seg{border:1px solid var(--line);border-radius:10px;margin-top:6px;display:flex;overflow:hidden}.seg button{background:var(--card);color:var(--ink);border:none;flex:1;padding:9px 4px;font-size:13px}.seg button+button{border-left:1px solid var(--line)}.seg button.on{background:var(--accent);color:var(--accent-ink);font-weight:600}.opt-tag{color:var(--muted);margin-left:4px;font-size:12px;font-weight:400}.pick{text-align:left;border:1px solid var(--line);background:var(--card);width:100%;color:var(--ink);border-radius:10px;align-items:flex-start;gap:10px;margin-bottom:5px;padding:10px;font-size:13px;line-height:1.35;display:flex}.pick i{border:2px solid var(--muted);border-radius:50%;flex:none;width:18px;height:18px;margin-top:1px}.pick.sel{border-color:var(--accent);background:var(--soft)}.pick.sel i{border-color:var(--accent);background:radial-gradient(circle, var(--accent) 45%, transparent 50%)}.pick:disabled{opacity:.5;cursor:default}.card-preview svg{border:1px solid var(--line);border-radius:10px;width:100%;height:auto;display:block}.print-sheets{display:none}@page{size:A4;margin:0}@media print{html,body{background:#fff!important}header.top,nav.tabs,footer.foot,.toast,.banner,.no-print{display:none!important}main{max-width:none!important;margin:0!important;padding:0!important}.print-sheets{display:block}.sheet{page-break-after:always;break-after:page;width:210mm;height:297mm;position:relative;overflow:hidden}.sheet:last-child{page-break-after:auto;break-after:auto}.sheet .marks{width:210mm;height:297mm;position:absolute;inset:0}.sheet .grid{grid-template-columns:85mm 85mm;grid-auto-rows:55mm;display:grid;position:absolute;top:11mm;left:20mm}.pcard svg{width:85mm;height:55mm;display:block}}header.top{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:color-mix(in srgb, var(--bg) 82%, transparent);border-bottom-color:#0000}header.top h1{letter-spacing:-.3px;font-family:Montserrat,system-ui,sans-serif;font-size:19px;font-weight:800}.pts{background:var(--soft)}.btn{border-radius:12px}.btn.wide{width:100%}.plan{flex-direction:column;gap:10px;max-width:520px;height:calc(100dvh - 53px);margin:0 auto;padding:8px 14px 6px;display:flex;position:relative;overflow:hidden}.bg-building{opacity:.7;pointer-events:none;z-index:0;width:calc(100% + 28px);height:auto;position:absolute;bottom:-4px;left:-14px}.pcal{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;display:grid;position:relative}.pcal .wd{color:var(--muted);text-align:center;text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:600}.pday{background:var(--chip);height:50px;color:var(--muted);border:1px solid #0000;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:1px;transition:transform 80ms,box-shadow .12s;display:flex}.pday b{font-family:Montserrat,system-ui,sans-serif;font-size:16px;font-weight:700;line-height:1}.pday small{letter-spacing:.2px;min-height:12px;font-size:10px;font-weight:700}.pday.in{background:var(--card);color:var(--ink);border-color:var(--line)}.pday.in small{color:var(--muted)}.pday.dish{background:var(--soft);color:var(--ink);border-color:#0000}.pday.dish small{color:var(--accent)}.pday.out{background:var(--away);color:var(--away-ink);border-color:var(--away-line)}.pday.today b{text-underline-offset:3px;text-decoration:underline}.pday.locked{opacity:.55}.pday.sel{box-shadow:0 0 0 2px var(--accent);transform:scale(1.04)}.pday:active{transform:scale(.96)}.stage{flex:1 1 0;min-height:0;position:relative}.sheet{background:color-mix(in srgb, var(--card) 88%, transparent);-webkit-backdrop-filter:blur(14px);border:1px solid var(--line);border-radius:20px;padding:12px;box-shadow:0 10px 30px #0f172a14}.sheet-head{justify-content:space-between;align-items:baseline;padding:0 2px 6px;display:flex}.sheet-head b{font-family:Montserrat,system-ui,sans-serif;font-size:16px;font-weight:700}.sheet-head .hint{color:var(--accent);font-size:12px;font-weight:700}.choice{text-align:left;border:1px solid var(--line);background:var(--card);width:100%;color:var(--ink);border-radius:14px;flex-direction:column;align-items:flex-start;margin-top:6px;padding:9px 12px;line-height:1.3;transition:background .12s,border-color .12s;display:flex}.choice b{font-size:14px;font-weight:700}.choice span{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12.5px;display:-webkit-box;overflow:hidden}.choice.center{text-align:center;align-items:center}.choice.on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.choice.on span{color:var(--accent-ink);opacity:.85}.choice.away{background:var(--away);border-color:var(--away-line);color:var(--away-ink)}.choice.away.on{background:var(--away-ink);border-color:var(--away-ink);color:#fff}.choice:disabled{opacity:.5;cursor:default}.choice:active:not(:disabled){transform:scale(.985)}.pair{grid-template-columns:1fr 1fr;gap:6px;display:grid}.mini-links{justify-content:center;gap:14px;font-size:11px;display:flex}.mini-links a{color:var(--muted);text-decoration:none}.overlay{z-index:30;background:#0f172a59;justify-content:center;align-items:flex-end;padding:14px;display:flex;position:fixed;inset:0}.modal{background:var(--card);text-align:center;border-radius:22px;width:100%;max-width:420px;padding:18px}.modal h2{margin:4px 0;font-family:Montserrat,system-ui,sans-serif;font-size:22px}@media (height<=700px){.pday{height:42px}.choice{padding:7px 12px}.choice span{-webkit-line-clamp:1}}.toast{top:62px;bottom:auto}.pcal>:not(.bg-building){z-index:1;position:relative}.pcal{padding-bottom:4px}.pday{background:color-mix(in srgb, var(--chip) 55%, transparent)}.pday.in,.pday.open{color:var(--ink);background:#ffffffb8;border-color:#cbd5e1e6}.pday.open small{color:var(--muted)}.pday.dish{background:color-mix(in srgb, var(--soft) 82%, transparent)}.pday.out{background:color-mix(in srgb, var(--away) 85%, transparent)}.pday.none{color:#b6bfcc;cursor:default;background:0 0;border-color:#0000}.pday:disabled{cursor:default}.sheet.done{text-align:center;padding:22px 12px;font-family:Montserrat,system-ui,sans-serif;font-size:18px}.sheet.done .big{margin-bottom:4px;font-size:34px}
