@charset "UTF-8";:root{--color-primary: #59058D;--color-primary-dark: #420669;--color-primary-light: #f3e9fb;--color-primary-mid: #d9b8ef;--color-accent: #8b1fa3;--color-accent-light: #faeffb;--color-bg-page: #f6f3fa;--color-surface: #ffffff;--color-sidebar-bg: #ffffff;--color-border: #e7dff0;--color-bg-hover: #f3e9fb;--color-bg-input: #faf7fc;--color-sidebar-active-bg: #f3e9fb;--color-sidebar-active-text: #59058D;--color-sidebar-active-bar: #59058D;--color-text-primary: #211226;--color-text-secondary: #6b5b76;--color-success: #16a34a;--color-success-light: #dcfce7;--color-warn: #d97706;--color-warn-light: #fef3c7;--color-warn-dark: #92400e;--color-error: #dc2626;--color-error-light: #fee2e2;--color-info: #0ea5e9;--color-info-light: #e0f2fe;--gradient-primary: linear-gradient(135deg, #59058D 0%, #7a0fab 50%, #8b1fa3 100%);--gradient-surface: linear-gradient(160deg, rgba(255,255,255,.9), rgba(255,255,255,.6));--gradient-mesh-1: radial-gradient(circle at 12% 8%, rgba(89,5,141,.12) 0%, transparent 45%);--gradient-mesh-2: radial-gradient(circle at 88% 82%, rgba(139,31,163,.1) 0%, transparent 45%);--gradient-mesh-3: radial-gradient(circle at 85% 10%, rgba(13,148,136,.05) 0%, transparent 40%);--glass-bg: rgba(255, 255, 255, .62);--glass-bg-strong: rgba(255, 255, 255, .78);--glass-border: rgba(255, 255, 255, .45);--glass-blur: 14px;--glass-shadow: 0 8px 32px rgba(89, 5, 141, .12), 0 1px 2px rgba(0,0,0,.04);--shadow-sm: 0 1px 3px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04);--shadow-md: 0 4px 12px rgba(0,0,0,.08), 0 2px 4px rgba(0,0,0,.04);--shadow-lg: 0 10px 30px rgba(0,0,0,.1), 0 4px 8px rgba(0,0,0,.04);--shadow-card: 0 1px 4px rgba(0,0,0,.05);--shadow-glow-primary: 0 4px 20px rgba(89,5,141,.3);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 22px;--transition: .18s ease;--transition-lift: .28s cubic-bezier(.22, 1, .36, 1);--stagger-step: .05s}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;height:100%;font-family:Inter,system-ui,-apple-system,sans-serif;font-size:14px;color:var(--color-text-primary);background-color:var(--color-bg-page);background-image:var(--gradient-mesh-1),var(--gradient-mesh-2),var(--gradient-mesh-3);background-attachment:fixed;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{margin:0;line-height:1.3}a{color:var(--color-primary)}button{font-family:inherit}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-secondary)}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.glass{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur)) saturate(150%);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(150%);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow)}.glass-strong{background:var(--glass-bg-strong);backdrop-filter:blur(var(--glass-blur)) saturate(150%);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(150%);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow)}@keyframes fadeUpIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.stagger-in>*{opacity:0;animation:fadeUpIn .5s cubic-bezier(.22,1,.36,1) forwards;animation-delay:calc(var(--i, 0) * var(--stagger-step))}.lift-on-hover{transition:transform var(--transition-lift),box-shadow var(--transition-lift)}.lift-on-hover:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}.page-wrapper{padding:20px 24px;display:flex;flex-direction:column;gap:20px}@media(max-width:640px){.page-wrapper{padding:14px;gap:14px}}.page-header{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:12px;animation:fadeUpIn .4s cubic-bezier(.22,1,.36,1)}.page-header h1{font-size:21px;font-weight:700;color:var(--color-text-primary);margin:0 0 3px;letter-spacing:-.3px;background:var(--gradient-primary);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;display:inline-block}.page-header p{font-size:13px;color:var(--color-text-secondary);margin:0}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);overflow:hidden;transition:box-shadow var(--transition-lift),transform var(--transition-lift),border-color var(--transition)}.card__header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--color-border);background:linear-gradient(180deg,rgba(89,5,141,.025),transparent)}.card__header h2{font-size:14px;font-weight:600;color:var(--color-text-primary)}.card__body{padding:18px}.card__link{font-size:12px;color:var(--color-primary);text-decoration:none;font-weight:500}.card__link:hover{text-decoration:underline}.btn{display:inline-flex;align-items:center;gap:6px;padding:9px 18px;border-radius:var(--radius-sm);font-size:13px;font-weight:600;border:none;cursor:pointer;transition:background var(--transition),transform .1s,box-shadow var(--transition);white-space:nowrap;font-family:inherit}.btn .material-icons{font-size:17px}.btn--primary{background:var(--gradient-primary);background-size:150% 150%;background-position:0% 50%;color:#fff;box-shadow:var(--shadow-glow-primary);transition:background-position .4s ease,transform .1s,box-shadow var(--transition)}.btn--primary:hover{background-position:100% 50%;box-shadow:0 6px 24px #59058d59}.btn--primary:active{transform:scale(.98)}.btn--outline{background:transparent;color:var(--color-primary);border:1.5px solid var(--color-primary)}.btn--outline:hover{background:var(--color-primary-light)}.btn--ghost{background:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border)}.btn--ghost:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.badge{display:inline-flex;align-items:center;padding:3px 9px;border-radius:20px;font-size:11px;font-weight:600}.badge--success{background:var(--color-success-light);color:#14532d}.badge--warn{background:var(--color-warn-light);color:#78350f}.badge--error{background:var(--color-error-light);color:#7f1d1d}.badge--info{background:var(--color-primary-light);color:var(--color-primary)}.progress-bar{height:7px;background:var(--color-border);border-radius:4px;overflow:hidden}.progress-bar__fill{height:100%;background:linear-gradient(90deg,var(--color-primary),var(--color-primary-dark));border-radius:4px;transition:width .5s cubic-bezier(.4,0,.2,1)}.data-table{width:100%;border-collapse:collapse;font-size:13px}.data-table th,.data-table td{padding:11px 16px;text-align:left}.data-table th{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-secondary);border-bottom:1px solid var(--color-border);background:var(--color-bg-page);white-space:nowrap}.data-table td{color:var(--color-text-primary);border-bottom:1px solid var(--color-border)}.data-table tr:last-child td{border-bottom:none}.data-table tbody tr{transition:background var(--transition)}.data-table tbody tr:hover{background:var(--color-bg-hover)}.form-field{display:flex;flex-direction:column;gap:5px}.form-field label{font-size:12px;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.3px}.form-field input,.form-field select,.form-field textarea,.form-field ng-select{padding:10px 13px;border:1.5px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-input);color:var(--color-text-primary);font-size:13px;font-family:inherit;outline:none;transition:border-color var(--transition),box-shadow var(--transition)}.form-field input:focus,.form-field select:focus,.form-field textarea:focus,.form-field ng-select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.form-field input.error,.form-field select.error,.form-field textarea.error,.form-field ng-select.error{border-color:var(--color-error)}.form-field .error-msg{font-size:11px;color:var(--color-error)}.toast-stack{position:fixed;top:68px;right:16px;z-index:9999;display:flex;flex-direction:column;gap:8px;max-width:360px;pointer-events:none}.toast-stack>*{pointer-events:all}@media(max-width:480px){.toast-stack{left:12px;right:12px;max-width:100%}}.toast{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:var(--radius-sm);background:var(--color-surface);border:1px solid var(--color-border);border-left:4px solid transparent;box-shadow:var(--shadow-md);animation:toastIn .22s cubic-bezier(.22,1,.36,1)}.toast--success{border-left-color:var(--color-success)}.toast--success .material-icons{color:var(--color-success)}.toast--error{border-left-color:var(--color-error)}.toast--error .material-icons{color:var(--color-error)}.toast--warn{border-left-color:var(--color-warn)}.toast--warn .material-icons{color:var(--color-warn)}.toast--info{border-left-color:var(--color-primary)}.toast--info .material-icons{color:var(--color-primary)}.toast__msg{flex:1;font-size:13px;color:var(--color-text-primary);line-height:1.4}.toast__close{background:none;border:none;cursor:pointer;color:var(--color-text-secondary);padding:2px;display:flex;align-items:center}.toast__close .material-icons{font-size:15px}.toast__close:hover{color:var(--color-text-primary)}@keyframes toastIn{0%{transform:translate(110%) scale(.95);opacity:0}to{transform:translate(0) scale(1);opacity:1}}.placeholder-card{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;background:var(--color-surface);border:1.5px dashed var(--color-border);border-radius:var(--radius-md);gap:12px;text-align:center}.placeholder-card .material-icons{font-size:48px;color:var(--color-primary);opacity:.35}.placeholder-card p{font-size:14px;color:var(--color-text-secondary);margin:0}.hospital-option{display:flex;flex-direction:column;line-height:1.35;padding:2px 0}.hospital-name{font-weight:700;font-size:.95rem;color:#111827;margin-bottom:2px}.hospital-address{font-size:.82rem;color:#6b7280}.ng-dropdown-panel{background-color:#fff;opacity:1;border:1px solid #d1d5db;border-radius:12px;box-shadow:0 8px 24px #0000001f;margin-top:6px;padding:8px 0;z-index:2000}.ng-dropdown-panel .ng-dropdown-panel-items{background-color:#fff;padding:4px 8px}.ng-dropdown-panel .ng-option{background-color:#fff;padding:12px 16px;margin-bottom:12px;border:none;border-radius:8px}.ng-dropdown-panel .ng-option:last-child{margin-bottom:0}.ng-dropdown-panel .ng-option.ng-option-marked{background-color:#f5f3ff}.ng-dropdown-panel .ng-option.ng-option-selected{background-color:#ede9fe}
