:root{--color-primary:#082f49;--color-primary-dark:#061f33;--color-gold:#c6a15b;--color-bg:#f7f8fa;--color-bg-warm:#fbfaf7;--color-surface:#fff;--color-surface-elevated:#fbfcfe;--color-border:#d8dee6;--color-text:#17202a;--color-muted:#667085;--color-danger:#b42318;--color-success:#027a48;--color-warning:#a15c07;--radius-card:8px;--shadow-soft:0 8px 24px #0f172a14;--shadow-premium:0 18px 44px #082f4921;--font-scale:1;--font-size-base:calc(16px * var(--font-scale));--font-size-sm:calc(.875rem * var(--font-scale));--font-size-lg:calc(1.125rem * var(--font-scale));--control-height:calc(42px * var(--font-scale));--control-padding-x:calc(14px * var(--font-scale));--control-padding-y:calc(10px * var(--font-scale));--space-xs:calc(4px * var(--font-scale));--space-sm:calc(8px * var(--font-scale));--space-md:calc(16px * var(--font-scale));--space-lg:calc(24px * var(--font-scale));--space-xl:calc(32px * var(--font-scale))}:root[data-ui-scale="100"]{--font-scale:1}:root[data-ui-scale="125"]{--font-scale:1.25}:root[data-ui-scale="150"]{--font-scale:1.5}*{box-sizing:border-box}html{min-height:100%}body{background:radial-gradient(circle at top left, #c6a15b1f, transparent 32rem), linear-gradient(180deg, var(--color-bg-warm), var(--color-bg));min-height:100%;color:var(--color-text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:var(--font-size-base);margin:0;line-height:1.5}button,input,select,textarea{font:inherit}a{color:inherit}:focus-visible{outline-offset:2px;outline:3px solid #c6a15bcc}.public-shell{flex-direction:column;min-height:100vh;display:flex}.public-shell__header,.topbar{justify-content:space-between;align-items:center;gap:var(--space-lg);padding:var(--space-md) var(--space-xl);border-bottom:1px solid var(--color-border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff0;display:flex}.public-shell__brand,.sidebar__brand{color:var(--color-primary);gap:2px;text-decoration:none;display:grid}.public-shell__brand{column-gap:var(--space-sm);grid-template-columns:auto 1fr;align-items:center}.public-shell__brand-mark{width:calc(42px * var(--font-scale));height:calc(42px * var(--font-scale));background:var(--color-primary);color:var(--color-gold);border-radius:50%;grid-row:span 2;place-items:center;font-weight:900;display:grid}.public-shell__brand strong,.sidebar__brand strong{font-size:calc(1.2rem * var(--font-scale));letter-spacing:0}.public-shell__content{width:min(760px,100% - 32px);margin:var(--space-xl) auto}.public-shell__content--wide{width:min(1180px,100% - 32px)}.app-shell{grid-template-columns:minmax(220px,280px) minmax(0,1fr);min-height:100vh;display:grid}.app-shell__main{flex-direction:column;min-width:0;display:flex}.app-shell__content{min-width:0;padding:var(--space-xl)}.sidebar{background:var(--color-primary);color:#fff;min-height:100vh;max-height:100vh;padding:var(--space-lg);overflow-y:auto}.sidebar__brand{color:#fff;margin-bottom:var(--space-xl)}.sidebar__nav{gap:var(--space-sm);display:grid}.sidebar__link{padding:var(--control-padding-y) var(--control-padding-x);border-radius:var(--radius-card);color:#ffffffdb;text-decoration:none;display:block}.sidebar__link[data-active=true],.sidebar__link:hover{color:#fff;background:#ffffff24}.topbar{z-index:10;position:sticky;top:0}.topbar h1{font-size:calc(1.35rem * var(--font-scale));color:var(--color-primary);margin:0}.topbar__eyebrow{color:var(--color-muted);font-size:var(--font-size-sm);margin:0}.font-scale{align-items:center;gap:var(--space-sm);flex-wrap:wrap;display:flex}.font-scale__label{color:var(--color-muted);font-size:var(--font-size-sm)}.font-scale__options{gap:var(--space-xs);flex-wrap:wrap;display:flex}.font-scale__button,.ui-button{min-height:var(--control-height);border-radius:var(--radius-card);border:1px solid var(--color-border);padding:var(--control-padding-y) var(--control-padding-x);cursor:pointer;background:var(--color-surface);color:var(--color-text);white-space:normal}.font-scale__button[data-active=true]{border-color:var(--color-gold);color:var(--color-primary);box-shadow:inset 0 0 0 1px var(--color-gold)}.ui-button{border:0;font-weight:700;transition:border-color .16s,box-shadow .16s,background .16s}.ui-button[data-variant=primary]{background:var(--color-primary);color:#fff;box-shadow:0 10px 22px #082f492e}.ui-button[data-variant=secondary]{color:var(--color-primary);background:#eef2f6}.ui-button[data-variant=danger]{background:var(--color-danger);color:#fff}.ui-button:disabled,.field__control:disabled{cursor:not-allowed;opacity:.58}.ui-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);box-shadow:var(--shadow-soft);padding:var(--space-lg)}.ui-card:hover,.doctor-card:hover,.appointments-panel:hover,.patient-action-card:hover{box-shadow:var(--shadow-premium)}.ui-card h2{margin:0 0 var(--space-sm);color:var(--color-primary);font-size:calc(1.25rem * var(--font-scale))}.ui-card[data-tone=warning]{border-color:#a15c0759}.page-copy{color:var(--color-muted);margin-top:0}.state-message{padding:var(--space-sm) var(--space-md);border-radius:var(--radius-card);margin:0;font-weight:700}.room-selection-grid{gap:var(--space-md);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));display:grid}.room-choice-card{gap:var(--space-md);padding:var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-card);box-shadow:var(--shadow-soft);background:linear-gradient(#fffffff5,#f8fafcfa);grid-template-columns:minmax(92px,116px) minmax(0,1fr);align-items:start;display:grid}.room-choice-card[data-selected=true]{border-color:var(--color-gold);box-shadow:0 0 0 1px #c6a15b59, var(--shadow-premium)}.room-choice-card[data-disabled=true]{opacity:.92}.room-choice-card__media{aspect-ratio:4/3;border-radius:calc(var(--radius-card) - 2px);background:var(--color-surface-elevated);width:100%;overflow:hidden}.room-choice-card__media img{object-fit:cover;width:100%;height:100%;display:block}.room-choice-card__fallback{width:100%;height:100%;color:var(--color-muted);background:linear-gradient(135deg, #082f4914, #c6a15b1f), var(--color-surface-elevated);place-items:center;font-weight:700;display:grid}.room-choice-card__body{gap:var(--space-sm);min-width:0;display:grid}.room-choice-card__header{justify-content:space-between;gap:var(--space-sm);flex-wrap:wrap;align-items:flex-start;display:flex}.room-choice-card__header h3{color:var(--color-primary);font-size:calc(1.02rem * var(--font-scale));margin:0}.room-choice-card__header p,.room-choice-card__description,.room-choice-card__meta{color:var(--color-muted);font-size:var(--font-size-sm);margin:0}.room-choice-card__resources{gap:var(--space-xs);flex-wrap:wrap;display:flex}.room-choice-card__resource{border:1px solid var(--color-border);background:var(--color-surface);font-size:calc(.78rem * var(--font-scale));color:var(--color-text);border-radius:999px;padding:.2rem .55rem}.room-choice-card__actions{gap:var(--space-sm);flex-wrap:wrap;align-items:center;display:flex}.state-message--error{color:var(--color-danger);background:#b423181a}.state-message--success{color:var(--color-success);background:#027a481a}.stack{gap:var(--space-md);display:grid}.stack--compact{gap:var(--space-sm)}.text-muted{color:var(--color-muted)}.page-grid{gap:var(--space-lg);display:grid}.form-grid{grid-template-columns:repeat(auto-fit, minmax(calc(180px * var(--font-scale)), 1fr));gap:var(--space-md);display:grid}.admin-module__header{gap:var(--space-xxs);padding:var(--space-md) 0 0;border-top:1px solid var(--color-border);display:grid}.admin-module__header:first-child{border-top:0;padding-top:0}.admin-module__header p,.admin-module__header h2{margin:0}.admin-module__header p{color:var(--color-primary);font-size:var(--font-size-sm);text-transform:uppercase;font-weight:900}.admin-module__header h2{color:var(--color-text);font-size:var(--font-size-xl)}.patient-search-results{gap:var(--space-sm);display:grid}.patient-search-result,.patient-selected-card{width:100%;padding:var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);color:var(--color-text)}.patient-search-result{gap:var(--space-xs);text-align:left;cursor:pointer;display:grid}.patient-search-result[data-active=true],.patient-search-result:hover{border-color:var(--color-gold);box-shadow:inset 0 0 0 1px var(--color-gold)}.patient-search-result span,.patient-search-result small{color:var(--color-muted)}.patient-selected-card{gap:var(--space-md);background:var(--color-surface-elevated);grid-template-columns:minmax(0,1fr);display:grid}.patient-selected-card h3,.patient-selected-card p{margin:0}.patient-selected-card__badges{align-content:start;gap:var(--space-xs);flex-wrap:wrap;display:flex}.patient-selected-card__sensitive{gap:var(--space-xs) var(--space-md);color:var(--color-muted);font-size:var(--font-size-sm);flex-wrap:wrap;display:flex}.patient-selected-card__dependents,.patient-selected-card__actions{gap:var(--space-xs);flex-wrap:wrap;display:flex}.patient-selected-card__actions{align-items:center}.patient-search-empty{justify-content:space-between;align-items:center;gap:var(--space-sm);padding:var(--space-md);border:1px dashed var(--color-border);border-radius:var(--radius-card);flex-wrap:wrap;display:flex}.patient-home,.profile-shell{gap:var(--space-xl);display:grid}.patient-home__hero,.profile-hero{gap:var(--space-md);padding:var(--space-xl);border-radius:var(--radius-card);background:linear-gradient(135deg, #082f49f5, #061f33eb), var(--color-primary);color:#fff;box-shadow:var(--shadow-premium);border:1px solid #c6a15b57;display:grid}.patient-home__hero h1,.profile-hero h1{max-width:820px;font-size:calc(1.9rem * var(--font-scale));margin:0;line-height:1.15}.patient-home__hero p,.profile-hero p{color:#ffffffd6;max-width:720px;margin:0}.patient-home__hero-actions{gap:var(--space-sm);flex-wrap:wrap;display:flex}.patient-quick-grid{grid-template-columns:repeat(auto-fit, minmax(calc(210px * var(--font-scale)), 1fr));gap:var(--space-md);display:grid}.patient-action-card{gap:var(--space-xs);min-height:calc(126px * var(--font-scale));padding:var(--space-lg);border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);color:var(--color-primary);cursor:pointer;text-align:left;box-shadow:var(--shadow-soft);display:grid}.patient-action-card span{color:var(--color-gold);font-size:var(--font-size-sm);text-transform:uppercase;font-weight:900}.patient-action-card strong{font-size:var(--font-size-lg);line-height:1.2}.check-row{align-items:flex-start;gap:var(--space-sm);color:var(--color-text);font-weight:700;display:flex}.check-row input{width:calc(18px * var(--font-scale));height:calc(18px * var(--font-scale));margin-top:calc(3px * var(--font-scale))}.slot-list{gap:var(--space-sm);margin-top:var(--space-md);flex-wrap:wrap;display:flex}.action-grid{gap:var(--space-sm);grid-template-columns:repeat(auto-fit, minmax(calc(180px * var(--font-scale)), 1fr));display:grid}.profile-readonly{gap:var(--space-sm);margin:var(--space-md) 0;flex-wrap:wrap;font-weight:700;display:flex}.profile-readonly span{padding:calc(7px * var(--font-scale)) calc(11px * var(--font-scale));border-radius:var(--radius-card);color:#fff;background:#ffffff1a;border:1px solid #ffffff38}.profile-form-panel{gap:var(--space-lg);padding:var(--space-lg);border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:var(--shadow-soft);display:grid}.profile-form-panel h2{color:var(--color-primary);margin:0}.patient-appointments-page{gap:var(--space-xl);display:grid}.booking-hero{gap:var(--space-lg);padding:var(--space-xl);border-radius:var(--radius-card);background:linear-gradient(135deg, #082f49f5, #061f33f0), var(--color-primary);color:#fff;box-shadow:var(--shadow-premium);border:1px solid #c6a15b61;display:grid;position:relative;overflow:hidden}.booking-hero:after{content:"";right:var(--space-xl);top:var(--space-xl);width:calc(120px * var(--font-scale));height:calc(120px * var(--font-scale));pointer-events:none;border:1px solid #c6a15b47;border-radius:50%;position:absolute}.booking-hero__copy{z-index:1;max-width:760px;position:relative}.booking-hero__eyebrow{margin:0 0 var(--space-xs);color:var(--color-gold);font-size:var(--font-size-sm);text-transform:uppercase;font-weight:800}.booking-hero h1{font-size:calc(2rem * var(--font-scale));margin:0;line-height:1.12}.booking-hero p{color:#ffffffd6;margin-bottom:0}.booking-hero__metrics{gap:var(--space-sm);margin-top:var(--space-md);flex-wrap:wrap;display:flex}.booking-hero__metrics span{padding:calc(7px * var(--font-scale)) calc(11px * var(--font-scale));color:#ffffffe6;font-size:var(--font-size-sm);background:#ffffff1a;border:1px solid #ffffff38;border-radius:999px;font-weight:800}.booking-search{gap:var(--space-md);padding:var(--space-md);border-radius:var(--radius-card);z-index:1;background:#ffffff1a;border:1px solid #fff3;grid-template-columns:minmax(260px,1.5fr) minmax(190px,.7fr) auto;align-items:end;display:grid;position:relative}.booking-search .field__label{color:#fff}.doctor-results{gap:var(--space-md);display:grid}.doctor-card{gap:var(--space-lg);padding:var(--space-lg);border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:var(--shadow-soft);grid-template-columns:auto minmax(0,1fr) minmax(280px,.75fr);align-items:start;transition:box-shadow .16s,border-color .16s;display:grid}.doctor-card__media{width:calc(86px * var(--font-scale));height:calc(86px * var(--font-scale));color:var(--color-primary);font-weight:800;font-size:calc(1.25rem * var(--font-scale));background:linear-gradient(135deg,#fff,#eef2f6);border:2px solid #c6a15b73;border-radius:50%;place-items:center;display:grid;overflow:hidden}.doctor-card__media img{object-fit:cover;width:100%;height:100%}.doctor-card__body{gap:var(--space-md);min-width:0;display:grid}.doctor-card__header{justify-content:space-between;align-items:flex-start;gap:var(--space-md);flex-wrap:wrap;display:flex}.doctor-card h2{color:var(--color-primary);font-size:calc(1.35rem * var(--font-scale));margin:0;line-height:1.2}.doctor-card p{margin:var(--space-xs) 0 0;color:var(--color-muted)}.doctor-card__meta{gap:var(--space-sm);flex-wrap:wrap;display:flex}.doctor-card__meta span{padding:calc(6px * var(--font-scale)) calc(10px * var(--font-scale));border:1px solid var(--color-border);border-radius:var(--radius-card);color:var(--color-muted);font-size:var(--font-size-sm);background:#fbfcfe;font-weight:700}.doctor-card__schedule{gap:var(--space-sm);min-width:0;padding:var(--space-md);border-radius:var(--radius-card);background:var(--color-surface-elevated);border:1px solid #082f4914;display:grid}.doctor-card__schedule-head{color:var(--color-primary);font-size:var(--font-size-sm);font-weight:900}.doctor-card__hint{color:var(--color-muted);font-size:var(--font-size-sm);margin:0}.premium-slot-list{grid-template-columns:repeat(auto-fit, minmax(calc(82px * var(--font-scale)), 1fr));gap:var(--space-xs);display:grid}.premium-slot{min-height:var(--control-height);border-radius:var(--radius-card);color:var(--color-primary);cursor:pointer;background:#f8fafc;border:1px solid #082f492e;font-weight:800;transition:background .16s,border-color .16s,box-shadow .16s}.premium-slot:hover,.premium-slot[data-selected=true]{border-color:var(--color-gold);box-shadow:inset 0 0 0 1px var(--color-gold);background:#c6a15b24}.appointments-panel,.empty-panel{gap:var(--space-md);padding:var(--space-lg);border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:var(--shadow-soft);transition:box-shadow .16s;display:grid}.appointments-panel__header{justify-content:space-between;align-items:flex-start;gap:var(--space-md);flex-wrap:wrap;display:flex}.appointments-panel h2{color:var(--color-primary);margin:0}.text-link{min-height:var(--control-height);color:var(--color-primary);cursor:pointer;text-decoration:underline;-webkit-text-decoration-color:var(--color-gold);text-decoration-color:var(--color-gold);text-underline-offset:4px;background:0 0;border:0;font-weight:800}.empty-panel{color:var(--color-muted)}.empty-panel strong{color:var(--color-primary)}.reception-toolbar{gap:var(--space-md);grid-template-columns:minmax(220px,1fr) repeat(2,minmax(160px,.45fr));align-items:end;display:grid}.reception-summary,.queue-box{gap:var(--space-xs);min-height:var(--control-height);padding:var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface-elevated);display:grid}.reception-summary strong,.queue-box strong{color:var(--color-primary);font-size:var(--font-size-lg)}.reception-summary span,.queue-box span{color:var(--color-muted);font-size:var(--font-size-sm);font-weight:700}.reception-operational-grid{gap:var(--space-lg);grid-template-columns:minmax(260px,.8fr) minmax(0,1fr);display:grid}.reception-doctor-list{gap:var(--space-sm);display:grid}.reception-doctor-card{gap:var(--space-xs);width:100%;padding:var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);color:var(--color-text);cursor:pointer;text-align:left;display:grid}.reception-doctor-card[data-active=true]{border-color:var(--color-primary);box-shadow:inset 0 0 0 1px var(--color-primary)}.reception-doctor-card strong{color:var(--color-primary)}.reception-doctor-card span,.reception-doctor-card small{color:var(--color-muted);font-weight:700}.queue-grid{grid-template-columns:repeat(auto-fit, minmax(calc(170px * var(--font-scale)), 1fr));gap:var(--space-md);display:grid}.reception-actions{gap:var(--space-xs);flex-wrap:wrap;display:flex}.reception-actions .ui-button{min-width:calc(96px * var(--font-scale))}.doctor-workbench{align-content:start}.clock-badge{min-height:var(--control-height);padding:0 var(--space-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-elevated);color:var(--color-muted);font-size:var(--font-size-sm);white-space:nowrap;align-items:center;font-weight:800;display:inline-flex}.doctor-premium-header{justify-content:space-between;gap:var(--space-lg);padding:var(--space-lg);border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface-elevated);box-shadow:var(--shadow-soft);align-items:center;display:flex}.doctor-premium-header__copy{gap:var(--space-xxs);display:grid}.doctor-premium-header__copy p,.doctor-premium-header__copy h2,.doctor-premium-header__copy span{margin:0}.doctor-premium-header__copy p{color:var(--color-primary);font-size:var(--font-size-sm);text-transform:capitalize;font-weight:900}.doctor-premium-header__copy h2{color:var(--color-text);font-size:calc(1.5rem * var(--font-scale))}.doctor-premium-header__copy span{color:var(--color-muted);font-weight:700}.doctor-premium-header__meta{gap:var(--space-sm);flex-wrap:wrap;justify-content:flex-end;align-items:center;display:flex}.doctor-premium-header__photo{justify-items:center;gap:var(--space-xxs);display:grid}.doctor-premium-header__photo img,.doctor-premium-header__photo>span{width:calc(64px * var(--font-scale));height:calc(64px * var(--font-scale));border:2px solid var(--color-border);object-fit:cover;border-radius:50%}.doctor-premium-header__photo>span{background:var(--color-primary);color:var(--color-gold);place-items:center;font-weight:900;display:grid}.doctor-premium-header__photo label{color:var(--color-primary);cursor:pointer;font-size:var(--font-size-sm);font-weight:800}.doctor-premium-header__photo input{display:none}.doctor-toolbar{gap:var(--space-md);flex-wrap:wrap;align-items:end;display:flex}.doctor-toolbar .field{flex:200px}.doctor-summary,.doctor-focus-card{gap:var(--space-xs);min-height:var(--control-height);padding:var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface-elevated);display:grid}.doctor-summary strong,.doctor-focus-card strong{color:var(--color-primary);font-size:var(--font-size-lg)}.doctor-summary span,.doctor-focus-card span,.muted-text{color:var(--color-muted);font-size:var(--font-size-sm);font-weight:700}.doctor-focus-grid{grid-template-columns:repeat(auto-fit, minmax(calc(280px * var(--font-scale)), 1fr));gap:var(--space-lg);display:grid}.doctor-focus-card{min-height:calc(150px * var(--font-scale));align-content:start}.doctor-actions{gap:var(--space-xs);flex-wrap:wrap;display:flex}.doctor-actions .ui-button{min-width:calc(96px * var(--font-scale))}.doctor-local-status{gap:var(--space-xs);margin-bottom:var(--space-sm);flex-wrap:wrap;display:flex}.doctor-status-summary{grid-template-columns:repeat(auto-fit, minmax(calc(150px * var(--font-scale)), 1fr));gap:var(--space-sm);margin-bottom:var(--space-md);display:grid}.doctor-status-summary__item{gap:var(--space-xxs);padding:var(--space-sm);border:1px solid var(--color-border);border-left:4px solid var(--color-muted);border-radius:var(--radius-card);background:var(--color-surface-elevated);display:grid}.doctor-status-summary__item[data-tone=warning]{border-left-color:var(--color-warning)}.doctor-status-summary__item[data-tone=success]{border-left-color:var(--color-success)}.doctor-status-summary__item[data-tone=danger]{border-left-color:var(--color-danger)}.doctor-status-summary__item strong{color:var(--color-primary);font-size:var(--font-size-lg)}.doctor-status-summary__item span{color:var(--color-muted);font-size:var(--font-size-sm);font-weight:700}.exam-grid{grid-template-columns:repeat(auto-fit, minmax(calc(210px * var(--font-scale)), 1fr));gap:var(--space-sm);display:grid}.exam-grid__notes{grid-column:1/-1}.exam-request-builder,.exam-category-list,.selected-exams-panel{gap:var(--space-md);display:grid}.exam-category-list{max-height:min(520px,58vh);padding-right:4px;overflow-y:auto}.exam-category-card,.selected-exam-group{gap:var(--space-sm);padding:var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface-elevated);display:grid}.exam-category-card h3,.selected-exam-group h3{color:var(--color-primary);font-size:var(--font-size-sm);margin:0;font-weight:900}.exam-option-grid{grid-template-columns:repeat(auto-fit, minmax(calc(180px * var(--font-scale)), 1fr));gap:var(--space-xs);display:grid}.exam-option{min-height:calc(42px * var(--font-scale));padding:var(--space-sm);border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface)}.manual-exam-row{gap:var(--space-sm);grid-template-columns:minmax(0,1fr) auto;align-items:end;display:grid}.selected-exams-panel{padding:var(--space-md);border-radius:var(--radius-card);background:#f8fafc;border:1px solid #0a25401f}.selected-exams-panel__header{justify-content:space-between;align-items:center;gap:var(--space-sm);display:flex}.selected-exam-groups,.selected-exam-list{gap:var(--space-sm);flex-wrap:wrap;display:flex}.selected-exam-group{flex:1 1 calc(240px * var(--font-scale));background:#fff}.selected-exam-chip{align-items:center;gap:var(--space-xs);padding:calc(6px * var(--font-scale)) calc(8px * var(--font-scale));border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font-size:var(--font-size-sm);border-radius:999px;font-weight:700;display:inline-flex}.selected-exam-chip button{color:var(--color-danger);cursor:pointer;background:0 0;border:0;padding:0;font-weight:800}.print-actions{margin-bottom:var(--space-md);justify-content:flex-end;display:flex}.print-preview{gap:var(--space-md);max-width:820px;padding:var(--space-xl);border:1px solid var(--color-border);border-radius:var(--radius-card);color:var(--color-text);background:#fff;margin:0 auto;display:grid}.print-preview__header,.print-preview__footer{gap:var(--space-xs);color:var(--color-muted);display:grid}.print-preview__header{padding-bottom:var(--space-sm);border-bottom:1px solid var(--color-border)}.print-preview__brand{gap:var(--space-md);grid-template-columns:auto minmax(0,1fr);align-items:center;display:grid}.print-preview__clinic{gap:2px;min-width:0;display:grid}.print-preview__header strong{color:var(--color-primary);font-size:var(--font-size-lg)}.print-preview__logo{object-fit:contain;width:auto;max-width:110px;height:auto;max-height:55px;display:block}.print-preview__banner{object-fit:contain;max-width:100%;max-height:70px;display:block}.print-preview__body{gap:var(--space-sm);display:grid}.print-preview__body h2{color:var(--color-primary);text-align:center;margin:0}.print-preview__body p{margin:0}.print-preview__identification{padding:var(--space-sm);border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface-elevated);gap:2px;display:grid}.print-preview__content{min-height:calc(96px * var(--font-scale));padding:var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-card);white-space:pre-wrap}.print-preview__footer{padding-top:var(--space-sm);border-top:1px solid var(--color-border);text-align:center}.field{gap:var(--space-xs);display:grid}.field__label{color:var(--color-text);font-weight:700}.field__control{width:100%;min-height:var(--control-height);border:1px solid var(--color-border);border-radius:var(--radius-card);padding:var(--control-padding-y) var(--control-padding-x);color:var(--color-text);background:var(--color-surface)}.field__control--textarea{min-height:calc(130px * var(--font-scale));resize:vertical}.field__control[aria-invalid=true]{border-color:var(--color-danger)}.field__error{color:var(--color-danger);font-size:var(--font-size-sm)}.field__hint{color:var(--color-muted);font-size:var(--font-size-sm);margin:0}.field-group{gap:var(--space-sm);padding:var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);margin:0;display:grid}.field-group legend{padding:0 var(--space-xs);color:var(--color-primary);font-weight:700}.weekday-checklist{gap:var(--space-sm);flex-wrap:wrap;display:flex}.weekday-check{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);align-items:center;gap:6px;padding:8px 10px;font-weight:600;display:inline-flex}.weekday-check input{accent-color:var(--color-primary)}.ui-badge{min-height:calc(28px * var(--font-scale));padding:calc(4px * var(--font-scale)) calc(10px * var(--font-scale));font-size:var(--font-size-sm);color:var(--color-muted);background:#eef2f6;border-radius:999px;align-items:center;font-weight:700;display:inline-flex}.ui-badge[data-tone=success]{color:var(--color-success);background:#027a481f}.ui-badge[data-tone=danger]{color:var(--color-danger);background:#b423181f}.ui-badge[data-tone=warning]{color:var(--color-warning);background:#a15c071f}.modal-backdrop{padding:var(--space-md);z-index:9999;background:#061f337a;place-items:center;display:grid;position:fixed;inset:0}.modal{background:var(--color-surface);border-radius:var(--radius-card);width:min(720px,100%);max-height:min(720px,100vh - 32px);box-shadow:var(--shadow-soft);z-index:10000;overflow-y:auto}.modal__header{justify-content:space-between;gap:var(--space-md);padding:var(--space-lg);border-bottom:1px solid var(--color-border);display:flex}.modal__content{padding:var(--space-lg)}.table-wrapper{width:100%;overflow-x:auto}.ui-table{border-collapse:collapse;background:var(--color-surface);width:100%;min-width:640px}.ui-table th,.ui-table td{padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--color-border);text-align:left}.ui-table th{color:var(--color-muted);font-size:var(--font-size-sm)}.tabs{gap:var(--space-xs);display:flex;overflow-x:auto}.tabs__button{min-height:var(--control-height);border:1px solid var(--color-border);border-radius:var(--radius-card);padding:var(--control-padding-y) var(--control-padding-x);background:var(--color-surface);color:var(--color-text)}.tabs__button[data-active=true]{border-color:var(--color-primary);color:var(--color-primary);box-shadow:inset 0 0 0 1px var(--color-primary)}@media print{@page{size:A4 portrait;margin:10mm}html,body{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;background:#fff!important;width:auto!important;min-width:0!important;height:auto!important;margin:0!important}body[data-print-mode] .sidebar,body[data-print-mode] .topbar,body[data-print-mode] .toast-container,body[data-print-mode] .toast,body[data-print-mode] [aria-live],body[data-print-mode] .state-message,body[data-print-mode] .modal-backdrop,body[data-print-mode] .screen-only,body[data-print-mode] .doctor-workbench>:not(.print-single-container):not(.print-all-container){display:none!important}body[data-print-mode] .app-shell,body[data-print-mode] .app-shell__main,body[data-print-mode] .app-shell__content,body[data-print-mode] .doctor-workbench{box-shadow:none!important;background:#fff!important;border:0!important;width:auto!important;min-height:0!important;margin:0!important;padding:0!important;display:block!important}body[data-print-mode] .print-single-container,body[data-print-mode] .print-all-container{display:none!important}body[data-print-mode=single] .print-single-container,body[data-print-mode=all] .print-all-container{background:#fff!important;width:auto!important;margin:0!important;padding:0!important;display:block!important}body[data-print-mode] .document-print-page{page-break-before:auto;break-before:auto;page-break-after:auto;break-after:auto;width:auto!important;max-width:none!important;box-shadow:none!important;color:#0a2540!important;background:#fff!important;border:0!important;border-radius:0!important;flex-direction:column!important;gap:7mm!important;min-height:277mm!important;margin:0!important;padding:0!important;display:flex!important}body[data-print-mode=all] .print-preview--page:not(:last-child){page-break-after:always!important;break-after:page!important}body[data-print-mode] .print-preview__header{break-inside:avoid;page-break-inside:avoid;max-height:28mm!important;padding-bottom:5mm!important}body[data-print-mode] .print-preview__brand{align-items:center!important;gap:5mm!important}body[data-print-mode] .print-preview__clinic{gap:1mm!important}body[data-print-mode] .print-preview__header strong{font-size:12pt!important;line-height:1.2!important}body[data-print-mode] .print-preview__header span,body[data-print-mode] .print-preview__identification,body[data-print-mode] .print-preview__body p{font-size:9pt!important;line-height:1.35!important}body[data-print-mode] .print-preview__body{flex:auto!important;display:block!important}body[data-print-mode] .print-preview__body h2{margin:0 0 5mm!important;font-size:15pt!important;line-height:1.2!important}body[data-print-mode] .print-preview__identification{margin-bottom:4mm!important;padding:3mm!important}body[data-print-mode] .print-preview__content{break-inside:auto;page-break-inside:auto;min-height:28mm!important;margin-top:4mm!important;padding:4mm!important;font-size:10pt!important;line-height:1.45!important}body[data-print-mode] .print-preview__logo{object-fit:contain!important;width:auto!important;max-width:24mm!important;height:auto!important;max-height:13mm!important}body[data-print-mode] .print-preview__banner{object-fit:contain!important;max-height:15mm!important}body[data-print-mode] .print-signature-container{break-inside:avoid;page-break-inside:avoid;min-height:24mm!important;margin-top:14mm!important}body[data-print-mode] .print-signature-line{width:70mm!important}body[data-print-mode] .print-signature-doctor{font-size:9.5pt!important;line-height:1.25!important}body[data-print-mode] .print-signature-crm{font-size:9pt!important;line-height:1.25!important}body[data-print-mode] .print-preview__footer{break-inside:avoid;page-break-inside:avoid;min-height:9mm!important;margin-top:auto!important;padding-top:4mm!important}body[data-print-mode] .print-footer-text{font-size:8pt!important;line-height:1.25!important}}@media (width<=820px){.app-shell{grid-template-columns:1fr}.sidebar{min-height:auto;max-height:42vh}.public-shell__header,.topbar{flex-direction:column;align-items:flex-start}.app-shell__content{padding:var(--space-md)}.booking-search,.doctor-card,.reception-toolbar,.reception-operational-grid,.doctor-premium-header,.doctor-toolbar,.doctor-focus-grid{grid-template-columns:1fr}.doctor-premium-header{flex-direction:column;align-items:stretch}.doctor-premium-header__meta{justify-content:space-between}.doctor-card__media{width:calc(72px * var(--font-scale));height:calc(72px * var(--font-scale))}}@media (width>=821px) and (width<=1120px){.booking-search,.doctor-card{grid-template-columns:1fr}}.calendar-container{gap:var(--space-md);padding:var(--space-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);display:grid}.calendar__header{justify-content:space-between;align-items:center;display:flex}.calendar__title{font-size:var(--font-size-lg);color:var(--color-primary);margin:0}.calendar__weekdays{text-align:center;font-weight:700;font-size:var(--font-size-sm);color:var(--color-muted);border-bottom:1px solid var(--color-border);padding-bottom:var(--space-xs);grid-template-columns:repeat(7,1fr);display:grid}.calendar__grid{background:var(--color-border);border:1px solid var(--color-border);border-radius:4px;grid-template-columns:repeat(7,1fr);gap:2px;display:grid;overflow:hidden}.calendar__day{aspect-ratio:1;background:var(--color-surface);cursor:pointer;border:0;flex-direction:column;justify-content:center;align-items:center;padding:4px;transition:background .16s,color .16s;display:flex}.calendar__day.empty{background:var(--color-bg);cursor:default}.calendar__day:disabled{color:var(--color-muted);opacity:.4;cursor:not-allowed}.calendar__day.available{color:var(--color-primary);font-weight:700}.calendar__day.available:hover{background:#c6a15b1a}.calendar__day.selected{background:var(--color-gold)!important;color:#fff!important}.calendar__day-number{font-size:var(--font-size-base)}.calendar__day-slots{text-transform:uppercase;color:var(--color-muted);font-size:10px}.calendar__day.selected .calendar__day-slots{color:#fffc}.calendar__day-indicators{gap:2px;display:inline-flex;position:absolute;bottom:4px;right:4px}.calendar__dot{border-radius:999px;width:6px;height:6px;box-shadow:0 0 0 1px #ffffffbf}.calendar__dot--appointments{background:#0f766e}.calendar__dot--blocked{background:#b91c1c}.bulk-calendar-legend{color:var(--color-muted);font-size:var(--font-size-sm);flex-wrap:wrap;gap:8px 12px;margin-top:10px;display:flex}.bulk-calendar-legend span{align-items:center;gap:6px;display:inline-flex}.legend-dot{border-radius:999px;width:9px;height:9px;display:inline-block}.legend-dot--schedule{background:var(--color-primary)}.legend-dot--appointments{background:#0f766e}.legend-dot--empty{background:#d1d5db}.legend-dot--blocked{background:#b91c1c}.bulk-summary{gap:var(--space-md);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.bulk-summary>div,.bulk-status-card{padding:var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);gap:4px;display:grid}.bulk-summary strong,.bulk-status-card strong{color:var(--color-primary)}.bulk-summary span,.bulk-status-card span{color:var(--color-muted);font-size:var(--font-size-sm)}.bulk-status-grid{gap:var(--space-sm);grid-template-columns:repeat(auto-fit,minmax(130px,1fr));display:grid}.patient-shell{background:var(--color-bg);grid-template-columns:minmax(240px,300px) minmax(0,1fr);min-height:100vh;display:grid}.patient-sidebar{background:var(--color-surface);border-right:1px solid var(--color-border);min-height:100vh;max-height:100vh;padding:var(--space-lg);flex-direction:column;display:flex;position:sticky;top:0;overflow-y:auto}.patient-sidebar__header{margin-bottom:var(--space-xl)}.patient-sidebar__brand{align-items:center;gap:var(--space-sm);color:var(--color-primary);margin-bottom:var(--space-lg);display:flex}.patient-sidebar__brand-mark{background:var(--color-primary);color:#fff;border-radius:var(--radius-card);justify-content:center;align-items:center;width:32px;height:32px;font-size:1.2rem;font-weight:900;display:flex}.patient-sidebar__brand-text{flex-direction:column;line-height:1.1;display:flex}.patient-sidebar__brand-text strong{letter-spacing:.5px;font-size:1.15rem}.patient-sidebar__brand-text span{color:var(--color-muted);font-size:.75rem}.patient-sidebar__user{align-items:center;gap:var(--space-md);padding:var(--space-md);background:var(--color-surface-elevated);border-radius:var(--radius-card);border:1px solid var(--color-border);display:flex}.patient-sidebar__avatar,.patient-topbar__avatar{background:var(--gradient-primary);color:#fff;width:48px;height:48px;box-shadow:var(--shadow-sm);border-radius:50%;justify-content:center;align-items:center;font-size:1.15rem;font-weight:700;display:flex}.patient-sidebar__user-info{flex-direction:column;line-height:1.2;display:flex}.patient-sidebar__user-greeting{color:var(--color-muted);font-size:.75rem}.patient-sidebar__user-name{color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;max-width:140px;font-size:1rem;overflow:hidden}.patient-sidebar__nav{gap:var(--space-xs);flex-direction:column;flex:1;display:flex}.patient-sidebar__link{text-align:left;width:100%;padding:var(--control-padding-y) var(--control-padding-x);border-radius:var(--radius-card);color:var(--color-muted);cursor:pointer;background:0 0;border:0;font-weight:600;text-decoration:none;transition:all .18s;display:block}.patient-sidebar__link:hover{background:var(--color-surface-elevated);color:var(--color-primary)}.patient-sidebar__link[data-active=true]{background:var(--color-primary);box-shadow:var(--shadow-sm);color:#fff!important}.patient-sidebar__footer{margin-top:var(--space-lg);border-top:1px solid var(--color-border);padding-top:var(--space-md);gap:var(--space-md);flex-direction:column;display:flex}.patient-shell__main{flex-direction:column;min-width:0;display:flex}.patient-shell__content{min-width:0;padding:var(--space-xl);width:100%;max-width:1200px;margin:0 auto}.patient-topbar,.patient-topbar__nav{display:none}@media (width<=900px){.patient-shell{grid-template-columns:1fr}.patient-sidebar{display:none}.patient-topbar{background:var(--color-surface);border-bottom:1px solid var(--color-border);padding:var(--space-md) var(--space-lg);z-index:100;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.patient-topbar__brand{align-items:center;gap:var(--space-sm);color:var(--color-primary);cursor:pointer;background:0 0;border:0;font-size:1.25rem;display:flex}.patient-topbar__brand-mark{background:var(--color-primary);color:#fff;border-radius:4px;justify-content:center;align-items:center;width:28px;height:28px;font-size:1rem;font-weight:900;display:flex}.patient-topbar__user{align-items:center;gap:var(--space-sm);display:flex}.patient-topbar__greeting{font-size:var(--font-size-sm);color:var(--color-muted)}.patient-topbar__avatar{width:32px;height:32px;font-size:var(--font-size-sm)}.patient-topbar__nav{gap:var(--space-xs);padding:var(--space-xs) var(--space-md);background:var(--color-surface-elevated);border-bottom:1px solid var(--color-border);z-index:99;scrollbar-width:none;display:flex;position:sticky;top:60px;overflow-x:auto}.patient-topbar__nav::-webkit-scrollbar{display:none}.patient-topbar__link{white-space:nowrap;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-card);font-size:var(--font-size-sm);color:var(--color-muted);cursor:pointer;background:0 0;border:0;font-weight:600}.patient-topbar__link[data-active=true]{background:var(--color-primary);color:#fff}.patient-topbar__link--logout{color:var(--color-danger)}}.patient-action-card{transition:all .2s}.patient-action-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);border-color:var(--color-primary)!important;background:var(--color-surface-elevated)!important}.next-appointment-card{transition:all .2s}.next-appointment-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)!important}.patient-page{gap:var(--space-xl);display:grid}.patient-kicker{margin:0 0 var(--space-xs);color:var(--color-gold);font-size:var(--font-size-sm);text-transform:uppercase;font-weight:900}.patient-section-hero,.patient-hero-solid{gap:var(--space-lg);padding:var(--space-xl);border-radius:var(--radius-card);background:linear-gradient(135deg, #082f49fa, #061f33f0), var(--color-primary);color:#fff;box-shadow:var(--shadow-premium);border:1px solid #c6a15b57;display:grid}.patient-section-hero h1,.patient-hero-solid h1{max-width:840px;font-size:calc(2rem * var(--font-scale));color:#fff;margin:0;line-height:1.14}.patient-section-hero p:not(.patient-kicker),.patient-hero-solid p:not(.patient-kicker){color:#ffffffe0;max-width:760px;margin:0}.patient-hero-solid{grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);align-items:end}.patient-search-panel,.patient-booking-search{gap:var(--space-sm);padding:var(--space-md);border-radius:var(--radius-card);box-shadow:var(--shadow-soft);background:#fffffff5;border:1px solid #ffffff2e;display:grid}.patient-search-panel .field__label,.patient-booking-search .field__label{color:var(--color-primary)}.patient-quick-actions{grid-template-columns:repeat(auto-fit, minmax(calc(190px * var(--font-scale)), 1fr));gap:var(--space-md);display:grid}.patient-quick-action{gap:var(--space-xs);min-height:calc(140px * var(--font-scale));padding:var(--space-lg);border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);color:var(--color-text);text-align:left;cursor:pointer;box-shadow:var(--shadow-soft);display:grid}.patient-quick-action:hover{box-shadow:var(--shadow-premium);border-color:#c6a15b8c}.patient-quick-action span{color:var(--color-gold);font-size:var(--font-size-sm);text-transform:uppercase;font-weight:900}.patient-quick-action strong{color:var(--color-primary);font-size:var(--font-size-lg)}.patient-quick-action p,.patient-mini-list span,.patient-doctor-card__specialty,.patient-dependent-card__meta,.patient-appointment-card__meta,.patient-empty-state p{color:var(--color-muted)}.patient-dashboard-main{gap:var(--space-lg);grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);align-items:start;display:grid}.patient-dashboard-main--single{grid-template-columns:minmax(0,1fr)}.patient-dashboard-main__feature,.patient-dashboard-main__aside,.patient-empty-state,.patient-dependent-card,.patient-appointment-card,.patient-doctor-card{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:var(--shadow-soft)}.patient-dashboard-main__feature,.patient-dashboard-main__aside{gap:var(--space-md);padding:var(--space-lg);display:grid}.patient-section-heading{justify-content:space-between;gap:var(--space-md);align-items:start;display:flex}.patient-section-heading h2,.patient-dashboard-main__aside h2{color:var(--color-primary);margin:0}.patient-mini-list{gap:var(--space-sm);display:grid}.patient-mini-list button{padding:var(--space-sm);border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface-elevated);color:var(--color-text);text-align:left;cursor:pointer;gap:2px;display:grid}.patient-empty-state{justify-items:start;gap:var(--space-sm);padding:var(--space-xl);background:linear-gradient(135deg, #ffffffeb, #f7f9fbf5), var(--color-surface);border-style:dashed;display:grid}.patient-empty-state__mark{width:calc(44px * var(--font-scale));height:calc(44px * var(--font-scale));color:var(--color-primary);background:#c6a15b26;border-radius:50%;place-items:center;font-weight:900;display:grid}.patient-empty-state h2{color:var(--color-primary);margin:0}.patient-dependent-grid,.patient-appointment-list,.patient-doctor-results{gap:var(--space-md);display:grid}.patient-dependent-card{gap:var(--space-md);padding:var(--space-lg);grid-template-columns:auto minmax(0,1fr) auto;align-items:start;display:grid}.patient-dependent-card__icon{width:calc(54px * var(--font-scale));height:calc(54px * var(--font-scale));background:var(--color-primary);color:#fff;border-radius:50%;place-items:center;font-weight:900;display:grid}.patient-dependent-card h3,.patient-appointment-card h3,.patient-doctor-card h2,.patient-booking-confirm h3{color:var(--color-primary);margin:0}.patient-dependent-card__meta,.patient-appointment-card__meta,.patient-doctor-card__chips{gap:var(--space-xs);flex-wrap:wrap;display:flex}.patient-dependent-card__meta span,.patient-doctor-card__chips span{padding:calc(6px * var(--font-scale)) calc(10px * var(--font-scale));border:1px solid var(--color-border);background:var(--color-surface-elevated);border-radius:999px}.patient-appointment-card{grid-template-columns:minmax(120px,auto) minmax(0,1fr);display:grid;overflow:hidden}.patient-appointment-card__date{align-content:center;gap:var(--space-xs);padding:var(--space-lg);background:linear-gradient(180deg, #082f49f5, #061f33f5), var(--color-primary);color:#fff;display:grid}.patient-appointment-card__date strong{font-size:var(--font-size-lg);text-transform:capitalize}.patient-appointment-card__body{gap:var(--space-md);min-width:0;padding:var(--space-lg);display:grid}.patient-appointment-card__header{justify-content:space-between;gap:var(--space-md);align-items:start;display:flex}.patient-appointment-card__actions{gap:var(--space-sm);flex-wrap:wrap;display:flex}.patient-section-hero--booking{grid-template-columns:minmax(0,1fr)}.patient-booking-search{max-width:720px}.patient-doctor-card{padding:var(--space-lg);cursor:pointer}.patient-doctor-card__main{gap:var(--space-lg);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;display:grid}.patient-doctor-card__actions{justify-content:flex-end;gap:var(--space-sm);flex-wrap:wrap;display:flex}.patient-doctor-card__photo{width:calc(88px * var(--font-scale));height:calc(88px * var(--font-scale));color:var(--color-primary);font-size:calc(1.45rem * var(--font-scale));background:#082f4914;border:3px solid #c6a15b59;border-radius:50%;place-items:center;font-weight:900;display:grid;overflow:hidden}.patient-doctor-card__photo img{object-fit:cover;width:100%;height:100%}.patient-doctor-card__content{gap:var(--space-xs);min-width:0;display:grid}.patient-doctor-card__schedule{gap:var(--space-lg);margin-top:var(--space-lg);padding-top:var(--space-lg);border-top:1px solid var(--color-border);grid-template-columns:minmax(280px,.8fr) minmax(260px,1fr);display:grid}.patient-doctor-card__notice{padding:var(--space-sm);border:1px dashed var(--color-border);border-radius:var(--radius-card);color:var(--color-muted)}.patient-slot-grid{grid-template-columns:repeat(auto-fill, minmax(calc(82px * var(--font-scale)), 1fr));gap:var(--space-sm);display:grid}.patient-slot-grid button,.patient-choice-list button{min-height:var(--control-height);padding:var(--control-padding-y) var(--control-padding-x);border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface-elevated);color:var(--color-text);cursor:pointer;font-weight:800}.patient-slot-grid button[data-selected=true],.patient-choice-list button[data-selected=true]{border-color:var(--color-primary);background:var(--color-primary);color:#fff}.patient-booking-confirm{gap:var(--space-lg);display:grid}.patient-booking-confirm__summary{padding:var(--space-md);border-radius:var(--radius-card);background:var(--color-surface-elevated);border:1px solid #c6a15b57}.patient-choice-list{gap:var(--space-sm);display:grid}.patient-choice-list button{text-align:left;gap:2px;display:grid}.patient-choice-list span{color:inherit;opacity:.78;font-weight:600}.patient-booking-confirm__actions{justify-content:flex-end;gap:var(--space-sm);flex-wrap:wrap;display:flex}.patient-doctor-detail{gap:var(--space-lg);display:grid}.patient-doctor-detail__hero{gap:var(--space-lg);padding:var(--space-lg);border-radius:var(--radius-card);background:var(--color-surface-elevated);border:1px solid #c6a15b57;grid-template-columns:auto minmax(0,1fr);align-items:center;display:grid}.patient-doctor-detail__photo{width:calc(104px * var(--font-scale));height:calc(104px * var(--font-scale));background:var(--color-primary);color:#fff;font-size:calc(1.7rem * var(--font-scale));border:3px solid #c6a15b6b;border-radius:50%;place-items:center;font-weight:900;display:grid;overflow:hidden}.patient-doctor-detail__photo img{object-fit:cover;width:100%;height:100%}.patient-doctor-detail__bio{padding:var(--space-md);border-left:4px solid var(--color-gold);border-radius:var(--radius-card);background:var(--color-surface-elevated)}.patient-doctor-detail__facts{grid-template-columns:repeat(auto-fit, minmax(calc(180px * var(--font-scale)), 1fr));gap:var(--space-sm);margin:0;display:grid}.patient-doctor-detail__facts div{padding:var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface)}.patient-doctor-detail__facts dt{color:var(--color-muted);font-size:var(--font-size-sm);text-transform:uppercase;font-weight:800}.patient-doctor-detail__facts dd{margin:var(--space-xs) 0 0;color:var(--color-primary);font-weight:800}.patient-doctor-detail__actions{justify-content:flex-end;gap:var(--space-sm);flex-wrap:wrap;display:flex}.doctor-profile-photo-panel{align-items:center;gap:var(--space-lg);margin-top:var(--space-lg);padding:var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface-elevated);display:flex}.doctor-profile-photo-panel__avatar{width:calc(72px * var(--font-scale));height:calc(72px * var(--font-scale));background:var(--color-primary);color:#fff;font-size:calc(1.25rem * var(--font-scale));border:3px solid #c6a15b73;border-radius:50%;flex:none;place-items:center;font-weight:900;display:grid;overflow:hidden}.doctor-profile-photo-panel__avatar img{object-fit:cover;width:100%;height:100%}.doctor-profile-photo-panel__content{gap:var(--space-xs);display:grid}.doctor-profile-photo-panel__content p{color:var(--color-primary);margin:0;font-weight:900}.doctor-profile-photo-panel__upload{width:fit-content;min-height:var(--control-height);padding:var(--control-padding-y) var(--control-padding-x);border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);color:var(--color-primary);cursor:pointer;align-items:center;font-weight:800;display:inline-flex}.doctor-profile-photo-panel__upload input{clip:rect(0, 0, 0, 0);white-space:nowrap;clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}@media (width<=980px){.patient-hero-solid,.patient-dashboard-main,.patient-doctor-card__schedule,.patient-doctor-card__main,.patient-dependent-card,.patient-doctor-detail__hero{grid-template-columns:1fr}.patient-doctor-card__actions{justify-content:flex-start}}@media (width<=720px){.patient-section-hero,.patient-hero-solid,.patient-dashboard-main__feature,.patient-dashboard-main__aside,.patient-doctor-card,.patient-dependent-card{padding:var(--space-md)}.patient-appointment-card{grid-template-columns:1fr}.patient-appointment-card__date{grid-template-columns:auto auto;justify-content:space-between}.patient-appointment-card__header{flex-direction:column}}.datepicker-dropdown{z-index:50;margin-top:var(--space-xs);padding:var(--space-sm);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);box-shadow:var(--shadow-premium);width:320px;position:absolute;top:100%;left:0}.datepicker-inline-container{margin-top:var(--space-xs);padding:var(--space-sm);background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-card);box-shadow:var(--shadow-soft)}.relative{position:relative}.appointment-selection-list{gap:var(--space-sm);margin-top:var(--space-sm);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));max-height:280px;padding:4px;display:grid;overflow-y:auto}.appointment-selection-item{gap:var(--space-xs);padding:var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);cursor:pointer;-webkit-user-select:none;user-select:none;flex-direction:column;transition:all .15s;display:flex;position:relative}.appointment-selection-item:hover{border-color:var(--color-gold);background:var(--color-surface-elevated)}.appointment-selection-item--selected{border-color:var(--color-success);box-shadow:0 0 0 1px var(--color-success);background:#027a480d}.appointment-selection-item__meta{justify-content:space-between;align-items:center;display:flex}.appointment-selection-item__time{color:var(--color-primary);font-weight:800;font-size:var(--font-size-md)}.appointment-selection-item__details{gap:2px;display:grid}.appointment-selection-item__name{color:var(--color-text);font-size:var(--font-size-sm);font-weight:700}.appointment-selection-item__responsible{color:var(--color-muted);font-size:var(--font-size-xs);font-weight:700}.appointment-selection-item__checkmark{top:var(--space-sm);right:var(--space-sm);background:var(--color-success);color:#fff;width:18px;height:18px;font-size:var(--font-size-xs);border-radius:50%;place-items:center;font-weight:700;display:grid;position:absolute}.empty-selection-message{color:var(--color-muted);text-align:center;padding:var(--space-md);grid-column:1/-1;font-style:italic}.print-signature-container{margin-top:calc(34px * var(--font-scale));text-align:center;page-break-inside:avoid;break-inside:avoid;flex-direction:column;justify-content:center;align-items:center;gap:2px;display:flex}.print-signature-label{font-size:var(--font-size-xs);color:var(--color-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-lg);font-weight:700;display:none}.print-signature-line{background:var(--color-border);width:320px;height:1px;margin-bottom:var(--space-xs)}.print-signature-doctor{font-size:var(--font-size-sm);color:var(--color-primary);font-weight:800}.print-signature-crm{font-size:var(--font-size-xs);color:var(--color-muted);font-weight:700}.print-footer-text{font-size:calc(.76rem * var(--font-scale));color:var(--color-muted);font-weight:600}.print-single-container,.print-all-container{display:none}.form-highlight{animation:2s ease-in-out pulse-highlight}@keyframes pulse-highlight{0%{outline:3px solid #0000;box-shadow:0 0 #0000}20%{outline:3px solid var(--color-primary);box-shadow:0 0 0 6px #0a254026}80%{outline:3px solid var(--color-primary);box-shadow:0 0 0 6px #0a254026}to{outline:3px solid #0000;box-shadow:0 0 #0000}}
