@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";.controls-popup-overlay[data-v-4a425f88]{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:10000;background:#000000bf;justify-content:center;align-items:center;padding:20px;animation:.2s fadeIn-4a425f88;display:flex;position:fixed;inset:0}.controls-popup-box[data-v-4a425f88]{background:#111827;border:1px solid #ffffff1f;border-radius:18px;flex-direction:column;width:100%;max-width:480px;animation:.25s cubic-bezier(.16,1,.3,1) popupScale-4a425f88;display:flex;overflow:hidden;box-shadow:0 25px 50px -12px #000c}.controls-popup-box.warning[data-v-4a425f88]{border-top:4px solid #f59e0b}.controls-popup-box.danger[data-v-4a425f88]{border-top:4px solid #ef4444}.controls-popup-box.info[data-v-4a425f88]{border-top:4px solid #06b6d4}.controls-popup-box.success[data-v-4a425f88]{border-top:4px solid #10b981}.controls-popup-box.update[data-v-4a425f88]{border-top:4px solid #6366f1}.popup-topbar[data-v-4a425f88]{justify-content:space-between;align-items:center;padding:20px 24px 12px;display:flex}.popup-icon[data-v-4a425f88]{font-size:1.35rem}.popup-heading[data-v-4a425f88]{color:#fff;font-size:1.1rem;font-weight:700}.popup-close-btn[data-v-4a425f88]{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px;font-size:1.1rem;transition:all .2s}.popup-close-btn[data-v-4a425f88]:hover{color:#fff;background:#ffffff1a}.popup-content-body[data-v-4a425f88]{color:#cbd5e1;padding:12px 24px 20px;font-size:.925rem;line-height:1.6}.popup-actions-footer[data-v-4a425f88]{background:#0000004d;border-top:1px solid #ffffff0f;justify-content:flex-end;align-items:center;gap:10px;padding:16px 24px;display:flex}.btn-popup-secondary[data-v-4a425f88]{color:#cbd5e1;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;padding:8px 16px;font-size:.875rem;font-weight:600}.btn-popup-secondary[data-v-4a425f88]:hover{background:#ffffff1a}.btn-popup-primary[data-v-4a425f88]{color:#fff;cursor:pointer;background:linear-gradient(135deg,#6366f1,#4f46e5);border:none;border-radius:8px;align-items:center;gap:6px;padding:8px 20px;font-size:.875rem;font-weight:600;text-decoration:none;display:inline-flex;box-shadow:0 4px 14px #6366f166}.btn-popup-primary[data-v-4a425f88]:hover{opacity:.95;transform:translateY(-1px)}@keyframes popupScale-4a425f88{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes fadeIn-4a425f88{0%{opacity:0}to{opacity:1}}.controls-lock-overlay[data-v-f95fe14b]{-webkit-backdrop-filter:blur(20px);z-index:999999;-webkit-user-select:none;user-select:none;background:#0a0d14f2;justify-content:center;align-items:center;padding:24px;animation:.3s lockFadeIn-f95fe14b;display:flex;position:fixed;inset:0}.controls-lock-card[data-v-f95fe14b]{text-align:center;background:#111827;border:1px solid #ef44444d;border-radius:24px;width:100%;max-width:520px;padding:40px 32px;animation:.35s cubic-bezier(.16,1,.3,1) lockCardScale-f95fe14b;box-shadow:0 30px 60px -12px #000000e6,0 0 40px #ef444426}.lock-icon-badge[data-v-f95fe14b]{color:#ef4444;background:linear-gradient(135deg,#ef444433,#dc26260d);border:1px solid #ef444466;border-radius:20px;justify-content:center;align-items:center;width:72px;height:72px;margin-bottom:20px;font-size:2.2rem;display:inline-flex;box-shadow:0 0 25px #ef444440}.lock-title[data-v-f95fe14b]{color:#fff;margin-bottom:12px;font-size:1.35rem;font-weight:800;line-height:1.3}.lock-message[data-v-f95fe14b]{color:#94a3b8;margin-bottom:24px;font-size:.95rem;line-height:1.6}.lock-contacts-box[data-v-f95fe14b]{text-align:left;background:#0006;border:1px solid #ffffff0f;border-radius:14px;flex-direction:column;gap:12px;margin-bottom:24px;padding:16px;display:flex}.contact-item[data-v-f95fe14b]{align-items:center;gap:12px;display:flex}.contact-icon[data-v-f95fe14b]{background:#ffffff0d;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.35rem;display:flex}.contact-label[data-v-f95fe14b]{color:#64748b;text-transform:uppercase;font-size:.725rem;font-weight:600}.contact-val[data-v-f95fe14b]{color:#38bdf8;font-size:.95rem;font-weight:700;text-decoration:none}.contact-val[data-v-f95fe14b]:hover{text-decoration:underline}.lock-footer[data-v-f95fe14b]{flex-direction:column;align-items:center;gap:12px;display:flex}.btn-check-unlock[data-v-f95fe14b]{color:#fff;cursor:pointer;background:linear-gradient(135deg,#6366f1,#4f46e5);border:none;border-radius:10px;padding:10px 24px;font-size:.875rem;font-weight:600;transition:all .2s;box-shadow:0 4px 14px #6366f159}.btn-check-unlock[data-v-f95fe14b]:hover{transform:translateY(-1px)}.lock-subtext[data-v-f95fe14b]{color:#475569;font-size:.75rem}@keyframes lockFadeIn-f95fe14b{0%{opacity:0}to{opacity:1}}@keyframes lockCardScale-f95fe14b{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.toast-enter-active,.toast-leave-active{transition:all .3s}.toast-enter-from{opacity:0;transform:translate(40px)}.toast-leave-to{opacity:0;height:0;margin:0;padding:0;transform:translate(40px)}:root{--bg-base:#f4f6f8;--bg-surface:#fff;--bg-card:#fff;--bg-hover:#f5f7fa;--bg-input:#fff;--border:#e7ebf0;--border-focus:#3d495c73;--accent:#3d495c;--accent-light:#263448;--accent-glow:#3d495c26;--accent-grad:linear-gradient(135deg, #3d495c 0%, #202a3a 100%);--success:#10b981;--warning:#f59e0b;--error:#ef4444;--info:#3b82f6;--text-primary:#20252d;--text-secondary:#5e6877;--text-muted:#8b94a1;--shadow-sm:0 2px 10px #2834440a;--shadow-md:0 8px 24px #28344414;--shadow-lg:0 16px 45px #28344424;--shadow-accent:0 4px 20px #3d495c2e;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--transition:.2s cubic-bezier(.4,0,.2,1)}[data-theme=dark]{--bg-base:#11151c;--bg-surface:#181e27;--bg-card:#1d2530;--bg-hover:#26313e;--bg-input:#202a35;--border:#344150;--border-focus:#94a3b8a6;--accent:#93a4ba;--accent-light:#d8e1ec;--accent-glow:#94a3b833;--accent-grad:linear-gradient(135deg, #68798d 0%, #3e4c5d 100%);--text-primary:#edf2f7;--text-secondary:#b7c1cd;--text-muted:#8290a0;--shadow-sm:0 2px 10px #00000038;--shadow-md:0 8px 24px #0000004d;--shadow-lg:0 16px 45px #0000006b;--shadow-accent:0 4px 20px #94a3b82e}body,.card,.stat-card,.sidebar,.topbar,.modal,.input,.theme-toggle{transition:background-color var(--transition), border-color var(--transition), color var(--transition), box-shadow var(--transition)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:15px}body{background:var(--bg-base);color:var(--text-primary);-webkit-font-smoothing:antialiased;min-height:100vh;font-family:Inter,-apple-system,sans-serif;line-height:1.6}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:99px}::-webkit-scrollbar-thumb:hover{background:var(--accent)}h1{font-size:1.75rem;font-weight:700}h2{font-size:1.35rem;font-weight:600}h3{font-size:1.1rem;font-weight:600}h4{font-size:.95rem;font-weight:600}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.gap-6{gap:24px}.w-full{width:100%}.ml-auto{margin-left:auto}.text-sm{font-size:.825rem}.text-xs{font-size:.75rem}.font-semibold{font-weight:600}.font-bold{font-weight:700}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:border-color var(--transition);padding:20px 24px}.card:hover{border-color:#ffffff1f}.btn{border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition);white-space:nowrap;border:1px solid #0000;align-items:center;gap:8px;padding:9px 18px;font-family:inherit;font-size:.875rem;font-weight:500;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent-grad);color:#fff;box-shadow:var(--shadow-accent)}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 24px #6366f173}.btn-secondary{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border)}.btn-secondary:hover:not(:disabled){background:#222640;border-color:#ffffff26}.btn-danger{color:var(--error);background:#ef44441f;border-color:#ef444433}.btn-danger:hover:not(:disabled){background:#ef444433}.btn-success{color:var(--success);background:#10b9811f;border-color:#10b98133}.btn-success:hover:not(:disabled){background:#10b98133}.btn-sm{border-radius:var(--radius-sm);padding:5px 12px;font-size:.8rem}.btn-icon{border-radius:var(--radius-sm);padding:8px}.input{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-md);width:100%;color:var(--text-primary);transition:border-color var(--transition), box-shadow var(--transition);outline:none;padding:10px 14px;font-family:inherit;font-size:.875rem}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.input::placeholder{color:var(--text-muted)}select.input{cursor:pointer}.input-group{flex-direction:column;gap:6px;display:flex}.input-label{color:var(--text-secondary);font-size:.8rem;font-weight:500}.badge{border-radius:99px;align-items:center;gap:4px;padding:3px 10px;font-size:.75rem;font-weight:600;display:inline-flex}.badge-pending{color:var(--warning);background:#f59e0b26}.badge-processing{color:var(--info);background:#3b82f626}.badge-ready{color:#a78bfa;background:#8b5cf626}.badge-delivered,.badge-success{color:var(--success);background:#10b98126}.badge-error{color:var(--error);background:#ef444426}.badge-info{color:var(--info);background:#3b82f626}.badge-admin{color:var(--accent-light);background:#6366f126}.badge-agent{color:var(--success);background:#10b9811f}.badge-warehouse{color:var(--warning);background:#f59e0b1f}.table-wrap{border-radius:var(--radius-lg);border:1px solid var(--border);overflow-x:auto}table{border-collapse:collapse;width:100%}thead tr{background:var(--bg-hover)}th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);white-space:nowrap;padding:11px 16px;font-size:.75rem;font-weight:600}td{color:var(--text-secondary);border-top:1px solid var(--border);padding:13px 16px;font-size:.875rem}tbody tr{transition:background var(--transition)}tbody tr:hover{background:var(--bg-hover)}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#000000b3;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-xl);width:100%;max-width:520px;box-shadow:var(--shadow-lg);animation:.2s modalIn}@keyframes modalIn{0%{opacity:0;transform:scale(.95)translateY(-10px)}to{opacity:1;transform:scale(1)translateY(0)}}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.modal-body{flex-direction:column;gap:16px;padding:24px;display:flex}.modal-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:10px;padding:16px 24px;display:flex}.toast-container{z-index:9999;flex-direction:column;gap:10px;display:flex;position:fixed;bottom:24px;right:24px}.toast{border-radius:var(--radius-md);background:var(--bg-card);border:1px solid var(--border);box-shadow:var(--shadow-md);align-items:center;gap:12px;min-width:280px;max-width:380px;padding:14px 18px;font-size:.875rem;animation:.3s toastIn;display:flex}@keyframes toastIn{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}.toast-success{border-left:3px solid var(--success)}.toast-error{border-left:3px solid var(--error)}.toast-info{border-left:3px solid var(--info)}.page-enter-active,.page-leave-active{transition:all .2s}.page-enter-from{opacity:0;transform:translateY(8px)}.page-leave-to{opacity:0;transform:translateY(-4px)}.skeleton{background:linear-gradient(90deg, var(--bg-hover) 25%, #222740 50%, var(--bg-hover) 75%);border-radius:var(--radius-sm);background-size:200% 100%;animation:1.5s infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);transition:all var(--transition);align-items:center;gap:18px;padding:20px 24px;display:flex;position:relative;overflow:hidden}.stat-card:after{content:"";background:var(--accent-grad);opacity:0;transition:opacity var(--transition);position:absolute;inset:0}.stat-card:hover{box-shadow:var(--shadow-accent);border-color:#6366f14d}.stat-icon{border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:22px;display:flex}.stat-value{font-size:1.6rem;font-weight:700;line-height:1}.stat-label{color:var(--text-muted);margin-top:4px;font-size:.8rem}.stat-change{margin-top:6px;font-size:.75rem;font-weight:600}.stat-change.up{color:var(--success)}.stat-change.down{color:var(--error)}.page-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.page-title{font-size:1.4rem;font-weight:700}.page-subtitle{color:var(--text-muted);margin-top:2px;font-size:.85rem}.empty-state{text-align:center;color:var(--text-muted);padding:60px 20px}.empty-icon{opacity:.5;margin-bottom:16px;font-size:48px}.empty-text{font-size:.9rem}.map-container{border-radius:var(--radius-lg);border:1px solid var(--border);overflow:hidden}.leaflet-container{background:#1a1e2e!important}.spinner{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:20px;height:20px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.layout{min-height:100vh;display:flex}.sidebar{background:var(--bg-surface);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;width:224px;height:100vh;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar-logo{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:22px 20px 18px;display:flex}.logo-icon{background:var(--accent-grad);border-radius:var(--radius-md);width:36px;height:36px;box-shadow:var(--shadow-accent);justify-content:center;align-items:center;font-size:18px;display:flex}.logo-text{font-size:1rem;font-weight:700}.logo-sub{color:var(--text-muted);font-size:.7rem}.sidebar-nav{flex:1;padding:12px 10px}.nav-section-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);padding:12px 10px 6px;font-size:.68rem;font-weight:600}.nav-item{border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition);color:var(--text-secondary);border:1px solid #0000;align-items:center;gap:10px;margin-bottom:2px;padding:10px 12px;font-size:.875rem;text-decoration:none;display:flex}.nav-item:hover{background:var(--bg-hover);color:var(--text-primary)}.nav-item.active{color:var(--accent-light);background:#eef1f5;border-color:#e1e6ed}[data-theme=dark] .nav-item.active{background:#2b3745;border-color:#455567}.nav-icon{text-align:center;flex-shrink:0;width:22px;font-size:17px}.nav-badge{background:var(--accent);color:#fff;border-radius:99px;margin-left:auto;padding:1px 7px;font-size:.65rem;font-weight:700}.sidebar-footer{border-top:1px solid var(--border);padding:14px 10px}.user-info{border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition);align-items:center;gap:10px;padding:10px 12px;display:flex}.user-info:hover{background:var(--bg-hover)}.user-avatar{background:var(--accent-grad);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:14px;font-weight:700;display:flex}.user-name{font-size:.85rem;font-weight:600}.user-role{color:var(--text-muted);font-size:.7rem}.main-content{flex-direction:column;flex:1;min-width:0;display:flex}.topbar{background:var(--bg-surface);border-bottom:1px solid var(--border);z-index:100;align-items:center;gap:16px;height:72px;padding:0 32px;display:flex;position:sticky;top:0}.topbar-title{font-size:1rem;font-weight:600}.topbar-search{flex:1;max-width:320px;margin-left:auto}.page-content{flex:1;padding:30px 32px;overflow-y:auto}.mobile-menu-button,.sidebar-backdrop{display:none}.grid-4{grid-template-columns:repeat(4,1fr);gap:18px;display:grid}.grid-3{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.grid-2{grid-template-columns:repeat(2,1fr);gap:18px;display:grid}@media (width<=1200px){.grid-4{grid-template-columns:repeat(2,1fr)}}@media (width<=900px){.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}}@media (width<=640px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}@media (width<=900px){.sidebar{z-index:300;box-shadow:var(--shadow-lg);transition:transform .25s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.sidebar.is-open{transform:translate(0)}.sidebar-backdrop{z-index:250;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#20252d47;border:0;display:block;position:fixed;inset:0}.mobile-menu-button{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface);cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:36px;height:36px;display:inline-flex}.mobile-menu-button span{background:var(--text-primary);width:15px;height:1px}.topbar{padding:0 20px}.page-content{padding:22px 20px}}@media (width<=560px){.topbar{gap:10px;height:64px}.topbar-title{font-size:.92rem}.topbar-actions{gap:8px!important}.topbar-time{display:none}.api-status{padding:5px 7px}.api-status>span:last-child{display:none}.page-content{padding:18px 14px}.page-header{flex-wrap:wrap;align-items:flex-start;gap:12px;margin-bottom:18px}.page-title{font-size:1.2rem}.card{padding:16px}.table-wrap{margin-left:-2px;margin-right:-2px}}@media print{.sidebar,.topbar,.page-header,.card,.btn,.modal-overlay,nav,header,aside{display:none!important}body,html,#app,.layout,.main-content,.page-content{color:#000!important;background:#fff!important;width:100%!important;height:auto!important;min-height:auto!important;margin:0!important;padding:0!important;overflow:visible!important}.print-only{visibility:visible!important;color:#000!important;background:#fff!important;width:100%!important;margin:0!important;padding:0!important;display:block!important;position:absolute!important;top:0!important;left:0!important}.print-only *{visibility:visible!important}}
