@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,400&display=swap";@import "https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600&display=swap";:root{--glass-white:#ffffff1f;--glass-white-md:#ffffff2e;--glass-white-lg:#ffffff40;--glass-dark:#00000040;--glass-dark-md:#0006;--glass-border:#ffffff38;--glass-border-subtle:#ffffff1f;--glass-blur:blur(20px) saturate(180%);--glass-blur-md:blur(14px) saturate(160%);--glass-blur-sm:blur(8px) saturate(140%);--bg-primary:#00140866;--bg-secondary:#00190a59;--bg-surface:#ffffff12;--bg-card:#ffffff1a;--bg-hover:#00e6761a;--bg-input:#ffffff1a;--border:#ffffff2e;--border-focus:#00e67699;--border-3d:#ffffff26;--green:#00e676;--green-dark:#00c853;--green-light:#b9f6ca;--green-glow:#00e67659;--blue:#4fc3f7;--blue-mid:#29b6f6;--blue-light:#e1f5fe;--blue-deep:#0277bd;--blue-glow:#4fc3f759;--teal:#26c6da;--teal-glow:#26c6da4d;--purple:#b39ddb;--purple-deep:#7e57c2;--amber:#ffca28;--red:#ef5350;--red-glow:#ef535059;--text-primary:#fffffff2;--text-secondary:#ffffffbf;--text-muted:#ffffff80;--text-inverse:#000000d9;--font:"Plus Jakarta Sans", "Inter", system-ui, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", monospace;--radius-sm:8px;--radius:16px;--radius-lg:20px;--radius-xl:28px;--radius-full:9999px;--shadow-glass:0 8px 32px #0000004d, 0 2px 8px #0003, inset 0 1px 0 #ffffff40;--shadow-glass-lg:0 20px 60px #0006, 0 4px 16px #00000040, inset 0 1px 0 #ffffff4d;--shadow-glass-sm:0 4px 16px #0003, 0 1px 4px #00000026, inset 0 1px 0 #fff3;--shadow-glow-green:0 0 24px #00e67680, 0 0 48px #00e67633;--shadow-glow-blue:0 0 24px #4fc3f780, 0 0 48px #4fc3f733;--shadow-glow-teal:0 0 24px #26c6da80, 0 0 48px #26c6da33;--shadow-btn:0 4px 20px #00000059, 0 1px 4px #00000040;--sidebar-w:265px;--sidebar-collapsed:72px;--transition:.2s cubic-bezier(.4,0,.2,1);--transition-slow:.4s cubic-bezier(.4,0,.2,1);--transition-spring:.35s cubic-bezier(.34,1.56,.64,1);--transition-glass:.3s cubic-bezier(.4,0,.2,1);--danger:var(--red);--warning:var(--amber);--primary:var(--green);--secondary:var(--blue-mid);--info:var(--teal)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;height:100%}body{font-family:var(--font);color:var(--text-primary);background-color:#0000;background-image:linear-gradient(#00140a85 0%,#051e0f61 40%,#000f087a 100%),url(/bg.png);background-position:0 0,50%;background-repeat:repeat,no-repeat;background-size:auto,cover;background-attachment:fixed;background-origin:padding-box,padding-box;background-clip:border-box,border-box;min-height:100vh;font-size:14px;line-height:1.6;overflow-x:hidden}body:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(80% 60% at 20% 10%,#00b4501a 0%,#0000 60%),radial-gradient(60% 50% at 80% 80%,#64c87814 0%,#0000 60%),radial-gradient(50% 40% at 50% 10%,#b4dc640f 0%,#0000 70%);position:fixed;inset:0}a{color:var(--green);text-decoration:none}button{cursor:pointer;font-family:var(--font)}input,select,textarea{font-family:var(--font)}*{outline:none}:focus-visible{outline-offset:2px;outline:2px solid #00e67699}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:#ffffff0a}::-webkit-scrollbar-thumb{background:#fff3;border-radius:99px}::-webkit-scrollbar-thumb:hover{background:#ffffff59}.glass{background:var(--glass-white);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--shadow-glass)}.glass-dark{background:var(--glass-dark);-webkit-backdrop-filter:var(--glass-blur);box-shadow:var(--shadow-glass);border:1px solid #ffffff14}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes glassAppear{0%{opacity:0;-webkit-backdrop-filter:blur();backdrop-filter:blur();transform:scale(.96)translateY(12px)}to{opacity:1;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);transform:scale(1)translateY(0)}}@keyframes shimmer{0%{background-position:-200%}to{background-position:200%}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes pulse-glow{0%,to{box-shadow:0 0 12px #00e6764d}50%{box-shadow:0 0 24px #00e67699,0 0 48px #00e67633}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.btn{border-radius:var(--radius-full);letter-spacing:.2px;transition:all var(--transition-spring);white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;padding:8px 18px;font-size:13px;font-weight:700;display:inline-flex;position:relative;overflow:hidden}.btn:before{content:"";background:linear-gradient(90deg,#0000,#ffffff2e,#0000);width:100%;height:100%;transition:left .4s;position:absolute;top:0;left:-100%}.btn:hover:before{left:100%}.btn-primary{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#001a08;background:linear-gradient(135deg,#00c853d9,#00e676b3);border-color:#00e67680;font-weight:800;box-shadow:0 4px 20px #00c85366,inset 0 1px #ffffff4d}.btn-primary:hover{background:linear-gradient(135deg,#00e676f2,#00c853d9);transform:translateY(-2px);box-shadow:0 6px 28px #00c8538c,0 0 40px #00c85333,inset 0 1px #fff6}.btn-primary:active{transform:translateY(0)}.btn-secondary{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#001428;background:linear-gradient(135deg,#29b6f6b3,#4fc3f78c);border-color:#4fc3f780;font-weight:800;box-shadow:0 4px 20px #29b6f659,inset 0 1px #ffffff4d}.btn-secondary:hover{transform:translateY(-2px);box-shadow:0 6px 28px #29b6f680,inset 0 1px #fff6}.btn-ghost{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--text-primary);background:#ffffff14;border-color:#ffffff2e}.btn-ghost:hover{background:#ffffff29;border-color:#ffffff4d;transform:translateY(-1px)}.btn-danger,.btn-red{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;background:linear-gradient(135deg,#ef5350bf,#e5393599);border-color:#ef535080;box-shadow:0 4px 20px #ef535059}.btn-danger:hover,.btn-red:hover{transform:translateY(-2px);box-shadow:0 6px 28px #ef535080}.btn-amber{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#1a1000;background:linear-gradient(135deg,#ffca28cc,#ffb300a6);border-color:#ffca2880;font-weight:800;box-shadow:0 4px 20px #ffb30059}.btn-amber:hover{transform:translateY(-2px)}.btn-sm{padding:5px 12px;font-size:12px}.btn-lg{padding:12px 28px;font-size:15px}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none!important}.card{-webkit-backdrop-filter:var(--glass-blur);border-radius:var(--radius-lg);box-shadow:var(--shadow-glass);transition:all var(--transition);background:#ffffff1a;border:1px solid #fff3;animation:.4s glassAppear;position:relative;overflow:hidden}.card:before{content:"";background:linear-gradient(90deg,#0000 0%,#ffffff80 30%,#00e67699 50%,#4fc3f780 70%,#0000 100%);height:1px;position:absolute;top:0;left:0;right:0}.card:hover{border-color:#ffffff4d;transform:translateY(-1px);box-shadow:0 12px 40px #00000059,inset 0 1px #ffffff59}.card-header{border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;padding:18px 20px 14px;display:flex}.card-title{color:var(--text-primary);align-items:center;gap:8px;font-size:15px;font-weight:700;display:flex}.card-body{padding:20px}.stats-grid{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px;display:grid}.stat-card{-webkit-backdrop-filter:var(--glass-blur);border-radius:var(--radius-lg);transition:all var(--transition-spring);box-shadow:var(--shadow-glass-sm);background:#ffffff1a;border:1px solid #fff3;padding:20px;position:relative;overflow:hidden}.stat-card:before{content:"";background:linear-gradient(90deg,#0000,#ffffff80,#0000);height:1px;position:absolute;top:0;left:0;right:0}.stat-card.green{border-top:2px solid #00e676b3}.stat-card.blue{border-top:2px solid #4fc3f7b3}.stat-card.red{border-top:2px solid #ef5350b3}.stat-card.amber{border-top:2px solid #ffca28b3}.stat-card.green:after{content:"";pointer-events:none;background:radial-gradient(circle at 80% 20%,#00e67614 0%,#0000 60%);position:absolute;inset:0}.stat-card.blue:after{content:"";pointer-events:none;background:radial-gradient(circle at 80% 20%,#4fc3f714 0%,#0000 60%);position:absolute;inset:0}.stat-card.red:after{content:"";pointer-events:none;background:radial-gradient(circle at 80% 20%,#ef535014 0%,#0000 60%);position:absolute;inset:0}.stat-card.amber:after{content:"";pointer-events:none;background:radial-gradient(circle at 80% 20%,#ffca2814 0%,#0000 60%);position:absolute;inset:0}.stat-card:hover{box-shadow:var(--shadow-glass-lg);transform:translateY(-3px)}.stat-icon{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;margin-bottom:14px;font-size:20px;display:flex}.stat-card.green .stat-icon{background:#00e6762e;border:1px solid #00e6764d}.stat-card.blue .stat-icon{background:#4fc3f72e;border:1px solid #4fc3f74d}.stat-card.red .stat-icon{background:#ef53502e;border:1px solid #ef53504d}.stat-card.amber .stat-icon{background:#ffca282e;border:1px solid #ffca284d}.stat-label{letter-spacing:.8px;text-transform:uppercase;color:var(--text-muted);margin-bottom:6px;font-size:10.5px;font-weight:600}.stat-value{color:var(--text-primary);letter-spacing:-.5px;font-size:22px;font-weight:900;line-height:1.2}.stat-sub{color:var(--text-muted);margin-top:4px;font-size:11px}.form-group{margin-bottom:14px}.form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.form-label{color:#ffffffb3;letter-spacing:.3px;margin-bottom:6px;font-size:12px;font-weight:600;display:block}.form-label.required:after{content:" *";color:var(--red)}.form-input,.form-select,.form-textarea{-webkit-backdrop-filter:blur(10px);border-radius:var(--radius);width:100%;color:var(--text-primary);font-size:13.5px;font-family:var(--font);transition:all var(--transition);background:#ffffff1a;border:1px solid #fff3;padding:10px 14px}.form-input::placeholder{color:#ffffff4d}.form-input:focus,.form-select:focus,.form-textarea:focus{background:#ffffff26;border-color:#00e67699;box-shadow:0 0 0 3px #00e67626,0 4px 12px #0003}.form-select option{color:#fff;background:#1a2a4a}.form-textarea{resize:vertical;min-height:80px}.form-input-sm{border-radius:var(--radius-sm);padding:6px 10px;font-size:12.5px}.filter-bar{border-bottom:1px solid #ffffff14;flex-wrap:wrap;align-items:center;gap:10px;padding:14px 20px;display:flex}.search-input-wrapper{flex:1;min-width:200px;position:relative}.search-icon{pointer-events:none;opacity:.6;font-size:15px;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.search-input{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:var(--radius-full);width:100%;color:var(--text-primary);font-size:13.5px;font-family:var(--font);transition:all var(--transition);background:#ffffff14;border:1px solid #ffffff26;padding:9px 14px 9px 38px}.search-input::placeholder{color:#ffffff59}.search-input:focus{background:#ffffff21;border-color:#00e67680;box-shadow:0 0 0 3px #00e6761f}.table-container{border-radius:0 0 var(--radius-lg) var(--radius-lg);overflow-x:auto}.data-table{border-collapse:collapse;width:100%}.data-table thead th{text-transform:uppercase;letter-spacing:.8px;color:#ffffff80;text-align:left;white-space:nowrap;background:#ffffff0f;border-bottom:1px solid #ffffff1f;padding:12px 16px;font-size:10.5px;font-weight:700}.data-table tbody tr{transition:background var(--transition);border-bottom:1px solid #ffffff0d}.data-table tbody tr:hover{background:#ffffff0f}.data-table tbody tr:last-child{border-bottom:none}.data-table tbody td{color:var(--text-primary);vertical-align:middle;padding:12px 16px;font-size:13.5px}.data-table tbody td.muted{color:var(--text-muted);font-size:12px}.data-table tfoot td{color:var(--green);background:#00e6760f;border-top:1px solid #00e67633;padding:12px 16px;font-size:13.5px;font-weight:800}.badge{border-radius:var(--radius-full);letter-spacing:.2px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);align-items:center;gap:3px;padding:3px 10px;font-size:11px;font-weight:700;display:inline-flex}.badge-green{color:#69f0ae;background:#00e6762e;border:1px solid #00e67659}.badge-blue{color:#b3e5fc;background:#4fc3f72e;border:1px solid #4fc3f759}.badge-amber{color:#ffe57f;background:#ffca282e;border:1px solid #ffca2859}.badge-red{color:#ffcdd2;background:#ef53502e;border:1px solid #ef535059}.badge-gray{color:#ffffff80;background:#ffffff1a;border:1px solid #ffffff26}.badge-cyan{color:#b2ebf2;background:#26c6da2e;border:1px solid #26c6da59}.badge-purple{color:#e1bee7;background:#b39ddb2e;border:1px solid #b39ddb59}.modal-overlay{-webkit-backdrop-filter:blur(6px);z-index:9000;background:#00000061;justify-content:center;align-items:center;padding:20px;animation:.2s fadeInUp;display:flex;position:fixed;inset:0}.modal{-webkit-backdrop-filter:blur(32px)saturate(200%);border-radius:var(--radius-xl);background:#001e0c8c;border:1px solid #fff3;flex-direction:column;width:100%;max-width:560px;max-height:85vh;animation:.35s cubic-bezier(.34,1.56,.64,1) glassAppear;display:flex;position:relative;overflow:hidden;box-shadow:0 24px 60px #0006,inset 0 1px #fff3}.modal:before{content:"";background:linear-gradient(90deg, var(--green), var(--blue-mid), var(--purple));height:2px;position:absolute;top:0;left:0;right:0}.modal-sm{max-width:420px}.modal-lg{max-width:720px}.modal-xl{max-width:900px}.modal-header{background:#ffffff0a;border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;padding:20px 24px 16px;display:flex}.modal-title{color:var(--text-primary);letter-spacing:-.2px;font-size:16px;font-weight:800}.modal-close{cursor:pointer;width:30px;height:30px;color:var(--text-secondary);transition:all var(--transition);background:#ffffff14;border:1px solid #ffffff26;border-radius:50%;justify-content:center;align-items:center;font-size:14px;display:flex}.modal-close:hover{color:var(--red);background:#ef535033;border-color:#ef535066}.modal-body{flex:1;padding:20px 24px;overflow-y:auto}.modal-footer{background:#ffffff08;border-top:1px solid #ffffff1a;justify-content:flex-end;gap:10px;padding:16px 24px;display:flex}.amount{font-variant-numeric:tabular-nums;font-weight:700;font-family:var(--font-mono)}.spinner{border:2px solid #ffffff26;border-top-color:var(--green);border-radius:50%;width:20px;height:20px;animation:.7s linear infinite spin;display:inline-block}.toast-container{z-index:99999;flex-direction:column;gap:8px;display:flex;position:fixed;top:20px;right:20px}.toast{-webkit-backdrop-filter:blur(24px)saturate(180%);border-radius:var(--radius);color:var(--text-primary);background:#001e0cc7;border:1px solid #ffffff2e;align-items:center;gap:10px;max-width:340px;padding:12px 18px 12px 14px;font-size:13.5px;font-weight:600;animation:.3s fadeInUp;display:flex;box-shadow:0 8px 32px #0000004d}.toast.success{border-left:3px solid var(--green)}.toast.error{border-left:3px solid var(--red)}.toast.warning{border-left:3px solid var(--amber)}.toast.info{border-left:3px solid var(--blue)}.stok-bar{border-radius:var(--radius-full);background:#ffffff1a;height:4px;overflow:hidden}.stok-bar-fill{border-radius:var(--radius-full);height:100%;transition:width .6s}.stok-bar-fill.high{background:linear-gradient(90deg, var(--green-dark), var(--green))}.stok-bar-fill.medium{background:linear-gradient(90deg, var(--amber), #ffca28)}.stok-bar-fill.low{background:linear-gradient(90deg, var(--red), #ef9a9a)}.hover-row{cursor:pointer;transition:background var(--transition)}.hover-row:hover{background:#ffffff0f}.empty-state{color:var(--text-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:60px 20px;display:flex}.empty-icon{opacity:.6;font-size:48px;animation:3s ease-in-out infinite float}.chart-card{padding:20px}.chart-title{color:var(--text-primary);margin-bottom:16px;font-size:14px;font-weight:700}.quick-actions{grid-template-columns:1fr 1fr;gap:10px;padding:16px;display:grid}.quick-action-btn{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:var(--radius);cursor:pointer;transition:all var(--transition-spring);text-align:center;color:var(--text-secondary);font-size:12px;font-weight:600;font-family:var(--font);background:#ffffff14;border:1px solid #ffffff29;flex-direction:column;align-items:center;gap:7px;padding:14px 12px;display:flex}.quick-action-btn:hover{color:var(--text-primary);background:#ffffff24;border-color:#00e67666;transform:translateY(-2px);box-shadow:0 6px 20px #00000040}.qa-icon{font-size:24px}.nota-view{color:#000;background:#fff;max-width:800px;margin:0 auto}.nota-header-bar{background:linear-gradient(90deg,#00c853,#1976d2,#d32f2f);padding:3px 0}.amount{font-variant-numeric:tabular-nums;font-weight:700}.amount.positive{color:#69f0ae}.amount.negative{color:#ff8a80}.app-layout{z-index:1;height:100vh;display:flex;position:relative;overflow:hidden}.sidebar{width:var(--sidebar-w);-webkit-backdrop-filter:blur(28px)saturate(200%);height:100vh;transition:width var(--transition-slow);z-index:100;background:#00190a61;border-right:1px solid #ffffff26;flex-direction:column;flex-shrink:0;display:flex;position:relative;overflow:hidden;box-shadow:2px 0 24px #00000040,inset -1px 0 #ffffff14}.sidebar:after{content:"";opacity:.7;pointer-events:none;background:linear-gradient(#00e676b3 0%,#b4dc5080 50%,#00e6764d 100%);border-radius:2px;width:1.5px;position:absolute;top:8%;bottom:8%;right:0}.sidebar.sidebar-collapsed{width:var(--sidebar-collapsed)}.sidebar.sidebar-collapsed .logo-name,.sidebar.sidebar-collapsed .logo-subtitle,.sidebar.sidebar-collapsed .nav-label,.sidebar.sidebar-collapsed .nav-section-label{display:none}.sidebar.sidebar-collapsed .nav-item{justify-content:center;padding:10px 0}.sidebar.sidebar-collapsed .nav-icon{justify-content:center;width:100%;font-size:20px}.sidebar.sidebar-collapsed .sidebar-toggle span{display:none}.sidebar.sidebar-collapsed .sidebar-toggle{justify-content:center;width:36px;min-width:36px;padding:0}.sidebar.sidebar-collapsed .logout-btn span:last-child,.sidebar.sidebar-collapsed .theme-toggle span:last-child{display:none}.sidebar.sidebar-collapsed .theme-toggle{justify-content:center;padding:6px}.sidebar.sidebar-collapsed .logout-btn{justify-content:center;min-width:0;padding:6px}.sidebar-header{background:#001e0a26;border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;min-height:72px;padding:16px;display:flex;position:relative}.sidebar-logo{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.logo-icon{filter:drop-shadow(0 0 8px #00e67699);flex-shrink:0;font-size:26px;animation:4s ease-in-out infinite float}.logo-name{background:linear-gradient(135deg,#00e676,#29b6f6,#b39ddb);-webkit-text-fill-color:transparent;white-space:nowrap;letter-spacing:.3px;-webkit-background-clip:text;background-clip:text;font-size:14px;font-weight:900}.logo-subtitle{color:#ffffffb3;letter-spacing:.5px;text-shadow:0 1px 4px #000000b3;font-size:9.5px}.sidebar-toggle{border-radius:var(--radius-full);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer;color:#69f0ae;min-width:32px;height:32px;transition:all var(--transition-spring);white-space:nowrap;background:#00e67626;border:1px solid #00e67666;flex-shrink:0;justify-content:center;align-items:center;gap:4px;padding:0 10px;font-size:14px;font-weight:800;display:flex;box-shadow:0 2px 12px #00e67640}.sidebar-toggle:hover{background:#00e67647;border-color:#00e676b3;transform:scale(1.05);box-shadow:0 4px 20px #00e67666,0 0 30px #00e67626}.sidebar-nav{flex:1;padding:8px 0;overflow:hidden auto}.nav-section{margin-bottom:4px}.nav-section-label{letter-spacing:1.2px;text-transform:uppercase;opacity:.7;padding:10px 16px 4px;font-size:9.5px;font-weight:700}.nav-item{border-radius:var(--radius);cursor:pointer;transition:all var(--transition);color:#ffffffd9;text-shadow:0 1px 4px #0009;border:1px solid #0000;align-items:center;gap:10px;margin:1px 8px;padding:9px 14px;font-size:13px;font-weight:500;display:flex;position:relative}.nav-item:hover{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;text-shadow:0 1px 6px #000000b3;background:#00e6761a;border-color:#00e67633}.nav-item.active{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#69f0ae;text-shadow:0 0 12px #00e67680;background:#00e6762e;border-color:#00e67666;font-weight:700;box-shadow:inset 0 1px #ffffff26,0 2px 8px #0003}.nav-item.active:after{content:"";background:linear-gradient(#00e676,#b4dc50cc);border-radius:0 3px 3px 0;width:3px;position:absolute;top:20%;bottom:20%;left:0;box-shadow:0 0 8px #00e676cc}.nav-icon{flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:16px;display:flex}.nav-label{white-space:nowrap;overflow:hidden}.sidebar-footer{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#00140833;border-top:1px solid #ffffff1f;flex-direction:column;gap:8px;padding:12px;display:flex}.user-info{-webkit-backdrop-filter:blur(12px);border-radius:var(--radius);background:#00e67614;border:1px solid #00e67633;align-items:center;gap:10px;padding:10px;display:flex}.user-avatar{color:#001a0a;background:linear-gradient(135deg,#00c853,#29b6f6);border:2px solid #00e67680;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:14px;font-weight:900;display:flex;box-shadow:0 0 12px #00e67666}.user-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:700;overflow:hidden}.user-role{color:var(--text-muted);font-size:10.5px}.user-details{flex:1;overflow:hidden}.logout-btn{justify-content:center;width:100%;font-size:12px!important}.theme-toggle{border-radius:var(--radius);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#ffffffb3;cursor:pointer;width:100%;font-size:12px;font-weight:700;font-family:var(--font);transition:all var(--transition-spring);background:#ffffff0f;border:1px solid #ffffff26;justify-content:center;align-items:center;gap:8px;padding:8px 12px;display:flex}.theme-toggle:hover{color:var(--text-primary);background:#ffffff1f;border-color:#4fc3f766;transform:translateY(-1px)}.main-content{z-index:1;background:0 0;flex:1;position:relative;overflow-y:auto}.page{padding:24px;animation:.35s fadeInUp}.topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px;display:flex}.page-title{color:var(--text-primary);letter-spacing:-.5px;text-shadow:0 2px 20px #00000080;font-size:26px;font-weight:900}.page-subtitle{color:var(--text-muted);margin-top:2px;font-size:13px}.pos-layout{grid-template-columns:1fr 380px;gap:0;height:100%;display:grid;overflow:hidden}.pos-products-panel{border-right:1px solid #ffffff1a;padding:20px;overflow-y:auto}.pos-cart-panel{-webkit-backdrop-filter:blur(28px)saturate(200%);background:#00140859;border-left:1px solid #ffffff26;flex-direction:column;display:flex;overflow:hidden}.pos-grid{grid-template-columns:repeat(auto-fill,minmax(175px,1fr));gap:14px;padding-bottom:8px;display:grid}.product-card{-webkit-backdrop-filter:blur(12px)saturate(150%);border-radius:var(--radius);cursor:pointer;transition:all var(--transition-spring);background:#ffffff17;border:1px solid #ffffff2e;padding:16px;position:relative;overflow:hidden}.product-card:before{content:"";background:linear-gradient(90deg,#0000,#fff6,#0000);height:1px;position:absolute;top:0;left:0;right:0}.product-card:hover{background:#ffffff26;border-color:#00e67666;transform:translateY(-4px);box-shadow:0 10px 30px #0000004d,0 0 20px #00e6761a}.product-card.out-of-stock{opacity:.45;cursor:not-allowed}.prod-name{color:var(--text-primary);margin-bottom:6px;font-size:13.5px;font-weight:700}.prod-price{color:#69f0ae;margin-bottom:4px;font-size:13px;font-weight:800}.prod-stok{color:var(--text-muted);font-size:11px}.cart-customer{cursor:pointer;transition:background var(--transition);background:#ffffff0a;border-bottom:1px solid #ffffff1a;padding:14px 16px}.cart-customer:hover{background:#ffffff14}.cart-items{flex:1;padding:8px;overflow-y:auto}.cart-item{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:var(--radius);transition:all var(--transition);background:#ffffff12;border:1px solid #ffffff1f;margin-bottom:6px;padding:10px 12px}.cart-item:hover{border-color:#fff3}.cart-item-name{color:var(--text-primary);margin-bottom:8px;font-size:13px;font-weight:700}.cart-item-controls{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.cart-footer{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#001e0a33;border-top:1px solid #ffffff1f;padding:14px}.cart-total{border-radius:var(--radius);background:#00e67614;border:1px solid #00e67633;margin-bottom:12px;padding:12px 14px}.login-page{justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex;position:relative;overflow:hidden}.login-card{-webkit-backdrop-filter:blur(36px)saturate(200%);border-radius:var(--radius-xl);background:#001e0c94;border:1px solid #ffffff38;width:100%;max-width:440px;animation:.6s cubic-bezier(.34,1.56,.64,1) glassAppear;position:relative;overflow:hidden;box-shadow:0 32px 64px #0006,inset 0 1px #ffffff38}.login-card:before{content:"";background:linear-gradient(90deg, var(--green), var(--blue-mid), var(--purple));height:3px;position:absolute;top:0;left:0;right:0}.login-header{text-align:center;padding:36px 36px 24px}.login-logo{filter:drop-shadow(0 0 20px #00e67699);margin-bottom:12px;font-size:52px;animation:3s ease-in-out infinite float;display:block}.login-title{background:linear-gradient(135deg,#00e676 0%,#29b6f6 50%,#b39ddb 100%);-webkit-text-fill-color:transparent;letter-spacing:-.5px;-webkit-background-clip:text;background-clip:text;margin-bottom:4px;font-size:26px;font-weight:900}.login-subtitle{color:var(--text-muted);font-size:13px}.login-body{padding:0 36px 36px}.login-footer-text{text-align:center;color:var(--text-muted);margin-top:20px;font-size:11px}.dashboard-grid{grid-template-columns:1fr 380px;gap:20px;display:grid}.report-section{margin-bottom:28px}.report-title{letter-spacing:.5px;color:var(--text-secondary);text-transform:uppercase;border-bottom:1px solid #ffffff14;margin-bottom:12px;padding-bottom:8px;font-size:13px;font-weight:700}@media print{.sidebar,.topbar .btn,.btn,.modal-overlay{display:none!important}.main-content{overflow:visible}body{color:#000;background:#fff}.card{box-shadow:none;background:#fff;border:1px solid #ccc}.nota-view{max-width:100%}}@media (width<=1200px){.stats-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}}@media (width<=900px){.pos-layout{grid-template-columns:1fr;height:auto}.sidebar{width:var(--sidebar-collapsed)}.sidebar .logo-name,.sidebar .logo-subtitle,.sidebar .nav-label,.sidebar .nav-section-label{display:none}.sidebar .nav-item{justify-content:center}.stats-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=640px){.stats-grid,.form-row{grid-template-columns:1fr}.page{padding:16px}.modal{border-radius:var(--radius-lg)}}.owner-app.app-layout{flex-direction:column}@media (width<=900px){.owner-app .sidebar{z-index:1000;-webkit-backdrop-filter:blur(20px);background:#081028f2;border-top:1px solid #ffffff1a;border-right:none;height:auto;padding:0;position:fixed;bottom:0;left:0;box-shadow:0 -4px 20px #00000080;width:100%!important;transform:none!important}.owner-app .sidebar-header,.owner-app .sidebar-footer,.owner-app .nav-section-label{display:none!important}.owner-app .sidebar-nav{flex-direction:row;justify-content:space-around;align-items:center;height:65px;margin:0;padding:0;display:flex;overflow:visible}.owner-app .nav-section{border:none;flex-direction:row;justify-content:space-around;width:100%;margin:0;padding:0;display:flex}.owner-app .nav-item{border-radius:8px;flex-direction:column;justify-content:center;width:70px;margin:0;padding:8px;background:0 0!important}.owner-app .nav-item.active{background:#ffffff14!important;border-left:none!important}.owner-app .nav-icon{margin-bottom:2px;font-size:22px}.owner-app .nav-label{text-align:center;font-size:9px;line-height:1;display:block!important}.owner-app .main-content{padding-bottom:80px}}[data-theme=light] .data-table tbody td{color:#fffffff2}[data-theme=light] .card-title{color:var(--text-primary)}[data-theme=light] .page-title{color:var(--text-primary);text-shadow:0 2px 20px #0000004d}code{font-family:var(--font-mono);border-radius:var(--radius-sm);color:#b3e5fc;background:#ffffff1a;border:1px solid #ffffff1a;padding:2px 6px;font-size:12px}@media print{body>:not(#print-area){display:none!important}body{margin:0;padding:0;font-family:Arial,sans-serif;font-size:10pt;color:#000!important;background:#fff!important}#print-area{width:100%;margin:0;padding:0;display:block!important}}#print-area{color:#000;font-family:Arial,sans-serif;font-size:10pt;display:none}.nota-container{box-sizing:border-box;background:#fff;width:148mm;min-height:200mm;margin:0 auto;padding:8mm}.nota-header{border-bottom:2px solid #000;align-items:flex-start;gap:10px;margin-bottom:8px;padding-bottom:6px;display:flex}.nota-header img.logo{object-fit:contain;width:40px;height:40px}.nota-header .company-info{flex:1}.nota-header .company-info h2{text-transform:uppercase;margin:0 0 2px;font-size:12pt;font-weight:700}.nota-header .company-info p{color:#333;margin:0;font-size:8pt}.nota-header .doc-title{text-align:right}.nota-header .doc-title h3{color:#000;margin:0 0 2px;font-size:13pt;font-weight:700}.nota-header .doc-title .nomor{color:#444;font-size:9pt}.nota-meta{grid-template-columns:1fr 1fr;gap:2px 12px;margin-bottom:8px;font-size:8.5pt;display:grid}.nota-meta .meta-row{gap:4px;display:flex}.nota-meta .meta-label{color:#333;min-width:70px;font-weight:700}.nota-meta .meta-label:after{content:":"}.nota-table{border-collapse:collapse;width:100%;margin-bottom:8px;font-size:8.5pt}.nota-table th{color:#fff;text-align:left;background:#1a1a2e;border:1px solid #ccc;padding:4px 6px;font-weight:700}.nota-table td{vertical-align:top;border:1px solid #ccc;padding:4px 6px}.nota-table tr:nth-child(2n) td{background:#f8f8f8}.nota-table .text-right{text-align:right}.nota-table .text-center{text-align:center}.nota-totals{justify-content:flex-end;margin-bottom:8px;display:flex}.nota-totals table{border-collapse:collapse;font-size:9pt}.nota-totals td{padding:2px 8px}.nota-totals .label{text-align:right;color:#555}.nota-totals .value{text-align:right;min-width:90px;font-weight:700}.nota-totals .grand-total td{border-top:2px solid #000;padding-top:4px;font-size:10.5pt;font-weight:700}.nota-payment{background:#f0f0f0;border:1px solid #ccc;grid-template-columns:1fr 1fr;gap:2px 12px;margin-bottom:8px;padding:4px 8px;font-size:8.5pt;display:grid}.nota-notes{color:#555;border-left:3px solid #888;margin-bottom:10px;padding-left:6px;font-size:8pt;font-style:italic}.nota-signatures{grid-template-columns:1fr 1fr;gap:8px;margin-top:12px;display:grid}.signature-box{text-align:center;font-size:8pt}.signature-box .sig-title{margin-bottom:2px;font-weight:700}.signature-box .sig-line{border-bottom:1px solid #555;height:50px;margin:4px 8px}.signature-box .sig-name{color:#555;border-top:none;margin-top:2px;font-size:7.5pt}.nota-footer{color:#777;text-align:center;border-top:1px solid #ccc;margin-top:8px;padding-top:4px;font-size:7.5pt}.sj-container{box-sizing:border-box;background:#fff;width:190mm;min-height:270mm;margin:0 auto;padding:10mm}.sj-header{border-bottom:3px double #000;align-items:flex-start;gap:12px;margin-bottom:10px;padding-bottom:8px;display:flex}.sj-header img.logo{object-fit:contain;width:50px;height:50px}.sj-header .company-info h2{text-transform:uppercase;margin:0 0 2px;font-size:14pt;font-weight:700}.sj-header .company-info p{margin:0;font-size:8.5pt}.sj-header .doc-info{text-align:right;margin-left:auto}.sj-header .doc-info h3{text-transform:uppercase;letter-spacing:1px;margin:0;font-size:16pt;font-weight:700}.sj-header .doc-info .nomor{margin-top:2px;font-size:10pt}.sj-meta{background:#fafafa;border:1px solid #ccc;grid-template-columns:1fr 1fr;gap:4px 16px;margin-bottom:12px;padding:8px;font-size:9pt;display:grid}.sj-meta .meta-row{gap:4px;display:flex}.sj-meta .meta-label{min-width:90px;font-weight:700}.sj-meta .meta-label:after{content:":"}.sj-table{border-collapse:collapse;width:100%;margin-bottom:12px;font-size:9.5pt}.sj-table th{color:#fff;text-align:left;background:#1a1a2e;border:1px solid #555;padding:6px 8px}.sj-table td{border:1px solid #ccc;padding:5px 8px}.sj-table tr:nth-child(2n) td{background:#f5f5f5}.sj-table .total-row td{background:#eee;border-top:2px solid #555;font-weight:700}.sj-notes{margin-bottom:16px;font-size:8.5pt}.sj-notes label{margin-bottom:2px;font-weight:700;display:block}.sj-notes .notes-box{border:1px solid #ccc;min-height:30px;padding:4px;font-size:8.5pt}.sj-signatures{grid-template-columns:1fr 1fr 1fr;gap:8px;margin-top:16px;display:grid}.sj-sig-box{border:1px solid #ccc;padding:6px}.sj-sig-box .sig-title{text-align:center;border-bottom:1px solid #ccc;margin-bottom:4px;padding-bottom:4px;font-size:9pt;font-weight:700}.sj-sig-box .sig-space{height:60px}.sj-sig-box .sig-line{border-top:1px solid #333;margin:0 8px}.sj-sig-box .sig-name{text-align:center;min-height:16px;margin-top:4px;font-size:8pt}.sj-footer{text-align:center;color:#888;border-top:1px solid #ccc;margin-top:10px;padding-top:4px;font-size:7.5pt}.text-right{text-align:right}.text-center{text-align:center}.font-bold{font-weight:700}.text-small{font-size:8pt}@page{size:A4 portrait;margin:8mm}@page:first{margin-top:8mm}
