/* Polish layer (owner: Darryl). Loaded last. Empty states, offline bar, motion, safe areas. */
.site-header, .site-footer, .demo-banner, .offline-banner { padding-left: env(safe-area-inset-left); padding-right: env(safe-area-inset-right); }
.site-footer { padding-bottom: env(safe-area-inset-bottom); }
.toast-region { bottom: calc(var(--space-4) + env(safe-area-inset-bottom)); }
.offline-banner { background: var(--surface-2); color: var(--text); border-bottom: 1px solid var(--border); font-size: .875rem; padding-block: var(--space-2); }
.empty-state { border: 1px dashed var(--border); border-radius: var(--radius-sm); padding: var(--space-4); background: var(--surface-2); color: var(--text); }
.empty-state p:last-child { margin-bottom: 0; } .empty-state > * + .bk-secondary, .empty-state > * + .btn { margin-top: var(--space-2); }
.bk-day, .bk-slot, .bk-primary, .bk-secondary, .btn, .chip { transition: background-color .15s ease, color .15s ease, border-color .15s ease, transform .1s ease; }
.bk-day:active:not(:disabled), .bk-slot:active, .btn:active:not(:disabled) { transform: scale(.97); }
.bk-primary:disabled { opacity: .6; cursor: progress; }
.view-enter { animation: pfc-fade .2s ease-out; }
.toast { animation: pfc-rise .2s ease-out; }
.bk-done-title::before { content: "✓"; display: inline-grid; place-items: center; width: 1.6em; height: 1.6em; margin-right: .4em; border-radius: 50%; background: var(--success); color: var(--surface); font-size: .9em; animation: pfc-pop .3s ease-out; }
@keyframes pfc-fade { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }
@keyframes pfc-rise { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@keyframes pfc-pop { 0% { transform: scale(.4); } 70% { transform: scale(1.1); } 100% { transform: scale(1); } }
@media (prefers-reduced-motion: reduce) { .view-enter, .toast, .bk-done-title::before { animation: none; } .bk-day:active, .bk-slot:active, .btn:active { transform: none; } }
