@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:#f6f4ef;--card:#fff;--ink:#1d1d1b;--muted:#6d6a63;--line:#e3dfd6;--accent:#2f6f4f;--accent-ink:#fff;--soft:#e4efe8;--away:#f3dcd6;--away-ink:#9a3b2a;--warn:#c98a12;--bad:#b4442f;--good:#2f8f5a;--chip:#efece5;--m1:#2f6f4f;--m2:#c98a12;--s:#5b8fb9;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not(.light){--bg:#16171a;--card:#202227;--ink:#ecebe6;--muted:#9a978f;--line:#33353b;--accent:#5fb489;--accent-ink:#0f1a14;--soft:#21362b;--away:#3d2723;--away-ink:#e6937f;--chip:#2a2c32;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root.dark{--bg:#16171a;--card:#202227;--ink:#ecebe6;--muted:#9a978f;--line:#33353b;--accent:#5fb489;--accent-ink:#0f1a14;--soft:#21362b;--away:#3d2723;--away-ink:#e6937f;--chip:#2a2c32;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{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}}
