:root {
    --green: #058a4f;
    --green-dark: #036c3e;
    --green-soft: #e9f9f1;
    --ink: #101820;
    --muted: #667085;
    --border: #e4e9ef;
    --surface: #ffffff;
    --canvas: #f5f7f9;
    --sidebar: #101820;
    --sidebar-muted: #9aa6b2;
    --danger: #e5484d;
    --warning: #f59e0b;
    --shadow: 0 5px 18px rgba(16, 24, 40, .045);
}

/* Smart stock coverage — Update 1.0.13 */
.stock-method-note{display:flex;align-items:center;gap:10px;padding:11px 14px;margin-bottom:13px;border:1px solid #bfe5d1;border-radius:10px;background:#eefaf4;color:#245b43;font-size:12px}.stock-method-note svg{width:18px;flex:0 0 auto}.smart-stock-summary{grid-template-columns:repeat(5,minmax(0,1fr))}.risk-icon.healthy{color:#087443;background:#e7f8ef}.risk-icon.neutral{color:#5d6b78;background:#eef2f5}.priority-badge.reorder{color:#9a5a00;background:#fff3d8}.priority-badge.healthy{color:#087443;background:#e7f8ef}.priority-badge.no-sales{color:#5d6b78;background:#eef2f5}.low-stock-table{min-width:1480px}.priority-badge{white-space:nowrap;min-width:78px}
@media(max-width:1180px){.smart-stock-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:780px){.smart-stock-summary{grid-template-columns:1fr}}

.ai-page-heading{align-items:center}.ai-readonly-badge{display:inline-flex;align-items:center;gap:7px;padding:9px 12px;border:1px solid #a9e0c5;border-radius:9px;background:var(--green-soft);color:var(--green-dark);font-size:11px;font-weight:750}.ai-readonly-badge svg{width:16px}.ai-agent-shell{display:grid;grid-template-columns:285px minmax(0,1fr);gap:16px;min-height:650px}.ai-agent-sidebar{display:flex;flex-direction:column;padding:16px}.ai-agent-identity{display:flex;align-items:center;gap:11px;padding-bottom:15px;border-bottom:1px solid var(--border)}.ai-agent-identity>span{width:43px;height:43px;display:grid;place-items:center;border-radius:11px;background:var(--green);color:#fff}.ai-agent-identity svg{width:22px}.ai-agent-identity strong,.ai-agent-identity small{display:block}.ai-agent-identity strong{font-size:13px}.ai-agent-identity small{margin-top:2px;color:var(--muted);font-size:10px}.ai-agent-capabilities{display:grid;gap:7px;margin-top:18px}.ai-agent-capabilities>span{margin-bottom:3px;color:var(--muted);font-size:10px;font-weight:750;text-transform:uppercase;letter-spacing:.06em}.ai-agent-capabilities button{display:flex;align-items:center;gap:9px;width:100%;padding:10px;border:1px solid var(--border);border-radius:8px;background:#fff;color:#344054;text-align:left;font-size:11px;font-weight:650}.ai-agent-capabilities button:hover{border-color:#9bd9bc;background:#f3fbf7;color:var(--green-dark)}.ai-agent-capabilities svg{width:15px}.ai-agent-guardrail{display:flex;align-items:flex-start;gap:9px;margin-top:auto;padding:12px;border:1px solid #d4eadf;border-radius:9px;background:#f1faf5;color:#416155}.ai-agent-guardrail svg{width:16px;flex:0 0 auto}.ai-agent-guardrail p{margin:0;font-size:9px;line-height:1.5}.ai-agent-guardrail strong{display:block;color:#1d4d39;font-size:10px}.ai-conversation{display:flex;flex-direction:column;padding:0;overflow:hidden}.ai-conversation-header{display:flex;align-items:center;justify-content:space-between;padding:14px 17px;border-bottom:1px solid var(--border);background:#fbfdfc}.ai-conversation-header>div{display:grid;grid-template-columns:auto 1fr;column-gap:8px;align-items:center}.ai-conversation-header strong{font-size:13px}.ai-conversation-header small{grid-column:2;color:var(--muted);font-size:9px}.ai-online-dot{grid-row:1/3;width:9px;height:9px;border-radius:50%;background:#12b76a;box-shadow:0 0 0 4px #e5f7ee}.ai-conversation-header button{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--muted)}.ai-conversation-header button:hover{color:#b4232a}.ai-conversation-header svg{width:15px}.ai-messages{flex:1;min-height:480px;max-height:650px;overflow:auto;padding:22px;background:linear-gradient(180deg,#f8fbfa,#fff)}.ai-message{display:flex;align-items:flex-start;gap:10px;margin-bottom:18px}.ai-message.user{justify-content:flex-end}.ai-message-avatar{width:32px;height:32px;display:grid;place-items:center;flex:0 0 auto;border-radius:9px;background:var(--green);color:#fff}.ai-message-avatar svg{width:16px}.ai-message-content{max-width:88%;padding:12px 14px;border:1px solid var(--border);border-radius:5px 13px 13px 13px;background:#fff;box-shadow:0 3px 10px rgba(16,24,40,.04)}.ai-message-content>strong{display:block;margin-bottom:5px;font-size:13px}.ai-message-content>p{margin:0;color:#46554f;font-size:11px;line-height:1.55}.ai-message.user .ai-message-content{border:0;border-radius:13px 5px 13px 13px;background:var(--green);color:#fff}.ai-message.user p{color:#fff}.ai-analysis-card{width:min(100%,1050px);max-width:calc(100% - 42px)}.ai-result-metrics{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.ai-result-metrics>div{min-width:110px;padding:9px 11px;border:1px solid #dce9e3;border-radius:8px;background:#f5faf7}.ai-result-metrics span,.ai-result-metrics strong{display:block}.ai-result-metrics span{color:var(--muted);font-size:8px;text-transform:uppercase}.ai-result-metrics strong{margin-top:2px;color:#087443;font-size:14px}.ai-result-table-wrap{margin-top:12px;overflow:auto;border:1px solid var(--border);border-radius:8px}.ai-result-table-wrap table{width:100%;border-collapse:collapse;font-size:10px}.ai-result-table-wrap th{padding:0;background:#e7f7ef;color:#075f3f;text-align:left;white-space:nowrap}.ai-sort-button{display:flex;align-items:center;gap:5px;width:100%;padding:8px;border:0;background:transparent;color:#075f3f;font:inherit;font-weight:700;text-align:left;cursor:pointer}.ai-sort-button:hover{background:#d8f1e4}.ai-sort-button span{color:#15945c;font-size:12px}.ai-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;color:#66756f;font-size:9px}.ai-pagination>div{display:flex;align-items:center;gap:7px}.ai-pagination button{padding:6px 10px;border:1px solid var(--border);border-radius:7px;background:#fff;color:#176c49;font-size:9px;font-weight:700}.ai-pagination button:disabled{opacity:.4;cursor:not-allowed}.ai-pagination strong{font-size:9px;color:#344d43}.ai-result-table-wrap td{padding:8px;border-top:1px solid var(--border);white-space:nowrap}.ai-result-table-wrap tbody tr:nth-child(even){background:#f8fbfa}.ai-result-note{display:flex;align-items:center;gap:5px;margin-top:10px;color:#6b7a75;font-size:8px}.ai-result-note svg{width:12px}.ai-thinking{display:flex;gap:4px;margin-bottom:5px}.ai-thinking i{width:6px;height:6px;border-radius:50%;background:#17a668;animation:ai-pulse 1.1s infinite}.ai-thinking i:nth-child(2){animation-delay:.15s}.ai-thinking i:nth-child(3){animation-delay:.3s}@keyframes ai-pulse{0%,70%,100%{opacity:.25;transform:translateY(0)}35%{opacity:1;transform:translateY(-3px)}}.ai-composer{position:relative;padding:14px 64px 27px 14px;border-top:1px solid var(--border);background:#fff}.ai-composer textarea{width:100%;min-height:48px;max-height:120px;resize:vertical;padding:14px;border:1px solid #cfdcd6;border-radius:10px;outline:0;font-size:12px}.ai-composer textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(5,138,79,.08)}.ai-composer>button{position:absolute;right:14px;top:14px;width:48px;height:48px;display:grid;place-items:center;border:0;border-radius:10px;background:var(--green);color:#fff}.ai-composer>button:disabled{opacity:.55}.ai-composer>button svg{width:18px}.ai-composer>small{position:absolute;left:16px;bottom:8px;color:var(--muted);font-size:8px}
@media(max-width:900px){.ai-agent-shell{grid-template-columns:1fr}.ai-agent-sidebar{min-height:auto}.ai-agent-guardrail{margin-top:18px}.ai-messages{min-height:430px}.ai-analysis-card{max-width:calc(100% - 15px)}}
.ai-result-actions{display:flex;justify-content:flex-end;margin:10px 0 7px}.ai-result-actions button{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border:1px solid #b9e3ce;border-radius:7px;background:#fff;color:#087443;font-size:9px;font-weight:700}.ai-result-actions button:hover{background:#e9f9f1}.ai-result-actions svg{width:13px}
@media(max-width:900px){.settings-grid{grid-template-columns:1fr}.settings-security{grid-column:auto}.settings-status-grid{grid-template-columns:1fr}}
@media(max-width:600px){.settings-fields{grid-template-columns:1fr}.settings-span-2{grid-column:auto}.settings-savebar{align-items:stretch;flex-direction:column}.settings-savebar .btn-emerald{justify-content:center}.settings-admin-badge{display:none}}
.sales-availability{display:flex;align-items:center;gap:6px;margin-top:11px;color:var(--muted);font-size:10px}.sales-availability svg{width:14px;color:var(--green)}.sales-availability strong{color:var(--ink)}.monthly-summary small{display:block;margin-top:3px}
.report-email-status{display:inline-flex;align-items:center;gap:7px;padding:9px 12px;border:1px solid #f3d08b;border-radius:9px;background:#fff7df;color:#9a6500;font-size:11px;font-weight:700}.report-email-status.ready{border-color:#a9e0c5;background:var(--green-soft);color:var(--green-dark)}.report-email-status svg{width:16px}.report-type-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.report-type-card{display:grid;grid-template-columns:42px 1fr;column-gap:11px;padding:15px;background:#fff;border:1px solid var(--border);border-radius:11px;box-shadow:var(--shadow)}.report-type-card.active{border-color:#51b88a;box-shadow:0 0 0 2px rgba(5,138,79,.08)}.report-type-card>span{grid-row:1/3;display:grid;place-items:center;width:42px;height:42px;border-radius:10px;background:var(--green-soft);color:var(--green)}.report-type-card svg{width:20px}.report-type-card strong{align-self:end;font-size:13px}.report-type-card small{align-self:start;margin-top:3px;color:var(--muted);font-size:9px;line-height:1.35}.report-builder,.report-preview,.report-history-panel{margin-bottom:16px;padding:16px}.report-section-heading,.report-preview-header{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:14px}.report-section-heading h2,.report-preview-header h2{font-size:16px;margin:0 0 3px}.report-section-heading p,.report-preview-header p,.report-section-heading>span{color:var(--muted);font-size:10px;margin:0}.report-filter-form{display:flex;align-items:flex-end;gap:9px;flex-wrap:wrap}.report-filter-form label{min-width:165px}.report-filter-form label>span:first-child{display:block;margin-bottom:5px;color:var(--muted);font-size:9px}.report-filter-form input,.report-email-form input{height:40px;padding:0 11px;border:1px solid var(--border);border-radius:8px;background:#fff}.report-filter-form input:focus,.report-email-form input:focus{border-color:var(--green);outline:0;box-shadow:0 0 0 3px rgba(5,138,79,.08)}.report-search-field{flex:1;min-width:280px!important}.report-input-with-icon{position:relative;display:block}.report-input-with-icon svg{position:absolute;left:11px;top:11px;width:17px;color:var(--muted)}.report-input-with-icon input{width:100%;padding-left:36px}.report-filter-group{display:none;align-items:flex-end;gap:9px;width:100%;padding:11px;border:1px solid var(--border);border-radius:9px;background:#f8fafb}.report-filter-group.visible{display:flex}.report-filter-group label{flex:1}.report-filter-group input,.report-filter-group select{width:100%}.report-custom-hidden{display:none}.report-preview-button{height:40px}.report-preview-header>div:first-child>span{color:var(--green);font-size:9px;font-weight:800;letter-spacing:.08em}.report-actions{display:flex;gap:8px}.report-actions form{margin:0}.report-preview-table{min-width:920px}.report-preview-note{padding:10px 0 0;color:var(--muted);font-size:10px;margin:0}.report-email-form{display:grid;grid-template-columns:1fr minmax(260px,420px) auto;align-items:center;gap:12px;margin-top:15px;padding:13px;background:#f8fafb;border:1px solid var(--border);border-radius:9px}.report-email-form strong,.report-email-form small{display:block}.report-email-form strong{font-size:12px}.report-email-form small{color:var(--muted);font-size:9px;margin-top:2px}.report-email-form button:disabled{cursor:not-allowed;opacity:.5}.report-status{display:inline-flex;padding:4px 8px;border-radius:999px;background:#e7f2ff;color:#1d5d91;font-size:9px;font-weight:750}.report-status.failed{background:#fee9eb;color:#b4232a}

@media(max-width:1100px){.report-type-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.report-email-form{grid-template-columns:1fr 1fr}.report-email-form button{grid-column:1/-1;justify-content:center}}
@media(max-width:700px){.report-type-grid{grid-template-columns:1fr}.report-filter-form,.report-filter-group.visible{align-items:stretch;flex-direction:column}.report-filter-form>label,.report-filter-group label,.report-search-field{width:100%;min-width:100%!important}.report-filter-form input,.report-filter-form select{width:100%}.report-preview-header{align-items:flex-start;flex-direction:column}.report-actions{width:100%}.report-actions form,.report-actions button{flex:1}.report-email-form{grid-template-columns:1fr}.report-email-form button{grid-column:auto}.report-email-form input{width:100%}}

* { box-sizing: border-box; }
body { margin: 0; font-family: Inter, system-ui, sans-serif; color: var(--ink); background: var(--canvas); }
a { color: inherit; text-decoration: none; }
button, input, select { font: inherit; }

.app-shell { min-height: 100vh; display: flex; }
.sidebar { position: fixed; inset: 0 auto 0 0; width: 252px; background: linear-gradient(180deg, #111c24, #0d151b); color: white; display: flex; flex-direction: column; z-index: 1040; transition: transform .25s ease; }
.brand { height: 88px; display: flex; align-items: center; gap: 12px; padding: 0 22px; border-bottom: 1px solid rgba(255,255,255,.08); }
.brand-mark { width: 42px; height: 42px; display: grid; place-items: center; color: #22c978; background: rgba(34,201,120,.1); border-radius: 13px; }
.brand-mark svg { width: 28px; height: 28px; }
.brand-mark img { width: 28px; height: 28px; display: block; object-fit: contain; }
.brand strong { font-size: 16px; display: block; letter-spacing: -.02em; }
.brand small { display: block; color: var(--sidebar-muted); font-size: 10px; margin-top: 3px; }
.sidebar-nav { padding: 18px 10px; overflow-y: auto; flex: 1; }
.nav-item { min-height: 47px; display: flex; align-items: center; gap: 14px; padding: 0 16px; margin: 3px 0; border-radius: 9px; color: #d9e0e6; font-size: 14px; font-weight: 500; }
.nav-item svg { width: 20px; height: 20px; }
.nav-item:hover { background: rgba(255,255,255,.06); color: white; }
.nav-item.active { color: white; background: linear-gradient(100deg, #05a65b, #058a4f); box-shadow: 0 6px 18px rgba(5,138,79,.22); }
.nav-section { margin: 22px 12px 10px; padding-top: 17px; border-top: 1px solid rgba(255,255,255,.08); color: var(--sidebar-muted); font-size: 12px; }
.sidebar-profile { min-height: 82px; padding: 14px 18px; display: flex; align-items: center; gap: 11px; border-top: 1px solid rgba(255,255,255,.08); }
.avatar { width: 38px; height: 38px; flex: 0 0 auto; border-radius: 50%; display: inline-grid; place-items: center; background: var(--green); color: white; font-size: 12px; font-weight: 700; }
.profile-copy { min-width: 0; flex: 1; }
.profile-copy strong, .profile-copy small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.profile-copy strong { font-size: 13px; }
.profile-copy small { color: var(--sidebar-muted); font-size: 11px; margin-top: 3px; }
.logout-link { color: #cdd5dc; padding: 6px; }
.logout-link svg { width: 19px; }

.app-main { min-width: 0; width: calc(100% - 252px); margin-left: 252px; }
.topbar { height: 74px; background: white; border-bottom: 1px solid var(--border); display: flex; align-items: center; padding: 0 30px; position: sticky; top: 0; z-index: 1020; }
.global-search { width: min(505px, 48vw); height: 42px; display: flex; align-items: center; gap: 10px; padding: 0 14px; border: 1px solid var(--border); border-radius: 9px; background: #f9fafb; }
.global-search svg { width: 18px; color: #7b8794; }
.global-search input { width: 100%; border: 0; outline: 0; background: transparent; color: var(--ink); font-size: 13px; }
.topbar-actions { display: flex; align-items: center; gap: 22px; margin-left: auto; }
.icon-button { width: 38px; height: 38px; border: 0; background: transparent; position: relative; color: #435266; }
.icon-button svg { width: 20px; }
.notification-dot { position: absolute; width: 7px; height: 7px; background: #e6232c; border-radius: 50%; right: 6px; top: 6px; border: 2px solid white; }
.topbar-date { display: flex; align-items: center; gap: 8px; font-size: 12px; color: #586579; }
.topbar-date svg { width: 18px; }
.avatar-large { width: 41px; height: 41px; }
.mobile-menu { display: none; border: 0; background: transparent; margin-right: 10px; }
.page-content { padding: 25px 28px 40px; }

.page-heading { display: flex; justify-content: space-between; align-items: flex-start; gap: 20px; margin-bottom: 18px; }
.page-heading h1 { font-size: clamp(26px, 2.4vw, 34px); letter-spacing: -.04em; font-weight: 800; margin: 0 0 5px; }
.page-heading p { color: var(--muted); margin: 0; font-size: 14px; }
.btn-emerald { border: 1px solid var(--green); background: var(--green); color: white; font-weight: 600; border-radius: 9px; padding: 10px 17px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; }
.btn-emerald:hover { background: var(--green-dark); border-color: var(--green-dark); color: white; }
.btn-emerald svg { width: 18px; }
.btn-outline-soft { border: 1px solid var(--border); background: white; color: #344054; border-radius: 8px; padding: 9px 14px; font-weight: 600; font-size: 13px; }

.metric-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-bottom: 16px; }
.metric-card, .panel { background: var(--surface); border: 1px solid var(--border); border-radius: 12px; box-shadow: var(--shadow); }
.metric-card { min-height: 122px; padding: 18px; display: flex; gap: 14px; }
.metric-icon { width: 46px; height: 46px; border-radius: 14px; display: grid; place-items: center; background: var(--green-soft); color: var(--green); flex: 0 0 auto; }
.metric-icon.warning { background: #fff5df; color: var(--warning); }
.metric-icon.danger { background: #ffecef; color: var(--danger); }
.metric-icon.blue { background: #eaf3ff; color: #2476db; }
.metric-icon svg { width: 23px; }
.metric-label { color: #667085; font-size: 12px; margin: 2px 0 8px; }
.metric-value { font-size: 26px; line-height: 1; font-weight: 800; letter-spacing: -.035em; }
.metric-note { color: var(--green); font-size: 11px; font-weight: 600; margin-top: 10px; }
.dashboard-grid { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(280px, .75fr); gap: 16px; }
.panel { padding: 18px; }
.settings-heading{align-items:center}.settings-admin-badge{display:inline-flex;align-items:center;gap:7px;padding:9px 12px;border:1px solid #b9e3ce;border-radius:9px;background:#eefaf4;color:#087443;font-size:10px;font-weight:750}.settings-admin-badge svg{width:15px}.settings-form{padding-bottom:85px}.settings-status-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px}.settings-status-card{display:flex;align-items:center;gap:12px;padding:15px;background:#fff;border:1px solid var(--border);border-radius:11px;box-shadow:var(--shadow)}.settings-status-card>span{width:42px;height:42px;display:grid;place-items:center;border-radius:10px}.settings-status-card.ready>span{background:#e9f9f1;color:#087443}.settings-status-card.warning>span{background:#fff3d8;color:#a45f00}.settings-status-card svg{width:20px}.settings-status-card small,.settings-status-card strong,.settings-status-card em{display:block}.settings-status-card small{color:var(--muted);font-size:9px;text-transform:uppercase}.settings-status-card strong{margin:2px 0;font-size:13px}.settings-status-card em{color:#7b8794;font-size:9px;font-style:normal}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.settings-card{padding:0;overflow:hidden}.settings-card-header{display:flex;align-items:center;gap:11px;padding:16px;border-bottom:1px solid var(--border);background:#fbfdfc}.settings-card-header>span{width:38px;height:38px;display:grid;place-items:center;border-radius:9px;background:var(--green-soft);color:var(--green)}.settings-card-header svg{width:19px}.settings-card-header h2{margin:0 0 2px;font-size:14px}.settings-card-header p{margin:0;color:var(--muted);font-size:9px}.settings-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:16px}.settings-fields label>span,.settings-readonly>span{display:block;margin-bottom:6px;color:#344054;font-size:10px;font-weight:700}.settings-fields input,.settings-fields select{width:100%;height:40px;padding:0 11px;border:1px solid var(--border);border-radius:8px;background:#fff;font-size:12px}.settings-fields input:focus,.settings-fields select:focus{border-color:var(--green);outline:0;box-shadow:0 0 0 3px rgba(5,138,79,.08)}.settings-fields label small,.settings-readonly small{display:block;margin-top:5px;color:var(--muted);font-size:8px;line-height:1.4}.settings-span-2{grid-column:span 2}.settings-input-suffix{display:flex}.settings-input-suffix input{border-radius:8px 0 0 8px}.settings-input-suffix b{display:flex;align-items:center;padding:0 10px;border:1px solid var(--border);border-left:0;border-radius:0 8px 8px 0;background:#f5f7f6;color:#697771;font-size:9px}.settings-safe-note{display:flex;align-items:flex-start;gap:8px;padding:10px;border:1px solid #dceae3;border-radius:8px;background:#f5faf7;color:#52635c;font-size:9px}.settings-safe-note svg{width:15px;flex:0 0 auto;color:#087443}.settings-safe-note strong{color:#264c3c}.settings-readonly strong{display:flex;align-items:center;gap:6px;height:40px;padding:0 11px;border:1px solid #dceae3;border-radius:8px;background:#f5faf7;color:#087443;font-size:11px}.settings-readonly strong svg{width:14px}.settings-security{grid-column:span 2}.settings-savebar{position:sticky;bottom:12px;display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:16px;padding:12px 14px;border:1px solid #cfe3d9;border-radius:11px;background:rgba(255,255,255,.96);box-shadow:0 10px 30px rgba(16,24,40,.12);backdrop-filter:blur(8px)}.settings-savebar>div{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:10px}.settings-savebar svg{width:15px}.settings-savebar .btn-emerald{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.panel-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
.panel-title { font-size: 16px; font-weight: 750; margin: 0; }
.panel-subtitle { font-size: 11px; color: var(--muted); margin: 3px 0 0; }
.chart-placeholder { height: 255px; border-radius: 10px; background: linear-gradient(180deg, rgba(5,138,79,.08), rgba(5,138,79,0)); position: relative; overflow: hidden; border-bottom: 1px solid #dfe6eb; }
.chart-placeholder::before { content: ''; position: absolute; inset: 25px 0 0; background: repeating-linear-gradient(0deg, transparent 0 49px, #e9edf1 49px 50px); }
.chart-placeholder svg { position: absolute; inset: 20px 5px 10px; width: calc(100% - 10px); height: calc(100% - 30px); color: var(--green); }
.stock-ring { width: 162px; height: 162px; border-radius: 50%; margin: 20px auto; background: conic-gradient(var(--green) 0 96%, var(--warning) 96% 98%, var(--danger) 98%); position: relative; display: grid; place-items: center; }
.stock-ring::after { content: ''; position: absolute; width: 112px; height: 112px; border-radius: 50%; background: white; }
.ring-copy { position: relative; z-index: 1; text-align: center; }
.ring-copy strong { display: block; font-size: 25px; }
.ring-copy small { color: var(--muted); }
.legend-row { display: flex; align-items: center; gap: 8px; font-size: 12px; margin: 10px 0; }
.legend-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--green); }
.legend-row strong { margin-left: auto; }
.dashboard-sales-bar{position:relative;min-width:0;cursor:pointer;border-radius:7px;transition:background .18s ease}.dashboard-sales-bar:hover,.dashboard-sales-bar:focus-visible{background:#f1faf5;outline:0}.dashboard-sales-column{transform-origin:bottom;animation:dashboard-bar-grow .55s ease-out both;transition:filter .18s ease,transform .18s ease}.dashboard-sales-bar:hover .dashboard-sales-column,.dashboard-sales-bar:focus-visible .dashboard-sales-column{filter:saturate(1.2) brightness(.94);transform:scaleX(1.12)}.dashboard-sales-bar::after{content:attr(data-sales-tooltip);position:absolute;z-index:8;left:50%;top:32px;width:max-content;max-width:220px;padding:7px 9px;border-radius:7px;background:#17212b;color:#fff;font-size:9px;line-height:1.35;box-shadow:0 7px 18px rgba(16,24,40,.18);opacity:0;pointer-events:none;transform:translateX(-50%);transition:opacity .16s ease}.dashboard-sales-bar:hover::after,.dashboard-sales-bar:focus-visible::after{opacity:1}@keyframes dashboard-bar-grow{from{transform:scaleY(.08);opacity:.35}to{transform:scaleY(1);opacity:1}}.stock-ring-interactive{transition:transform .2s ease,box-shadow .2s ease}.stock-ring-interactive:hover,.stock-ring-interactive:focus-visible{transform:scale(1.035);box-shadow:0 10px 24px rgba(5,138,79,.12);outline:0}.legend-row-interactive{padding:7px 8px;margin:3px -8px;border-radius:7px;transition:background .16s ease,transform .16s ease}.legend-row-interactive:hover,.legend-row-interactive:focus-visible{background:#f1faf5;transform:translateX(3px);outline:0}.ring-copy small{max-width:94px;text-align:center;line-height:1.2}
.bottom-grid { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(280px, .75fr); gap: 16px; margin-top: 16px; }
.bottom-grid.single-column { grid-template-columns: 1fr; }
.table-modern { width: 100%; border-collapse: collapse; }
.table-modern th { color: #667085; font-size: 11px; font-weight: 600; text-align: left; padding: 10px 8px; border-bottom: 1px solid var(--border); }
.table-modern td { font-size: 12px; padding: 11px 8px; border-bottom: 1px solid #edf0f2; vertical-align: middle; }
.status-pill { display: inline-flex; align-items: center; padding: 4px 9px; border-radius: 999px; font-size: 10px; font-weight: 650; background: var(--green-soft); color: var(--green-dark); }
.status-pill.inactive { background: #eef1f4; color: #667085; }
.status-pill.warning { background: #fff3d8; color: #a45f00; }
.ai-insight { height: 100%; padding: 15px; border-radius: 10px; background: linear-gradient(135deg, #e9faf2, #ddf6e9); border: 1px solid #c8eedb; }
.ai-insight h3 { font-size: 13px; font-weight: 750; }
.ai-insight strong { display: block; margin: 18px 0 6px; font-size: 14px; }
.ai-insight p { color: #4d655b; font-size: 11px; line-height: 1.55; }
.dashboard-ai-panel { display: flex; min-width: 0; flex-direction: column; }
.dashboard-ai-panel .panel-header { flex: 0 0 auto; }
.dashboard-ai-insight { height: auto; min-height: 0; flex: 1 1 auto; }
.ai-fab { position: fixed; right: 25px; bottom: 160px; width: 54px; height: 54px; border: 0; border-radius: 50%; display: grid; place-items: center; background: var(--green); color: white; box-shadow: 0 9px 25px rgba(5,138,79,.32); z-index: 1030; }
.ai-fab svg { width: 25px; }
.ai-fab span { position: absolute; right: 1px; top: 1px; width: 10px; height: 10px; background: #f22; border: 2px solid white; border-radius: 50%; }

.user-table-card { padding: 0; overflow: hidden; }
.table-toolbar { display: flex; align-items: center; gap: 10px; padding: 16px; border-bottom: 1px solid var(--border); }
.search-control { height: 40px; flex: 1; min-width: 180px; border: 1px solid var(--border); border-radius: 8px; padding: 0 12px; outline: 0; }
.select-control { height: 40px; border: 1px solid var(--border); border-radius: 8px; padding: 0 34px 0 12px; background: white; }
.user-cell { display: flex; align-items: center; gap: 10px; }
.user-cell .avatar { width: 34px; height: 34px; }
.user-cell strong, .user-cell small { display: block; }
.user-cell small { color: var(--muted); font-size: 10px; margin-top: 2px; }
.action-button { width: 34px; height: 34px; border: 1px solid var(--border); border-radius: 7px; background: white; display: inline-grid; place-items: center; margin-right: 4px; }
.action-button svg { width: 15px; }
.action-button.danger { color: var(--danger); background: #fff4f5; }
.modal-content { border: 0; border-radius: 14px; box-shadow: 0 24px 60px rgba(16,24,40,.2); }
.form-label { font-size: 12px; font-weight: 650; color: #344054; }
.form-control, .form-select { border-color: #dfe5ea; border-radius: 8px; min-height: 42px; font-size: 13px; }
.form-control:focus, .form-select:focus { border-color: var(--green); box-shadow: 0 0 0 3px rgba(5,138,79,.11); }
.barcode-generate-field{display:flex;gap:8px}.barcode-generate-field .form-control{min-width:0}.barcode-generate-field .btn-outline-soft{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.barcode-generate-field .btn-outline-soft svg{width:15px}.barcode-generate-field .btn-outline-soft:disabled{opacity:.55;cursor:wait}.barcode-generate-help{display:block;margin-top:5px;color:var(--muted);font-size:9px}
.password-wrap { position: relative; }
.password-wrap .form-control { padding-right: 46px; }
.password-toggle { position: absolute; right: 8px; top: 50%; transform: translateY(-50%); border: 0; background: transparent; color: #667085; }
.password-toggle svg { width: 18px; }
.empty-module { min-height: 440px; display: grid; place-items: center; text-align: center; }
.empty-module .metric-icon { margin: 0 auto 16px; width: 58px; height: 58px; }
.empty-module h2 { font-size: 20px; }
.empty-module p { max-width: 450px; color: var(--muted); font-size: 13px; }
.inventory-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.inventory-summary>div{background:#fff;border:1px solid var(--border);border-radius:11px;padding:14px 17px;display:flex;align-items:center;justify-content:space-between;box-shadow:var(--shadow)}.inventory-summary span{color:var(--muted);font-size:12px}.inventory-summary strong{font-size:18px}.inventory-panel{padding:0;overflow:hidden}.inventory-toolbar{padding:15px;display:flex;gap:9px;align-items:center;border-bottom:1px solid var(--border);flex-wrap:wrap}.inventory-search{height:40px;min-width:280px;flex:1;display:flex;align-items:center;gap:8px;padding:0 12px;border:1px solid var(--border);border-radius:8px;background:#fff}.inventory-search svg{width:17px;color:#7b8794}.inventory-search input{min-width:0;flex:1;border:0;outline:0;font-size:13px}.inventory-toolbar .btn-emerald,.inventory-toolbar .btn-outline-soft{min-height:40px;padding:8px 12px;font-size:12px;white-space:nowrap}.inventory-toolbar .btn-outline-soft{display:inline-flex;align-items:center;gap:6px}.inventory-toolbar .btn-outline-soft svg{width:15px}.inventory-results{padding:11px 16px;background:#fafbfc;color:#475467;font-size:12px;border-bottom:1px solid var(--border)}.inventory-results span{color:#98a2b3}.inventory-table th{white-space:nowrap;background:#f8fafb;padding:12px 10px}.inventory-table td{padding:11px 10px}.product-description{display:block;min-width:180px;max-width:310px}.mono-cell{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.location-badge{display:inline-flex;min-width:30px;justify-content:center;background:#f1f4f6;padding:4px 8px;border-radius:6px;font-weight:650}.stock-pill{display:inline-flex;min-width:48px;justify-content:center;color:#087443;background:#e9f9f1;padding:5px 9px;border-radius:999px;font-weight:700}.stock-pill.low{color:#9a5a00;background:#fff3d8}.stock-pill.out{color:#bd2930;background:#ffecef}.date-cell{white-space:nowrap;color:#586579;font-size:11px}.actions-cell{white-space:nowrap}.empty-row{text-align:center;color:var(--muted);padding:45px!important}.pagination-wrap{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 16px;color:#667085;font-size:12px;border-top:1px solid var(--border)}.pagination-buttons{display:flex;gap:6px}.page-button{width:35px;height:35px;border:1px solid var(--border);border-radius:7px;display:grid;place-items:center;background:#fff;font-weight:600}.page-button svg{width:16px}.page-button:hover{border-color:var(--green);color:var(--green)}.page-button.active{background:var(--green);border-color:var(--green);color:#fff}.page-button.disabled{pointer-events:none;opacity:.4}
.barcode-station{margin-bottom:16px;padding:16px;background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow)}.barcode-station-copy{display:flex;align-items:center;gap:12px;margin-bottom:13px}.barcode-station-icon{width:42px;height:42px;display:grid;place-items:center;flex:0 0 auto;border-radius:11px;color:var(--green);background:var(--green-soft)}.barcode-station-icon svg{width:22px}.barcode-station h2{font-size:15px;font-weight:750;margin:0 0 3px}.barcode-station p{font-size:11px;color:var(--muted);margin:0}.barcode-form{display:flex;gap:9px;align-items:center}.barcode-mode{display:flex;padding:3px;border-radius:9px;background:#f0f3f5}.barcode-mode-button{height:38px;padding:0 15px;display:inline-flex;align-items:center;gap:6px;border:0;border-radius:7px;background:transparent;color:#596676;font-size:12px;font-weight:700}.barcode-mode-button svg{width:15px}.barcode-mode-button.add.active{background:var(--green);color:#fff;box-shadow:0 2px 7px rgba(5,138,79,.2)}.barcode-mode-button.delete.active{background:var(--danger);color:#fff;box-shadow:0 2px 7px rgba(229,72,77,.2)}.barcode-scan-input{height:44px;min-width:260px;flex:1;display:flex;align-items:center;gap:9px;padding:0 12px;border:2px solid #b9e3ce;border-radius:9px;background:#fbfffd}.barcode-scan-input:focus-within{border-color:var(--green);box-shadow:0 0 0 3px rgba(5,138,79,.1)}.barcode-scan-input svg{width:19px;color:var(--green)}.barcode-scan-input input{min-width:0;flex:1;border:0;outline:0;background:transparent;font-size:14px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.barcode-scan-input span{color:#8b97a3;font-size:10px;white-space:nowrap}.barcode-submit{min-width:112px}.barcode-submit.barcode-delete-submit{background:var(--danger);border-color:var(--danger)}.barcode-feedback{margin-top:10px;min-height:20px;padding:5px 9px;border-radius:6px;color:#667085;font-size:11px}.barcode-feedback.success{color:#087443;background:#e9f9f1}.barcode-feedback.error{color:#bd2930;background:#ffecef}.barcode-feedback.working{color:#8a5b00;background:#fff6df}.barcode-form button:disabled{opacity:.6;cursor:wait}
.movement-panel{padding:0;margin-bottom:16px;overflow:hidden}.movement-header{padding:15px 16px;display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid var(--border)}.movement-header h2{font-size:15px;font-weight:750;margin:0 0 3px}.movement-header p{font-size:11px;color:var(--muted);margin:0}.movement-protection{display:inline-flex;align-items:center;gap:6px;color:#087443;background:#e9f9f1;border-radius:999px;padding:6px 10px;font-size:10px;font-weight:650;white-space:nowrap}.movement-protection svg{width:14px}.movement-table th{background:#f8fafb}.movement-table td{vertical-align:middle}.movement-barcode{display:block;color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px;margin-top:2px}.movement-type,.movement-status{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:10px;font-weight:700}.movement-type.receive{color:#087443;background:#e9f9f1}.movement-type.sold{color:#a33a3e;background:#ffecef}.movement-status{color:#285a8d;background:#eaf3ff}.movement-status.reversed{color:#667085;background:#eef1f4}.movement-undo{display:inline-flex;align-items:center;gap:5px;border:1px solid #b9e3ce;background:#fff;color:#087443;border-radius:7px;padding:6px 9px;font-size:10px;font-weight:700}.movement-undo:hover{background:#e9f9f1}.movement-undo:disabled{opacity:.5}.movement-undo svg{width:13px}.movement-done{color:#98a2b3}

.movement-header .btn-outline-soft{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}.movement-header .btn-outline-soft svg{width:15px}.sortable-heading{display:inline-flex;align-items:center;gap:5px;color:inherit}.sortable-heading:hover{color:var(--green)}.sortable-heading svg{width:13px}.sortable-heading.active{color:var(--green);font-weight:750}.updated-row{animation:updated-row-glow 3.5s ease-out}@keyframes updated-row-glow{0%,35%{background:#dcf8e9}100%{background:transparent}}.movement-type.return{color:#6d3bb2;background:#f2eafe}.movement-history-panel{padding:0;overflow:hidden}.movement-filters{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding:15px;border-bottom:1px solid var(--border)}.movement-filters .inventory-search{min-width:250px}.date-filter{height:40px;border:1px solid var(--border);border-radius:8px;padding:0 10px;background:#fff;font-size:12px}.return-panel{padding:0;overflow:hidden}.return-table{min-width:1120px}.return-table th{white-space:nowrap;background:#f8fafb}.return-table td{vertical-align:middle}.return-reason{display:block;min-width:170px;max-width:260px}.return-actions{display:flex;gap:6px}.return-actions form{margin:0}.restock-button{white-space:nowrap}.damaged-button{white-space:nowrap;color:#b4232a;border-color:#f2c7ca}.damaged-button:hover{background:#fff1f2}.movement-link{color:var(--green);font-size:10px;font-weight:700;text-decoration:underline}
.return-entry-panel{padding:16px;margin-bottom:16px}.return-entry-header{display:flex;align-items:center;gap:12px;margin-bottom:14px}.return-entry-header h2{font-size:15px;font-weight:750;margin:0 0 3px}.return-entry-header p{font-size:11px;color:var(--muted);margin:0}.return-lookup{display:flex;align-items:center;gap:9px}.return-lookup .btn-emerald{min-height:44px;display:inline-flex;align-items:center;gap:7px;white-space:nowrap}.return-lookup .btn-emerald svg{width:16px}.return-entry-message{margin-top:10px;padding:9px 11px;border-radius:7px;font-size:12px}.return-entry-message.error{color:#bd2930;background:#ffecef}.return-product-card{padding:0;overflow:hidden}.return-product-summary{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;background:#f8fafb;border-bottom:1px solid var(--border)}.return-product-summary>div{padding:15px;border-right:1px solid var(--border)}.return-product-summary>div:last-child{border-right:0}.return-product-summary span{display:block;color:var(--muted);font-size:10px;margin-bottom:5px}.return-product-summary strong{font-size:13px}.return-product-form{padding:18px}.return-form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.return-form-grid label>span{display:block;color:#344054;font-size:12px;font-weight:650;margin-bottom:6px}.return-form-grid small{display:block;color:var(--muted);font-size:10px;line-height:1.4;margin-top:5px}.inventory-decision{grid-column:span 2}.return-reason-field{grid-column:span 2}.return-form-footer{display:flex;justify-content:flex-end;gap:9px;margin-top:18px;padding-top:16px;border-top:1px solid var(--border)}.return-form-footer .btn-emerald{display:inline-flex;align-items:center;gap:7px}.return-form-footer svg{width:16px}.return-history-table{min-width:1600px}
.low-stock-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.low-stock-summary>a{display:flex;align-items:center;gap:13px;padding:15px 17px;background:#fff;border:1px solid var(--border);border-radius:11px;box-shadow:var(--shadow);color:inherit}.low-stock-summary>a:hover{border-color:#b9e3ce;transform:translateY(-1px)}.low-stock-summary>a>span:last-child{display:grid;grid-template-columns:1fr auto;align-items:center;flex:1}.low-stock-summary small{color:var(--muted);font-size:11px}.low-stock-summary strong{font-size:20px}.low-stock-summary em{grid-column:1/-1;color:#8b97a3;font-size:10px;font-style:normal;margin-top:2px}.risk-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:11px;flex:0 0 auto}.risk-icon svg{width:21px}.risk-icon.critical{color:#bd2930;background:#ffecef}.risk-icon.high{color:#a15c00;background:#fff3d8}.risk-icon.medium{color:#285a8d;background:#eaf3ff}.risk-icon.out{color:#fff;background:#d92d20}.low-stock-receive{margin-bottom:16px}.low-stock-panel{padding:0;overflow:hidden}.low-stock-table{min-width:1320px}.low-stock-table th{white-space:nowrap;background:#f8fafb}.low-stock-table td{vertical-align:middle}.priority-badge{display:inline-flex;min-width:66px;justify-content:center;padding:5px 9px;border-radius:999px;font-size:10px;font-weight:750}.priority-badge.out{color:#fff;background:#d92d20}.priority-badge.critical{color:#bd2930;background:#ffecef}.priority-badge.high{color:#9a5a00;background:#fff3d8}.priority-badge.medium{color:#285a8d;background:#eaf3ff}.reorder-value{display:block;color:#087443}.reorder-note{display:block;color:var(--muted);font-size:9px;white-space:nowrap}
.monthly-filter-panel{padding:15px;margin-bottom:16px}.monthly-filters{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.monthly-filters>.inventory-search{min-width:320px}.period-buttons{display:flex;padding:3px;background:#eef2f4;border-radius:9px}.period-button{height:34px;padding:0 12px;border:0;border-radius:7px;background:transparent;color:#596676;font-size:11px;font-weight:700;white-space:nowrap}.period-button.active{color:#fff;background:var(--green)}.custom-period{display:none;align-items:flex-end;gap:8px;width:100%;padding:12px;background:#f8fafb;border:1px solid var(--border);border-radius:9px}.custom-period.visible{display:flex}.custom-period label{flex:1}.custom-period label span{display:block;color:var(--muted);font-size:10px;margin-bottom:4px}.custom-period input{width:100%;height:38px;padding:0 10px;border:1px solid var(--border);border-radius:7px;background:#fff}.monthly-summary{display:grid;grid-template-columns:1.25fr repeat(4,1fr);gap:12px;margin-bottom:16px}.monthly-summary>div{min-width:0;padding:14px 16px;background:#fff;border:1px solid var(--border);border-radius:11px;box-shadow:var(--shadow)}.monthly-summary span{display:block;color:var(--muted);font-size:10px;margin-bottom:5px}.monthly-summary strong{display:block;overflow:hidden;text-overflow:ellipsis;font-size:17px;white-space:nowrap}.monthly-summary small{color:#087443;font-size:10px}.monthly-results{display:grid;gap:9px}.monthly-results-heading{display:flex;align-items:flex-end;justify-content:space-between;padding:0 2px 4px}.monthly-results-heading h2{font-size:16px;margin:0 0 3px}.monthly-results-heading p,.monthly-results-heading>span{color:var(--muted);font-size:11px;margin:0}.monthly-product{background:#fff;border:1px solid var(--border);border-radius:11px;box-shadow:var(--shadow);overflow:hidden}.monthly-product>summary{display:grid;grid-template-columns:1fr 2.2fr repeat(4,.7fr) 22px;gap:14px;align-items:center;padding:14px 16px;cursor:pointer;list-style:none}.monthly-product>summary::-webkit-details-marker{display:none}.monthly-product>summary:hover{background:#fbfdfc}.monthly-product>summary>span{min-width:0}.monthly-product>summary small{display:block;color:var(--muted);font-size:9px;margin-bottom:3px}.monthly-product>summary strong{font-size:12px}.monthly-product-main strong{display:block;font-size:13px!important}.monthly-product-description{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.monthly-product-description small{margin-top:3px}.monthly-product .period-sales{color:var(--green);font-size:15px}.monthly-product>summary>svg{width:16px;color:var(--muted);transition:transform .2s}.monthly-product[open]>summary>svg{transform:rotate(180deg)}.monthly-breakdown{padding:14px 16px 16px;background:#f8fafb;border-top:1px solid var(--border)}.monthly-breakdown-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;font-size:11px}.monthly-breakdown-title a{display:inline-flex;align-items:center;gap:5px;color:var(--green);font-weight:700}.monthly-breakdown-title svg{width:13px}.month-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.month-grid>div{padding:10px;background:#fff;border:1px solid var(--border);border-radius:8px}.month-grid span,.month-grid small{display:block;color:var(--muted);font-size:9px}.month-grid strong{display:block;font-size:16px;margin:3px 0}.no-monthly-sales{color:var(--muted);font-size:11px;margin:0}

.login-body { min-height: 100vh; background: #f6f8fa; }
.login-shell { min-height: 100vh; display: grid; grid-template-columns: 1fr 1fr; }
.login-visual { position: relative; overflow: hidden; padding: 9vh 8vw; color: white; background: linear-gradient(145deg,rgba(7,24,29,.78),rgba(3,48,37,.72)),url('../images/warehouse-login-v2.jpg') center/cover no-repeat; }
.login-visual::before, .login-visual::after { display: none; }
.login-brand { display: flex; align-items: center; gap: 15px; position:relative; z-index:2; }
.login-brand .brand-mark { width: 65px; height: 65px; }
.login-brand .brand-mark svg { width: 42px; height: 42px; }
.login-brand .brand-mark img { width: 42px; height: 42px; display: block; object-fit: contain; }

/* Barcode labels */
.barcode-builder{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:18px;align-items:start}.barcode-card{padding:20px}.barcode-search{display:flex;gap:10px}.barcode-search .form-control{min-height:44px}.barcode-result-list{display:grid;gap:8px;margin-top:16px;max-height:520px;overflow:auto}.barcode-result{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 14px;border:1px solid var(--border);border-radius:10px;color:inherit;text-decoration:none}.barcode-result:hover,.barcode-result.active{border-color:#78cda6;background:#f1faf5}.barcode-result strong,.barcode-result span{display:block}.barcode-result span{margin-top:3px;color:var(--muted);font-size:10px}.barcode-result svg{width:18px;color:var(--green)}.label-preview{display:grid;place-items:center;min-height:250px;padding:20px;background:#f5f7f6;border:1px dashed #b9c8c1;border-radius:12px}.label-preview-inner{width:2in;height:1in;padding:.04in;display:flex;flex-direction:column;justify-content:center;align-items:center;overflow:hidden;background:#fff;color:#000;box-shadow:0 5px 18px rgba(16,24,40,.14);text-align:center}.label-preview-inner strong{display:block;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px}.label-preview-inner svg{width:1.82in;height:.48in}.barcode-actions{display:grid;gap:9px;margin-top:15px}.barcode-help{margin:14px 0 0;color:var(--muted);font-size:10px;line-height:1.55}.inventory-label-link{width:32px;height:32px;display:inline-grid;place-items:center;border:1px solid var(--border);border-radius:8px;color:var(--green-dark);background:#fff}.inventory-label-link:hover{background:var(--green-soft)}.inventory-label-link svg{width:15px}
@media(max-width:900px){.barcode-builder{grid-template-columns:1fr}.barcode-search{flex-direction:column}}
.login-brand strong { font-size: clamp(25px, 2.5vw, 38px); letter-spacing: -.04em; }

/* Dashboard insights */
.dashboard-insights-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(430px,.95fr);gap:16px;margin-bottom:16px}.movement-chart-panel,.coverage-panel{min-width:0}.movement-chart-header{align-items:flex-start}.chart-periods{display:flex;padding:3px;background:#eef2f4;border-radius:9px;white-space:nowrap}.chart-periods button{height:32px;padding:0 12px;border:0;border-radius:7px;background:transparent;color:#596676;font-size:10px;font-weight:750}.chart-periods button.active{color:#fff;background:var(--green);box-shadow:0 2px 7px rgba(5,138,79,.2)}.movement-legend{display:flex;justify-content:flex-end;gap:17px;margin:12px 4px 0;color:#526171;font-size:10px;font-weight:650}.movement-legend span{display:flex;align-items:center;gap:6px}.movement-legend i{width:9px;height:9px;border-radius:50%}.movement-legend .received{background:#079455}.movement-legend .sold{background:#2e7be6}.movement-legend .returns{background:#e5484d}.movement-chart-wrap{position:relative;width:100%;height:285px;margin-top:2px}.movement-chart-wrap canvas{display:block;width:100%;height:100%}.movement-chart-tooltip{position:absolute;z-index:3;width:158px;padding:10px 11px;border:1px solid #d9e2e7;border-radius:9px;background:rgba(255,255,255,.97);box-shadow:0 8px 24px rgba(16,24,40,.13);pointer-events:none}.movement-chart-tooltip strong{display:block;margin-bottom:7px;font-size:11px}.movement-chart-tooltip span{display:flex;align-items:center;gap:6px;margin-top:4px;color:#596676;font-size:9px}.movement-chart-tooltip span i{width:7px;height:7px;border-radius:50%}.movement-chart-tooltip span b{margin-left:auto;color:#17212b}.movement-chart-note{margin:2px 0 0;color:#8a97a5;font-size:9px;text-align:center}.coverage-panel{padding-bottom:0}.coverage-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:14px 0}.coverage-stat{position:relative;padding:10px;border:1px solid #e3e8eb;border-radius:9px;background:#f9fbfa;overflow:hidden}.coverage-stat::before{content:'';position:absolute;inset:0 auto 0 0;width:3px;background:#079455}.coverage-stat.critical::before{background:#e5484d}.coverage-stat.reorder::before{background:#f59e0b}.coverage-stat.no_sales::before{background:#82909d}.coverage-stat span,.coverage-stat small{display:block;color:#6d7b88;font-size:8px;white-space:nowrap}.coverage-stat strong{display:block;margin:3px 0 1px;font-size:18px;line-height:1}.coverage-table-wrap{overflow-x:auto;margin:0 -18px}.coverage-table{width:100%;border-collapse:collapse;font-size:9px}.coverage-table th{padding:8px 7px;color:#566473;background:#f2faf6;text-align:left;white-space:nowrap}.coverage-table td{padding:8px 7px;border-top:1px solid #e7ecef;vertical-align:middle}.coverage-table td:first-child{min-width:125px}.coverage-table td strong,.coverage-table td small{display:block;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.coverage-table td small{margin-top:2px;color:#84919c;font-size:8px}.coverage-badge{display:inline-flex;padding:4px 6px;border-radius:999px;font-size:8px;font-weight:750;white-space:nowrap}.coverage-badge.critical{color:#bd2930;background:#ffecef}.coverage-badge.reorder{color:#9a5a00;background:#fff3d8}.coverage-badge.healthy{color:#087443;background:#e9f9f1}.coverage-badge.no_sales{color:#596676;background:#eef1f4}.coverage-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 -18px;padding:11px 18px;border-top:1px solid #e7ecef;color:#84919c;font-size:8px}.coverage-footer a{display:inline-flex;align-items:center;gap:4px;color:var(--green);font-size:9px;font-weight:750;white-space:nowrap}.coverage-footer svg{width:12px}
.login-brand span > small { color: #b9c6ce; display: block; font-size: 20px; margin-top: 3px; }
.login-tagline { margin-top: 46px; color: #dce7e7; font-size: 16px; position:relative; z-index:2; }
.login-features { display: flex; gap: 30px; margin-top: 55px; position: relative; z-index: 1; }
.login-feature { display: flex; align-items: center; gap: 10px; font-size: 12px; max-width: 130px; }
.login-feature i { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 50%; background: rgba(5,138,79,.28); }
.login-feature svg { width: 18px; }
.warehouse-art { display:none; }
.login-panel { position:relative; display: grid; place-items: center; padding: 40px; background:linear-gradient(rgba(248,251,251,.88),rgba(248,251,251,.92)),url('../images/warehouse-login-v2.jpg') center/cover no-repeat; }
.login-card { position:relative; z-index:1; width: min(540px, 100%); background: rgba(255,255,255,.96); backdrop-filter:blur(6px); padding: clamp(30px, 4vw, 55px); border: 1px solid rgba(214,223,229,.92); border-radius: 16px; box-shadow: 0 16px 50px rgba(16,24,40,.12); }
.login-shield { width: 58px; height: 58px; display: grid; place-items: center; margin: 0 auto 22px; border-radius: 18px; background: var(--green-soft); color: var(--green); }
.login-card h1 { text-align: center; font-size: 30px; font-weight: 800; letter-spacing: -.04em; margin: 0 0 8px; }
.login-card > p { text-align: center; color: var(--muted); font-size: 13px; margin-bottom: 30px; }
.login-footer { color: #81909e; font-size: 10px; text-align: center; margin-top: 25px; }
.authorized { display: flex; align-items: center; justify-content: center; gap: 7px; color: #83909c; font-size: 11px; margin-top: 20px; }
.authorized svg { width: 14px; }
.setup-note { padding: 11px 13px; border: 1px solid #cfe9da; background: #eefaf4; color: #285c43; border-radius: 8px; font-size: 11px; margin-bottom: 18px; }
.sidebar-backdrop { display: none; }

@media (max-width: 1050px) {
    .metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .dashboard-grid, .bottom-grid { grid-template-columns: 1fr; }
    .login-shell { grid-template-columns: .8fr 1.2fr; }
    .login-features { flex-direction: column; gap: 14px; }
    .return-product-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.return-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .low-stock-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
    .monthly-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.monthly-product>summary{grid-template-columns:1fr 1.7fr repeat(2,.7fr) 22px}.monthly-product>summary>span:nth-of-type(3),.monthly-product>summary>span:nth-of-type(4){display:none}.month-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
    .dashboard-insights-grid{grid-template-columns:1fr}
}
@media (max-width: 780px) {
    .sidebar { transform: translateX(-100%); }
    .sidebar-open .sidebar { transform: translateX(0); }
    .sidebar-open .sidebar-backdrop { display: block; position: fixed; inset: 0; background: rgba(7,15,20,.55); z-index: 1035; }
    .app-main { width: 100%; margin-left: 0; }
    .mobile-menu { display: inline-grid; place-items: center; }
    .topbar { padding: 0 15px; }
    .topbar-date { display: none; }
    .global-search { width: auto; flex: 1; }
    .page-content { padding: 20px 14px 85px; }
    .metric-grid { grid-template-columns: 1fr; }
    .page-heading { flex-direction: column; }
    .page-heading .btn-emerald { width: 100%; }
    .table-toolbar { flex-direction: column; align-items: stretch; }
    .table-responsive { border-radius: 0 0 12px 12px; }
    .login-shell { display: block; }
    .login-visual { min-height: 190px; padding: 30px 24px; }
    .login-brand .brand-mark { width: 48px; height: 48px; }
    .login-brand strong { font-size: 23px; }
    .login-brand span > small { font-size: 13px; }
    .login-tagline { margin-top: 22px; font-size: 13px; }
    .login-features, .warehouse-art { display: none; }
    .login-panel { min-height: calc(100vh - 190px); padding: 22px 14px; }
    .login-card { padding: 27px 22px; }
    .inventory-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.barcode-form{flex-wrap:wrap}.barcode-mode{width:100%}.barcode-mode-button{flex:1;justify-content:center}.barcode-scan-input{min-width:100%}.barcode-submit{width:100%}.movement-header{align-items:flex-start;flex-direction:column}.movement-table{min-width:780px}.ai-fab{bottom:145px}.inventory-toolbar{align-items:stretch}.inventory-search,.inventory-toolbar .select-control{width:100%;min-width:100%}.inventory-toolbar .btn-emerald,.inventory-toolbar .btn-outline-soft{flex:1}.inventory-table thead{display:none}.inventory-table,.inventory-table tbody,.inventory-table tr,.inventory-table td{display:block;width:100%}.inventory-table tr{padding:12px 14px;border-bottom:1px solid var(--border)}.inventory-table td{display:flex;justify-content:space-between;gap:20px;border:0;padding:6px 0;text-align:right}.inventory-table td::before{content:attr(data-label);color:var(--muted);font-size:10px;font-weight:650;text-transform:uppercase;text-align:left}.product-description{min-width:0;max-width:65%}.actions-cell{justify-content:flex-end!important}.actions-cell::before{margin-right:auto}.pagination-wrap{align-items:flex-start;flex-direction:column}.pagination-buttons{align-self:center}.return-lookup{flex-direction:column;align-items:stretch}.return-lookup .barcode-scan-input{width:100%}.return-product-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.return-product-summary>div{border-bottom:1px solid var(--border)}.return-form-grid{grid-template-columns:1fr}.inventory-decision,.return-reason-field{grid-column:auto}.return-form-footer{flex-direction:column-reverse}.return-form-footer .btn-emerald,.return-form-footer .btn-outline-soft{width:100%;justify-content:center}.low-stock-summary{grid-template-columns:1fr}.monthly-filters{align-items:stretch}.monthly-filters>.inventory-search,.monthly-filters>.select-control,.period-buttons{width:100%;min-width:100%}.period-button{flex:1;padding:0 5px}.custom-period.visible{align-items:stretch;flex-direction:column}.monthly-summary{grid-template-columns:1fr}.monthly-product>summary{grid-template-columns:1fr .8fr 22px}.monthly-product>summary>span{display:none!important}.monthly-product>summary>span:nth-of-type(1),.monthly-product>summary>span:nth-of-type(5){display:block!important}.month-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.monthly-results-heading{align-items:flex-start;flex-direction:column;gap:4px}
    .movement-chart-header{gap:12px}.chart-periods{width:100%}.chart-periods button{flex:1;padding:0 5px}.movement-legend{justify-content:center}.movement-chart-wrap{height:250px}.coverage-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.coverage-table{min-width:540px}
}

/* LAO dashboard mobile fix — 2026-10-22. Dashboard charts only. */
.dashboard-grid,
.dashboard-grid > .panel {
    min-width: 0;
    max-width: 100%;
}
.dashboard-grid > .panel:first-child > .panel-header {
    flex-wrap: wrap;
}
.dashboard-grid > .panel:first-child > .panel-header > div {
    min-width: 0;
}
.dashboard-grid > .panel:first-child > .panel-header .status-pill {
    flex: 0 0 auto;
}
.dashboard-grid > [data-stock-status] .stock-ring {
    max-width: 100%;
    aspect-ratio: 1;
    height: auto;
}
.dashboard-grid > [data-stock-status] .stock-ring::after {
    width: 69.1358%;
    height: 69.1358%;
}
@media (max-width: 1050px) {
    .dashboard-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}
@media (max-width: 780px) {
    .dashboard-grid > .panel:first-child > .d-flex {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        overflow-x: auto;
        overflow-y: hidden;
        overscroll-behavior-x: contain;
        -webkit-overflow-scrolling: touch;
        height: 275px !important;
        gap: 6px !important;
        scrollbar-width: thin;
    }
    .dashboard-grid > .panel:first-child .dashboard-sales-bar {
        flex: 1 0 34px !important;
        min-width: 34px;
    }
    .dashboard-grid > .panel:first-child .dashboard-sales-bar > small {
        white-space: nowrap;
    }
    .dashboard-grid > [data-stock-status] .legend-row {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        margin: 3px 0;
        padding: 7px 0;
    }
    .dashboard-grid > [data-stock-status] .legend-row strong {
        flex: 0 0 auto;
        white-space: nowrap;
    }
}
