.admin-button{text-decoration:none;color:var(--ink);white-space:nowrap}
.save-status.pending .status-dot{background:#b4871d;animation:shared-pulse 1.3s ease-in-out infinite}
.sync-notice,.legacy-notice{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 16px;border-radius:12px;margin-bottom:16px;font-size:12px;line-height:1.5}
.sync-notice{background:#fff4e3;border:1px solid #ecd3a5;color:#79581d}
.legacy-notice{background:#eaf4f1;border:1px solid #c5dfd6;color:#255a4d}
.legacy-notice strong{font-size:13px}.legacy-notice p{margin-top:3px}.legacy-actions{display:flex;gap:8px;flex-shrink:0}
.read-only .person-card[data-person],.read-only .assignment-select,.read-only .empty-slot{cursor:default}
.read-only .remove-button{visibility:hidden}
.page-actions{flex-wrap:wrap;justify-content:flex-end}
.save-status{min-height:20px}
@keyframes shared-pulse{50%{opacity:.35}}
@media(prefers-reduced-motion:reduce){.save-status.pending .status-dot{animation:none}}
@media(max-width:1100px){.page-heading{align-items:flex-start}.page-actions{max-width:430px}.admin-button{order:3}.legacy-notice{align-items:flex-start;flex-direction:column}}
@media(max-width:700px){.page-actions{max-width:none;justify-content:flex-start}.admin-button{order:0}.sync-notice{align-items:flex-start;flex-direction:column}.legacy-actions{flex-wrap:wrap}.save-status{font-size:10px}}
@media print{.sync-notice,.legacy-notice,.admin-button{display:none!important}}

.access-mode{display:inline-flex;align-items:center;padding:7px 10px;background:#edf3f5;color:#3c5b69;border:1px solid #dce6eb;border-radius:8px;font-size:10px;font-weight:650;white-space:nowrap}
.access-mode.is-admin{background:#e5f3ed;border-color:#b9dacb;color:#21674f}
.admin-button.is-admin{border-color:#b9dacb;color:#21674f}
.guest-mode .assigned-slot{cursor:default}
.guest-mode .assignment-select{cursor:default}
.guest-mode .remove-button{display:none}
.guest-mode .assigned-slot:after{content:'';width:7px;height:7px;margin:0 10px 0 4px;border:1.5px solid currentColor;border-radius:2px;opacity:.35;flex-shrink:0}
.admin-login-form{display:grid;gap:8px;margin-top:18px}
.admin-login-form label{font-size:12px;font-weight:650;color:var(--ink)}
.admin-login-form input{width:100%;border:1px solid #d7e2e7;border-radius:8px;padding:11px 12px;background:#fff;color:var(--ink);font:inherit;font-size:14px;margin-bottom:7px}
.admin-login-form input:focus{outline:2px solid #3b8477;outline-offset:2px}
.admin-login-error{color:#92352d;background:#fff0ee;border:1px solid #efd2cd;border-radius:8px;padding:10px;font-size:12px;line-height:1.5}
.admin-login-note{font-size:11px;line-height:1.5;color:#657983;margin-top:15px}
@media(min-width:1101px){.page-actions{max-width:610px}}
@media(max-width:700px){.access-mode{display:none}.admin-login-form .dialog-actions{flex-wrap:wrap}}
@media print{.access-mode,.admin-button{display:none!important}.guest-mode .assigned-slot:after{display:none}}
