:root{--brand:#0b5cab;--brand-dark:#073f74;--bg:#f4f6fb;--card:#fff;--border:#d9e0ec;--text:#1b2533;--muted:#687385;--error:#c0392b;--success:#1e8e5a}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}.page{max-width:760px;margin:0 auto;padding:32px 20px 80px}.header{text-align:center;margin-bottom:28px}.header img{max-width:220px;height:auto;margin-bottom:12px}.header h1{font-size:1.6rem;margin:8px 0 4px}.header p{color:var(--muted);margin:0}.card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:24px;margin-bottom:20px;box-shadow:0 1px 3px rgba(16,24,40,.04)}.card h2{font-size:1.1rem;margin:0 0 16px;padding-bottom:10px;border-bottom:1px solid var(--border)}.field{margin-bottom:16px}.row{grid-template-columns:1fr 1fr;grid-gap:16px}.row,.row-3{display:grid;gap:16px}.row-3{grid-template-columns:2fr 1fr 1fr;grid-gap:16px}@media (max-width:560px){.row,.row-3{grid-template-columns:1fr}}label{display:block;font-size:.85rem;font-weight:600;margin-bottom:6px;color:var(--text)}label .req{color:var(--error);margin-left:2px}input,select{width:100%;padding:10px 12px;font-size:.95rem;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--text);outline:none;transition:border-color .15s,box-shadow .15s}input:focus,select:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(11,92,171,.12)}.doctor-card{border:1px solid var(--border);border-radius:10px;padding:16px;margin-bottom:16px;background:#fbfcfe}.doctor-card .doctor-title{font-weight:700;font-size:.95rem;margin-bottom:12px;color:var(--brand-dark)}button{font-family:inherit}.submit-btn{width:100%;padding:14px;font-size:1rem;font-weight:700;color:#fff;background:var(--brand);border:none;border-radius:10px;cursor:pointer;transition:background .15s}.submit-btn:hover:not(:disabled){background:var(--brand-dark)}.submit-btn:disabled{opacity:.6;cursor:not-allowed}.alert{padding:14px 16px;border-radius:10px;margin-bottom:20px;font-size:.92rem}.alert-error{background:#fdecea;color:var(--error);border:1px solid #f5c6c0}.alert-success{background:#e8f6ef;color:var(--success);border:1px solid #b7e3cd}.hint{font-size:.8rem;color:var(--muted);margin-top:4px}