@import"https://fonts.googleapis.com/css2?family=Geist:wght@400;500;600&family=Geist+Mono:wght@400&display=swap";@import"https://fonts.googleapis.com/css2?family=Geist:wght@400;500;600&family=Geist+Mono:wght@400;500&display=swap";:root{--auth-font:"Geist",-apple-system,sans-serif;--auth-font-mono:"Geist Mono",monospace;--auth-bg:#f1f5f9;--auth-card-bg:#fff;--auth-card-border:#e2e8f0;--auth-sep:#f1f5f9;--auth-text-primary:#0f172a;--auth-text-secondary:#64748b;--auth-text-muted:#94a3b8;--auth-text-faint:#cbd5e1;--auth-label:#475569;--auth-input-border:#e2e8f0;--auth-input-border-hover:#94a3b8;--auth-input-border-focus:#3b82f6;--auth-input-focus-ring:rgba(59,130,246,.12);--auth-btn-bg:#2563eb;--auth-btn-bg-hover:#1d4ed8;--auth-btn-shadow:rgba(37,99,235,.22);--auth-btn-shadow-hover:rgba(37,99,235,.32);--auth-error-bg:#fef2f2;--auth-error-border:#fecaca;--auth-error-text:#dc2626;--auth-brand-gradient-from:#3b82f6;--auth-brand-gradient-to:#1d4ed8;--auth-brand-shadow:rgba(37,99,235,.28);--auth-radius-card:16px;--auth-radius-input:8px;--auth-radius-btn:8px;--auth-radius-icon:10px;--auth-radius-error:8px;--auth-card-shadow:0 2px 4px rgba(15,23,42,.04),0 8px 24px rgba(15,23,42,.06)}.auth-page{align-items:center;background:var(--auth-bg);display:flex;font-family:var(--auth-font);justify-content:center;min-height:100vh;overflow:hidden;position:relative}.auth-bg{inset:0;pointer-events:none;position:absolute;z-index:0}.auth-card-wrap{animation:auth-rise .38s cubic-bezier(.16,1,.3,1) both;max-width:408px;padding:20px 16px;position:relative;width:100%;z-index:1}@keyframes auth-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.auth-card{background:var(--auth-card-bg);border:1px solid var(--auth-card-border);border-radius:var(--auth-radius-card);box-shadow:var(--auth-card-shadow);padding:32px}.auth-brand{gap:11px;margin-bottom:20px}.auth-brand,.auth-brand-icon{align-items:center;display:flex}.auth-brand-icon{background:linear-gradient(150deg,var(--auth-brand-gradient-from),var(--auth-brand-gradient-to));border-radius:var(--auth-radius-icon);box-shadow:0 2px 8px var(--auth-brand-shadow);flex-shrink:0;height:38px;justify-content:center;width:38px}.auth-brand-name{color:var(--auth-text-primary);font-size:14.5px;font-weight:600;line-height:1.25;margin:0}.auth-brand-sub{color:var(--auth-text-muted);font-family:var(--auth-font-mono);font-size:11.5px;letter-spacing:.03em;margin:3px 0 0}.auth-sep{background:var(--auth-sep);height:1px}.auth-head,.auth-sep{margin-bottom:24px}.auth-title{color:var(--auth-text-primary);font-size:22px;font-weight:600;letter-spacing:-.4px;line-height:1.2;margin:0 0 5px}.auth-desc{color:var(--auth-text-secondary);font-size:13.5px;line-height:1.5;margin:0}.auth-fields{gap:16px;margin-bottom:16px}.auth-field,.auth-fields{display:flex;flex-direction:column}.auth-field{gap:6px}.auth-label{color:var(--auth-label);font-size:12.5px;font-weight:500;letter-spacing:.02em}.auth-pw-wrap{position:relative}.auth-pw-toggle,.auth-pw-wrap{align-items:center;display:flex}.auth-pw-toggle{background:none;border:none;border-radius:4px;color:var(--auth-text-muted);cursor:pointer;outline:none;padding:4px;position:absolute;right:10px;transition:color .15s}.auth-pw-toggle:hover{color:var(--auth-label)}.auth-pw-toggle:focus-visible{box-shadow:0 0 0 2px var(--auth-input-border-focus)}.auth-error{align-items:flex-start;background:var(--auth-error-bg);border:1px solid var(--auth-error-border);border-radius:var(--auth-radius-error);color:var(--auth-error-text);display:flex;font-size:13px;gap:8px;line-height:1.4;margin-bottom:14px;padding:10px 12px}.auth-err-enter-active,.auth-err-leave-active{transition:opacity .18s ease,transform .18s ease}.auth-err-enter-from,.auth-err-leave-to{opacity:0;transform:translateY(-4px)}.auth-foot{color:var(--auth-text-faint);font-family:var(--auth-font-mono);font-size:11px;letter-spacing:.04em;margin:24px 0 0;text-align:center}@media (max-width:440px){.auth-card{padding:24px 20px}}.auth-card .p-inputtext{border-color:var(--auth-input-border,#e2e8f0);border-radius:var(--auth-radius-input,8px);font-family:var(--auth-font,"Geist",sans-serif);font-size:14px;transition:border-color .15s,box-shadow .15s;width:100%}.auth-card .p-inputtext:enabled:hover{border-color:var(--auth-input-border-hover,#94a3b8)}.auth-card .p-inputtext:enabled:focus{border-color:var(--auth-input-border-focus,#3b82f6);box-shadow:0 0 0 3px var(--auth-input-focus-ring,rgba(59,130,246,.12))}.auth-card .auth-pw-wrap .p-inputtext{padding-right:40px}.auth-card .auth-submit-btn.p-button{background:var(--auth-btn-bg,#2563eb);border-color:var(--auth-btn-bg,#2563eb);border-radius:var(--auth-radius-btn,8px);box-shadow:0 1px 6px var(--auth-btn-shadow,rgba(37,99,235,.22));font-family:var(--auth-font,"Geist",sans-serif);font-size:14px;font-weight:500;height:42px;justify-content:center;transition:background .15s,transform .12s,box-shadow .15s;width:100%}.auth-card .auth-submit-btn.p-button:not(:disabled):hover{background:var(--auth-btn-bg-hover,#1d4ed8);border-color:var(--auth-btn-bg-hover,#1d4ed8);box-shadow:0 4px 14px var(--auth-btn-shadow-hover,rgba(37,99,235,.32));transform:translateY(-1px)}.auth-card .auth-submit-btn.p-button:not(:disabled):active{box-shadow:0 1px 4px var(--auth-btn-shadow,rgba(37,99,235,.2));transform:translateY(0)}.auth-card .auth-submit-btn.p-button:disabled{cursor:not-allowed;opacity:.6}:root{--dash-font:"Geist",-apple-system,sans-serif;--dash-font-mono:"Geist Mono",monospace;--sidebar-width:220px;--sidebar-bg:#0f172a;--sidebar-border:hsla(0,0%,100%,.06);--sidebar-text:hsla(0,0%,100%,.55);--sidebar-text-hover:hsla(0,0%,100%,.9);--sidebar-active-bg:hsla(0,0%,100%,.08);--sidebar-active-text:#fff;--sidebar-icon:hsla(0,0%,100%,.35);--sidebar-icon-active:hsla(0,0%,100%,.9);--sidebar-section:hsla(0,0%,100%,.25);--topbar-height:56px;--topbar-bg:#fff;--topbar-border:#e2e8f0;--topbar-text:#0f172a;--topbar-text-muted:#64748b;--content-bg:#f1f5f9;--content-padding:28px 32px}.dash-layout{background:var(--content-bg);font-family:var(--dash-font)}.dash-layout,.dash-sidebar{display:flex;min-height:100vh}.dash-sidebar{background:var(--sidebar-bg);border-right:1px solid var(--sidebar-border);bottom:0;flex-direction:column;left:0;position:fixed;top:0;transition:transform .25s ease;width:var(--sidebar-width);z-index:40}.sidebar-brand{align-items:center;border-bottom:1px solid var(--sidebar-border);display:flex;gap:10px;padding:18px 20px;text-decoration:none}.sidebar-brand-icon{align-items:center;background:linear-gradient(145deg,#3b82f6,#1d4ed8);border-radius:8px;box-shadow:0 2px 8px #2563eb66;display:flex;flex-shrink:0;height:32px;justify-content:center;width:32px}.sidebar-brand-name{color:#fff;font-size:14px;font-weight:600;letter-spacing:-.2px;line-height:1.2}.sidebar-brand-sub{color:#ffffff4d;font-family:var(--dash-font-mono);font-size:10px;letter-spacing:.04em;margin-top:1px}.sidebar-nav{flex:1;overflow-y:auto;padding:12px 0}.sidebar-section-label{color:var(--sidebar-section);font-size:10px;font-weight:600;letter-spacing:.1em;padding:12px 20px 6px;text-transform:uppercase}.sidebar-item{align-items:center;border-radius:0;color:var(--sidebar-text);cursor:pointer;display:flex;font-size:13.5px;font-weight:400;gap:10px;padding:9px 20px;position:relative;text-decoration:none;transition:color .15s,background .15s}.sidebar-item svg{color:var(--sidebar-icon);flex-shrink:0;transition:color .15s}.sidebar-item:hover{background:var(--sidebar-active-bg);color:var(--sidebar-text-hover)}.sidebar-item:hover svg{color:var(--sidebar-icon-active)}.sidebar-item.active{background:var(--sidebar-active-bg);color:var(--sidebar-active-text);font-weight:500}.sidebar-item.active svg{color:var(--sidebar-icon-active)}.sidebar-item.active:before{background:#3b82f6;border-radius:0 2px 2px 0;bottom:6px;content:"";left:0;position:absolute;top:6px;width:3px}.sidebar-badge{background:#ef444426;border-radius:99px;color:#f87171;font-size:10.5px;font-weight:600;margin-left:auto;min-width:18px;padding:1px 6px;text-align:center}.sidebar-footer{border-top:1px solid var(--sidebar-border);display:flex;flex-direction:column;gap:4px;padding:16px 20px}.sidebar-user{gap:10px;padding:8px 0}.sidebar-avatar,.sidebar-user{align-items:center;display:flex}.sidebar-avatar{background:linear-gradient(145deg,#3b82f6,#1d4ed8);border-radius:50%;color:#fff;flex-shrink:0;font-size:12px;font-weight:600;height:30px;justify-content:center;text-transform:uppercase;width:30px}.sidebar-user-info{flex:1;min-width:0}.sidebar-username{color:#ffffffd9;font-size:12.5px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-role{color:#ffffff4d;font-size:10.5px;letter-spacing:.03em;text-transform:capitalize}.sidebar-logout{align-items:center;background:none;border:none;color:#ffffff59;cursor:pointer;display:flex;font-family:var(--dash-font);font-size:12.5px;gap:8px;padding:8px 0;text-align:left;transition:color .15s;width:100%}.sidebar-logout:hover{color:#f87171}.sidebar-logout svg{flex-shrink:0}.dash-topbar{background:var(--topbar-bg);border-bottom:1px solid var(--topbar-border);height:var(--topbar-height);justify-content:space-between;left:var(--sidebar-width);padding:0 28px;position:fixed;right:0;top:0;z-index:30}.dash-topbar,.topbar-left{align-items:center;display:flex}.topbar-left{gap:8px}.topbar-breadcrumb{align-items:center;color:var(--topbar-text-muted);display:flex;font-size:13px;gap:6px}.topbar-breadcrumb-sep{color:#cbd5e1}.topbar-breadcrumb-current{color:var(--topbar-text);font-weight:500}.topbar-right{gap:12px}.topbar-btn,.topbar-right{align-items:center;display:flex}.topbar-btn{background:none;border:1px solid var(--topbar-border);border-radius:8px;color:#64748b;cursor:pointer;height:34px;justify-content:center;position:relative;transition:background .15s,color .15s;width:34px}.topbar-btn:hover{background:#f1f5f9;color:#0f172a}.topbar-notif-dot{background:#ef4444;border:1.5px solid #fff;border-radius:50%;height:6px;position:absolute;right:6px;top:6px;width:6px}.topbar-user{align-items:center;background:none;border:1px solid var(--topbar-border);border-radius:8px;cursor:pointer;display:flex;font-family:var(--dash-font);gap:8px;padding:4px 10px 4px 6px;transition:background .15s}.topbar-user:hover{background:#f8fafc}.topbar-avatar{align-items:center;background:linear-gradient(145deg,#3b82f6,#1d4ed8);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:11px;font-weight:600;height:26px;justify-content:center;text-transform:uppercase;width:26px}.topbar-username{color:var(--topbar-text);font-size:13px;font-weight:500}.dash-main{background:var(--content-bg);flex:1;margin-left:var(--sidebar-width);margin-top:var(--topbar-height);min-height:calc(100vh - var(--topbar-height))}.dash-content{max-width:1280px;padding:var(--content-padding)}.sidebar-mobile-toggle{background:none;border:none;color:#64748b;cursor:pointer;display:none;padding:4px}@media (max-width:768px){.dash-sidebar{transform:translate(-100%)}.dash-sidebar.open{transform:translate(0)}.dash-topbar{left:0}.dash-main{margin-left:0}.sidebar-mobile-toggle{display:flex}}.dash-root{color:#0f172a;display:flex;flex-direction:column;font-family:Geist,-apple-system,sans-serif;gap:24px;margin:0 auto;max-width:1280px;padding:28px 32px}.dash-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between}.dash-title{color:#0f172a;font-size:22px;font-weight:600;letter-spacing:-.3px;margin:0 0 3px}.dash-sub{color:#64748b;font-size:13.5px;margin:0}.dash-date{color:#94a3b8;font-family:Geist Mono,monospace;font-size:12px;padding-top:4px;text-transform:capitalize}.stat-grid{display:grid;gap:16px;grid-template-columns:repeat(4,1fr)}.stat-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;display:flex;flex-direction:column;gap:4px;padding:20px;transition:box-shadow .15s,transform .15s}.stat-card:hover{box-shadow:0 4px 16px #0f172a14;transform:translateY(-1px)}.stat-skeleton{animation:shimmer 1.4s infinite;background:linear-gradient(90deg,#f1f5f9 25%,#e2e8f0,#f1f5f9 75%);background-size:200% 100%;border:none;height:120px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.stat-top{justify-content:space-between;margin-bottom:8px}.stat-icon-wrap,.stat-top{align-items:center;display:flex}.stat-icon-wrap{border-radius:9px;height:36px;justify-content:center;width:36px}.stat-icon--blue{background:#eff6ff;color:#2563eb}.stat-icon--green{background:#f0fdf4;color:#16a34a}.stat-icon--amber{background:#fffbeb;color:#d97706}.stat-icon--red{background:#fef2f2;color:#dc2626}.stat-icon--slate{background:#f8fafc;color:#475569}.stat-trend{align-items:center;border-radius:99px;display:flex;font-size:11.5px;font-weight:500;gap:3px;padding:3px 7px}.trend-up{background:#f0fdf4;color:#16a34a}.trend-neutral{background:#fef9c3;color:#a16207}.stat-value{color:#0f172a;font-size:24px;font-variant-numeric:tabular-nums;font-weight:600;letter-spacing:-.5px;margin:0}.stat-label{color:#475569;font-size:13px;font-weight:500;margin:0}.stat-sub{color:#94a3b8;font-size:11.5px;margin:0}.content-grid{align-items:start;display:grid;gap:16px;grid-template-columns:1fr 340px}.right-col{display:flex;flex-direction:column;gap:16px}.panel{background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden}.panel-head{border-bottom:1px solid #f1f5f9;justify-content:space-between;padding:16px 20px}.panel-head,.panel-title{align-items:center;display:flex}.panel-title{color:#0f172a;font-size:13.5px;font-weight:600;gap:7px;margin:0}.panel-title svg{color:#64748b}.panel-link{color:#2563eb;font-size:12px;font-weight:500;text-decoration:none;transition:opacity .15s}.panel-link:hover{opacity:.75}.table-wrap{overflow-x:auto}.dash-table{border-collapse:collapse;font-size:13px;width:100%}.dash-table thead tr{border-bottom:1px solid #f1f5f9}.dash-table th{color:#94a3b8;font-size:11.5px;font-weight:600;letter-spacing:.05em;padding:10px 16px;text-align:left;text-transform:uppercase;white-space:nowrap}.dash-table td{border-bottom:1px solid #f8fafc;color:#334155;padding:12px 16px;white-space:nowrap}.dash-table tbody tr:last-child td{border-bottom:none}.dash-table tbody tr:hover td{background:#f8fafc}.td-id{color:#94a3b8;font-family:Geist Mono,monospace;font-size:12px}.td-customer{color:#0f172a;font-weight:500}.td-amount{font-family:Geist Mono,monospace;font-weight:500}.td-date{color:#94a3b8;font-size:12px}.table-skeleton{display:flex;flex-direction:column;gap:10px;padding:12px 16px}.table-skeleton-row{animation:shimmer 1.4s infinite;background:linear-gradient(90deg,#f1f5f9 25%,#e2e8f0,#f1f5f9 75%);background-size:200% 100%;border-radius:6px;height:36px}.badge{border-radius:99px;display:inline-block;font-size:11px;font-weight:600;letter-spacing:.03em;padding:3px 8px;text-transform:capitalize}.badge-pending{background:#fef9c3;color:#854d0e}.badge-fulfilled{background:#dcfce7;color:#166534}.badge-cancelled{background:#fee2e2;color:#991b1b}.badge-paid{background:#dcfce7;color:#166534}.badge-partial{background:#fef9c3;color:#854d0e}.badge-unpaid{background:#fee2e2;color:#991b1b}.badge-over{background:#ede9fe;color:#5b21b6}.stock-list{padding:8px 0}.stock-item{align-items:center;border-bottom:1px solid #f8fafc;display:flex;justify-content:space-between;padding:10px 20px;transition:background .12s}.stock-item:last-child{border-bottom:none}.stock-item:hover{background:#f8fafc}.stock-name{color:#0f172a;font-size:13px;font-weight:500;margin:0 0 2px}.stock-sku{color:#94a3b8;font-family:Geist Mono,monospace;font-size:11px;margin:0}.stock-badge{border-radius:99px;font-size:11.5px;font-weight:600;padding:3px 9px;white-space:nowrap}.stock-critical{background:#fee2e2;color:#991b1b}.stock-low{background:#fef9c3;color:#854d0e}.empty-state{align-items:center;color:#64748b;display:flex;font-size:13px;gap:9px;padding:20px}.empty-state svg{color:#16a34a;flex-shrink:0}.actions-grid{display:grid;gap:8px;grid-template-columns:1fr 1fr;padding:16px}.action-btn{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;color:#334155;display:flex;font-size:12.5px;font-weight:500;gap:7px;padding:10px 12px;text-decoration:none;transition:background .12s,border-color .12s,color .12s;white-space:nowrap}.action-btn:hover{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}.action-btn svg{flex-shrink:0}@media (max-width:1100px){.stat-grid{grid-template-columns:repeat(2,1fr)}.content-grid{grid-template-columns:1fr}}@media (max-width:640px){.dash-root{padding:20px 16px}.stat-grid{grid-template-columns:1fr 1fr}.dash-date{display:none}}
