*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img,svg,video{max-width:100%;display:block}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}h1,h2,h3,h4,h5,h6,p{margin:0}:root{--header-height:64px;--sidebar-width:248px;--sidebar-collapsed-width:68px;--page-padding:24px;--transition-fast:.2s ease}@media (width<=600px){:root{--header-height:56px;--page-padding:16px}}.app-layout{height:100vh;display:flex;overflow:hidden}.main-content{min-width:0;height:100vh;padding:calc(var(--header-height) + var(--page-padding)) var(--page-padding) var(--page-padding);flex-direction:column;flex:1 1 0;display:flex;overflow:auto}.main-content>:not(.page-fill){flex-shrink:0}.app-header .MuiToolbar-root{min-height:var(--header-height);gap:12px}.app-header-brand{align-items:center;gap:10px;min-width:0;display:flex}.app-header-actions{align-items:center;gap:8px;margin-left:auto;display:flex}.app-header-user{color:var(--mui-palette-text-primary);transition:background var(--transition-fast);border-radius:999px;align-items:center;gap:8px;padding:4px 6px 4px 4px;display:flex}.app-header-user:hover,.app-header-user[aria-expanded=true]{background:var(--mui-palette-action-hover)}.app-header-user-arrow{color:var(--mui-palette-text-secondary)}.app-header-menu{min-width:230px;margin-top:6px}.app-header-menu-head{flex-direction:column;padding:8px 16px 10px;display:flex}.app-header-avatar{background:rgba(var(--mui-palette-primary-mainChannel) / .14);width:34px;height:34px;color:var(--mui-palette-primary-main);font-size:14px;font-weight:600}.app-header-user-name{white-space:nowrap;text-overflow:ellipsis;max-width:180px;font-weight:600;overflow:hidden}.brand-logo{flex-shrink:0;align-items:center;gap:10px;display:inline-flex}.brand-logo svg{flex-shrink:0}.brand-logo-text{flex-direction:column;line-height:1.1;display:flex}.brand-logo-name{letter-spacing:-.01em;color:var(--mui-palette-text-primary);font-size:22px;font-weight:700}.brand-logo-tagline{letter-spacing:.22em;text-transform:uppercase;color:var(--mui-palette-primary-main);margin-top:2px;font-size:10px;font-weight:600}.brand-logo.is-light .brand-logo-name{color:var(--mui-palette-common-white)}.brand-logo.is-light .brand-logo-tagline{color:var(--mui-palette-common-white);opacity:.8}.app-sidebar{width:var(--sidebar-width);transition:width var(--transition-fast);flex-shrink:0}.app-sidebar.is-collapsed{width:var(--sidebar-collapsed-width)}.app-sidebar .MuiDrawer-paper{width:var(--sidebar-width);background:var(--mui-palette-sidebar-bg);color:var(--mui-palette-sidebar-text);transition:width var(--transition-fast);border-right:none;overflow-x:hidden}.app-sidebar.MuiDrawer-docked .MuiDrawer-paper{top:var(--header-height);height:calc(100% - var(--header-height))}.app-sidebar.MuiDrawer-modal{z-index:var(--mui-zIndex-modal)}.app-sidebar.is-collapsed .MuiDrawer-paper{width:var(--sidebar-collapsed-width)}.sidebar-heading{letter-spacing:.08em;text-transform:uppercase;color:var(--mui-palette-sidebar-text);opacity:.7;white-space:nowrap;padding:18px 22px 8px;font-size:11px;font-weight:600}.app-sidebar.is-collapsed .sidebar-heading{visibility:hidden}.sidebar-mobile-brand{min-height:var(--header-height);border-bottom:1px solid var(--mui-palette-sidebar-divider);color:#fff;align-items:center;gap:10px;padding:0 18px;font-weight:600;display:flex}.sidebar-nav{padding:4px 10px 16px}.sidebar-nav .MuiListItemButton-root{min-height:42px;color:var(--mui-palette-sidebar-text);transition:background var(--transition-fast), color var(--transition-fast);border-radius:8px;margin-bottom:2px;padding:0 12px}.sidebar-nav .MuiListItemButton-root:hover{background:var(--mui-palette-sidebar-hoverBg);color:var(--mui-palette-sidebar-activeText)}.sidebar-nav .MuiListItemButton-root.active{background:var(--mui-palette-sidebar-activeBg);color:var(--mui-palette-sidebar-activeText)}.sidebar-nav .MuiListItemButton-root.is-parent-active{color:var(--mui-palette-sidebar-activeText)}.sidebar-nav .MuiListItemIcon-root{min-width:0;color:inherit;margin-right:14px}.sidebar-nav .MuiListItemText-primary{white-space:nowrap;font-size:14px;font-weight:500}.sidebar-submenu .MuiListItemButton-root{min-height:36px;padding-left:48px}.sidebar-submenu .MuiListItemText-primary{font-size:13px}.app-sidebar.is-collapsed .sidebar-nav .MuiListItemButton-root{justify-content:center;padding:0}.app-sidebar.is-collapsed .sidebar-nav .MuiListItemIcon-root{margin-right:0}.app-sidebar.is-collapsed .MuiListItemText-root,.app-sidebar.is-collapsed .sidebar-expand-icon{display:none}.page-header{flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px 16px;margin-bottom:20px;display:flex}.page-header-actions{flex-wrap:wrap;gap:8px;display:flex}.page-alert{flex-shrink:0;margin-bottom:16px}.page-fill{flex-direction:column;flex:auto;min-height:0;display:flex}.data-grid-wrapper{flex:1 1 0;min-height:360px}.dialog-form{flex-direction:column;min-height:0;display:flex}.filter-bar{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:12px;margin-bottom:16px;display:flex}.filter-date{align-items:center;gap:2px;display:flex}.filter-date .MuiFormControl-root{width:170px}.filter-field{width:210px}.filter-search{flex:220px;min-width:200px}@media (width<=600px){.filter-field,.filter-search{flex:100%;width:100%}}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px;display:grid}.detail-label{color:var(--mui-palette-text-secondary);margin-bottom:4px;font-size:12px;font-weight:600;display:block}.detail-value{overflow-wrap:anywhere;color:var(--mui-palette-text-primary);font-size:14px}@media (width<=600px){.detail-grid{grid-template-columns:1fr}}.patient-picker-list{border:1px solid var(--mui-palette-divider);border-radius:8px;max-height:220px;overflow-y:auto}.token-display{letter-spacing:.02em;color:var(--mui-palette-primary-main);font-variant-numeric:tabular-nums;font-size:56px;font-weight:700;line-height:1.1}.token-display-small{font-size:32px}.queue-lanes{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));align-items:start;gap:20px;display:grid}.queue-lane-header{border-bottom:1px solid var(--mui-palette-divider);justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 16px 12px;display:flex}.queue-now{text-align:center;background:rgba(var(--mui-palette-primary-mainChannel) / .06);border-bottom:1px solid var(--mui-palette-divider);padding:16px}.queue-section{padding:12px 16px}.queue-section+.queue-section{border-top:1px solid var(--mui-palette-divider)}.queue-section-title{margin-bottom:8px;display:block}.queue-empty{padding:4px 0}.queue-list{margin:0;padding:0;list-style:none}.queue-row{align-items:center;gap:10px;padding:6px 0;display:flex}.queue-row+.queue-row{border-top:1px dashed var(--mui-palette-divider)}.queue-row-text{flex:auto;min-width:0}.queue-row-actions{flex-shrink:0;align-items:center;display:flex}.doctor-screen{grid-template-columns:minmax(0,3fr) minmax(280px,2fr);align-items:start;gap:20px;display:grid}.doctor-now{text-align:center}@media (width<=900px){.doctor-screen{grid-template-columns:1fr}}.rx-line{border-bottom:1px solid var(--mui-palette-divider);flex-wrap:wrap;align-items:center;gap:8px;padding:10px 0;display:flex}.rx-line .rx-medicine{flex:2 260px}.rx-line .rx-name,.rx-line .rx-dosage{flex:160px}.rx-line .rx-small{flex:0 0 80px}.rx-line .rx-source{flex:0 0 120px}.qr-box{background:#fff;border-radius:8px;padding:8px;display:inline-flex}.public-page{flex-direction:column;gap:16px;max-width:520px;min-height:100vh;margin:0 auto;padding:16px 16px 32px;display:flex}.public-header{align-items:center;gap:10px;display:flex}.public-header-title{flex:auto;min-width:0}.public-my-token.is-called{border-color:var(--mui-palette-success-main)}.public-my-token.is-skipped{border-color:var(--mui-palette-warning-main)}.public-lane{flex-direction:column;gap:12px;display:flex}.public-lane-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.public-chip-row{flex-direction:column;gap:4px;display:flex}.public-link-button{color:var(--mui-palette-primary-main);cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.public-footer{text-align:center}.invoice{flex-direction:column;gap:16px;display:flex}.invoice-head{border-bottom:1px solid var(--mui-palette-divider);flex-wrap:wrap;justify-content:space-between;gap:16px;padding-bottom:12px;display:flex}.invoice-head-right{text-align:right}.invoice-table-wrap{overflow-x:auto}.invoice-table{border-collapse:collapse;width:100%;min-width:720px;font-size:14px}.invoice-table th,.invoice-table td{border-bottom:1px solid var(--mui-palette-divider);text-align:left;vertical-align:top;padding:8px 10px}.invoice-table th{color:var(--mui-palette-text-secondary);background:var(--mui-palette-action-hover);font-size:12px;font-weight:600}.invoice-table .num{text-align:right;white-space:nowrap}.invoice-input{width:80px}.invoice-bottom{flex-wrap:wrap;justify-content:space-between;gap:24px;display:flex}.invoice-discount{flex:280px;max-width:420px}.invoice-totals{flex:0 320px;margin-left:auto}.bill-total-row{justify-content:space-between;gap:16px;padding:4px 0;font-size:14px;display:flex}.bill-total-row.is-strong{border-top:1px solid var(--mui-palette-divider);margin-top:4px;padding-top:8px;font-size:16px;font-weight:700}.invoice-payments{border-top:1px dashed var(--mui-palette-divider);padding-top:12px}.summary-tiles{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;margin-bottom:16px;display:grid}.timeline{margin:0;padding:0;list-style:none}.timeline-item{gap:12px;padding-bottom:16px;display:flex;position:relative}.timeline-item:not(:last-child):before{content:"";background:var(--mui-palette-divider);width:2px;position:absolute;top:32px;bottom:0;left:15px}.timeline-icon{background:rgba(var(--mui-palette-primary-mainChannel) / .12);width:32px;height:32px;color:var(--mui-palette-primary-main);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.timeline-body{min-width:0;padding-top:4px}.timeline-link{color:var(--mui-palette-primary-main);font-size:13px}.bed-counts{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.bed-ward{margin-bottom:24px}.bed-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;display:grid}.bed-tile{border:1px solid var(--mui-palette-divider);background:var(--mui-palette-background-paper);color:var(--mui-palette-text-primary);text-align:left;font:inherit;cursor:pointer;transition:box-shadow var(--transition-fast), transform var(--transition-fast);border-left-width:4px;border-radius:10px;flex-direction:column;gap:6px;padding:12px;display:flex}.bed-tile:hover,.bed-tile:focus-visible{box-shadow:var(--mui-shadows-3);transform:translateY(-1px)}.bed-tile.is-vacant{border-left-color:var(--mui-palette-success-main)}.bed-tile.is-booked{border-left-color:var(--mui-palette-info-main)}.bed-tile.is-occupied{border-left-color:var(--mui-palette-primary-main)}.bed-tile.is-cleaning{border-left-color:var(--mui-palette-warning-main)}.bed-tile.is-maintenance{border-left-color:var(--mui-palette-error-main)}.bed-tile-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.bed-tile-meta{color:var(--mui-palette-text-secondary);font-size:12px}.bed-tile-person{flex-direction:column;font-size:14px;font-weight:600;display:flex}.bed-tile-person small{color:var(--mui-palette-text-secondary);font-size:12px;font-weight:400}@media print{.app-header,.app-sidebar,.page-header-actions,.no-print,.MuiFab-root{display:none}.app-layout,.main-content{height:auto;padding:0;display:block;overflow:visible}.invoice{box-shadow:none;border:none}.invoice-table{min-width:0}}.placeholder-card{text-align:center;color:var(--mui-palette-text-secondary);place-items:center;gap:8px;padding:64px 24px;display:grid}.placeholder-card .MuiSvgIcon-root{color:var(--mui-palette-primary-main);opacity:.6;font-size:48px}.dashboard-cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;display:grid}.dashboard-card{cursor:pointer;transition:transform var(--transition-fast), box-shadow var(--transition-fast), border-color var(--transition-fast);justify-content:space-between;align-items:flex-start;gap:16px;padding:20px;display:flex}.dashboard-card:hover,.dashboard-card:focus-visible{border-color:var(--mui-palette-primary-main);box-shadow:var(--mui-shadows-4);outline:none;transform:translateY(-2px)}.dashboard-card-body{flex-direction:column;gap:6px;min-width:0;display:flex}.dashboard-card-sub{color:var(--mui-palette-text-secondary);align-items:center;gap:4px;font-size:12px;display:inline-flex}.dashboard-card-sub.is-up{color:var(--mui-palette-success-main)}.dashboard-card-sub.is-down{color:var(--mui-palette-error-main)}.dashboard-card-icon{border-radius:12px;flex-shrink:0;place-items:center;width:48px;height:48px;display:grid}.dashboard-card-icon.is-primary{background:rgba(var(--mui-palette-primary-mainChannel) / .12);color:var(--mui-palette-primary-main)}.dashboard-card-icon.is-secondary{background:rgba(var(--mui-palette-secondary-mainChannel) / .12);color:var(--mui-palette-secondary-main)}.dashboard-card-icon.is-info{background:rgba(var(--mui-palette-info-mainChannel) / .12);color:var(--mui-palette-info-main)}.dashboard-card-icon.is-warning{background:rgba(var(--mui-palette-warning-mainChannel) / .12);color:var(--mui-palette-warning-main)}.dashboard-card-icon.is-success{background:rgba(var(--mui-palette-success-mainChannel) / .12);color:var(--mui-palette-success-main)}@media (width<=1100px){.dashboard-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.dashboard-cards{grid-template-columns:1fr}}.company-details-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:20px 24px;display:grid}.company-detail-label{color:var(--mui-palette-text-secondary);margin-bottom:4px;font-size:12px;font-weight:600;display:block}.company-detail-value{overflow-wrap:anywhere;color:var(--mui-palette-text-primary);font-size:14px}.privilege-layout{border:1px solid var(--mui-palette-divider);border-radius:10px;grid-template-columns:240px minmax(0,1fr);min-height:360px;display:grid;overflow:hidden}.privilege-category-nav{border-right:1px solid var(--mui-palette-divider);background:var(--mui-palette-action-hover);max-height:420px;overflow-y:auto}.privilege-category-content{flex-direction:column;min-width:0;display:flex}.privilege-category-header{border-bottom:1px solid var(--mui-palette-divider);flex-wrap:wrap;align-items:center;gap:8px 12px;padding:12px 16px;display:flex}.privilege-list{max-height:360px;padding:4px 16px;overflow-y:auto}.privilege-option{border-bottom:1px solid var(--mui-palette-divider);align-items:flex-start;margin:0;padding:6px 0;display:flex}.privilege-option:last-child{border-bottom:none}@media (width<=700px){.privilege-layout{grid-template-columns:1fr}.privilege-category-nav{border-right:none;border-bottom:1px solid var(--mui-palette-divider);max-height:180px}}.login-page{background:var(--mui-palette-background-default);min-height:100vh;display:flex}.login-brand-panel{background:linear-gradient(135deg, var(--mui-palette-brand-gradientStart), var(--mui-palette-brand-gradientEnd)), var(--login-image,none) 70% 80% / cover no-repeat;color:#fff;flex:50%;justify-content:center;align-items:center;padding:60px;display:flex}.login-brand{max-width:480px}.login-brand-logo{margin-bottom:32px}.login-brand-logo .brand-logo-name{font-size:30px}.login-features{flex-direction:column;gap:14px;margin-top:36px;display:flex}.login-feature{align-items:center;gap:12px;font-size:16px;display:flex}.login-form-panel{flex:50%;justify-content:center;align-items:center;padding:40px 24px;display:flex}.login-card{width:100%;max-width:420px;padding:40px}.login-card-logo{justify-content:center;margin-bottom:24px;display:flex}.login-tabs{background:var(--mui-palette-action-hover);border-radius:10px;gap:4px;margin-bottom:20px;padding:4px;display:flex}.login-theme-toggle{position:fixed;top:16px;right:16px}@media (width<=900px){.login-page{flex-direction:column}.login-brand-panel{flex:none;padding:40px 24px}.login-features{display:none}.login-card{padding:28px 22px}}
