@import url(https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=DM+Sans:wght@400;500;600;700&display=swap);:root{--primary:#c8962e;--primary-hover:#b07d1a;--primary-light:#f0d78c;--primary-dark:#a37518;--primary-bg:#fdf6e8;--primary-bg-hover:#fbf0d6;--secondary:#1f2937;--secondary-light:#374151;--secondary-dark:#0b1220;--secondary-muted:#6b7280;--accent:#006b3f;--accent-light:#e6f5ee;--accent-hover:#005232;--danger:#d63031;--danger-light:#fdeaea;--danger-hover:#b71c1c;--warning:#e67e22;--warning-light:#fdf2e4;--info:#006b3f;--info-light:#e8f5ef;--bg:#f8fafc;--bg-alt:#f1f5f9;--bg-card:#fff;--border:#e6e9ee;--border-light:#f3f6fa;--border-hover:#e0e6ef;--text:#111827;--text-secondary:#374151;--text-muted:#9ca3af;--text-inverse:#fff;--shadow-xs:0 1px 2px #2a1f140a;--shadow-sm:0 1px 3px #2a1f140f,0 1px 2px #2a1f140a;--shadow-md:0 4px 12px -2px #2a1f1414,0 2px 4px -1px #2a1f140a;--shadow-lg:0 12px 28px -6px #2a1f141f,0 4px 8px -2px #2a1f140a;--shadow-xl:0 20px 40px -8px #2a1f1429;--shadow-glow:0 0 0 3px #c8962e26;--shadow-card:0 2px 8px -2px #2a1f140f;--radius-xs:4px;--radius-sm:8px;--radius:12px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--ease:cubic-bezier(0.25,0.1,0.25,1);--ease-spring:cubic-bezier(0.34,1.56,0.64,1);--ease-out:cubic-bezier(0,0,0.2,1);--duration-fast:150ms;--duration:250ms;--duration-slow:400ms;--sidebar-width:272px;--sidebar-collapsed:72px;--content-max:1280px;--header-height:64px}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:15px;scroll-behavior:smooth}body{background:#f8fafc;background:var(--bg);color:#111827;color:var(--text);font-family:Plus Jakarta Sans,DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.65;min-height:100vh}button{background:none;border:none;cursor:pointer}button,input,select,textarea{font-family:inherit;outline:none}input,select,textarea{font-size:.95rem}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}::-webkit-scrollbar{height:6px;width:6px}::-webkit-scrollbar-track{background:#0000}::-webkit-scrollbar-thumb{background:#e6e9ee;background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#9ca3af;background:var(--text-muted)}::selection{background:#c8962e;background:var(--primary);color:#fff}.app-layout{background:#f8fafc;background:var(--bg);display:flex;min-height:100vh}.main-content{flex:1 1;margin-left:272px;margin-left:var(--sidebar-width);min-height:100vh;padding:100px 40px 36px;padding:calc(var(--header-height) + 36px) 40px 36px}.main-content>div{animation:pageEnter .4s cubic-bezier(0,0,.2,1) both;animation:pageEnter var(--duration-slow) var(--ease-out) both;max-width:1280px;max-width:var(--content-max)}.app-topbar{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#fff9;border-bottom:1px solid #e6e9ee;border-bottom:1px solid var(--border);gap:12px;height:64px;height:var(--header-height);justify-content:flex-end;left:272px;left:var(--sidebar-width);padding:8px 36px;position:fixed;right:0;top:0;z-index:220}.app-topbar,.app-topbar-shop{align-items:center;display:flex}.app-topbar-shop{gap:10px;min-width:200px}.app-topbar-shop .shop-icon{align-items:center;border:1px solid #f3f6fa;border:1px solid var(--border-light);border-radius:10px;box-shadow:0 1px 2px #2a1f140a;box-shadow:var(--shadow-xs);color:#a37518;color:var(--primary-dark);display:flex;height:36px;justify-content:center;width:36px}.app-topbar-shop .shop-icon,.shop-select{background:#fff;background:var(--bg-card)}.shop-select{border:1px solid #e6e9ee;border:1px solid var(--border);border-radius:10px;color:#111827;color:var(--text);cursor:pointer;font-weight:600;min-width:160px;overflow:hidden;padding:10px 32px 10px 14px;text-overflow:ellipsis;transition:border-color .2s ease,box-shadow .2s ease;transition:border-color .2s var(--ease),box-shadow .2s var(--ease);white-space:nowrap}.shop-select:focus,.shop-select:hover{border-color:#c8962e;border-color:var(--primary);box-shadow:0 0 0 2px #006b3f33}.shop-badge{background:#fff;background:var(--bg-card);border:1px solid #e6e9ee;border:1px solid var(--border);border-radius:10px;color:#1f2937;color:var(--secondary);font-weight:700;padding:8px 12px}.mobile-topbar{display:none}@media (max-width:768px){.app-topbar{display:none}.main-content{background:#f8fafb;margin-left:0;padding:80px 16px 96px}.mobile-topbar{align-items:center;background:linear-gradient(90deg,#d63031,#c8962e 50%,#006b3f);box-shadow:0 2px 12px #0000002e;display:flex;height:62px;justify-content:space-between;left:0;padding:0 16px;position:fixed;right:0;top:0;z-index:200}.mobile-topbar-brand{align-items:center;display:flex;flex-shrink:0;gap:8px}.mobile-topbar-name{color:#fff;font-family:Plus Jakarta Sans,sans-serif;font-size:1.2rem;font-weight:800;letter-spacing:-.02em}.mobile-topbar-menu-btn{align-items:center;background:#ffffff26;border:1px solid #ffffff40;border-radius:10px;color:#fff;display:flex;flex-shrink:0;height:40px;justify-content:center;transition:background .15s;width:40px}.mobile-topbar-menu-btn:active{background:#ffffff47}.mobile-topbar-actions{align-items:center;display:flex;flex-shrink:0;gap:16px}.mobile-menu-overlay{inset:0;position:fixed;top:62px;z-index:190}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.mmenu-panel{animation:slideDown .2s ease both;background:#fff;border-radius:0 0 20px 20px;box-shadow:0 12px 32px #0000002e;left:0;overflow:hidden;position:fixed;right:0;top:62px;z-index:195}.mmenu-panel:before{background:linear-gradient(90deg,#d63031,#c8962e 50%,#006b3f);content:"";display:block;height:3px}.mmenu-greeting{gap:12px;padding:16px 20px 14px}.mmenu-avatar,.mmenu-greeting{align-items:center;display:flex}.mmenu-avatar{background:linear-gradient(135deg,#c8962e,#e8b84b);border-radius:50%;box-shadow:0 2px 8px #c8962e52;color:#fff;flex-shrink:0;font-size:1.1rem;font-weight:800;height:42px;justify-content:center;width:42px}.mmenu-avatar,.mmenu-hi{font-family:Plus Jakarta Sans,sans-serif}.mmenu-hi{color:#111827;font-size:.95rem;font-weight:700;line-height:1.3}.mmenu-biz{color:#9ca3af;font-size:.76rem;font-weight:500}.mmenu-divider{background:#f3f4f6;height:1px;margin:0 20px}.mmenu-section{padding:14px 20px}.mmenu-section-label{align-items:center;color:#9ca3af;display:flex;font-size:.7rem;font-weight:700;gap:5px;letter-spacing:.09em;margin-bottom:10px;text-transform:uppercase}.mmenu-select{-webkit-appearance:none;appearance:none;background-color:#f9fafb;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;border:1.5px solid #e5e7eb;border-radius:10px;color:#1f2937;cursor:pointer;font-size:.9rem;font-weight:600;padding:10px 36px 10px 14px;transition:border-color .15s,box-shadow .15s;width:100%}.mmenu-select:focus{border-color:#c8962e;box-shadow:0 0 0 3px #c8962e26;outline:none}.mmenu-shop-badge{background:#f9fafb;border:1.5px solid #e5e7eb;border-radius:10px;color:#1f2937;font-size:.9rem;font-weight:600;padding:10px 14px}.mmenu-placeholder{color:#9ca3af;font-size:.85rem;padding:8px 2px}.mmenu-ccy-row{display:flex;gap:10px}.mmenu-ccy-pill{background:#f9fafb;border:1.5px solid #e5e7eb;border-radius:10px;color:#6b7280;cursor:pointer;flex:1 1;font-size:.86rem;font-weight:700;letter-spacing:.04em;padding:11px 0;transition:all .16s ease}.mmenu-ccy-pill.active-ghs{background:linear-gradient(135deg,#c8962e,#e8b84b);border-color:#0000;box-shadow:0 2px 10px #c8962e52;color:#fff}.mmenu-ccy-pill.active-usd{background:linear-gradient(135deg,#006b3f,#22c55e);border-color:#0000;box-shadow:0 2px 10px #006b3f47;color:#fff}.mmenu-rate{color:#6b7280;font-size:.74rem;font-weight:500;margin-top:8px}.mmenu-rate-err{color:#d63031}.card{border:1px solid #f3f4f6;border-radius:14px;box-shadow:0 2px 6px #0000000f}.page-header h1{font-size:1.4rem}.mmenu-logout-btn{align-items:center;background:#fff1f1;border:1.5px solid #fee2e2;border-radius:10px;color:#d63031;cursor:pointer;display:flex;font-size:.9rem;font-weight:700;gap:10px;justify-content:center;padding:11px 14px;transition:background .15s;width:100%}.mmenu-logout-btn:active{background:#fee2e2}}.page-header{margin-bottom:32px}.page-header h1{color:#1f2937;color:var(--secondary);font-size:1.75rem;font-weight:800;letter-spacing:-.03em;line-height:1.2}.page-header p{color:#374151;color:var(--text-secondary);font-size:.92rem;font-weight:500;margin-top:6px}.page-header-row{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between}.card{background:#fff;background:var(--bg-card);border:2px solid #e6e9ee;border:2px solid var(--border);border-radius:16px;border-radius:var(--radius-lg);box-shadow:0 2px 8px -2px #2a1f140f;box-shadow:var(--shadow-card);transition:box-shadow .25s ease,transform .25s ease;transition:box-shadow var(--duration) var(--ease),transform var(--duration) var(--ease)}.card:hover{box-shadow:0 4px 12px -2px #2a1f1414,0 2px 4px -1px #2a1f140a;box-shadow:var(--shadow-md)}.card-header{align-items:center;border-bottom:2px solid #f3f6fa;border-bottom:2px solid var(--border-light);display:flex;justify-content:space-between;padding:20px 24px}.card-header h2{color:#1f2937;color:var(--secondary);font-size:1.05rem;font-weight:700;letter-spacing:-.01em}.card-body{padding:24px}.stat-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-bottom:32px}.stat-card{align-items:flex-start;background:#fff;background:var(--bg-card);border:2px solid #e6e9ee;border:2px solid var(--border);border-radius:16px;border-radius:var(--radius-lg);box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008;display:flex;gap:20px;overflow:hidden;padding:24px 28px;position:relative;transition:all .25s ease;transition:all var(--duration) var(--ease)}.stat-card:after{background:#c8962e;background:var(--primary);content:"";height:4px;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .25s ease;transition:opacity var(--duration) var(--ease)}.stat-card:hover{border-color:#f0d78c;border-color:var(--primary-light);box-shadow:0 10px 15px -3px #00000014,0 4px 6px -2px #0000000a;transform:translateY(-4px)}.stat-card:hover:after{opacity:1}.stat-icon{align-items:center;border-radius:16px;display:flex;flex-shrink:0;font-size:1.6rem;font-weight:700;height:56px;justify-content:center;width:56px}.stat-icon.gold{background:#fdf6e8;background:var(--primary-bg);color:#a37518;color:var(--primary-dark)}.stat-icon.green{background:#e6f5ee;background:var(--accent-light);color:#006b3f;color:var(--accent)}.stat-icon.red{background:#fdeaea;background:var(--danger-light);color:#d63031;color:var(--danger)}.stat-icon.blue{background:#e8f5ef;background:var(--info-light);color:#006b3f;color:var(--info)}.stat-icon.orange{background:#fdf2e4;background:var(--warning-light);color:#e67e22;color:var(--warning)}.stat-info h3{color:#9ca3af;color:var(--text-muted);font-size:.73rem;font-weight:700;letter-spacing:.06em;margin-bottom:4px;text-transform:uppercase}.stat-value{color:#1f2937;color:var(--secondary);font-size:1.55rem;font-weight:800;letter-spacing:-.02em;line-height:1.2}.stat-sub{color:#9ca3af;color:var(--text-muted);font-size:.78rem;font-weight:500;margin-top:4px}.btn{align-items:center;border-radius:12px;border-radius:var(--radius);display:inline-flex;font-size:.88rem;font-weight:600;gap:8px;justify-content:center;letter-spacing:.01em;padding:10px 22px;position:relative;transition:all .15s ease;transition:all var(--duration-fast) var(--ease);white-space:nowrap}.btn-primary{background:linear-gradient(135deg,#c8962e,#a37518);background:linear-gradient(135deg,var(--primary) 0,var(--primary-dark) 100%);box-shadow:0 2px 8px -2px #c8962e66;color:#fff}.btn-primary:hover{background:linear-gradient(135deg,#b07d1a,#a37518);background:linear-gradient(135deg,var(--primary-hover) 0,var(--primary-dark) 100%);box-shadow:0 4px 14px -3px #c8962e80;transform:translateY(-1px)}.btn-primary:active{box-shadow:0 1px 4px #c8962e4d;transform:translateY(0)}.btn-secondary{background:#1f2937;background:var(--secondary);color:#fff;color:var(--text-inverse)}.btn-secondary:hover{background:#374151;background:var(--secondary-light);transform:translateY(-1px)}.btn-outline{background:#0000;border:2px solid #e6e9ee;border:2px solid var(--border);color:#111827;color:var(--text)}.btn-outline:hover{background:#fdf6e8;background:var(--primary-bg);border-color:#c8962e;border-color:var(--primary);color:#a37518;color:var(--primary-dark)}.btn-danger{background:var(--danger);box-shadow:0 2px 6px -2px #d6303159}.btn-danger:hover{background:#b71c1c;background:var(--danger-hover);transform:translateY(-1px)}.btn-success{background:#006b3f;background:var(--accent);box-shadow:0 2px 6px -2px #006b3f59;color:#fff}.btn-success:hover{background:#005232;background:var(--accent-hover);transform:translateY(-1px)}.btn-ghost{background:#0000;color:#374151;padding:8px 12px}.btn-ghost:hover{background:#f3f6fa;background:var(--border-light);color:#111827;color:var(--text)}.btn-sm{border-radius:8px;border-radius:var(--radius-sm);font-size:.82rem;padding:7px 15px}.btn-lg{border-radius:12px;border-radius:var(--radius);font-size:1rem;padding:14px 32px}.btn-icon{border-radius:8px;border-radius:var(--radius-sm);height:38px;padding:8px;width:38px}.btn:disabled{box-shadow:none!important;cursor:not-allowed;opacity:.5;transform:none!important}.form-group{margin-bottom:20px}.form-group label{display:block;font-size:.84rem;font-weight:600;letter-spacing:.01em;margin-bottom:7px}.form-group label,.form-input{color:#111827;color:var(--text)}.form-input{background:#fff;background:var(--bg-card);border:1.5px solid #e6e9ee;border:1.5px solid var(--border);border-radius:12px;border-radius:var(--radius);font-size:.95rem;padding:12px 16px;transition:border-color .15s ease,box-shadow .15s ease;transition:border-color var(--duration-fast) var(--ease),box-shadow var(--duration-fast) var(--ease);width:100%}.form-input:focus{border-color:#c8962e;border-color:var(--primary);box-shadow:0 0 0 3px #c8962e26;box-shadow:var(--shadow-glow)}.form-input::placeholder{color:#9ca3af;color:var(--text-muted)}.form-input.error{border-color:#d63031;border-color:var(--danger);box-shadow:0 0 0 3px #d630311a}.form-error{color:#d63031;color:var(--danger);font-size:.8rem;font-weight:500;margin-top:4px}.form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}@media (max-width:600px){.form-row{grid-template-columns:1fr}}.form-select{-webkit-appearance:none;appearance:none;background:#fff;background:var(--bg-card);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236B5D4F' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:20px;border:1.5px solid #e6e9ee;border:1.5px solid var(--border);border-radius:12px;border-radius:var(--radius);color:#111827;color:var(--text);cursor:pointer;font-size:.95rem;padding:12px 16px;transition:border-color .15s ease,box-shadow .15s ease;transition:border-color var(--duration-fast) var(--ease),box-shadow var(--duration-fast) var(--ease);width:100%}.form-select:focus{border-color:#c8962e;border-color:var(--primary);box-shadow:0 0 0 3px #c8962e26;box-shadow:var(--shadow-glow)}.autocomplete-list{background:#fff;background:var(--bg-card);border:1px solid #e6e9ee;border:1px solid var(--border);border-radius:12px;box-shadow:0 12px 28px -6px #2a1f141f,0 4px 8px -2px #2a1f140a;box-shadow:var(--shadow-lg);left:0;margin-top:8px;max-height:220px;overflow-y:auto;position:absolute;right:0;z-index:60}.autocomplete-item{color:#111827;color:var(--text);cursor:pointer;font-weight:600;padding:10px 14px;transition:background .15s ease,color .15s ease;transition:background var(--duration-fast) var(--ease),color var(--duration-fast) var(--ease)}.autocomplete-item--active,.autocomplete-item:hover{background:#fbf0d6;background:var(--primary-bg-hover);color:#a37518;color:var(--primary-dark)}.autocomplete-no-results{color:#374151;color:var(--text-secondary);padding:10px 14px}.form-input[placeholder]{padding-right:12px}.table-container{background:#fff;background:var(--bg-card);border:2px solid #e6e9ee;border:2px solid var(--border);border-radius:16px;border-radius:var(--radius-lg);box-shadow:0 2px 8px -2px #2a1f140f;box-shadow:var(--shadow-card);overflow-x:auto}.data-table{border-collapse:collapse;width:100%}.data-table th{background:#f1f5f9;background:var(--bg-alt);border-bottom:2px solid #e6e9ee;border-bottom:2px solid var(--border);color:#9ca3af;color:var(--text-muted);font-size:.73rem;font-weight:700;letter-spacing:.06em;padding:14px 18px;text-align:left;text-transform:uppercase;white-space:nowrap}.data-table td{border-bottom:2px solid #f3f6fa;border-bottom:2px solid var(--border-light);color:#111827;color:var(--text);font-size:.9rem;padding:16px 18px;vertical-align:middle}.data-table tr:last-child td{border-bottom:none}.data-table tr{transition:background .15s ease;transition:background var(--duration-fast) var(--ease)}.data-table tr:hover td{background:#fdf6e8;background:var(--primary-bg)}.hover-highlight:hover{background:#fdf6e8!important;background:var(--primary-bg)!important;cursor:pointer}.expanded-sales-table{border-collapse:collapse}.expanded-sales-table tbody tr.expanded-row-item{border-bottom:1px solid #000!important;transition:background .2s ease}.expanded-sales-table tbody tr.expanded-row-item:hover,.expanded-sales-table tbody tr.expanded-row-item:hover td{background-color:#dcfce7!important;cursor:pointer}.expanded-sales-table tbody td{background:#0000!important;border:1px solid #000!important;color:#000!important}.expanded-sales-table thead th{background:#f9fafb!important;border:1px solid #000!important;border-bottom:3px solid #059300!important;color:#000!important;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.expanded-sales-table tbody tr.expanded-row-summary td{background:#f3f4f6!important;border-top:2px solid #000!important;font-weight:800}.expanded-sales-table tbody tr.expanded-row-summary td:first-child{width:80px}.expanded-sales-table tbody tr.expanded-row-summary td:nth-child(3){color:#0f172a}.expanded-sales-table tbody tr.expanded-row-summary td:nth-child(5){color:#a37518;color:var(--primary-dark)}.batch-expanded-section{animation:slideDown .3s ease-out;background:#fff;border-bottom:2px solid #000;border-top:2px solid #000;padding:24px}.batch-expanded-header{align-items:center;border-bottom:2px solid #000;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:12px}.extended-table-container{border:2px solid #000!important;border-radius:4px!important;box-shadow:0 4px 6px -1px #0000001a;overflow:hidden}.badge{align-items:center;border-radius:9999px;border-radius:var(--radius-full);display:inline-flex;font-size:.73rem;font-weight:700;letter-spacing:.02em;padding:4px 11px;white-space:nowrap}.badge-success{background:#e6f5ee;background:var(--accent-light);color:#004d2e}.badge-danger{background:#fdeaea;background:var(--danger-light);color:#8b1a1a}.badge-warning{background:#fdf2e4;background:var(--warning-light);color:#8b4513}.badge-info{background:#e8f5ef;background:var(--info-light);color:#004d2c}.badge-neutral{background:#f1f5f9;background:var(--bg-alt);color:#374151;color:var(--text-secondary)}.modal-overlay{align-items:center;animation:fadeIn .15s ease;animation:fadeIn var(--duration-fast) var(--ease);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);background:#1a12098c;display:flex;inset:0;justify-content:center;min-height:100vh;padding:20px;position:fixed;z-index:1000}.modal{align-self:center;animation:modalSlideUp .25s cubic-bezier(.34,1.56,.64,1);animation:modalSlideUp var(--duration) var(--ease-spring);background:#fff;background:var(--bg-card);border-radius:24px;border-radius:var(--radius-xl);box-shadow:0 20px 40px -8px #2a1f1429;box-shadow:var(--shadow-xl);display:flex;flex-direction:column;margin:auto;max-height:calc(100vh - 64px);max-width:520px;overflow-y:auto;width:100%}.modal-header{align-items:center;display:flex;justify-content:space-between;padding:24px 28px 0}.modal-header h2{color:#1f2937;color:var(--secondary);font-size:1.2rem;font-weight:700;letter-spacing:-.01em}.modal-close{align-items:center;border-radius:9999px;border-radius:var(--radius-full);color:#9ca3af;color:var(--text-muted);display:flex;font-size:1.1rem;height:34px;justify-content:center;transition:all .15s;transition:all var(--duration-fast);width:34px}.modal-close:hover{background:#fdeaea;background:var(--danger-light);color:#d63031;color:var(--danger)}.modal-body{padding:22px 28px}.modal-footer{display:flex;gap:10px;justify-content:flex-end;padding:0 28px 24px}.search-bar{max-width:340px;position:relative}.search-bar input{background:#fff;background:var(--bg-card);border:1.5px solid #e6e9ee;border:1.5px solid var(--border);border-radius:9999px;border-radius:var(--radius-full);font-size:.9rem;padding:11px 16px 11px 42px;transition:border-color .15s,box-shadow .15s;transition:border-color var(--duration-fast),box-shadow var(--duration-fast);width:100%}.search-bar input:focus{border-color:#c8962e;border-color:var(--primary);box-shadow:0 0 0 3px #c8962e26;box-shadow:var(--shadow-glow);outline:none}.search-bar .search-icon{color:#9ca3af;color:var(--text-muted);font-size:1.05rem;left:14px;position:absolute;top:50%;transform:translateY(-50%)}.empty-state{color:#9ca3af;color:var(--text-muted);padding:72px 20px;text-align:center}.empty-state .empty-icon{font-size:3.2rem;margin-bottom:16px;opacity:.35}.empty-state h3{color:#374151;color:var(--text-secondary);font-size:1.15rem;font-weight:700;letter-spacing:-.01em;margin-bottom:8px}.empty-state p{font-size:.9rem;line-height:1.6;margin:0 auto;max-width:360px}.loading-screen{align-items:center;display:flex;flex-direction:column;gap:18px;justify-content:center;min-height:100vh}.spinner{animation:spin .7s linear infinite;border:3px solid #e6e9ee;border-top-color:#c8962e;border:3px solid var(--border);border-radius:50%;border-top-color:var(--primary);height:38px;width:38px}.loading-inline{align-items:center;display:flex;justify-content:center;padding:48px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes pageEnter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(1turn)}}@keyframes shimmer{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}@keyframes pulse-soft{0%,to{opacity:1}50%{opacity:.7}}.text-success{color:#006b3f!important;color:var(--accent)!important}.text-danger{color:#d63031!important;color:var(--danger)!important}.text-warning{color:#e67e22!important;color:var(--warning)!important}.text-muted{color:#9ca3af!important;color:var(--text-muted)!important}.text-primary{color:#c8962e!important;color:var(--primary)!important}.text-right{text-align:right!important}.text-center{text-align:center!important}.font-mono{font-family:SF Mono,Fira Code,Cascadia Code,monospace}.fw-600{font-weight:600}.fw-700{font-weight:700}.mt-1{margin-top:8px}.mt-2{margin-top:16px}.mt-3{margin-top:24px}.mb-1{margin-bottom:8px}.mb-2{margin-bottom:16px}.mb-3{margin-bottom:24px}.flex{display:flex}.items-center{align-items:center}.gap-1{gap:8px}.gap-2{gap:16px}.currency{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.action-btns{display:flex;gap:4px}.action-btns button{border-radius:8px;border-radius:var(--radius-sm);color:#9ca3af;color:var(--text-muted);font-size:1.05rem;padding:7px;transition:all .15s;transition:all var(--duration-fast)}.action-btns button:hover{background:#f3f6fa;background:var(--border-light);color:#111827;color:var(--text)}.action-btns button.edit:hover{background:#e8f5ef;background:var(--info-light);color:#006b3f;color:var(--info)}.action-btns button.delete:hover{background:#fdeaea;background:var(--danger-light);color:#d63031;color:var(--danger)}@media (max-width:640px){.stat-grid{gap:10px;grid-template-columns:1fr 1fr}.stat-card{padding:16px}.stat-value{font-size:1.25rem}.page-header h1{font-size:1.35rem}.page-header p{font-size:.88rem}.table-container{-webkit-overflow-scrolling:touch;overflow-x:auto}.data-table{min-width:760px}.data-table td,.data-table th{font-size:.88rem;padding:10px 8px}.modal-footer{display:flex;flex-wrap:wrap;gap:10px}.modal-footer .btn{flex:1 1 auto;min-width:120px}.form-input{font-size:.95rem;padding:12px}.btn,.btn-sm{padding:10px 14px}.modal{border-radius:16px;border-radius:var(--radius-lg);max-width:calc(100vw - 32px)}}@media (max-width:480px){.main-content{padding:84px 14px calc(90px + env(safe-area-inset-bottom));padding:calc(var(--header-height) + 20px) 14px calc(90px + env(safe-area-inset-bottom))}.page-header h1{font-size:1.25rem}.page-header p{font-size:.8rem}.page-header-row{gap:10px}.stat-grid{gap:12px;grid-template-columns:1fr}.stat-card{padding:14px}.stat-card .stat-footer{align-items:center;display:flex;gap:8px}.card{border-radius:12px}.card-header{padding:14px}.card-body{padding:16px}.form-row{gap:12px;grid-template-columns:1fr}.form-group{margin-bottom:14px}.form-input,.form-select{font-size:.95rem;padding:12px}.table-container{-webkit-overflow-scrolling:touch;overflow-x:auto}.data-table{min-width:680px}.data-table td,.data-table th{font-size:.82rem;padding:9px 8px}.data-table td.currency{white-space:nowrap}.modal{max-width:calc(100vw - 20px)}.modal-footer{flex-direction:column-reverse;gap:10px}.modal-footer .btn{width:100%}.mobile-nav-item{font-size:.72rem;padding:8px 12px}.mobile-nav-item .nav-icon{font-size:1.45rem}.btn-primary{font-size:.98rem;padding:12px 16px}.btn-sm{font-size:.9rem;padding:10px 12px}.chart-card{min-height:260px}.report-chart-card{min-height:220px}.dashboard-hero{padding:12px 6px}}.kente-accent{position:relative}.kente-accent:after{background:repeating-linear-gradient(90deg,#c8962e,#c8962e 8px,#006b3f 0,#006b3f 16px,#d63031 0,#d63031 24px,#c8962e 0,#c8962e 32px);background:repeating-linear-gradient(90deg,var(--primary) 0,var(--primary) 8px,var(--accent) 8px,var(--accent) 16px,var(--danger) 16px,var(--danger) 24px,var(--primary) 24px,var(--primary) 32px);border-radius:0 0 16px 16px;border-radius:0 0 var(--radius-lg) var(--radius-lg);bottom:0;content:"";height:3px;left:0;position:absolute;right:0}.top-products-list{display:flex;flex-direction:column;gap:0}.tp-row{grid-gap:12px;align-items:center;border-bottom:1px solid #f1f5f9;display:grid;gap:12px;grid-template-columns:36px 1fr auto;padding:11px 0;transition:background .15s ease}.tp-row:last-child{border-bottom:none}.tp-row:hover{background:#fafbfc;border-radius:8px;margin-left:-6px;padding-left:6px}.tp-rank{align-items:center;border-radius:10px;display:flex;flex-shrink:0;font-size:.78rem;font-weight:800;height:32px;justify-content:center;letter-spacing:-.01em;width:32px}.tp-rank.r1{background:linear-gradient(135deg,#f5c842,#c8962e);color:#fff}.tp-rank.r2{background:linear-gradient(135deg,#e2e8f0,#cbd5e1);color:#475569}.tp-rank.r3{background:linear-gradient(135deg,#fed7aa,#f97316);color:#fff}.tp-rank.rn{background:#f1f5f9;color:#94a3b8}.tp-mid{display:flex;flex-direction:column;gap:5px;min-width:0}.tp-name{color:#0f172a;font-size:.88rem;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tp-meta{color:#94a3b8;font-size:.72rem;font-weight:500}.tp-bar-track{background:#e8ecf1;border-radius:3px;height:5px;overflow:hidden}.tp-bar-fill{border-radius:3px;height:100%;transition:width .5s ease}.tp-revenue{flex-shrink:0;text-align:right}.tp-rev-amount{font-feature-settings:"tnum";color:#0f172a;font-size:.9rem;font-weight:800;white-space:nowrap}.tp-rev-pct{color:#94a3b8;font-size:.7rem;font-weight:600;margin-top:1px}@media (max-width:768px){.products-page .table-container{background:#0000;border:none;border-radius:0;box-shadow:none;overflow:hidden;padding:0}.products-page .data-table{box-sizing:border-box;display:block;min-width:0!important;width:100%}.products-page .data-table tbody{display:block}.products-page .data-table thead{display:none}.products-page .data-table tbody tr{background:#fff;border:1.5px solid #e5e7eb;border-radius:14px;box-shadow:0 2px 10px #0000000f;display:block;margin-bottom:12px;overflow:hidden;padding:0;position:relative;transition:box-shadow .15s}.products-page .data-table tbody tr:hover td{background:#0000}.products-page .data-table tbody tr:before{background:linear-gradient(180deg,#d63031,#c8962e 50%,#006b3f);border-radius:14px 0 0 14px;bottom:0;content:"";left:0;position:absolute;top:0;width:4px}.products-page .data-table tbody td{border:none;display:block;padding:0}.products-page .data-table tbody td:first-child{color:#111827!important;font-size:1rem!important;font-weight:700!important;padding:14px 16px 10px 20px}.products-page .data-table tbody td:nth-child(2),.products-page .data-table tbody td:nth-child(3),.products-page .data-table tbody td:nth-child(4),.products-page .data-table tbody td:nth-child(5),.products-page .data-table tbody td:nth-child(6),.products-page .data-table tbody td:nth-child(7){align-items:baseline;color:#6b7280!important;display:flex;font-size:.83rem;gap:8px;padding:3px 16px 3px 20px;text-align:left!important}.products-page .data-table tbody td:nth-child(2):before{content:"Cost"}.products-page .data-table tbody td:nth-child(3):before{content:"Selling"}.products-page .data-table tbody td:nth-child(4):before{content:"Margin"}.products-page .data-table tbody td:nth-child(5):before{content:"Stock"}.products-page .data-table tbody td:nth-child(6):before{content:"Added"}.products-page .data-table tbody td:nth-child(7):before{content:"Status"}.products-page .data-table tbody td:nth-child(2):before,.products-page .data-table tbody td:nth-child(3):before,.products-page .data-table tbody td:nth-child(4):before,.products-page .data-table tbody td:nth-child(5):before,.products-page .data-table tbody td:nth-child(6):before,.products-page .data-table tbody td:nth-child(7):before{color:#9ca3af;flex-shrink:0;font-size:.66rem;font-weight:700;letter-spacing:.07em;min-width:58px;text-transform:uppercase}.products-page .data-table tbody td:nth-child(7){padding-bottom:10px}.products-page .data-table tbody td:nth-child(8){border-top:1px solid #f3f4f6;padding:10px 16px 12px 20px}.products-page .action-btns button{font-size:1rem;height:36px;width:36px}.customers-page .table-container{background:#0000;border:none;border-radius:0;box-shadow:none;overflow:hidden;padding:0}.customers-page .data-table{box-sizing:border-box;display:block;min-width:0!important;width:100%}.customers-page .data-table tbody{display:block}.customers-page .data-table thead{display:none}.customers-page .data-table tbody tr{background:#fff;border:1.5px solid #e5e7eb;border-radius:14px;box-shadow:0 2px 10px #0000000f;display:block;margin-bottom:12px;overflow:hidden;padding:0;position:relative;transition:box-shadow .15s}.customers-page .data-table tbody tr:hover td{background:#0000}.customers-page .data-table tbody tr:before{background:linear-gradient(180deg,#d63031,#c8962e 50%,#006b3f);border-radius:14px 0 0 14px;bottom:0;content:"";left:0;position:absolute;top:0;width:4px}.customers-page .data-table tbody td{border:none;display:block;padding:0}.customers-page .data-table tbody td:first-child{color:#111827!important;font-size:1rem!important;font-weight:700!important;padding:14px 16px 10px 20px}.customers-page .data-table tbody td:nth-child(2),.customers-page .data-table tbody td:nth-child(3),.customers-page .data-table tbody td:nth-child(4){align-items:baseline;color:#6b7280!important;display:flex;font-size:.83rem;gap:8px;padding:3px 16px 3px 20px}.customers-page .data-table tbody td:nth-child(2):before{content:"Phone"}.customers-page .data-table tbody td:nth-child(3):before{content:"Debt"}.customers-page .data-table tbody td:nth-child(4):before{content:"Status"}.customers-page .data-table tbody td:nth-child(2):before,.customers-page .data-table tbody td:nth-child(3):before,.customers-page .data-table tbody td:nth-child(4):before{color:#9ca3af;flex-shrink:0;font-size:.66rem;font-weight:700;letter-spacing:.07em;min-width:58px;text-transform:uppercase}.customers-page .data-table tbody td:nth-child(4){padding-bottom:10px}.customers-page .data-table tbody td:nth-child(5){border-top:1px solid #f3f4f6;padding:10px 16px 12px 20px}.customers-page .action-btns button{font-size:1rem;height:36px;width:36px}.sales-page .table-container{background:#0000;border:none;border-radius:0;box-shadow:none;overflow:hidden;padding:0}.sales-page .data-table{box-sizing:border-box;display:block;min-width:0!important;width:100%}.sales-page .data-table tbody{display:block}.sales-page .data-table thead{display:none}.sales-page .data-table tbody tr{background:#fff;border:1.5px solid #e5e7eb;border-radius:14px;box-shadow:0 2px 10px #0000000f;display:block;margin-bottom:12px;overflow:hidden;padding:0;position:relative;transition:box-shadow .15s}.sales-page .data-table tbody tr:hover td{background:#0000}.sales-page .data-table tbody tr:before{background:linear-gradient(180deg,#d63031,#c8962e 50%,#006b3f);border-radius:14px 0 0 14px;bottom:0;content:"";left:0;position:absolute;top:0;width:4px}.sales-page .data-table tbody td{border:none;display:block;padding:0}.sales-page .data-table tbody td:first-child{color:#111827!important;font-size:1rem!important;font-weight:700!important;padding:14px 16px 10px 20px}.sales-page .data-table tbody td:nth-child(2),.sales-page .data-table tbody td:nth-child(3),.sales-page .data-table tbody td:nth-child(4),.sales-page .data-table tbody td:nth-child(5),.sales-page .data-table tbody td:nth-child(6),.sales-page .data-table tbody td:nth-child(7){align-items:baseline;color:#6b7280!important;display:flex;font-size:.83rem;gap:8px;padding:3px 16px 3px 20px;text-align:left!important}.sales-page .data-table tbody td:nth-child(2):before{content:"Product"}.sales-page .data-table tbody td:nth-child(3):before{content:"Qty"}.sales-page .data-table tbody td:nth-child(4):before{content:"Unit Price"}.sales-page .data-table tbody td:nth-child(5):before{content:"Total"}.sales-page .data-table tbody td:nth-child(6):before{content:"Payment"}.sales-page .data-table tbody td:nth-child(7):before{content:"Status"}.sales-page .data-table tbody td:nth-child(2):before,.sales-page .data-table tbody td:nth-child(3):before,.sales-page .data-table tbody td:nth-child(4):before,.sales-page .data-table tbody td:nth-child(5):before,.sales-page .data-table tbody td:nth-child(6):before,.sales-page .data-table tbody td:nth-child(7):before{color:#9ca3af;flex-shrink:0;font-size:.66rem;font-weight:700;letter-spacing:.07em;min-width:64px;text-transform:uppercase}.sales-page .data-table tbody td:nth-child(7){padding-bottom:10px}.sales-page .data-table tbody td:nth-child(8){border-top:1px solid #f3f4f6;padding:10px 16px 12px 20px}.sales-page .action-btns button{font-size:1rem;height:36px;width:36px}.workers-page .table-container{background:#0000;border:none;border-radius:0;box-shadow:none;overflow:hidden;padding:0}.workers-page .data-table{box-sizing:border-box;display:block;min-width:0!important;width:100%}.workers-page .data-table tbody{display:block}.workers-page .data-table thead{display:none}.workers-page .data-table tbody tr{background:#fff;border:1.5px solid #e5e7eb;border-radius:14px;box-shadow:0 2px 10px #0000000f;display:block;margin-bottom:12px;overflow:hidden;padding:0;position:relative;transition:box-shadow .15s}.workers-page .data-table tbody tr:hover td{background:#0000}.workers-page .data-table tbody tr:before{background:linear-gradient(180deg,#d63031,#c8962e 50%,#006b3f);border-radius:14px 0 0 14px;bottom:0;content:"";left:0;position:absolute;top:0;width:4px}.workers-page .data-table tbody td{border:none;display:block;padding:0}.workers-page .data-table tbody td:first-child{color:#111827!important;font-size:1rem!important;font-weight:700!important;padding:14px 16px 10px 20px}.workers-page .data-table tbody td:nth-child(2),.workers-page .data-table tbody td:nth-child(3),.workers-page .data-table tbody td:nth-child(4),.workers-page .data-table tbody td:nth-child(5){align-items:baseline;color:#6b7280!important;display:flex;font-size:.83rem;gap:8px;padding:3px 16px 3px 20px}.workers-page .data-table tbody td:nth-child(2):before{content:"Shop"}.workers-page .data-table tbody td:nth-child(3):before{content:"Role"}.workers-page .data-table tbody td:nth-child(4):before{content:"Status"}.workers-page .data-table tbody td:nth-child(5):before{content:"Last Login"}.workers-page .data-table tbody td:nth-child(2):before,.workers-page .data-table tbody td:nth-child(3):before,.workers-page .data-table tbody td:nth-child(4):before,.workers-page .data-table tbody td:nth-child(5):before{color:#9ca3af;flex-shrink:0;font-size:.66rem;font-weight:700;letter-spacing:.07em;min-width:68px;text-transform:uppercase}.workers-page .data-table tbody td:nth-child(5){padding-bottom:10px}.workers-page .data-table tbody td:nth-child(6){border-top:1px solid #f3f4f6;padding:10px 16px 12px 20px}.workers-page .action-btns button{font-size:1rem;height:36px;width:36px}.expenses-page .table-container{background:#fff;border:1px solid #e5e7eb;border-radius:18px;box-shadow:0 8px 28px #0f172a0d;overflow-x:auto}.expenses-page .data-table{border-collapse:initial;border-spacing:0;min-width:980px;table-layout:fixed;width:100%}.expenses-page .data-table thead{display:table-header-group}.expenses-page .data-table thead th{background:linear-gradient(180deg,#fcfcfd,#f8fafc);border-bottom:1px solid #e5e7eb;color:#475467;font-size:.75rem;font-weight:800;letter-spacing:.08em;padding:14px 16px;text-transform:uppercase;white-space:nowrap}.expenses-page .data-table thead th:first-child{padding-left:22px}.expenses-page .data-table thead th:last-child{padding-right:22px;text-align:right;width:96px}.expenses-page .data-table tbody tr{background:#fff;transition:background-color .16s ease,box-shadow .16s ease}.expenses-page .data-table tbody tr:hover{background:#fcfcfd}.expenses-page .data-table tbody td{border-bottom:1px solid #eef2f6;color:#475467;font-size:.92rem;padding:15px 16px;vertical-align:middle}.expenses-page .data-table tbody tr:last-child td{border-bottom:none}.expenses-page .data-table tbody td:first-child{color:#0f172a;font-weight:700;padding-left:22px;white-space:nowrap}.expenses-page .data-table tbody td:nth-child(2){width:28%}.expenses-page .data-table tbody td:nth-child(4){color:#344054;font-weight:600}.expenses-page .data-table tbody td:nth-child(5){font-weight:700;white-space:nowrap}.expenses-page .data-table tbody td:nth-child(6){white-space:nowrap}.expenses-page .data-table tbody td:last-child{padding-right:22px}.expenses-page .action-btns{justify-content:flex-end}.expenses-page .action-btns button{font-size:1rem;height:36px;width:36px}.expense-proof-link{align-items:center;color:#0f766e;display:inline-flex;font-weight:600;gap:6px;text-decoration:none}.expense-proof-link:hover{color:#115e59}.expense-proof-link-inline{margin-top:10px}.expense-proof-meta{color:#4b5563;font-size:.85rem;margin-top:8px}.expense-row{cursor:pointer}.expense-link-btn{-webkit-appearance:none;appearance:none;background:#0000;border:0;color:inherit;cursor:pointer;font:inherit;font-weight:600;line-height:1.4;margin:0;padding:0;text-align:left}.expense-link-btn:hover{color:#0f766e}.expense-proof-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}.expense-inline-action{background:#0000;border:0;color:#0f766e;cursor:pointer;font-weight:600;margin-left:10px;padding:0}.expense-details{grid-gap:20px;display:grid;gap:20px}.expense-details-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.expense-details-label{color:#6b7280;display:block;font-size:.75rem;letter-spacing:.08em;margin-bottom:6px;text-transform:uppercase}.expense-details-proof{grid-gap:12px;display:grid;gap:12px}.expense-details-proof-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}.expense-proof-preview-frame,.expense-proof-preview-image{background:#f9fafb;border:1px solid #e5e7eb;border-radius:14px;min-height:420px;width:100%}.expense-proof-preview-image{max-height:65vh;object-fit:contain}.expense-proof-empty,.expense-proof-file-card{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:14px;color:#4b5563;display:flex;gap:12px;padding:16px}.expenses-page .data-table tbody td:before{display:none}}@media (max-width:480px){.customers-page .data-table,.expenses-page .data-table,.products-page .data-table,.sales-page .data-table,.workers-page .data-table{min-width:0!important;width:100%}.customers-page .data-table tbody tr,.expenses-page .data-table tbody tr,.products-page .data-table tbody tr,.sales-page .data-table tbody tr,.workers-page .data-table tbody tr{border-radius:12px;margin-bottom:10px}.customers-page .data-table tbody td:first-child,.expenses-page .data-table tbody td:first-child,.products-page .data-table tbody td:first-child,.sales-page .data-table tbody td:first-child,.workers-page .data-table tbody td:first-child{font-size:.95rem!important;padding:12px 14px 8px 18px}.customers-page .data-table tbody td:nth-child(n+2):not(:last-child),.expenses-page .data-table tbody td:nth-child(n+2):not(:last-child),.products-page .data-table tbody td:nth-child(n+2):not(:last-child),.sales-page .data-table tbody td:nth-child(n+2):not(:last-child),.workers-page .data-table tbody td:nth-child(n+2):not(:last-child){font-size:.8rem;padding:3px 14px 3px 18px}.customers-page .action-btns button,.expenses-page .action-btns button,.products-page .action-btns button,.sales-page .action-btns button,.workers-page .action-btns button{height:36px;width:36px}}@media (max-width:375px){.customers-page .data-table,.expenses-page .data-table,.products-page .data-table,.sales-page .data-table,.workers-page .data-table{min-width:0!important;width:100%}.customers-page .data-table tbody td:first-child,.expenses-page .data-table tbody td:first-child,.products-page .data-table tbody td:first-child,.sales-page .data-table tbody td:first-child,.workers-page .data-table tbody td:first-child{font-size:.9rem!important;padding:10px 12px 6px 16px}.customers-page .data-table tbody td:nth-child(n+2):not(:last-child),.expenses-page .data-table tbody td:nth-child(n+2):not(:last-child),.products-page .data-table tbody td:nth-child(n+2):not(:last-child),.sales-page .data-table tbody td:nth-child(n+2):not(:last-child),.workers-page .data-table tbody td:nth-child(n+2):not(:last-child){font-size:.77rem;padding:2px 12px 2px 16px}.customers-page .action-btns button,.expenses-page .action-btns button,.products-page .action-btns button,.sales-page .action-btns button,.workers-page .action-btns button{font-size:.9rem;height:32px;width:32px}}@media (max-width:768px){.batches-page .table-container{background:#0000;border:none;border-radius:0;box-shadow:none;overflow:hidden;padding:0}.batches-page .data-table{box-sizing:border-box;display:block;min-width:0!important;width:100%}.batches-page .data-table thead{display:none}.batches-page .data-table tbody{display:block}.batches-page .data-table tbody tr:not(.batch-expanded-row){background:#fff;border:1.5px solid #e5e7eb;border-radius:14px;box-shadow:0 2px 10px #0000000f;display:block;margin-bottom:12px;overflow:hidden;padding:0;position:relative;transition:box-shadow .15s}.batches-page .data-table tbody tr:not(.batch-expanded-row):hover td{background:#0000}.batches-page .data-table tbody tr:not(.batch-expanded-row):before{background:linear-gradient(180deg,#d63031,#c8962e 50%,#006b3f);border-radius:14px 0 0 14px;bottom:0;content:"";left:0;position:absolute;top:0;width:4px}.batches-page .data-table tbody td{border:none;display:block;padding:0}.batches-page .data-table tbody td:first-child{color:#111827!important;font-size:1rem!important;font-weight:700!important;padding:14px 16px 10px 20px}.batches-page .data-table tbody td:nth-child(2),.batches-page .data-table tbody td:nth-child(3),.batches-page .data-table tbody td:nth-child(4),.batches-page .data-table tbody td:nth-child(5){align-items:baseline;color:#6b7280!important;display:flex;font-size:.83rem;gap:8px;padding:3px 16px 3px 20px;text-align:left!important}.batches-page .data-table tbody td:nth-child(2):not(.text-right):before{color:#9ca3af;content:"Shop";flex-shrink:0;font-size:.66rem;font-weight:700;letter-spacing:.07em;min-width:58px;text-transform:uppercase}.batches-page .data-table tbody td.text-right:not(.currency):before{content:"Sales"}.batches-page .data-table tbody td.currency:before,.batches-page .data-table tbody td.text-right:not(.currency):before{color:#9ca3af;flex-shrink:0;font-size:.66rem;font-weight:700;letter-spacing:.07em;min-width:58px;text-transform:uppercase}.batches-page .data-table tbody td.currency:before{content:"Revenue"}.batches-page .data-table tbody tr:not(.batch-expanded-row) td:last-child{border-top:1px solid #f3f4f6;padding:10px 16px 12px 20px}.batches-page .data-table tbody tr.batch-expanded-row{display:block;margin-bottom:12px}.batches-page .data-table tbody tr.batch-expanded-row td{display:block;padding:0}.extended-table-container{-webkit-overflow-scrolling:touch;overflow-x:auto!important}.batch-expanded-section{padding:16px}.batch-expanded-header{flex-wrap:wrap;gap:8px}}@media (max-width:480px){.batches-page .data-table{min-width:0!important;width:100%}.batches-page .data-table tbody tr:not(.batch-expanded-row){border-radius:12px;margin-bottom:10px}.batches-page .data-table tbody td:first-child{font-size:.95rem!important;padding:12px 14px 8px 18px}.batches-page .data-table tbody td:nth-child(2),.batches-page .data-table tbody td:nth-child(3),.batches-page .data-table tbody td:nth-child(4),.batches-page .data-table tbody td:nth-child(5){font-size:.8rem;padding:3px 14px 3px 18px}.batch-expanded-section{padding:12px 8px}}@media (max-width:768px){.expenses-page .table-container{background:#0000;border:none;border-radius:0;box-shadow:none;overflow:hidden;padding:0}.expenses-page .data-table{box-sizing:border-box;display:block;min-width:0!important;width:100%}.expenses-page .data-table tbody{display:block}.expenses-page .data-table thead{display:none}.expenses-page .data-table tbody tr{background:#fff;border:1.5px solid #e5e7eb;border-radius:16px;box-shadow:0 6px 18px #0f172a0f;display:block;margin-bottom:14px;overflow:hidden;padding:0;position:relative;transition:box-shadow .15s}.expenses-page .data-table tbody tr:hover td{background:#0000}.expenses-page .data-table tbody tr:before{background:linear-gradient(180deg,#d63031,#c8962e 50%,#006b3f);border-radius:16px 0 0 16px;bottom:0;content:"";left:0;position:absolute;top:0;width:4px}.expenses-page .data-table tbody td{border:none;display:block;padding:0}.expenses-page .data-table tbody td:first-child{color:#111827!important;font-size:1rem!important;font-weight:700!important;padding:14px 16px 10px 20px}.expenses-page .data-table tbody td:nth-child(2),.expenses-page .data-table tbody td:nth-child(3),.expenses-page .data-table tbody td:nth-child(4),.expenses-page .data-table tbody td:nth-child(5),.expenses-page .data-table tbody td:nth-child(6){align-items:flex-start;color:#6b7280!important;display:flex;font-size:.84rem;gap:10px;padding:4px 16px 4px 20px;text-align:left!important;white-space:normal}.expenses-page .data-table tbody td:nth-child(2):before{content:"Description"}.expenses-page .data-table tbody td:nth-child(3):before{content:"Category"}.expenses-page .data-table tbody td:nth-child(4):before{content:"Recorded By"}.expenses-page .data-table tbody td:nth-child(5):before{content:"Amount"}.expenses-page .data-table tbody td:nth-child(6):before{content:"Proof"}.expenses-page .data-table tbody td:nth-child(2):before,.expenses-page .data-table tbody td:nth-child(3):before,.expenses-page .data-table tbody td:nth-child(4):before,.expenses-page .data-table tbody td:nth-child(5):before,.expenses-page .data-table tbody td:nth-child(6):before{color:#9ca3af;display:inline-block;flex-shrink:0;font-size:.66rem;font-weight:700;letter-spacing:.07em;min-width:78px;padding-top:2px;text-transform:uppercase}.expenses-page .data-table tbody td:nth-child(5),.expenses-page .data-table tbody td:nth-child(6){padding-bottom:10px}.expenses-page .data-table tbody td:nth-child(7){border-top:1px solid #f3f4f6;padding:12px 16px 14px 20px}.expenses-page .data-table tbody td:last-child{padding-right:16px}.expenses-page .action-btns{justify-content:flex-start}.expenses-page .expense-proof-link{flex-wrap:wrap}}.pin-overlay{align-items:center;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);background:#0a080599;display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:9999}.pin-modal{background:#fff;border-radius:14px;box-shadow:0 8px 32px #0000002e;max-width:320px;padding:28px 24px 22px;text-align:center;width:100%}.pin-brand{align-items:center;display:flex;gap:6px;justify-content:center;margin-bottom:14px}.pin-brand .brand-name{color:var(--primary);font-size:1rem;font-weight:800;letter-spacing:.01em}.pin-title{color:var(--text-primary);font-size:1rem;font-weight:700;margin:0 0 6px}.pin-desc{color:var(--text-secondary);font-size:.8rem;line-height:1.5;margin:0 0 18px}.pin-desc strong{color:var(--text-primary)}.pin-form{align-items:center;display:flex;flex-direction:column}.pin-label{align-self:flex-start;color:var(--text-secondary);font-size:.7rem;font-weight:600;letter-spacing:.07em;margin-bottom:8px;text-transform:uppercase}.pin-inputs{gap:10px;margin-bottom:4px}.pin-input{background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:8px;caret-color:#0000;color:var(--text-primary);font-size:1.2rem;font-weight:700;height:46px;outline:none;transition:border-color .12s,box-shadow .12s;width:42px}.pin-input:focus{background:#fff;box-shadow:0 0 0 2px #c8962e24}.pin-input:not(:placeholder-shown){border-color:#006b3f;border-color:var(--accent,#006b3f)}.pin-submit{font-size:.9rem;margin-top:18px!important;padding:9px 0!important;width:100%}.pin-footer-note{color:var(--text-secondary);font-size:.7rem;line-height:1.5;margin:12px 0 0}@media (max-width:480px){.pin-modal{border-radius:12px;max-width:290px;padding:22px 18px 18px}.pin-input{font-size:1.1rem;height:42px;width:38px}}.auth-page{align-items:center;background:linear-gradient(135deg,#1a1a1a,#d63031 25%,#c8962e 50%,#006b3f 75%,#1a1a1a);display:flex;gap:0;justify-content:center;min-height:100vh;overflow:hidden;position:relative}.auth-page:before{animation:pulse-soft 6s ease-in-out infinite;background:radial-gradient(circle,#c8962e14 0,#0000 70%);height:600px;right:-150px;top:-150px;width:600px}.auth-page:after,.auth-page:before{border-radius:50%;content:"";position:absolute}.auth-page:after{background:radial-gradient(circle,#006b3f0f 0,#0000 70%);bottom:-120px;height:450px;left:-120px;width:450px}.auth-kente-bar{background:repeating-linear-gradient(90deg,#c8962e,#c8962e 12px,#006b3f 0,#006b3f 24px,#d63031 0,#d63031 36px,#c8962e 0,#c8962e 48px);height:4px;left:0;position:absolute;right:0;top:0;z-index:10}.auth-brand{color:#fff;display:flex;flex:1 1;flex-direction:column;justify-content:center;margin-left:auto;max-width:560px;padding:60px 48px 60px 72px;position:relative;z-index:1}.auth-brand .brand-logo{align-items:center;display:flex;gap:6px;margin-bottom:40px}.auth-brand .brand-logo-icon{align-items:center;display:flex;flex-shrink:0;justify-content:center}.auth-brand .brand-logo-text{font-size:2rem;font-weight:800;letter-spacing:-.03em}.auth-brand h1{font-size:3rem;font-weight:800;letter-spacing:-.03em;line-height:1.12;margin-bottom:20px}.auth-brand h1 span{-webkit-text-fill-color:#fff;color:#fff}.auth-brand p{color:#e8e0d4;font-size:1.15rem;font-weight:600;line-height:1.7;max-width:480px}.auth-features{display:flex;flex-direction:column;gap:16px;margin-top:40px}.auth-feature{align-items:center;color:#e8e0d4;display:flex;font-size:.95rem;font-weight:600;gap:12px;line-height:1.4}.auth-feature:first-child .feature-dot,.auth-feature:nth-child(2) .feature-dot,.auth-feature:nth-child(3) .feature-dot,.auth-feature:nth-child(4) .feature-dot{color:#1a1a1a}.auth-feature .feature-dot{flex-shrink:0;font-size:1rem;height:auto;line-height:1;width:auto}.auth-form-panel{align-items:center;display:flex;flex-shrink:0;justify-content:center;margin-right:auto;padding:40px 56px 40px 24px;position:relative;width:480px;z-index:1}.auth-card{background:#fff;border-radius:var(--radius-xl);box-shadow:0 32px 64px -12px #00000040;max-width:420px;overflow:hidden;padding:44px 40px;position:relative;width:100%}.auth-card:before{background:linear-gradient(90deg,#d63031,#c8962e,#006b3f);content:"";height:3px;left:0;position:absolute;right:0;top:0}.auth-card h2{color:var(--secondary);font-size:1.7rem;font-weight:800;letter-spacing:-.02em;margin-bottom:6px}.auth-card .auth-subtitle{color:var(--text-secondary);font-size:.95rem;font-weight:500;margin-bottom:32px}.auth-card .form-group{margin-bottom:22px}.auth-card .btn{font-size:.95rem;margin-top:6px;padding:14px;width:100%}.auth-divider{align-items:center;color:var(--text-muted);display:flex;font-size:.82rem;font-weight:600;gap:14px;margin:28px 0}.auth-divider:after,.auth-divider:before{background:var(--border);content:"";flex:1 1;height:1px}.auth-link{color:var(--text-secondary);font-size:.9rem;font-weight:500;margin-top:24px;text-align:center}.auth-link a{color:var(--primary-dark);font-weight:700}.auth-link a:hover{text-decoration:underline}.phone-input-group{align-items:stretch;display:flex;gap:8px}.phone-prefix{appearance:none;-webkit-appearance:none;-moz-appearance:none;background:var(--bg-alt);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%237a7067' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;background-size:12px;border:1.5px solid var(--border);border-radius:10px;color:var(--text-primary);cursor:pointer;flex-shrink:0;font-size:.9rem;font-weight:700;padding:0 10px;transition:border-color .2s,box-shadow .2s;width:100px}.phone-prefix:focus,.phone-prefix:hover{border-color:var(--primary)}.phone-prefix:focus{box-shadow:0 0 0 3px #c8962e26;outline:none}.pin-inputs{display:flex;gap:14px;justify-content:center;margin:24px 0}.pin-input{background:var(--bg-card);border:2px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:1.5rem;font-weight:800;height:68px;text-align:center;transition:border-color .2s,box-shadow .2s;width:58px}.pin-input:focus{border-color:var(--primary);box-shadow:var(--shadow-glow)}.auth-tabs{background:var(--bg-alt);border-radius:var(--radius);display:flex;margin-bottom:28px;padding:4px}.auth-tab{border-radius:8px;color:var(--text-secondary);flex:1 1;font-size:.85rem;font-weight:600;padding:11px;text-align:center;transition:all .2s}.auth-tab.active{background:#fff;box-shadow:var(--shadow-sm);color:var(--secondary);font-weight:700}.auth-mobile-logo{display:none;margin-bottom:28px;text-align:center}.auth-mobile-logo .brand-logo-icon{align-items:center;display:inline-flex;justify-content:center;margin-bottom:10px}.auth-mobile-logo .brand-name{color:var(--secondary);font-size:1.3rem;font-weight:800;letter-spacing:-.02em}@media (max-width:900px){.auth-brand{display:none}.auth-form-panel{background:var(--bg);padding:24px;width:100%}.auth-card{max-width:440px}.auth-mobile-logo{display:block}.auth-kente-bar{display:none}}@media (max-width:480px){.auth-card{border-radius:var(--radius-lg);padding:32px 24px}.pin-input{font-size:1.3rem;height:60px;width:50px}.auth-card h2{font-size:1.4rem}}.dashboard{animation:pageEnter .4s var(--ease) both}.dashboard-hero{align-items:center;background:linear-gradient(135deg,#fffdf5,#f7fdf9);border:2px solid #ede4cc;border-radius:20px;box-shadow:0 4px 20px #c8962e14;display:flex;flex-wrap:wrap;gap:24px;justify-content:space-between;margin-bottom:28px;overflow:hidden;padding:28px 36px;position:relative}.dashboard-hero:before{background:radial-gradient(circle,#c8962e1a 0,#0000 70%);height:240px;right:-60px;top:-60px;width:240px}.dashboard-hero:after,.dashboard-hero:before{border-radius:50%;content:"";pointer-events:none;position:absolute}.dashboard-hero:after{background:radial-gradient(circle,#006b3f14 0,#0000 70%);bottom:-50px;height:180px;left:180px;width:180px}.hero-greeting h1{color:#0f172a;font-size:1.65rem;font-weight:800;letter-spacing:-.02em;margin:0 0 5px}.hero-greeting h1 .company-name{background:none;color:inherit;font-weight:inherit}.hero-greeting p{color:#64748b;font-size:.88rem;font-weight:500;margin:0}.hero-right{flex-wrap:wrap;gap:12px}.hero-live-badge,.hero-right{align-items:center;display:flex}.hero-live-badge{background:#c8962e14;border:1px solid #c8962e47;border-radius:100px;color:#7a5016;font-size:.82rem;font-weight:600;gap:8px;padding:8px 18px}.hero-live-dot{animation:pulse-dot 2s ease-in-out infinite;background:#22c55e;border-radius:50%;box-shadow:0 0 0 3px #22c55e40;height:8px;width:8px}@keyframes pulse-dot{0%,to{box-shadow:0 0 0 3px #22c55e40}50%{box-shadow:0 0 0 6px #22c55e1a}}.dashboard .stat-grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(4,1fr);margin-bottom:24px}@media (max-width:1200px){.dashboard .stat-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.dashboard .stat-grid{grid-template-columns:1fr}}.dashboard .stat-card{align-items:stretch;background:#fff;border:2px solid #e8ecf1;border-radius:16px;box-shadow:0 2px 12px rgba(0,0,0,.055);display:flex;flex-direction:column;gap:12px;overflow:hidden;padding:22px 24px 18px;position:relative;transition:all .22s ease}.dashboard .stat-card:hover{border-color:#c8962e44;box-shadow:0 12px 32px #0000001a;transform:translateY(-3px)}.dashboard .stat-card:after{background:linear-gradient(90deg,#c8962e,#e8b84b);border-radius:16px 16px 0 0;content:"";height:4px;left:0;position:absolute;top:0;width:100%}.dashboard .stat-card.blue-top:after,.dashboard .stat-card.green-top:after{background:linear-gradient(90deg,#006b3f,#22c55e)}.dashboard .stat-card.orange-top:after{background:linear-gradient(90deg,#e67e22,#f97316)}.dashboard .stat-card.red-top:after{background:linear-gradient(90deg,#d63031,#ef4444)}.dashboard .stat-card-top{align-items:center;display:flex;justify-content:space-between}.dashboard .stat-card-label{color:#0f172a;font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.dashboard .stat-icon-box{align-items:center;border-radius:10px;display:flex;flex-shrink:0;font-size:1.2rem;height:38px;justify-content:center;width:38px}.dashboard .stat-icon-box.gold{background:#c8962e1f;color:#c8962e}.dashboard .stat-icon-box.green{background:#006b3f1f;color:#006b3f}.dashboard .stat-icon-box.blue{background:#006b3f1a;color:#006b3f}.dashboard .stat-icon-box.orange{background:#e67e221f;color:#e67e22}.dashboard .stat-icon-box.red{background:#d630311a;color:#d63031}.dashboard .stat-amount{align-items:baseline;display:flex;flex-wrap:nowrap;gap:3px;line-height:1}.dashboard .stat-amount .sym{color:#94a3b8;font-size:.95rem;font-weight:600}.dashboard .stat-amount .num{font-feature-settings:"tnum";color:#0f172a;font-size:2.4rem;font-weight:900;letter-spacing:-.045em}.dashboard .stat-amount .num.compact{font-size:2rem}.dashboard .stat-amount .unit{color:#475569;font-size:1.1rem;font-weight:700;margin-left:1px}.dashboard .stat-footer{align-items:center;display:flex;gap:8px;justify-content:space-between}.dashboard .stat-sub{color:#94a3b8;font-size:.78rem;font-weight:500}.dashboard .stat-badge{border-radius:100px;font-size:.72rem;font-weight:700;padding:3px 9px;white-space:nowrap}.dashboard .stat-badge.up{background:#22c55e1f;color:#16a34a}.dashboard .stat-badge.down{background:#ef44441f;color:#dc2626}.dashboard .stat-badge.flat{background:#64748b1a;color:#64748b}.alert-strip{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:24px}.alert-card{align-items:center;border:1px solid #0000;border-radius:var(--radius);display:flex;flex:1 1;font-size:.88rem;font-weight:500;gap:10px;min-width:280px;padding:14px 20px}.alert-card.warning{background:var(--warning-light);border-color:#f5d0a9;color:#92400e}.alert-card.info{background:var(--info-light);border-color:#a8d5bc;color:#004d2c}.alert-card svg{flex-shrink:0;font-size:1.2rem}.dashboard-charts{grid-gap:24px;align-items:stretch;display:grid;gap:24px;grid-template-columns:repeat(3,1fr)}.dashboard-charts>.chart-card:first-child{grid-column:1/-1}@media (max-width:1200px){.dashboard-charts{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.dashboard-charts{grid-template-columns:1fr}}.chart-card{background:#fff;border:2px solid #e6e9ee;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;display:flex;flex-direction:column;height:100%;overflow:hidden;transition:all .2s ease}.chart-card:hover{border-color:#cbd5e1;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;transform:translateY(-2px)}.chart-card .card-header{background:#fafafa;border-bottom:2px solid #f1f5f9;padding:16px 20px}.chart-card .card-header h2{color:#1e293b;font-size:1.1rem;font-weight:700;margin:0}.chart-card .card-body{display:flex;flex:1 1;flex-direction:column;padding:20px}.stat-sparkline{display:inline-block;height:40px;width:120px}.stat-value.currency{font-size:1.25rem;font-weight:800}.stat-value.big-number{align-items:baseline;display:flex}.currency-symbol{color:var(--text-muted);font-size:.9rem;font-weight:500;margin-right:3px}.amount-integer{color:#111827;font-size:2rem;font-weight:800;letter-spacing:-.05em}.amount-decimal{color:#4b5563;font-size:1.1rem;font-weight:700;margin-left:2px}.stat-value.big-number.long .amount-integer{font-size:1.5rem}@media (max-width:1024px){.dashboard-charts{grid-template-columns:1fr}}.heatmap-grid{grid-gap:8px;display:grid;flex:1 1;gap:8px;grid-template-columns:repeat(6,1fr);grid-template-rows:repeat(4,1fr);min-height:240px}.heatmap-cell{align-items:center;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 1px 2px 0 #0000000d;color:#1e293b;display:flex;flex-direction:column;font-weight:700;height:100%;justify-content:center;min-height:56px;transition:all .2s}.heatmap-cell:hover{box-shadow:0 4px 6px -1px #0000001a;transform:scale(1.05);z-index:10}.heatmap-hour{color:#64748b;font-size:.75rem;font-weight:600;margin-bottom:2px}.heatmap-val{color:#0f172a;font-size:.9rem;font-weight:700}@media (max-width:768px){.shops-page .table-container{background:#0000;border:none;border-radius:0;box-shadow:none;overflow:hidden;padding:0}.shops-page .data-table{box-sizing:border-box;display:block;min-width:0!important;width:100%}.shops-page .data-table tbody{display:block}.shops-page .data-table thead{display:none}.shops-page .data-table tbody tr{background:#fff;border:1.5px solid #e5e7eb;border-radius:14px;box-shadow:0 2px 10px #0000000f;display:block;margin-bottom:12px;overflow:hidden;padding:0;position:relative;transition:box-shadow .15s}.shops-page .data-table tbody tr:hover td{background:#0000}.shops-page .data-table tbody tr:active{box-shadow:0 1px 4px #00000014}.shops-page .data-table tbody tr:before{background:linear-gradient(180deg,#d63031,#c8962e 50%,#006b3f);border-radius:14px 0 0 14px;bottom:0;content:"";left:0;position:absolute;top:0;width:4px}.shops-page .data-table tbody td{border:none;display:block;padding:0}.shops-page .data-table tbody td:first-child{color:#111827!important;font-size:1rem!important;font-weight:700!important;padding:14px 16px 10px 20px}.shops-page .data-table tbody td:nth-child(2),.shops-page .data-table tbody td:nth-child(3),.shops-page .data-table tbody td:nth-child(4){align-items:baseline;color:#6b7280!important;display:flex;font-size:.83rem;gap:8px;padding:3px 16px 3px 20px}.shops-page .data-table tbody td:nth-child(2):before{content:"Address"}.shops-page .data-table tbody td:nth-child(3):before{content:"Phone"}.shops-page .data-table tbody td:nth-child(4):before{content:"Timezone"}.shops-page .data-table tbody td:nth-child(2):before,.shops-page .data-table tbody td:nth-child(3):before,.shops-page .data-table tbody td:nth-child(4):before{color:#9ca3af;flex-shrink:0;font-size:.66rem;font-weight:700;letter-spacing:.07em;min-width:64px;text-transform:uppercase}.shops-page .data-table tbody td:nth-child(4){padding-bottom:10px}.shops-page .data-table tbody td:nth-child(5){border-top:1px solid #f3f4f6;padding:10px 16px 12px 20px}.shops-page .action-btns button{font-size:1rem;height:36px;width:36px}}@media (max-width:480px){.shops-page .data-table{min-width:0!important;width:100%}.shops-page .data-table tbody tr{border-radius:12px;margin-bottom:10px}.shops-page .data-table tbody td:first-child{font-size:.95rem!important;padding:12px 14px 8px 18px}.shops-page .data-table tbody td:nth-child(2),.shops-page .data-table tbody td:nth-child(3),.shops-page .data-table tbody td:nth-child(4){font-size:.8rem;padding:3px 14px 3px 18px}.shops-page .data-table tbody td:nth-child(2):before,.shops-page .data-table tbody td:nth-child(3):before,.shops-page .data-table tbody td:nth-child(4):before{min-width:58px}.shops-page .data-table tbody td:nth-child(5){padding:8px 14px 10px 18px}}@media (max-width:375px){.shops-page .data-table{min-width:0!important;width:100%}.shops-page .data-table tbody td:first-child{font-size:.9rem!important;padding:10px 12px 6px 16px}.shops-page .data-table tbody td:nth-child(2),.shops-page .data-table tbody td:nth-child(3),.shops-page .data-table tbody td:nth-child(4){font-size:.77rem;padding:2px 12px 2px 16px}.shops-page .data-table tbody td:nth-child(2):before,.shops-page .data-table tbody td:nth-child(3):before,.shops-page .data-table tbody td:nth-child(4):before{min-width:52px}.shops-page .data-table tbody td:nth-child(5){padding:8px 12px 10px 16px}.shops-page .action-btns button{font-size:.9rem;height:32px;width:32px}}.report-shop-badge{align-items:center;border-radius:var(--radius-full);display:inline-flex;font-size:.82rem;font-weight:700;gap:6px;letter-spacing:.02em;padding:6px 16px;white-space:nowrap}.report-shop-badge.all-shops{background:#f0faf5;border:1.5px solid #a8d5bc;color:#004d2c}.report-shop-badge.single-shop{background:var(--primary-bg);border:1.5px solid var(--primary-light);color:var(--primary)}.report-controls{align-items:center;background:var(--bg-card);border:1.5px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);display:flex;flex-wrap:wrap;gap:16px;margin-bottom:28px;padding:16px 22px}.preset-btns{display:flex;flex-wrap:wrap;gap:6px}.date-range-inputs{align-items:center;display:flex;gap:8px;margin-left:auto}.date-range-inputs .form-input{font-size:.85rem;padding:8px 10px;width:155px}.report-kpis{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:28px}.kpi-card{align-items:stretch;background:#fff;border:2px solid #e8ecf1;border-radius:16px;box-shadow:0 2px 12px rgba(0,0,0,.055);display:flex;flex-direction:column;gap:12px;overflow:hidden;padding:22px 22px 18px;position:relative;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.kpi-card:after{background:linear-gradient(90deg,#c8962e,#e8b84b);border-radius:16px 16px 0 0;content:"";height:4px;left:0;position:absolute;top:0;width:100%}.kpi-card.revenue:after{background:linear-gradient(90deg,#c8962e,#f5c842)}.kpi-card.cost:after{background:linear-gradient(90deg,#d63031,#ef4444)}.kpi-card.expense:after,.kpi-card.profit:after{background:linear-gradient(90deg,#006b3f,#22c55e)}.kpi-card.cashflow:after{background:linear-gradient(90deg,#0f766e,#14b8a6)}.kpi-card.net:after{background:linear-gradient(90deg,#c8962e,#e8b84b)}.kpi-card:hover{border-color:#c8962e44;box-shadow:0 12px 32px #0000001a;transform:translateY(-3px)}.kpi-card.highlight{background:linear-gradient(145deg,#fffdf5,#f7fdf9);border-color:var(--primary)}.kpi-card.highlight:after{background:linear-gradient(90deg,#c8962e,#e8b84b)}.kpi-card-top{align-items:center;display:flex;justify-content:space-between}.kpi-label{color:#64748b;font-size:.74rem;font-weight:700;letter-spacing:.06em}.kpi-label,.kpi-status{text-transform:uppercase;white-space:nowrap}.kpi-status{align-items:center;border-radius:999px;display:inline-flex;font-size:.68rem;font-weight:800;justify-content:center;letter-spacing:.04em;padding:5px 10px}.kpi-status.positive{background:#006b3f1a;color:#006b3f}.kpi-status.neutral{background:#94a3b824;color:#475569}.kpi-status.negative{background:#d630311f;color:#b42318}.kpi-icon-box{align-items:center;border-radius:11px;display:flex;flex-shrink:0;font-size:1.25rem;height:40px;justify-content:center;width:40px}.kpi-icon-box.gold{background:#c8962e1f;color:#c8962e}.kpi-icon-box.red{background:#d630311a;color:#d63031}.kpi-icon-box.green{background:#006b3f1f;color:#006b3f}.kpi-icon-box.blue{background:#006b3f1a;color:#006b3f}.kpi-icon-box.teal{background:#0f766e1f;color:#0f766e}.kpi-amount{align-items:baseline;display:flex;flex-wrap:nowrap;gap:2px;line-height:1;min-width:0}.kpi-amount .sym{color:#94a3b8;flex-shrink:0;font-size:.92rem;font-weight:600}.kpi-amount .num{font-feature-settings:"tnum";color:#0f172a;font-size:2.2rem;font-weight:900;letter-spacing:-.045em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kpi-amount .num.compact{font-size:1.75rem}.kpi-amount .num.x-compact{font-size:1.35rem}.kpi-amount .unit{color:#475569;font-size:1.1rem;font-weight:700;margin-left:1px}.kpi-card.revenue .kpi-amount .num{color:#006b3f}.kpi-card.cost .kpi-amount .num{color:#d63031}.kpi-card.profit .kpi-amount .num{color:#006b3f}.kpi-card.expense .kpi-amount .num{color:#d63031}.kpi-card.cashflow .kpi-amount .num{color:#0f766e}.kpi-card.net .kpi-amount .num{color:#c8962e}.kpi-sub{color:#94a3b8;font-size:.74rem;font-weight:500;margin-top:1px}.report-summary-card{background:linear-gradient(135deg,#fffdf5,#f7fdf9);border-color:#ede4cc!important;padding:20px 24px}.report-summary-card h3{color:#64748b;font-size:.75rem;font-weight:700;letter-spacing:.07em;margin:0 0 14px;text-transform:uppercase}.summary-grid{grid-gap:0;display:grid;gap:0;grid-template-columns:repeat(3,minmax(0,1fr))}.summary-grid>div{border-right:1.5px solid #ede4cc;display:flex;flex-direction:column;margin-right:22px;min-width:0;padding-right:22px}.summary-grid>div:last-child{border-right:none;margin-right:0;padding-right:0}.summary-label{color:#94a3b8;font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}.summary-val{font-feature-settings:"tnum";color:#0f172a;font-size:1.6rem;font-weight:900;letter-spacing:-.03em;margin-top:2px;word-break:break-word}.report-chart-card{background:#fff;border:2px solid #e8ecf1;border-radius:16px;box-shadow:0 2px 12px rgba(0,0,0,.055);display:flex;flex-direction:column;overflow:hidden;padding:0;transition:box-shadow .22s ease,border-color .22s ease,transform .22s ease}.report-chart-card:hover{border-color:#cbd5e1;box-shadow:0 10px 28px #00000017;transform:translateY(-2px)}.report-chart-card h3{align-items:center;background:#fafafa;border-bottom:2px solid #f1f5f9;color:#1e293b;display:flex;font-size:.82rem;font-weight:700;gap:8px;letter-spacing:.06em;margin:0;padding:16px 22px 14px;text-transform:uppercase}.report-chart-card h3:before{background:var(--primary);border-radius:2px;content:"";display:inline-block;flex-shrink:0;height:16px;width:3px}.report-chart-inner{flex:1 1;padding:20px 24px 24px}.no-chart-data{color:#94a3b8;font-size:.9rem;font-style:italic;padding:56px 0;text-align:center}.report-row{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr;margin-bottom:24px}.report-summary-row{align-items:stretch;display:flex;gap:20px;margin-bottom:24px}.report-cashflow-card{flex-shrink:0;width:260px}.expense-breakdown-card{position:relative}.expense-layout{display:flex;flex-direction:column;gap:0;padding:8px 24px 24px}.expense-donut-wrap{position:relative;width:100%}.expense-donut-center{align-items:center;display:flex;flex-direction:column;gap:1px;justify-content:center;left:50%;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%)}.expense-donut-label{color:#94a3b8;font-size:.62rem;font-weight:800;letter-spacing:.1em;line-height:1;text-transform:uppercase}.expense-donut-value{font-feature-settings:"tnum";color:#0f172a;font-size:.9rem;font-weight:900;letter-spacing:-.02em;line-height:1.2;white-space:nowrap}.expense-donut-pct{color:#64748b;font-size:.72rem;font-weight:700;line-height:1}.expense-legend{border-top:1.5px solid #f1f5f9;display:flex;flex-direction:column;gap:8px;margin-top:4px;padding-top:14px}.expense-legend-item{grid-gap:10px;align-items:center;border-radius:8px;display:grid;font-size:.83rem;gap:10px;grid-template-columns:12px 1fr 80px 44px 110px;padding:5px 0;transition:background .14s}.expense-legend-item:hover{background:#f8fafc}.expense-legend-dot{border-radius:50%;box-shadow:0 0 0 2px #fff,0 0 0 3px #00000014;display:inline-block;flex-shrink:0;height:12px;width:12px}.expense-legend-name{color:#1e293b;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.expense-legend-bar-wrap{background:#eef2f6;border-radius:99px;height:5px;overflow:hidden}.expense-legend-bar{border-radius:99px;height:100%;min-width:3px;transition:width .7s cubic-bezier(.4,0,.2,1)}.expense-legend-pct{font-feature-settings:"tnum";color:#94a3b8;font-size:.73rem;font-weight:700;text-align:right}.expense-legend-amount{font-feature-settings:"tnum";color:#0f172a;font-size:.84rem;font-weight:800;letter-spacing:-.01em;text-align:right;white-space:nowrap}@media (max-width:1400px){.report-kpis{grid-template-columns:repeat(3,1fr)}}@media (max-width:1100px){.report-kpis{grid-template-columns:repeat(2,1fr)}}@media (max-width:900px){.report-kpis{grid-template-columns:repeat(2,1fr)}.report-row{grid-template-columns:1fr}.report-summary-row{flex-direction:column}.report-cashflow-card{width:100%}.summary-grid{gap:18px 0;grid-template-columns:repeat(2,minmax(0,1fr))}.summary-grid>div:nth-child(2n){border-right:none;margin-right:0;padding-right:0}}@media (max-width:600px){.report-kpis{grid-template-columns:1fr 1fr}.date-range-inputs{margin-left:0}.report-controls{align-items:flex-start;flex-direction:column}.kpi-amount .num{font-size:1.6rem}.kpi-card-top{align-items:flex-start;flex-wrap:wrap;gap:10px}.summary-grid{gap:14px;grid-template-columns:1fr}.summary-grid>div{border-right:none;margin-right:0;padding-right:0}}.approvals-page{margin:0 auto;max-width:900px;padding:24px}.approvals-header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;margin-bottom:24px}.approvals-title{color:var(--text-primary);font-size:1.5rem;font-weight:700;margin:0 0 4px}.approvals-subtitle{color:var(--text-secondary);font-size:.875rem;line-height:1.5;margin:0}.approvals-badge-lg{background:#d63031;border-radius:20px;color:#fff;flex-shrink:0;font-size:.8rem;font-weight:700;padding:6px 14px;white-space:nowrap}.approvals-tabs{border-bottom:2px solid #e8ecf1;display:flex;gap:8px;margin-bottom:20px;padding-bottom:0}.approvals-tab{background:none;border:none;border-bottom:3px solid #0000;color:var(--text-secondary);cursor:pointer;font-size:.875rem;font-weight:500;margin-bottom:-2px;padding:8px 18px;transition:color .15s,border-color .15s}.approvals-tab.active{border-bottom-color:var(--primary);color:var(--primary);font-weight:700}.approvals-tab:hover:not(.active){color:var(--text-primary)}.approvals-empty{align-items:center;color:var(--text-secondary);display:flex;flex-direction:column;font-size:.9rem;gap:12px;padding:60px 20px;text-align:center}.approvals-empty-icon{color:#bdc3ce}.approvals-list{display:flex;flex-direction:column;gap:12px}.approval-card{background:#fff;border:2px solid #e8ecf1;border-radius:14px;overflow:hidden;transition:box-shadow .15s}.approval-card.pending{border-left:4px solid var(--primary)}.approval-card.approved{border-left:4px solid #00b894;opacity:.85}.approval-card.rejected{border-left:4px solid #d63031;opacity:.8}.approval-card:hover{box-shadow:0 4px 20px #00000014}.ac-top{align-items:center;cursor:pointer;display:flex;flex-wrap:wrap;gap:10px;padding:14px 16px;-webkit-user-select:none;user-select:none}.ac-top:hover{background:#fafbfc}.ac-action-badge{border-radius:5px;flex-shrink:0;font-size:.7rem;font-weight:700;letter-spacing:.05em;padding:3px 8px;text-transform:uppercase}.action-green{background:#e8f8f4;color:#00a86b}.action-blue{background:#e8f5ef;color:#006b3f}.action-red{background:#fdecec;color:#d63031}.action-purple{background:#f3eaf8;color:#6c3483}.action-grey{background:#f0f2f5;color:#636e72}.ac-entity{align-items:center;color:var(--text-secondary);display:flex;flex-shrink:0;font-size:.8rem;gap:4px}.ac-entity-icon{height:15px;width:15px}.ac-name{color:var(--text-primary);flex:1 1;font-size:.9rem;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ac-worker{font-size:.8rem}.ac-date,.ac-worker{color:var(--text-secondary);flex-shrink:0}.ac-date{font-size:.75rem}.ac-actions{display:flex;flex-shrink:0;gap:6px}.ac-btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-size:.8rem;font-weight:600;gap:5px;padding:6px 12px;transition:opacity .15s,transform .1s}.ac-btn:active{transform:scale(.97)}.ac-approve{background:#e8f8f4;color:#00a86b}.ac-approve:hover{background:#00a86b;color:#fff}.ac-reject{background:#fdecec;color:#d63031}.ac-reject:hover{background:#d63031;color:#fff}.ac-status-tag{align-items:center;border-radius:5px;display:flex;flex-shrink:0;font-size:.75rem;font-weight:600;gap:4px;padding:3px 8px}.ac-status-tag.approved{background:#e8f8f4;color:#00a86b}.ac-status-tag.rejected{background:#fdecec;color:#d63031}.ac-expand{color:var(--text-secondary);flex-shrink:0;font-size:.7rem;margin-left:auto;padding:4px 6px}.ac-rejection-reason{border-top:1px solid #fad7d7;padding:10px 16px}.ac-payload-delete-note,.ac-rejection-reason{background:#fff5f5;color:#d63031;font-size:.82rem}.ac-payload-delete-note{border:1px solid #fad7d7;border-radius:8px;margin:0 16px 16px;padding:10px 14px}.approvals-overlay{align-items:center;background:#00000073;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}.approvals-modal{background:#fff;border-radius:16px;box-shadow:0 20px 60px #00000040;max-width:440px;padding:28px;width:100%}.approvals-modal h3{color:var(--text-primary);font-size:1.1rem;font-weight:700;margin:0 0 8px}.approvals-modal p{color:var(--text-secondary);font-size:.875rem;line-height:1.5;margin:0 0 16px}.approvals-reason{border:2px solid #e8ecf1;border-radius:10px;box-sizing:border-box;color:var(--text-primary);font-family:inherit;font-size:.875rem;outline:none;padding:10px 12px;resize:vertical;transition:border-color .15s;width:100%}.approvals-reason:focus{border-color:var(--primary)}.approvals-modal-btns{display:flex;gap:10px;justify-content:flex-end;margin-top:16px}.btn-ghost{background:none;border:2px solid #e8ecf1;border-radius:10px;color:var(--text-secondary);cursor:pointer;font-size:.875rem;font-weight:600;padding:8px 18px;transition:border-color .15s}.btn-ghost:hover{border-color:#c8d4e0;color:var(--text-primary)}.btn-danger{background:#d63031;border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:.875rem;font-weight:700;padding:8px 18px;transition:opacity .15s}.btn-danger:hover{opacity:.88}@media (max-width:600px){.approvals-page{padding:16px}.ac-top{gap:6px}.ac-date{display:none}}.sidebar{background:linear-gradient(135deg,#d63031,#c8962e 50%,#006b3f);border-right:1px solid #ffffff0f;color:#fff;display:flex;flex-direction:column;height:100vh;left:0;position:fixed;top:0;transition:transform var(--duration) var(--ease);width:var(--sidebar-width);z-index:100}.sidebar-logo{gap:6px;padding:28px 24px 24px}.logo-icon,.sidebar-logo{align-items:center;display:flex}.logo-icon{flex-shrink:0;justify-content:center}.logo-text{display:flex;flex-direction:column}.logo-name{color:#fff;font-size:1.2rem;font-weight:800;letter-spacing:-.02em}.logo-tagline{color:#ffffffd9;font-size:.68rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.sidebar-nav{flex:1 1;min-height:0;overflow-y:auto;padding:12px 14px}.sidebar-nav-label{color:#fff;font-size:.75rem;font-weight:700;letter-spacing:.12em;padding:16px 14px 8px;text-transform:uppercase}.nav-item{align-items:center;border-radius:10px;color:#fff;display:flex;font-size:.95rem;font-weight:700;gap:13px;margin-bottom:3px;padding:11px 14px;position:relative;text-shadow:0 1px 0 #00000040;transition:all .2s var(--ease)}.nav-item:hover{background:#ffffff14;color:#fff}.nav-item.active{background:#ffffff1a;color:#fff}.nav-item.active:before{background:#fff;border-radius:0 3px 3px 0;content:"";height:20px;left:0;position:absolute;top:50%;transform:translateY(-50%);width:3px}.nav-icon,.nav-item.active .nav-icon{color:#fff}.nav-icon{flex-shrink:0;font-size:1.28rem;transition:transform .2s var(--ease)}.nav-item:hover .nav-icon{color:#fff;transform:scale(1.08)}.nav-badge{background:#d63031;border-radius:10px;color:#fff;flex-shrink:0;font-size:.65rem;font-weight:800;line-height:1;margin-left:auto;min-width:18px;padding:2px 6px;text-align:center}.sidebar-footer{background:#ffffff05;border-top:1px solid #ffffff0f;flex-shrink:0;justify-content:space-between;padding:16px 18px}.sidebar-footer,.user-card{align-items:center;display:flex}.user-card{gap:11px}.user-avatar{align-items:center;background:linear-gradient(135deg,var(--primary) 0,#a37518 100%);border-radius:10px;box-shadow:0 2px 8px -2px #0000001f;color:#fff;display:flex;flex-shrink:0;font-size:.88rem;font-weight:700;height:38px;justify-content:center;width:38px}.user-info{display:flex;flex-direction:column}.user-name{color:#fff;font-size:.88rem;font-weight:700}.user-role{color:#ffffffd9;font-size:.72rem;font-weight:600;text-transform:capitalize}.logout-btn{align-items:center;border-radius:8px;color:#ffffffd9;display:flex;font-size:1.2rem;height:36px;justify-content:center;transition:all .2s;width:36px}.logout-btn:hover{background:#ffffff14;color:#fff}.mobile-nav,.sidebar-overlay{display:none}@media (max-width:768px){.sidebar{height:calc(100vh - 62px);top:62px;transform:translateX(-100%)}.sidebar.open{box-shadow:8px 0 40px #00000059;transform:translateX(0)}.sidebar-overlay{animation:fadeIn .2s var(--ease);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#1a120980;display:block;inset:0;position:fixed;top:62px;z-index:99}.mobile-nav{background:#fff;border-top:1px solid #00000012;bottom:0;box-shadow:0 -3px 10px #00000014;display:flex;justify-content:space-around;left:0;min-height:66px;padding:4px 4px calc(8px + env(safe-area-inset-bottom));position:fixed;right:0;z-index:190}.mobile-nav-item{-webkit-tap-highlight-color:transparent;align-items:center;background:none;border:none;color:#9ca3af;cursor:pointer;display:flex;flex:1 1;flex-direction:column;font-size:.65rem;font-weight:600;gap:3px;justify-content:center;padding:6px 4px;position:relative;text-decoration:none;transition:color .2s,transform .15s}.mobile-nav-item:active{transform:scale(.92)}.mobile-nav-item.active{color:#006b3f}.mobile-nav-item.active:before{background:linear-gradient(90deg,#c8962e,#006b3f);border-radius:0 0 4px 4px;content:"";height:3px;left:50%;position:absolute;top:0;transform:translateX(-50%);width:28px}.mobile-nav-item.active .nav-icon{background:#006b3f1a;border-radius:10px;color:#006b3f;margin:-4px;padding:4px}.mobile-nav-item .nav-icon{color:#9ca3af;flex-shrink:0;font-size:1.5rem;height:1.5rem;transition:color .2s;width:1.5rem}}.error-boundary{align-items:center;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);display:flex;justify-content:center;min-height:100vh;padding:20px}.error-boundary-content{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000001a;max-width:600px;padding:48px;text-align:center}.error-icon{font-size:4rem;margin-bottom:24px}.error-boundary h1{color:#1e293b;font-size:1.75rem;font-weight:700;margin:0 0 12px}.error-message{color:#64748b;font-size:1rem;line-height:1.6;margin:0 0 32px}.error-details{background:#f8f9fa;border:1px solid #e2e8f0;border-radius:8px;margin:24px 0;padding:16px;text-align:left}.error-details summary{color:#475569;cursor:pointer;font-weight:600;margin-bottom:12px}.error-details pre{word-wrap:break-word;color:#ef4444;font-size:.75rem;margin:8px 0;overflow-x:auto;white-space:pre-wrap}.error-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.error-actions .btn{border:none;border-radius:8px;cursor:pointer;font-size:.95rem;font-weight:600;padding:12px 24px;transition:all .2s}.error-actions .btn-primary{background:var(--primary);color:#fff}.error-actions .btn-primary:hover{background:var(--primary-dark);transform:translateY(-2px)}.error-actions .btn-secondary{background:#f1f5f9;color:#475569}.error-actions .btn-secondary:hover{background:#e2e8f0}.shop-select{max-width:350px;min-width:220px;position:relative;width:100%;z-index:1000}.topbar-currency-wrap{align-items:center;display:flex;gap:8px}.topbar-ccy-btn{align-items:center;background:#fff;background:var(--bg-card,#fff);border:1px solid #e2e8f0;border:1px solid var(--border,#e2e8f0);border-radius:8px;box-shadow:0 1px 3px #00000012;cursor:pointer;display:flex;gap:2px;padding:3px;transition:border-color .18s ease,box-shadow .18s ease}.topbar-ccy-btn:hover{border-color:#c8962e;box-shadow:0 2px 8px #c8962e29}.topbar-ccy-pill{border-radius:6px;color:#64748b;font-size:.76rem;font-weight:700;letter-spacing:.04em;padding:5px 13px;transition:background .18s ease,color .18s ease;-webkit-user-select:none;user-select:none}.topbar-ccy-btn.active-ghs .topbar-ccy-pill.selected{background:linear-gradient(135deg,#c8962e,#e8b84b);box-shadow:0 1px 6px #c8962e4d;color:#fff}.topbar-ccy-btn.active-usd .topbar-ccy-pill.selected{background:linear-gradient(135deg,#006b3f,#22c55e);box-shadow:0 1px 6px #006b3f40;color:#fff}.topbar-rate-info{align-items:center;display:flex}.topbar-rate-label{background:#006b3f12;border-radius:5px;color:#006b3f;font-size:.72rem;font-weight:600;padding:2px 8px;white-space:nowrap}.topbar-rate-time{color:#64748b;font-weight:500}.topbar-rate-loading{color:#9ca3af;font-size:.72rem;font-style:italic}.topbar-rate-error{color:#d63031;font-size:.72rem}.offline-banner{align-items:center;animation:slideDown .3s ease;background:#b91c1c;box-shadow:0 2px 8px #0000004d;color:#fff;display:flex;font-size:14px;font-weight:600;gap:10px;justify-content:center;left:0;padding:10px 20px;position:fixed;right:0;top:0;z-index:9999}.offline-banner__icon{font-size:18px}.offline-banner__text{flex:1 1;text-align:center}@keyframes slideDown{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}.ob-overlay{align-items:center;animation:ob-fade-in .25s ease;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0000008c;display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:9999}@keyframes ob-fade-in{0%{opacity:0}to{opacity:1}}.ob-card{animation:ob-slide-up .3s ease;background:#fff;border-radius:20px;box-shadow:0 20px 60px #0000002e;max-width:420px;padding:40px 36px 32px;position:relative;text-align:center;width:100%}@keyframes ob-slide-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.ob-skip{background:none;border:none;border-radius:6px;color:#9ca3af;cursor:pointer;font-size:.78rem;padding:4px 8px;position:absolute;right:16px;top:16px;transition:color .15s}.ob-skip:hover{color:#6b7280}.ob-icon-wrap{align-items:center;border-radius:20px;display:flex;height:72px;justify-content:center;margin:0 auto 20px;transition:background .3s,color .3s;width:72px}.ob-icon{display:block;height:38px;width:38px}.ob-title{color:#1a1a2e;font-size:1.3rem;font-weight:800;line-height:1.25;margin:0 0 10px}.ob-desc{color:#555b6e;font-size:.9rem;line-height:1.65;margin:0 0 24px}.ob-dots{display:flex;gap:7px;justify-content:center;margin-bottom:28px}.ob-dot{background:#e5e7eb;border:none;border-radius:50%;cursor:pointer;height:8px;padding:0;transition:background .2s,transform .2s;width:8px}.ob-dot.active{background:#c8860a;transform:scale(1.3)}.ob-actions{display:flex;gap:10px;justify-content:center}.ob-btn{border:none;border-radius:10px;cursor:pointer;font-size:.88rem;font-weight:700;padding:10px 28px;transition:opacity .15s,transform .1s}.ob-btn:active{transform:scale(.97)}.ob-btn-back{background:#f3f4f6;color:#374151}.ob-btn-back:hover{background:#e5e7eb}.ob-btn-next{background:#c8860a;color:#fff;flex:1 1;max-width:180px}.ob-btn-next:hover{opacity:.88}@media (max-width:480px){.ob-card{border-radius:16px;padding:32px 24px 28px}.ob-icon-wrap{border-radius:16px;height:60px;width:60px}.ob-icon{height:30px;width:30px}.ob-title{font-size:1.15rem}}.app-loading{background:linear-gradient(135deg,#0f1724,#111827 50%,#0b1220);color:var(--text-muted);flex-direction:column;font-size:.95rem;gap:20px;min-height:100vh}.app-loading,.app-loading-icon{align-items:center;display:flex;justify-content:center}.app-loading-icon{animation:loadingPulse 1.5s ease-in-out infinite}.app-loading:after{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#c8962e,#f0d78c);-webkit-background-clip:text;background-clip:text;content:"₵ikaBuk";font-family:Plus Jakarta Sans,sans-serif;font-size:1.4rem;font-weight:800}@keyframes loadingPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.85;transform:scale(1.06)}}.app-topbar .notif-bell-btn{background:none;color:#374151}.app-topbar .notif-bell-btn:hover{background:#0000000f}.notif-bell-btn,.notif-bell-wrapper{align-items:center;display:flex;position:relative}.notif-bell-btn{background:none;border:none;border-radius:50%;color:#fff;cursor:pointer;justify-content:center;padding:6px;transition:background .15s}.notif-bell-btn:hover{background:#ffffff26}.notif-bell-icon{font-size:1.45rem;height:1.45rem;width:1.45rem}.notif-badge{align-items:center;background:#d63031;border:2px solid #0000;border-radius:999px;color:#fff;display:flex;font-size:.62rem;font-weight:700;height:17px;justify-content:center;line-height:1;min-width:17px;padding:0 3px;position:absolute;right:2px;top:2px}.notif-panel{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 8px 32px #0000002e;max-width:95vw;overflow:hidden;position:absolute;right:0;top:calc(100% + 8px);width:320px;z-index:1200}.notif-panel-header{align-items:center;background:#fafafa;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;padding:14px 16px 10px}.notif-panel-title{color:#1a1a1a;font-size:.95rem;font-weight:700}.notif-mark-all-btn{background:none;border:none;border-radius:6px;color:#006b3f;cursor:pointer;font-size:.78rem;font-weight:600;padding:2px 6px;transition:background .15s}.notif-mark-all-btn:hover{background:#006b3f14}.notif-list{max-height:380px;overflow-y:auto}.notif-empty{color:#9ca3af;font-size:.88rem;padding:32px 16px;text-align:center}.notif-item{align-items:flex-start;border-bottom:1px solid #f5f5f5;cursor:pointer;display:flex;gap:10px;padding:12px 16px;position:relative;transition:background .12s}.notif-item:last-child{border-bottom:none}.notif-item:hover{background:#f9fafb}.notif-item--unread{background:#006b3f0a}.notif-item--unread:hover{background:#006b3f14}.notif-item-icon{flex-shrink:0;font-size:1.3rem;margin-top:2px}.notif-item-body{flex:1 1;min-width:0}.notif-item-title{color:#1a1a1a;font-size:.85rem;font-weight:600;margin-bottom:2px}.notif-item-msg{color:#4b5563;font-size:.82rem;line-height:1.4;margin-bottom:4px;word-break:break-word}.notif-item-time{color:#9ca3af;font-size:.72rem}.notif-item-dot{background:#006b3f;border-radius:50%;flex-shrink:0;height:8px;margin-top:6px;width:8px}@media (max-width:480px){.notif-panel{right:-4px;width:290px}}
/*# sourceMappingURL=main.336e0b41.css.map*/