*{margin:0;padding:0;box-sizing:border-box}:root{--primary-50: #eff6ff;--primary-100: #dbeafe;--primary-200: #bfdbfe;--primary-300: #93c5fd;--primary-400: #60a5fa;--primary-500: #3b82f6;--primary-600: #2563eb;--primary-700: #1d4ed8;--primary-800: #1e40af;--primary-900: #1e3a8a;--gray-50: #f9fafb;--gray-100: #f3f4f6;--gray-200: #e5e7eb;--gray-300: #d1d5db;--gray-400: #9ca3af;--gray-500: #6b7280;--gray-600: #4b5563;--gray-700: #374151;--gray-800: #1f2937;--gray-900: #111827;--success-50: #f0fdf4;--success-500: #22c55e;--success-600: #16a34a;--success-700: #15803d;--warning-50: #fffbeb;--warning-500: #f59e0b;--warning-600: #d97706;--error-50: #fef2f2;--error-500: #ef4444;--error-600: #dc2626;--error-700: #b91c1c;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--radius-sm: .375rem;--radius: .5rem;--radius-md: .75rem;--radius-lg: 1rem;--radius-xl: 1.5rem;--transition: all .2s cubic-bezier(.4, 0, .2, 1)}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#f5f7fa,#e8ecf1);color:var(--gray-900);line-height:1.6}.app{min-height:100vh;display:flex;flex-direction:column}.app-header{background:linear-gradient(135deg,#1e3a8a,#2563eb);color:#fff;padding:1.25rem 2rem;box-shadow:var(--shadow-lg);display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.app-header h1{font-size:1.5rem;font-weight:700;letter-spacing:-.025em;background:linear-gradient(to right,#fff,#e0e7ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.sidebar-toggle{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;font-size:1.5rem;width:2.5rem;height:2.5rem;border-radius:var(--radius);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition);padding:0}.sidebar-toggle:hover{background:#fff3;transform:scale(1.05)}.sidebar-toggle:active{transform:scale(.95)}.app-body{display:flex;flex:1;overflow:hidden}.app-sidebar{width:260px;background:#fff;border-right:1px solid var(--gray-200);padding:1.5rem 0;min-height:calc(100vh - 72px);box-shadow:var(--shadow-sm);transition:all .3s cubic-bezier(.4,0,.2,1);overflow:hidden;flex-shrink:0}.app-sidebar.closed{width:0;padding:0;border-right:none;box-shadow:none;min-width:0}.app-sidebar.closed .sidebar-section{display:none}.app-main{flex:1;padding:2.5rem;max-width:1400px;width:100%;animation:fadeIn .3s ease-in;transition:margin-left .3s cubic-bezier(.4,0,.2,1);overflow-y:auto;overflow-x:hidden}.app-main.sidebar-closed{margin-left:0}.sidebar-section{padding:.75rem 0;margin-bottom:.5rem}.sidebar-section h4{padding:.5rem 1.5rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--gray-500);font-weight:700}.sidebar-section a{display:flex;align-items:center;padding:.75rem 1.5rem;color:var(--gray-700);text-decoration:none;font-size:.9375rem;font-weight:500;transition:var(--transition);position:relative;white-space:nowrap}.sidebar-section a:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:0;background:var(--primary-600);transition:height .2s ease;border-radius:0 3px 3px 0}.sidebar-section a:hover{background:var(--primary-50);color:var(--primary-700)}.sidebar-section a.active{background:linear-gradient(90deg,var(--primary-50) 0%,transparent 100%);color:var(--primary-700);font-weight:600}.sidebar-section a.active:before{height:70%}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.home-page{background:#fff;padding:3rem;border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);border:1px solid var(--gray-100)}.home-page h2{color:var(--gray-900);margin-bottom:1.5rem;font-size:2rem;font-weight:700;letter-spacing:-.025em}.home-page p{color:var(--gray-600);line-height:1.8;font-size:1.0625rem}.signin-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#2c3e50,#34495e);padding:1rem}.signin-card{background:#fff;border-radius:12px;box-shadow:0 4px 24px #00000026;padding:2.5rem;width:100%;max-width:420px;text-align:center}.signin-header{margin-bottom:2rem}.signin-header h1{color:#2c3e50;font-size:1.75rem;font-weight:700;margin-bottom:.25rem}.signin-header h2{color:#34495e;font-size:1.1rem;font-weight:400;margin-bottom:1rem}.signin-header p{color:#7f8c8d;font-size:.95rem}.signin-actions{margin-top:1.5rem}.google-signin-btn{display:inline-flex;align-items:center;justify-content:center;gap:.75rem;width:100%;background-color:#4285f4;border:none;font-size:1rem;font-weight:500;padding:.75rem 1.5rem;border-radius:6px;cursor:pointer;transition:background-color .2s}.google-signin-btn:hover:not(:disabled){background-color:#3367d6}.google-signin-btn:disabled{opacity:.7;cursor:not-allowed}.google-icon{flex-shrink:0}.alert{padding:.75rem 1rem;border-radius:6px;margin-bottom:1rem;display:flex;align-items:flex-start;gap:.5rem}.alert-error{background-color:#fef2f2;border:1px solid #fecaca;color:#991b1b}.alert-success{background-color:#f0fdf4;border:1px solid #bbf7d0;color:#166534}.alert-warning{background-color:#fffbeb;border:1px solid #fde68a;color:#92400e}.alert-info{background-color:#eff6ff;border:1px solid #bfdbfe;color:#1e40af}.alert-content{flex:1;font-size:.9rem;line-height:1.4}.alert-dismiss{background:none;border:none;font-size:1.25rem;cursor:pointer;color:inherit;opacity:.6;padding:0;line-height:1}.alert-dismiss:hover{opacity:1}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:none;border-radius:var(--radius);font-weight:600;cursor:pointer;transition:var(--transition);color:#fff;font-size:.9375rem;letter-spacing:.01em;box-shadow:var(--shadow-sm)}.btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn:active:not(:disabled){transform:translateY(0)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.btn-primary{background:linear-gradient(135deg,var(--primary-600) 0%,var(--primary-700) 100%)}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,var(--primary-700) 0%,var(--primary-800) 100%)}.btn-secondary{background:linear-gradient(135deg,var(--gray-600) 0%,var(--gray-700) 100%)}.btn-secondary:hover:not(:disabled){background:linear-gradient(135deg,var(--gray-700) 0%,var(--gray-800) 100%)}.btn-danger{background:linear-gradient(135deg,var(--error-500) 0%,var(--error-600) 100%)}.btn-danger:hover:not(:disabled){background:linear-gradient(135deg,var(--error-600) 0%,var(--error-700) 100%)}.btn-ghost{background-color:transparent;color:var(--gray-700);box-shadow:none;border:1px solid var(--gray-300)}.btn-ghost:hover:not(:disabled){background-color:var(--gray-100);border-color:var(--gray-400)}.btn-sm{padding:.5rem 1rem;font-size:.8125rem;white-space:nowrap}.btn-md{padding:.625rem 1.25rem;font-size:.9375rem;white-space:nowrap}.btn-lg{padding:.875rem 1.75rem;font-size:1.0625rem;white-space:nowrap}.btn-spinner{display:inline-block;width:1em;height:1em;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite;margin-right:.5rem}.loading-spinner{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem}.spinner{border:3px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;animation:spin .7s linear infinite}.loading-spinner-sm .spinner{width:1.5rem;height:1.5rem}.loading-spinner-md .spinner{width:2.5rem;height:2.5rem}.loading-spinner-lg .spinner{width:3.5rem;height:3.5rem}.loading-message{margin-top:1rem;color:#6b7280;font-size:.95rem}@keyframes spin{to{transform:rotate(360deg)}}.access-denied-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background-color:#f5f5f5;padding:1rem}.access-denied-card{background:#fff;border-radius:12px;box-shadow:0 4px 24px #0000001a;padding:3rem 2.5rem;width:100%;max-width:460px;text-align:center}.access-denied-icon{font-size:4rem;font-weight:800;color:#ef4444;margin-bottom:1rem;line-height:1}.access-denied-title{font-size:1.5rem;font-weight:700;color:#1f2937;margin-bottom:.75rem}.access-denied-message{color:#6b7280;font-size:.95rem;line-height:1.6;margin-bottom:2rem}.access-denied-message strong{color:#374151}.access-denied-actions{display:flex;justify-content:center;gap:.75rem}.loading-container{min-height:100vh;display:flex;align-items:center;justify-content:center}.app-header{display:flex;align-items:center;justify-content:space-between}.user-profile-menu{display:flex;align-items:center;gap:1rem}.user-info{display:flex;align-items:center;gap:.5rem}.user-name{font-weight:600;font-size:.9rem;color:#fff}.user-email{font-size:.8rem;color:#cbd5e1}.role-badge{font-size:.7rem;font-weight:700;text-transform:uppercase;padding:.15rem .5rem;border-radius:9999px;letter-spacing:.03em}.role-badge-admin{background-color:#fbbf24;color:#78350f}.role-badge-operator{background-color:#60a5fa;color:#1e3a5f}.logout-btn.btn-ghost{color:#cbd5e1;border:1px solid rgba(255,255,255,.2)}.logout-btn.btn-ghost:hover:not(:disabled){background-color:#ffffff1a;color:#fff}.hospital-list-page,.parameter-list-page,.data-input-page,.recalculation-page,.bulk-recalc-page,.admin-review-page,.calc-history-page{background:#fff;padding:2.5rem;border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);border:1px solid var(--gray-100);animation:fadeIn .3s ease-in}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:2px solid var(--gray-100)}.page-header h2{color:var(--gray-900);margin:0;font-size:1.875rem;font-weight:700;letter-spacing:-.025em}.filters-row{display:flex;gap:1rem;margin-bottom:2rem;align-items:flex-end;padding:1.5rem;background:var(--gray-50);border-radius:var(--radius-lg);border:1px solid var(--gray-200)}.filters-row .form-field{flex:1;max-width:300px}.data-table{width:100%;border-collapse:separate;border-spacing:0;margin-bottom:1rem;background:#fff;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow);table-layout:auto}.data-table th,.data-table td{padding:1rem 1.25rem;text-align:left;border-bottom:1px solid var(--gray-100);vertical-align:middle}.data-table th{background:linear-gradient(180deg,var(--gray-50) 0%,var(--gray-100) 100%);font-weight:700;color:var(--gray-700);font-size:.8125rem;text-transform:uppercase;letter-spacing:.05em;position:sticky;top:0;z-index:10;white-space:nowrap}.data-table tbody tr{transition:var(--transition)}.data-table tbody tr:hover{background-color:var(--primary-50);transform:scale(1.001)}.data-table tbody tr:last-child td{border-bottom:none}.data-table .empty-row{text-align:center;color:var(--gray-500);padding:3rem 1rem;font-size:.9375rem}.actions-cell{display:flex;gap:.5rem;justify-content:flex-end;flex-wrap:nowrap;align-items:center;min-width:200px;text-align:right}.data-table th:last-child{text-align:right}.table-wrapper{width:100%;overflow-x:auto;border-radius:var(--radius-lg);box-shadow:var(--shadow)}.table-wrapper .data-table{box-shadow:none;margin:0}.status-badge{display:inline-block;padding:.2rem .6rem;border-radius:9999px;font-size:.8rem;font-weight:600}.status-active{background-color:#d1fae5;color:#065f46}.status-inactive{background-color:#fee2e2;color:#991b1b}.pagination{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:1rem}.pagination-info{font-size:.9rem;color:#6b7280}.form-field{display:flex;flex-direction:column;gap:.5rem}.form-field label{font-size:.875rem;font-weight:600;color:var(--gray-700);letter-spacing:.01em}.form-field input,.form-field select,.form-field textarea{padding:.75rem 1rem;border:2px solid var(--gray-200);border-radius:var(--radius);font-size:.9375rem;transition:var(--transition);background:#fff;color:var(--gray-900)}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:none;border-color:var(--primary-500);box-shadow:0 0 0 3px var(--primary-100);background:var(--primary-50)}.form-field-error input,.form-field-error select,.form-field-error textarea{border-color:var(--error-500)}.form-field-error input:focus,.form-field-error select:focus,.form-field-error textarea:focus{box-shadow:0 0 0 3px var(--error-50)}.field-error{font-size:.8125rem;color:var(--error-600);font-weight:500}.field-helper{font-size:.8125rem;color:var(--gray-500)}.hospital-history-page{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 2px 8px #0000001a}.history-empty{text-align:center;color:#6b7280;padding:2rem}.change-badge{display:inline-block;padding:.2rem .6rem;border-radius:9999px;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.change-badge-created{background-color:#d1fae5;color:#065f46}.change-badge-updated{background-color:#dbeafe;color:#1e40af}.change-badge-deactivated{background-color:#fee2e2;color:#991b1b}.field-changed{background-color:#fef9c3!important}.prev-value{display:block;font-size:.75rem;color:#9ca3af;font-style:italic;margin-top:.15rem}.parameter-list-page{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 2px 8px #0000001a}.status-badge-calculated{background-color:#dbeafe;color:#1e40af}.parameter-form-page{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 2px 8px #0000001a;max-width:700px}.parameter-form-page h2{color:#2c3e50;margin-bottom:1.5rem}.parameter-form-page form{display:flex;flex-direction:column;gap:1rem}.parameter-form-page .form-actions{display:flex;gap:.75rem;margin-top:1rem}.validation-rules-row{display:flex;gap:1rem}.validation-rules-row .form-field{flex:1}.executable-formula-display{background-color:#f3f4f6;border:1px solid #d1d5db;border-radius:6px;padding:.75rem;font-family:Courier New,monospace;font-size:.875rem;white-space:pre-wrap;word-break:break-all;color:#1f2937}.parameter-history-page{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 2px 8px #0000001a}.formula-cell{font-size:.8rem;max-width:200px;display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.parameter-test-dialog{display:flex;flex-direction:column;gap:1rem}.test-variables-section{display:flex;flex-direction:column;gap:.5rem}.test-variables-label{font-size:.875rem;font-weight:500;color:#374151}.test-variable-row{display:flex;gap:.5rem;align-items:flex-end}.test-variable-row .form-field{flex:1}.form-field textarea{padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:6px;font-size:.9375rem;font-family:inherit;resize:vertical;transition:border-color .2s}.form-field textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-field-error textarea{border-color:#ef4444}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .2s ease-in}.modal-content{background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);max-height:90vh;overflow-y:auto;animation:slideUp .3s ease-out;border:1px solid var(--gray-200)}@keyframes slideUp{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-sm{width:100%;max-width:400px}.modal-md{width:100%;max-width:600px}.modal-lg{width:100%;max-width:800px}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 2rem;border-bottom:2px solid var(--gray-100);background:linear-gradient(180deg,white 0%,var(--gray-50) 100%)}.modal-header h2{font-size:1.25rem;color:var(--gray-900);margin:0;font-weight:700;letter-spacing:-.025em}.modal-close{background:var(--gray-100);border:none;font-size:1.5rem;cursor:pointer;color:var(--gray-600);padding:.5rem;line-height:1;border-radius:var(--radius);transition:var(--transition);width:2rem;height:2rem;display:flex;align-items:center;justify-content:center}.modal-close:hover{background:var(--gray-200);color:var(--gray-900);transform:rotate(90deg)}.modal-body{padding:2rem}.data-input-page{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 2px 8px #0000001a}.data-input-page h2{color:#2c3e50;margin:0}.data-input-section{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #e5e7eb}.data-input-section:first-of-type{border-top:none;padding-top:0;margin-top:1.5rem}.data-input-section h3{font-size:1rem;font-weight:600;color:#374151;margin-bottom:1rem}.data-input-section h4{font-size:.9rem;font-weight:600;color:#4b5563;margin-bottom:.5rem;margin-top:1rem}.appt-id-row{display:flex;gap:.75rem;align-items:flex-end;max-width:500px}.appt-id-row .form-field{flex:1}.ats-section-group{margin-bottom:.75rem;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.ats-section-group[open]>summary{border-bottom:1px solid #e5e7eb}.ats-section-title{padding:.6rem 1rem;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#374151;background:#f3f4f6;cursor:pointer;-webkit-user-select:none;user-select:none}.ats-section-title:hover{background:#e5e7eb}.ats-section-group>.ats-data-grid{padding:.75rem}.ats-data-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.75rem}.ats-field{display:flex;flex-direction:column;gap:.15rem;padding:.5rem .75rem;background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:6px}.ats-field-label{font-size:.75rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.03em}.ats-field-value{font-size:.9375rem;color:#1f2937;font-weight:500}.ats-field-value.ats-field-na{color:#9ca3af;font-style:italic;font-weight:400}.agreement-info{margin-top:.75rem;padding:.5rem .75rem;background-color:#eff6ff;border:1px solid #bfdbfe;border-radius:6px;font-size:.875rem;color:#1e40af}.agreement-info-label{font-weight:600;margin-right:.5rem}.input-params-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem}.data-input-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.calc-results-summary{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}.calc-result-card{flex:1;min-width:160px;padding:1rem;border-radius:8px;background-color:#f9fafb;border:1px solid #e5e7eb;display:flex;flex-direction:column;gap:.25rem}.calc-result-primary{background-color:#eff6ff;border-color:#bfdbfe}.calc-result-label{font-size:.8rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.03em}.calc-result-primary .calc-result-label{color:#1e40af}.calc-result-value{font-size:1.5rem;font-weight:700;color:#1f2937}.calc-result-primary .calc-result-value{color:#1e3a8a}.calc-params-table-wrap,.calc-errors{margin-top:1rem}.validation-actions{display:flex;gap:1rem;margin-bottom:1rem}.not-ok-form{display:flex;flex-direction:column;gap:1rem;max-width:500px;padding:1rem;background-color:#fef2f2;border:1px solid #fecaca;border-radius:8px}.not-ok-form-actions{display:flex;gap:.75rem}.recalculation-page,.bulk-recalc-page{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 2px 8px #0000001a}.recalculation-page h2,.bulk-recalc-page h2{color:#2c3e50;margin:0}.recalc-section{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #e5e7eb}.recalc-section:first-of-type{border-top:none;padding-top:0}.recalc-section h3{font-size:1rem;font-weight:600;color:#374151;margin-bottom:1rem}.recalc-section h4{font-size:.9rem;font-weight:600;color:#4b5563;margin-bottom:.5rem;margin-top:1rem}.recalc-mode-toggle{display:flex;gap:.5rem;margin-bottom:1rem}.recalc-input-row{display:flex;gap:.75rem;align-items:flex-end;max-width:500px;margin-bottom:1rem}.recalc-input-row .form-field{flex:1}.recalc-checkbox{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:#374151;margin-bottom:1rem;cursor:pointer}.recalc-checkbox input[type=checkbox]{width:1rem;height:1rem}.recalc-actions{display:flex;gap:.75rem;margin-bottom:1rem}.recalc-history-label{font-size:.875rem;color:#6b7280;margin-bottom:.5rem}.recalc-history-list{margin-top:1rem}.row-selected{background-color:#eff6ff!important}.row-changed{background-color:#fef9c3!important}.recalc-version-info{display:flex;gap:2rem;font-size:.875rem;color:#6b7280;margin-bottom:1rem}.recalc-summary-cards{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}.recalc-compare-card{flex:1;min-width:220px;padding:1rem;border-radius:8px;background-color:#f9fafb;border:1px solid #e5e7eb}.recalc-compare-changed{background-color:#fef9c3;border-color:#fde68a}.recalc-compare-label{display:block;font-size:.8rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.03em;margin-bottom:.5rem}.recalc-compare-values{display:flex;align-items:center;gap:.75rem}.recalc-compare-old,.recalc-compare-new{display:flex;flex-direction:column}.recalc-compare-sublabel{font-size:.7rem;color:#9ca3af;text-transform:uppercase}.recalc-compare-num{font-size:1.25rem;font-weight:700;color:#1f2937}.recalc-compare-arrow{font-size:1.25rem;color:#9ca3af}.recalc-compare-diff{display:block;font-size:.8rem;font-weight:600;margin-top:.25rem}.diff-positive{color:#059669}.diff-negative{color:#dc2626}.recalc-diff-table-wrap,.recalc-param-comparison{margin-top:1rem}.bulk-recalc-form{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem;margin-bottom:1rem}@media (max-width: 768px){.bulk-recalc-form{grid-template-columns:1fr}}.bulk-recalc-summary{margin-top:1rem}.bulk-recalc-stats{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1rem}.bulk-stat{flex:1;min-width:120px;padding:1rem;border-radius:8px;background-color:#f9fafb;border:1px solid #e5e7eb;text-align:center}.bulk-stat-label{display:block;font-size:.8rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.03em}.bulk-stat-value{display:block;font-size:1.5rem;font-weight:700;color:#1f2937;margin-top:.25rem}.admin-review-page h2{color:#2c3e50;margin:0}.review-filters{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-end;margin:1.5rem 0;padding:1rem;background:#f9fafb;border-radius:8px;border:1px solid #e5e7eb}.review-filters .form-group{flex:1;min-width:160px}.review-summary{margin-bottom:1rem;font-size:.9rem;color:#6b7280}.error-badge{display:inline-block;padding:.2rem .6rem;border-radius:12px;font-size:.75rem;font-weight:600;background:#fef2f2;color:#dc2626;white-space:nowrap}.error-type-badge{display:inline-block;padding:.2rem .6rem;border-radius:12px;font-size:.75rem;font-weight:600;background:#fff7ed;color:#c2410c;white-space:nowrap}.remarks-cell{max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actions-cell{display:flex;gap:.4rem;flex-wrap:nowrap;justify-content:flex-end;align-items:center}.table-empty-cell{text-align:center;padding:2rem;color:#9ca3af}.calc-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem}.calc-detail-item label{display:block;font-size:.75rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.03em;margin-bottom:.25rem}.calc-detail-item span{font-size:.95rem;color:#1f2937}.calc-detail-remarks{margin-bottom:1rem}.calc-detail-remarks label{display:block;font-size:.75rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.03em;margin-bottom:.25rem}.calc-detail-remarks p{color:#1f2937;line-height:1.5}.stack-trace-pre{background:#1f2937;color:#e5e7eb;padding:1rem;border-radius:6px;font-size:.8rem;overflow-x:auto;white-space:pre-wrap;word-break:break-all;max-height:300px;overflow-y:auto}.calc-history-page{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 2px 8px #0000001a}.calc-history-search{margin-bottom:1.5rem}.calc-history-search-row{display:flex;gap:1rem;align-items:flex-end;max-width:500px}.calc-history-search-row .form-group{flex:1}.calc-history-summary{margin-bottom:1rem;font-size:.9rem;color:#6b7280}.calc-history-timeline{position:relative;padding-left:0}.timeline-item{display:flex;gap:1rem;margin-bottom:1rem}.timeline-marker{display:flex;flex-direction:column;align-items:center;width:20px;flex-shrink:0}.timeline-dot{width:12px;height:12px;border-radius:50%;background:#3b82f6;border:2px solid #dbeafe;flex-shrink:0}.timeline-recalc .timeline-dot{background:#f59e0b;border-color:#fef3c7}.timeline-line{width:2px;flex:1;background:#e5e7eb;min-height:20px}.timeline-card{flex:1;border:1px solid #e5e7eb;border-radius:8px;padding:1rem;background:#fafafa;transition:box-shadow .15s}.timeline-card:hover{box-shadow:0 2px 8px #00000014}.timeline-recalc .timeline-card{border-left:3px solid #f59e0b}.timeline-card-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem;flex-wrap:wrap}.timeline-calc-id{font-weight:600;font-size:.95rem;color:#1f2937}.recalc-badge{font-size:.75rem;background:#fef3c7;color:#92400e;padding:.15rem .5rem;border-radius:4px}.recalc-parent-badge{font-size:.75rem;background:#dbeafe;color:#1e40af;padding:.15rem .5rem;border-radius:4px}.timeline-card-body{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.5rem 1.5rem;margin-bottom:.75rem}.timeline-field{display:flex;flex-direction:column}.timeline-label{font-size:.7rem;text-transform:uppercase;color:#9ca3af;letter-spacing:.03em}.timeline-card-actions{display:flex;gap:.5rem}.calc-detail-value-highlight{font-weight:600;color:#059669}.calc-detail-item-full{grid-column:1 / -1}.calc-detail-section{margin-top:1rem;border:1px solid #e5e7eb;border-radius:6px}.calc-detail-section summary{padding:.75rem 1rem;cursor:pointer;font-weight:500;font-size:.9rem;color:#374151;background:#f9fafb;border-radius:6px;-webkit-user-select:none;user-select:none}.calc-detail-section[open] summary{border-bottom:1px solid #e5e7eb;border-radius:6px 6px 0 0}.calc-detail-kv-table{max-height:300px;overflow-y:auto}.calc-detail-kv-table .data-table{margin:0;border:none}.admin-review-page{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 2px 8px #0000001a}.admin-review-page .page-header h2{margin:0 0 1.5rem;color:#1f2937}.review-filters{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-end;padding:1rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:1.5rem}.review-filters .form-field{flex:1 1 180px;min-width:0}.filter-actions{display:flex;gap:.5rem;align-items:flex-end;padding-bottom:2px}.review-summary{font-size:.875rem;color:#6b7280;margin-bottom:.75rem}.table-wrapper{overflow-x:auto;border:1px solid #e5e7eb;border-radius:8px}.table-wrapper .data-table{margin:0;border:none}.remarks-cell{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actions-cell{white-space:nowrap;display:flex;gap:.375rem;justify-content:flex-end;align-items:center}.error-badge{display:inline-block;padding:.2rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600;background-color:#fef2f2;color:#dc2626;white-space:nowrap}.table-pagination{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:1rem;font-size:.875rem;color:#374151}.table-pagination button{padding:.4rem .75rem;border:1px solid #d1d5db;border-radius:6px;background:#fff;cursor:pointer;font-size:.85rem}.table-pagination button:disabled{opacity:.4;cursor:not-allowed}.table-pagination button:not(:disabled):hover{background:#f3f4f6}.calc-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.calc-detail-item{display:flex;flex-direction:column;gap:.25rem}.calc-detail-item label{font-size:.75rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.025em}.calc-detail-item span{font-size:.9rem;color:#1f2937}.calc-detail-remarks{margin-top:1.25rem;padding-top:1rem;border-top:1px solid #e5e7eb}.calc-detail-remarks label{font-size:.75rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.025em;display:block;margin-bottom:.25rem}.calc-detail-remarks p{font-size:.9rem;color:#1f2937;margin:0;line-height:1.5}.admin-review-page .data-table{min-width:100%}.admin-review-page .data-table td{max-width:none}.admin-review-page .actions-cell{min-width:220px;padding:.75rem 1rem}.admin-review-page .actions-cell .btn{min-width:auto;padding:.4rem .75rem;font-size:.8125rem}@media (max-width: 1400px){.data-table th,.data-table td{padding:.875rem 1rem}.actions-cell{min-width:180px}.actions-cell .btn{padding:.375rem .625rem;font-size:.75rem}}.app-main,.hospital-list-page,.parameter-list-page,.data-input-page,.recalculation-page,.bulk-recalc-page,.admin-review-page,.calc-history-page{max-width:100%;box-sizing:border-box}.remarks-view-btn{background:linear-gradient(135deg,var(--primary-500),var(--primary-600));border:none;color:#fff;cursor:pointer;padding:.4rem 1rem;font-size:.875rem;font-weight:500;border-radius:var(--radius);transition:var(--transition);box-shadow:var(--shadow-sm);white-space:nowrap}.remarks-view-btn:hover{background:linear-gradient(135deg,var(--primary-600),var(--primary-700));box-shadow:var(--shadow);transform:translateY(-1px)}.remarks-view-btn:active{transform:translateY(0);box-shadow:var(--shadow-sm)}.remarks-view-btn:focus{outline:2px solid var(--primary-500);outline-offset:2px}.remarks-modal-content{display:flex;flex-direction:column;gap:1.5rem}.remarks-modal-header{display:flex;flex-direction:column;gap:.75rem;padding-bottom:1rem;border-bottom:2px solid var(--gray-200)}.remarks-modal-info{display:flex;align-items:center;gap:.5rem;font-size:.9375rem;color:var(--gray-700)}.remarks-modal-info strong{color:var(--gray-900);font-weight:600}.remarks-modal-body{background:var(--gray-50);padding:1.5rem;border-radius:var(--radius);border:1px solid var(--gray-200)}.remarks-modal-body p{margin:0;line-height:1.7;color:var(--gray-800);font-size:1rem;white-space:pre-wrap;word-break:break-word}
