:root{--color-teal: #00c9a7;--color-teal-dark: #00a88e;--color-navy: #0b1420;--color-navy-mid: #1e293b;--color-muted: #64748b;--color-border: #e2e8f0;--color-bg: #f2ede2;--color-error: #b91c1c;--color-ok: #047857}*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,system-ui,sans-serif;color:var(--color-navy-mid);background:var(--color-bg)}button,input{font:inherit}.book-page{max-width:420px;margin:0 auto;padding:16px}.book-title{margin:0 0 12px;color:var(--color-navy);font-size:22px}.book-card{background:#fff;border:1px solid var(--color-border);border-radius:8px;box-shadow:0 1px 3px #0b142014;padding:16px}.book-heading,.book-subheading{margin:0 0 12px;color:var(--color-navy);font-size:16px}.book-muted,.book-hint{color:var(--color-muted);font-size:14px}.book-hint{margin-top:0}.book-choice-list,.book-slot-list,.book-days,.book-weekdays{display:grid;gap:8px}.book-choice,.book-slot,.book-day,.book-primary,.book-secondary,.book-icon-btn{min-height:44px;border-radius:8px;border:1px solid var(--color-border);background:#fff;color:var(--color-navy);cursor:pointer}.book-choice{display:flex;justify-content:space-between;align-items:center;gap:8px;text-align:left;padding:8px 12px}.book-slot-list{grid-template-columns:repeat(3,1fr)}.book-days,.book-weekdays{grid-template-columns:repeat(7,1fr)}.book-weekdays{margin-bottom:4px;color:var(--color-muted);font-size:12px;text-align:center}.book-day{padding:0}.book-day:disabled{opacity:.35;cursor:default}.book-day.is-active,.book-primary{background:var(--color-teal);border-color:var(--color-teal);color:#fff}.book-primary:hover,.book-day.is-active:hover{background:var(--color-teal-dark)}.book-primary:disabled{opacity:.6;cursor:default}.book-month{display:flex;align-items:center;justify-content:space-between;gap:8px}.book-month-label{margin:0;text-transform:capitalize;font-weight:700;color:var(--color-navy)}.book-icon-btn{width:44px}.book-field{display:grid;gap:4px;margin-bottom:12px}.book-field input{min-height:44px;border:1px solid var(--color-border);border-radius:8px;padding:8px 12px}.book-check{display:flex;gap:8px;align-items:flex-start;margin:12px 0;font-size:14px}.book-check input{width:20px;height:20px;margin-top:2px}.book-actions{display:flex;gap:8px}.book-actions .book-primary,.book-actions .book-secondary{flex:1}.book-text{min-height:44px;margin-bottom:8px;padding:0;border:0;background:transparent;color:var(--color-teal-dark);cursor:pointer}.book-error{color:var(--color-error)}.book-success{color:var(--color-ok);font-weight:700}
