.calendar-page{padding:34px 0 66px}.calendar-controls{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);background:#fff;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding:14px 16px;display:flex}.calendar-controls__nav{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.control-btn{width:46px;height:46px;color:var(--ink);border:1px solid var(--line-strong);cursor:pointer;background:#fff;border-radius:10px;place-items:center;padding:0;display:inline-grid}.control-btn:hover{background:#f1f5f9}.control-btn svg{width:20px;height:20px}.control-field{align-items:center;min-width:0;display:flex}.control-field select,.control-field input{height:46px;color:var(--ink);text-transform:none;letter-spacing:0;border:1px solid var(--line-strong);background:#fff;border-radius:9px;padding:0 12px;font-size:15px;font-weight:600}.control-field select{min-width:150px}.control-field input{width:96px}.print-hint{color:var(--muted);margin:10px 0 0;font-size:12.5px}.mobile-hint{max-width:520px;color:var(--muted);text-align:center;margin:14px auto 0;font-size:12.5px;display:none}.sheet-frame{justify-content:center;width:100%;margin-top:26px;padding-inline:12px;display:flex;overflow:auto hidden}.sheet{transform-origin:top;background:#fff;flex-direction:column;flex:none;width:210mm;height:297mm;margin:0 auto;padding:10mm;display:flex;position:relative;overflow:hidden;box-shadow:0 18px 50px #0f172a2e}.sheet-header{border:1.4px solid var(--ink);border-radius:2.4mm;flex:none;padding:4.4mm 5mm 5mm}.title-row{justify-content:space-between;align-items:flex-start;gap:6mm;display:flex}.sheet h1{letter-spacing:.2px;margin:0;font-size:15.5pt;font-weight:700;line-height:1.08}.sheet .subtitle{max-width:128mm;margin:1.8mm 0 0;font-size:7.4pt;font-weight:600;line-height:1.3}.month-badge{letter-spacing:.2px;color:#fff;text-align:center;white-space:nowrap;background:var(--navy);border-radius:1.2mm;flex:none;margin-top:.6mm;padding:1.2mm 4.2mm 1.4mm;font-size:15pt;font-weight:700;line-height:1.15}.identity{gap:8mm;margin-top:5.2mm;display:flex}.identity__row{flex:1;align-items:flex-end;gap:2mm;min-width:0;display:flex}.identity__row:first-child{flex:1.08}.identity__row span{letter-spacing:.2px;white-space:nowrap;flex:none;padding-bottom:.5mm;font-size:8.2pt;font-weight:700}.identity__line{border-bottom:1px solid var(--ink);flex:1;height:3.4mm}.legend{background:#eff6ff;border:1px solid #93c5fd;border-radius:.9mm;flex:none;grid-template-columns:repeat(3,1fr);margin-top:4mm;display:grid;overflow:hidden}.legend__item{border-right:1px solid #bfdbfe;align-items:center;gap:2mm;min-width:0;padding:2.6mm 2.2mm;display:flex}.legend__item:last-child{border-right:0}.legend__key{color:#fff;text-align:center;background:var(--navy);border-radius:.4mm;flex:none;min-width:20mm;padding:1.3mm 1.4mm;font-size:6.5pt;font-weight:700;line-height:1.25}.legend__desc{font-size:7.1pt;font-weight:600;line-height:1.28}.calendar{grid-template-columns:repeat(7,1fr);grid-template-rows:8.5mm repeat(var(--rows,5), minmax(0, 1fr));background:var(--ink);border:1.4px solid var(--ink);flex:1;gap:1px;min-height:0;margin-top:2.6mm;display:grid}.weekday{letter-spacing:1.5px;color:#fff;background:var(--ink);justify-content:center;align-items:center;font-size:7.6pt;font-weight:700;display:flex}.cell{background:#fff;min-width:0;min-height:0;position:relative;overflow:hidden}.calendar>div>.cell{flex:auto;min-width:0}.day{flex-direction:column;justify-content:flex-end;padding:0 1.7mm 1.7mm;display:flex}.day__num{color:#fff;background:var(--ink);place-items:center;width:7mm;height:7mm;font-size:9pt;font-weight:700;line-height:1;display:grid;position:absolute;top:0;left:0}.day__fields{position:absolute;inset:0}.field{align-items:flex-end;gap:1mm;min-width:0;display:flex;position:absolute;left:1.7mm;right:1.7mm}.field--glucose{top:33%}.field--dose{top:55%}.field__line{border-bottom:1px solid var(--ink);flex:1;height:3.1mm}.field__unit{white-space:nowrap;flex:none;font-size:6.2pt;line-height:1}.pinch{white-space:nowrap;align-items:center;gap:1mm;font-size:6.2pt;font-weight:700;line-height:1;display:flex;position:absolute;top:80%;left:1.7mm;right:1.7mm}.pinch__box{border:1px solid var(--ink);background:#fff;flex:none;width:3mm;height:3mm}.note{background:#f1f5f9;flex-direction:column;justify-content:flex-start;padding:3mm 2.6mm;display:flex;overflow:hidden}.note__title{letter-spacing:.2px;margin:0 0 1.8mm;font-size:7.3pt;font-weight:700;line-height:1.25}.note__list{margin:0;padding-left:3.6mm;font-size:6.6pt;font-weight:600;line-height:1.45}.note__list li+li{margin-top:.4mm}.note--narrow{padding:2.4mm 2.2mm}.note--narrow .note__title{margin-bottom:1.2mm;font-size:6.6pt}.note--narrow .note__list{padding-left:3.2mm;font-size:6.1pt;line-height:1.35}.note-compact{background:#f1f5f9;flex-direction:column;gap:1.6mm;padding:2.4mm 2.2mm;display:flex;overflow:hidden}.note-compact__month{letter-spacing:.2px;text-transform:uppercase;font-size:6.4pt;font-weight:700;line-height:1.2}.note-compact__list{flex-direction:column;gap:1.1mm;margin:0;padding:0;font-size:6.1pt;font-weight:600;line-height:1.2;list-style:none;display:flex}.sheet-footer{color:#64748b;flex:none;justify-content:space-between;align-items:center;gap:10mm;padding-top:5.5mm;font-size:7pt;display:flex}@media (width<=900px){.calendar-controls{flex-direction:column;align-items:stretch}.calendar-controls__nav{justify-content:space-between}.control-field{flex:1}.control-field select,.control-field input{width:100%}}@media (width<=700px){.calendar-page{padding-top:24px}.calendar-controls{padding:12px}.calendar-controls__nav{grid-template-columns:46px minmax(0,1.15fr) minmax(0,.85fr) 46px;gap:8px;display:grid}.control-field{min-width:0;display:flex}.control-field select,.control-field input{min-width:0;height:44px;padding:0 8px;font-size:14px}.control-field select{width:100%}.control-btn{width:46px;height:46px}.calendar-controls .btn{width:100%}.mobile-hint{display:block}.sheet-frame{margin-top:18px;padding-inline:8px}}@page{size:A4 portrait;margin:0}@media print{.calendar-page{padding:0}.page-header,.calendar-controls,.print-hint,.mobile-hint,.site-header,.site-footer{display:none!important}.sheet-frame{margin:0;padding:0;display:block;overflow:visible}.sheet{width:210mm;height:297mm;box-shadow:none;break-after:auto;page-break-after:auto;margin:0;zoom:1!important}}
