:root{--ink:#11110f;--paper:#f3f0e8;--gold:#c99c52;--line:#d7d1c5}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,sans-serif}.wrap{max-width:520px;margin:auto;min-height:100vh;padding-bottom:30px}.top{background:var(--ink);color:#fff;padding:28px 20px}.top small{color:var(--gold);font-weight:700;letter-spacing:.15em}.top h1{font-family:Georgia;font-size:36px;margin:16px 0 8px}.top p{color:#aaa;font-size:13px}.content{padding:22px}.card{background:#fff;border:1px solid var(--line);padding:17px;margin-bottom:12px}h2{font-family:Georgia;font-weight:400}.services,.dates,.times{display:grid;gap:8px}.services{grid-template-columns:1fr 1fr}.dates{grid-template-columns:repeat(4,1fr)}.times{grid-template-columns:repeat(4,1fr)}button,input{font:inherit}.choice{border:1px solid var(--line);background:#fff;padding:13px;text-align:left}.choice.selected{background:var(--ink);color:#fff;border-color:var(--ink)}.choice strong{display:block}.choice small{color:var(--gold)}.time{text-align:center}.time:disabled{opacity:.35;text-decoration:line-through}.primary{width:100%;border:0;background:var(--gold);padding:16px;font-weight:800}.field{display:block;font-size:10px;font-weight:bold;margin:12px 0}.field input{display:block;width:100%;padding:14px;margin-top:6px;border:1px solid var(--line)}.notice{padding:12px;background:#e4eddc;color:#3e5e33;font-size:12px}.error{color:#a23d36;font-size:12px}.admin-nav{position:sticky;bottom:0;display:grid;grid-template-columns:1fr 1fr;background:var(--ink)}.admin-nav button{padding:15px;background:transparent;border:0;color:var(--gold)}.appointment{display:grid;grid-template-columns:55px 1fr auto;gap:9px;border-top:1px solid var(--line);padding:13px 0}.appointment span:first-child{font-family:Georgia;font-size:20px;color:var(--gold)}.appointment small{display:block;color:#777}.loading{padding:40px;text-align:center}
