:root{--fs-base:1rem;--fs-sm:.875rem;--fs-xs:.75rem;--fs-md:1.125rem;--fs-lg:1.25rem;--fs-xl:1.5rem;--fs-xxl:1.75rem;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700}::placeholder{color:#a0aec0;opacity:.5;font-style:italic}.field input,.field textarea{color:var(--text)}:root{--bg:#0f172a;--surface:#1e293b;--surface2:#334155;--surface3:#475569;--bg-primary:#0f172a;--bg-secondary:#1e293b;--bg-card:#1e293b;--bg-input:#0f172a;--border:#334155;--border2:#475569;--border-color:#334155;--accent:#6366f1;--accent2:#818cf8;--accent-soft:#6366f126;--accent-teal:#06b6d4;--accent-emerald:#10b981;--green:#10b981;--green-soft:#10b98126;--amber:#f59e0b;--amber-soft:#f59e0b26;--red:#f43f5e;--red-soft:#f43f5e26;--purple:#818cf8;--purple-soft:#818cf826;--cyan:#06b6d4;--cyan-soft:#06b6d426;--text:#f8fafc;--text2:#cbd5e1;--text3:#94a3b8;--text-primary:#f8fafc;--text-secondary:#cbd5e1;--radius:12px;--radius-lg:20px;--mono:"JetBrains Mono", "Fira Code", "Consolas", "Segoe UI Mono", monospace}html[data-theme=light]{--bg:#f8fafc;--surface:#fff;--surface2:#f1f5f9;--surface3:#e2e8f0;--bg-primary:#f8fafc;--bg-secondary:#fff;--bg-card:#fff;--bg-input:#f1f5f9;--border:#cbd5e1;--border2:#94a3b8;--border-color:#cbd5e1;--accent:#3b82f6;--accent2:#2563eb;--accent-soft:#eff6ff;--accent-teal:#0891b2;--accent-emerald:#16a34a;--green:#16a34a;--green-soft:#f0fdf4;--amber:#d97706;--amber-soft:#fef3c7;--red:#dc2626;--red-soft:#fff1f2;--purple:#9333ea;--purple-soft:#f5f3ff;--cyan:#0891b2;--cyan-soft:#ecfeff;--text:#0f172a;--text2:#334155;--text3:#64748b;--text-primary:#0f172a;--text-secondary:#334155}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);min-height:100vh;font-family:DM Sans,sans-serif;overflow-x:hidden}html,body,.app,.topbar,.sidebar,.main,.card,.modal,.modal-overlay,.btn,button,input,textarea,select,table,tr,td,th,.badge,.status-badge,.patient-card,.nav-item,.chat-panel,.drawer,.widget-container,.topbar-btn,.sidebar-logo,.nav-subitem,.patient-header,.vitals-card,.soap-card,.rx-card,.stat-card,.form-control,.form-input,.form-select,.form-textarea,div,span,p,h1,h2,h3,h4,h5,h6{transition:background-color .35s cubic-bezier(.4,0,.2,1),background .35s cubic-bezier(.4,0,.2,1),border-color .35s cubic-bezier(.4,0,.2,1),color .35s cubic-bezier(.4,0,.2,1),box-shadow .35s cubic-bezier(.4,0,.2,1)}::view-transition-old(root),::view-transition-new(root){animation-duration:.35s;animation-timing-function:cubic-bezier(.4,0,.2,1)}.app{grid-template-columns:var(--sidebar-w,286px) 1fr;will-change:grid-template-columns;grid-template-rows:60px 1fr auto;height:100vh;transition:grid-template-columns .35s cubic-bezier(.4,0,.2,1);display:grid;overflow:hidden}.topbar{background:var(--surface);border-bottom:1px solid var(--border);z-index:100;grid-column:1/-1;align-items:center;gap:14px;padding:0 20px;transition:background .3s,border-color .3s;display:flex}.topbar-brand-wrap{flex-direction:column;justify-content:center;gap:2px;display:flex}.topbar-brand{color:var(--text);white-space:nowrap;align-items:center;gap:8px;font-family:DM Serif Display,serif;font-size:20px;line-height:1.1;display:flex}.topbar-brand span{color:var(--accent2);font-style:italic}.topbar-sub{letter-spacing:.08em;text-transform:uppercase;color:var(--text3);font-size:9px;font-weight:700}.topbar-divider{background:var(--border);width:1px;height:24px}.topbar-badge{font-size:11px;font-family:var(--mono);background:var(--accent-soft);color:var(--accent2);border:1px solid var(--accent);letter-spacing:.04em;border-radius:20px;padding:3px 9px}.topbar-right{align-items:center;gap:12px;margin-left:auto;display:flex}.datetime{font-family:var(--mono);color:var(--text3);font-size:12px}.dot-live{background:var(--green);width:7px;height:7px;box-shadow:0 0 6px var(--green);border-radius:50%;animation:2s infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}.topbar-btn{border:1px solid var(--border);background:var(--surface2);color:var(--text2);cursor:pointer;white-space:nowrap;border-radius:7px;align-items:center;gap:5px;padding:6px 12px;font-size:12px;font-weight:500;transition:all .15s;display:flex}.topbar-btn:hover{border-color:var(--accent);color:var(--accent2)}.sidebar{-webkit-backdrop-filter:blur(20px)saturate(190%);will-change:margin-left, opacity, transform;background:#1e293bb8;border:1px solid #ffffff14;border-radius:20px;flex-direction:column;align-self:stretch;width:264px;min-width:264px;max-width:264px;height:calc(100% - 24px);margin:12px 6px 12px 16px;transition:margin-left .35s cubic-bezier(.4,0,.2,1),opacity .35s cubic-bezier(.4,0,.2,1),transform .35s cubic-bezier(.4,0,.2,1),box-shadow .35s cubic-bezier(.4,0,.2,1);display:flex;overflow:hidden;box-shadow:0 16px 38px -6px #00000061,0 0 0 1px #ffffff14,inset 0 1px #ffffff1f}html[data-theme=light] .sidebar{background:#ffffffd1;border:1px solid #cbd5e1a6;box-shadow:0 12px 32px -4px #0f172a14,0 0 0 1px #cbd5e199,inset 0 1px #ffffffe6}.sidebar-section{padding:16px 16px 10px}.sidebar-label{letter-spacing:.14em;text-transform:uppercase;color:var(--text3);align-items:center;gap:6px;margin-bottom:10px;font-size:10px;font-weight:700;display:flex}.sb-toggle-wrap{-webkit-backdrop-filter:blur(8px);background:#0003;border:1px solid #ffffff0f;border-radius:12px;margin-bottom:12px;padding:4px;display:flex}html[data-theme=light] .sb-toggle-wrap{background:#f1f5f9e6;border-color:#cbd5e180}.sb-tab{text-align:center;color:var(--text3);cursor:pointer;text-transform:uppercase;letter-spacing:.05em;border-radius:9px;flex:1;padding:7px 8px;font-size:11px;font-weight:600;transition:all .25s}.sb-tab.active{background:linear-gradient(135deg, var(--accent) 0%, #4f46e5 100%);color:#fff;box-shadow:0 4px 14px #6366f159}.search-box{width:100%;color:var(--text);font-size:var(--fs-base);background:#0000002e;border:1px solid #ffffff14;border-radius:12px;outline:none;padding:9px 12px;transition:all .25s}html[data-theme=light] .search-box{background:#f8fafcd9;border-color:#cbd5e1b3}.search-box:focus{border-color:var(--accent);background:var(--surface);box-shadow:0 0 0 3px var(--accent-soft)}.search-box::placeholder{color:var(--text3)}.patient-list{flex:1;padding:2px 10px 10px;overflow-y:auto}.patient-list::-webkit-scrollbar{width:4px}.patient-list::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:4px}html[data-theme=light] .patient-list::-webkit-scrollbar-thumb{background:#cbd5e1cc}.patient-item{cursor:pointer;background:#ffffff03;border:1px solid #0000;border-radius:14px;margin-bottom:6px;padding:11px 13px;transition:all .2s cubic-bezier(.4,0,.2,1);position:relative}.patient-item:hover{background:var(--surface2);border-color:#ffffff1a;transform:translateY(-2px);box-shadow:0 6px 18px -4px #00000040}html[data-theme=light] .patient-item:hover{border-color:#cbd5e199;box-shadow:0 6px 16px -4px #0f172a0f}.patient-item.active{border-color:var(--accent);background:linear-gradient(135deg,#6366f129 0%,#818cf814 100%);box-shadow:0 4px 18px #6366f138,inset 0 0 0 1px #6366f140}.patient-name{font-size:var(--fs-md);font-weight:var(--fw-bold);color:var(--text);line-height:1.2}.patient-meta{font-size:var(--fs-xs);color:var(--text3);font-family:var(--mono);margin-top:3px}.patient-tag{font-size:10px;font-family:var(--mono);border-radius:10px;margin-top:5px;padding:2px 7px;font-weight:600;display:inline-block}.tag-green{background:var(--green-soft);color:var(--green)}.tag-amber{background:var(--amber-soft);color:var(--amber)}.tag-red{background:var(--red-soft);color:var(--red)}.tag-cyan{background:var(--cyan-soft);color:var(--cyan)}.tag-purple{background:var(--purple-soft);color:var(--purple)}.patient-visit-badge{font-size:10px;font-weight:800;font-family:var(--mono);color:#1e40af;background:#dbeafe;border:1px solid #93c5fd;border-radius:10px;align-items:center;gap:3px;padding:2px 7px;transition:all .2s;display:flex;position:absolute;bottom:10px;right:12px;box-shadow:0 1px 3px #1e40af1a}body.dark .patient-visit-badge{color:#38bdf8;box-shadow:none;background:#38bdf826;border-color:#38bdf866}.patient-item.active .patient-visit-badge{background:#2563eb;border-color:#1d4ed8;color:#fff!important}body.dark .patient-item.active .patient-visit-badge{background:#0284c7;border-color:#38bdf8;color:#fff!important}.tl-visit-count-chip{font-size:10px;font-weight:800;font-family:var(--mono);color:#1e40af;background:#dbeafe;border:1px solid #93c5fd;border-radius:10px;align-items:center;gap:4px;padding:2px 8px;display:inline-flex}body.dark .tl-visit-count-chip{color:#38bdf8;background:#38bdf826;border-color:#38bdf866}.patient-actions{gap:4px;display:none;position:absolute;top:10px;right:10px}.patient-item:hover .patient-actions{display:flex}.btn-icon{background:var(--surface);border:1px solid var(--border);color:var(--text2);cursor:pointer;border-radius:6px;padding:3px 6px;font-size:11px;transition:all .2s}.btn-icon:hover{color:var(--accent2);border-color:var(--accent);background:var(--surface2);transform:scale(1.08)}.btn-icon.danger:hover{color:var(--red);border-color:var(--red)}.btn-icon.merge:hover{color:var(--purple);border-color:var(--purple)}.sidebar-actions{border-top:1px solid #ffffff0f;flex-direction:column;gap:8px;padding:14px 16px 16px;display:flex}html[data-theme=light] .sidebar-actions{border-top-color:#cbd5e180}.sidebar-add-btn{background:linear-gradient(135deg, var(--accent) 0%, #4f46e5 100%);color:#fff;cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:6px;padding:10px 14px;font-family:DM Sans,sans-serif;font-size:13px;font-weight:600;transition:all .25s;display:flex;box-shadow:0 4px 14px #6366f159}.sidebar-add-btn:hover{opacity:.95;transform:translateY(-2px);box-shadow:0 6px 20px #6366f180}.sidebar-import-btn{color:var(--text2);border:1px solid var(--border);cursor:pointer;background:#ffffff0a;border-radius:12px;justify-content:center;align-items:center;gap:6px;padding:9px 12px;font-family:DM Sans,sans-serif;font-size:12px;font-weight:500;transition:all .2s;display:flex}.sidebar-import-btn:hover{border-color:var(--green);color:var(--green);background:var(--green-soft);transform:translateY(-1px)}.main{background:var(--bg);flex-direction:column;transition:background .3s;display:flex;overflow:hidden}.tab-bar{-webkit-backdrop-filter:blur(20px)saturate(190%);background:#1e293bb8;border:1px solid #ffffff14;border-radius:16px;flex-shrink:0;align-items:center;gap:4px;margin:12px 16px 0 10px;padding:5px 8px;transition:all .35s cubic-bezier(.4,0,.2,1);display:flex;overflow-x:auto;box-shadow:0 8px 24px -4px #00000047,0 0 0 1px #ffffff14,inset 0 1px #ffffff1a}html[data-theme=light] .tab-bar{background:#ffffffd9;border-color:#cbd5e1a6;box-shadow:0 6px 20px -4px #0f172a0f,0 0 0 1px #cbd5e199,inset 0 1px #ffffffe6}.tab-bar::-webkit-scrollbar{display:none}.tab{color:var(--text3);cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:12px;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:500;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex}.tab:hover{color:var(--text);background:#ffffff0d;border-color:#ffffff14;transform:translateY(-1px)}html[data-theme=light] .tab:not(.active):hover{color:#0f172a;background:#e2e8f0d9;border-color:#cbd5e1b3}.tab.active,html[data-theme=light] .tab.active{font-weight:600;color:#fff!important;background:linear-gradient(135deg,#0d9488 0%,#0284c7 100%)!important;border-color:#0000!important;box-shadow:0 4px 14px #0d948859!important}.tab.active:hover,html[data-theme=light] .tab.active:hover{color:#fff!important;background:linear-gradient(135deg,#0f766e 0%,#0369a1 100%)!important;box-shadow:0 6px 18px #0d948873!important}.content-area{flex:1;padding:14px 16px 14px 10px;overflow-y:auto}.content-area:has(#panel-pemeriksaan.active),.content-area:has(#panel-riwayat.active),.content-area:has(#panel-ai.active){flex-direction:column;display:flex;overflow:hidden}.content-area::-webkit-scrollbar{width:5px}.content-area::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}@keyframes panelFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.panel{display:none}.panel.active{will-change:transform, opacity;animation:.22s cubic-bezier(.16,1,.3,1) forwards panelFadeIn;display:block}#panel-pemeriksaan.active,#panel-riwayat.active{will-change:transform, opacity;flex-direction:column;flex:1;min-height:0;animation:.22s cubic-bezier(.16,1,.3,1) forwards panelFadeIn;display:flex}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin-bottom:20px;display:grid}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;gap:8px;padding:20px;display:flex}.stat-val{font-size:32px;font-family:var(--mono);color:var(--accent2);font-weight:600;line-height:1}.stat-label{color:var(--text3);text-transform:uppercase;letter-spacing:.05em;font-size:12px;font-weight:600}.audit-list{max-height:300px;padding-right:10px;overflow-y:auto}.audit-item{border-bottom:1px solid var(--border);flex-direction:column;gap:4px;padding:10px 0;display:flex}.audit-item:last-child{border-bottom:none}.audit-time{color:var(--text3);font-size:10px;font-family:var(--mono)}.audit-msg{color:var(--text2);font-size:12px}.triple-panel{flex:1;grid-template-columns:1fr 1fr 1fr;gap:0;height:100%;min-height:0;display:grid}.triple-col{border-right:1px solid var(--border);flex-direction:column;gap:14px;padding:16px;transition:border-color .3s;display:flex;overflow-y:auto}.triple-col:last-child{border-right:none}.triple-col::-webkit-scrollbar{width:4px}.triple-col::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.col-header{letter-spacing:.12em;text-transform:uppercase;color:var(--text3);border-bottom:1px solid var(--border);align-items:center;gap:6px;margin-bottom:4px;padding-bottom:10px;font-size:12px;font-weight:900;transition:border-color .3s;display:flex}.col-header-icon{font-size:14px}.h-full{height:100%}.min-h-0{min-height:0}.overflow-y-auto{overflow-y:auto}.custom-scrollbar::-webkit-scrollbar{width:4px}.custom-scrollbar::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);margin-bottom:14px;padding:16px 18px;transition:background .3s,border-color .3s}.card-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.card-title{font-family:DM Serif Display,serif;font-size:var(--fs-md);color:var(--text);align-items:center;gap:8px;display:flex}.card-icon{border-radius:7px;justify-content:center;align-items:center;width:26px;height:26px;font-size:13px;display:flex}.ci-blue{background:var(--accent-soft)}.ci-green{background:var(--green-soft)}.ci-amber{background:var(--amber-soft)}.ci-purple{background:var(--purple-soft)}.ci-red{background:var(--red-soft)}.ci-cyan{background:var(--cyan-soft)}.form-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.form-grid-bmi{grid-template-columns:80px 80px 80px 1.5fr;align-items:end;gap:10px;display:grid}.full-width{grid-column:1/-1}.field{flex-direction:column;gap:4px;display:flex}.field label{font-size:var(--fs-sm);color:var(--text3);letter-spacing:.05em;text-transform:uppercase;font-weight:600}.field input,.field select,.field textarea{background:var(--surface2);border:1px solid var(--border);color:var(--text);font-size:var(--fs-base);resize:vertical;border-radius:7px;outline:none;padding:7px 10px;font-family:DM Sans,sans-serif;transition:all .2s}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);background:var(--surface)}.field select option{background:var(--surface2)}.field textarea{min-height:60px}.vitals-row{grid-template-columns:repeat(5,1fr);gap:8px;display:grid}.vital-box{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);text-align:center;padding:10px 8px;transition:all .2s}.vital-box:hover{border-color:var(--border2)}.vital-label{font-size:var(--fs-xs);color:var(--text3);letter-spacing:.08em;text-transform:uppercase}.vital-input{color:var(--text);font-family:var(--mono);font-size:var(--fs-xl);font-weight:var(--fw-bold);text-align:center;background:0 0;border:none;outline:none;width:100%;margin-top:3px;transition:color .3s}.vital-input::placeholder{font-size:var(--fs-base);font-weight:var(--fw-regular)}.vital-unit{color:var(--text3);font-size:9px;font-family:var(--mono);margin-top:2px}input:-webkit-autofill{transition:background-color 5000s ease-in-out;-webkit-box-shadow:0 0 0 1000px var(--surface2) inset!important;-webkit-text-fill-color:var(--text)!important}input:-webkit-autofill:hover{transition:background-color 5000s ease-in-out;-webkit-box-shadow:0 0 0 1000px var(--surface2) inset!important;-webkit-text-fill-color:var(--text)!important}input:-webkit-autofill:focus{transition:background-color 5000s ease-in-out;-webkit-box-shadow:0 0 0 1000px var(--surface2) inset!important;-webkit-text-fill-color:var(--text)!important}input:-webkit-autofill:active{transition:background-color 5000s ease-in-out;-webkit-box-shadow:0 0 0 1000px var(--surface2) inset!important;-webkit-text-fill-color:var(--text)!important}textarea:-webkit-autofill{transition:background-color 5000s ease-in-out;-webkit-box-shadow:0 0 0 1000px var(--surface2) inset!important;-webkit-text-fill-color:var(--text)!important}textarea:-webkit-autofill:hover{transition:background-color 5000s ease-in-out;-webkit-box-shadow:0 0 0 1000px var(--surface2) inset!important;-webkit-text-fill-color:var(--text)!important}textarea:-webkit-autofill:focus{transition:background-color 5000s ease-in-out;-webkit-box-shadow:0 0 0 1000px var(--surface2) inset!important;-webkit-text-fill-color:var(--text)!important}textarea:-webkit-autofill:active{transition:background-color 5000s ease-in-out;-webkit-box-shadow:0 0 0 1000px var(--surface2) inset!important;-webkit-text-fill-color:var(--text)!important}.btn{cursor:pointer;white-space:nowrap;border:none;border-radius:7px;align-items:center;gap:5px;padding:7px 13px;font-family:DM Sans,sans-serif;font-size:13px;font-weight:600;transition:opacity .15s;display:inline-flex}.btn:hover{opacity:.85}.btn-primary{background:var(--accent);color:#fff}.btn-ghost{background:var(--surface2);color:var(--text2);border:1px solid var(--border);transition:all .3s}.btn-green{background:var(--green);color:#fff}.btn-danger{background:var(--red-soft);color:var(--red);border:1px solid var(--red)}.btn-cyan{background:var(--cyan-soft);color:var(--cyan);border:1px solid var(--cyan)}.btn-sm{padding:5px 10px;font-size:12px}.btn-amber{background:var(--amber-soft);color:var(--amber);border:1px solid var(--amber)}.drug-actions{z-index:10;gap:4px;display:none;position:absolute;top:6px;left:6px}.drug-card:hover .drug-actions{display:flex}.medicine-header{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.medicine-search{background:var(--surface2);border:1px solid var(--border);min-width:160px;color:var(--text);border-radius:7px;outline:none;flex:1;padding:7px 11px;font-family:DM Sans,sans-serif;font-size:13px;transition:all .2s}.medicine-search:focus{border-color:var(--accent);background:var(--surface)}.drug-categories{flex-wrap:wrap;gap:5px;margin-bottom:12px;display:flex}.cat-chip{cursor:pointer;background:var(--surface2);color:var(--text3);border:1px solid var(--border);border-radius:20px;padding:4px 11px;font-size:11px;font-weight:500;transition:all .15s}.cat-chip:hover,.cat-chip.active{background:var(--accent-soft);color:var(--accent2);border-color:var(--accent)}.drug-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px;display:grid}.drug-card{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;padding:10px;transition:all .15s;position:relative;overflow:hidden}.drug-card:before{content:"";background:var(--accent);width:3px;position:absolute;top:0;bottom:0;left:0}.drug-card.selected{border-color:var(--accent);background:var(--accent-soft)}.drug-card:hover{border-color:var(--border2);transform:translateY(-1px)}.drug-name{font-size:var(--fs-sm);color:var(--text);font-weight:600}.drug-generic{color:var(--text3);margin-top:2px;font-size:11px;font-style:italic}.drug-class{margin-top:4px;font-size:10px}.drug-stock{font-size:10px;font-family:var(--mono);border-radius:5px;padding:2px 5px;position:absolute;top:6px;right:6px}.drug-icd{color:var(--text3);font-size:9px;font-family:var(--mono);margin-top:2px}.rx-table{border-collapse:collapse;width:100%;font-size:12px}.rx-table th{text-align:left;font-size:var(--fs-sm);letter-spacing:.1em;text-transform:uppercase;color:var(--text3);border-bottom:1px solid var(--border);font-weight:var(--fw-medium);padding:7px 10px;transition:border-color .3s}.rx-table td{border-bottom:1px solid var(--border);padding:7px 10px;transition:border-color .3s}.rx-table tr:last-child td{border-bottom:none}.rx-table input{background:var(--surface2);border:1px solid var(--border);color:var(--text);font-size:11px;font-family:var(--mono);border-radius:5px;outline:none;width:100%;padding:4px 7px;transition:all .2s}.rx-table input:focus{border-color:var(--accent);background:var(--surface)}.rx-num{font-family:var(--mono);color:var(--accent2)}.history-timeline{padding-left:22px;position:relative}.history-timeline:before{content:"";background:var(--border);width:1px;transition:background .3s;position:absolute;top:8px;bottom:8px;left:7px}.history-entry{margin-bottom:16px;position:relative}.history-dot{background:var(--accent);border:2px solid var(--surface);width:9px;height:9px;box-shadow:0 0 5px var(--accent);border-radius:50%;transition:border-color .3s;position:absolute;top:4px;left:-19px}.history-date{color:var(--text3);font-size:11px;font-family:var(--mono);margin-bottom:3px}.history-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;padding:11px 13px;transition:all .2s}.history-card:hover{border-color:var(--accent);box-shadow:0 0 12px var(--accent-soft);transform:translate(2px)}.history-card.selected{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 15px var(--accent-soft)}.history-card-inner:after{content:"👁 Lihat Detail";color:var(--accent2);font-size:10px;font-family:var(--mono);margin-top:6px;display:block}.history-card.selected .history-card-inner:after{content:"✓ Sedang Dilihat";font-weight:700}.history-dx{color:var(--text);font-size:13px;font-weight:600}.history-detail{color:var(--text2);margin-top:3px;font-size:11px;line-height:1.5}.history-rx{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.rx-pill{background:var(--purple-soft);color:var(--purple);font-size:10px;font-family:var(--mono);border-radius:10px;padding:2px 7px}.history-layout{grid-template-columns:350px 1fr;gap:20px;height:100%;min-height:0;display:grid}.history-sidebar{flex-direction:column;gap:14px;padding-right:10px;display:flex;overflow-y:auto}.history-detail-area{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;display:flex;position:relative;overflow:hidden}.history-detail-scroll{flex:1;padding:24px;overflow-y:auto}.history-detail-empty{height:100%;color:var(--text3);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:40px;display:flex}.history-detail-header{border-bottom:1px solid var(--border);background:var(--surface);z-index:10;justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.ai-prompt-area{gap:8px;margin-bottom:14px;display:flex}.ai-prompt-input{background:var(--surface2);border:1px solid var(--border);color:var(--text);resize:none;border-radius:8px;outline:none;flex:1;min-height:70px;padding:10px 13px;font-family:DM Sans,sans-serif;font-size:13px;transition:all .2s}.ai-prompt-input:focus{border-color:var(--cyan);background:var(--surface)}.ai-result{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-lg);font-size:var(--fs-base);color:var(--text2);white-space:pre-wrap;word-break:break-word;min-height:120px;padding:16px;line-height:1.7;transition:all .3s}.ai-result.loading{color:var(--text3);font-style:italic}.ai-chip-row{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.ai-chip{cursor:pointer;background:var(--cyan-soft);color:var(--cyan);border:1px solid var(--cyan);border-radius:20px;padding:5px 12px;font-size:11px;font-weight:500;transition:all .15s}.ai-chip:hover{background:var(--cyan);color:var(--surface)}.ai-badge{background:var(--cyan-soft);border:1px solid var(--cyan);color:var(--cyan);font-size:10px;font-family:var(--mono);border-radius:20px;align-items:center;gap:5px;padding:3px 9px;display:inline-flex}.ai-thinking{align-items:center;gap:4px;padding:8px 0;display:flex}.ai-dot{background:var(--cyan);border-radius:50%;width:6px;height:6px;animation:1.4s infinite aiDot}.ai-dot:nth-child(2){animation-delay:.2s}.ai-dot:nth-child(3){animation-delay:.4s}@keyframes aiDot{0%,80%,to{opacity:.2;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.icd-search-wrap{position:relative}.icd-dropdown{background:var(--surface);border:1px solid var(--accent);z-index:200;border-radius:8px;max-height:200px;margin-top:2px;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #0006}.icd-item{cursor:pointer;border-bottom:1px solid var(--border);font-size:12px;font-family:var(--mono);color:var(--text2);padding:8px 12px;transition:background .12s}.icd-item:last-child{border-bottom:none}.icd-item:hover{background:var(--accent-soft);color:var(--accent2)}.icd-code{color:var(--accent2);margin-right:6px;font-weight:600}.modal-overlay{z-index:999;backdrop-filter:blur(6px);background:#000000bf;justify-content:center;align-items:center;display:none;position:fixed;inset:0}.modal-overlay.open{display:flex}.modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:560px;max-width:96vw;max-height:88vh;padding:24px;transition:background .3s,border-color .3s;animation:.2s slideUp;overflow-y:auto}.modal-lg{width:840px}.modal-xl{width:94vw;max-width:1100px}@keyframes slideUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.modal-title{color:var(--text);align-items:center;gap:10px;margin-bottom:18px;font-family:DM Serif Display,serif;font-size:20px;display:flex}.modal-footer{justify-content:flex-end;gap:8px;margin-top:20px;display:flex}.modal-close{color:var(--text3);cursor:pointer;background:0 0;border:none;margin-left:auto;font-size:18px;line-height:1;transition:color .15s}.modal-close:hover{color:var(--text)}.hd-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.hd-field{flex-direction:column;gap:3px;display:flex}.hd-label{color:var(--text3);text-transform:uppercase;letter-spacing:.07em;font-size:10px;font-weight:600}.hd-value{color:var(--text2);background:var(--surface2);border:1px solid var(--border);border-radius:7px;min-height:32px;padding:7px 10px;font-family:DM Sans,sans-serif;font-size:13px;line-height:1.5;transition:all .3s}.hd-value.mono{font-family:var(--mono);color:var(--accent2);font-size:12px}.hd-full{grid-column:1/-1}.hd-section{letter-spacing:.1em;text-transform:uppercase;color:var(--accent2);border-left:3px solid var(--accent);margin:12px 0 6px;padding-left:8px;font-size:10px;font-weight:700}.status-bar{background:var(--surface);border-top:1px solid var(--border);color:var(--text3);font-size:11px;font-family:var(--mono);flex-shrink:0;grid-column:1/-1;align-items:center;gap:16px;padding:5px 20px;transition:background .3s,border-color .3s;display:flex}.status-item{align-items:center;gap:5px;display:flex}.status-dot{border-radius:50%;width:6px;height:6px}.save-toast{background:var(--green);color:#fff;opacity:0;z-index:500;pointer-events:none;border-radius:8px;padding:8px 16px;font-size:13px;font-weight:600;transition:all .3s;position:fixed;bottom:36px;right:20px;transform:translateY(8px)}.save-toast.show{opacity:1;transform:translateY(0)}.empty-state{height:60vh;color:var(--text3);flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex}.empty-icon{opacity:.3;font-size:48px}.empty-title{color:var(--text2);font-family:DM Serif Display,serif;font-size:20px}.empty-sub{text-align:center;max-width:280px;font-size:13px;line-height:1.5}.import-zone{border:2px dashed var(--border);border-radius:var(--radius-lg);text-align:center;cursor:pointer;background:var(--surface2);padding:24px;transition:all .2s}.import-zone:hover,.import-zone.over{border-color:var(--green);background:var(--green-soft)}.import-zone-icon{margin-bottom:8px;font-size:32px}.import-zone-text{color:var(--text3);font-size:13px}.import-zone-sub{color:var(--text3);font-size:11px;font-family:var(--mono);margin-top:4px}.csv-preview{background:var(--surface2);border:1px solid var(--border);border-radius:8px;max-height:260px;margin-top:12px;transition:all .3s;overflow:auto}.csv-preview table{border-collapse:collapse;width:100%;font-size:11px;font-family:var(--mono)}.csv-preview th{background:var(--surface3);text-align:left;color:var(--accent2);border-bottom:1px solid var(--border);padding:6px 10px;transition:all .3s;position:sticky;top:0}.csv-preview td{border-bottom:1px solid var(--border);color:var(--text2);padding:5px 10px;transition:all .3s}.progress-row{gap:6px;margin-bottom:12px;display:flex}.progress-step{text-align:center;border:1px solid var(--border);background:var(--surface2);color:var(--text3);cursor:pointer;border-radius:8px;flex:1;padding:8px;font-size:11px;font-weight:600;transition:all .2s}.progress-step.done{background:var(--green-soft);border-color:var(--green);color:var(--green)}.progress-step.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent2)}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}#authEmail:focus,#authPass:focus{border-color:var(--accent)!important;background:var(--surface)!important}#authBtn:hover{opacity:.87}#authBtn:disabled{opacity:.5;cursor:not-allowed}@media (width<=900px){.app{grid-template-columns:1fr!important}.sidebar{z-index:1000;opacity:1;height:calc(100vh - 78px);transition:transform .3s cubic-bezier(.4,0,.2,1),opacity .3s cubic-bezier(.4,0,.2,1);position:fixed;top:68px;bottom:10px;left:10px;transform:translate(0);box-shadow:0 20px 50px #00000073;width:275px!important;min-width:275px!important;max-width:275px!important;margin:0!important}.app.sidebar-collapsed .sidebar{opacity:0;pointer-events:none;margin-left:0!important;transform:translate(-120%)!important}.sidebar-backdrop{-webkit-backdrop-filter:none;z-index:999;opacity:0;pointer-events:none;background:#0f172aa6;width:100vw;height:calc(100vh - 60px);transition:opacity .28s cubic-bezier(.4,0,.2,1);display:block;position:fixed;top:60px;left:0}.app:not(.sidebar-collapsed) .sidebar-backdrop{opacity:1;pointer-events:auto}.vitals-row{grid-template-columns:repeat(3,1fr)}.form-grid-4,.form-grid-bmi{grid-template-columns:1fr 1fr}.triple-panel{grid-template-rows:auto auto auto;grid-template-columns:1fr}.triple-col{border-right:none;border-bottom:1px solid var(--border)}.history-layout{grid-template-columns:1fr;height:auto}.history-sidebar{border-right:none;border-bottom:1px solid var(--border);max-height:400px;padding-bottom:20px}}.app.sidebar-collapsed{--sidebar-w:0px!important}.app.sidebar-collapsed .sidebar{opacity:0;pointer-events:none;box-shadow:none;border:none;margin-left:-286px}@media print{.sidebar,.topbar,.tab-bar,.status-bar,.btn,.sidebar-actions,.modal-overlay,.ai-chat-fab,.ai-chat-window,.toast{display:none!important}html,body,.app,.main,#recordView,.content-area,.triple-panel,.triple-col{color:#000!important;background:#fff!important;width:100%!important;height:auto!important;min-height:auto!important;margin:0!important;padding:0!important;display:block!important;position:static!important;overflow:visible!important}.card,.pemeriksaan-section,.hd-section,.col-header{break-inside:avoid}body{font-size:12pt;color:#000!important;background:#fff!important}.triple-col{border:none!important;padding:10px 0!important}}.ai-chat-fab{background:var(--accent);color:#fff;cursor:pointer;z-index:999;border:2px solid #ffffff1a;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;font-size:24px;transition:all .3s;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 8px 24px #6366f166}.ai-chat-fab:hover{transform:translateY(-4px);box-shadow:0 12px 32px #6366f180}.ai-chat-window{background:var(--surface);backdrop-filter:blur(25px);border:1px solid var(--border);z-index:998;border-radius:24px;flex-direction:column;width:360px;height:520px;animation:.4s cubic-bezier(.16,1,.3,1) slideUpChat;display:none;position:fixed;bottom:95px;right:24px;overflow:hidden;box-shadow:0 20px 50px #0000004d}@keyframes slideUpChat{0%{opacity:0;transform:translateY(30px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.ai-chat-header{background:var(--accent);color:#fff;justify-content:space-between;align-items:center;padding:18px;display:flex}.ai-chat-messages{background-image:radial-gradient(var(--border) .5px, transparent .5px);background-size:20px 20px;flex-direction:column;flex:1;gap:14px;padding:20px;display:flex;overflow-y:auto}.chat-bubble{border-radius:18px;max-width:85%;padding:12px 16px;font-size:13.5px;line-height:1.6;box-shadow:0 2px 8px #0000000d}.bubble-user{background:var(--accent);color:#fff;border-bottom-right-radius:4px;align-self:flex-end}.bubble-ai{background:var(--surface2);color:var(--text);border:1px solid var(--border);border-bottom-left-radius:4px;align-self:flex-start}.ai-chat-input-area{border-top:1px solid var(--border);background:var(--surface);align-items:center;gap:10px;padding:16px;display:flex}.ai-chat-input{background:var(--surface2);border:1px solid var(--border);color:var(--text);border-radius:12px;outline:none;flex:1;padding:10px 15px;font-size:14px;transition:border-color .2s}.ai-chat-input:focus{border-color:var(--accent)}.toggle-sidebar-btn{background:var(--surface2);border:1px solid var(--border);color:var(--text2);cursor:pointer;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;margin-right:12px;font-size:18px;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex}.toggle-sidebar-btn:hover{background:var(--accent-soft);border-color:var(--accent);color:var(--accent2);transform:scale(1.05)}.toggle-sidebar-btn:active{transform:scale(.95)}.sidebar-backdrop{display:none}@keyframes toastSlideIn{0%{opacity:0;transform:translate(40px)scale(.95)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes toastSlideOut{0%{opacity:1;transform:translate(0)scale(1)}to{opacity:0;transform:translate(50px)scale(.9)}}.premium-toast{background:var(--bg-card,#1e293b);border:1px solid var(--border-color,#334155);color:var(--text-primary,#f8fafc);cursor:pointer;pointer-events:auto;-webkit-backdrop-filter:blur(12px);word-break:break-word;border-radius:14px;align-items:flex-start;gap:10px;max-width:100%;padding:13px 16px;font-size:13px;font-weight:500;line-height:1.45;transition:transform .2s,box-shadow .2s;animation:.38s cubic-bezier(.34,1.56,.64,1) both toastSlideIn;display:flex;position:relative;overflow:hidden;box-shadow:0 8px 24px -4px #00000059,0 4px 10px -4px #00000040}.premium-toast:before{content:"";background:linear-gradient(to bottom, var(--accent-teal,#38bdf8), var(--accent-emerald,#34d399));border-radius:14px 0 0 14px;width:3px;position:absolute;top:0;bottom:0;left:0}.premium-toast:hover{transform:translateY(-2px);box-shadow:0 12px 30px -5px #00000040,0 8px 16px -6px #00000026!important}.panel-skeleton{box-sizing:border-box;flex-direction:column;gap:16px;width:100%;padding:24px;display:flex}.panel-skeleton__bar{background:var(--surface2,#1e293b);border-radius:10px;animation:1.6s ease-in-out infinite pulse}.ai-panel-wrapper{box-sizing:border-box;flex-direction:row;flex:1;gap:20px;width:100%;height:calc(100vh - 130px);min-height:0;display:flex}.ai-left-column{flex-direction:column;flex:1.25;gap:16px;min-height:0;padding-right:6px;display:flex;overflow-y:auto}.chat-right-column{flex-direction:column;flex:.75;height:100%;min-height:0;display:flex}@media (width<=1024px){.ai-panel-wrapper{flex-direction:column;height:auto;overflow-y:visible}.ai-left-column{flex:none;overflow-y:visible}.chat-right-column{flex:none;height:520px;margin-top:10px}}.timeline-panel-wrapper{flex-direction:column;gap:20px;max-width:1200px;height:100%;margin:0 auto;padding:24px;display:flex;overflow-y:auto}.timeline-header{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:16px;display:flex}.timeline-title{color:var(--text);margin-bottom:4px;font-family:DM Serif Display,serif;font-size:24px}.timeline-sub{color:var(--text3);margin:0;font-size:13px}.timeline-stats-group{gap:12px;display:flex}.tl-stat-chip{background:var(--surface2);border:1px solid var(--border);border-radius:12px;flex-direction:column;align-items:center;min-width:90px;padding:8px 16px;display:flex}.tl-stat-val{color:var(--accent2);font-size:20px;font-weight:700;font-family:var(--mono)}.tl-stat-lbl{color:var(--text3);text-transform:uppercase;letter-spacing:.05em;font-size:10px}.timeline-toolbar{background:var(--surface);border:1px solid var(--border);border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding:12px 16px;display:flex;box-shadow:0 4px 14px #0000000d}.timeline-search-box-wrap{flex:1;align-items:center;min-width:280px;display:flex;position:relative}.tl-search-icon{color:var(--text3);font-size:14px;position:absolute;left:12px}.timeline-search-input{background:var(--surface2);border:1px solid var(--border);width:100%;color:var(--text);border-radius:10px;outline:none;padding:8px 36px;font-size:13px;transition:all .2s}.timeline-search-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.tl-clear-btn{color:var(--text3);cursor:pointer;background:0 0;border:none;font-size:12px;position:absolute;right:10px}.timeline-filter-pills{flex-wrap:wrap;gap:6px;display:flex}.tl-pill{background:var(--surface2);border:1px solid var(--border);color:var(--text2);cursor:pointer;border-radius:20px;padding:6px 14px;font-size:12px;font-weight:500;transition:all .2s}.tl-pill:hover{border-color:var(--accent);color:var(--accent2)}.tl-pill.active{color:#fff;background:linear-gradient(135deg,#0d9488 0%,#0284c7 100%);border-color:#0000;box-shadow:0 3px 10px #0d94884d}.timeline-stream{flex-direction:column;gap:14px;display:flex}.timeline-card{border:1px solid var(--border);background:linear-gradient(135deg,#1e293bf2 0%,#0f172ae6 100%);border-radius:16px;padding:16px 20px;transition:all .25s cubic-bezier(.4,0,.2,1);position:relative;box-shadow:0 4px 20px #00000040}.timeline-card.today-highlight{background:linear-gradient(135deg,#1e293bfa 0%,#0d94882e 100%);border:1px solid #14b8a666;box-shadow:0 4px 20px #14b8a61f}html[data-theme=light] .timeline-card{border-color:var(--border);background:linear-gradient(135deg,#fffffffa 0%,#f8fafceb 100%);box-shadow:0 4px 20px #0f172a0a}html[data-theme=light] .timeline-card.today-highlight{background:linear-gradient(135deg,#f0fdfae6 0%,#eff6fff2 100%);border:1px solid #0d948859;box-shadow:0 4px 20px #0d948814}.tl-card-header{border-bottom:1px dashed var(--border);justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;padding-bottom:10px;display:flex}.tl-patient-name{color:var(--text);margin-right:8px;font-size:16px;font-weight:700}.tl-patient-rm{font-size:11px;font-family:var(--mono);color:var(--accent2);background:var(--accent-soft);border-radius:6px;margin-right:6px;padding:2px 8px}.tl-patient-kelas{color:var(--text3);font-size:11px;font-family:var(--mono)}.tl-time-badge-wrap{align-items:center;gap:8px;display:flex}.tl-tag-today{color:#fff;letter-spacing:.05em;background:linear-gradient(135deg,#0d9488 0%,#0284c7 100%);border:none;border-radius:12px;padding:3px 10px;font-size:10px;font-weight:700;box-shadow:0 2px 8px #0d948840}.tl-time-badge{font-size:12px;font-family:var(--mono);color:var(--text2);background:var(--surface2);border:1px solid var(--border);border-radius:10px;padding:4px 10px}.tl-card-body{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.tl-dx-row{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:4px;display:flex}.tl-dx-title{color:var(--text3);font-size:13px;font-weight:600}.tl-dx-val{color:var(--text);font-size:14px;font-weight:700}.tl-icd-chip{font-size:11px;font-family:var(--mono);background:var(--amber-soft);color:var(--amber);border:1px solid #f59e0b4d;border-radius:6px;padding:2px 8px}.tl-detail-item{gap:6px;font-size:13px;display:flex}.tl-label{color:var(--text3);min-width:75px;font-weight:500}.tl-text{color:var(--text2)}.tl-vitals-chips{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.tl-vchip{font-size:11px;font-family:var(--mono);background:var(--surface2);color:var(--text2);border:1px solid var(--border);border-radius:6px;padding:3px 8px}.tl-card-actions{justify-content:flex-end;gap:8px;display:flex}.tl-action-btn{cursor:pointer;border:1px solid var(--border);border-radius:8px;padding:6px 12px;font-size:12px;font-weight:600;transition:all .2s}.tl-action-btn.primary{color:#fff;background:linear-gradient(135deg,#0d9488 0%,#0284c7 100%);border-color:#0000;box-shadow:0 2px 8px #0d948840}.tl-action-btn.primary:hover{transform:translateY(-1px);box-shadow:0 4px 14px #0d948866}.tl-action-btn.secondary{background:var(--surface2);color:var(--text2)}.tl-action-btn.secondary:hover{background:var(--surface3);color:var(--text);border-color:var(--accent)}.tl-action-btn.danger{background:var(--red-soft);color:var(--red);border-color:#0000}.tl-action-btn.danger:hover{background:var(--red);color:#fff}.tl-month-select-group{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.tl-select-dropdowns{align-items:center;gap:6px;display:flex}.tl-dropdown{background:var(--surface2);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:20px;outline:none;padding:6px 12px;font-size:12px;font-weight:600;transition:all .2s}.tl-dropdown:focus,.tl-dropdown:hover{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);background:var(--surface)}.btn-pill-xs{background:var(--surface2);border:1px solid var(--border);color:var(--text2);cursor:pointer;border-radius:10px;padding:2px 8px;font-size:10px;font-weight:600;transition:all .2s}.btn-pill-xs:hover{background:var(--accent-soft);color:var(--accent2);border-color:var(--accent)}.btn-pill-xs.danger:hover{background:var(--red-soft);color:var(--red);border-color:var(--red)}.timeline-empty-card{text-align:center;background:var(--surface);border:1px dashed var(--border);border-radius:16px;padding:40px 20px}.tl-empty-icon{opacity:.6;margin-bottom:12px;font-size:40px}.tl-empty-title{color:var(--text);margin-bottom:4px;font-size:16px;font-weight:700}.tl-empty-sub{color:var(--text3);max-width:400px;margin:0 auto;font-size:13px}.freq-patient-item:hover{background:var(--surface2);padding-left:6px;padding-right:6px}.topbar-doc-btn{cursor:pointer;white-space:nowrap;letter-spacing:.01em;background:linear-gradient(135deg,#0284c7 0%,#2563eb 50%,#4f46e5 100%);border:1px solid #3b82f666;border-radius:12px;align-items:center;gap:6px;padding:6px 14px;font-size:12px;font-weight:700;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;box-shadow:0 3px 12px #2563eb59;color:#fff!important}.topbar-doc-btn:hover{border-color:#ffffffb3;transform:translateY(-1px)scale(1.02);box-shadow:0 6px 18px #2563eb80}.topbar-doc-btn:active{transform:translateY(0)scale(.98)}.topbar-doc-badge{backdrop-filter:blur(4px);text-transform:uppercase;letter-spacing:.05em;background:#ffffff40;border-radius:6px;padding:1px 6px;font-size:10px;font-weight:800}@media screen and (width<=1024px){.table-responsive,.table-container,table{-webkit-overflow-scrolling:touch;max-width:100%;overflow-x:auto}.tab-bar{white-space:nowrap!important;-webkit-overflow-scrolling:touch!important;scrollbar-width:none!important;-ms-overflow-style:none!important;padding-bottom:4px!important;overflow-x:auto!important}.tab-bar::-webkit-scrollbar{display:none!important}.tab{touch-action:manipulation!important;flex-shrink:0!important}.grid-2col,.grid-3col,.dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))!important}.sidebar{will-change:transform;transform:translateZ(0);transition:transform .3s cubic-bezier(.4,0,.2,1)!important}.sidebar-backdrop{display:none}.app:not(.sidebar-collapsed) .sidebar-backdrop{z-index:998;background:#0f172aa6;animation:.2s fadeIn;display:block;position:fixed;inset:0;-webkit-backdrop-filter:none!important}}@media screen and (width<=767px){:root{--touch-min-height:44px}body,html{overflow-x:hidden!important}.topbar{-webkit-overflow-scrolling:touch!important;z-index:1000!important;flex-wrap:nowrap!important;gap:6px!important;height:auto!important;min-height:50px!important;padding:6px 10px!important;overflow-x:auto!important}.topbar-badge,.topbar-divider,.topbar-sub,.datetime{display:none!important}.topbar-brand{font-size:15px!important}.topbar-right{flex-shrink:0!important;gap:4px!important;margin-left:auto!important}.topbar-btn{min-height:36px!important;padding:4px 8px!important;font-size:11px!important}.topbar-doc-btn{padding:4px 8px!important;font-size:11px!important}.form-grid,.form-grid-2,.form-grid-3,.form-grid-4,.form-grid-bmi,.grid-2col,.grid-3col{grid-template-columns:1fr!important;gap:8px!important}.field,.field-row,.full-width{grid-column:1/-1!important;width:100%!important}input[type=text],input[type=search],input[type=number],input[type=date],input[type=datetime-local],select,textarea{box-sizing:border-box!important;width:100%!important;max-width:100%!important;font-size:16px!important}.vitals-grid,.vitals-row{grid-template-columns:1fr 1fr!important;gap:8px!important}.triple-panel{flex-direction:column!important;display:flex!important;overflow-y:auto!important}.triple-col{width:100%!important;max-width:100%!important;margin-bottom:12px!important}button,.btn,.tab,.topbar-btn,.nav-item{touch-action:manipulation!important}.sidebar,.topbar,.modal-overlay,.sidebar-backdrop{-webkit-backdrop-filter:none!important}button,.btn,.topbar-btn,.nav-item{min-height:var(--touch-min-height);align-items:center;display:inline-flex}.modal-overlay{align-items:flex-end!important;padding:0!important}.modal,.modal-dialog{will-change:transform;transform:translateZ(0);border-radius:20px 20px 0 0!important;width:100%!important;max-width:100%!important;max-height:90vh!important;animation:.25s cubic-bezier(.16,1,.3,1) slideUpBottom!important;overflow-y:auto!important}.main-content,.content-area,.panel,.panel-body{padding:10px!important}.status-bar{flex-wrap:wrap!important;gap:6px!important;padding:8px 12px!important;font-size:11px!important}}@keyframes slideUpBottom{0%{transform:translateY(100%)}to{transform:translateY(0)}}select option{background-color:var(--surface,#1e293b);color:var(--text,#f8fafc);padding:8px 12px}html[data-theme=light] select option{color:#0f172a;background-color:#fff}
