@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500&display=swap";:root{--color-green:#1a7a4a;--color-green-2:#145e39;--color-green-light:#22a85a;--color-green-bg:#edfaf3;--color-green-border:#86efac;--color-amber:#d97706;--color-amber-2:#b45309;--color-amber-light:#fffbeb;--color-amber-border:#fde68a;--color-red:#dc2626;--color-red-2:#b91c1c;--color-red-light:#fef2f2;--color-red-border:#fecaca;--color-blue:#2563eb;--color-blue-2:#1d4ed8;--color-blue-light:#eff6ff;--color-blue-border:#bae6fd;--color-teal:#0d9488;--color-teal-light:#f0fdfa;--color-teal-border:#99f6e4;--color-purple:#7c3aed;--color-purple-light:#f5f3ff;--color-purple-border:#c4b5fd;--color-text:#0f172a;--color-text-2:#1e293b;--color-text-3:#475569;--color-text-4:#94a3b8;--color-text-5:#cbd5e1;--color-line:#e8edf3;--color-line-2:#f5f7fa;--color-line-3:#eef2f7;--color-bg:#f4f7fb;--color-bg-2:#f9fafb;--color-bg-3:#f3f4f6;--color-white:#fff;--sidebar-bg:#1b2537;--sidebar-text:rgba(255,255,255,.55);--sidebar-active:rgba(34,168,90,.16);--font-family:"Inter", "Helvetica Neue", system-ui, -apple-system, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", "Consolas", monospace;--font-size-xs:.7rem;--font-size-sm:.8rem;--font-size-base:.93rem;--font-size-md:1rem;--font-size-lg:1.13rem;--font-size-xl:1.27rem;--font-size-2xl:1.53rem;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--space-xs:4px;--space-sm:8px;--space-md:12px;--space-lg:16px;--space-xl:20px;--space-2xl:24px;--space-3xl:32px;--space-4xl:40px;--radius-xs:4px;--radius-sm:6px;--radius-md:8px;--radius-lg:10px;--radius-xl:12px;--radius-2xl:16px;--radius-3xl:20px;--radius-full:9999px;--shadow-xs:0 1px 2px rgba(15,23,42,.05);--shadow-sm:0 1px 3px rgba(15,23,42,.05), 0 2px 8px rgba(15,23,42,.04);--shadow-md:0 4px 16px rgba(15,23,42,.07), 0 8px 32px rgba(15,23,42,.05);--shadow-lg:0 12px 48px rgba(15,23,42,.14);--shadow-green:0 4px 14px rgba(26,122,74,.28);--sidebar-width:260px;--sidebar-collapsed-width:58px;--topbar-height:48px;--z-base:1;--z-dropdown:100;--z-sticky:200;--z-fixed:300;--z-modal-backdrop:400;--z-modal:500;--z-toast:600;--z-tooltip:700;--transition-fast:.13s ease;--transition-base:.2s ease;--transition-slow:.3s ease;--transition-collapse:.35s cubic-bezier(.4, 0, .2, 1)}[data-theme=dark]{--color-text:#f1f5f9;--color-text-2:#e2e8f0;--color-text-3:#94a3b8;--color-text-4:#64748b;--color-text-5:#475569;--color-line:#1e293b;--color-line-2:#0f172a;--color-line-3:#1a2336;--color-white:#1e293b;--color-bg:#0b1120;--color-bg-2:#0f172a;--color-bg-3:#253049;--color-green-bg:rgba(26,122,74,.18);--color-green-border:rgba(34,168,90,.35);--color-amber-light:rgba(217,119,6,.15);--color-amber-border:rgba(217,119,6,.35);--color-red-light:rgba(220,38,38,.15);--color-red-border:rgba(220,38,38,.35);--color-blue-light:rgba(37,99,235,.15);--color-blue-border:rgba(37,99,235,.35);--color-purple-light:rgba(124,58,237,.15);--color-purple-border:rgba(124,58,237,.35);--color-teal-light:rgba(13,148,136,.15);--sidebar-bg:#0f172a;--shadow-xs:0 1px 2px rgba(0,0,0,.2);--shadow-sm:0 1px 3px rgba(0,0,0,.3), 0 2px 8px rgba(0,0,0,.2);--shadow-md:0 4px 16px rgba(0,0,0,.4), 0 8px 32px rgba(0,0,0,.3);--shadow-lg:0 12px 48px rgba(0,0,0,.5)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}*{-webkit-tap-highlight-color:transparent}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:15px}body{font-family:var(--font-family);background:var(--color-bg);color:var(--color-text);min-height:100vh;margin:0;padding:0;line-height:1.5;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-bold);margin:0;line-height:1.2}p{margin:0}ul,ol{margin:0;padding:0;list-style:none}a{color:inherit;text-decoration:none}button{font-family:var(--font-family);cursor:pointer;background:0 0;border:none;padding:0}button:focus-visible{outline:2px solid var(--color-green);outline-offset:2px}input,select,textarea{font-family:var(--font-family);font-size:inherit;color:inherit;background:0 0;border:none}input:focus,select:focus,textarea:focus{outline:none}img,svg{max-width:100%;display:block}table{border-collapse:collapse;border-spacing:0}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-line-2)}::-webkit-scrollbar-thumb{background:var(--color-line);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-5)}*{scrollbar-width:thin;scrollbar-color:var(--color-line) var(--color-line-2)}::-moz-selection{background:var(--color-green-bg);color:var(--color-green)}::selection{background:var(--color-green-bg);color:var(--color-green)}.d-none{display:none!important}.d-block{display:block!important}.d-flex{display:flex!important}.d-grid{display:grid!important}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.items-start{align-items:flex-start}.items-center{align-items:center}.items-end{align-items:flex-end}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-between{justify-content:space-between}.gap-xs{gap:var(--space-xs)}.gap-sm{gap:var(--space-sm)}.gap-md{gap:var(--space-md)}.gap-lg{gap:var(--space-lg)}.gap-xl{gap:var(--space-xl)}.p-0{padding:0}.p-xs{padding:var(--space-xs)}.p-sm{padding:var(--space-sm)}.p-md{padding:var(--space-md)}.p-lg{padding:var(--space-lg)}.p-xl{padding:var(--space-xl)}.px-sm{padding-left:var(--space-sm);padding-right:var(--space-sm)}.px-md{padding-left:var(--space-md);padding-right:var(--space-md)}.px-lg{padding-left:var(--space-lg);padding-right:var(--space-lg)}.py-sm{padding-top:var(--space-sm);padding-bottom:var(--space-sm)}.py-md{padding-top:var(--space-md);padding-bottom:var(--space-md)}.py-lg{padding-top:var(--space-lg);padding-bottom:var(--space-lg)}.m-0{margin:0}.m-auto{margin:auto}.ml-auto{margin-left:auto}.mr-auto{margin-right:auto}.mt-sm{margin-top:var(--space-sm)}.mt-md{margin-top:var(--space-md)}.mt-lg{margin-top:var(--space-lg)}.mb-sm{margin-bottom:var(--space-sm)}.mb-md{margin-bottom:var(--space-md)}.mb-lg{margin-bottom:var(--space-lg)}.text-xs{font-size:var(--font-size-xs)}.text-sm{font-size:var(--font-size-sm)}.text-base{font-size:var(--font-size-base)}.text-md{font-size:var(--font-size-md)}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.font-normal{font-weight:var(--font-weight-normal)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.font-extrabold{font-weight:var(--font-weight-extrabold)}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-primary{color:var(--color-text)}.text-secondary{color:var(--color-text-3)}.text-muted{color:var(--color-text-4)}.text-green{color:var(--color-green)}.text-red{color:var(--color-red)}.text-amber{color:var(--color-amber)}.text-blue{color:var(--color-blue)}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.border-0{border:none}.border{border:1px solid var(--color-line)}.border-t{border-top:1px solid var(--color-line)}.border-b{border-bottom:1px solid var(--color-line)}.border-l{border-left:1px solid var(--color-line)}.border-r{border-right:1px solid var(--color-line)}.rounded-none{border-radius:0}.rounded-sm{border-radius:var(--radius-sm)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-full{border-radius:var(--radius-full)}.bg-white{background:var(--color-white)}.bg-gray{background:var(--color-bg-2)}.bg-green{background:var(--color-green)}.bg-green-light{background:var(--color-green-bg)}.bg-red-light{background:var(--color-red-light)}.bg-amber-light{background:var(--color-amber-light)}.bg-blue-light{background:var(--color-blue-light)}.shadow-none{box-shadow:none}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:-webkit-sticky;position:sticky}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.w-full{width:100%}.h-full{height:100%}.min-h-screen{min-height:100vh}.cursor-pointer{cursor:pointer}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.select-none{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.select-text{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.transition{transition:all var(--transition-base)}.transition-fast{transition:all var(--transition-fast)}.transition-slow{transition:all var(--transition-slow)}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-100{opacity:1}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-modal{z-index:var(--z-modal)}.z-toast{z-index:var(--z-toast)}.card{background:var(--color-white);border:1px solid var(--color-line);border-radius:var(--radius-xl);padding:var(--space-md);box-shadow:var(--shadow-sm)}.btn{padding:var(--space-sm) var(--space-md);border-radius:var(--radius-lg);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-fast);justify-content:center;align-items:center;gap:var(--space-xs);border:none;outline:none;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn-primary{background:linear-gradient(135deg, var(--color-green-light), var(--color-green-2));color:#fff;box-shadow:var(--shadow-green)}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 28px rgba(34,168,90,.45)}.btn-secondary{background:var(--color-bg-2);color:var(--color-text);border:1px solid var(--color-line)}.btn-secondary:hover:not(:disabled){background:var(--color-line-2);border-color:var(--color-green-border)}.btn-danger{background:var(--color-red);color:#fff}.btn-danger:hover:not(:disabled){background:var(--color-red-2)}.btn-sm{font-size:var(--font-size-xs);padding:6px 10px}.btn-md{padding:var(--space-sm) var(--space-md);font-size:var(--font-size-sm)}.btn-lg{padding:var(--space-md) var(--space-lg);font-size:var(--font-size-base)}.badge{border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.5px;align-items:center;padding:2px 8px;display:inline-flex}.badge-green{background:var(--color-green-bg);color:var(--color-green-2);border:1px solid var(--color-green-border)}.badge-amber{background:var(--color-amber-light);color:var(--color-amber-2);border:1px solid var(--color-amber-border)}.badge-red{background:var(--color-red-light);color:var(--color-red-2);border:1px solid var(--color-red-border)}.badge-blue{background:var(--color-blue-light);color:var(--color-blue-2);border:1px solid var(--color-blue-border)}.input{width:100%;padding:var(--space-sm) var(--space-md);background:var(--color-white);border:1.5px solid var(--color-line);border-radius:var(--radius-lg);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text);transition:all var(--transition-fast);outline:none}.input::-webkit-input-placeholder{color:var(--color-text-5)}.input::-moz-placeholder{color:var(--color-text-5)}.input::-ms-input-placeholder{color:var(--color-text-5)}.input::placeholder{color:var(--color-text-5)}.input:focus{border-color:var(--color-green);box-shadow:0 0 0 3px var(--color-green-bg)}.input:disabled{background:var(--color-line-2);cursor:not-allowed;opacity:.6}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:var(--z-modal-backdrop);padding:var(--space-lg);background:rgba(15,23,42,.6);justify-content:center;align-items:center;animation:.2s fadeIn;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.modal-content{background:var(--color-white);border-radius:var(--radius-2xl);box-shadow:var(--shadow-lg);width:100%;max-width:600px;max-height:90vh;z-index:var(--z-modal);flex-direction:column;animation:.3s cubic-bezier(.16,1,.3,1) slideUp;display:flex}.modal-header{padding:var(--space-lg);border-bottom:1px solid var(--color-line);justify-content:space-between;align-items:center;display:flex}.modal-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text)}.modal-close{border-radius:var(--radius-md);cursor:pointer;width:32px;height:32px;transition:all var(--transition-fast);color:var(--color-text-4);background:0 0;border:none;justify-content:center;align-items:center;font-size:24px;display:flex}.modal-body{padding:var(--space-lg);flex:1;overflow-y:auto}.modal-footer{padding:var(--space-lg);border-top:1px solid var(--color-line);justify-content:flex-end;align-items:center;gap:var(--space-sm);display:flex}.toast-container{top:var(--space-lg);right:var(--space-lg);z-index:var(--z-toast);gap:var(--space-sm);pointer-events:none;flex-direction:column;display:flex;position:fixed}.toast{background:var(--color-white);border:1px solid var(--color-line);border-radius:var(--radius-lg);padding:var(--space-md);box-shadow:var(--shadow-md);pointer-events:auto;align-items:flex-start;gap:var(--space-sm);min-width:300px;max-width:400px;animation:.3s slideInRight;display:flex}.toast-icon{flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:18px;font-weight:700;display:flex}.toast-message{color:var(--color-text);flex:1;font-size:13px;line-height:1.4}.toast-close{color:var(--color-text-4);cursor:pointer;width:20px;height:20px;transition:color var(--transition-fast);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:20px;display:flex}.toast-close:hover{color:var(--color-text)}.toast-success{border-left:4px solid var(--color-green)}.toast-success .toast-icon{color:var(--color-green)}.toast-error{border-left:4px solid var(--color-red)}.toast-error .toast-icon{color:var(--color-red)}.toast-warning{border-left:4px solid var(--color-amber)}.toast-warning .toast-icon{color:var(--color-amber)}.toast-info{border-left:4px solid var(--color-blue)}.toast-info .toast-icon{color:var(--color-blue)}.spinner{border:2px solid var(--color-line);border-top-color:var(--color-green);border-radius:50%;width:20px;height:20px;animation:.6s linear infinite spin}.spinner-lg{border-width:3px;width:40px;height:40px}.empty-state{padding:var(--space-4xl) var(--space-lg);text-align:center}.empty-state-icon{width:48px;height:48px;margin:0 auto var(--space-md);color:var(--color-text-5)}.empty-state-title{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-text-3);margin-bottom:var(--space-xs)}.empty-state-text{font-size:var(--font-size-sm);color:var(--color-text-5)}.skeleton{background:linear-gradient(90deg, var(--color-line-2) 25%, var(--color-line) 50%, var(--color-line-2) 75%);border-radius:var(--radius-md);background-size:200% 100%;animation:1.5s infinite shimmer}.skeleton-text{height:16px;margin-bottom:var(--space-xs)}.skeleton-title{width:60%;height:24px}.skeleton-card{height:100px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{to{background-position:-200% 0}}:root{--g:#1a7a4a;--g2:#145e39;--gL:#22a85a;--gXL:#edfaf3;--gBd:#86efac;--a:#d97706;--a2:#b45309;--aL:#fffbeb;--aXL:#fff7ed;--aBd:#fde68a;--r:#dc2626;--r2:#b91c1c;--rL:#fef2f2;--rBd:#fecaca;--b:#2563eb;--b2:#1d4ed8;--bL:#eff6ff;--bXL:#dbeafe;--bBd:#bae6fd;--t:#0d9488;--tL:#f0fdfa;--tBd:#99f6e4;--p:#7c3aed;--pL:#f5f3ff;--pBd:#c4b5fd;--ink:#0f172a;--ink2:#1e293b;--ink3:#475569;--ink4:#94a3b8;--ink5:#cbd5e1;--line:#e8edf3;--line2:#f5f7fa;--line3:#eef2f7;--w:#fff;--w2:#f9fafb;--w3:#f3f4f6;--bg:#f4f7fb;--sb-bg:#1b2537;--sb-text:rgba(255,255,255,.55);--sb-active:rgba(34,168,90,.16);--font:"Inter", "Helvetica Neue", system-ui, sans-serif;--mono:"JetBrains Mono", "Fira Code", monospace;--r4:4px;--r6:6px;--r8:8px;--r10:10px;--r12:12px;--r16:16px;--r20:20px;--r99:999px;--sh1:0 1px 3px rgba(15,23,42,.05), 0 2px 8px rgba(15,23,42,.04);--sh2:0 4px 16px rgba(15,23,42,.07), 0 8px 32px rgba(15,23,42,.05);--sh3:0 12px 48px rgba(15,23,42,.14);--shg:0 4px 14px rgba(26,122,74,.28);--sidebar:260px;--topbar:48px}[data-theme=dark]{--ink:#f1f5f9;--ink2:#e2e8f0;--ink3:#94a3b8;--ink4:#64748b;--ink5:#475569;--line:#1e293b;--line2:#0f172a;--line3:#1a2336;--w:#1e293b;--w2:#0f172a;--w3:#253049;--bg:#0b1120;--gXL:rgba(26,122,74,.18);--gBd:rgba(34,168,90,.35);--aL:rgba(217,119,6,.15);--aBd:rgba(217,119,6,.35);--rL:rgba(220,38,38,.15);--rBd:rgba(220,38,38,.35);--bL:rgba(37,99,235,.15);--bBd:rgba(37,99,235,.35);--pL:rgba(124,58,237,.15);--pBd:rgba(124,58,237,.35);--tL:rgba(13,148,136,.15);--sb-bg:#0f172a;--sh1:0 1px 3px rgba(0,0,0,.3), 0 2px 8px rgba(0,0,0,.2);--sh2:0 4px 16px rgba(0,0,0,.4), 0 8px 32px rgba(0,0,0,.3);--sh3:0 12px 48px rgba(0,0,0,.5)}.sidebar{width:var(--sidebar);background:var(--ink2);z-index:700;border-right:1px solid rgba(255,255,255,.04);flex-direction:column;flex-shrink:0;height:100vh;transition:width .35s cubic-bezier(.4,0,.2,1);display:flex;position:relative;top:0;overflow:hidden}body.sb-collapsed .sidebar{width:58px;overflow-x:hidden;overflow-y:auto}body.sb-collapsed .sb-brand-txt,body.sb-collapsed .sb-hosp-txt,body.sb-collapsed .sb-uname,body.sb-collapsed .sb-urole,body.sb-collapsed .sb-rbadge,body.sb-collapsed .sb-il,body.sb-collapsed .sb-label,body.sb-collapsed .sb-cnt,body.sb-collapsed .sb-sec{opacity:0;visibility:hidden;display:none!important}body.sb-collapsed .sb-logo{justify-content:center;padding:10px 0}body.sb-collapsed .sb-logo>div:last-child{display:none}body.sb-collapsed .sb-usr{justify-content:center;padding:8px 0}body.sb-collapsed .sb-item,body.sb-collapsed .sb-logout{justify-content:center;padding:10px 0}body.sb-collapsed .sb-item:hover:after,body.sb-collapsed .sb-logout:hover:after{content:attr(data-tooltip);background:var(--ink);color:#fff;white-space:nowrap;z-index:1000;pointer-events:none;border-radius:6px;padding:6px 10px;font-size:11px;font-weight:600;position:absolute;top:50%;left:calc(100% + 12px);transform:translateY(-50%);box-shadow:0 4px 12px rgba(0,0,0,.25)}body.sb-collapsed .sb-item:hover:before,body.sb-collapsed .sb-logout:hover:before{content:"";border-style:solid;border-width:5px 6px 5px 0;border-color:transparent var(--ink) transparent transparent;z-index:1000;pointer-events:none;width:0;height:0;position:absolute;top:50%;left:calc(100% + 6px);transform:translateY(-50%)}.sb-top{border-bottom:1px solid rgba(255,255,255,.06);padding:12px 11px 10px;transition:all .35s cubic-bezier(.4,0,.2,1)}.sb-logo{align-items:center;gap:8px;transition:all .35s cubic-bezier(.4,0,.2,1);display:flex;overflow:hidden}.sb-logo-ic{border-radius:7px;flex-shrink:0;width:28px;height:28px;line-height:0;overflow:hidden}.sb-brand-txt{color:#fff;letter-spacing:-.3px;font-size:13px;font-weight:800;transition:opacity .2s,visibility .2s}.sb-brand-txt b{color:var(--gL)}.sb-hosp-txt{color:rgba(255,255,255,.28);margin-top:.5px;font-size:8.5px;transition:opacity .2s,visibility .2s}.sb-usr{border-bottom:1px solid rgba(255,255,255,.06);align-items:center;gap:9px;padding:9px 11px;transition:all .35s cubic-bezier(.4,0,.2,1);display:flex}.sb-av{background:linear-gradient(135deg, var(--gL), var(--t));color:#fff;letter-spacing:.5px;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:29px;height:29px;font-size:9.5px;font-weight:800;display:flex}.sb-uname{color:#fff;font-size:11px;font-weight:700;line-height:1.2;transition:opacity .2s,visibility .2s}.sb-urole{color:rgba(255,255,255,.3);margin-top:1px;font-size:9px;transition:opacity .2s,visibility .2s}.sb-rbadge{color:#86efac;background:rgba(34,168,90,.25);border:1px solid rgba(134,239,172,.2);border-radius:3px;margin-top:2px;padding:1px 5px;font-size:7.5px;font-weight:800;transition:opacity .2s,visibility .2s;display:inline-block}.sb-nav{scrollbar-width:none;flex:1;padding:6px 0;overflow-x:hidden;overflow-y:auto}.sb-nav::-webkit-scrollbar{display:none}.sb-sec{color:rgba(255,255,255,.18);letter-spacing:.9px;text-transform:uppercase;padding:10px 13px 4px;font-size:7.5px;font-weight:800;transition:opacity .2s,visibility .2s}.sb-item{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border-radius:8px;align-items:center;gap:9px;margin:1px 5px;padding:7px 10px;transition:all .35s cubic-bezier(.4,0,.2,1);display:flex;position:relative}.sb-item:hover{background:rgba(255,255,255,.06)}.sb-item.active{box-shadow:inset 3px 0 0 var(--gL);background:rgba(34,168,90,.16)}.sb-item.active .sb-ic-wrap svg{stroke:var(--gL)!important;stroke-width:2px!important}.sb-item.active .sb-label{color:#86efac}.sb-ic-wrap{flex-shrink:0;justify-content:center;align-items:center;width:18px;display:flex}.sb-ic-wrap svg{stroke:rgba(255,255,255,.38);stroke-width:1.8px;fill:none;width:16px;height:16px;transition:all .14s}.sb-item:hover .sb-ic-wrap svg{stroke:rgba(255,255,255,.65)}.sb-label{color:rgba(255,255,255,.55);white-space:nowrap;text-overflow:ellipsis;max-width:150px;font-size:11.5px;font-weight:600;transition:opacity .2s,visibility .2s;overflow:hidden}.sb-item:hover .sb-label{color:rgba(255,255,255,.8)}.sb-cnt{border-radius:var(--r99);text-align:center;flex-shrink:0;min-width:16px;margin-left:auto;padding:1px 5px;font-size:8px;font-weight:800;transition:opacity .2s,visibility .2s}.sb-cnt.r{background:var(--r);color:#fff}.sb-cnt.a{background:var(--a);color:#fff}.sb-cnt.g{background:var(--g);color:#fff}.sb-cnt.b{background:var(--b);color:#fff}.sb-bot{border-top:1px solid rgba(255,255,255,.06);padding:8px 5px}.sb-logout{cursor:pointer;border-radius:7px;align-items:center;gap:9px;padding:7px;transition:all .35s cubic-bezier(.4,0,.2,1);display:flex;position:relative}.sb-logout:hover{background:rgba(220,38,38,.12)}.sb-logout .sb-il{color:rgba(255,255,255,.28);font-size:11.5px;font-weight:600}.sb-logout:hover .sb-il{color:rgba(220,38,38,.7)}#v4SbToggle{left:calc(var(--sidebar) - 16px);z-index:9999;background:var(--w);border:1px solid var(--line);width:32px;height:32px;box-shadow:var(--sh2);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:16px}#v4SbToggle:hover{background:var(--gXL);border-color:var(--gBd);transform:scale(1.05)}#v4SbToggle svg{width:16px;height:16px;stroke:var(--ink3);transition:transform .3s cubic-bezier(.4,0,.2,1)}#v4SbToggle:hover svg{stroke:var(--g)}body.sb-collapsed #v4SbToggle{left:48px}body.sb-collapsed #v4SbToggle svg{transform:rotate(180deg)}.order-main-container{flex:1;grid-template-columns:260px 1fr;gap:0;max-height:calc(100vh - 56px);transition:all .3s;display:grid;overflow:hidden}body.sb-collapsed .order-main-container{grid-template-columns:260px 1fr}.order-patient-panel{border-right:1px solid var(--line);background:#fafafa;flex-direction:column;display:flex;overflow:hidden}.order-panel-header{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.order-panel-title{color:var(--ink);margin:0;font-size:12px;font-weight:800}.order-ward-select{border:1.5px solid var(--line);cursor:pointer;background:#fff;border-radius:5px;outline:none;padding:4px 8px;font-size:10px}.order-search-wrapper{z-index:10;border-bottom:1px solid var(--line);background:#fff;padding:8px 10px;position:relative;top:0}.order-search-input{border:1.5px solid var(--line);border-radius:6px;outline:none;width:100%;padding:7px 7px 7px 30px;font-size:11px;transition:all .15s}.order-search-input:focus{border-color:var(--b);box-shadow:0 0 0 3px var(--bXL)}.order-search-icon{width:14px;height:14px;color:var(--ink4);pointer-events:none;position:absolute;top:15px;left:18px}.order-patient-list{flex:1;padding:6px;overflow-y:auto}.order-patient-card{cursor:pointer;background:#fff;border:2px solid transparent;border-radius:8px;margin-bottom:6px;padding:8px 10px;transition:all .15s}.order-patient-card:hover{border-color:var(--b);box-shadow:0 2px 8px rgba(0,0,0,.06)}.order-patient-card.selected{background:#eff6ff;border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.1)}.order-patient-bed{font-size:13px;font-weight:800;font-family:var(--mono);color:var(--ink);margin-bottom:3px}.order-patient-name{color:var(--ink2);margin-bottom:4px;font-size:11px;font-weight:600}.order-patient-meta{color:var(--ink4);gap:6px;font-size:9px;display:flex}.order-builder-panel{background:#fff;flex-direction:column;display:flex;overflow:hidden}.order-builder-header{border-bottom:1px solid var(--line);z-index:10;background:#fff;justify-content:space-between;align-items:flex-start;gap:12px;padding:10px 14px;display:flex;position:-webkit-sticky;position:sticky;top:0}.order-patient-info{margin-bottom:6px}.order-alert-badges{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.order-alert-badge{border-radius:6px;align-items:center;gap:4px;padding:6px 10px;font-size:11px;font-weight:700;display:inline-flex}.order-alert-nbm{color:#b91c1c;background:#fee2e2;border:1px solid #fca5a5}.order-alert-iddsi{color:#7c3aed;background:#f3e8ff;border:1px solid #c4b5fd}.order-allergen-group{flex-wrap:wrap;gap:4px;display:flex}.order-allergen-tag{color:#ea580c;background:#fff7ed;border:1px solid #fed7aa;border-radius:5px;padding:4px 8px;font-size:10px;font-weight:700}.order-allergen-more{color:#94a3b8;padding:4px 8px;font-size:10px;font-weight:700}.order-meal-tabs{border-bottom:1px solid var(--line);scrollbar-width:none;background:#fafafa;align-items:center;gap:6px;padding:8px 12px;display:flex;overflow-x:auto}.order-meal-tabs::-webkit-scrollbar{display:none}.order-meal-tab{cursor:pointer;background:#fff;border:none;border-radius:7px;flex-direction:column;flex:1;align-items:center;gap:4px;min-width:80px;padding:8px;transition:all .15s;display:flex}.order-meal-tab:hover{background:#eff6ff;box-shadow:0 2px 6px rgba(0,0,0,.06)}.order-meal-tab.active{background:var(--b);color:#fff;box-shadow:0 4px 12px rgba(59,130,246,.25)}.order-meal-icon{font-size:18px}.order-meal-label{text-transform:uppercase;letter-spacing:.3px;font-size:9px;font-weight:700}.order-meal-tab:disabled{opacity:.4;cursor:not-allowed}.order-topup-btn{border:1.5px solid var(--b);color:var(--b);cursor:pointer;white-space:nowrap;background:#fff;border-radius:7px;align-items:center;gap:6px;margin-left:auto;padding:8px 14px;font-size:12px;font-weight:700;transition:all .15s;display:flex}.order-topup-btn:hover:not(:disabled){background:var(--b);color:#fff;box-shadow:0 2px 8px rgba(59,130,246,.3)}.order-topup-btn:disabled{opacity:.4;cursor:not-allowed;border-color:var(--line);color:var(--ink4)}.order-topup-btn svg{width:16px;height:16px}.order-recipe-container{flex:1;padding:10px 12px 280px;overflow-y:auto}.order-empty-state{text-align:center;color:var(--ink4);padding:40px 20px}.order-empty-state svg{opacity:.25;margin:0 auto 12px}.order-empty-title{color:var(--ink2);margin-bottom:4px;font-size:14px;font-weight:700}.order-empty-text{color:var(--ink4);font-size:12px}.order-summary-bar{bottom:0;left:var(--sidebar);z-index:100;border-top:2px solid var(--line);background:#fff;flex-direction:column;max-height:220px;transition:left .35s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;right:0;box-shadow:0 -4px 16px rgba(0,0,0,.08)}body.sb-collapsed .order-summary-bar{left:58px}.order-summary-details{border-bottom:1px solid var(--line);max-height:140px;overflow-y:auto}.order-summary-items{max-height:120px;padding:10px 16px;overflow-y:auto}.order-summary-item{background:#fafafa;border-radius:6px;align-items:center;gap:10px;margin-bottom:6px;padding:8px 10px;display:flex}.order-summary-item-info{flex:1;min-width:0}.order-summary-item-name{color:var(--ink);margin-bottom:2px;font-size:12px;font-weight:600}.order-summary-item-meta{color:var(--ink4);font-size:10px}.order-summary-item-remove{background:var(--rL);width:26px;height:26px;color:var(--r);cursor:pointer;border:none;border-radius:5px;justify-content:center;align-items:center;transition:all .15s;display:flex}.order-summary-item-remove:hover{background:var(--r);color:#fff}.order-summary-footer{border-top:1px solid var(--line);background:#fff;flex-shrink:0;align-items:center;gap:16px;padding:14px 18px;display:flex}.order-summary-info{flex-direction:column;flex:1;gap:4px;display:flex}.order-summary-count{color:var(--ink3);text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:700}.order-summary-calories{color:var(--g);font-size:22px;font-weight:800;font-family:var(--mono);line-height:1}.order-summary-place-btn{color:#fff;cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#16a34a,#15803d);border:none;border-radius:50px;align-items:center;gap:6px;padding:11px 20px;font-size:13px;font-weight:800;transition:all .2s;display:flex;box-shadow:0 4px 12px rgba(22,163,74,.3)}.order-summary-place-btn:hover:not(:disabled){background:linear-gradient(135deg,#15803d,#14532d);transform:translateY(-2px);box-shadow:0 6px 20px rgba(22,163,74,.45)}.order-summary-place-btn:disabled{opacity:.5;cursor:not-allowed;background:#9ca3af}.order-summary-place-btn svg{flex-shrink:0;width:18px;height:18px}.order-recipe-list{flex-direction:column;gap:8px;padding:12px;display:flex}.order-recipe-row{border:1.5px solid var(--line);cursor:pointer;background:#fff;border-radius:8px;align-items:center;gap:12px;padding:10px 12px;transition:all .15s;display:flex}.order-recipe-row:hover{border-color:var(--g);box-shadow:0 2px 8px rgba(0,0,0,.06)}.order-recipe-row.in-cart{background:var(--gXL);border-color:var(--gBd)}.order-recipe-row.has-allergen-conflict{background:#fffbeb;border-color:#f59e0b}.order-allergen-conflict-icon{color:#ea580c;cursor:help;font-size:14px;animation:2s ease-in-out infinite pulse-warning}@keyframes pulse-warning{0%,to{opacity:1}50%{opacity:.6}}.order-recipe-thumb{background:var(--line2);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex;overflow:hidden}.order-recipe-thumb img{object-fit:cover;width:100%;height:100%}.order-recipe-emoji-sm{font-size:24px;line-height:1}.order-recipe-details{flex:1;min-width:0}.order-recipe-row-name{color:var(--ink);align-items:center;gap:6px;margin-bottom:3px;font-size:13px;font-weight:700;display:flex}.order-recipe-row-meta{color:var(--ink4);align-items:center;gap:6px;font-size:11px;display:flex}.order-allergen-warn{color:var(--a);cursor:help;font-weight:700}.order-recipe-row-action{flex-shrink:0}.order-add-btn-sm{background:var(--g);color:#fff;cursor:pointer;border:none;border-radius:6px;align-items:center;gap:4px;padding:6px 12px;font-size:11px;font-weight:700;transition:all .15s;display:flex}.order-add-btn-sm:hover{background:var(--g2);box-shadow:0 2px 8px rgba(26,122,74,.25)}.order-add-btn-sm svg{width:13px;height:13px}.order-quantity-controls{align-items:center;gap:8px;display:flex}.order-qty-btn{border:1.5px solid var(--line);background:var(--w);width:28px;height:28px;color:var(--ink);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;font-size:16px;font-weight:700;line-height:1;transition:all .15s;display:flex}.order-qty-btn:hover{border-color:var(--g);background:var(--gXL);color:var(--g)}.order-qty-value{font-family:var(--mono);text-align:center;min-width:24px;color:var(--ink);font-size:14px;font-weight:800}.order-patient-badges{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.order-patient-badge{text-transform:uppercase;letter-spacing:.3px;border-radius:4px;padding:2px 6px;font-size:9px;font-weight:800}.order-patient-badge-nbm{background:var(--rL);color:var(--r);border:1px solid var(--rBd)}.order-patient-badge-iddsi{background:var(--bL);color:var(--b);border:1px solid var(--bBd)}.order-patient-badge-allergen{background:var(--aL);color:var(--a);border:1px solid var(--aBd)}.meal-section{margin-bottom:8px}.meal-section-header{color:var(--ink3);text-transform:uppercase;letter-spacing:.5px;align-items:center;gap:6px;padding:6px 0;font-size:11px;font-weight:800;display:flex}.meal-section-count{background:var(--line2);color:var(--ink4);font-size:10px;font-weight:800;font-family:var(--mono);border-radius:4px;padding:2px 6px}.meal-section-divider{background:var(--line);height:1px;margin:8px 0}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999;background:rgba(15,23,42,.65);justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.modal-content{background:var(--w);border-radius:16px;flex-direction:column;width:100%;max-width:500px;max-height:90vh;display:flex;overflow:hidden;box-shadow:0 24px 48px rgba(15,23,42,.2)}.modal-header{border-bottom:1.5px solid var(--line);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.modal-close{width:32px;height:32px;color:var(--ink3);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;font-size:24px;line-height:1;transition:all .15s;display:flex}.confirm-order-details{margin-bottom:20px}.confirm-row{border-bottom:1px solid var(--line2);justify-content:space-between;padding:8px 0;display:flex}.confirm-label{color:var(--ink3);font-size:12px;font-weight:600}.confirm-value{color:var(--ink);font-size:12px;font-weight:700}.confirm-items{margin-top:16px}.confirm-items h4{color:var(--ink);margin:0 0 12px;font-size:13px;font-weight:800}.confirm-meal-group{margin-bottom:12px}.confirm-meal-header{color:var(--g);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;font-size:11px;font-weight:800}.confirm-item{background:var(--line2);color:var(--ink);border-radius:6px;justify-content:space-between;margin-bottom:4px;padding:6px 8px;font-size:12px;display:flex}.btn{cursor:pointer;border:none;border-radius:8px;align-items:center;gap:5px;padding:7px 13px;font-size:11px;font-weight:700;transition:all .14s;display:inline-flex}.btn svg{stroke:currentColor;stroke-width:2px;fill:none;flex-shrink:0;width:13px;height:13px}.btn.primary{background:var(--g);color:#fff;box-shadow:var(--shg)}.btn.primary:hover{background:var(--g2);transform:translateY(-1px)}.btn.sec{background:var(--w);border:1.5px solid var(--line);color:var(--ink3)}.btn.sec:hover{border-color:var(--ink3);color:var(--ink2)}.btn.danger{background:var(--rL);border:1.5px solid var(--rBd);color:var(--r)}.btn.danger:hover{background:var(--r);color:#fff;border-color:var(--r)}.btn:disabled{opacity:.5;pointer-events:none}.btn-primary{background:var(--g);color:#fff}.btn-primary:hover{background:var(--g2);box-shadow:0 2px 8px rgba(26,122,74,.25)}.btn-secondary{background:var(--line2);color:var(--ink3)}.btn-secondary:hover{background:var(--line);color:var(--ink)}.btn-warning{background:var(--a);color:#fff;border-radius:var(--r8);cursor:pointer;border:none;padding:10px 20px;font-size:14px;font-weight:600;transition:all .2s}.btn-warning:hover{background:var(--a2)}.form-label{color:var(--ink3);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;font-size:9px;font-weight:800;display:block}.form-help{color:var(--ink4);margin-top:3px;font-size:8.5px;font-style:italic}.form-inp{border:1.5px solid var(--line);width:100%;color:var(--ink);background:var(--w);border-radius:7px;outline:none;padding:8px 10px;font-size:12.5px;transition:all .14s}.form-inp:focus{border-color:var(--g);box-shadow:0 0 0 3px rgba(26,122,74,.09)}.form-sel{border:1.5px solid var(--line);width:100%;color:var(--ink);background:var(--w);cursor:pointer;border-radius:7px;outline:none;padding:8px 10px;font-size:12.5px}.form-sel:focus{border-color:var(--g)}.form-ta{border:1.5px solid var(--line);width:100%;color:var(--ink);resize:vertical;background:var(--w);border-radius:7px;outline:none;min-height:76px;padding:8px 10px;font-size:12px;transition:all .14s}.form-ta:focus{border-color:var(--g)}.modal{background:var(--w);box-shadow:var(--sh3);border-radius:16px;flex-direction:column;width:100%;max-height:92vh;animation:.2s fadeUp;display:flex;overflow:hidden}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.modal.md{max-width:500px}.modal.wide{max-width:660px}.modal.xl{max-width:840px}.mod-hdr{border-bottom:1px solid var(--line);flex-shrink:0;justify-content:space-between;align-items:center;padding:13px 17px;display:flex}.mod-title{color:var(--ink);font-size:13.5px;font-weight:800}.mod-close{background:var(--line2);cursor:pointer;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:27px;height:27px;transition:all .13s;display:flex}.mod-close svg{width:12px;height:12px;stroke:var(--ink3);stroke-width:2.5px;fill:none}.mod-close:hover{background:var(--rL)}.mod-close:hover svg{stroke:var(--r)}.mod-body{flex:1;padding:15px 17px;overflow-y:auto}.mod-foot{border-top:1px solid var(--line);background:var(--line2);flex-shrink:0;justify-content:flex-end;gap:7px;padding:11px 17px;display:flex}.mf-btn.sec{background:var(--w);border:1.5px solid var(--line);color:var(--ink3)}.mf-btn.sec:hover{border-color:var(--ink3)}.mf-btn.primary{background:var(--g);color:#fff;box-shadow:var(--shg)}.mf-btn.danger{background:var(--r);color:#fff}.mf-btn.danger:hover{background:var(--r2)}.order-patient-card.nbm{cursor:not-allowed;opacity:.85;background:#fee2e2!important;border-color:#fecaca!important}.order-patient-card.nbm:hover{background:#fee2e2!important}.order-patient-header-row{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.order-patient-nbm-badge{background:var(--r);color:#fff;letter-spacing:.3px;border-radius:4px;padding:2px 8px;font-size:10px;font-weight:800}.order-summary-empty{text-align:center;padding:20px}.order-summary-empty-text{color:var(--ink4);font-size:13px;font-style:italic}.recipe-modal-content{max-width:600px}.recipe-nutrition-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;margin-top:16px;display:grid}.recipe-nutrition-item{background:var(--line2);text-align:center;border-radius:8px;padding:12px}.recipe-nutrition-label{color:var(--ink4);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;font-size:11px}.recipe-nutrition-value{color:var(--ink);font-size:18px;font-weight:800;font-family:var(--mono)}.allergen-badge{background:var(--aL);color:var(--a);border-radius:6px;padding:4px 10px;font-size:11px;font-weight:700;display:inline-block}.order-review-modal{max-width:500px}.order-review-patient{background:var(--line2);border-radius:10px;align-items:center;gap:12px;margin-bottom:16px;padding:16px;display:flex}.order-review-avatar{background:var(--g);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:16px;font-weight:800;display:flex}.order-review-patient-name{color:var(--ink);margin-bottom:4px;font-size:16px;font-weight:700}.order-review-patient-meta{color:var(--ink4);font-size:12px}.allergen-warning-modal{max-width:500px}.order-allergen-warning-box{background:var(--aL);border:1.5px solid var(--aBd);color:var(--a2);border-radius:8px;margin-bottom:16px;padding:16px}.order-allergen-warning-box p{margin:0;font-size:13px;line-height:1.5}.order-allergen-warning-box p:first-child{margin-bottom:8px}.order-allergen-warning-box strong{color:var(--a);margin-bottom:16px;font-size:12px;font-weight:600}.order-review-items{margin-bottom:16px}.order-review-items-header{color:var(--ink3);text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px;font-size:11px;font-weight:800}.order-review-item{background:var(--line2);border-radius:8px;align-items:center;gap:12px;margin-bottom:8px;padding:10px;display:flex}.order-review-item-icon{flex-shrink:0;font-size:24px}.order-review-item-info{flex:1}.order-review-item-name{color:var(--ink);margin-bottom:2px;font-size:13px;font-weight:700}.order-review-item-meta{color:var(--ink4);font-size:11px}.order-review-item-qty{color:var(--ink3);font-size:14px;font-weight:800;font-family:var(--mono)}.order-review-total{background:var(--g);color:#fff;border-radius:10px;justify-content:space-between;align-items:center;margin-bottom:16px;padding:16px;font-size:15px;font-weight:700;display:flex}.order-review-total strong{font-size:22px;font-family:var(--mono)}.order-chef-instructions{margin-bottom:0}.order-chef-instructions label{color:var(--ink3);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;font-size:10px;font-weight:800;display:block}.order-chef-instructions textarea{border:1.5px solid var(--line);width:100%;color:var(--ink);font-size:12px;font-family:var(--font);resize:vertical;border-radius:8px;padding:10px 12px;transition:all .2s}.order-chef-instructions textarea:focus{border-color:var(--g);box-shadow:0 0 0 3px var(--gXL);outline:none}.order-chef-instructions textarea::-webkit-input-placeholder{color:var(--ink4);font-style:italic}.order-chef-instructions textarea::-moz-placeholder{color:var(--ink4);font-style:italic}.order-chef-instructions textarea::-ms-input-placeholder{color:var(--ink4);font-style:italic}.order-chef-instructions textarea::placeholder{color:var(--ink4);font-style:italic}.btn-send-kitchen{background:var(--g);color:#fff;font-weight:700}.btn-send-kitchen:hover:not(:disabled){background:var(--g2)}.btn-send-kitchen:disabled{opacity:.6;cursor:not-allowed}.modal-overlay{z-index:10000}.order-summary-actions{align-items:center;gap:12px;display:flex}.order-floating-cart-btn-inline{background:var(--g);color:#fff;cursor:pointer;font-family:var(--font);border:none;border-radius:12px;flex-shrink:0;align-items:center;gap:10px;padding:12px 18px;transition:all .2s;display:flex;box-shadow:0 4px 12px rgba(26,122,74,.25)}.order-floating-cart-btn-inline:hover{background:var(--g2);transform:translateY(-1px);box-shadow:0 6px 16px rgba(26,122,74,.35)}.order-floating-cart-btn-inline .order-floating-cart-icon{font-size:22px;line-height:1;position:relative}.order-floating-cart-btn-inline .order-floating-cart-count{background:var(--r);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:10px;font-weight:800;line-height:1;display:flex;position:absolute;top:-6px;right:-6px}.order-floating-cart-btn-inline .order-floating-cart-info{flex-direction:column;gap:2px;display:flex}.order-floating-cart-btn-inline .order-floating-cart-label{font-size:13px;font-weight:700;line-height:1}.order-floating-cart-btn-inline .order-floating-cart-kcal{opacity:.9;font-size:11px;line-height:1}.order-sidebar-overlay{z-index:999;background:rgba(0,0,0,.5);animation:.2s fadeIn;position:fixed;top:0;bottom:0;left:0;right:0}.order-cart-sidebar{background:var(--w);z-index:1000;flex-direction:column;width:400px;animation:.3s cubic-bezier(.4,0,.2,1) slideInRight;display:flex;position:fixed;top:0;bottom:0;right:0;box-shadow:-4px 0 24px rgba(0,0,0,.15)}.order-cart-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:20px;display:flex}.order-cart-header h3{color:var(--ink);margin:0;font-size:18px;font-weight:700}.order-cart-close{background:var(--line2);width:32px;height:32px;color:var(--ink3);cursor:pointer;font-size:24px;font-family:var(--font);border:none;border-radius:50%;transition:all .2s}.order-cart-close:hover{background:var(--line);color:var(--ink)}.order-cart-items{flex:1;padding:16px 20px;overflow-y:auto}.order-cart-meal-group{margin-bottom:24px}.order-cart-meal-header{color:var(--ink3);text-transform:uppercase;letter-spacing:.5px;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:11px;font-weight:800;display:flex}.order-cart-meal-count{color:var(--ink4);font-size:10px}.order-cart-item{background:var(--line2);border-radius:8px;align-items:center;gap:12px;margin-bottom:8px;padding:12px;display:flex}.order-cart-item-emoji{font-size:24px}.order-cart-item-info{flex:1}.order-cart-item-name{color:var(--ink);margin-bottom:2px;font-size:13px;font-weight:600}.order-cart-item-meta{color:var(--ink3);font-size:11px}.order-cart-item-controls{background:var(--w);border-radius:6px;align-items:center;gap:8px;padding:4px;display:flex}.order-cart-item-btn{background:var(--line2);width:24px;height:24px;color:var(--ink);cursor:pointer;font-size:16px;font-weight:700;font-family:var(--font);border:none;border-radius:4px;transition:all .2s}.order-cart-item-btn:hover{background:var(--g);color:#fff}.order-cart-item-qty{color:var(--ink);text-align:center;min-width:20px;font-size:13px;font-weight:700}.order-cart-item-remove{background:var(--rL);width:24px;height:24px;color:var(--r);cursor:pointer;font-size:18px;font-family:var(--font);border:none;border-radius:50%;transition:all .2s}.order-cart-item-remove:hover{background:var(--r);color:#fff}.order-cart-footer{border-top:1px solid var(--line);background:var(--w2);padding:20px}.order-cart-total-row{background:var(--g);color:#fff;border-radius:8px;justify-content:space-between;margin-bottom:12px;padding:12px 16px;font-weight:700;display:flex}.order-cart-total-value{font-size:18px}.order-cart-continue-btn{border:1.5px solid var(--line);background:var(--w);width:100%;color:var(--ink2);cursor:pointer;font-size:14px;font-weight:600;font-family:var(--font);border-radius:8px;margin-bottom:8px;padding:12px;transition:all .2s}.order-cart-continue-btn:hover{background:var(--line2)}.order-cart-place-btn{background:var(--g);color:#fff;cursor:pointer;width:100%;font-size:15px;font-weight:700;font-family:var(--font);border:none;border-radius:8px;padding:14px;transition:all .2s}.order-cart-place-btn:hover:not(:disabled){background:var(--g2)}.order-cart-place-btn:disabled{opacity:.6;cursor:not-allowed}.bar-chart-row{align-items:center;gap:8px;margin-bottom:5px;display:flex}.bar-label{color:var(--ink3);text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;width:100px;font-size:9.5px;font-weight:600;overflow:hidden}.bar-track{background:var(--line2);border-radius:var(--r6);flex:1;height:18px;overflow:hidden}.bar-fill{border-radius:var(--r6);align-items:center;height:100%;transition:width .5s;display:flex}.bar-val{color:#fff;white-space:nowrap;padding:0 6px;font-size:8.5px;font-weight:800}.two-col{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (max-width:768px){.two-col{grid-template-columns:1fr}}.dq-grid{grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:10px;display:grid}.deliv-card{background:var(--w);border:1.5px solid var(--line);border-left:3px solid var(--line);border-radius:var(--r12);box-shadow:var(--sh1);padding:12px}.deliv-card.ready{border-left-color:var(--g)}.deliv-card.dispatched{border-left-color:var(--p)}.deliv-card.rejected{border-left-color:var(--r);background:var(--rL)}.deliv-card-selected{box-shadow:0 0 0 3px var(--bXL);border:2px solid var(--b)!important;background:#eff6ff!important}.pill{border-radius:var(--r99);border:1px solid transparent;align-items:center;gap:4px;padding:3px 7px;font-size:9px;font-weight:800;display:inline-flex}.pill.p{background:var(--pL);color:var(--p);border-color:var(--pBd)}.btn.danger{background:var(--r);color:#fff;border:none}.btn.danger:hover{background:var(--r2)}.rej-chip{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.rej-chip:hover{border-color:var(--r)}@media (max-width:768px){.dq-grid{grid-template-columns:1fr}}.inv-tbl{border-collapse:collapse;width:100%;font-size:11.5px}.inv-tbl th{text-align:left;text-transform:uppercase;color:var(--ink4);letter-spacing:.4px;background:var(--line2);border-bottom:2px solid var(--line);white-space:nowrap;padding:7px 10px;font-size:9px;font-weight:800}.inv-tbl td{border-bottom:1px solid var(--line2);vertical-align:middle;padding:7px 10px}.inv-tbl tr:hover td{background:#fafbfc}.inv-cat{background:var(--line2);border-radius:var(--r99);color:var(--ink3);border:1px solid var(--line);padding:2px 7px;font-size:9px;font-weight:600}.inv-status{border-radius:var(--r99);padding:2px 7px;font-size:9px;font-weight:800}.inv-status.ok,.inv-status.instock{background:var(--gXL);color:var(--g2)}.inv-status.low{background:var(--aL);color:var(--a2)}.inv-status.critical{background:var(--rL);color:var(--r2)}.inv-bar-wrap{background:var(--line);border-radius:var(--r99);width:52px;height:4px;display:inline-block;overflow:hidden}.inv-bar-fill{border-radius:var(--r99);height:100%;transition:width .4s}.inv-bar-fill.g{background:var(--g)}.inv-bar-fill.a{background:var(--a)}.inv-bar-fill.r{background:var(--r)}.btn.amber{background:var(--aL);border:1.5px solid var(--aBd);color:var(--a2)}.btn.amber:hover{background:var(--a);color:#fff}.metrics.c3{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.users-tbl{border-collapse:collapse;width:100%;font-size:11.5px}.users-tbl th{text-align:left;text-transform:uppercase;color:var(--ink4);letter-spacing:.4px;background:var(--line2);border-bottom:2px solid var(--line);white-space:nowrap;padding:7px 10px;font-size:9px;font-weight:800}.users-tbl td{border-bottom:1px solid var(--line2);vertical-align:middle;padding:7px 10px}.users-tbl tr:hover td{background:#fafbfc}.role-badge{border-radius:var(--r99);padding:3px 8px;font-size:9px;font-weight:800;display:inline-block}.role-badge.Kitchen{background:var(--aL);color:var(--a2)}.role-badge.Server{background:var(--bL);color:var(--b2)}.role-badge.Steward{background:var(--pL);color:var(--p)}.role-badge.Dietitian{background:var(--gXL);color:var(--g2)}.role-badge.FnBHead{background:var(--rL);color:var(--r)}.role-badge.Admin{color:#fff;background:#1e293b}.form-help{color:var(--ink4);margin-top:3px;font-size:9.5px}.metric.b{background:var(--bL);border:1.5px solid var(--bBd)}.metric.b .m-lbl{color:var(--b2)}.report-cards{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;display:grid}.report-card{border:1.5px solid var(--line);border-radius:var(--r10);cursor:pointer;background:#fff;padding:14px;transition:all .2s}.report-card:hover{border-color:var(--g);transform:translateY(-2px);box-shadow:0 4px 16px rgba(26,122,74,.08)}.rep-ic{border-radius:10px;justify-content:center;align-items:center;width:44px;height:44px;margin-bottom:10px;display:flex}.rep-title{color:var(--ink);margin-bottom:4px;font-size:13px;font-weight:800}.rep-desc{color:var(--ink4);margin-bottom:10px;font-size:10.5px;line-height:1.4}.rep-action{color:var(--g2);align-items:center;gap:4px;font-size:11px;font-weight:700;display:flex}.chart-box{border:1.5px solid var(--line);border-radius:var(--r10);background:#fff;padding:14px}.chart-title{color:var(--ink);margin-bottom:10px;font-size:12px;font-weight:800}.metrics.c4{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.mfa-setup-card{border:1.5px solid var(--line);border-radius:var(--r10);background:#fff;padding:18px}.mfa-step{border-bottom:1px solid var(--line2);gap:12px;margin-bottom:14px;padding-bottom:14px;display:flex}.mfa-step:last-of-type{border-bottom:none;margin-bottom:0;padding-bottom:0}.mfa-step-num{background:var(--gXL);border:1.5px solid var(--gBd);width:28px;height:28px;color:var(--g2);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:800;display:flex}.mfa-qr-wrap{border:1.5px solid var(--line);background:#fff;border-radius:8px;justify-content:center;padding:10px;display:flex}.alg-tag{border-radius:var(--r99);padding:3px 8px;font-size:9px;font-weight:800;display:inline-block}.alg-tag.soya{background:var(--gXL);color:var(--g2)}.alg-tag.lupin{background:var(--line2);color:var(--ink4)}.badge{border-radius:var(--r99);background:var(--line2);color:var(--ink3);margin-left:6px;padding:3px 8px;font-size:9px;font-weight:800}.metrics{gap:10px;margin-bottom:12px;display:grid}.metrics.c4{grid-template-columns:repeat(4,1fr)}.metric{border:1.5px solid var(--line);border-radius:var(--r10);background:#fff;padding:14px;position:relative;overflow:hidden}.metric.g{border-color:var(--gBd);background:linear-gradient(135deg, #fff 0%, var(--gXL) 100%)}.metric.a{border-color:var(--aBd);background:linear-gradient(135deg, #fff 0%, var(--aL) 100%)}.metric.b{border-color:var(--bBd);background:linear-gradient(135deg, #fff 0%, var(--bL) 100%)}.metric.t{border-color:var(--tBd);background:linear-gradient(135deg, #fff 0%, var(--tL) 100%)}.metric.r{border-color:var(--rBd);background:linear-gradient(135deg, #fff 0%, var(--rL) 100%)}.m-lbl{text-transform:uppercase;color:var(--ink4);letter-spacing:.4px;margin-bottom:6px;font-size:9px;font-weight:800}.m-val{font-size:32px;font-weight:800;font-family:var(--mono);margin-bottom:4px;line-height:1}.metric.g .m-val{color:var(--g2)}.metric.a .m-val{color:var(--a2)}.metric.b .m-val{color:var(--b2)}.metric.t .m-val{color:var(--t)}.metric.r .m-val{color:var(--r)}.m-sub{color:var(--ink4);font-size:10px;font-weight:500}.m-ic{opacity:.15;position:absolute;bottom:10px;right:10px}.metric.g .m-ic{color:var(--g)}.metric.a .m-ic{color:var(--a)}.metric.b .m-ic{color:var(--b)}.metric.t .m-ic{color:var(--t)}.metric.r .m-ic{color:var(--r)}.prog-wrap,.prog-bar{background:var(--line2);border-radius:var(--r99);height:6px;overflow:hidden}.es-ic{background:var(--gXL);border:1.5px solid var(--gBd);width:48px;height:48px;color:var(--g2);border-radius:10px;justify-content:center;align-items:center;margin:0 auto 10px;display:flex}.es-t{color:var(--ink3);font-size:12px;font-weight:700}.es-desc{color:var(--ink4);margin-top:3px;font-size:10px}.card{border:1.5px solid var(--line);border-radius:var(--r10);background:#fff;margin-bottom:12px;padding:14px}.sec-title{color:var(--ink);align-items:center;gap:6px;margin-bottom:10px;font-size:12px;font-weight:800;display:flex}.two-col{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px;display:grid}@media (max-width:768px){.two-col{grid-template-columns:1fr}}.pill{border-radius:var(--r99);padding:3px 8px;font-size:9px;font-weight:800;display:inline-block}.page{background:var(--bg);min-height:100vh}.kds-header{z-index:100;border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex;position:-webkit-sticky;position:sticky;top:0;box-shadow:0 1px 3px rgba(0,0,0,.03)}.kds-header-left{align-items:center;gap:16px;display:flex}.kds-header-right{align-items:center;gap:8px;display:flex}.kds-live-indicator{color:var(--g2);align-items:center;gap:6px;font-size:11px;font-weight:700;display:flex}.kds-live-dot{background:var(--g);border-radius:50%;width:8px;height:8px;animation:2s infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.kds-clock{font-family:var(--mono);color:var(--ink);letter-spacing:-.5px;font-size:16px;font-weight:800}.kds-search{border:1.5px solid var(--line);border-radius:8px;outline:none;min-width:200px;padding:8px 12px;font-size:12px;transition:all .15s}.kds-search:focus{border-color:var(--b);box-shadow:0 0 0 3px var(--bXL)}.kds-filter-input,.kds-filter-select{border:1.5px solid var(--line);cursor:pointer;background:#fff;border-radius:8px;padding:8px 10px;font-size:11px;transition:all .15s}.kds-filter-input:hover,.kds-filter-select:hover{border-color:var(--ink4)}.kds-sound-toggle,.kds-refresh-btn{border:1.5px solid var(--line);cursor:pointer;background:#fff;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;transition:all .15s;display:flex}.kds-sound-toggle:hover,.kds-refresh-btn:hover{background:var(--gXL);border-color:var(--g)}.kds-sound-toggle svg,.kds-refresh-btn svg{width:18px;height:18px}.kds-tabs{z-index:99;border-bottom:1px solid var(--line);scrollbar-width:none;background:#fafafa;gap:6px;padding:8px 16px;display:flex;position:-webkit-sticky;position:sticky;top:60px;overflow-x:auto}.kds-tabs::-webkit-scrollbar{display:none}.kds-tab{color:var(--ink3);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:8px;align-items:center;gap:6px;padding:8px 14px;font-size:12px;font-weight:700;transition:all .15s;display:flex}.kds-tab:hover{color:var(--ink);background:#fff}.kds-tab.active{background:var(--b);color:#fff}.kds-tab-badge{color:inherit;text-align:center;background:rgba(0,0,0,.1);border-radius:4px;min-width:20px;padding:2px 6px;font-size:10px;font-weight:800}.kds-tab.active .kds-tab-badge{background:rgba(255,255,255,.25)}.kds-rows-container{flex:1;padding:12px 16px;overflow-y:auto}.kds-row{background:#fff;border:2px solid transparent;border-radius:12px;margin-bottom:10px;transition:all .2s;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,.08)}.kds-row:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.1)}.kds-row-expanded{box-shadow:0 4px 16px rgba(0,0,0,.12)!important}.kds-row-new{background:#eff6ff;border-left:4px solid #3b82f6}.kds-row-accepted{background:#fff7ed;border-left:4px solid #f59e0b}.kds-row-cooking{background:#fffbeb;border-left:4px solid #f59e0b}.kds-row-ready{background:#f0fdf4;border-left:4px solid #10b981}.kds-row-urgent{animation:2s infinite urgentPulse}@keyframes urgentPulse{0%,to{box-shadow:0 1px 3px rgba(0,0,0,.08)}50%{box-shadow:0 4px 16px rgba(239,68,68,.3)}}.kds-row-main{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;align-items:center;gap:16px;padding:14px 16px;display:flex}.kds-row-left{align-items:center;gap:12px;min-width:180px;display:flex}.kds-bed{font-size:20px;font-weight:800;font-family:var(--mono);color:var(--ink);letter-spacing:-.5px}.kds-meta{flex-direction:column;gap:2px;display:flex}.kds-ward{color:var(--ink2);text-transform:uppercase;letter-spacing:.3px;font-size:11px;font-weight:700}.kds-meal{color:var(--ink4);font-size:10px;font-weight:600}.kds-row-center{flex:1;min-width:0}.kds-recipe-summary{color:var(--ink);-webkit-line-clamp:1;-webkit-box-orient:vertical;font-size:13px;font-weight:600;line-height:1.4;display:-webkit-box;overflow:hidden}.kds-more-count{color:var(--b);background:var(--bXL);border-radius:4px;margin-left:4px;padding:2px 6px;font-size:11px;font-weight:700}.kds-note-preview{color:var(--ink4);margin-top:4px;font-size:10px;font-weight:600}.kds-row-right{align-items:center;gap:12px;display:flex}.kds-badges{flex-wrap:wrap;gap:6px;display:flex}.kds-badge{white-space:nowrap;border-radius:6px;padding:4px 8px;font-size:10px;font-weight:700}.kds-badge-allergen{color:#b91c1c;background:#fee2e2;border:1px solid #fca5a5}.kds-badge-iddsi{color:#7c3aed;background:#f3e8ff;border:1px solid #c4b5fd}.kds-badge-urgent{color:#ef4444;background:#fee2e2;border:1px solid #fca5a5}.kds-badge-topup{color:#1d4ed8;background:#dbeafe;border:1px solid #93c5fd}.kds-timer{font-family:var(--mono);text-align:center;border-radius:6px;min-width:50px;padding:6px 10px;font-size:14px;font-weight:800}.kds-timer-green{color:#166534;background:#dcfce7}.kds-timer-yellow{color:#92400e;background:#fef3c7}.kds-timer-red{color:#b91c1c;background:#fee2e2;animation:1.5s infinite timerPulse}@keyframes timerPulse{0%,to{opacity:1}50%{opacity:.7}}.kds-action-btn{cursor:pointer;white-space:nowrap;border:none;border-radius:8px;padding:10px 18px;font-size:12px;font-weight:700;transition:all .15s}.btn-accept{color:#1e40af;background:#dbeafe}.btn-accept:hover{color:#fff;background:#3b82f6}.btn-cooking{color:#92400e;background:#fef3c7}.btn-cooking:hover{color:#fff;background:#f59e0b}.btn-ready{color:#166534;background:#dcfce7}.btn-ready:hover{color:#fff;background:#10b981}.btn-complete{color:#6b7280;background:#e5e7eb}.btn-complete:hover{color:#fff;background:#9ca3af}.kds-expand-icon{justify-content:center;align-items:center;width:24px;height:24px;transition:transform .2s;display:flex}.kds-expand-icon svg{width:20px;height:20px}.kds-row-expanded .kds-expand-icon{transform:rotate(180deg)}.kds-row-details{max-height:0;transition:max-height .3s;overflow:hidden}.kds-details-open{max-height:600px}.kds-details-inner{border-top:1px solid rgba(0,0,0,.05);padding:0 16px 16px}.kds-details-section{border-bottom:1px solid rgba(0,0,0,.05);padding:12px 0}.kds-details-section:last-child{border-bottom:none}.kds-details-title{color:var(--ink2);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;font-size:11px;font-weight:800}.kds-details-content{color:var(--ink3);font-size:12px;line-height:1.5}.kds-recipe-list{margin:0;padding:0;list-style:none}.kds-recipe-list li{color:var(--ink);padding:4px 0;font-size:12px;line-height:1.5}.kds-allergen-warning{background:#fee2e2;border:1px solid #fca5a5;border-radius:8px;padding:12px!important}.kds-allergen-warning .kds-details-title{color:#b91c1c}.kds-allergen-warning .kds-details-content{color:#991b1b;font-weight:600}.kds-empty-state{text-align:center;color:var(--ink4);padding:80px 20px}.kds-empty-state svg{opacity:.3;margin:0 auto 16px}.kds-empty-title{color:var(--ink2);margin-bottom:6px;font-size:16px;font-weight:700}.kds-empty-subtitle{color:var(--ink4);font-size:13px}@media (max-width:768px){.kds-header{flex-wrap:wrap;padding:10px 12px}.kds-header-right{flex-wrap:wrap}.kds-search{min-width:150px}.kds-row-main{flex-direction:column;align-items:flex-start;gap:12px}.kds-row-left{min-width:100%}.kds-row-right{flex-wrap:wrap;width:100%}.kds-action-btn{width:100%}}.kds-tabs-wrapper{background:var(--bg);border-bottom:1px solid var(--border)}.kds-select-all{background:var(--bg2);border-bottom:1px solid var(--border);align-items:center;gap:16px;padding:12px 16px;display:flex}.kds-checkbox-label{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;align-items:center;gap:8px;display:flex}.kds-checkbox{cursor:pointer;width:18px;height:18px;accent-color:var(--b)}.kds-checkbox-text{color:var(--ink2);font-size:14px;font-weight:600}.kds-selection-count{color:var(--b);background:var(--b-light);border-radius:12px;padding:4px 12px;font-size:13px;font-weight:700}.kds-row-checkbox{align-items:center;margin-right:8px;padding:0 12px;display:flex}.kds-row-selected{background:var(--b-lightest)!important;border-left:4px solid var(--b)!important}.kds-bulk-toolbar{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-bottom:1px solid rgba(255,255,255,.2);justify-content:space-between;align-items:center;padding:12px 16px;animation:.3s slideDown;display:flex;box-shadow:0 2px 8px rgba(0,0,0,.1)}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.kds-bulk-info{align-items:center;gap:12px;display:flex}.kds-bulk-count{color:#fff;font-size:14px;font-weight:700}.kds-bulk-actions{align-items:center;gap:8px;display:flex}.kds-bulk-btn{cursor:pointer;white-space:nowrap;border:none;border-radius:6px;padding:8px 16px;font-size:13px;font-weight:600;transition:all .2s}.kds-bulk-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.15)}.kds-bulk-btn:disabled{opacity:.5;cursor:not-allowed}.kds-bulk-btn-accept{color:#fff;background:#10b981}.kds-bulk-btn-cooking{color:#fff;background:#f59e0b}.kds-bulk-btn-ready{color:#fff;background:#3b82f6}.kds-bulk-btn-clear{color:#6b7280;background:#fff;border:1px solid #d1d5db}.kds-bulk-btn-clear:hover{background:#f3f4f6}@media (max-width:768px){.kds-bulk-toolbar{flex-direction:column;align-items:flex-start;gap:12px}.kds-bulk-actions{flex-wrap:wrap;width:100%}.kds-bulk-btn{flex:1;min-width:calc(50% - 4px)}.kds-select-all{flex-direction:column;align-items:flex-start}}.floor-tab{border-radius:var(--r99);border:1.5px solid var(--line);background:var(--w);color:var(--ink3);cursor:pointer;padding:5px 13px;font-size:11px;font-weight:700;transition:all .13s}.floor-tab.on{background:var(--g);border-color:var(--g);color:#fff}.floor-tab:hover:not(.on){border-color:var(--g);color:var(--g)}.bed-card{background:var(--w);border:1.5px solid var(--line);border-radius:var(--r10);cursor:pointer;min-height:80px;padding:11px;transition:all .14s}.bed-card:hover{box-shadow:var(--sh1);transform:translateY(-1px)}.bed-card.nbm-bed{border-color:var(--r)!important;background:var(--rL)!important}.bed-card.ordered-bed{border-color:var(--g)!important;background:var(--gXL)!important}.bed-card.delivered-bed{border-color:var(--p)!important;background:var(--pL)!important}.bed-card.vacant-bed{opacity:.4;cursor:default}.bed-label{color:var(--ink4);font-size:10.5px;font-weight:800;font-family:var(--mono);margin-bottom:4px}.bed-pname{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;margin-bottom:2px;font-size:11.5px;font-weight:700;overflow:hidden}.bed-meta{color:var(--ink4);margin-bottom:5px;font-size:9px}.bed-status{color:#fff;border-radius:3px;padding:2px 6px;font-size:8px;font-weight:800;display:inline-block}.alg.milk,.alg.dairy{color:#1d4ed8;background:#eff6ff;border-color:#bae6fd}.alg.egg,.alg.eggs{color:#c2410c;background:#fff7ed;border-color:#fed7aa}.alg.nut,.alg.nuts,.alg.peanut,.alg.peanuts{color:#92400e;background:#fef3c7;border-color:#fde68a}.alg.soy,.alg.soya{color:#166534;background:#f0fdf4;border-color:#86efac}.alg.wheat,.alg.gluten{color:#ea580c;background:#fff7ed;border-color:#fed7aa}.alg.fish{color:#1e40af;background:#dbeafe;border-color:#93c5fd}.alg.shellfish,.alg.crustacean{color:#7c3aed;background:#f3e8ff;border-color:#c4b5fd}.alg.sesame{color:#b45309;background:#fef3c7;border-color:#fde68a}.alg.celery{color:#047857;background:#ecfdf5;border-color:#6ee7b7}.alg.mustard{color:#d97706;background:#fffbeb;border-color:#fde68a}.alg.sulphur,.alg.sulphite,.alg.sulfur{color:#dc2626;background:#fee2e2;border-color:#fca5a5}.alg.lupin{color:#7c3aed;background:#f5f3ff;border-color:#c4b5fd}.alg.mollusc,.alg.molluscs{color:#0284c7;background:#e0f2fe;border-color:#7dd3fc}.ps-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.ps-title{color:var(--ink);font-size:14px;font-weight:800}.guide-tip{background:var(--bL);border:1px solid var(--bBd);border-radius:var(--r10);color:var(--ink2);align-items:flex-start;gap:10px;margin-bottom:15px;padding:10px 12px;font-size:11px;line-height:1.5;display:flex}.gt-ic{width:20px;height:20px;color:var(--b);flex-shrink:0;justify-content:center;align-items:center;display:flex}.gt-ic svg{stroke-width:2px;fill:none;stroke:currentColor;width:16px;height:16px}@media (max-width:768px){.bed-card{min-height:88px;padding:12px}.floor-tab{min-height:38px;padding:8px 14px}.bed-card:hover{transform:none}}.ticket-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;display:grid}.ticket{background:var(--w);border:1.5px solid var(--line);border-radius:var(--r12);page-break-inside:avoid;transition:all .13s;overflow:hidden}.ticket.selected{border-color:var(--g);box-shadow:0 0 0 2px rgba(26,122,74,.15)}.tkt-hdr{background:var(--ink2);align-items:center;gap:9px;padding:10px 12px;display:flex}.tkt-bed{font-family:var(--mono);color:#fff;flex-shrink:0;font-size:16px;font-weight:800}.tkt-pt{flex:1;min-width:0}.tkt-ptname{color:#fff;white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;font-weight:700;overflow:hidden}.tkt-ptmeta{color:rgba(255,255,255,.5);font-size:9px}.tkt-meal-tag{color:#fff;background:rgba(255,255,255,.12);border-radius:6px;flex-shrink:0;padding:3px 8px;font-size:10px;font-weight:700}.tkt-body{padding:10px 12px}.tkt-row{align-items:center;gap:7px;margin-bottom:5px;display:flex}.tkt-em{flex-shrink:0;width:28px;font-size:18px}.tkt-iname{color:var(--ink);flex:1;font-size:12px;font-weight:600}.tkt-kcal{color:var(--ink4);flex-shrink:0;font-size:10px}.tkt-alg-warn{background:var(--rL);border:1px solid var(--rBd);color:var(--r);border-radius:6px;margin-top:6px;padding:5px 8px;font-size:9.5px;font-weight:700}.tkt-iddsi{background:var(--pL);color:var(--p);border:1px solid #c4b5fd;border-radius:6px;margin-top:4px;padding:5px 8px;font-size:9.5px;font-weight:700}.tkt-footer{border-top:1px solid var(--line);background:var(--line2);align-items:center;gap:7px;padding:7px 12px;display:flex}.tkt-chk{cursor:pointer;width:14px;height:14px;accent-color:var(--g)}.act-btn.prnt{cursor:pointer;opacity:.7;background:0 0;border:none;padding:4px;font-size:14px;line-height:1;transition:opacity .13s}.act-btn.prnt:hover{opacity:1}.pill{text-transform:uppercase;letter-spacing:.02em;border-radius:99px;align-items:center;gap:4px;padding:3px 8px;font-size:10px;font-weight:700;display:inline-flex}.pill-dot{background:currentColor;border-radius:50%;width:5px;height:5px}.pill.b{background:var(--bL);color:var(--b)}.pill.a{background:var(--aL);color:var(--a)}.pill.g{background:var(--gL);color:var(--g)}.pill.r{background:var(--rL);color:var(--r)}.pill.p{background:var(--pL);color:var(--p)}.pill.t{background:var(--tL);color:var(--t)}@media print{.sidebar,.topbar,.tb-right,.btn,.no-print{display:none!important}.ticket{page-break-inside:avoid;break-inside:avoid;border:1px solid #ddd;margin-bottom:12px}.ticket-grid{display:block}.page{padding:0!important}.page-wrap{height:auto!important;overflow:visible!important}}.es-ic{width:64px;height:64px;color:var(--ink5);opacity:.5;margin:0 auto 12px}.es-ic svg{stroke-width:1.5px;width:100%;height:100%}@media (max-width:640px){.ticket-grid{grid-template-columns:1fr}}@media (min-width:641px) and (max-width:1024px){.ticket-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1025px){.ticket-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}.recipe-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;display:grid}.rc-card{background:var(--w);border:1px solid var(--line);border-radius:var(--r12);cursor:pointer;flex-direction:column;transition:box-shadow .15s,transform .15s,border-color .15s;display:flex;overflow:hidden}.rc-card:hover{box-shadow:var(--sh2);border-color:var(--gBd);transform:translateY(-2px)}.rc-card:active{transform:translateY(0)}.rc-img-wrap{background:linear-gradient(135deg, var(--line3), var(--line2));border-radius:var(--r12) var(--r12) 0 0;flex-shrink:0;justify-content:center;align-items:center;height:120px;display:flex;position:relative;overflow:hidden}.rc-img-wrap img{object-fit:cover;z-index:1;width:100%;height:100%;transition:transform .3s;display:block;position:absolute;top:0;bottom:0;left:0;right:0}.rc-card:hover .rc-img-wrap img{transform:scale(1.06)}.rc-img-emoji{opacity:.2;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:0;font-size:48px;position:absolute;transition:none!important}.rc-img-badge{border-radius:var(--r99);z-index:3;letter-spacing:.3px;align-items:center;gap:3px;padding:3px 8px;font-size:9px;font-weight:800;display:flex;position:absolute;top:8px;right:8px}.rc-img-badge.top-rated{color:#fff;background:linear-gradient(135deg,#f59e0b,#d97706);box-shadow:0 2px 8px rgba(217,119,6,.4)}.rc-img-badge.popular{color:#fff;background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 2px 8px rgba(220,38,38,.4)}.rc-img-badge.dietitian{color:#fff;background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 2px 8px rgba(37,99,235,.4)}.rc-img-badge.iddsi{color:#fff;background:linear-gradient(135deg,#7c3aed,#6d28d9);box-shadow:0 2px 8px rgba(124,58,237,.4)}.vdot{z-index:3;border:2px solid rgba(255,255,255,.9);border-radius:3px;width:14px;height:14px;position:absolute;bottom:7px;left:8px}.vdot.veg{background:#16a34a}.vdot.vegan{background:#0d9488}.vdot.nonveg{background:#dc2626}.rc-card-body{flex-direction:column;flex:1;gap:5px;padding:11px 13px 8px;display:flex}.rc-card-name{color:var(--ink);margin:0;font-size:13px;font-weight:700;line-height:1.3}.rc-card-desc{color:var(--ink4);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:10.5px;line-height:1.4;display:-webkit-box;overflow:hidden}.rc-stars{align-items:center;gap:3px;display:flex}.rc-stars svg{width:11px;height:11px}.rc-rating-val{color:var(--ink4);margin-left:1px;font-size:10px;font-weight:600}.rc-rating-count{color:var(--ink5);font-size:9px}.rc-nut-row{grid-template-columns:1fr 1fr 1fr;gap:5px;margin-top:4px;display:grid}.rc-nut-cell{text-align:center;background:var(--line2);border-radius:6px;padding:4px 3px}.rc-nut-val{font-size:13px;font-weight:800;font-family:var(--mono);color:var(--ink2)}.rc-nut-val.kcal-val{color:var(--a2)}.rc-nut-val.prot-val{color:var(--g)}.rc-nut-lbl{color:var(--ink4);text-transform:uppercase;letter-spacing:.3px;margin-top:1px;font-size:8px}.rc-card-bot{border-top:1px solid var(--line2);flex-wrap:wrap;gap:3px;margin-top:auto;padding:5px 13px 10px;display:flex}.rc-type{border:1px solid transparent;border-radius:4px;align-items:center;gap:2px;padding:2px 6px;font-size:9px;font-weight:800;display:inline-flex}.rc-type.veg{background:var(--gXL);color:var(--g2);border-color:var(--gBd)}.rc-type.vegan{background:var(--tL);color:var(--t);border-color:var(--tBd)}.rc-type.nonveg{background:var(--rL);color:var(--r2);border-color:var(--rBd)}.alg{border:1px solid transparent;border-radius:3px;padding:2px 5px;font-size:8px;font-weight:700;display:inline-block}.pagination{justify-content:center;align-items:center;gap:5px;display:flex}.page-btn{border:1px solid var(--line);background:var(--w);color:var(--ink3);cursor:pointer;border-radius:6px;padding:6px 10px;font-size:11px;font-weight:600;transition:all .13s}.page-btn:hover{border-color:var(--g);color:var(--g)}.page-btn.on{background:var(--g);border-color:var(--g);color:#fff}.modal-overlay{z-index:1000;background:rgba(0,0,0,.5);justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.modal-content{background:var(--w);border-radius:var(--r12);max-width:90vw;max-height:90vh;box-shadow:var(--sh3);flex-direction:column;display:flex;overflow:hidden}.modal-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;display:flex}.modal-header h3{color:var(--ink);margin:0;font-size:16px;font-weight:800}.modal-close{background:var(--line2);width:32px;height:32px;color:var(--ink3);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:24px;line-height:1;transition:all .15s;display:flex}.modal-close:hover{background:var(--line);color:var(--ink)}.modal-body{flex:1;padding:20px;overflow-y:auto}.modal-footer{border-top:1px solid var(--line);justify-content:flex-end;gap:8px;padding:12px 20px;display:flex}.mf-btn{cursor:pointer;border:none;border-radius:8px;padding:8px 16px;font-size:12px;font-weight:700;transition:all .15s}.mf-btn.primary{background:var(--g);color:#fff}.mf-btn.primary:hover{background:var(--g2)}.mf-btn.sec{background:var(--line2);color:var(--ink3)}.mf-btn.sec:hover{background:var(--line);color:var(--ink)}.divider{background:var(--line);height:1px;margin:12px 0}@media (max-width:767px){.recipe-grid{grid-template-columns:1fr 1fr;gap:10px}.rc-img-wrap{height:100px}}@media (max-width:500px){.recipe-grid{grid-template-columns:1fr}.rc-img-wrap{height:120px}}@media (min-width:768px) and (max-width:1023px){.recipe-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width:1024px){.recipe-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}}.metric{background:var(--w);border:1px solid var(--line);border-radius:var(--r12);padding:14px 16px;transition:all .2s;position:relative;overflow:hidden}.metric:hover{box-shadow:var(--sh2);border-color:var(--gBd)}.metric.g{border-left:4px solid var(--g)}.metric.a{border-left:4px solid var(--a)}.metric.b{border-left:4px solid var(--b)}.metric.t{border-left:4px solid var(--t)}.m-lbl{text-transform:uppercase;letter-spacing:.4px;color:var(--ink4);margin-bottom:6px;font-size:10px;font-weight:700}.m-val{font-size:28px;font-weight:900;font-family:var(--mono);color:var(--ink);margin-bottom:2px;line-height:1}.m-sub{color:var(--ink4);margin-bottom:0;font-size:10.5px}.m-ic{opacity:.08;pointer-events:none;position:absolute;bottom:8px;right:10px}.m-ic svg{width:54px;height:54px}.dash-card{background:var(--w);border:1px solid var(--line);border-radius:var(--r12);overflow:hidden}.dc-hdr{border-bottom:1px solid var(--line2);justify-content:space-between;align-items:center;gap:8px;padding:12px 14px;display:flex}.dc-title{color:var(--ink2);font-size:12px;font-weight:800}.dc-badge{background:var(--g);color:#fff;border-radius:var(--r99);text-align:center;min-width:20px;padding:2px 7px;font-size:10px;font-weight:800}.dc-body{max-height:320px;padding:11px 14px;overflow-y:auto}.prog-wrap{background:var(--line2);border-radius:var(--r99);height:6px;overflow:hidden}.prog-fill{border-radius:var(--r99);height:100%;transition:width .3s}.prog-fill.g{background:var(--g)}.prog-fill.a{background:var(--a)}.prog-fill.r{background:var(--r)}.empty-state{text-align:center;padding:24px 16px}.es-ic{background:var(--line2);width:48px;height:48px;color:var(--ink4);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 8px;display:flex}.es-t{color:var(--ink3);margin-bottom:2px;font-size:12px;font-weight:700}.es-s{color:var(--ink4);font-size:10px}.pill{border-radius:var(--r99);border:1px solid transparent;padding:3px 7px;font-size:9px;font-weight:800;display:inline-block}.pill.a{background:var(--aL);color:var(--a2);border-color:var(--aBd)}.pill.g{background:var(--gXL);color:var(--g2);border-color:var(--gBd)}.pill.b{background:var(--bL);color:var(--b2);border-color:var(--bBd)}.pill.r{background:var(--rL);color:var(--r2);border-color:var(--rBd)}#root{flex-direction:column;width:100%;min-height:100vh;display:flex}.theme-toggle{background:var(--color-line-2);border:1px solid var(--color-line);cursor:pointer;width:30px;height:30px;transition:all var(--transition-fast);border-radius:7px;justify-content:center;align-items:center;display:flex}.theme-toggle svg{stroke:var(--color-text-3);transition:stroke var(--transition-fast)}.theme-toggle:hover{background:var(--color-green-bg);border-color:var(--color-green-border)}.theme-toggle:hover svg{stroke:var(--color-green)}.theme-toggle.light svg{fill:none}.theme-toggle.dark svg{fill:var(--color-text-3)}.theme-toggle.dark:hover svg{fill:var(--color-green)}.hospital-switcher{position:relative}.hospital-switcher-trigger{align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-md);background:var(--color-white);border:1.5px solid var(--color-line);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-fast);font-family:var(--font-family);min-width:200px;display:flex}.hospital-switcher-trigger:hover:not(:disabled){border-color:var(--color-green);box-shadow:0 0 0 3px var(--color-green-bg)}.hospital-switcher-trigger:disabled{opacity:.6;cursor:not-allowed}.hospital-switcher-icon{color:var(--color-green);justify-content:center;align-items:center;display:flex}.hospital-switcher-text{flex-direction:column;flex:1;align-items:flex-start;gap:2px;display:flex}.hospital-switcher-label{font-size:var(--font-size-xs);color:var(--color-text-4);text-transform:uppercase;letter-spacing:.5px;font-weight:var(--font-weight-semibold)}.hospital-switcher-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;max-width:180px;overflow:hidden}.hospital-switcher-chevron{color:var(--color-text-4);transition:transform var(--transition-fast);flex-shrink:0}.hospital-switcher-chevron.open{transform:rotate(180deg)}.hospital-switcher-dropdown{background:var(--color-white);border:1.5px solid var(--color-line);border-radius:var(--radius-xl);min-width:100%;box-shadow:var(--shadow-lg);z-index:var(--z-dropdown);animation:.2s slideDown;position:absolute;top:calc(100% + 8px);left:0}.hospital-switcher-dropdown-header{padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--color-line);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--color-text-3);text-transform:uppercase;letter-spacing:.5px}.hospital-switcher-dropdown-list{max-height:320px;overflow-y:auto}.hospital-switcher-dropdown-item{align-items:center;gap:var(--space-md);padding:var(--space-md);cursor:pointer;width:100%;transition:all var(--transition-fast);text-align:left;font-family:var(--font-family);background:0 0;border:none;display:flex}.hospital-switcher-dropdown-item:hover:not(:disabled):not(.active){background:var(--color-line-2)}.hospital-switcher-dropdown-item.active{background:var(--color-green-bg);cursor:default}.hospital-switcher-dropdown-item:disabled{cursor:not-allowed}.hospital-icon{background:var(--color-green-bg);border-radius:var(--radius-md);width:32px;height:32px;color:var(--color-green);flex-shrink:0;justify-content:center;align-items:center;display:flex}.hospital-switcher-dropdown-item.active .hospital-icon{background:var(--color-green);color:#fff}.hospital-info{flex-direction:column;flex:1;gap:2px;display:flex}.hospital-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text)}.hospital-type{font-size:var(--font-size-xs);color:var(--color-text-4)}.check-icon{color:var(--color-green);flex-shrink:0}.hospital-switcher-empty-state{padding:var(--space-2xl);text-align:center;color:var(--color-text-4);font-size:var(--font-size-sm)}.hospital-switcher-empty{align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-md);color:var(--color-text-4);font-size:var(--font-size-sm);display:flex}@media (max-width:768px){.hospital-switcher-trigger{min-width:160px}.hospital-switcher-name{max-width:120px}.hospital-switcher-dropdown{left:auto;right:0}}.notification-dropdown{background:var(--bg);border:1px solid var(--line1);z-index:1000;border-radius:8px;width:360px;max-width:90vw;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden;box-shadow:0 4px 12px rgba(0,0,0,.15)}.notification-header{border-bottom:1px solid var(--line1);background:var(--bg2);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.notification-header h3{color:var(--ink1);margin:0;font-size:14px;font-weight:600}.notification-actions{align-items:center;gap:8px;display:flex}.clear-all-btn{color:var(--ink3);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px 8px;font-size:11px;font-weight:500;transition:all .2s}.clear-all-btn:hover{background:var(--line2);color:var(--ink1)}.close-btn{color:var(--ink3);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:24px;height:24px;padding:0;font-size:24px;transition:all .2s;display:flex}.close-btn:hover{background:var(--line2);color:var(--ink1)}.notification-list{max-height:400px;overflow-y:auto}.notification-item{border-bottom:1px solid var(--line2);gap:12px;padding:12px 16px;transition:background .2s;display:flex}.notification-item:last-child{border-bottom:none}.notification-item:hover{background:var(--bg2)}.notification-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:14px;font-weight:700;display:flex}.notification-success .notification-icon{color:#10b981;background:rgba(16,185,129,.1)}.notification-error .notification-icon{color:#ef4444;background:rgba(239,68,68,.1)}.notification-warning .notification-icon{color:#f59e0b;background:rgba(245,158,11,.1)}.notification-info .notification-icon{color:#3b82f6;background:rgba(59,130,246,.1)}.notification-content{flex:1;min-width:0}.notification-message{color:var(--ink1);word-wrap:break-word;margin:0 0 4px;font-size:13px;line-height:1.4}.notification-time{color:var(--ink4);font-size:11px}.notification-empty{text-align:center;padding:40px 20px}.empty-icon{opacity:.3;margin-bottom:12px;font-size:48px}.notification-empty p{color:var(--ink3);margin:0;font-size:13px}.notification-list::-webkit-scrollbar{width:6px}.notification-list::-webkit-scrollbar-track{background:var(--bg2)}.notification-list::-webkit-scrollbar-thumb{background:var(--line1);border-radius:3px}.notification-list::-webkit-scrollbar-thumb:hover{background:var(--ink4)}.topbar{background:var(--color-white);border-bottom:1px solid var(--color-line);padding:0 var(--space-lg);height:var(--topbar-height);align-items:center;gap:var(--space-sm);box-shadow:0 1px 0 var(--color-line);flex-shrink:0;display:flex}.topbar-title{color:var(--color-text);letter-spacing:-.3px;margin:0;font-size:13.5px;font-weight:800}.topbar-right{align-items:center;gap:6px;margin-left:auto;display:flex}.topbar-icon-btn{background:var(--color-line-2);border:1px solid var(--color-line);cursor:pointer;width:30px;height:30px;transition:all var(--transition-fast);border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative}.topbar-icon-btn svg{stroke:var(--color-text-3);transition:stroke var(--transition-fast)}.topbar-icon-btn:hover{background:var(--color-green-bg);border-color:var(--color-green-border)}.topbar-icon-btn:hover svg{stroke:var(--color-green)}.topbar-notification-dot{background:var(--color-red);border:1.5px solid var(--color-white);border-radius:50%;width:6px;height:6px;animation:2s infinite pulse-dot;position:absolute;top:4px;right:4px}.topbar-notification-badge{background:var(--color-red);color:#fff;border:2px solid var(--color-white);border-radius:8px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 4px;font-size:9px;font-weight:700;display:flex;position:absolute;top:-4px;right:-4px}@keyframes pulse-dot{0%,to{transform:scale(1)}50%{transform:scale(1.4)}}.topbar-time{font-family:var(--font-mono);color:var(--color-text-4);background:var(--color-line-2);border:1px solid var(--color-line);border-radius:6px;flex-shrink:0;padding:3px 8px;font-size:11px;font-weight:500}.topbar-connection{border-radius:var(--radius-full);cursor:default;border:none;align-items:center;gap:4px;padding:3px 8px;font-size:8.5px;font-weight:700;display:flex}.topbar-connection.connected{background:var(--color-green-bg);color:var(--color-green-2)}.topbar-connection.reconnecting{background:var(--color-amber-light);color:var(--color-amber-2)}.topbar-connection.disconnected{background:var(--color-red-light);color:var(--color-red-2)}.topbar-connection.connected:before{animation:2s infinite pulse}.btn-loading{pointer-events:none;position:relative}.btn-spinner{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.btn-content-loading{opacity:0}.login-screen{justify-content:center;align-items:center;gap:var(--space-xl);background:linear-gradient(145deg,#06111e 0%,#0c1f35 50%,#071525 100%);flex-direction:column;min-height:100vh;padding:20px;display:flex;position:relative;overflow:hidden}.login-orb{-webkit-filter:blur(120px);filter:blur(120px);opacity:.1;pointer-events:none;border-radius:50%;position:absolute}.login-orb.orb-a{background:var(--color-green);width:480px;height:480px;animation:16s ease-in-out infinite orb-float;top:-120px;left:-80px}.login-orb.orb-b{background:#0ea5e9;width:320px;height:320px;animation:16s ease-in-out 4s infinite reverse orb-float;bottom:-40px;right:-40px}.login-orb.orb-c{background:var(--color-purple);width:200px;height:200px;animation:20s ease-in-out 8s infinite orb-float;top:60%;left:30%}@keyframes orb-float{0%,to{transform:translate(0)scale(1)}50%{transform:translate(20px,-20px)scale(1.05)}}.login-card{-webkit-backdrop-filter:blur(40px);backdrop-filter:blur(40px);z-index:1;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.075);border-radius:20px;width:100%;max-width:432px;padding:32px 28px;position:relative;box-shadow:0 40px 100px rgba(0,0,0,.75)}.login-header{margin-bottom:var(--space-xl)}.login-logo-row{align-items:center;gap:12px;margin-bottom:6px;display:flex}.login-icon-box{background:linear-gradient(135deg, var(--color-green-light), var(--color-green-2));color:#fff;border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;display:flex;box-shadow:0 6px 20px rgba(34,168,90,.4)}.login-brand{color:#fff;letter-spacing:-.5px;margin:0;font-size:21px;font-weight:800}.login-brand b{color:var(--color-green-light);font-weight:800}.login-hospital{margin-top:2px}.login-hospital-name{color:rgba(255,255,255,.7);font-size:12px;font-weight:700}.login-hospital-dept{color:rgba(255,255,255,.3);text-transform:uppercase;letter-spacing:.5px;font-size:9px}.login-tagline{text-align:center;color:rgba(255,255,255,.22);letter-spacing:.8px;text-transform:uppercase;margin-top:4px;font-size:9.5px}.login-field{margin-bottom:11px}.login-label{color:rgba(255,255,255,.28);text-transform:uppercase;letter-spacing:.6px;margin-bottom:5px;font-size:9px;font-weight:800;display:block}.login-input{color:#fff!important;background:rgba(255,255,255,.06)!important;border:1.5px solid rgba(255,255,255,.09)!important;border-radius:9px!important;font-size:13px!important;font-weight:500!important}.login-input::-webkit-input-placeholder{color:rgba(255,255,255,.18)!important}.login-input::-moz-placeholder{color:rgba(255,255,255,.18)!important}.login-input::-ms-input-placeholder{color:rgba(255,255,255,.18)!important}.login-input::placeholder{color:rgba(255,255,255,.18)!important}.login-input:focus{border-color:var(--color-green-light)!important;background:rgba(34,168,90,.07)!important;box-shadow:0 0 0 3px rgba(34,168,90,.12)!important}.login-button{letter-spacing:.1px;width:100%;margin-top:6px;font-size:13.5px!important}.login-error{color:#fca5a5;background:rgba(220,38,38,.1);border:1px solid rgba(220,38,38,.25);border-radius:8px;margin-top:8px;margin-bottom:8px;padding:8px 11px;font-size:11px}.login-hint{color:rgba(255,255,255,.25);background:rgba(255,255,255,.024);border:1px solid rgba(255,255,255,.055);border-radius:8px;margin-top:11px;padding:8px 11px;font-size:10px;line-height:1.65}.login-hint strong{color:rgba(255,255,255,.45)}.login-footer{text-align:center;color:rgba(255,255,255,.2);z-index:1;font-size:10px;position:relative}.login-footer p{margin:0}.login-tabs{background:rgba(255,255,255,.03);border-radius:12px;gap:8px;margin-bottom:24px;padding:6px;display:flex}.login-tab{color:rgba(255,255,255,.5);cursor:pointer;background:0 0;border:none;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:8px;padding:12px 16px;font-size:13px;font-weight:600;transition:all .2s;display:flex}.login-tab:hover{color:rgba(255,255,255,.75);background:rgba(255,255,255,.05)}.login-tab.active{color:#fff;background:rgba(255,255,255,.1);box-shadow:0 2px 8px rgba(0,0,0,.2)}.login-tab svg{width:16px;height:16px}.otp-sent-info{text-align:center;background:rgba(16,185,129,.1);border:1px solid rgba(16,185,129,.2);border-radius:12px;margin-bottom:20px;padding:24px}.otp-sent-info svg{color:#10b981;opacity:.8;margin-bottom:12px}.otp-sent-info p{color:rgba(255,255,255,.8);font-size:13px;line-height:1.5}.otp-sent-info strong{color:#fff;font-weight:700}.otp-input{text-align:center;letter-spacing:8px;font-size:20px;font-weight:700;font-family:var(--font-mono)}.resend-otp-btn{color:rgba(255,255,255,.6);cursor:pointer;background:0 0;border:1px solid rgba(255,255,255,.1);border-radius:10px;width:100%;margin-top:16px;padding:12px;font-size:13px;font-weight:600;transition:all .2s}.resend-otp-btn:hover{color:rgba(255,255,255,.9);background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.2)}.registration-card{max-width:600px!important}.reg-row{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:0;display:grid}.required{color:#ef4444;margin-left:2px}.field-hint{color:var(--ink4,#94a3b8);margin-top:4px;font-size:10px;line-height:1.4}.field-error{color:#ef4444;margin-top:4px;font-size:11px;font-weight:600}.input-error{border-color:#ef4444!important}.input-error:focus{box-shadow:0 0 0 3px rgba(239,68,68,.1)!important}.checkbox-field{margin:20px 0}.checkbox-label{color:var(--ink,#0f172a);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;align-items:flex-start;gap:10px;font-size:13px;display:flex}.checkbox-label input[type=checkbox]{cursor:pointer;flex-shrink:0;width:18px;height:18px;margin-top:2px}.checkbox-label a{color:var(--b,#3b82f6);font-weight:600;text-decoration:none}.checkbox-label a:hover{text-decoration:underline}.register-link{text-align:center;color:var(--ink3,#475569);margin-top:20px;font-size:13px}.register-link a{color:var(--b,#3b82f6);margin-left:4px;font-weight:700;text-decoration:none}.register-link a:hover{text-decoration:underline}.registration-success{text-align:center;padding:40px 20px}.success-icon{color:#fff;background:linear-gradient(135deg,#10b981 0%,#059669 100%);border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;margin:0 auto 24px;display:flex;box-shadow:0 8px 24px rgba(16,185,129,.25)}.success-title{color:var(--ink,#0f172a);margin-bottom:16px;font-size:24px;font-weight:800}.success-message{color:var(--ink3,#475569);margin-bottom:16px;font-size:14px;line-height:1.6}.success-message strong{color:var(--ink,#0f172a);font-weight:700}.success-details{border:1px solid var(--line,#e2e8f0);text-align:left;background:#f8fafc;border-radius:12px;margin:24px 0;padding:20px}.success-detail{color:var(--ink2,#1e293b);align-items:center;gap:8px;margin-bottom:12px;font-size:13px;display:flex}.success-detail:last-child{margin-bottom:0}.success-detail strong{min-width:100px;color:var(--ink4,#64748b);text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:600}@media (max-width:768px){.registration-card{margin:20px;max-width:100%!important}.reg-row{grid-template-columns:1fr;gap:0}}
