:root{font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{color:#1a1a2e;background:#f5f7fa;margin:0;font-family:Segoe UI,system-ui,sans-serif}.landing{flex-direction:column;min-height:100vh;display:flex}.landing-header{color:#fff;text-align:center;background:linear-gradient(135deg,#0d47a1 0%,#1565c0 100%);padding:2rem}.landing-header h1{margin:0;font-size:2.5rem;font-weight:700}.tagline{opacity:.9;margin:.5rem 0 1.5rem}.landing-header nav{justify-content:center;gap:1rem;display:flex}.landing-header a{color:#fff;border:1px solid #ffffff80;border-radius:6px;padding:.5rem 1rem;text-decoration:none}.landing-header a:hover{background:#fff3}.landing-main{flex:1;max-width:800px;margin:0 auto;padding:3rem 2rem}.landing-main section{margin-bottom:2.5rem}.landing-main h2{color:#0d47a1;margin-top:0}.landing-main ul{line-height:1.8}.landing-main a{color:#1565c0;font-weight:600}.landing-footer{text-align:center;color:#666;padding:2rem;font-size:.9rem}.auth-page{background:linear-gradient(135deg,#0d47a1 0%,#1565c0 100%);justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.auth-card{background:#fff;border-radius:12px;width:100%;max-width:400px;padding:2rem;box-shadow:0 10px 40px #0003}.auth-card.wide{max-width:560px}.auth-card h1{color:#1a1a2e;margin:0 0 .25rem}.auth-subtitle{color:#666;margin:0 0 1.5rem;font-size:.9rem}.auth-card .error{color:#c62828;background:#ffebee;border-radius:6px;margin-bottom:1rem;padding:.75rem}.auth-card form label{margin-bottom:1rem;font-weight:500;display:block}.auth-card form input,.auth-card form select{border:1px solid #ccc;border-radius:6px;width:100%;margin-top:.25rem;padding:.6rem;display:block}.auth-card form fieldset{border:1px solid #e0e0e0;border-radius:6px;margin-bottom:1rem;padding:1rem}.auth-card form legend{padding:0 .5rem;font-weight:600}.auth-card form button[type=submit]{color:#fff;cursor:pointer;background:#1565c0;border:none;border-radius:6px;width:100%;margin-top:.5rem;padding:.75rem;font-size:1rem}.auth-card form button[type=submit]:hover:not(:disabled){background:#0d47a1}.auth-card form button[type=submit]:disabled{opacity:.6;cursor:not-allowed}.auth-footer{text-align:center;margin-top:1.5rem;font-size:.9rem}.auth-footer a{color:#1565c0;font-weight:600}.auth-card.success{text-align:center}.form-hint{color:#666;margin:0 0 .75rem;font-size:.9rem}.form-intro{color:#666;margin:0 0 1rem;font-size:.95rem}.register-type-selector{border-bottom:1px solid #e0e0e0;margin-bottom:1.5rem;padding-bottom:1.5rem}.register-type-selector label{font-weight:500;display:block}.register-type-dropdown{background:#fff;border:1px solid #ccc;border-radius:6px;width:100%;max-width:280px;margin-top:.25rem;padding:.6rem;font-size:1rem;display:block}.checkbox-label{align-items:center;gap:.5rem;margin-bottom:.5rem!important;display:flex!important}.checkbox-label input[type=checkbox]{width:auto;margin:0}.auth-link-button{background:#1565c0;border-radius:6px;margin-top:1rem;padding:.75rem 1.5rem;font-weight:600;text-decoration:none;display:inline-block;color:#fff!important}.auth-link-button:hover{background:#0d47a1}.success-text{color:#2e7d32}.preference-list{margin-top:1rem}.preference-item{align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.dashboard{min-height:100vh}.dashboard-header{color:#fff;background:#1a1a2e;justify-content:space-between;align-items:center;padding:1rem 2rem;display:flex}.dashboard-header h1{margin:0;font-size:1.5rem}.dashboard-header nav{align-items:center;gap:1.5rem;display:flex}.dashboard-header a{color:#fff;text-decoration:none}.dashboard-header a:hover{text-decoration:underline}.dashboard-header .user{opacity:.9;font-size:.9rem}.dashboard-header button{color:#fff;cursor:pointer;background:0 0;border:1px solid #ffffff80;border-radius:4px;padding:.4rem .8rem}.dashboard-header button:hover{background:#ffffff1a}.dashboard main{max-width:1000px;margin:0 auto;padding:2rem}.dashboard main h2{margin-top:0}.quick-actions{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem;margin-top:2rem;display:grid}.quick-actions .card{color:inherit;background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:1.5rem;text-decoration:none;display:block;box-shadow:0 2px 8px #00000014}.quick-actions .card:hover{border-color:#1565c0;box-shadow:0 4px 12px #1565c026}.quick-actions .card h3{color:#1565c0;margin:0 0 .5rem}.quick-actions .card p{color:#666;margin:0;font-size:.9rem}.prescription-table{border-collapse:collapse;background:#fff;border-radius:8px;width:100%;overflow:hidden;box-shadow:0 2px 8px #00000014}.prescription-table th,.prescription-table td{text-align:left;border-bottom:1px solid #eee;padding:.75rem 1rem}.prescription-table th{background:#f5f7fa;font-weight:600}.prescription-table button{color:#1565c0;cursor:pointer;background:#fff;border:1px solid #1565c0;border-radius:4px;margin-right:.5rem;padding:.35rem .6rem;font-size:.85rem}.prescription-table button:hover{color:#fff;background:#1565c0}.prescription-table button.danger{color:#c62828;border-color:#c62828}.prescription-table button.danger:hover{color:#fff;background:#c62828}.status{border-radius:4px;padding:.25rem .5rem;font-size:.85rem}.status-created{color:#1565c0;background:#e3f2fd}.status-sent{color:#2e7d32;background:#e8f5e9}.status-received{color:#e65100;background:#fff3e0}.status-dispensed{color:#1b5e20;background:#e8f5e9}.status-cancelled{color:#c62828;background:#ffebee}.prescription-form{background:#fff;border-radius:8px;max-width:600px;padding:2rem;box-shadow:0 2px 8px #00000014}.prescription-form label{margin-bottom:1rem;display:block}.prescription-form input,.prescription-form select,.prescription-form textarea{border:1px solid #ccc;border-radius:4px;width:100%;margin-top:.25rem;padding:.5rem;display:block}.prescription-form textarea{min-height:60px}.patient-search{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.patient-search input{flex:1;min-width:120px}.new-patient-form{background:#f5f7fa;border-radius:6px;margin-bottom:1rem;padding:1rem}.new-patient-form h4{margin-top:0}.new-patient-form label{margin-bottom:.5rem}.prescription-form button[type=submit]{color:#fff;cursor:pointer;background:#1565c0;border:none;border-radius:6px;margin-top:1rem;padding:.75rem 1.5rem;font-size:1rem}.prescription-form button[type=submit]:hover:not(:disabled){background:#0d47a1}.loading{text-align:center;padding:3rem;font-size:1.1rem}.dashboard .error{color:#c62828;background:#ffebee;border-radius:6px;margin-bottom:1rem;padding:.75rem}
