:root {
  --ink: #172a33;
  --muted: #71818a;
  --canvas: #f4f7f8;
  --panel: #ffffff;
  --line: #e1e8ea;
  --nav: #13252e;
  --nav-soft: #243d46;
  --nav-line: #29434d;
  --mint: #22a889;
  --mint-soft: #e5f7f1;
  --blue: #3e73db;
  --amber: #efaa36;
  --red: #d95c5c;
  --purple: #8567d6;
  --shadow: 0 10px 30px rgba(24, 48, 57, .07);
}

* { box-sizing: border-box; }
body { margin: 0; background: var(--canvas); color: var(--ink); font-family: Manrope, ui-sans-serif, system-ui, sans-serif; }
button, input { font: inherit; }
button { cursor: pointer; }
a { color: inherit; }

.app-shell { min-height: 100vh; display: grid; grid-template-columns: 252px minmax(0, 1fr); }
.sidebar { z-index: 20; min-height: 100vh; background: var(--nav); color: #d6e3e5; padding: 27px 16px 18px; display: flex; flex-direction: column; gap: 25px; }
.brand { display: flex; align-items: center; gap: 10px; padding: 0 10px; color: #fff; font-weight: 800; font-size: 1.18rem; letter-spacing: -.04em; }
.brand-mark { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 9px; color: var(--nav); background: #71dfbd; font-family: "DM Mono", monospace; font-size: .9rem; }
.workspace { display: flex; align-items: center; gap: 8px; margin: 0 10px -10px; color: #96abb0; font-size: .7rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.workspace-dot { width: 7px; height: 7px; border-radius: 50%; background: #71dfbd; box-shadow: 0 0 0 3px rgba(113, 223, 189, .13); }
.workspace .icon-button { margin-left: auto; }
.nav-list { display: grid; gap: 4px; }
.nav-link { min-height: 42px; border-radius: 8px; padding: 10px 11px; color: #b9cbd0; text-decoration: none; display: flex; align-items: center; gap: 11px; font-size: .87rem; font-weight: 700; transition: background .18s ease, color .18s ease; }
.nav-link > span:first-child { width: 18px; color: #75d7be; font-size: 1rem; line-height: 1; text-align: center; }
.nav-link b { min-width: 21px; margin-left: auto; padding: 2px 6px; border-radius: 999px; background: rgba(255, 255, 255, .1); color: #d9f5ed; font: 500 .68rem "DM Mono", monospace; text-align: center; }
.nav-link:hover, .nav-link:focus-visible { color: #fff; background: rgba(255, 255, 255, .07); outline: none; }
.nav-link.active { color: #fff; background: var(--nav-soft); box-shadow: inset 3px 0 0 #71dfbd; }
.nav-link.active > span:first-child { color: #91efd2; }
.sidebar-bottom { margin-top: auto; display: grid; gap: 14px; padding-top: 18px; border-top: 1px solid var(--nav-line); }
.support-card { display: flex; align-items: center; gap: 10px; padding: 12px; border: 1px solid #34505a; border-radius: 10px; background: #1a3039; }
.support-icon { display: grid; place-items: center; flex: 0 0 25px; width: 25px; height: 25px; border-radius: 50%; background: #34535a; color: #93e5cc; font-weight: 800; }
.support-card strong, .profile strong { display: block; color: #edf7f7; font-size: .76rem; }
.support-card small, .profile small { display: block; margin-top: 2px; color: #91a9ae; font-size: .68rem; }
.profile { display: flex; align-items: center; gap: 9px; padding: 2px 3px; }
.avatar { display: grid; place-items: center; flex: 0 0 31px; width: 31px; height: 31px; border-radius: 50%; background: #d8f4ea; color: #176f5a; font-size: .7rem; font-weight: 800; }
.profile .icon-button { margin-left: auto; }
.icon-button { border: 0; width: 28px; height: 28px; border-radius: 7px; color: inherit; background: transparent; }
.icon-button:hover, .icon-button:focus-visible { background: rgba(255, 255, 255, .1); outline: 2px solid #71dfbd; outline-offset: 1px; }

.content { min-width: 0; }
.topbar { height: 78px; padding: 0 34px; display: flex; align-items: center; justify-content: space-between; gap: 20px; background: var(--panel); border-bottom: 1px solid var(--line); }
.menu-button { display: none; border: 0; background: transparent; color: var(--ink); font-size: 1.25rem; }
.breadcrumb { display: flex; gap: 9px; color: var(--muted); font-size: .84rem; }.breadcrumb i { font-style: normal; color: #b6c1c5; }.breadcrumb strong { color: var(--ink); }
.top-actions { display: flex; align-items: center; gap: 12px; }.search-button, .date-select { border: 1px solid var(--line); border-radius: 8px; color: var(--muted); background: #fff; padding: 9px 11px; font-size: .78rem; font-weight: 700; }.search-button kbd { margin-left: 12px; color: #8b999e; font: .68rem "DM Mono", monospace; }.notification { position: relative; border: 0; background: transparent; color: var(--ink); font-size: 1.25rem; }.notification em { position: absolute; top: 3px; right: 3px; width: 6px; height: 6px; border-radius: 50%; background: var(--red); }.primary-button { border: 0; border-radius: 8px; padding: 11px 15px; color: #fff; background: var(--mint); box-shadow: 0 5px 15px rgba(34,168,137,.23); font-weight: 800; }.primary-button:hover { background: #168a70; }
.page-heading { padding: 32px 34px 25px; display: flex; align-items: end; justify-content: space-between; gap: 20px; }.eyebrow { margin: 0 0 7px; color: var(--mint); font: 500 .7rem "DM Mono", monospace; letter-spacing: .08em; text-transform: uppercase; }h1 { margin: 0 0 7px; font-size: clamp(1.7rem, 3vw, 2.2rem); letter-spacing: -.055em; }h1 span { color: var(--amber); }.intro, .panel-header p { margin: 0; color: var(--muted); font-size: .84rem; }
.stats-grid, .dashboard-grid { padding: 0 34px; }.stats-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 17px; margin-bottom: 24px; }.stat-card, .panel { background: var(--panel); border: 1px solid var(--line); border-radius: 12px; box-shadow: var(--shadow); }.stat-card { min-width: 0; padding: 17px; }.stat-top, .panel-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }.stat-top { color: var(--muted); font-size: .76rem; font-weight: 700; }.stat-icon { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 7px; }.green { color: #16846d; background: var(--mint-soft); }.blue { color: var(--blue); background: #eaf0fc; }.purple { color: var(--purple); background: #f1edfb; }.amber { color: #a76c09; background: #fff2d8; }.stat-card > strong { display: block; margin: 12px 0 5px; font-size: 1.55rem; letter-spacing: -.04em; }.stat-card > p { margin: 0; color: var(--muted); font-size: .72rem; }.positive { color: #16846d; }.sparkline { height: 42px; margin-top: 10px; }.sparkline svg { width: 100%; height: 100%; fill: none; stroke-width: 3; }.revenue-line svg { stroke: var(--mint); }.order-line svg { stroke: var(--blue); }.average-line svg { stroke: var(--purple); }.progress { height: 7px; margin: 17px 0 8px; border-radius: 99px; overflow: hidden; background: #e8eeed; }.progress span { display: block; width: 96.8%; height: 100%; border-radius: inherit; background: var(--amber); }.stat-card small { color: var(--muted); font-size: .65rem; }
.dashboard-grid { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(290px, .9fr); gap: 22px; padding-bottom: 40px; }.panel { min-width: 0; }.panel-header { padding: 19px 20px 16px; }.panel-header h2 { margin: 0 0 4px; font-size: .98rem; letter-spacing: -.025em; }.legend { display: flex; gap: 12px; color: var(--muted); font-size: .66rem; }.legend i { display: inline-block; width: 7px; height: 7px; margin-right: 4px; border-radius: 50%; }.legend-blue { background: var(--blue); }.legend-gray { background: #bac7cb; }.chart { display: grid; grid-template-columns: 35px 1fr; padding: 2px 20px 22px; }.y-axis { display: flex; flex-direction: column; justify-content: space-between; padding-bottom: 24px; color: var(--muted); font-size: .62rem; }.graph { position: relative; height: 205px; }.grid-lines { position: absolute; inset: 0 0 24px; display: flex; flex-direction: column; justify-content: space-between; }.grid-lines i { border-top: 1px dashed #e3e9ea; }.graph svg { width: 100%; height: 181px; }.graph .previous { fill: none; stroke: #b9c8cb; stroke-dasharray: 5 5; stroke-width: 2; }.graph .current-fill { fill: url(#fill); }.graph .current { fill: none; stroke: var(--blue); stroke-width: 3; }.graph circle { fill: #fff; stroke: var(--blue); stroke-width: 3; }.x-axis { position: absolute; right: 0; bottom: 0; left: 0; display: flex; justify-content: space-between; color: var(--muted); font-size: .65rem; }.text-button { border: 0; padding: 0; color: #168a70; background: transparent; font-size: .75rem; font-weight: 800; }.inventory-visual { display: flex; align-items: center; gap: 25px; padding: 17px 22px 27px; }.donut { display: grid; place-items: center; width: 136px; height: 136px; border-radius: 50%; background: conic-gradient(var(--mint) 0 87%, var(--amber) 87% 95%, var(--red) 95% 100%); }.donut > div { display: grid; place-items: center; width: 102px; height: 102px; border-radius: 50%; background: #fff; }.donut strong { font-size: 1.2rem; letter-spacing: -.04em; }.donut span { color: var(--muted); font-size: .62rem; }.stock-list { flex: 1; display: grid; gap: 11px; margin: 0; padding: 0; list-style: none; }.stock-list li { display: grid; grid-template-columns: 9px 1fr auto; align-items: center; gap: 7px; color: var(--muted); font-size: .72rem; }.stock-list i { width: 8px; height: 8px; border-radius: 50%; }.in-stock { background: var(--mint); }.low-stock { background: var(--amber); }.out-stock { background: var(--red); }.stock-list b { color: var(--ink); }.orders-panel, .alerts-panel { min-width: 0; }.table-wrap { overflow-x: auto; }table { width: 100%; border-collapse: collapse; font-size: .76rem; }th { padding: 11px 20px; color: var(--muted); border-bottom: 1px solid var(--line); font-size: .64rem; letter-spacing: .06em; text-align: left; text-transform: uppercase; }td { padding: 13px 20px; border-bottom: 1px solid #edf1f2; }td small { display: block; margin-top: 3px; color: var(--muted); font-size: .65rem; }.status { display: inline-block; padding: 4px 7px; border-radius: 999px; font-size: .66rem; font-weight: 800; }.shipped { color: #14775f; background: var(--mint-soft); }.processing { color: #2658b6; background: #eaf0fc; }.pending { color: #a86d0c; background: #fff2d8; }.alert-count { display: grid; place-items: center; min-width: 22px; height: 22px; border-radius: 50%; color: #a74545; background: #ffeaeb; font-size: .7rem; font-weight: 800; }.alert-list { padding: 0 20px 10px; }.alert-row { width: 100%; display: grid; grid-template-columns: 30px 1fr auto; gap: 10px; align-items: center; border: 0; border-top: 1px solid var(--line); padding: 13px 0; color: var(--ink); background: transparent; text-align: left; }.alert-row strong, .alert-row small { display: block; }.alert-row strong { font-size: .75rem; }.alert-row small { margin-top: 3px; color: var(--muted); font-size: .66rem; }.alert-row b { color: #168a70; font-size: .67rem; }.alert-symbol { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 7px; font-weight: 800; }.amber-bg { color: #a76c09; background: #fff2d8; }.red-bg { color: #b44141; background: #ffeaeb; }.blue-bg { color: #2658b6; background: #eaf0fc; }
.overlay, .modal-backdrop { position: fixed; inset: 0; opacity: 0; pointer-events: none; transition: opacity .2s ease; }.overlay { z-index: 15; background: rgba(11, 25, 31, .5); }.overlay.visible, .modal-backdrop.visible { opacity: 1; pointer-events: auto; }.modal-backdrop { z-index: 30; display: grid; place-items: center; padding: 20px; background: rgba(11, 25, 31, .5); }.modal { position: relative; width: min(100%, 430px); padding: 28px; border-radius: 14px; background: #fff; box-shadow: 0 25px 55px rgba(0,0,0,.2); }.modal h2 { margin: 0 0 20px; }.modal-close { position: absolute; top: 13px; right: 13px; border: 0; background: transparent; font-size: 1.5rem; }.modal form { display: grid; gap: 13px; }.modal label { display: grid; gap: 6px; color: var(--muted); font-size: .75rem; font-weight: 700; }.modal input { width: 100%; border: 1px solid var(--line); border-radius: 8px; padding: 10px; color: var(--ink); }.toast { position: fixed; z-index: 40; right: 20px; bottom: 20px; max-width: min(360px, calc(100vw - 40px)); padding: 12px 15px; border-radius: 9px; color: #fff; background: var(--nav); box-shadow: var(--shadow); font-size: .8rem; opacity: 0; transform: translateY(12px); pointer-events: none; transition: .2s ease; }.toast.visible { opacity: 1; transform: translateY(0); }
@media (max-width: 1050px) { .stats-grid { grid-template-columns: repeat(2, 1fr); }.dashboard-grid { grid-template-columns: 1fr; }.alerts-panel { grid-column: span 1; } }
@media (max-width: 740px) { .app-shell { display: block; }.sidebar { position: fixed; top: 0; bottom: 0; left: 0; width: 252px; transform: translateX(-100%); transition: transform .2s ease; }.sidebar.open { transform: translateX(0); }.menu-button { display: block; }.topbar { height: 64px; padding: 0 17px; }.breadcrumb, .search-button { display: none; }.top-actions { margin-left: auto; }.page-heading { padding: 24px 17px 20px; align-items: flex-start; flex-direction: column; }.stats-grid, .dashboard-grid { padding-right: 17px; padding-left: 17px; }.stats-grid { gap: 10px; }.stat-card { padding: 14px; }.inventory-visual { justify-content: center; }.legend { display: none; }th:nth-child(2), td:nth-child(2) { display: none; } }
@media (max-width: 420px) { .stats-grid { grid-template-columns: 1fr; }.primary-button { padding: 9px 10px; font-size: .72rem; }.date-select { width: 100%; }.inventory-visual { flex-direction: column; }.stock-list { width: 100%; } }
