:root{--primary-hsl: 215, 65%, 42%;--primary: hsl(var(--primary-hsl));--primary-hover: hsl(215, 65%, 36%);--primary-light: hsl(215, 65%, 95%);--secondary-hsl: 160, 60%, 40%;--secondary: hsl(var(--secondary-hsl));--secondary-hover: hsl(160, 60%, 34%);--accent-amber: hsl(38, 92%, 50%);--accent-indigo: hsl(235, 75%, 62%);--accent-rose: hsl(350, 75%, 55%);--bg-app: #f4f7fa;--bg-surface: #ffffff;--bg-subtle: #f8fafc;--border-light: #e2e8f0;--border-medium: #cbd5e1;--border-strong: #94a3b8;--text-main: #0f172a;--text-muted: #64748b;--text-inverse: #ffffff;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .08), 0 2px 4px -1px rgba(0, 0, 0, .04);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--transition-fast: .15s ease}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background-color:var(--bg-app);color:var(--text-main);line-height:1.5;-webkit-font-smoothing:antialiased}.app-container{max-width:1440px;margin:0 auto;padding:1.5rem;display:flex;flex-direction:column;gap:1.5rem;min-height:100vh}.app-main-content{display:flex;flex-direction:column;gap:1rem}.table-actions-bar{display:flex;justify-content:flex-start;align-items:center}.toggle-form-btn{font-size:.875rem;padding:.55rem 1.1rem;border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);transition:all var(--transition-fast)}.app-header{background:var(--bg-surface);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:1.25rem 1.5rem;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:1.25rem}.header-top-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.brand-container{display:flex;align-items:center;gap:.85rem}.brand-logo{width:44px;height:44px;background:linear-gradient(135deg,#1f6bd6,#1354ae);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:1.4rem;box-shadow:0 4px 10px #0f52ba40}.brand-title{font-size:1.35rem;font-weight:700;color:var(--text-main);letter-spacing:-.02em}.brand-subtitle{font-size:.825rem;color:var(--text-muted);font-weight:500}.header-actions-group{display:flex;align-items:center;gap:.75rem}.date-navigation-bar{display:flex;justify-content:space-between;align-items:center;background:var(--bg-subtle);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:.75rem 1.25rem;flex-wrap:wrap;gap:1rem}.date-controls-left{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.date-section-label{font-size:.875rem;font-weight:600;color:var(--text-muted)}.date-picker-button-group{display:flex;align-items:center;background:var(--bg-surface);border:1px solid var(--border-medium);border-radius:var(--radius-sm);overflow:hidden;box-shadow:var(--shadow-sm)}.btn-icon{background:transparent;border:none;padding:.4rem .6rem;cursor:pointer;color:var(--text-main);display:flex;align-items:center;justify-content:center;transition:background var(--transition-fast)}.btn-icon:hover{background:var(--border-light)}.date-input-wrapper{display:flex;align-items:center;padding:0 .5rem;gap:.35rem;border-left:1px solid var(--border-light);border-right:1px solid var(--border-light)}.calendar-icon{color:var(--primary)}.date-picker-input{border:none;outline:none;font-family:inherit;font-size:.9rem;font-weight:600;color:var(--text-main);background:transparent;cursor:pointer}.today-btn{font-size:.8rem;padding:.35rem .75rem}.date-info-display{display:flex;align-items:center;gap:1rem}.current-date-text{font-size:1.1rem;font-weight:600;color:var(--primary)}.exam-count-badge{background:var(--primary-light);color:var(--primary);border:1px solid rgba(37,99,235,.2);padding:.25rem .75rem;border-radius:999px;font-size:.8rem;font-weight:600}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;font-family:inherit;font-size:.875rem;font-weight:600;padding:.55rem 1.1rem;border-radius:var(--radius-sm);border:1px solid transparent;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.btn-primary{background:var(--primary);color:var(--text-inverse)}.btn-primary:hover{background:var(--primary-hover)}.btn-secondary{background:#fff;border-color:var(--border-medium);color:var(--text-main)}.btn-secondary:hover{background:var(--bg-subtle);border-color:var(--border-strong)}.btn-cancel{background:#fef2f2;border-color:#fca5a5;color:var(--accent-rose)}.btn-cancel:hover{background:#fee2e2;border-color:var(--accent-rose)}.btn-outline{background:transparent;border-color:var(--border-medium);color:var(--text-main)}.btn-outline:hover{background:var(--bg-subtle)}.btn-save{background:#22a076;color:#fff}.btn-save:hover{background:#1d8763}.btn-update{background:#1763cf;color:#fff}.btn-update:hover{background:#1354ae}.btn-danger{background:#df2040;color:#fff}.btn-danger:hover{background:#bb1b36}.btn-active{background:var(--text-main);color:#fff}.btn-text{background:transparent;border:none;color:var(--text-muted);padding:.4rem .6rem}.btn-text:hover{color:var(--text-main);text-decoration:underline}.btn-sm{padding:.35rem .75rem;font-size:.8rem}.inline-form-container{background:var(--bg-surface);border:2px solid var(--primary);border-radius:var(--radius-lg);padding:1.25rem 1.5rem;box-shadow:var(--shadow-md);margin-bottom:1rem;display:flex;flex-direction:column;gap:1rem;animation:fadeIn .2s ease-in-out}.inline-form-container.edit-mode{border-color:var(--accent-amber);background:#fffdfa}.form-header{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #e2e8f0}.badge,.form-mode-pill{background:#1d59c6;color:#fff;padding:4px 10px;border-radius:6px;font-size:11px;font-weight:700;letter-spacing:.5px;line-height:1;display:inline-flex;align-items:center}.edit-mode .badge,.edit-mode .form-mode-pill{background:#d97706;color:#fff}.form-title{font-size:17px;font-weight:700;color:#1e293b;margin:0}.form-row{display:grid;gap:12px;margin-bottom:12px}.form-row-row1{grid-template-columns:1.1fr 1.1fr 2.5fr 1.2fr 1fr}.form-row-row2{grid-template-columns:3.5fr 85px 110px 1.6fr 1.6fr}.form-row-3{grid-template-columns:2fr 1fr 1fr}.form-row-4{grid-template-columns:1fr 1fr 1fr 1fr}.form-row-2{grid-template-columns:1fr 1fr}.form-group{display:flex;flex-direction:column}.form-group.full-width{grid-column:1 / -1;width:100%}.form-group label,.typeahead-label{font-size:12px;font-weight:500;color:#374151;margin-bottom:4px}.required{color:#ef4444}.form-footer{display:flex;justify-content:space-between;align-items:center;padding-top:16px;border-top:1px solid #e2e8f0}.btn-clear{background:none;border:none;color:#64748b;font-size:13px;cursor:pointer;padding:8px 12px;border-radius:6px;font-family:inherit;transition:background-color var(--transition-fast)}.btn-clear:hover{background:#f1f5f9}.btn-group{display:flex;gap:10px}.btn-close{background:#fff;border:1px solid #fca5a5;color:#dc2626;padding:8px 20px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;font-family:inherit;transition:background-color var(--transition-fast)}.btn-close:hover{background:#fef2f2}.btn-save{background:#059669;border:none;color:#fff;padding:8px 20px;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;transition:background-color var(--transition-fast)}.btn-save:hover{background:#047857}.field-label{font-size:.825rem;font-weight:600;color:var(--text-main);white-space:nowrap}.required-star{color:var(--accent-rose);font-weight:700}.form-control{width:100%;font-family:inherit;font-size:.875rem;padding:.5rem .75rem;border:1px solid var(--border-medium);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--text-main);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.form-control:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #2563eb26}.input-error{border-color:var(--accent-rose)!important;box-shadow:0 0 0 3px #e11d481f!important}.error-text{font-size:.75rem;color:var(--accent-rose);font-weight:500}.cardiopediatrics-notice{background:#fefce8;border:1px solid #fef08a;border-radius:var(--radius-sm);padding:.6rem .85rem;color:#854d0e;font-size:.825rem;display:flex;align-items:center;gap:.5rem}.form-actions-row{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--border-light);padding-top:.85rem;margin-top:.25rem}.form-actions-right{display:flex;align-items:center;gap:.75rem}.typeahead-wrapper{position:relative;display:flex;flex-direction:column;width:100%}.typeahead-label{font-size:12px;font-weight:500;color:#374151;margin-bottom:4px}.typeahead-input-container{position:relative;width:100%}input[type=text],input[type=time],.form-control,.typeahead-input{width:100%;height:35px;padding:8px 10px;border:1px solid #e2e8f0;border-radius:6px;font-size:13px;background:#f8fafc;color:#334155;font-family:inherit;box-sizing:border-box;margin:0;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}input[type=time]{cursor:pointer}.typeahead-input{padding-right:2rem}.typeahead-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #2563eb26}.typeahead-clear-btn{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);background:transparent;border:none;font-size:1.1rem;color:var(--text-muted);cursor:pointer;padding:0 .25rem;line-height:1}.typeahead-clear-btn:hover{color:var(--text-main)}.typeahead-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--bg-surface);border:1px solid var(--border-medium);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);max-height:240px;overflow-y:auto;z-index:100;list-style:none;padding:.35rem 0}.typeahead-dropdown-item{padding:.5rem .85rem;cursor:pointer;display:flex;flex-direction:column;gap:.15rem;transition:background var(--transition-fast)}.typeahead-dropdown-item:hover,.typeahead-dropdown-item.highlighted{background:var(--bg-subtle)}.typeahead-dropdown-item.selected{background:var(--primary-light)}.typeahead-item-main{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.typeahead-item-label{font-size:.875rem;font-weight:600;color:var(--text-main)}.typeahead-item-badge{background:#fef3c7;color:#92400e;font-size:.7rem;font-weight:700;padding:.1rem .4rem;border-radius:4px}.typeahead-item-sublabel{font-size:.75rem;color:var(--text-muted)}.typeahead-no-results{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--bg-surface);border:1px solid var(--border-medium);border-radius:var(--radius-md);box-shadow:var(--shadow-md);padding:.75rem;font-size:.825rem;color:var(--text-muted);z-index:100;text-align:center}.typeahead-help{font-size:.725rem;color:var(--text-muted)}.typeahead-error-text{font-size:.75rem;color:var(--accent-rose)}.table-responsive-container{background:var(--bg-surface);border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow-x:auto}.daily-examination-table{width:100%;border-collapse:collapse;text-align:left;font-size:.875rem}.daily-examination-table th{background:#f1f5f9;color:#334155;font-weight:700;font-size:.775rem;text-transform:uppercase;letter-spacing:.04em;padding:.85rem 1rem;border:1px solid var(--border-medium);white-space:nowrap}.daily-examination-table td{padding:.85rem 1rem;border:1px solid var(--border-light);vertical-align:middle}.row-even{background:#fff}.row-odd{background:#f8fafc}.daily-examination-table tr:hover{background:#f1f5f9}.row-editing{background:#fefce8!important;border-left:4px solid var(--accent-amber)}.cell-time{white-space:nowrap}.time-badge{display:inline-flex;align-items:center;gap:.35rem;background:#e0f2fe;color:#0369a1;font-weight:700;font-family:monospace;font-size:.9rem;padding:.25rem .55rem;border-radius:var(--radius-sm)}.cell-mv{font-family:monospace;font-weight:600;color:var(--text-main);white-space:nowrap}.mv-badge{background:#f1f5f9;padding:.2rem .5rem;border-radius:4px;border:1px solid var(--border-light)}.patient-info,.exam-info,.physician-info{display:flex;align-items:center;gap:.4rem}.patient-name-text{font-weight:700;color:var(--text-main)}.code-badge{font-family:monospace;font-size:.85rem;font-weight:700;background:#e2e8f0;padding:.15rem .45rem;border-radius:4px;color:#1e293b}.exam-name-text{font-weight:600;color:#1e293b}.location-pill{display:inline-flex;align-items:center;gap:.25rem;font-size:.775rem;font-weight:700;padding:.2rem .6rem;border-radius:999px;white-space:nowrap}.location-milena{background:#e0e7ff;color:#3730a3}.location-colina{background:#fae8ff;color:#86198f}.patient-type-pill{display:inline-block;font-size:.75rem;font-weight:600;padding:.15rem .55rem;border-radius:4px;white-space:nowrap}.type-hospitalizado,.type-internado{background:#fecdd3;color:#9f1239}.type-ambulatório,.type-ambulatorial{background:#dcfce7;color:#166534}.category-pill{display:inline-flex;align-items:center;gap:.25rem;font-size:.75rem;font-weight:700;padding:.2rem .6rem;border-radius:999px;white-space:nowrap}.category-usg{background:#dbeafe;color:#1e40af}.category-vascular{background:#d1fae5;color:#065f46}.category-cardio{background:#ffe4e6;color:#9f1239}.table-section-container{display:flex;flex-direction:column;gap:.75rem}.table-toolbar{display:flex;justify-content:space-between;align-items:center;background:var(--bg-surface);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:.75rem 1rem;box-shadow:var(--shadow-sm)}.table-filter-group{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.filter-icon{color:var(--primary)}.filter-label{font-size:.85rem;font-weight:600;color:var(--text-main)}.filter-select{font-family:inherit;font-size:.85rem;padding:.4rem .75rem;border:1px solid var(--border-medium);border-radius:var(--radius-sm);background:var(--bg-subtle);color:var(--text-main);cursor:pointer;outline:none;transition:border-color var(--transition-fast)}.filter-select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #2563eb26}.btn-clear-filter{background:#f1f5f9;border:1px solid var(--border-medium);color:var(--text-muted);font-size:.775rem;font-weight:600;padding:.35rem .65rem;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}.btn-clear-filter:hover{background:#e2e8f0;color:var(--accent-rose)}.cell-technician{white-space:nowrap}.technician-name-text{font-size:.85rem;font-weight:600;color:#475569}.action-buttons-group{display:flex;align-items:center;gap:.35rem}.action-btn{display:inline-flex;align-items:center;gap:.25rem;border:none;background:transparent;padding:.35rem .55rem;border-radius:var(--radius-sm);cursor:pointer;font-size:.775rem;font-weight:600;transition:background var(--transition-fast)}.edit-btn{color:#0284c7}.edit-btn:hover{background:#e0f2fe}.delete-btn{color:#e11d48}.delete-btn:hover{background:#ffe4e6}.period-divider-row{background:#f8fafc}.period-divider-cell{padding:.65rem 1rem!important;border-top:none!important;border-bottom:none!important;border-left:1px solid var(--border-light);border-right:1px solid var(--border-light)}.period-divider-content{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%}.divider-badge{display:inline-flex;align-items:center;gap:.4rem;background:transparent;border:none;padding:.25rem .5rem;border-radius:0;box-shadow:none}.period-title{font-size:.75rem;font-weight:800;letter-spacing:.06em;color:var(--text-main)}.text-amber{color:#d97706}.text-indigo{color:#4f46e5}.table-empty-state{background:var(--bg-surface);border:1px dashed var(--border-medium);border-radius:var(--radius-lg);padding:3.5rem 1.5rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.75rem}.empty-icon{color:var(--border-strong)}.empty-title{font-size:1.1rem;font-weight:700;color:var(--text-main)}.empty-subtitle{font-size:.875rem;color:var(--text-muted)}.modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:#0f172a8c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem;animation:fadeIn .15s ease-out}.modal-content{background:var(--bg-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:440px;overflow:hidden;display:flex;flex-direction:column;animation:scaleUp .15s ease-out}.modal-header{padding:1rem 1.25rem;display:flex;justify-content:space-between;align-items:center}.modal-header-danger{background:#ffe4e6;color:#9f1239;border-bottom:1px solid #fecdd3}.modal-title-container{display:flex;align-items:center;gap:.5rem}.modal-title{font-size:1rem;font-weight:700}.modal-close-btn{background:transparent;border:none;cursor:pointer;color:inherit;opacity:.8}.modal-close-btn:hover{opacity:1}.modal-body{padding:1.25rem}.modal-message{font-size:.9rem;color:var(--text-main);line-height:1.4}.modal-footer{padding:.85rem 1.25rem;background:var(--bg-subtle);border-top:1px solid var(--border-light);display:flex;justify-content:flex-end;gap:.75rem}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleUp{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}@media (max-width: 768px){.form-row-row1,.form-row-row2,.form-row-3,.form-row-4,.form-row-2{grid-template-columns:1fr}}@media (max-width: 640px){.app-container{padding:.75rem;gap:1rem}.header-top-row{flex-direction:column;align-items:flex-start}.header-actions-group{width:100%;justify-content:space-between}.btn-label-desktop{display:none}.date-navigation-bar{flex-direction:column;align-items:stretch}.date-info-display{justify-content:space-between}.form-row-3col,.form-row-2col,.form-row-4col,.form-row-patient,.form-row-examination,.form-row-scheduling,.form-row-team{grid-template-columns:1fr}.col-patient,.col-exam-name,.col-physician{grid-column:span 1}.daily-examination-table th,.daily-examination-table td{padding:.6rem .5rem;font-size:.8rem}.action-btn-label{display:none}}.print-only-container{display:none}@media print{@page{size:A4 landscape;margin:8mm 10mm}html,body{background:#fff!important;color:#000!important;margin:0!important;padding:0!important;width:100%!important;height:auto!important;min-height:auto!important;max-height:100%!important;overflow:hidden!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.no-print,.app-container,.app-main-content,.app-header,.inline-form-container,.table-responsive-container,.modal-backdrop,.confirm-modal-overlay,.confirm-modal-card{display:none!important}.print-only-container{display:flex!important;flex-direction:column;justify-content:space-between;width:100%!important;height:auto!important;max-height:100%!important;min-height:auto!important;overflow:hidden!important;box-sizing:border-box;font-family:Arial,Helvetica,sans-serif;margin:0!important;padding:0!important;break-after:avoid!important;page-break-after:avoid!important}.print-header{display:flex;justify-content:space-between;align-items:flex-end;border-bottom:2px solid #000000;padding-bottom:4px;margin-bottom:6px;break-after:avoid;page-break-after:avoid}.print-hospital-title{font-size:14pt;font-weight:700;margin:0;line-height:1.1;color:#000}.print-subtitle{font-size:9.5pt;color:#444;margin:2px 0 0;font-weight:400}.print-header-right{text-align:right}.print-date-badge{font-size:10.5pt;font-weight:700;color:#000}.print-total-badge{font-size:8.5pt;color:#555;margin-top:2px}.print-table-wrapper{flex:1;width:100%;overflow:hidden;break-after:avoid;page-break-after:avoid}.print-table{width:100%!important;border-collapse:collapse!important;table-layout:fixed!important;border:1px solid #000000;break-after:avoid;page-break-after:avoid}.print-col-time{width:5.5%;text-align:left}.print-col-mv{width:6.5%;text-align:left}.print-col-patient{width:20%;text-align:left}.print-col-code{width:5.5%;text-align:center}.print-col-exam{width:22.5%;text-align:left}.print-col-location{width:5.5%;text-align:center}.print-col-type{width:7%;text-align:center}.print-col-physician{width:11%;text-align:left}.print-col-technician{width:10.5%;text-align:left}.print-col-category{width:6%;text-align:center}.print-table tr{break-inside:avoid;page-break-inside:avoid}.print-table th{background-color:#e2e8f0!important;color:#000!important;font-weight:700;border:1px solid #000000;text-transform:uppercase;box-sizing:border-box;line-height:1.2}.print-table td{border:1px solid #666666;vertical-align:middle;word-wrap:break-word;overflow:hidden;box-sizing:border-box;line-height:1.2}.print-table tr:nth-child(2n) td{background-color:#f8fafc!important}.print-period-row td{background-color:transparent!important;font-weight:700;text-align:center;border-top:none!important;border-bottom:none!important;border-left:1px solid #000000!important;border-right:1px solid #000000!important;text-transform:uppercase;letter-spacing:.05em}.print-period-cell.morning,.print-period-cell.afternoon{color:#000!important}.print-period-content{display:flex;align-items:center;justify-content:center;gap:8px;width:100%}.print-period-title{font-size:8pt;font-weight:700;color:#000!important;white-space:nowrap;padding:0 4px}.print-empty-cell{padding:16px!important;font-style:italic;color:#666}.font-mono{font-family:Courier New,Courier,monospace}.font-bold{font-weight:700}.center{text-align:center}.print-density-normal th{padding:5px 6px;font-size:8.5pt}.print-density-normal td{padding:4px 6px;font-size:8.5pt}.print-density-normal .print-period-cell{padding:3px 0}.print-density-normal .print-period-title{font-size:8pt}.print-density-moderate th{padding:4px 5px;font-size:8pt}.print-density-moderate td{padding:3.5px 5px;font-size:8pt}.print-density-moderate .print-period-cell{padding:2.5px 0}.print-density-moderate .print-period-title{font-size:7.5pt}.print-density-compact th{padding:3px 4px;font-size:7.5pt}.print-density-compact td{padding:2.5px 4px;font-size:7.5pt}.print-density-compact .print-period-cell{padding:2px 0}.print-density-compact .print-period-title{font-size:7pt}.print-density-ultra-compact th{padding:2px 3px;font-size:7pt}.print-density-ultra-compact td{padding:1.5px 3px;font-size:6.8pt}.print-density-ultra-compact .print-period-cell{padding:1.5px 0}.print-density-ultra-compact .print-period-title{font-size:6.5pt}.print-footer{display:flex;justify-content:space-between;font-size:7.5pt;color:#666;border-top:1px solid #cccccc;padding-top:4px;margin-top:4px;break-after:avoid;page-break-after:avoid}}
