@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Ma+Shan+Zheng&display=swap";body{color:#334155;background-color:#f1f5f9;margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}#app{min-height:100vh}.hidden{display:none!important}.login-overlay{z-index:9999;box-sizing:border-box;opacity:1;pointer-events:auto;background:linear-gradient(135deg,#f1f5f9 0%,#eff6ff 100%);justify-content:center;align-items:center;width:100vw;height:100vh;padding:24px;transition:opacity .5s;display:flex;position:fixed;inset:0}#login-overlay.hidden{display:none!important}#login-overlay.opacity-0{opacity:0;pointer-events:none}.login-card{background:#fff;border-radius:24px;width:min(800px,100vw - 48px);height:min(552px,100vh - 48px);display:flex;overflow:hidden;box-shadow:0 24px 64px #0f172a24}.login-brand-panel{color:#fff;background:linear-gradient(135deg,#2563eb 0%,#06b6d4 100%);flex-direction:column;flex:0 0 50%;justify-content:center;min-width:0;padding:48px;display:flex;position:relative;overflow:hidden}.login-brand-watermark{opacity:.2;color:#fff;position:absolute;bottom:-80px;right:-80px}.login-brand-watermark svg{width:320px;height:320px}.login-form-panel{background:#fff;flex-direction:column;flex:0 0 50%;justify-content:center;min-width:0;padding:48px;display:flex}@media (width<=860px){.login-card{width:min(420px,100vw - 32px);height:auto;min-height:0}.login-brand-panel{display:none}.login-form-panel{flex-basis:100%;padding:32px}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.pulse-bar{animation:1.5s ease-in-out infinite pulse-grow}@keyframes pulse-grow{0%,to{height:12px}50%{height:28px}}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-modal-bg{animation:.2s ease-out modal-fade-in}.animate-modal-content{animation:.3s cubic-bezier(.16,1,.3,1) modal-slide-up}.ghost-input{background:0 0;border:none;border-radius:4px;outline:none;width:100%;padding:4px 8px;transition:background .2s}.ghost-input:focus{background:#f8fafc;box-shadow:inset 0 0 0 1px #bae6fd}.dose-input{text-align:center;color:#1e293b;background:#f1f5f9;border:1px solid #0000;border-radius:6px;outline:none;width:50px;padding:4px 8px;font-weight:700;transition:border .2s}.dose-input:focus{background:#fff;border-color:#7dd3fc}.signature-font{color:#1e293b;font-family:Ma Shan Zheng,cursive;font-size:3rem}.signature-image{object-fit:contain;max-width:100%;max-height:96px;margin:0 auto;display:block}.signature-confirm-box{cursor:pointer;transition:background-color .2s,border-color .2s,box-shadow .2s}.signature-confirm-box:hover,.signature-confirm-box:focus-visible{background:#fff;border-color:#93c5fd;outline:none;box-shadow:0 0 0 3px #3b82f61f}.signature-confirm-box.is-loading{cursor:wait}.signature-confirm-box.is-ready{border-color:#d1d5db}.nav-item.active{color:#3b82f6;background-color:#eff6ff;border-right:3px solid #3b82f6;font-weight:600}.nav-item{color:#64748b;border-right:3px solid #0000;transition:all .2s}.nav-item:hover:not(.active){color:#475569;background-color:#f8fafc}.timeline-line{z-index:0;background:#f1f5f9;width:2px;position:absolute;top:0;bottom:0;left:20px}.clinical-compact>:not([hidden])~:not([hidden]){margin-top:1rem!important}.clinical-compact h3{margin-bottom:.25rem!important}.clinical-compact h3 span{height:1.25rem!important}.clinical-compact-grid{gap:1rem!important}.clinical-compact .rounded-2xl{border-radius:.875rem!important}.clinical-compact .rounded-xl{border-radius:.625rem!important}.clinical-compact .p-6{padding:1rem!important}.clinical-compact .p-4{padding:.75rem!important}.clinical-compact .space-y-6>:not([hidden])~:not([hidden]){margin-top:1rem!important}.clinical-compact .mb-4{margin-bottom:.75rem!important}.clinical-compact .mb-3{margin-bottom:.5rem!important}.clinical-compact .leading-relaxed{line-height:1.55!important}.clinical-compact .w-20.h-20{width:4rem!important;height:4rem!important}.clinical-compact .text-sm{font-size:.8125rem!important}.clinical-compact .text-2xl{font-size:1.25rem!important}.app-sidebar{transition:width .3s,opacity .3s,transform .3s,border-color .3s;overflow:hidden}.app-sidebar.sidebar-collapsed{opacity:0;border-right-color:#0000;transform:translate(-12px);width:0!important}.ai-chat-panel{opacity:0;pointer-events:none;width:0;transition:width .3s,opacity .3s,transform .3s,border-color .3s;overflow:hidden;transform:translate(12px);border-left-color:#0000!important}.ai-chat-panel.ai-open{opacity:1;pointer-events:auto;width:21rem;transform:translate(0);border-left-color:#e5e7eb!important}.ai-trigger-active{box-shadow:inset 0 0 0 1px #67e8f9;color:#0f766e!important;background:#cffafe!important}.patient-trigger-active{box-shadow:inset 0 0 0 1px #86efac;color:#047857!important;background:#d1fae5!important}.ai-chat-message{display:flex}.ai-chat-message.ai{justify-content:flex-start}.ai-chat-message.user{justify-content:flex-end}.ai-chat-bubble{white-space:pre-wrap;border-radius:18px;max-width:88%;padding:10px 12px;font-size:13px;line-height:1.6;box-shadow:0 6px 18px #0f172a0f}.ai-chat-message.ai .ai-chat-bubble{color:#334155;background:#fff;border:1px solid #e2e8f0;border-bottom-left-radius:6px}.ai-chat-message.user .ai-chat-bubble{color:#fff;background:linear-gradient(135deg,#06b6d4,#3b82f6);border-bottom-right-radius:6px}.ai-chat-meta{color:#94a3b8;margin-top:6px;font-size:10px}.ai-chat-message.user .ai-chat-meta{color:#ffffffb8}.patient-consult-window{resize:both;opacity:0;pointer-events:none;z-index:220;width:36rem;min-width:24rem;max-width:calc(100vw - 32px);height:78.75rem;min-height:35rem;max-height:calc(100vh - 32px);transition:opacity .25s,transform .25s;position:fixed;top:0;left:0;overflow:hidden;transform:translateY(10px)scale(.98)}.patient-consult-window.patient-open{opacity:1;pointer-events:auto;transform:translateY(0)scale(1)}.patient-consult-shell{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff5;border:1px solid #dbeafe;border-radius:24px;flex-direction:column;width:100%;height:100%;display:flex;overflow:hidden;box-shadow:0 20px 50px #0f172a29,0 4px 16px #3b82f614}.patient-consult-header{cursor:grab;-webkit-user-select:none;user-select:none;background:linear-gradient(#f0fdfaf5,#fffffff5);border-bottom:1px solid #eef2ff;justify-content:space-between;align-items:center;padding:16px 18px;display:flex}.patient-consult-header:active{cursor:grabbing}.patient-consult-messages{background:radial-gradient(circle at 100% 0,#10b98114,#0000 32%),#f8fafc;flex-direction:column;flex:1;gap:12px;padding:16px;display:flex;overflow-y:auto}.patient-consult-message{display:flex}.patient-consult-message.patient{justify-content:flex-start}.patient-consult-message.doctor{justify-content:flex-end}.patient-consult-empty,.order-card-empty{color:#64748b;text-align:center;background:#f8fafcd6;border:1px dashed #cbd5e1;border-radius:16px;padding:18px;font-size:13px}.patient-consult-bubble{white-space:pre-wrap;border-radius:18px;max-width:82%;padding:10px 12px;font-size:13px;line-height:1.6;box-shadow:0 8px 20px #0f172a0d}.patient-consult-message.patient .patient-consult-bubble{color:#334155;background:#fff;border:1px solid #e2e8f0;border-bottom-left-radius:6px}.patient-consult-message.doctor .patient-consult-bubble{color:#fff;background:linear-gradient(135deg,#10b981,#06b6d4);border-bottom-right-radius:6px;margin-left:28px;position:relative}.patient-consult-image{object-fit:cover;border-radius:12px;max-width:220px;max-height:180px;display:block}.patient-consult-image-fallback{word-break:break-all;max-width:220px;display:block}.patient-consult-meta{color:#94a3b8;margin-top:6px;font-size:10px}.patient-consult-message.doctor .patient-consult-meta{color:#ffffffb8}.patient-consult-read-status{background:#fff;border:2px solid;border-radius:999px;justify-content:center;align-items:center;width:18px;height:18px;display:inline-flex;position:absolute;bottom:2px;left:-26px;box-shadow:0 6px 14px #0f172a1f}.patient-consult-read-status.is-read{color:#10c8b6}.patient-consult-read-status.is-unread{color:#cbd5e1}.patient-consult-read-status.is-read:before{content:"";border-bottom:2px solid;border-left:2px solid;width:8px;height:5px;margin-top:-2px;transform:rotate(-45deg)}.patient-consult-read-status.is-unread:before{content:"";background:currentColor;border-radius:999px;width:6px;height:6px}.medicine-row{position:relative}.prescription-readonly-input{color:#94a3b8!important;cursor:not-allowed!important;box-shadow:none!important;background:#f8fafc!important}.medicine-row-readonly{background:#f8fafc!important;border-color:#e2e8f0!important}.medicine-remove-button.is-disabled,#add-medicine-row-button.is-disabled{opacity:.45;pointer-events:none;cursor:not-allowed!important}.medicine-search{flex:1;position:relative}.medicine-dropdown{z-index:50;background:#fff;border:1px solid #bfdbfe;border-radius:12px;max-height:240px;position:absolute;top:calc(100% + 8px);left:0;right:0;overflow:hidden auto;box-shadow:0 12px 24px #0f172a1f}.medicine-option{cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;width:100%;padding:10px 12px;transition:background-color .2s;display:flex}.medicine-option:hover{background:#eff6ff}.medicine-option-disabled,.medicine-option-disabled:hover,.medicine-option:disabled{cursor:not-allowed;background:#f8fafc}.medicine-option+.medicine-option{border-top:1px solid #eff6ff}.medicine-option-name{color:#1e293b;font-size:14px;font-weight:700}.medicine-option-disabled .medicine-option-name{color:#94a3b8}.medicine-empty{color:#94a3b8;padding:12px;font-size:12px}.medicine-missing-notice{color:#e11d48;margin-top:4px;font-size:12px;line-height:1.3}.medicine-row-invalid{background:#fff7f7!important;border-color:#fda4af!important}.medicine-name-input-invalid{background:#fff1f2!important;box-shadow:inset 0 0 0 1px #fda4af!important}.dose-input-invalid{border-radius:8px;background:#fff1f2!important;box-shadow:inset 0 0 0 1px #fda4af!important}.app-notice-stack{z-index:1050;pointer-events:none;flex-direction:column;align-items:center;gap:.75rem;width:min(24rem,100vw - 2rem);display:flex;position:fixed;top:1.25rem;left:50%;transform:translate(-50%)}.app-notice{color:#0f172a;pointer-events:auto;opacity:0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff5;border:1px solid #e2e8f0;border-left-width:4px;border-radius:14px;align-items:flex-start;gap:.75rem;width:100%;padding:.875rem 1rem;transition:opacity .18s,transform .18s,box-shadow .18s;display:flex;transform:translateY(-10px)scale(.98);box-shadow:0 18px 40px #0f172a1f}.app-notice.is-visible{opacity:1;transform:translateY(0)scale(1)}.app-notice-content{flex:1;min-width:0}.app-notice-title{letter-spacing:0;text-transform:uppercase;color:#334155;margin-bottom:.25rem;font-size:12px;font-weight:800}.app-notice-text{color:#334155;word-break:break-word;font-size:14px;line-height:1.5}.app-notice-close{color:#64748b;cursor:pointer;background:#f8fafc;border:none;border-radius:999px;flex:none;width:1.75rem;height:1.75rem;font-size:1.125rem;line-height:1;transition:background-color .15s,color .15s}.app-notice-close:hover{color:#0f172a;background:#e2e8f0}.app-notice-warning{border-left-color:#f59e0b}.app-notice-warning .app-notice-title{color:#b45309}.app-notice-error{border-left-color:#ef4444}.app-notice-error .app-notice-title{color:#b91c1c}.app-notice-success{border-left-color:#10b981}.app-notice-success .app-notice-title{color:#047857}
