dialog.sheet,dialog.adm-dialog{position:static;inset:auto;margin:0 auto;border:none;color:inherit}.admin-container{max-width:var(--maxw)}.admin-container .cal-grid{grid-template-columns:repeat(7,minmax(0,1fr))}.cal-sole{max-width:100%;padding:0 3px;font-size:11px;font-weight:700;line-height:1.15;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.adm-topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:16px;border-bottom:1px solid var(--border);margin-bottom:16px}.adm-brand{min-width:0}.adm-brand-eyebrow{display:block;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}.adm-title{font-size:20px;font-weight:700;line-height:1.2;margin:4px 0 0;color:var(--text)}.adm-logout{flex:none;min-height:38px;padding:0 14px;font-size:14px}.adm-monthbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:stretch;gap:6px;padding:6px;margin:0 0 16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.adm-month-nav{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;padding:0 14px;font-size:14px;font-weight:600;color:var(--accent);background:transparent;border:none;border-radius:8px}.adm-month-nav:first-child{justify-self:start}.adm-month-nav:last-child{justify-self:end}.adm-month-nav:hover:not(:disabled){background:var(--accent-weak)}.adm-month-nav:disabled{color:var(--muted);opacity:.55;cursor:default}.adm-monthbar .adm-month-label{align-self:center;padding:0 12px;font-size:17px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:.01em;white-space:nowrap;color:var(--text)}.adm-readonly-banner{margin-top:0}.adm-cal-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px;box-shadow:0 1px 2px #15242b0a}.adm-cal-panel .cal-grid{width:100%}.adm-legend{margin:0 0 12px;padding-bottom:12px;border-bottom:1px solid var(--border)}.adm-legend-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:5px;vertical-align:middle}.adm-legend-dot.lvl-none{background:var(--red)}.adm-legend-dot.lvl-one{background:var(--green)}.adm-legend-dot.lvl-many{background:var(--yellow)}.adm-notes{margin-top:16px}.adm-notes-summary{font-size:15px;font-weight:700;color:var(--text);cursor:pointer;list-style:none;display:flex;align-items:center;gap:8px}.adm-notes-summary::-webkit-details-marker{display:none}.adm-notes-summary:before{content:"▸";font-size:12px;color:var(--accent);transition:transform .15s ease}.adm-notes[open]>.adm-notes-summary:before{transform:rotate(90deg)}.adm-notes-body{margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}.adm-note-row{margin:0;padding:10px 0;border-bottom:1px solid var(--border)}.adm-note-row:last-child{border-bottom:none}.adm-note-row label{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin:0 0 6px}.adm-note-date{font-weight:700;color:var(--accent)}.adm-note-saved,.adm-note-saving{font-size:12px;color:var(--muted);font-weight:400}.adm-note-failed{font-size:12px;color:var(--red);font-weight:600;background:none;border:none;padding:0;cursor:pointer;text-decoration:underline}.admin-confirm-hint,.adm-confirm-hint{margin:0 0 8px;font-size:13px;color:var(--yellow);font-weight:600;text-align:center}@media (min-width: 720px){.container.admin-container{max-width:min(1560px,94vw);padding-left:28px;padding-right:28px;padding-top:28px}.adm-title{font-size:23px}.adm-cal-panel{padding:20px}.admin-container .cal-grid{gap:7px}.admin-container .cal-half{min-height:68px}.admin-container .cal-badge{font-size:15px}.admin-container .cal-sole{font-size:13px;padding:0 6px}.admin-container .cal-date{font-size:12px;padding:4px 0}.admin-container .cal-weekday{font-size:12px;padding:0 0 8px}.admin-action-bar .admin-container{max-width:min(1560px,94vw)}.admin-confirm-hint,.adm-confirm-hint{text-align:left}.adm-confirm-btn{width:auto;min-width:220px;margin-left:auto}.admin-action-bar .admin-container{display:flex;align-items:center;justify-content:space-between;gap:16px}}.adm-keep-toggle{min-height:var(--tap);min-width:72px;padding:0 14px;font-size:15px;font-weight:700;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);color:var(--accent)}.adm-keep-toggle.kept{background:var(--green);border-color:var(--green);color:#fff}.adm-cand-meta{min-width:0}.adm-cand-name{font-weight:600}.adm-cand-email{font-size:12px;color:var(--muted);word-break:break-all}.adm-cand-note{font-size:13px;color:var(--text);margin-top:2px;white-space:pre-wrap}.adm-shift-label{font-size:13px;color:var(--muted);margin:0 0 10px}.adm-shift-error{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin:12px 0}.adm-dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;padding:20px;z-index:20}.adm-dialog{width:100%;max-width:360px;background:var(--surface);border-radius:16px;padding:20px 18px}.adm-dialog h2{font-size:17px;margin:0 0 10px}.adm-dialog-actions{display:flex;gap:10px;margin-top:18px}.adm-dialog-actions .btn{flex:1}.adm-result-section h3{font-size:14px;margin:16px 0 4px}.adm-result-email{word-break:break-all}.adm-result-error{font-size:12px;color:var(--red);margin-top:2px}.adm-result-ok{color:var(--green);font-weight:700;margin-right:6px}:root{--action-bar-h: 132px;--bulk-panel-h: 158px}.nurse-page{padding-bottom:calc(var(--action-bar-h) + env(safe-area-inset-bottom))}.nurse-page.has-bulk{padding-bottom:calc(var(--action-bar-h) + var(--bulk-panel-h) + env(safe-area-inset-bottom))}.nurse-month{font-variant-numeric:tabular-nums;margin:0 0 2px}.nurse-lead{font-size:13px;color:var(--muted);margin:6px 0 12px;line-height:1.55}.nurse-summary{display:flex;gap:8px;margin:12px 0 14px}.nurse-stat{flex:1;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px;display:flex;flex-direction:column;gap:2px;position:relative;overflow:hidden}.nurse-stat:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--rail, var(--border))}.nurse-stat-num{font-size:22px;font-weight:700;line-height:1.1;font-variant-numeric:tabular-nums;color:var(--text)}.nurse-stat-label{font-size:11px;color:var(--muted);letter-spacing:.02em}.nurse-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.nurse-wd{text-align:center;font-size:11px;font-weight:600;color:var(--muted);padding:2px 0 4px;letter-spacing:.04em}.nurse-wd.sun{color:var(--red)}.nurse-wd.sat{color:var(--accent)}.nurse-blank{aspect-ratio:1 / 1.28}.nurse-cell{-moz-appearance:none;appearance:none;-webkit-appearance:none;display:flex;flex-direction:column;align-items:stretch;gap:4px;aspect-ratio:1 / 1.28;min-height:var(--tap);padding:5px 4px 6px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);cursor:pointer;text-align:left;transition:border-color .14s ease,box-shadow .14s ease,transform .08s ease}.nurse-cell:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--border))}.nurse-cell:active{transform:scale(.97)}.nurse-cell:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-weak)}.nurse-cell.has-info{background:color-mix(in srgb,var(--accent-weak) 26%,var(--surface));border-color:color-mix(in srgb,var(--accent) 28%,var(--border))}.nurse-cell.is-selected{position:relative;border-color:var(--accent);background:color-mix(in srgb,var(--accent-weak) 55%,var(--surface));box-shadow:0 0 0 2px var(--accent) inset}.nurse-cell.is-selected.has-info{background:color-mix(in srgb,var(--accent-weak) 60%,var(--surface))}.nurse-cell-check{position:absolute;top:2px;right:3px;width:15px;height:15px;border-radius:999px;background:var(--accent);color:#fff;font-size:10px;font-weight:700;line-height:15px;text-align:center}.nurse-cell.is-past{opacity:.55}.nurse-cell:disabled{cursor:default}.nurse-cell:disabled:active{transform:none}.nurse-dnum{font-size:12px;font-weight:700;line-height:1;color:var(--muted);font-variant-numeric:tabular-nums;padding:1px 2px 0}.nurse-cell.has-info .nurse-dnum{color:var(--text)}.nurse-dnum.sun{color:var(--red)}.nurse-dnum.sat{color:var(--accent)}.nurse-chips{display:flex;flex-direction:column;gap:3px;margin-top:auto}.nurse-chip{display:flex;align-items:center;gap:3px;height:17px;padding:0 4px;border-radius:5px;font-size:10px;font-weight:600;line-height:1;border:1px solid transparent;overflow:hidden;white-space:nowrap}.nurse-chip-k{font-size:9px;font-weight:700;opacity:.85;flex:none}.nurse-chip-g{font-size:10px;flex:none;line-height:1}.nurse-chip.st-available{background:var(--green-weak);border-color:color-mix(in srgb,var(--green) 28%,transparent);color:var(--green)}.nurse-chip.st-unset{background:color-mix(in srgb,var(--bg) 55%,var(--surface));border-color:var(--border);color:var(--muted)}.nurse-monthbar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:4px 0 10px}.nurse-monthnav{display:inline-flex;align-items:center;gap:4px;flex:none;min-height:var(--tap);padding:8px 12px;font-size:13px}.nurse-monthnav:disabled{opacity:.4}.nurse-month-label{font-size:17px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--text);text-align:center}.nurse-bulk{position:fixed;left:0;right:0;bottom:calc(var(--action-bar-h) + env(safe-area-inset-bottom));z-index:5;padding:10px 16px;background:color-mix(in srgb,var(--surface) 96%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid var(--border);box-shadow:0 -6px 18px -12px #00000059;animation:nurse-bulk-up .2s cubic-bezier(.22,.61,.36,1)}@keyframes nurse-bulk-up{0%{transform:translateY(10px);opacity:.4}to{transform:translateY(0);opacity:1}}.nurse-bulk .nurse-bulk-inner{min-height:0;padding:0}.nurse-bulk-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.nurse-bulk-count{font-size:13px;font-weight:700;color:var(--text);font-variant-numeric:tabular-nums}.nurse-bulk-clear{flex:none;min-height:34px;padding:4px 12px;font-size:13px}.nurse-bulk-grid{display:flex;flex-direction:column;gap:7px}.nurse-bulk-row{display:grid;grid-template-columns:44px repeat(2,1fr);align-items:stretch;gap:7px}.nurse-bulk-rowname{display:flex;align-items:center;font-size:13px;font-weight:700;color:var(--text)}.nurse-bulk-cell{-moz-appearance:none;appearance:none;-webkit-appearance:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:var(--tap);padding:6px 4px;border:1.5px solid var(--border);border-radius:10px;background:var(--surface);color:var(--muted);cursor:pointer;transition:border-color .12s ease,background .12s ease,color .12s ease,transform .08s ease}.nurse-bulk-cell:active{transform:scale(.97)}.nurse-bulk-cell:focus-visible{outline:3px solid var(--accent-weak);outline-offset:2px}.nurse-bulk-g{font-size:15px;line-height:1}.nurse-bulk-t{font-size:12px;font-weight:700;line-height:1}.nurse-bulk-cell.st-available{border-color:color-mix(in srgb,var(--green) 40%,var(--border));color:var(--green)}.nurse-bulk-cell.st-available:hover{background:var(--green-weak);border-color:var(--green)}.nurse-bulk-cell.st-unset{color:var(--text)}.nurse-bulk-cell.st-unset:hover{background:color-mix(in srgb,var(--bg) 60%,var(--surface));border-color:var(--muted)}.nurse-submit-meta{font-size:12px;color:var(--muted);text-align:center;margin:0 0 8px;font-variant-numeric:tabular-nums}.nurse-empty-hint{font-size:12px;color:var(--muted);text-align:center;margin:0 0 6px;line-height:1.5}.nurse-import{display:flex;flex-direction:column;gap:10px}.nurse-import>.btn{width:100%}.nurse-import-actions{display:flex;gap:8px}.nurse-import-actions>.btn{flex:1}.nurse-import-done{margin:0;color:var(--green)}.nurse-import-empty{margin:0}.nurse-warnings{margin:0;padding-left:18px;font-size:13px;color:var(--yellow)}.nurse-note-count{text-align:right;margin:4px 0 0;font-size:12px}.nurse-note-count.is-near-limit{color:var(--yellow);font-weight:600}.nurse-note-count.is-at-limit{color:var(--red)}.nurse-note-limit{margin-left:8px;font-weight:600}.nurse-success{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;padding:28px 16px}.nurse-success-mark{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:999px;background:var(--green-weak);color:var(--green);font-size:24px;line-height:1}.nurse-success-msg{font-size:16px;font-weight:600;margin:0}@media (prefers-reduced-motion: reduce){.nurse-cell,.nurse-bulk-cell{transition:none}.nurse-bulk{animation:none}}:root{--bg: #f4f6f8;--surface: #ffffff;--text: #15242b;--muted: #6b7c85;--accent: #0e7490;--accent-weak: #cff1f7;--border: #dce4e8;--red: #e5484d;--red-weak: #fde8e8;--green: #2f9e44;--green-weak: #e6f6ea;--yellow: #c98a00;--yellow-weak: #fbf0d3;--radius: 12px;--tap: 44px;--maxw: 480px;font-synthesis:none;-webkit-text-size-adjust:100%}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Hiragino Sans,Yu Gothic UI,Meiryo,system-ui,sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased}.container{max-width:var(--maxw);margin:0 auto;padding:16px 16px 96px;min-height:100vh}.app-title{font-size:20px;font-weight:700;margin:8px 0 4px}.muted{color:var(--muted);font-size:14px}label{display:block;font-size:14px;font-weight:600;margin:12px 0 6px}input[type=text],input[type=email],input[type=password],textarea{width:100%;padding:12px;font-size:16px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text)}textarea{resize:vertical;min-height:88px}button{font-family:inherit;cursor:pointer}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:var(--tap);padding:0 18px;font-size:16px;font-weight:600;color:#fff;background:var(--accent);border:none;border-radius:var(--radius)}.btn:disabled{opacity:.5}.btn-secondary{color:var(--accent);background:var(--accent-weak)}.btn-ghost{color:var(--accent);background:transparent;border:1px solid var(--border)}.error{color:var(--red);font-size:14px;margin:8px 0}.banner{background:var(--yellow-weak);border:1px solid var(--yellow);color:#7a5400;border-radius:var(--radius);padding:12px;font-size:14px;margin:12px 0}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px;margin:10px 0}.action-bar{position:fixed;left:0;right:0;bottom:0;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--surface) 92%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid var(--border)}.action-bar .container{padding:0;min-height:0}.action-bar .btn{width:100%}.cal-legend{display:flex;flex-wrap:wrap;gap:10px;font-size:12px;color:var(--muted);margin:8px 0}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.cal-weekday{text-align:center;font-size:11px;color:var(--muted);padding:4px 0}.cal-weekday.sun{color:var(--red)}.cal-weekday.sat{color:var(--accent)}.cal-blank{aspect-ratio:1 / 1.4}.cal-cell{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--surface)}.cal-date{text-align:center;font-size:11px;font-weight:600;padding:2px 0;color:var(--muted)}.cal-halves{display:flex;flex-direction:column;flex:1}.cal-half{position:relative;flex:1;min-height:var(--tap);border:none;background:var(--surface);font-size:11px;color:var(--muted);display:flex;align-items:center;justify-content:center;padding:2px}.cal-half.day{border-bottom:1px dashed var(--border)}.cal-half.selected{background:var(--accent);color:#fff;font-weight:700}.cal-half.disabled{background:#f1f3f4;color:#c2cacd}.cal-half-label{opacity:.7;font-size:10px}.cal-badge{font-weight:700;font-size:13px}.cal-half.lvl-none{background:var(--red-weak);color:var(--red)}.cal-half.lvl-one{background:var(--green-weak);color:var(--green)}.cal-half.lvl-many{background:var(--yellow-weak);color:var(--yellow)}.cal-adopted{position:absolute;top:1px;right:3px;font-size:9px;color:var(--green)}.sheet-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:flex-end;z-index:10}.sheet{width:100%;max-width:var(--maxw);margin:0 auto;background:var(--surface);border-radius:16px 16px 0 0;padding:16px 16px calc(16px + env(safe-area-inset-bottom));max-height:80vh;overflow-y:auto}.sheet h2{font-size:16px;margin:0 0 10px}.row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 0;border-bottom:1px solid var(--border)}.row:last-child{border-bottom:none}
