*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:var(--body);margin:0;line-height:1.6}a{color:var(--primary)}.page{gap:var(--gap);flex-direction:column;max-width:560px;margin:0 auto;padding:20px 16px 48px;display:flex}.page.wide{max-width:1100px}h1{margin:4px 0;font-size:26px;line-height:1.3}h2{margin:8px 0 0;font-size:20px}p{margin:0}.soft{color:var(--text-soft);font-size:var(--small)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:12px;padding:18px;display:flex}.card.note{background:var(--note-soft);border-color:var(--note)}.btn{min-height:var(--btn-h);border-radius:var(--radius);border:2px solid var(--primary);background:var(--surface);color:var(--primary);font:inherit;cursor:pointer;text-align:center;justify-content:center;align-items:center;padding:10px 22px;font-weight:700;text-decoration:none;display:inline-flex}.btn.primary{background:var(--primary);color:var(--primary-text)}.btn.block{width:100%}.btn:disabled{opacity:.55;cursor:default}.btn.small{min-height:48px;font-size:var(--small);padding:8px 16px}.btn:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid var(--primary);outline-offset:2px}label{margin-bottom:6px;font-weight:700;display:block}input,textarea,select{width:100%;min-height:var(--btn-h);border:2px solid var(--line);border-radius:var(--radius);font:inherit;background:var(--surface);color:var(--text);padding:10px 14px}textarea{resize:vertical;min-height:110px}.field{flex-direction:column;display:flex}.row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.row.between{justify-content:space-between}.stack{flex-direction:column;gap:12px;display:flex}.dots{gap:10px;display:flex}.dot{background:var(--empty);width:44px;height:44px;color:var(--text-soft);border-radius:50%;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.dot.done{background:var(--done);color:#fff}.days{gap:6px;display:flex}.day{text-align:center;background:var(--empty);font-size:var(--small);color:var(--text-soft);border-radius:10px;flex:1;padding:6px 0}.day.done{background:var(--done-soft);color:var(--done);font-weight:700}.day.today{outline:2px solid var(--primary)}.msg{border-radius:var(--radius);background:var(--primary-soft);padding:12px 14px}.msg.ok{background:var(--done-soft)}.badge{background:var(--primary-soft);color:var(--primary);font-size:var(--small);border-radius:999px;padding:2px 10px;font-weight:700;display:inline-block}.badge.done{background:var(--done-soft);color:var(--done)}.badge.note{background:var(--note-soft);color:var(--note)}.photo{object-fit:contain;border-radius:var(--radius);background:var(--empty);width:100%;max-height:360px}.thumb{object-fit:cover;background:var(--empty);border-radius:10px;width:96px;height:96px}.topbar{background:var(--surface);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:16px;padding:10px 16px;display:flex}.topbar a{padding:8px 4px;font-weight:700;text-decoration:none}table{border-collapse:collapse;background:var(--surface);width:100%}th,td{border:1px solid var(--line);text-align:left;font-size:var(--small);vertical-align:top;padding:10px 12px}th{background:var(--primary-soft)}.tl{flex-direction:column;gap:10px;display:flex}.tl-item{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);align-items:flex-start;gap:12px;padding:12px 14px;display:flex}.tl-item.staff{background:var(--note-soft)}.choice{flex-wrap:wrap;gap:10px;display:flex}.choice label{border:2px solid var(--line);border-radius:var(--radius);min-height:var(--btn-h);cursor:pointer;align-items:center;gap:8px;margin:0;padding:10px 16px;font-weight:400;display:inline-flex}.choice input{width:22px;min-height:22px}.sr{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.a4{color:#111;border:1px solid var(--line);background:#fff;max-width:794px;margin:0 auto;padding:28px 32px}@media print{body{background:#fff}.noprint,.topbar{display:none!important}.a4{border:0;max-width:none;padding:0}@page{size:A4;margin:12mm}}@media (min-width:900px){.page.wide .two{gap:var(--gap);grid-template-columns:1fr 1fr;display:grid}}
