@import"https://fonts.googleapis.com/css2?family=Nunito:wght@300;400;500;600;700;800;900&family=Poppins:wght@300;400;500;600;700;800;900&display=swap";@layer components;@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-outline-style:solid}}}@layer theme{:root,:host{--font-sans:"Nunito", sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-success:#10b981}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer utilities{.collapse{visibility:collapse}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.border{border-style:var(--tw-border-style);border-width:1px}.p-0{padding:calc(var(--spacing) * 0)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--bg-body:#f1f5f9;--bg-card:#fff;--bg-card-hover:#f8fafc;--bg-input:#fff;--bg-table-head:#f8fafc;--bg-sidebar:#1e293b;--bg-topbar:#fff;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#64748b;--text-light:#94a3b8;--border-color:#e2e8f0;--border-light:#f1f5f9;--shadow-sm:0 1px 3px #00000014, 0 1px 2px #0000000f;--shadow-md:0 4px 6px #00000012, 0 2px 4px #0000000f;--scrollbar-track:#f1f5f9;--scrollbar-thumb:#cbd5e1}.dark{--bg-body:#0f172a;--bg-card:#1e293b;--bg-card-hover:#334155;--bg-input:#1e293b;--bg-table-head:#334155;--bg-sidebar:#0f172a;--bg-topbar:#1e293b;--text-primary:#f1f5f9;--text-secondary:#cbd5e1;--text-muted:#94a3b8;--text-light:#64748b;--border-color:#334155;--border-light:#1e293b;--shadow-sm:0 1px 3px #0000004d, 0 1px 2px #0003;--shadow-md:0 4px 6px #0000004d, 0 2px 4px #0003;--scrollbar-track:#1e293b;--scrollbar-thumb:#475569}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-body);color:var(--text-primary);font-family:Nunito,sans-serif;transition:background-color .3s,color .3s}h1,h2,h3,h4,h5,h6{font-family:Poppins,sans-serif}*{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--scrollbar-track)}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}.gradient-primary{background:linear-gradient(135deg,#4f46e5,#7c3aed)}.gradient-secondary{background:linear-gradient(135deg,#0ea5e9,#3b82f6)}.gradient-success{background:linear-gradient(135deg,#10b981,#059669)}.gradient-danger{background:linear-gradient(135deg,#ef4444,#dc2626)}.gradient-warning{background:linear-gradient(135deg,#f59e0b,#d97706)}.animate-fade-in{animation:.18s ease-in-out fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.animate-slide-in{animation:.3s ease-out slideIn}@keyframes slideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes loginSlideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes loginFadeRight{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes loginPulseGlow{0%,to{box-shadow:0 0 20px #4f46e533}50%{box-shadow:0 0 40px #4f46e559}}@keyframes loginFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.login-page{background:#0f172a;min-height:100vh;display:flex}.login-hero{background:url(/pos-bg.png) 50%/cover no-repeat;flex:1;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.login-hero-overlay{z-index:1;background:linear-gradient(135deg,#0f172ad1,#4f46e5a6,#2563ebb3);position:absolute;inset:0}.login-hero-content{z-index:2;text-align:center;flex-direction:column;align-items:center;gap:20px;padding:48px 40px;animation:.8s ease-out loginFadeRight;display:flex;position:relative}.login-hero-icon-wrap{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffff1f;border:1px solid #ffffff2e;border-radius:24px;justify-content:center;align-items:center;width:96px;height:96px;animation:4s ease-in-out infinite loginFloat,3s ease-in-out infinite loginPulseGlow;display:flex}.login-hero-title{color:#fff;letter-spacing:-.5px;text-shadow:0 2px 20px #0000004d;font-family:Poppins,sans-serif;font-size:44px;font-weight:800;line-height:1}.login-hero-tagline{color:#ffffffd9;max-width:340px;font-size:17px;font-weight:400;line-height:1.5}.login-hero-features{grid-template-columns:1fr 1fr;gap:12px;width:100%;max-width:340px;margin-top:12px;display:grid}.login-hero-feature{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#ffffffeb;background:#ffffff1a;border:1px solid #ffffff1f;border-radius:14px;align-items:center;gap:10px;padding:12px 16px;font-size:13px;font-weight:600;transition:background .25s,transform .25s;display:flex}.login-hero-feature:hover{background:#ffffff2e;transform:translateY(-2px)}.login-form-col{background:linear-gradient(#fff,#f8fafc);flex-shrink:0;justify-content:center;align-items:center;width:480px;padding:32px;display:flex;position:relative;overflow-y:auto}.login-card{width:100%;max-width:400px;animation:.6s ease-out loginSlideUp}.login-mobile-brand{color:#4f46e5;justify-content:center;align-items:center;gap:10px;margin-bottom:24px;font-family:Poppins,sans-serif;font-size:24px;font-weight:800;display:none}.login-card-header{margin-bottom:28px}.login-card-title{color:#0f172a;margin-bottom:6px;font-family:Poppins,sans-serif;font-size:28px;font-weight:700;line-height:1.2}.login-card-subtitle{color:#64748b;font-size:15px;font-weight:400}.login-form{flex-direction:column;gap:16px;display:flex}.login-field{flex-direction:column;gap:6px;display:flex}.login-label{color:#334155;text-transform:uppercase;letter-spacing:.4px;font-size:13px;font-weight:700;line-height:1.25}.login-input{color:#0f172a;background:#f8fafc;border:2px solid #e2e8f0;border-radius:14px;width:100%;padding:14px 16px;font-family:Nunito,sans-serif;font-size:15px;line-height:1.2;transition:border-color .25s,box-shadow .25s,background .25s}.login-input::placeholder{color:#94a3b8}.login-input:focus{background:#fff;border-color:#4f46e5;outline:none;box-shadow:0 0 0 4px #4f46e51f}.login-password-wrap{position:relative}.login-input-password{padding-right:48px}.login-toggle-password{color:#94a3b8;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;transition:color .2s;display:inline-flex;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.login-toggle-password:hover{color:#4f46e5}.login-submit{color:#fff;cursor:pointer;background:linear-gradient(135deg,#4f46e5,#7c3aed,#2563eb);border:0;border-radius:14px;justify-content:center;align-items:center;gap:8px;width:100%;margin-top:8px;padding:15px 16px;font-family:Poppins,sans-serif;font-size:16px;font-weight:700;line-height:1;transition:transform .2s,box-shadow .2s,opacity .2s;display:inline-flex;box-shadow:0 4px 16px #4f46e559}.login-submit:hover{transform:translateY(-1px);box-shadow:0 6px 24px #4f46e573}.login-submit:active{transform:translateY(0)}.login-submit:disabled{opacity:.65;cursor:not-allowed;box-shadow:none;transform:none}.login-spinner{border:2.5px solid #fff;border-top-color:#0000;border-radius:50%;width:18px;height:18px;animation:.7s linear infinite spin}.login-demo-box{background:linear-gradient(135deg,#eef2ff,#f0f9ff);border:1px solid #e0e7ff;border-radius:16px;margin-top:28px;padding:18px}.login-demo-title{color:#4338ca;text-align:center;margin-bottom:12px;font-size:14px;font-weight:700}.login-demo-list{flex-direction:column;gap:8px;display:flex}.login-demo-item{background:#ffffffb3;border-radius:10px;justify-content:space-between;align-items:center;padding:8px 12px;font-size:13px;display:flex}.login-demo-item code{color:#475569;background:#f1f5f9;border-radius:6px;padding:3px 8px;font-family:JetBrains Mono,Fira Code,monospace;font-size:12px}.login-demo-role{text-transform:uppercase;letter-spacing:.5px;border-radius:20px;padding:3px 10px;font-size:11px;font-weight:700;display:inline-block}.login-demo-role.admin{color:#1e40af;background:#dbeafe}.login-demo-role.manager{color:#92400e;background:#fef3c7}.login-demo-role.kasir{color:#065f46;background:#d1fae5}.login-footer{text-align:center;color:#94a3b8;margin-top:28px;font-size:12px}@media(max-width:1023px){.login-hero{display:none}.login-form-col{background:linear-gradient(135deg,#0f172ae0,#4f46e5bf,#2563ebcc),url(/pos-bg.png) 50%/cover no-repeat;width:100%;min-height:100vh;padding:24px}.login-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffffff2;border:1px solid #ffffff4d;border-radius:24px;padding:32px;box-shadow:0 20px 60px #0000004d}.login-mobile-brand{display:flex}}.app-layout{height:100vh;display:flex;overflow:hidden}.mobile-overlay{z-index:40;background:#00000080;position:fixed;inset:0}.sidebar{z-index:50;color:#0f172a;background:#f8fafc;border-right:1px solid #e2e8f0;flex-direction:column;transition:width .3s,transform .3s;display:flex;position:fixed;top:0;bottom:0;left:0;overflow:hidden}.sidebar.expanded{width:256px}.sidebar.collapsed{width:80px}.sidebar.mobile-hidden{transform:translate(-100%)}.sidebar.mobile-visible{transform:translate(0)}@media(min-width:1024px){.sidebar{position:static;transform:none!important}}.sidebar-logo{background:linear-gradient(#fff,#f8fafc);border-bottom:1px solid #e2e8f0;align-items:center;gap:12px;padding:14px 14px 12px;display:flex}.sidebar-logo-icon{color:#fff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:18px;font-weight:700;display:flex;box-shadow:0 6px 16px #4f46e538}.sidebar-logo-icon.gradient-primary{background:linear-gradient(135deg,#4f46e5,#7c3aed)!important}.sidebar-logo-image{object-fit:contain;background:#fff;border:1px solid #e2e8f0;border-radius:10px;flex-shrink:0;width:40px;height:40px;padding:4px}.sidebar-logo-text h1{color:#0f172a;font-family:Poppins,sans-serif;font-size:18px;font-weight:700;line-height:1.2}.sidebar-logo-text p{color:#64748b;font-size:12px}.sidebar-nav{flex-direction:column;flex:1;gap:6px;padding:12px 10px 14px;display:flex;overflow-y:auto}.sidebar-parent-btn,.sidebar-link{color:#334155;cursor:pointer;background:0 0;border:none;border-radius:10px;align-items:center;gap:10px;width:100%;padding:10px 12px;font-size:14px;font-weight:500;line-height:1.35;text-decoration:none;transition:background .2s,color .2s,box-shadow .2s;display:flex}.sidebar-parent-label{text-align:left;flex:1}.sidebar-parent-chevron{color:#94a3b8}.sidebar-parent-btn:hover,.sidebar-link:hover{color:#0f172a;background:#eef2f7}.sidebar-parent-btn.is-open,.sidebar-link.is-active{color:#4338ca;background:#eef2ff;box-shadow:inset 3px 0 #4f46e5}.sidebar-parent-btn.is-collapsed,.sidebar-link.is-collapsed{justify-content:center}.sidebar-sub-menu{border-left:1px solid #e2e8f0;flex-direction:column;gap:2px;margin-top:4px;margin-left:10px;padding-left:8px;display:flex}.sidebar-child-link{color:#475569;border-radius:9px;align-items:center;gap:10px;padding:8px 10px;font-size:13px;text-decoration:none;transition:background .2s,color .2s;display:flex}.sidebar-child-link:hover{color:#0f172a;background:#eef2f7}.sidebar-child-link.is-active{color:#4338ca;background:#eef2ff;font-weight:600}.sidebar-footer{background:#fff;border-top:1px solid #e2e8f0;padding:14px}.sidebar-user{align-items:center;gap:12px;display:flex}.sidebar-user-avatar{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:14px;font-weight:700;display:flex}.sidebar-user-info p:first-child{color:#0f172a;white-space:nowrap;text-overflow:ellipsis;max-width:160px;font-size:14px;font-weight:600;overflow:hidden}.sidebar-user-info p:last-child{color:#64748b;text-transform:capitalize;font-size:12px}.sidebar-logout{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:9px;align-items:center;gap:8px;width:100%;margin-top:12px;padding:8px 12px;font-size:14px;transition:background .2s,color .2s;display:flex}.sidebar-logout:hover{color:#dc2626;background:#fef2f2}.sidebar-profile{color:#4f46e5;cursor:pointer;background:#eef2ff;border:none;border-radius:9px;align-items:center;gap:8px;width:100%;margin-top:12px;padding:8px 12px;font-size:14px;transition:background .2s,color .2s;display:flex}.sidebar-profile:hover{color:#4338ca;background:#e0e7ff}.main-wrapper{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.top-bar{background:var(--bg-topbar);box-shadow:var(--shadow-sm);flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 24px;transition:background .3s;display:flex}.top-bar-left{align-items:center;gap:12px;display:flex}.top-bar-right{align-items:center;gap:16px;display:flex}.top-bar-btn{cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:8px;transition:background .15s;display:flex}.top-bar-btn:hover{background:var(--bg-card-hover)}.shift-status-badge{border:1px solid #0000;border-radius:999px;align-items:center;gap:6px;padding:5px 10px;font-size:12px;font-weight:700;display:inline-flex}.shift-status-badge.is-active{color:#047857;background:#ecfdf5;border-color:#a7f3d0}.shift-status-badge.is-stale{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.top-bar-user{align-items:center;gap:8px;display:flex}.top-bar-user-menu{position:relative}.top-bar-user-btn{color:var(--text-primary);cursor:pointer;background:0 0;border:none;border-radius:10px;align-items:center;gap:8px;padding:4px 6px;display:flex}.top-bar-user-btn:hover{background:var(--bg-card-hover)}.top-bar-user-dropdown{border:1px solid var(--border-color);background:var(--bg-card);min-width:190px;box-shadow:var(--shadow-md);z-index:70;border-radius:12px;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden}.top-bar-user-dropdown-item{width:100%;color:var(--text-secondary);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:8px;padding:10px 12px;font-size:14px;text-decoration:none;display:flex}.top-bar-user-dropdown-item:hover{background:var(--bg-card-hover);color:var(--text-primary)}.top-bar-user-dropdown-item.is-danger{color:#dc2626}.top-bar-user-dropdown-item.is-danger:hover{background:#fef2f2}.top-bar-avatar{color:#fff;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;font-weight:700;display:flex}.top-bar-name{color:var(--text-primary);font-size:14px;font-weight:500;line-height:1.2}.top-bar-user-info-col{flex-direction:column;align-items:flex-start;gap:1px;display:flex}.top-bar-role-label{text-transform:capitalize;color:var(--text-muted);font-size:11px;font-weight:600;line-height:1}.top-bar-user-dropdown-header{border-bottom:1px solid var(--border-color);align-items:center;gap:10px;padding:12px;display:flex}.role-badge{text-transform:uppercase;letter-spacing:.5px;border-radius:999px;margin-top:3px;padding:1px 8px;font-size:10px;font-weight:700;display:inline-block}.role-admin{color:#7c3aed;background:#ede9fe}.role-manager{color:#2563eb;background:#dbeafe}.role-kasir{color:#059669;background:#d1fae5}.dark .role-admin{color:#c4b5fd;background:#4c1d95}.dark .role-manager{color:#93c5fd;background:#1e3a5f}.dark .role-kasir{color:#6ee7b7;background:#064e3b}.notif-badge{color:#fff;pointer-events:none;background:#ef4444;border-radius:999px;justify-content:center;align-items:center;min-width:17px;height:17px;padding:0 4px;font-size:10px;font-weight:700;line-height:1;display:flex;position:absolute;top:2px;right:2px}.notif-dropdown{border:1px solid var(--border-color);background:var(--bg-card);width:340px;max-height:420px;box-shadow:var(--shadow-md);z-index:80;border-radius:14px;flex-direction:column;display:flex;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden}.notif-dropdown-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.notif-dropdown-list{max-height:360px;padding:4px 0;overflow-y:auto}.notif-item{color:var(--text-primary);border-left:3px solid #0000;align-items:flex-start;gap:10px;padding:10px 16px;text-decoration:none;transition:background .12s;display:flex}.notif-item:hover{background:var(--bg-card-hover)}.notif-item.notif-danger{border-left-color:#ef4444}.notif-item.notif-warning{border-left-color:#f59e0b}.notif-item.notif-info{border-left-color:#3b82f6}.notif-item-icon{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;margin-top:2px;display:flex}.notif-danger .notif-item-icon{color:#dc2626;background:#fef2f2}.notif-warning .notif-item-icon{color:#d97706;background:#fffbeb}.notif-info .notif-item-icon{color:#2563eb;background:#eff6ff}.dark .notif-danger .notif-item-icon{color:#fca5a5;background:#450a0a}.dark .notif-warning .notif-item-icon{color:#fcd34d;background:#451a03}.dark .notif-info .notif-item-icon{color:#93c5fd;background:#172554}.notif-item-body{flex:1;min-width:0}.notif-item-title{margin:0 0 2px;font-size:13px;font-weight:600}.notif-item-msg{color:var(--text-muted);margin:0;font-size:12px;line-height:1.4}@media(max-width:480px){.notif-dropdown{width:290px;right:-40px}.top-bar-user-info-col{display:none}}.page-content{background:var(--bg-body);flex:1;padding:24px;transition:background .3s;animation:.25s ease-out pageSlideIn;overflow-y:auto}@keyframes pageSlideIn{0%{opacity:.4;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.page-title{color:var(--text-primary);font-family:Poppins,sans-serif;font-size:24px;font-weight:700}.page-subtitle{color:var(--text-muted);margin-top:4px;font-size:14px}.stats-grid{grid-template-columns:repeat(1,1fr);gap:16px;margin-bottom:24px;display:grid}@media(min-width:640px){.stats-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.stats-grid{grid-template-columns:repeat(4,1fr)}}.stat-card{background:var(--bg-card);box-shadow:var(--shadow-sm);border-radius:12px;align-items:center;gap:16px;padding:20px;transition:background .3s;display:flex}.stat-card-icon{color:#fff;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.stat-card-label{color:var(--text-muted);font-size:14px}.stat-card-value{color:var(--text-primary);font-family:Poppins,sans-serif;font-size:28px;font-weight:700}.dashboard-grid{grid-template-columns:1fr;gap:24px;display:grid}@media(min-width:1024px){.dashboard-grid{grid-template-columns:1fr 1fr}}.dash-card{background:var(--bg-card);box-shadow:var(--shadow-sm);border-radius:12px;min-width:0;padding:24px;transition:background .3s}.dash-card-title{color:var(--text-primary);align-items:center;gap:8px;margin-bottom:16px;font-family:Poppins,sans-serif;font-size:16px;font-weight:600;display:flex}.chart-container{width:100%;min-width:0;height:256px}.empty-message{text-align:center;color:var(--text-light);padding:32px 0}.sp-modal-overlay{z-index:50;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.sp-modal-backdrop{background:#00000080;position:fixed;inset:0}.sp-modal-card{background:var(--bg-card);border-radius:16px;width:100%;max-height:90vh;transition:background .3s;animation:.25s ease-out fadeIn;position:relative;overflow-y:auto;box-shadow:0 20px 60px #00000040}.sp-modal-sm{max-width:448px}.sp-modal-md{max-width:512px}.sp-modal-lg{max-width:672px}.sp-modal-xl{max-width:896px}.sp-modal-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.sp-modal-header h3{color:var(--text-primary);font-family:Poppins,sans-serif;font-size:18px;font-weight:600}.sp-modal-close{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:4px;transition:background .15s;display:flex}.sp-modal-close:hover{background:var(--bg-card-hover);color:var(--text-primary)}.sp-modal-body{padding:24px}.sp-table-wrap{border:1px solid var(--border-color);background:var(--bg-card);border-radius:12px;transition:background .3s,border-color .3s;overflow-x:auto}.sp-table{border-collapse:collapse;width:100%;font-size:14px}.sp-table thead tr{background:var(--bg-table-head);border-bottom:2px solid var(--border-color)}.sp-table thead th{text-align:left;color:var(--text-secondary);white-space:nowrap;text-transform:uppercase;letter-spacing:.3px;padding:12px 16px;font-size:13px;font-weight:600}.sp-table tbody tr{border-bottom:1px solid var(--border-light);transition:background .15s}.sp-table tbody tr:last-child{border-bottom:none}.sp-table tbody tr:hover{background:var(--bg-card-hover)}.sp-table tbody td{color:var(--text-secondary);vertical-align:middle;padding:12px 16px}.sp-table-loading{justify-content:center;align-items:center;padding:48px 0;display:flex}.sp-table-spinner{border:4px solid #4f46e5;border-top-color:#0000;border-radius:50%;width:32px;height:32px;animation:.7s linear infinite spin}.sp-table-empty{text-align:center;color:var(--text-light);padding:48px 16px;font-size:14px}.sp-pagination{justify-content:center;align-items:center;gap:8px;margin-top:16px;display:flex}.sp-page-btn{border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;border-radius:8px;padding:6px 14px;font-size:13px;transition:background .15s,border-color .15s}.sp-page-btn:hover:not(:disabled){background:var(--bg-card-hover)}.sp-page-btn:disabled{opacity:.45;cursor:not-allowed}.sp-page-info{color:var(--text-muted);font-size:13px}.sp-badge{border-radius:9999px;align-items:center;padding:3px 10px;font-size:12px;font-weight:600;line-height:1.4;display:inline-flex}.sp-badge-default{color:var(--text-secondary);background:#f1f5f9}.sp-badge-primary{color:#4338ca;background:#eef2ff}.sp-badge-success{color:#059669;background:#ecfdf5}.sp-badge-danger{color:#dc2626;background:#fef2f2}.sp-badge-warning{color:#d97706;background:#fffbeb}.sp-badge-info{color:#2563eb;background:#eff6ff}.sp-card{background:var(--bg-card);box-shadow:var(--shadow-sm);border-radius:12px;padding:24px;transition:background .3s}.sp-page-header{flex-direction:column;gap:16px;margin-bottom:24px;display:flex}@media(min-width:640px){.sp-page-header{flex-direction:row;justify-content:space-between;align-items:center}}.sp-page-header h1{color:var(--text-primary);font-family:Poppins,sans-serif;font-size:24px;font-weight:700}.sp-page-header p{color:var(--text-muted);margin-top:4px;font-size:14px}.sp-field label{color:var(--text-secondary);margin-bottom:4px;font-size:13px;font-weight:600;display:block}.sp-input,.sp-select{border:1px solid var(--border-color);width:100%;color:var(--text-primary);background:var(--bg-input);border-radius:8px;padding:9px 12px;font-size:14px;transition:border-color .2s,box-shadow .2s}.sp-input:focus,.sp-select:focus{border-color:#4f46e5;outline:none;box-shadow:0 0 0 3px #4f46e526}.sp-input.error,.sp-select.error{border-color:#ef4444}.sp-field .sp-error{color:#ef4444;margin-top:2px;font-size:12px}.sp-btn{cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;gap:8px;font-weight:600;line-height:1;transition:opacity .2s,background .2s;display:inline-flex}.sp-btn:disabled{opacity:.55;cursor:not-allowed}.sp-btn-sm{padding:6px 12px;font-size:12px}.sp-btn-md{padding:9px 16px;font-size:14px}.sp-btn-lg{padding:12px 24px;font-size:16px}.sp-btn-primary{color:#fff;background:linear-gradient(135deg,#4f46e5,#7c3aed)}.sp-btn-primary:hover{opacity:.9}.sp-btn-secondary{background:var(--bg-card-hover);color:var(--text-secondary)}.sp-btn-secondary:hover{background:var(--border-color)}.sp-btn-danger{color:#fff;background:linear-gradient(135deg,#ef4444,#dc2626)}.sp-btn-danger:hover{opacity:.9}.sp-btn-success{color:#fff;background:linear-gradient(135deg,#10b981,#059669)}.sp-btn-success:hover{opacity:.9}.sp-btn-outline{border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-secondary)}.sp-btn-outline:hover{background:var(--bg-card-hover)}.sp-btn-warning{color:#fff;background:linear-gradient(135deg,#f59e0b,#d97706)}.sp-btn-warning:hover{opacity:.9}.sp-btn-spin{border:2px solid;border-top-color:#0000;border-radius:50%;width:16px;height:16px;animation:.7s linear infinite spin}.sp-stat-card{background:var(--bg-card);box-shadow:var(--shadow-sm);border-radius:12px;align-items:center;gap:16px;padding:20px;transition:background .3s;display:flex}.sp-stat-icon{color:#fff;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.sp-stat-label{color:var(--text-muted);font-size:14px}.sp-stat-value{color:var(--text-primary);font-family:Poppins,sans-serif;font-size:26px;font-weight:700}.sp-form-grid{grid-template-columns:1fr;gap:16px;display:grid}@media(min-width:640px){.sp-form-grid-2{grid-template-columns:1fr 1fr}}.sp-filter-bar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;display:flex}.sp-search-box{flex:1;min-width:200px;position:relative}.sp-search-box .sp-search-icon{color:var(--text-light);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.sp-search-input{border:1px solid var(--border-color);width:100%;color:var(--text-primary);background:var(--bg-input);border-radius:8px;padding:9px 12px 9px 38px;font-size:14px;transition:border-color .2s,box-shadow .2s}.sp-search-input:focus{border-color:#4f46e5;outline:none;box-shadow:0 0 0 3px #4f46e526}.sp-filter-select{border:1px solid var(--border-color);color:var(--text-primary);background:var(--bg-input);border-radius:8px;min-width:140px;padding:9px 12px;font-size:14px}.sp-filter-select:focus{border-color:#4f46e5;outline:none;box-shadow:0 0 0 3px #4f46e526}.sp-action-btns{gap:4px;display:flex}.sp-action-btn{cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:6px;transition:background .15s;display:flex}.sp-action-btn-edit{color:#3b82f6}.sp-action-btn-edit:hover{background:#eff6ff}.sp-action-btn-delete{color:#ef4444}.sp-action-btn-delete:hover{background:#fef2f2}.sp-action-btn-view{color:#10b981}.sp-action-btn-view:hover{background:#ecfdf5}.pos-layout{height:calc(100vh - 60px);display:flex;overflow:hidden}.pos-products{flex-direction:column;flex:1;gap:16px;padding:16px;display:flex;overflow-y:auto}.pos-cart{background:var(--bg-card);border-left:1px solid var(--border-color);flex-direction:column;flex-shrink:0;width:380px;display:flex}.pos-cart-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:16px;display:flex}.pos-cart-header h3{font-family:Poppins,sans-serif;font-size:16px;font-weight:600}.pos-cart-items{flex:1;padding:8px 0;overflow-y:auto}.pos-cart-item{border-bottom:1px solid var(--border-light);align-items:center;gap:12px;padding:10px 16px;transition:background .15s;display:flex}.pos-cart-item:hover{background:var(--bg-card-hover)}.pos-cart-item-info{flex:1;min-width:0}.pos-cart-item-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.pos-cart-item-price{color:var(--text-muted);font-size:12px}.pos-cart-item-qty{align-items:center;gap:4px;display:flex}.pos-cart-item-qty button{border:1px solid var(--border-color);background:var(--bg-card);cursor:pointer;width:28px;height:28px;color:var(--text-secondary);border-radius:6px;justify-content:center;align-items:center;font-size:14px;font-weight:700;transition:background .15s;display:flex}.pos-cart-item-qty button:hover{background:var(--bg-card-hover)}.pos-cart-item-qty span{text-align:center;width:32px;font-size:14px;font-weight:600}.pos-cart-item-subtotal{color:var(--text-primary);text-align:right;min-width:80px;font-size:14px;font-weight:700}.pos-cart-item-remove{cursor:pointer;color:#ef4444;background:0 0;border:none;border-radius:6px;padding:4px;transition:background .15s}.pos-cart-item-remove:hover{background:#fef2f2}.pos-cart-empty{color:var(--text-light);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:8px;padding:32px;display:flex}.pos-cart-summary{border-top:1px solid var(--border-color);padding:16px}.pos-summary-row{color:var(--text-secondary);justify-content:space-between;align-items:center;padding:4px 0;font-size:14px;display:flex}.pos-summary-row.total{color:var(--text-primary);border-top:2px solid var(--border-color);margin-top:4px;padding:8px 0;font-family:Poppins,sans-serif;font-size:20px;font-weight:700}.pos-cart-actions{border-top:1px solid var(--border-color);flex-direction:column;gap:8px;padding:16px;display:flex}.pos-cart-actions .row{gap:8px;display:flex}.pos-product-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;display:grid}.pos-product-card{background:var(--bg-card);border:1px solid var(--border-color);cursor:pointer;text-align:center;border-radius:12px;flex-direction:column;align-items:center;gap:6px;padding:14px;transition:all .2s;display:flex}.pos-product-card:hover{border-color:#4f46e5;transform:translateY(-2px);box-shadow:0 4px 12px #4f46e526}.pos-product-card .name{color:var(--text-primary);font-size:13px;font-weight:600;line-height:1.3}.pos-product-card .price{color:#4f46e5;font-size:15px;font-weight:700}.pos-product-card .stock{color:var(--text-muted);font-size:11px}.pos-product-card .stock.low{color:#ef4444;font-weight:600}.pos-payment-grid{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:16px;display:grid}.pos-payment-btn{border:1px solid var(--border-color);background:var(--bg-card);cursor:pointer;text-align:center;color:var(--text-secondary);border-radius:10px;padding:10px;font-size:13px;font-weight:600;transition:all .2s}.pos-payment-btn:hover{color:#4f46e5;border-color:#4f46e5}.pos-payment-btn.active{color:#4f46e5;background:#eef2ff;border-color:#4f46e5}.pos-numpad{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.pos-numpad button{border:1px solid var(--border-color);background:var(--bg-card);cursor:pointer;color:var(--text-primary);border-radius:10px;padding:14px;font-size:18px;font-weight:700;transition:background .15s}.pos-numpad button:hover{background:var(--bg-card-hover)}@media(max-width:767px){.page-content{padding:16px 12px}.top-bar{padding:10px 12px}.top-bar-name{display:none}.sp-page-header{gap:12px}.sp-page-header h1{font-size:20px}.sp-modal-overlay{align-items:flex-end;padding:0}.sp-modal-card{border-radius:16px 16px 0 0;max-height:92vh;max-width:100%!important}.sp-modal-body{padding:16px}.sp-modal-header{padding:14px 16px}.sp-table thead{display:none}.sp-table tbody tr{border-bottom:1px solid var(--border-light);flex-direction:column;gap:6px;padding:12px 16px;display:flex}.sp-table tbody td{justify-content:space-between;align-items:center;padding:0;font-size:13px;display:flex}.sp-table tbody td:before{content:attr(data-label);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.3px;flex-shrink:0;margin-right:12px;font-size:12px;font-weight:600}.sp-table-wrap{border-radius:8px}.stats-grid{gap:10px;margin-bottom:16px}.stat-card{gap:12px;padding:14px}.stat-card-icon{width:40px;height:40px}.stat-card-value{font-size:22px}.sp-stat-card{gap:12px;padding:14px}.sp-stat-icon{width:40px;height:40px}.sp-stat-value,.page-title{font-size:20px}.dash-card{padding:16px}.chart-container{height:200px}.sp-filter-bar{flex-direction:column;align-items:stretch}.sp-search-box{min-width:auto}.sp-filter-select{width:100%;min-width:auto}.sp-btn-lg{justify-content:center;width:100%}.sp-card{border-radius:10px;padding:16px}.sp-pagination{flex-direction:column;gap:8px}.sp-page-btn{text-align:center;width:100%}.sp-form-grid-2{grid-template-columns:1fr!important}.pos-layout{flex-direction:column}.pos-cart{width:100%;max-height:50vh}.pos-product-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}}@media(max-width:479px){.page-content{padding:12px 8px}.sp-page-header h1{font-size:18px}.sp-modal-body{padding:12px}.login-form-col{padding:16px}.login-card-title{font-size:22px}.sidebar-logo-text h1{font-size:16px}}@media(min-width:768px)and (max-width:1023px){.sp-modal-card{max-height:85vh}.stats-grid{grid-template-columns:repeat(2,1fr)}.pos-cart{width:320px}}@media(min-width:768px){.sp-table tbody tr{cursor:default}.sp-table tbody tr:hover{background:var(--bg-card-hover)}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}
