*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--black:#0a0a0a;--white:#fff;--off:#f8f9fb;--gray-50:#f9f9f9;--gray-100:#f1f3f7;--gray-200:#e2e6ed;--gray-300:#d1d5db;--gray-400:#9ca3af;--gray-600:#4b5563;--gray-800:#111827;--primary:#1e3a5f;--primary-dark:#132847;--primary-mid:#2d5491;--primary-light:#e8eef7;--navy:#1e3a5f;--navy-dark:#132847;--navy-soft:#e8eef7;--orange:#f97316;--orange-dark:#ea6c08;--orange-soft:#fff3e0;--success:#16a34a;--warning:#d97706;--danger:#dc2626;--info:#2563eb;--radius:9px;--radius-lg:13px;--shadow:0 1px 3px rgba(0,0,0,.07),0 1px 2px rgba(0,0,0,.04);--shadow-md:0 4px 12px rgba(0,0,0,.08),0 2px 4px rgba(0,0,0,.05);--fd:"Playfair Display",Georgia,serif;--fb:"Outfit",sans-serif}@import url("https://fonts.googleapis.com/css2?family=Playfair+Display:wght@700;800;900&family=Outfit:wght@300;400;500;600;700&display=swap");html{font-size:15px}body{font-family:var(--fb);color:var(--gray-800);background:var(--off);line-height:1.6}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{cursor:pointer;font-family:inherit}.container{max-width:1280px;margin:0 auto;padding:0 28px}.container-sm{max-width:680px;margin:0 auto;padding:0 24px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;border-radius:var(--radius);font-size:14px;font-weight:600;border:none;transition:all .15s;white-space:nowrap;font-family:var(--fb)}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark)}.btn-outline{background:transparent;color:var(--gray-800);border:1.5px solid var(--gray-200)}.btn-outline:hover{border-color:var(--gray-400);background:var(--gray-100)}.btn-orange{background:var(--orange);color:#fff}.btn-orange:hover{background:var(--orange-dark)}.btn-danger{background:var(--danger);color:#fff}.btn-success{background:var(--success);color:#fff}.btn-sm{padding:6px 13px;font-size:13px}.btn-lg{padding:13px 28px;font-size:15px}.btn:disabled{opacity:.5;cursor:not-allowed}.form-group{display:flex;flex-direction:column;gap:6px}.form-label{font-size:12px;font-weight:600;color:var(--gray-600);text-transform:uppercase;letter-spacing:.05em}.form-input{padding:10px 13px;border:1.5px solid var(--gray-200);border-radius:var(--radius);font-size:14px;font-family:var(--fb);background:var(--white);transition:border-color .15s;width:100%;color:var(--gray-800)}.form-input:focus{outline:none;border-color:var(--primary);background:#fff}.form-input.error{border-color:var(--danger)}.form-hint{font-size:12px;color:var(--gray-400)}.form-error{font-size:12px;color:var(--danger)}.card{background:var(--white);border-radius:var(--radius-lg);border:1.5px solid var(--gray-200);padding:22px;box-shadow:var(--shadow)}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.card-title{font-family:var(--fd);font-size:15px;font-weight:700;color:var(--primary)}.badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:100px;font-size:11.5px;font-weight:600}.badge-pending{background:#fef3c7;color:#d97706}.badge-success{background:#dcfce7;color:#15803d}.badge-info{background:#dbeafe;color:#1d4ed8}.badge-warning{background:#fef3c7;color:#d97706}.badge-danger{background:#fee2e2;color:#b91c1c}.badge-gray{background:var(--gray-100);color:var(--gray-600)}.badge-navy{background:var(--navy-soft);color:var(--navy)}.badge-orange{background:var(--orange-soft);color:var(--orange-dark)}.table{width:100%;border-collapse:collapse;font-size:13.5px}.table th{padding:10px 16px;text-align:left;font-size:11px;font-weight:700;color:var(--gray-400);text-transform:uppercase;letter-spacing:.07em;border-bottom:1.5px solid var(--gray-200)}.table td{padding:13px 16px;border-bottom:1px solid var(--gray-100)}.table tr:last-child td{border-bottom:none}.table tr:hover td{background:var(--gray-100)}.nav{background:var(--white);border-bottom:1.5px solid var(--gray-200);height:58px;position:-webkit-sticky;position:sticky;top:0;z-index:100;box-shadow:var(--shadow)}.nav,.nav-inner{display:flex;align-items:center}.nav-inner{justify-content:space-between;width:100%}.nav-logo{font-family:var(--fd);font-size:19px;font-weight:800;color:var(--primary);display:flex;align-items:center;gap:8px}.nav-logo span{color:var(--orange)}.nav-link{padding:6px 12px;border-radius:var(--radius);font-size:13.5px;color:var(--gray-600);transition:all .15s}.nav-link:hover{background:var(--gray-100);color:var(--gray-800)}.nav-link.active{background:var(--primary-light);color:var(--primary);font-weight:600}.page-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:28px;flex-wrap:wrap;gap:12px}.page-title{font-family:var(--fd);font-size:24px;font-weight:800;color:var(--primary);letter-spacing:-.01em}.page-subtitle{font-size:13.5px;color:var(--gray-400);margin-top:4px}.empty{text-align:center;padding:56px 24px;color:var(--gray-400)}.empty-icon{font-size:40px;margin-bottom:12px}.empty-text{font-size:15px}.alert{padding:12px 16px;border-radius:var(--radius);font-size:14px;margin-bottom:16px}.alert-danger{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}.alert-success{background:#f0fdf4;color:#15803d;border:1px solid #bbf7d0}.alert-info{background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe}.alert-warning{background:#fffbeb;color:#d97706;border:1px solid #fde68a}.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));grid-gap:16px;gap:16px}.product-card{background:var(--white);border:1.5px solid var(--gray-200);border-radius:var(--radius-lg);overflow:hidden;transition:box-shadow .15s,transform .15s}.product-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.product-card-img{aspect-ratio:1;background:var(--gray-100);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.product-card-img img{width:100%;height:100%;object-fit:cover}.product-card-body{padding:13px 14px}.product-card-ref{font-size:10.5px;color:var(--gray-400);margin-bottom:3px}.product-card-name{font-size:13px;font-weight:600;margin-bottom:8px;line-height:1.35}.product-card-price{font-family:var(--fd);font-size:17px;font-weight:800;color:var(--orange)}.layout-sidebar{display:grid;grid-template-columns:220px 1fr;min-height:calc(100vh - 58px);width:100%;max-width:100%}.sidebar{background:var(--white);border-right:1.5px solid var(--gray-200);padding:20px 12px;position:-webkit-sticky;position:sticky;top:58px;height:calc(100vh - 58px);overflow-y:auto}.sidebar-section{margin-bottom:22px}.sidebar-label{font-size:10.5px;font-weight:700;color:var(--gray-400);text-transform:uppercase;letter-spacing:.1em;padding:0 8px;margin-bottom:6px;display:block}.sidebar-link{display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:var(--radius);font-size:13.5px;color:var(--gray-600);transition:all .12s;margin-bottom:1px;text-decoration:none}.sidebar-link:hover{background:var(--gray-100);color:var(--gray-800)}.sidebar-link.active{background:var(--primary-light);color:var(--primary);font-weight:600}.bottom-nav-mobile{display:none;position:fixed;bottom:0;left:0;right:0;z-index:200;background:hsla(0,0%,100%,.96);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid var(--gray-200);grid-template-columns:repeat(5,1fr);padding:6px 4px calc(6px + env(safe-area-inset-bottom, 0px))}.bottom-nav-item{display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 4px;border-radius:10px;border:none;background:none;cursor:pointer;font-family:var(--fb);transition:all .12s}.bottom-nav-item .bni-icon{font-size:20px}.bottom-nav-item .bni-label{font-size:10px;font-weight:500;color:var(--gray-400)}.bottom-nav-item.active .bni-label{color:var(--orange);font-weight:700}@media (max-width:768px){.layout-sidebar{grid-template-columns:1fr}.sidebar{display:none!important}.bottom-nav-mobile{display:grid}.layout-sidebar main{padding-bottom:88px!important}.product-grid{grid-template-columns:repeat(2,1fr);gap:10px}.page-title{font-size:20px}.container{padding:0 16px}.table thead{display:none}.table tr{display:flex;flex-wrap:wrap;padding:12px 16px;border-bottom:1px solid var(--gray-100)}.table td{display:block;padding:2px 0;border:none;font-size:13px}}