:root{--color-primary-dark:#073b4c;--color-primary:#0b5d6e;--color-primary-light:#1899a6;--color-primary-subtle:#e6f4f6;--color-accent:#f2a649;--color-accent-dark:#d98527;--color-accent-subtle:#fef5eb;--color-water:#34c7be;--color-water-light:#7fe0d6;--color-water-subtle:#e8f9f8;--color-bg:#f3f7f8;--color-surface:#fff;--color-surface-hover:#f8fbfc;--color-surface-alt:#f7fafa;--color-border:#e2ecee;--color-border-subtle:#eef4f5;--color-text:#0e2833;--color-text-secondary:#5e7982;--color-text-dim:#8fa6af;--color-text-on-dark:#fff;--color-success:#2fa36a;--color-success-subtle:#eaf7f0;--color-danger:#e0562d;--color-danger-subtle:#fceeec;--color-warning:#e0882d;--color-warning-subtle:#fdf4eb;--color-info:#3a6ff7;--color-info-subtle:#edf2fe;--font-display:"Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-body:"Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"Poppins", SFMono-Regular, monospace;--shadow-sm:0 1px 2px #073b4c0a;--shadow-md:0 4px 12px #073b4c0f, 0 1px 3px #073b4c0a;--shadow-lg:0 10px 28px #073b4c14, 0 3px 8px #073b4c0a;--shadow-modal:0 20px 48px #073b4c29, 0 4px 12px #073b4c14;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--sidebar-width:268px;--header-height:64px}*,:before,:after{box-sizing:border-box;margin:0;padding:0;font-family:Poppins,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}body{font-family:var(--font-body);background-color:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;line-height:1.5;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);color:var(--color-text);font-weight:700;line-height:1.25}button,input,select,textarea{font-family:inherit;font-size:.9375rem}a{color:var(--color-primary);text-decoration:none}.app-shell{width:100%;min-width:0;min-height:100vh;display:flex}.sidebar{width:var(--sidebar-width);background:var(--color-primary-dark);color:var(--color-text-on-dark);z-index:100;border-right:1px solid #ffffff14;flex-direction:column;transition:transform .25s;display:flex;position:fixed;top:0;bottom:0;left:0;overflow:hidden auto}.sidebar-brand{border-bottom:1px solid #ffffff14;flex-shrink:0;align-items:center;gap:12px;min-width:0;padding:18px 20px;display:flex;overflow:hidden}.brand-icon{background:linear-gradient(135deg, var(--color-primary-light), var(--color-water));border-radius:var(--radius-md);color:#fff;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:flex;box-shadow:0 4px 10px #34c7be40}.brand-info{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.brand-name{font-family:var(--font-display);color:#fff;letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;font-size:1.1rem;font-weight:700;line-height:1.25;overflow:hidden}.brand-sub{font-family:var(--font-mono);color:var(--color-water-light);letter-spacing:.02em;text-transform:uppercase;white-space:nowrap;text-overflow:ellipsis;font-size:.65rem;line-height:1.3;display:block;overflow:hidden}.sidebar-nav{flex-direction:column;flex:1;gap:4px;min-width:0;padding:16px 12px;display:flex;overflow:hidden auto}.nav-section-label{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:#fff6;white-space:nowrap;text-overflow:ellipsis;padding:12px 12px 4px;font-size:.6875rem;overflow:hidden}.nav-item{border-radius:var(--radius-md);color:#ffffffb8;cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:12px;width:100%;min-width:0;padding:10px 14px;font-size:.9rem;font-weight:500;transition:all .15s;display:flex;overflow:hidden}.nav-item:hover{color:#fff;background:#ffffff14}.nav-item.active{color:#fff;border-left:3px solid var(--color-water);background:linear-gradient(90deg,#1899a640,#34c7be1a)}.nav-item svg{opacity:.85;flex-shrink:0;width:18px;height:18px}.nav-item.active svg{opacity:1;color:var(--color-water-light)}.nav-item span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.sidebar-footer{background:#0000001f;border-top:1px solid #ffffff14;flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;min-width:0;padding:14px 16px;display:flex;overflow:hidden}.user-snippet{flex:1;align-items:center;gap:10px;min-width:0;display:flex;overflow:hidden}.user-avatar{background:var(--color-primary);border:1px solid var(--color-primary-light);width:34px;height:34px;font-family:var(--font-display);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.875rem;font-weight:700;display:flex}.user-details{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.user-name{color:#fff;white-space:nowrap;text-overflow:ellipsis;font-size:.84rem;font-weight:600;overflow:hidden}.user-role-text{font-family:var(--font-mono);color:var(--color-accent);white-space:nowrap;text-overflow:ellipsis;font-size:.6875rem;overflow:hidden}.btn-logout{color:#ffffff80;cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:6px;transition:all .15s;display:flex}.btn-logout:hover{color:#ff8566;background:#e0562d33}.main-wrapper{margin-left:var(--sidebar-width);background-color:var(--color-bg);min-width:0;min-height:100vh;width:calc(100% - var(--sidebar-width));flex-direction:column;flex:1;display:flex}.topbar{height:var(--header-height);background:var(--color-surface);border-bottom:1px solid var(--color-border);z-index:50;justify-content:space-between;align-items:center;padding:0 28px;display:flex;position:sticky;top:0}.topbar-left{align-items:center;gap:16px;display:flex}.page-title{color:var(--color-text);letter-spacing:-.01em;font-size:1.25rem;font-weight:700}.topbar-right{align-items:center;gap:14px;display:flex}.connection-indicator{font-family:var(--font-mono);color:var(--color-text-secondary);border-radius:var(--radius-sm);background:var(--color-surface-alt);border:1px solid var(--color-border);align-items:center;gap:7px;padding:5px 10px;font-size:.75rem;display:inline-flex}.connection-dot{background:var(--color-text-dim);border-radius:50%;width:7px;height:7px}.connection-dot.online{background:var(--color-success);box-shadow:0 0 0 3px #2fa36a2e}.connection-dot.offline{background:var(--color-warning);box-shadow:0 0 0 3px #e0882d2e}.content-area{flex:1;width:100%;max-width:1400px;margin:0 auto;padding:28px}.btn{border-radius:var(--radius-md);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:9px 18px;font-size:.875rem;font-weight:600;line-height:1.2;transition:all .18s;display:inline-flex}.btn-primary{background:linear-gradient(135deg, var(--color-primary), var(--color-primary-light));color:#fff;box-shadow:0 2px 6px #0b5d6e40}.btn-primary:hover{background:linear-gradient(135deg, var(--color-primary-dark), var(--color-primary));transform:translateY(-1px);box-shadow:0 4px 12px #0b5d6e59}.btn-accent{background:linear-gradient(135deg, var(--color-accent), var(--color-accent-dark));color:#fff;box-shadow:0 2px 6px #f2a64940}.btn-accent:hover{filter:brightness(1.05);transform:translateY(-1px)}.btn-outline{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text)}.btn-outline:hover{background:var(--color-surface-hover);border-color:var(--color-primary-light);color:var(--color-primary)}.btn-sm{border-radius:var(--radius-sm);padding:6px 12px;font-size:.8125rem}.form-group{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.form-label{font-family:var(--font-mono);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em;font-size:.75rem;font-weight:500}.form-input,.form-select,.form-textarea{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);width:100%;color:var(--color-text);outline:none;padding:10px 14px;transition:all .15s}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--color-primary-light);box-shadow:0 0 0 3px #1899a61f}.form-textarea{resize:vertical;min-height:70px}.metrics-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;margin-bottom:24px;display:grid}.metric-card{background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);flex-direction:column;justify-content:space-between;padding:20px 22px;transition:transform .15s,box-shadow .15s;display:flex}.metric-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.metric-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.metric-title{font-family:var(--font-mono);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:500}.metric-icon-box{border-radius:var(--radius-md);justify-content:center;align-items:center;width:36px;height:36px;display:flex}.metric-value{font-family:var(--font-display);color:var(--color-text);letter-spacing:-.02em;font-size:1.875rem;font-weight:700;line-height:1.1}.metric-footer{color:var(--color-text-secondary);justify-content:space-between;align-items:center;margin-top:10px;font-size:.8125rem;display:flex}.inventory-banner{background:linear-gradient(135deg, var(--color-primary-dark), var(--color-primary));border-radius:var(--radius-lg);color:#fff;box-shadow:var(--shadow-md);margin-bottom:26px;padding:24px;position:relative;overflow:hidden}.inventory-banner:after{content:"";pointer-events:none;background:radial-gradient(circle,#34c7be40 0%,#0000 70%);border-radius:50%;width:220px;height:220px;position:absolute;top:-40px;right:-40px}.inventory-banner-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.inventory-banner-title{color:#fff;font-size:1.125rem;font-weight:700}.inventory-stats-row{z-index:2;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;display:grid;position:relative}.inv-stat-box{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:var(--radius-md);background:#ffffff14;border:1px solid #ffffff1f;padding:16px}.inv-stat-label{font-family:var(--font-mono);color:#ffffffbf;text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px;font-size:.72rem}.inv-stat-num{font-family:var(--font-display);color:#fff;font-size:1.625rem;font-weight:700}.panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:24px;overflow:hidden}.panel-header{border-bottom:1px solid var(--color-border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:18px 22px;display:flex}.panel-title{color:var(--color-text);font-size:1.05rem;font-weight:700}.panel-actions{align-items:center;gap:10px;display:flex}.search-input-wrapper{min-width:220px;position:relative}.search-input-wrapper input{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-alt);outline:none;width:100%;padding:7px 12px 7px 32px;font-size:.84rem}.search-input-wrapper svg{width:14px;height:14px;color:var(--color-text-dim);position:absolute;top:50%;left:10px;transform:translateY(-50%)}.table-responsive{width:100%;overflow-x:auto}.data-table{border-collapse:collapse;text-align:left;width:100%;font-size:.875rem}.data-table th{background:var(--color-surface-alt);font-family:var(--font-mono);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--color-border);white-space:nowrap;padding:12px 18px;font-size:.72rem;font-weight:600}.data-table td{border-bottom:1px solid var(--color-border-subtle);color:var(--color-text);vertical-align:middle;padding:14px 18px}.data-table tbody tr:hover{background-color:var(--color-surface-hover)}.data-table tbody tr:last-child td{border-bottom:none}.status-indicator{align-items:center;gap:6px;font-size:.8125rem;font-weight:500;display:inline-flex}.status-indicator .dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.status-indicator.delivered .dot{background:var(--color-success)}.status-indicator.returned .dot{background:var(--color-primary-light)}.status-indicator.pending .dot{background:var(--color-danger)}.status-indicator.paid .dot{background:var(--color-success)}.num-cell{font-family:var(--font-mono);font-weight:600}.login-page-wrapper{background:radial-gradient(circle at 50% 20%,#0c4d5d 0%,#073b4c 70%,#04242f 100%);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-card{background:var(--color-surface);border-radius:var(--radius-xl);width:100%;max-width:440px;box-shadow:var(--shadow-modal);border:1px solid #ffffff1a;animation:.35s cubic-bezier(.16,1,.3,1) slideUp;overflow:hidden}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.login-header-banner{background:linear-gradient(135deg, var(--color-primary-dark), var(--color-primary));text-align:center;color:#fff;flex-direction:column;align-items:center;padding:32px 28px 24px;display:flex;position:relative}.jar-gauge-container{flex-direction:column;align-items:center;margin-bottom:14px;display:flex}.jar-svg-wrapper{width:58px;height:74px;position:relative}.jar-gauge-label{font-family:var(--font-mono);letter-spacing:.08em;color:var(--color-water-light);text-transform:uppercase;margin-top:8px;font-size:.6875rem}.login-header-banner h2{color:#fff;margin-bottom:4px;font-size:1.5rem}.login-header-banner p{color:#ffffffbf;font-size:.84rem}.login-form-body{padding:28px}.demo-accounts-bar{background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:20px;padding:12px}.demo-bar-title{font-family:var(--font-mono);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px;font-size:.6875rem}.demo-roles-grid{grid-template-columns:repeat(2,1fr);gap:6px;display:grid}.btn-demo-role{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);cursor:pointer;text-align:left;padding:6px 8px;font-size:.75rem;font-weight:500;transition:all .15s}.btn-demo-role:hover{border-color:var(--color-primary-light);color:var(--color-primary);background:var(--color-primary-subtle)}.modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#073b4c73;justify-content:center;align-items:center;padding:20px;animation:.18s fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-modal);width:100%;max-width:520px;animation:.22s cubic-bezier(.16,1,.3,1) modalSlide;overflow:hidden}@keyframes modalSlide{0%{opacity:0;transform:scale(.96)translateY(12px)}to{opacity:1;transform:scale(1)translateY(0)}}.modal-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:18px 22px;display:flex}.modal-title{font-size:1.125rem;font-weight:700}.modal-close-btn{cursor:pointer;color:var(--color-text-dim);background:0 0;border:none;padding:4px;font-size:1.25rem}.modal-close-btn:hover{color:var(--color-text)}.modal-body{max-height:75vh;padding:22px;overflow-y:auto}.modal-footer{border-top:1px solid var(--color-border);background:var(--color-surface-alt);justify-content:flex-end;align-items:center;gap:10px;padding:14px 22px;display:flex}#toast-container{z-index:2000;pointer-events:none;flex-direction:column;gap:10px;display:flex;position:fixed;bottom:24px;right:24px}.toast{pointer-events:auto;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);align-items:center;gap:12px;min-width:280px;max-width:400px;padding:12px 18px;font-size:.875rem;font-weight:500;transition:all .2s;animation:.25s toastIn;display:flex}@keyframes toastIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.toast.toast-success{border-left:4px solid var(--color-success)}.toast.toast-error{border-left:4px solid var(--color-danger)}.toast.toast-info{border-left:4px solid var(--color-primary-light)}@media (width<=900px){.sidebar{transform:translate(-100%)}.sidebar.open{transform:translate(0)}.main-wrapper{margin-left:0}.topbar{padding:0 16px}.content-area{padding:16px}}
