.public-tool-detail:has(.public-attendance .public-step-workspace){max-width:1320px}@media (min-width:1191px){.public-attendance .public-step-workspace{grid-template-columns:minmax(0,13rem) minmax(0,.9fr) minmax(0,1.3fr);gap:24px}}.attendance-row-actions{gap:4px;display:flex}.attendance-day-picker{flex-wrap:wrap;align-items:flex-end;gap:8px 10px;margin:0 0 12px;display:flex}.attendance-day-picker>.field,.attendance-day-picker>:nth-child(2){flex:10rem;min-width:0}.attendance-helpers{flex-wrap:wrap;gap:8px;margin:0 0 14px;display:flex}.attendance-record{margin:0;padding:0;list-style:none}.attendance-record>li+li{border-top:1px solid var(--color-border);margin-top:12px;padding-top:12px}.attendance-status{border:0;min-width:0;margin:0;padding:0}.attendance-status legend{color:var(--ink);margin-bottom:6px;padding:0;font-size:14px;font-weight:600}.attendance-status legend small{color:var(--color-muted);font-size:13px;font-weight:400}.attendance-status-options{flex-wrap:wrap;gap:4px;display:flex}.attendance-status-options label{border:1px solid var(--color-control-border);background:var(--color-panel);min-height:34px;color:var(--ink);cursor:pointer;border-radius:7px;align-items:center;gap:6px;padding:0 10px;font-size:13px;font-weight:500;display:inline-flex;position:relative}.attendance-status-options label:hover{background:var(--color-surface)}.attendance-status-options input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.attendance-status-code{text-align:center;min-width:1em;font-weight:700;display:inline-block}.attendance-status-options label.is-picked{background:var(--forest);border-color:var(--color-primary);color:var(--on-forest)}.attendance-status-options label:has(input:focus-visible){z-index:1;outline:2px solid var(--color-primary);outline-offset:2px}.attendance-status .calculator-error{margin-top:6px;font-size:12px;display:block}.attendance-paper{border:1px solid var(--op-line);background:var(--color-panel);color:var(--ink);overflow-wrap:anywhere;border-radius:12px;min-width:0;margin:20px 0 28px;padding:24px;box-shadow:0 4px 18px #26392314}.public-step-preview .attendance-paper{margin:0 0 12px;padding:18px}.attendance-paper h3{margin:0 0 2px;font-size:21px}.attendance-paper h3 span{color:var(--color-muted);font-weight:400}.attendance-paper h4{margin:18px 0 6px;font-size:15px}.attendance-month{color:var(--color-muted);margin:0 0 10px;font-size:14px}.attendance-legend{flex-wrap:wrap;gap:4px 16px;margin:0 0 10px;padding:0;font-size:12px;list-style:none;display:flex}.attendance-legend li{align-items:center;gap:5px;display:inline-flex}.attendance-mark{text-align:center;min-width:1.1em;font-weight:700;display:inline-block}.attendance-weekend-key{border:1px solid var(--color-border);background:var(--attendance-weekend);width:14px;height:14px;display:inline-block}.attendance-paper{--attendance-weekend:color-mix(in srgb, var(--color-primary) 8%, var(--color-panel))}.attendance-scroll{max-width:100%;display:block;overflow-x:auto}.attendance-scroll:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.attendance-grid{border-collapse:collapse;font-variant-numeric:tabular-nums;font-size:12px}.attendance-grid th,.attendance-grid td{border:1px solid var(--color-border);text-align:center;min-width:24px;padding:3px 2px;line-height:1.2}.attendance-grid thead th{font-size:11px;font-weight:700}.attendance-grid thead th small{color:var(--color-muted);font-size:9px;font-weight:400;display:block}.attendance-grid .attendance-name-col{text-align:left;white-space:nowrap;text-overflow:ellipsis;min-width:7.5rem;max-width:10rem;padding:3px 6px;overflow:hidden}.attendance-grid .is-weekend{background:var(--attendance-weekend)}.attendance-grid td{font-weight:600}.attendance-code-A{color:var(--lightningcss-light,#922b2b)var(--lightningcss-dark,#f4aaa1)}.attendance-code-L{color:var(--amber)}.attendance-code-none,.attendance-code-O{color:var(--color-muted);font-weight:400!important}@media screen{.attendance-grid td.is-current{box-shadow:inset 0 0 0 2px var(--color-primary)}}.attendance-summary{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:12px}.attendance-summary th,.attendance-summary td{border-bottom:1px solid var(--color-border);text-align:right;padding:5px 6px}.attendance-summary thead th{color:var(--color-muted);vertical-align:bottom;border-bottom-color:var(--color-control-border);font-size:11px;line-height:1.2}.attendance-summary th:first-child{text-align:left}.attendance-summary tbody th small{color:var(--color-muted);font-weight:400;display:block}.attendance-summary tfoot th,.attendance-summary tfoot td{border-bottom:0;border-top:2px solid var(--color-control-border);font-weight:700}.attendance-notes{margin:0;padding-left:20px;font-size:12px}.attendance-notes li{margin:3px 0}.attendance-footnote{color:var(--color-muted);margin:10px 0 0;font-size:11px}.attendance-footnote a{color:var(--color-primary)}@media (max-width:1190px){.public-attendance .public-step-workspace{grid-template-columns:minmax(0,14rem) minmax(0,1fr)}}@media (max-width:760px){.public-attendance .public-step-workspace{grid-template-columns:minmax(0,1fr)}}@media (max-width:560px){.attendance-paper,.public-step-preview .attendance-paper{padding:14px}}@media print{@page attendance{size:landscape;margin:8mm}html body:has(.public-attendance.public-operations){page:attendance}.public-tool-detail:has(.public-attendance){max-width:none}.attendance-paper{box-shadow:none;color:#000;background:#fff;border:0;border-radius:0;margin:0;padding:0}.attendance-paper h3{font-size:16px}.attendance-paper h4{margin:10px 0 4px;font-size:12px}.attendance-month,.attendance-legend{margin-bottom:6px;font-size:10px}.attendance-scroll{overflow:visible}.attendance-grid{table-layout:fixed;width:100%;font-size:8.5px}.attendance-grid th,.attendance-grid td{border-color:#999;min-width:0;padding:1.5px 0}.attendance-grid thead th{font-size:8px}.attendance-grid thead th small{font-size:6.5px}.attendance-grid .attendance-name-col{width:28mm;min-width:0;max-width:none;padding:1.5px 3px}.attendance-grid tr,.attendance-summary tr{break-inside:avoid}.attendance-summary{font-size:9px}.attendance-summary th,.attendance-summary td{border-color:#999;padding:2px 4px}.attendance-notes{font-size:9px}.attendance-footnote{font-size:8.5px}.attendance-paper *{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
