:root{--navy:#14213d;--navy2:#1d2f56;--gold:#b8924a;--ink:#1c2333;--line:#e3e6ee;--bg:#f6f7fa}
body{font-family:'Public Sans',system-ui,sans-serif;color:var(--ink);background:#fff}
h1,h2,h3,.brand{font-family:'Source Serif 4',Georgia,serif}
.btn{padding:.5rem .9rem;border-radius:4px;font-weight:600;font-size:.875rem;cursor:pointer;border:1px solid var(--navy)}
.btn-primary{background:var(--navy);color:#fff}.btn-primary:hover{background:var(--navy2)}
.btn-ghost{background:#fff;color:var(--navy)}.btn-ghost:hover{background:var(--bg)}
.btn-danger{background:#fff;color:#a32020;border-color:#d9b3b3}
.btn:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.inp{width:100%;border:1px solid #c9ceda;border-radius:4px;padding:.5rem .65rem;font-size:.9rem;background:#fff}
.nav a{display:block;padding:.6rem 1rem;color:#cfd6e6;border-left:3px solid transparent;cursor:pointer}
.nav a.on,.nav a:hover{color:#fff;border-left-color:var(--gold);background:var(--navy2)}
table{width:100%;border-collapse:collapse;font-size:.875rem}
th{text-align:left;padding:.6rem .75rem;border-bottom:2px solid var(--navy);color:var(--navy);white-space:nowrap}
td{padding:.6rem .75rem;border-bottom:1px solid var(--line)}
.badge{padding:.1rem .5rem;border-radius:999px;font-size:.75rem;background:#eef1f8;color:var(--navy)}
.badge.confirmed,.badge.completed{background:#e4f2e6;color:#1f6b2e}.badge.cancelled{background:#f7e3e3;color:#a32020}.badge.pending,.badge.in_progress{background:#faf0dc;color:#8a6420}
dialog{border:0;border-radius:6px;padding:0;width:min(520px,94vw)}dialog::backdrop{background:rgba(20,33,61,.5)}
.cal-day{min-height:84px;border:1px solid var(--line);padding:.3rem;font-size:.75rem}
.cal-ev{background:var(--navy);color:#fff;border-left:3px solid var(--gold);padding:1px 4px;margin-top:2px;border-radius:2px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
