.page-actions[data-v-3bcbbcb7]{display:flex;gap:10px}.table-container[data-v-3bcbbcb7]{overflow-x:auto;max-height:500px}.icon-button[data-v-3bcbbcb7]{background:var(--accent-soft);color:var(--accent);border:1px solid var(--accent);width:32px;height:32px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.icon-button[data-v-3bcbbcb7]:hover{background:var(--accent);color:#fff;transform:scale(1.05)}.side-panel-overlay[data-v-3bcbbcb7]{position:fixed;top:0;left:0;right:0;bottom:0;background:#0006;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;justify-content:flex-end;z-index:1000}.side-panel[data-v-3bcbbcb7]{background:var(--bg-elevated);width:100%;max-width:400px;height:100%;border-left:1px solid var(--border-subtle);box-shadow:-10px 0 30px #0003;display:flex;flex-direction:column;animation:slideIn-3bcbbcb7 .3s ease-out}@keyframes slideIn-3bcbbcb7{0%{transform:translate(100%)}to{transform:translate(0)}}.side-panel-header[data-v-3bcbbcb7]{padding:20px;border-bottom:1px solid var(--border-subtle);display:flex;align-items:center;justify-content:space-between}.side-panel-title[data-v-3bcbbcb7]{font-size:16px;font-weight:600}.side-panel-close[data-v-3bcbbcb7]{background:transparent;border:none;color:var(--text-soft);cursor:pointer;font-size:18px;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background .2s}.side-panel-close[data-v-3bcbbcb7]:hover{background:var(--bg-elevated-soft);color:var(--text-main)}.side-panel-body[data-v-3bcbbcb7]{padding:20px;flex:1;overflow-y:auto}.side-panel-footer[data-v-3bcbbcb7]{padding:20px;border-top:1px solid var(--border-subtle);display:flex;gap:12px}.form-vertical[data-v-3bcbbcb7]{display:flex;flex-direction:column;gap:16px}.button-ghost[data-v-3bcbbcb7]{background:transparent;border:1px solid var(--border-subtle);color:var(--text-soft);padding:8px 16px;border-radius:999px;cursor:pointer;font-size:13px}.button-ghost[data-v-3bcbbcb7]:hover{background:var(--bg-main);color:var(--text-main)}.filters-card[data-v-133e89de]{padding:20px}.filters-grid[data-v-133e89de]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;align-items:flex-end}.flex-end[data-v-133e89de]{display:flex;align-items:flex-end}.w-full[data-v-133e89de]{width:100%}.list-card[data-v-133e89de]{margin-top:20px;padding:0;overflow:hidden}.history-list[data-v-133e89de]{display:flex;flex-direction:column}.history-item[data-v-133e89de]{padding:16px 20px;border-bottom:1px solid var(--border-subtle);cursor:pointer;transition:all .2s}.history-item[data-v-133e89de]:hover{background:var(--bg-elevated-soft);transform:translate(4px)}.item-main[data-v-133e89de]{display:flex;align-items:center;gap:16px}.item-info[data-v-133e89de]{flex:1;display:flex;flex-direction:column;gap:6px}.info-primary[data-v-133e89de]{display:flex;align-items:center;gap:10px}.emp-code[data-v-133e89de]{font-weight:600;color:var(--accent);font-size:14px}.emp-name[data-v-133e89de]{font-weight:500;font-size:15px}.dept-tag[data-v-133e89de]{font-size:11px;padding:2px 8px;background:var(--bg-main);border:1px solid var(--border-subtle);border-radius:999px;color:var(--text-soft)}.info-secondary[data-v-133e89de]{display:flex;gap:16px;font-size:13px;color:var(--text-soft)}.diag-label[data-v-133e89de],.med-summary[data-v-133e89de]{display:flex;align-items:center;gap:6px}.item-meta[data-v-133e89de]{text-align:right;min-width:120px}.date-text[data-v-133e89de]{font-weight:500;font-size:13px}.time-text[data-v-133e89de]{font-size:12px;color:var(--text-soft)}.item-chevron[data-v-133e89de]{color:var(--border-subtle)}.empty-state[data-v-133e89de]{padding:60px;text-align:center;color:var(--text-soft)}.empty-state i[data-v-133e89de]{margin-bottom:16px;opacity:.5}.detail-section[data-v-133e89de]{margin-bottom:24px}.section-title[data-v-133e89de]{font-size:14px;font-weight:600;margin-bottom:12px;color:var(--text-soft);text-transform:uppercase;letter-spacing:.05em}.detail-patient-card[data-v-133e89de]{display:flex;align-items:center;gap:16px;background:var(--bg-main);padding:16px;border-radius:16px;border:1px solid var(--border-subtle)}.patient-avatar[data-v-133e89de]{width:56px;height:56px;background:var(--accent-soft);color:var(--accent);border-radius:12px;display:flex;align-items:center;justify-content:center}.patient-info h3[data-v-133e89de]{margin:0 0 4px;font-size:18px}.patient-info p[data-v-133e89de]{margin:0;font-size:12px;color:var(--text-soft)}.info-grid-2[data-v-133e89de]{display:grid;grid-template-columns:1fr 1fr;gap:12px}.info-box[data-v-133e89de]{background:var(--bg-elevated-soft);padding:10px 12px;border-radius:10px;border:1px solid var(--border-subtle)}.info-box label[data-v-133e89de]{font-size:10px;color:var(--text-soft);display:block;margin-bottom:2px}.info-box div[data-v-133e89de]{font-size:13px;font-weight:500}.detail-table[data-v-133e89de]{width:100%;border-collapse:collapse}.detail-table th[data-v-133e89de]{text-align:left;font-size:12px;color:var(--text-soft);padding:8px;border-bottom:1px solid var(--border-subtle)}.detail-table td[data-v-133e89de]{padding:10px 8px;font-size:13px;border-bottom:1px solid var(--border-subtle)}.detail-table tfoot td[data-v-133e89de]{padding-top:12px;border-bottom:none}.side-panel-overlay[data-v-133e89de]{position:fixed;top:0;left:0;right:0;bottom:0;background:#0006;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;justify-content:flex-end;z-index:1000}.side-panel[data-v-133e89de]{background:var(--bg-elevated);width:100%;max-width:450px;height:100%;border-left:1px solid var(--border-subtle);box-shadow:-10px 0 30px #0003;display:flex;flex-direction:column;animation:slideIn-133e89de .3s ease-out}@keyframes slideIn-133e89de{0%{transform:translate(100%)}to{transform:translate(0)}}.side-panel-header[data-v-133e89de]{padding:20px;border-bottom:1px solid var(--border-subtle);display:flex;align-items:center;justify-content:space-between}.side-panel-title[data-v-133e89de]{font-size:16px;font-weight:600}.side-panel-close[data-v-133e89de]{background:transparent;border:none;color:var(--text-soft);cursor:pointer;font-size:18px;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background .2s}.side-panel-close[data-v-133e89de]:hover{background:var(--bg-elevated-soft);color:var(--text-main)}.side-panel-body[data-v-133e89de]{padding:24px;flex:1;overflow-y:auto}.side-panel-footer[data-v-133e89de]{padding:20px;border-top:1px solid var(--border-subtle);display:flex;gap:12px}@font-face{font-family:SF Thonburi;src:url(/assets/SF%20thonburi-MDUgOFp1.woff2) format("woff2");font-style:normal;font-weight:400;font-display:swap}:root{--bg-body: radial-gradient(circle at top left, #020617 0, #020617 45%, #000 100%);--bg-main: #020617;--bg-elevated: rgba(15, 23, 42, .9);--bg-elevated-soft: rgba(15, 23, 42, .7);--border-subtle: rgba(148, 163, 184, .3);--accent: #3b82f6;--accent-soft: rgba(59, 130, 246, .16);--accent-danger: #ef4444;--accent-warning: #facc15;--accent-info: #38bdf8;--accent-contrast-text: #dbeafe;--text-main: #e5e7eb;--text-soft: #9ca3af;--sidebar-width: 260px;--shadow-color-strong: rgba(15, 23, 42, .55);--shadow-color-medium: rgba(15, 23, 42, .4);--shadow-color-outline: rgba(15, 23, 42, .7)}html.theme-light{--bg-body: radial-gradient(circle at top left, #e5f2ff 0, #f9fafb 45%, #e5e7eb 100%);--bg-main: #e5e7eb;--bg-elevated: rgba(255, 255, 255, .98);--bg-elevated-soft: rgba(255, 255, 255, .9);--border-subtle: rgba(148, 163, 184, .7);--accent-soft: rgba(59, 130, 246, .12);--accent-contrast-text: #1e3a8a;--text-main: #0f172a;--text-soft: #4b5563;--shadow-color-strong: rgba(15, 23, 42, .18);--shadow-color-medium: rgba(15, 23, 42, .12);--shadow-color-outline: rgba(148, 163, 184, .28)}.button-ghost{background:transparent;border:1px solid var(--border-subtle);padding:9px 17px;border-radius:20px;color:var(--text-main);margin-right:10px}.button-ghost:hover{box-shadow:0 0 0 2px var(--accent-soft);transform:translateY(-1px)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-subtle);border-radius:10px;transition:background .2s ease}::-webkit-scrollbar-thumb:hover{background:var(--text-soft)}*{scrollbar-width:thin;scrollbar-color:var(--border-subtle) transparent}html,body{margin:0;padding:0;height:100%;font-family:SF Thonburi,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg-body);color:var(--text-main)}body{overflow:hidden}.app-root{height:100vh;display:flex}.layout-root{display:flex;width:100%;height:100%;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.layout-sidebar{width:var(--sidebar-width)}.layout-main{flex:1;display:flex;flex-direction:column;border-left:1px solid var(--border-subtle);background:linear-gradient(135deg,var(--bg-elevated) 0,var(--bg-main) 55%)}.layout-toolbar{flex-shrink:0}.layout-content{flex:1;padding:20px 28px 24px;overflow:auto}.sidebar{height:100%;background:linear-gradient(180deg,var(--bg-elevated),var(--bg-elevated));border-right:1px solid var(--border-subtle);display:flex;flex-direction:column;padding:18px 18px 16px;box-sizing:border-box}.sidebar-header{display:flex;align-items:center;gap:10px;margin-bottom:24px}.sidebar-logo{width:32px;height:32px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:16px;background:radial-gradient(circle at 10% 0,#3b82f6,#1d4ed8);color:var(--accent-contrast-text);box-shadow:0 0 0 1px #3b82f68c,0 10px 25px #2563eb61}.sidebar-title{font-weight:600;letter-spacing:.02em}.sidebar-nav{display:flex;flex-direction:column;gap:6px}.sidebar-link{border-radius:10px;padding:10px 11px;border:1px solid transparent;background:transparent;color:var(--text-soft);display:flex;align-items:center;justify-content:space-between;font-size:14px;cursor:pointer;transition:background .16s ease,color .16s ease,border-color .16s ease,transform .08s ease}.sidebar-link:hover{background:var(--bg-elevated);color:var(--text-main);border-color:var(--border-subtle);transform:translateY(-1px)}.sidebar-link-active{background:var(--accent-soft);color:var(--text-main);border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.toolbar{display:flex;align-items:center;justify-content:space-between;padding:12px 24px 10px;background:linear-gradient(90deg,var(--bg-elevated),var(--bg-elevated-soft));border-bottom:1px solid var(--border-subtle);box-shadow:0 8px 24px var(--shadow-color-medium);position:sticky;top:0;z-index:40}.toolbar-left{display:flex;flex-direction:column}.toolbar-title{font-size:18px;margin:0}.toolbar-subtitle{font-size:12px;color:var(--text-soft)}.toolbar-right{display:flex;align-items:center;gap:12px}.toolbar-button{border-radius:999px;border:1px solid var(--border-subtle);background:var(--bg-elevated);color:var(--text-main);padding:7px 12px;font-size:12px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:border-color .16s ease,background .16s ease,transform .08s ease,box-shadow .1s ease}.toolbar-button:hover{border-color:var(--border-subtle);box-shadow:0 0 0 1px var(--border-subtle);transform:translateY(-1px)}.toolbar-button.danger{border-color:var(--accent-danger);background:var(--bg-elevated)}.toolbar-button.danger:hover{box-shadow:0 0 0 1px var(--accent-danger)}.toolbar-user{display:flex;align-items:center;gap:8px;padding-left:10px;border-left:1px solid var(--border-subtle)}.toolbar-user-info{display:flex;flex-direction:column;text-align:right}.user-name{font-size:13px}.user-role{font-size:11px;color:var(--text-soft)}.notify-root{position:fixed;top:16px;right:18px;width:320px;z-index:100;pointer-events:none}.notify-item{-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);background:var(--bg-elevated-soft);border-radius:18px;padding:10px 12px 10px 14px;margin-bottom:10px;border:1px solid var(--border-subtle);box-shadow:0 12px 30px var(--shadow-color-strong),0 0 0 1px var(--shadow-color-outline);display:flex;align-items:center;gap:10px;pointer-events:auto}.notify-success{border-color:#22c55ed9;box-shadow:0 18px 48px #16a34a99,0 0 0 1px #15803de6}.notify-error{border-color:#f87171e6;box-shadow:0 18px 48px #dc262699,0 0 0 1px #b91c1ce6}.notify-warning{border-color:#eab308e6}.notify-info{border-color:#38bdf8e6}.notify-content{flex:1}.notify-title{font-size:13px;font-weight:600}.notify-message{font-size:12px;color:var(--text-soft)}.notify-close{background:transparent;border:none;color:var(--text-soft);font-size:14px;cursor:pointer}.notify-enter-active,.notify-leave-active{transition:opacity .18s ease,transform .18s ease}.notify-enter-from,.notify-leave-to{opacity:0;transform:translateY(-8px) translate(8px) scale(.97)}.page{display:flex;flex-direction:column;gap:18px}.page-header{display:flex;align-items:center;justify-content:space-between}.page-title{font-size:clamp(16px,2.2vw,20px);font-weight:600}.page-subtitle{font-size:clamp(11px,1.4vw,13px);color:var(--text-soft)}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.kpi-card{background:linear-gradient(135deg,var(--bg-elevated),var(--bg-elevated-soft));border-radius:18px;padding:14px 16px;border:1px solid var(--border-subtle);box-shadow:0 12px 28px var(--shadow-color-strong);display:flex;flex-direction:column;gap:6px}.kpi-label{font-size:clamp(10px,1.2vw,12px);color:var(--text-soft)}.kpi-value{font-size:clamp(16px,2.4vw,20px);font-weight:600}.kpi-tag{font-size:clamp(10px,1.1vw,11px);color:var(--accent-contrast-text);background:var(--accent-soft);border-radius:999px;padding:2px 8px;align-self:flex-start}.card{background:var(--bg-elevated);border-radius:18px;border:1px solid var(--border-subtle);padding:16px 18px;box-shadow:0 12px 28px var(--shadow-color-strong)}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.card-title{font-size:clamp(13px,1.6vw,15px);font-weight:500}.card-subtitle{font-size:clamp(11px,1.3vw,12px);color:var(--text-soft)}.form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:12px}.field{display:flex;flex-direction:column;gap:4px}.field-label{font-size:12px;color:var(--text-soft)}.field-input,.field-select,.field-textarea{border-radius:10px;border:1px solid var(--border-subtle);background:var(--bg-elevated);color:var(--text-main);padding:7px 9px;font-size:clamp(12px,1.2vw,13px);outline:none;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.field-input:focus,.field-select:focus,.field-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.field-textarea{min-height:60px;resize:vertical}.button-primary{border-radius:999px;border:none;padding:9px 16px;font-size:clamp(12px,1.2vw,13px);font-weight:500;cursor:pointer;background:radial-gradient(circle at 0 0,#3b82f6,#1d4ed8);color:#eff6ff;box-shadow:0 10px 24px #3b82f652,0 0 0 1px var(--accent);display:inline-flex;align-items:center;gap:6px;transition:transform .08s ease,box-shadow .1s ease}.button-primary:hover{transform:translateY(-1px);box-shadow:0 14px 32px #3b82f666,0 0 0 1px var(--accent)}.button-primary:disabled{opacity:.6;cursor:default;transform:none;box-shadow:none}.table{width:100%;border-collapse:collapse;font-size:clamp(12px,1.3vw,13px)}.table thead{background:var(--bg-elevated)}.table th,.table td{padding:8px 10px;border-bottom:1px solid var(--border-subtle)}.table th{text-align:left;font-weight:500;color:var(--text-soft)}.table tbody tr:nth-child(2n){background:var(--bg-elevated-soft)}.pill-soft{border-radius:999px;padding:2px 8px;font-size:clamp(10px,1.1vw,11px);background:var(--bg-elevated);border:1px solid var(--border-subtle);color:var(--text-soft)}@media(max-width:1200px){.kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:900px){.kpi-grid,.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.layout-content{padding:16px 18px 18px}}@media(max-width:600px){.kpi-grid,.form-grid{grid-template-columns:1fr}.layout-content{padding:12px 14px 14px}}.login-shell{width:100%;height:100vh;display:flex;align-items:center;justify-content:center;background:url(@/images/background.png) no-repeat center center;background-size:cover}.login-card{width:380px;padding:22px 22px 20px;border-radius:24px;background:var(--bg-elevated);border:1px solid var(--border-subtle);box-shadow:0 18px 40px var(--shadow-color-strong),0 0 0 1px var(--shadow-color-outline)}.login-header{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.login-title{font-size:20px;font-weight:600}.login-subtitle{font-size:12px;color:var(--text-soft)}.login-form{display:flex;flex-direction:column;gap:10px}.login-footer{margin-top:10px;font-size:11px;color:var(--text-soft)}
