:root{--color-primary:#1e40af;--color-primary-hover:#1d4ed8;--color-surface:#fff;--color-background:#f8fafc;--color-text-main:#0f172a;--color-text-muted:#475569;--color-border:#cbd5e1;--color-border-focus:#2563eb;--color-danger:#b91c1c;--color-danger-bg:#fef2f2;--color-warning:#b45309;--color-warning-bg:#fffbeb;--color-success:#15803d;--color-success-bg:#f0fdf4;--role-owner:#6b21a8;--role-owner-bg:#f3e8ff;--role-admin:#334155;--role-admin-bg:#f1f5f9;--role-reception:#047857;--role-reception-bg:#ecfdf5;--role-doctor:#0369a1;--role-doctor-bg:#e0f2fe;--role-pharmacist:#c2410c;--role-pharmacist-bg:#fff7ed;--font-family:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a}body{font-family:var(--font-family);color:var(--color-text-main);background-color:var(--color-background);margin:0}.app-header{background-color:var(--color-surface);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-sm);justify-content:space-between;align-items:center;padding:.75rem 1.5rem;display:flex}.clinic-brand{color:var(--color-primary);font-size:1.125rem;font-weight:700}.header-controls{align-items:center;gap:1rem;display:flex}.user-identity{color:var(--color-text-muted);font-size:.875rem}.btn-logout{color:var(--color-danger);border:1px solid var(--color-danger);border-radius:var(--radius-sm);cursor:pointer;background:0 0;padding:.4rem .8rem;font-size:.875rem}.btn-logout:hover{background-color:var(--color-danger-bg)}.workspace-switcher{align-items:center;gap:.5rem;display:flex}.workspace-select-label{font-size:.875rem;font-weight:500}.workspace-select{font:inherit;border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-surface);padding:.35rem .75rem;font-size:.875rem}.role-badge{text-transform:uppercase;letter-spacing:.05em;border-radius:9999px;padding:.25rem .6rem;font-size:.75rem;font-weight:600;display:inline-block}.role-owner{background-color:var(--role-owner-bg);color:var(--role-owner);border:1px solid var(--role-owner)}.role-administrator{background-color:var(--role-admin-bg);color:var(--role-admin);border:1px solid var(--role-admin)}.role-reception{background-color:var(--role-reception-bg);color:var(--role-reception);border:1px solid var(--role-reception)}.role-doctor{background-color:var(--role-doctor-bg);color:var(--role-doctor);border:1px solid var(--role-doctor)}.role-pharmacist{background-color:var(--role-pharmacist-bg);color:var(--role-pharmacist);border:1px solid var(--role-pharmacist)}main{max-width:52rem;margin:0 auto;padding:2.5rem 1.5rem}section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-block:1.5rem;padding:1.5rem}.auth-card{max-width:32rem;margin:1.5rem auto}.auth-subtitle{color:var(--color-text-muted);margin-bottom:1.25rem;font-size:.925rem}.auth-form{gap:1rem;display:grid}.form-group{flex-direction:column;gap:.35rem;display:flex}.form-group label{font-size:.875rem;font-weight:600}.form-group input{font:inherit;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:.65rem .75rem;font-size:.95rem}.password-input-wrapper{display:flex;position:relative}.password-input-wrapper input{flex:1;padding-right:4rem}.btn-toggle-password{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;padding:.25rem .5rem;font-size:.75rem;position:absolute;top:50%;right:.5rem;transform:translateY(-50%)}button{font:inherit;border-radius:var(--radius-md);cursor:pointer;padding:.65rem 1.25rem;font-weight:500;transition:background-color .15s,border-color .15s}.btn-primary{background:var(--color-primary);color:#fff;border:1px solid var(--color-primary)}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn-secondary{color:var(--color-text-main);border:1px solid var(--color-border);background:#f1f5f9}.btn-secondary:hover:not(:disabled){background:#e2e8f0}.btn-link{color:var(--color-primary);background:0 0;border:none;padding:.25rem;font-size:.875rem;text-decoration:underline}.auth-actions{justify-content:space-between;align-items:center;gap:1rem;margin-top:.75rem;display:flex}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--color-border-focus);outline-offset:2px}.method-selector{border-bottom:1px solid var(--color-border);gap:.5rem;margin-bottom:1.25rem;padding-bottom:.5rem;display:flex}.btn-tab{color:var(--color-text-muted);background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;padding:.5rem 1rem;font-weight:500}.btn-tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary);font-weight:600}.policy-checklist{background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-block:.5rem;padding:.75rem 1rem}.policy-checklist h4{color:var(--color-text-muted);margin:0 0 .5rem;font-size:.825rem}.policy-checklist ul{gap:.35rem;margin:0;padding:0;font-size:.825rem;list-style:none;display:grid}.policy-checklist li.valid{color:var(--color-success)}.policy-checklist li.invalid{color:var(--color-text-muted)}.recovery-codes-grid{background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-block:1rem;padding:1rem}.recovery-codes-grid ol{grid-template-columns:repeat(2,1fr);gap:.5rem 1.5rem;margin:0;padding-left:1.5rem;display:grid}.recovery-codes-grid code{letter-spacing:.05em;background:var(--color-surface);border-radius:var(--radius-sm);border:1px solid var(--color-border);padding:.2rem .4rem;font-size:.95rem}.alert-box{border-radius:var(--radius-md);margin-block:.75rem;padding:.875rem 1rem}.alert-warning{background-color:var(--color-warning-bg);color:var(--color-warning);border:1px solid #fde68a}.alert-warning h4{margin:0 0 .35rem}.alert-warning p{margin:0;font-size:.875rem}.status-message{margin-top:.5rem;padding:.5rem 0;font-size:.875rem}.status-success{color:var(--color-success)}.status-error{color:var(--color-danger)}.workspace-choice-list{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-top:1.5rem;display:grid}.btn-workspace-select{text-align:center;background:var(--color-surface);color:var(--color-text-main);border:2px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;box-shadow:var(--shadow-sm);padding:1.25rem 1rem;font-size:1rem;font-weight:600}.btn-workspace-select:hover{border-color:var(--color-primary);color:var(--color-primary)}.workspace-shell{margin-top:1rem}.workspace-body{padding:1.5rem 0}.a4-print-preview-modal{z-index:9999;background-color:#0f172ab3;flex-direction:column;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0;overflow-y:auto}.a4-page-container{box-sizing:border-box;color:#0f172a;background:#fff;width:210mm;min-height:297mm;padding:15mm 20mm;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;box-shadow:0 10px 25px -5px #0000004d}@media print{@page{size:A4 portrait;margin:12mm 15mm 15mm}body{color:#000!important;background:#fff!important}.app-header,.workspace-banner,.workspace-selection-prompt,.doctor-queue-board,.consultation-editor,.print-controls-bar,.patient-header-banner,.consultation-complete-bar,button{display:none!important}.a4-print-preview-modal{background:0 0!important;padding:0!important;display:block!important;position:static!important;inset:auto!important;overflow:visible!important}.a4-page-container{page-break-inside:avoid;width:100%!important;min-height:auto!important;box-shadow:none!important;padding:0!important}*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}}.pharmacy-workspace-root{flex-direction:column;display:flex}.pharmacy-nav-bar button:hover{color:#059669!important}.modal-overlay{animation:.15s ease-in-out fadeIn}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}
