.app-notifications{position:fixed;top:1rem;right:1rem;z-index:1200;display:flex;flex-direction:column;gap:.75rem;max-width:22rem}.app-notification{display:grid;grid-template-columns:auto 1fr auto;gap:.75rem;align-items:start;padding:.85rem 1rem;border-radius:10px;background:var(--surface-elevated, #fff);border:1px solid var(--border-color, #d8dee6);box-shadow:0 8px 24px #0f172a1f}.app-notification--success{border-left:4px solid #16a34a}.app-notification--warning{border-left:4px solid #d97706}.app-notification--error{border-left:4px solid #dc2626}.app-notification--info{border-left:4px solid #2563eb}.app-notification__body strong{display:block;margin-bottom:.25rem}.app-notification__body p{margin:0;font-size:.9rem;color:var(--text-muted, #64748b)}.app-notification__link{display:inline-block;margin-top:.35rem;font-size:.85rem}.app-notification__close{border:none;background:transparent;cursor:pointer;color:var(--text-muted, #64748b)}.preview-focus-overlay--interactive{cursor:pointer}.preview-focus-overlay__content--multiline{display:block;white-space:pre-wrap}.preview-focus-overlay--focused>.preview-focus-overlay__content{animation:preview-focus-overlay-content-pulse 1.5s ease-in-out infinite}.cde-report-section.preview-focus-overlay--focused>p,.cde-report-section.preview-focus-overlay--focused>ul,.cde-report-section.preview-focus-overlay--focused>ol,.cde-report-section.preview-focus-overlay--focused>table,.cde-report-section.preview-focus-overlay--focused>div:not(.cde-report-section-heading){animation:preview-focus-overlay-content-pulse 1.5s ease-in-out infinite}[data-cde-editable].preview-focus-overlay--focused{animation:preview-focus-overlay-content-pulse 1.5s ease-in-out infinite}@keyframes preview-focus-overlay-content-pulse{0%,to{opacity:1}50%{opacity:.4}}@media print{.preview-focus-overlay--focused>.preview-focus-overlay__content,.cde-report-section.preview-focus-overlay--focused>p,.cde-report-section.preview-focus-overlay--focused>ul,.cde-report-section.preview-focus-overlay--focused>ol,.cde-report-section.preview-focus-overlay--focused>table,.cde-report-section.preview-focus-overlay--focused>div:not(.cde-report-section-heading),[data-cde-editable].preview-focus-overlay--focused{animation:none!important;opacity:1!important}.preview-focus-overlay--interactive{cursor:default!important}}.ntrf-overlay.request-form-signature-overlay,.ntrrf-overlay.request-form-signature-overlay{overflow:visible;white-space:normal;pointer-events:none;z-index:2}.request-form-signature-overlay{display:flex;align-items:flex-end;justify-content:flex-start}.request-form-signature-image{display:block;width:auto;height:auto;max-width:none;max-height:none;object-fit:none;object-position:left bottom;transform:translate(-20px,30px) scale(2);transform-origin:left bottom}.page-skeleton{padding:1.25rem 1.5rem;display:flex;flex-direction:column;gap:.75rem}.page-skeleton-header,.page-skeleton-toolbar,.page-skeleton-row{border-radius:6px;background:linear-gradient(90deg,#eef1f4,#f8f9fa,#eef1f4);background-size:200% 100%;animation:page-skeleton-shimmer 1.2s ease-in-out infinite}.page-skeleton-header{height:2rem;width:min(320px,60%)}.page-skeleton-toolbar{height:2.5rem;width:100%}.page-skeleton-row{height:3rem;width:100%}@keyframes page-skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.auth-check-skeleton{min-height:4px}.page-skeleton-inline{padding:1rem 1.5rem}.header{display:flex;align-items:center;justify-content:space-between;height:var(--header-height);padding:0 1.25rem;background:var(--color-primary);color:#fff;box-shadow:var(--shadow-md);position:sticky;top:0;z-index:100}.brand{display:flex;align-items:baseline;gap:.5rem;min-width:0}.brand-title{font-size:1.25rem;font-weight:700;letter-spacing:-.02em;white-space:nowrap}.brand-divider{opacity:.5;font-weight:300}.brand-subtitle{font-size:.8125rem;font-weight:400;opacity:.9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-actions{display:flex;align-items:center;gap:1rem;flex-shrink:0}.user-info{display:none;font-size:.8125rem;opacity:.9}.header-intake-btn{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;background:#ffffff2e;border:1px solid rgba(255,255,255,.35);border-radius:var(--radius-sm);color:#fff;font-size:.8125rem;font-weight:600;transition:background .15s}.header-intake-btn:hover{background:#ffffff47}.logout-btn{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;background:#ffffff1f;border:1px solid rgba(255,255,255,.25);border-radius:var(--radius-sm);color:#fff;font-size:.8125rem;transition:background .15s}.logout-btn:hover{background:#fff3}@media(min-width:640px){.user-info{display:block}}@media(max-width:480px){.brand-subtitle{display:none}}.nav{display:flex;align-items:stretch;gap:0;height:var(--nav-height);padding:0 .75rem;background:var(--color-surface);border-bottom:1px solid var(--color-border);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.nav::-webkit-scrollbar{display:none}.nav-link{display:inline-flex;align-items:center;padding:0 1rem;font-size:.875rem;font-weight:500;color:var(--color-text-secondary);white-space:nowrap;border-bottom:2px solid transparent;transition:color .15s,border-color .15s}.nav-link:hover{color:var(--color-primary)}.nav-link.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.nav-link-admin{margin-left:auto}.app-layout{min-height:100vh;display:flex;flex-direction:column}.app-main{flex:1;padding:1.25rem;max-width:1440px;width:100%;margin:0 auto}.app-main--full-bleed{max-width:none;width:100%;margin:0;padding:0;display:flex;flex-direction:column;min-height:0}.app-layout--cde{height:100dvh;overflow:hidden}.app-layout--cde .app-main--full-bleed{flex:1;min-height:0}.app-layout--cde .app-main--full-bleed>.cde-page{flex:1;min-height:0;height:auto}.loading-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;color:var(--color-text-secondary)}.loading-spinner{width:32px;height:32px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.clinical-copilot-btn{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem .875rem;border-radius:var(--radius-sm);border:1px solid #c4b5fd;background:linear-gradient(180deg,#f5f3ff,#ede9fe);color:#5b21b6;font-size:.8125rem;font-weight:600;text-decoration:none}.clinical-copilot-btn:hover{background:#ede9fe;border-color:#a78bfa}.clinical-copilot-btn--compact{padding:.375rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.consult-form-overlay{position:fixed;inset:0;background:#1a233273;display:flex;align-items:flex-start;justify-content:center;padding:1rem;z-index:200;overflow-y:auto}.consult-form-card{width:100%;max-width:760px;background:var(--color-surface);border-radius:var(--radius);box-shadow:var(--shadow-md);margin:1rem auto 2rem}.consult-form-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--color-border)}.consult-form-header h2{font-size:1.0625rem;font-weight:600}.consult-form-close{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:transparent;color:var(--color-text-secondary)}.consult-form-body{padding:1.25rem;display:flex;flex-direction:column;gap:1.25rem}.consult-form-section h3{font-size:.8125rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-secondary);margin-bottom:.75rem}.consult-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.consult-form-grid .full-width{grid-column:1 / -1}.consult-form-field label{display:block;font-size:.75rem;font-weight:600;color:var(--color-text-secondary);margin-bottom:.3rem}.consult-form-field input,.consult-form-field select,.consult-form-field textarea{width:100%;padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.875rem;background:#fafbfc}.consult-form-field textarea{min-height:72px;resize:vertical}.consult-form-field input:focus,.consult-form-field select:focus,.consult-form-field textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.consult-form-error{padding:.625rem .75rem;background:#ffebee;border:1px solid #ffcdd2;border-radius:var(--radius-sm);color:var(--color-danger);font-size:.8125rem}.consult-form-actions{display:flex;justify-content:flex-end;gap:.5rem;padding:0 1.25rem 1.25rem}.modal-btn-primary{background:var(--color-primary);color:#fff}@media(max-width:640px){.consult-form-grid{grid-template-columns:1fr}}.page-header-block{margin-bottom:1.5rem}.page-header-block .page-title{font-size:1.375rem;font-weight:600;color:var(--color-text);line-height:1.3}.page-header-block .page-subtitle{font-size:.875rem;color:var(--color-text-secondary);margin-top:.5rem;line-height:1.45}.page-navigation-toolbar{display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:nowrap;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--color-border)}.page-navigation-toolbar__nav{display:flex;align-items:center;flex-wrap:nowrap;gap:1.75rem;min-width:0;flex:1 1 auto;justify-content:center}.page-navigation-toolbar__actions{display:flex;align-items:center;flex-wrap:nowrap;gap:.75rem;flex-shrink:0;margin-left:auto}.page-toolbar-btn{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font-size:.875rem;font-weight:600;white-space:nowrap;flex-shrink:0;transition:background .15s,border-color .15s}.page-toolbar-btn:hover{background:#f5f7fa;border-color:#c5cdd8}.page-toolbar-btn--calendar{min-width:7.5rem;justify-content:center}.page-toolbar-date-input{padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.875rem;background:var(--color-surface);flex-shrink:0}.page-toolbar-count{font-size:.8125rem;color:var(--color-text-secondary);white-space:nowrap;flex-shrink:0;padding-left:.25rem}.page-toolbar-action-btn{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem 1rem;background:var(--color-success);color:#fff;border:none;border-radius:var(--radius-sm);font-size:.875rem;font-weight:600;white-space:nowrap;flex-shrink:0;transition:filter .15s}.page-toolbar-action-btn:hover{filter:brightness(1.08)}.page-toolbar-action-btn--secondary{background:var(--color-primary)}.schedule-page-layout{display:flex;flex-direction:column;gap:0;min-height:0}.schedule-page-layout__content{display:flex;flex-direction:column;gap:1.25rem}@media(max-width:1100px){.page-navigation-toolbar,.page-navigation-toolbar__nav{gap:1.25rem}}@media(max-width:900px){.page-navigation-toolbar{flex-wrap:wrap;justify-content:center}.page-navigation-toolbar__nav{justify-content:center;flex-wrap:wrap;width:100%}.page-navigation-toolbar__actions{width:100%;justify-content:flex-end;margin-left:0}}@media(max-width:640px){.page-navigation-toolbar__nav{gap:1rem}.page-toolbar-btn span{font-size:.8125rem}}.weekly-navigation-bar{align-items:center;flex-wrap:nowrap}.weekly-navigation-bar__left{display:flex;align-items:center;gap:1.25rem;flex:1 1 auto;min-width:0}.weekly-navigation-bar__controls{display:flex;align-items:center;flex-wrap:nowrap;gap:.75rem}.weekly-navigation-bar__search-btn{min-width:2.5rem;justify-content:center;padding-inline:.625rem}.weekly-navigation-bar__count{margin-left:.25rem}.weekly-navigation-bar__actions{margin-left:auto}.search-dialog-section{margin-top:1.25rem}.search-dialog-section h3{margin:0 0 .625rem;font-size:.875rem;color:var(--color-primary-dark)}.search-dialog-modules{display:flex;flex-wrap:wrap;gap:1rem}.search-dialog-modules label{display:inline-flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600}.schedule-search-modal{width:min(100%,52rem);max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.search-results-panel{display:flex;flex-direction:column;min-height:8rem;max-height:min(42vh,22rem);margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--color-border);flex-shrink:0}.search-results-panel__header{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.search-results-panel__header h3{margin:0;font-size:.9375rem;color:var(--color-primary-dark)}.search-results-panel__meta{display:flex;gap:.75rem;font-size:.8125rem;color:var(--color-text-secondary)}.search-results-panel__scroll{display:grid;gap:.625rem;overflow-y:auto;min-height:0;flex:1;padding-right:.25rem}.search-results-panel__empty{padding:1.25rem .75rem;text-align:center;font-size:.875rem;color:var(--color-text-secondary)}.search-filters-panel{display:flex;flex-direction:column;gap:.875rem;overflow-y:auto;min-height:0}.search-filters-panel h3{margin:0;font-size:.9375rem;color:var(--color-primary-dark)}.search-filters-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem 1rem}.search-filters-grid label{display:grid;gap:.375rem;font-size:.8125rem;font-weight:600}.search-filters-grid input{padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.875rem}.search-date-row{grid-column:1 / -1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.search-date-row label{display:grid;gap:.375rem;font-size:.8125rem;font-weight:600}.search-date-row input{padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.875rem}.search-patient-card{border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.875rem;display:grid;gap:.375rem;cursor:pointer;background:var(--color-surface);transition:border-color .15s,background .15s,box-shadow .15s}.search-patient-card:hover,.search-patient-card--selected{border-color:var(--color-primary);background:#eef4fb;box-shadow:0 0 0 1px #2563eb14}.search-patient-card:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.search-patient-card__header{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem}.search-patient-card__header strong{font-size:.9375rem}.search-patient-card__badges{display:flex;flex-wrap:wrap;gap:.375rem;justify-content:flex-end}.search-patient-card__line{font-size:.8125rem;color:var(--color-text-secondary)}.search-patient-card__updated{margin-top:.125rem;font-size:.75rem}.search-match-badge{border:none;border-radius:999px;padding:.2rem .55rem;font-size:.6875rem;font-weight:700;letter-spacing:.01em;cursor:pointer}.search-match-badge--consult{background:#dbeafe;color:#1e40af}.search-match-badge--bronchoscopy{background:#dcfce7;color:#166534}.search-match-badge--procedure{background:#ffedd5;color:#c2410c}.page-toolbar-btn--active{border-color:var(--color-primary);color:var(--color-primary-dark);background:#eef4fb}.page-toolbar-btn:disabled{opacity:.45;cursor:not-allowed}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.schedule-range-modal{width:min(100%,34rem)}.schedule-range-fields{display:grid;gap:.75rem;margin-top:1rem}.schedule-range-fields label{display:grid;gap:.375rem;font-size:.8125rem;font-weight:600}.schedule-range-fields input{padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.875rem}.schedule-search-form{display:grid;gap:.75rem;margin-top:1rem}.schedule-search-form label{display:grid;gap:.375rem;font-size:.8125rem;font-weight:600}.schedule-search-form input{padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.875rem}.schedule-search-results{margin-top:1rem;display:grid;gap:.75rem;max-height:24rem;overflow-y:auto}.schedule-search-result{border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.875rem;display:grid;gap:.5rem}.schedule-search-result-header{display:flex;justify-content:space-between;gap:.75rem}.schedule-search-result-header strong{font-size:.9375rem}.schedule-search-meta{font-size:.8125rem;color:var(--color-text-secondary)}.schedule-search-actions{display:flex;flex-wrap:wrap;gap:.5rem}.schedule-search-actions .action-btn{width:auto;padding:.375rem .625rem;font-size:.75rem}.schedule-search-pagination{display:flex;justify-content:flex-end;align-items:center;margin-top:.75rem;font-size:.8125rem}@media(max-width:640px){.search-filters-grid,.search-date-row{grid-template-columns:1fr}}.chronological-day-list{display:grid;gap:1.25rem}.chronological-day-block{display:grid;gap:.75rem}.chronological-day-heading{font-size:1rem;font-weight:700;color:var(--color-primary-dark);padding-bottom:.375rem;border-bottom:1px solid var(--color-border)}.chronological-day-items{display:grid;gap:.75rem}.schedule-loading,.schedule-empty{padding:2rem 1rem;text-align:center;color:var(--color-text-secondary)}.schedule-empty h2{margin:0 0 .5rem;color:var(--color-text);font-size:1.125rem}.schedule-empty p{margin:0 0 1rem}@media(max-width:900px){.weekly-navigation-bar{flex-wrap:wrap;gap:1rem}.weekly-navigation-bar__left{width:100%}.weekly-navigation-bar__actions{width:100%;justify-content:flex-end;margin-left:0}}.virtual-list{contain:strict}.virtual-list-item{box-sizing:border-box;overflow:hidden}.consult-table-wrap{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden}.consult-table{width:100%;border-collapse:collapse;font-size:.875rem}.consult-table thead{background:#eef2f6;border-bottom:1px solid var(--color-border)}.consult-table th{padding:.75rem 1rem;text-align:left;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-secondary);white-space:nowrap}.consult-table td{padding:.875rem 1rem;border-bottom:1px solid var(--color-border);vertical-align:top}.consult-table tbody tr:last-child td{border-bottom:none}.consult-table tbody tr:hover{background:#f8fafc}.patient-cell{min-width:160px}.patient-name{font-weight:600;color:var(--color-text)}.patient-meta{font-size:.8125rem;color:var(--color-text-secondary);margin-top:.125rem}.patient-age{font-size:.8125rem;color:var(--color-text-muted);margin-top:.125rem}.location-badge{display:inline-block;padding:.2rem .5rem;background:var(--color-primary-light);color:var(--color-primary-dark);border-radius:var(--radius-sm);font-size:.8125rem;font-weight:600;font-family:SF Mono,Consolas,monospace}.diagnosis-cell{max-width:220px;color:var(--color-text)}.mrn-cell{font-family:SF Mono,Consolas,monospace;font-size:.8125rem;color:var(--color-text-secondary);white-space:nowrap}.date-cell{white-space:nowrap;color:var(--color-text)}.updated-cell{white-space:nowrap;font-size:.8125rem;color:var(--color-text-secondary)}.actions-cell{white-space:nowrap}.action-group{display:inline-flex;gap:.125rem}.action-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--color-text-secondary);transition:background .15s,color .15s,border-color .15s}.action-btn:hover{background:var(--color-primary-light);color:var(--color-primary);border-color:#bbdefb}.consult-cards{display:none}.consult-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1rem;box-shadow:var(--shadow-sm)}.consult-card+.consult-card{margin-top:.75rem}.consult-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.75rem}.consult-card-actions{display:flex;gap:.125rem;flex-shrink:0}.consult-card-row{display:flex;justify-content:space-between;gap:.5rem;padding:.375rem 0;border-top:1px solid var(--color-border);font-size:.8125rem}.consult-card-label{color:var(--color-text-muted);flex-shrink:0}.consult-card-value{text-align:right;color:var(--color-text)}.consult-error{padding:1rem;background:#ffebee;border:1px solid #ffcdd2;border-radius:var(--radius);color:var(--color-danger);font-size:.875rem}.consult-loading{padding:3rem;text-align:center;color:var(--color-text-secondary)}.consult-empty{background:var(--color-surface);border:1px dashed var(--color-border);border-radius:var(--radius);padding:3rem 1.5rem;text-align:center;color:var(--color-text-secondary)}.consult-empty h2{font-size:1.125rem;font-weight:600;color:var(--color-text);margin-bottom:.5rem}.consult-empty p{margin-bottom:1.25rem}.consult-time-meta,.bed-meta{font-size:.75rem;color:var(--color-text-muted);margin-top:.125rem}.bed-meta{display:block;margin-top:.25rem}.priority-badge{display:inline-block;padding:.2rem .5rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600}.priority-badge.priority-routine{background:#eef2f6;color:var(--color-text-secondary)}.priority-badge.priority-semi_urgent{background:#e3f2fd;color:#1565c0}.priority-badge.priority-urgent{background:#fff3e0;color:#e65100}.priority-badge.priority-icu{background:#f3e5f5;color:#6a1b9a}.priority-badge.priority-met{background:#ffebee;color:var(--color-danger)}.action-btn-danger:hover{background:#ffebee;color:var(--color-danger);border-color:#ffcdd2}.modal-overlay{position:fixed;inset:0;background:#1a233273;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:200}.modal-card{width:100%;max-width:440px;background:var(--color-surface);border-radius:var(--radius);box-shadow:var(--shadow-md);padding:1.25rem}.modal-card h2{font-size:1.0625rem;font-weight:600;margin-bottom:.75rem}.confirm-text{font-size:.875rem;color:var(--color-text-secondary);line-height:1.5;margin-bottom:1rem}.modal-actions{display:flex;justify-content:flex-end;gap:.5rem}.modal-btn{padding:.5rem .875rem;border-radius:var(--radius-sm);font-size:.875rem;font-weight:600;border:1px solid transparent}.modal-btn-secondary{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text-secondary)}.modal-btn-danger{background:var(--color-danger);color:#fff}.modal-btn:disabled{opacity:.6;cursor:not-allowed}@media(max-width:900px){.consult-table-wrap{display:none}.consult-cards{display:block}.col-hide-md{display:none}}@media(min-width:901px){.col-hide-md{display:table-cell}}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.page-title{font-size:1.375rem;font-weight:600;color:var(--color-text);line-height:1.3}.page-subtitle{font-size:.875rem;color:var(--color-text-secondary);margin-top:.5rem;line-height:1.45}.page-placeholder{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:3rem 2rem;text-align:center;color:var(--color-text-secondary)}.page-placeholder h2{font-size:1.125rem;font-weight:600;color:var(--color-text);margin-bottom:.5rem}.login-page{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem;overflow:hidden}.login-backdrop{position:absolute;inset:0;background:linear-gradient(165deg,#0d47a1d1,#1565c0ad 48%,#0d47a1d9),url(/login-bg.svg) center / cover no-repeat;z-index:0}.login-card{position:relative;z-index:1;width:100%;max-width:400px;background:#ffffffeb;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.65);border-radius:12px;box-shadow:0 1px 2px #0000000f,0 16px 48px #00000038;padding:1.75rem 1.75rem 1.5rem}.login-brand{text-align:center;margin-bottom:1.25rem;padding-bottom:1.125rem;border-bottom:1px solid var(--color-border)}.login-logo{display:block;margin:0 auto .75rem;border-radius:10px;box-shadow:0 2px 8px #1565c040}.login-brand h1{font-size:1.625rem;font-weight:700;letter-spacing:-.03em;color:var(--color-primary);margin-bottom:.5rem}.login-hospital{font-size:.8125rem;font-weight:600;color:var(--color-text);letter-spacing:.01em;line-height:1.3}.login-service{font-size:.8125rem;font-weight:400;color:var(--color-text-secondary);margin-top:.125rem;line-height:1.3}.login-form{display:flex;flex-direction:column;gap:.75rem}.form-field label{display:block;font-size:.75rem;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.3rem}.form-field input{width:100%;padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.9375rem;color:var(--color-text);background:#fafbfce6;transition:border-color .15s,box-shadow .15s,background .15s}.form-field input::placeholder{color:var(--color-text-muted)}.form-field input:focus{outline:none;background:var(--color-surface);border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.login-session-expired{padding:.625rem .75rem;background:#fff8e1;border:1px solid #ffe082;border-radius:var(--radius-sm);color:#8d6e00;font-size:.8125rem;line-height:1.45}.login-error{padding:.5rem .625rem;background:#ffebee;border:1px solid #ffcdd2;border-radius:var(--radius-sm);color:var(--color-danger);font-size:.8125rem}.login-btn{margin-top:.25rem;padding:.625rem;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-sm);font-size:.875rem;font-weight:600;letter-spacing:.02em;transition:background .15s,box-shadow .15s}.login-btn:hover:not(:disabled){background:var(--color-primary-dark);box-shadow:0 2px 8px #1565c059}.login-btn:disabled{opacity:.6;cursor:not-allowed}@media(prefers-reduced-motion:reduce){.form-field input,.login-btn{transition:none}}:root{--color-primary: #1565c0;--color-primary-dark: #0d47a1;--color-primary-light: #e3f2fd;--color-surface: #ffffff;--color-background: #f4f6f8;--color-border: #dde3ea;--color-text: #1a2332;--color-text-secondary: #5c6b7a;--color-text-muted: #8a97a6;--color-success: #2e7d32;--color-warning: #ed6c02;--color-danger: #c62828;--header-height: 56px;--nav-height: 44px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .08);--shadow-md: 0 2px 8px rgba(0, 0, 0, .1);--radius: 8px;--radius-sm: 4px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:14px;line-height:1.5;color:var(--color-text);background:var(--color-background);-webkit-font-smoothing:antialiased}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100vh}#root{min-height:100vh}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}input{font-family:inherit}h1,h2,h3,p{margin:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
