.print-root{display:none}@page{size:landscape;margin:9mm}@media print{body>:not(.print-root){display:none!important}:root,:root[data-theme=dark]{color-scheme:light!important}html,body{background:#fff!important}.print-root{color:#0b1b2b;font-family:var(--font);-webkit-print-color-adjust:exact;print-color-adjust:exact;--day:#f2c56b;--evening:#7fd0c4;--night:#3949ab;--full:#e88b74;--hol:#b03a8a;display:block}}.pr-page{break-inside:avoid;flex-direction:column;height:190mm;display:flex;overflow:hidden}.pr-head{border-bottom:.4mm solid #0b1b2b;justify-content:space-between;align-items:flex-end;gap:16px;padding-bottom:3mm;display:flex}.pr-title{letter-spacing:-.02em;font-size:17pt;font-weight:800}.pr-sub{color:#45566a;font-size:9pt}.pr-legend{color:#45566a;flex-wrap:wrap;justify-content:flex-end;gap:2mm 4mm;margin:0;padding:0;font-size:7.5pt;list-style:none;display:flex;padding-right:1mm!important}.pr-legend li{align-items:center;gap:1.5mm;display:flex}.pr-key{border-radius:1mm;place-items:center;min-width:4.5mm;height:4.5mm;padding:0 .6mm;font-size:6.5pt;font-weight:800;display:grid}.pr-key.k-day{background:var(--day)}.pr-key.k-evening{background:var(--evening)}.pr-key.k-night{background:var(--night);color:#fff}.pr-key.k-full{background:var(--full)}.pr-hol-key{border:.5mm solid var(--hol);border-radius:999px;min-width:3.5mm;height:3.5mm}.pr-year{flex:1;grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(4,1fr);gap:3mm 5mm;min-height:0;padding-top:3mm;display:grid}.pr-month{flex-direction:column;min-height:0;display:flex}.pr-month h3{margin:0 0 1mm;font-size:11pt;font-weight:800}.pr-grid{flex:1;grid-template-rows:auto;grid-template-columns:repeat(7,1fr);grid-auto-rows:minmax(0,1fr);gap:.5mm;min-height:0;display:grid}.pw{color:#6c7b8d;text-align:center;font-size:7.5pt;font-weight:700}.pc{border-radius:.8mm;flex-direction:column;justify-content:center;align-items:center;min-height:6mm;font-size:8.5pt;line-height:1;display:flex}.pc b{font-weight:600}.pc i{margin-top:.3mm;font-size:7pt;font-style:normal;font-weight:800}.pc.k-day{background:var(--day)}.pc.k-evening{background:var(--evening)}.pc.k-night{background:var(--night);color:#fff}.pc.k-night i{color:#0b1b2b;background:#fff;border-radius:.8mm;padding:0 .6mm}.pc.k-full{background:var(--full)}.pc.k-off{color:#6c7b8d}.pc.k-off.we{background:#f1f4f8}.pc.hol{box-shadow:inset 0 0 0 .45mm var(--hol)}.pr-stats{color:#45566a;flex-wrap:wrap;gap:2mm 6mm;padding-top:2.5mm;font-size:8pt;display:flex}.pr-stats b{color:#0b1b2b}.pr-foot{color:#6c7b8d;margin-top:2mm;font-size:6.5pt}.pm-grid{flex:1;grid-template-rows:auto;grid-template-columns:repeat(7,1fr);grid-auto-rows:1fr;gap:1mm;min-height:0;padding-top:3mm;display:grid}.pm-wd{color:#6c7b8d;padding-bottom:1mm;font-size:8pt;font-weight:700}.pm{border:.3mm solid #d5dce5;border-radius:1.5mm;flex-direction:column;gap:.8mm;min-height:0;padding:1.5mm 2mm;display:flex;overflow:hidden}.pm.empty{border:0}.pm-top{justify-content:space-between;align-items:center;font-size:10pt;display:flex}.pm-letter{background:#ffffff8c;border-radius:1mm;padding:.3mm 1.2mm;font-size:7pt;font-weight:800}.pm-shift{justify-content:space-between;margin-top:auto;font-size:9pt;font-weight:700;display:flex}.pm-shift span{font-weight:500}.pm-off{color:#6c7b8d;margin-top:auto;font-size:8pt}.pm.hol{box-shadow:inset 0 0 0 .6mm var(--hol)}.pm-hol{color:#0b1b2b;font-size:7.5pt;font-weight:800}.pm.k-day{background:var(--day);border-color:var(--day)}.pm.k-evening{background:var(--evening);border-color:var(--evening)}.pm.k-night{background:var(--night);border-color:var(--night);color:#fff}.pm.k-night .pm-hol{color:#fff}.pm.k-night .pm-letter{color:#0b1b2b;background:#fff}.pm.k-full{background:var(--full);border-color:var(--full)}.pr-sample{color:#9a3412;margin-top:1mm;font-size:9pt;font-weight:700}.app-loading{grid-template-columns:380px 1fr;gap:20px;display:grid}.skeleton-col{gap:20px;display:grid}.skeleton{border-radius:var(--r-xl);background:var(--surface);border:1px solid var(--border)}.skeleton.side{height:640px}.skeleton.short{height:230px}.skeleton.tall{height:1600px}.loading-msg{color:var(--ink-3);font-size:var(--fs-sm);margin:0;padding:20px}.noscript{border-radius:var(--r-lg);background:var(--accent-soft);padding:16px}@media (width<=960px){.app-loading{grid-template-columns:1fr}.skeleton.side{height:220px}.skeleton.short{height:260px}.skeleton.tall{height:1400px}}
