:root {
  --forest-950: #0a211a;
  --forest-900: #102d24;
  --forest-800: #173b30;
  --mint-600: #159a68;
  --mint-500: #29bd82;
  --mint-400: #56d69e;
  --mint-100: #dcf8eb;
  --ink: #17221f;
  --ink-2: #4d5c56;
  --ink-3: #7a8882;
  --line: #e3e9e5;
  --page: #f5f7f4;
  --surface: #ffffff;
  --amber: #eaaa3a;
  --red: #d95f5f;
  --sky: #4a91be;
  --violet: #7d70bb;
  --shadow: 0 1px 2px rgba(19, 48, 38, .03), 0 8px 24px rgba(19, 48, 38, .04);
  --radius: 17px;
  --sidebar: 258px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; overflow-x: hidden; }
body { margin: 0; overflow-x: hidden; background: var(--page); color: var(--ink); font-family: "IBM Plex Sans Arabic", Tahoma, Arial, sans-serif; font-size: 17px; -webkit-font-smoothing: antialiased; }
small { font-size: inherit; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration: none; }
button { color: inherit; }
svg { width: 19px; height: 19px; }
[hidden] { display: none !important; }

.app-shell { min-height: 100vh; display: flex; align-items: stretch; }
.sidebar { position: fixed; z-index: 30; inset: 0 0 0 auto; width: var(--sidebar); height: 100vh; padding: 22px 15px 18px; display: flex; flex-direction: column; overflow-y: auto; color: #e9f4ee; background:
  radial-gradient(circle at 20% 0, rgba(58, 190, 132, .1), transparent 28%),
  linear-gradient(180deg, var(--forest-950), #0d281f 66%, #0a211a); border-left: 1px solid rgba(255, 255, 255, .04); }
.brand-row { display: flex; align-items: center; justify-content: space-between; padding: 0 8px 20px; }
.brand { display: flex; align-items: center; gap: 11px; }
.brand-mark { width: 41px; height: 41px; display: grid; place-items: center; color: var(--forest-950); background: var(--mint-400); border-radius: 12px 12px 12px 4px; box-shadow: 0 8px 24px rgba(48, 205, 143, .15); }
.brand-mark svg { width: 24px; height: 24px; stroke-width: 2.2; }
.brand strong { display: block; font-size: 24px; line-height: 1; letter-spacing: -.5px; }
.brand small { display: block; color: #8ca99d; margin-top: 6px; font-size: 13px; }
.side-nav { flex: 1; }
.nav-label { margin: 18px 12px 7px; color: #66877a; font-size: 13px; font-weight: 600; letter-spacing: .04em; }
.nav-item { min-height: 45px; margin: 3px 0; padding: 0 13px; display: flex; align-items: center; gap: 12px; border-radius: 10px; color: #9eb7ad; font-weight: 500; transition: .18s ease; }
.nav-item svg { width: 18px; color: #739287; }
.nav-item:hover { color: #fff; background: rgba(255, 255, 255, .045); }
.nav-item.active { color: #fff; background: rgba(67, 205, 147, .13); box-shadow: inset -2px 0 var(--mint-400); }
.nav-item.active svg { color: var(--mint-400); }
.nav-item em { margin-right: auto; padding: 2px 7px; color: var(--forest-950); background: var(--mint-400); border-radius: 20px; font-size: 12px; font-style: normal; font-weight: 700; }
.sidebar-foot { margin-top: 14px; }
.storage-card { padding: 11px; display: flex; align-items: center; gap: 8px; color: #dbeae4; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.055); border-radius: 11px; }
.storage-card .status-dot { width: 7px; height: 7px; flex: 0 0 auto; background: var(--mint-400); border-radius: 50%; box-shadow: 0 0 0 4px rgba(86,214,158,.09); }
.storage-card div { flex: 1; min-width: 0; }
.storage-card strong, .storage-card small { display: block; }
.storage-card strong { font-size: 13px; }
.storage-card small { margin-top: 3px; color: #718f83; font-size: 12px; }
.storage-card svg { width: 17px; color: #628b7b; }
.profile-mini { margin-top: 13px; padding: 10px 5px 0; display: flex; align-items: center; gap: 9px; border-top: 1px solid rgba(255,255,255,.06); }
.avatar, .profile-mini .avatar { width: 36px; height: 36px; display: grid; flex: 0 0 auto; place-items: center; color: #193c30; background: #d7ebe2; border-radius: 10px; font-weight: 700; }
.profile-mini div { flex: 1; }
.profile-mini strong, .profile-mini small { display: block; }
.profile-mini strong { font-size: 14px; }
.profile-mini small { margin-top: 2px; color: #708f82; font-size: 12px; }
.profile-mini > svg { width: 16px; color: #6b897e; }
.sidebar-close { display: none !important; }
.sidebar-overlay { display: none; }

.main-area { width: calc(100% - var(--sidebar)); min-width: 0; min-height: 100vh; margin-right: var(--sidebar); display: flex; flex-direction: column; }
.topbar { height: 69px; padding: 0 30px; display: flex; align-items: center; gap: 24px; position: sticky; top: 0; z-index: 20; background: rgba(255, 255, 255, .88); border-bottom: 1px solid var(--line); backdrop-filter: blur(14px); }
.top-search { width: 310px; min-width: 0; height: 39px; display: flex; align-items: center; gap: 9px; padding: 0 11px; color: var(--ink-3); background: #f5f7f5; border: 1px solid #e5eae7; border-radius: 10px; }
.top-search svg { width: 16px; }
.top-search input { width: 100%; border: 0; outline: 0; background: transparent; color: var(--ink); font-size: 15px; }
.top-search kbd { padding: 2px 6px; direction: ltr; color: #8b9692; background: white; border: 1px solid #dfe5e1; border-radius: 5px; font-family: inherit; font-size: 12px; box-shadow: 0 1px 1px rgba(0,0,0,.03); }
.tenant-context { min-width: 160px; height: 39px; padding: 0 10px; display: flex; align-items: center; gap: 8px; color: #2a6751; background: #eef8f3; border: 1px solid #d7ebe2; border-radius: 10px; }
.tenant-context > svg { width: 16px; flex: 0 0 auto; color: var(--mint-600); }
.tenant-context > span { min-width: 0; }
.tenant-context small, .tenant-context strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tenant-context small { color: #6f9083; font-size: 12px; }.tenant-context strong { font-size: 12px; }
.tenant-context form { min-width: 0; flex: 1; }
.tenant-context select { width: 100%; height: 32px; padding: 0 4px; color: #205d47; background: transparent; border: 0; font-size: 12px; font-weight: 700; }
.top-actions { margin-right: auto; display: flex; align-items: center; gap: 10px; }
.today { padding-left: 15px; display: flex; align-items: center; gap: 7px; color: var(--ink-2); border-left: 1px solid var(--line); font-size: 14px; }
.today svg { width: 16px; color: var(--mint-600); }
.icon-button { width: 38px; height: 38px; padding: 0; display: inline-grid; place-items: center; border: 1px solid var(--line); border-radius: 10px; background: white; cursor: pointer; }
.icon-button:hover { background: #f5f8f6; }
.icon-button svg { width: 18px; }
.notification { position: relative; }
.notification span { position: absolute; top: 8px; right: 8px; width: 6px; height: 6px; border: 1.5px solid white; background: #ef6a66; border-radius: 50%; }
.notification .notification-count { width: auto; min-width: 17px; height: 17px; padding: 0 4px; top: -5px; right: -5px; display: grid; place-items: center; color: white; border: 2px solid white; border-radius: 9px; font-size: 12px; font-weight: 700; line-height: 1; }
.quick-add { height: 39px; padding: 0 15px; display: flex; align-items: center; gap: 7px; color: white; background: var(--forest-900); border-radius: 10px; font-size: 14px; font-weight: 600; box-shadow: 0 5px 14px rgba(14,43,34,.12); }
.quick-add svg { width: 15px; color: var(--mint-400); }
.mobile-menu { display: none; }
.page-content { width: 100%; max-width: 1560px; min-height: calc(100vh - 105px); margin: 0 auto; padding: 29px 30px 42px; }
.app-footer { min-height: 36px; padding: 0 30px; display: flex; justify-content: space-between; align-items: center; color: #9aa59f; border-top: 1px solid var(--line); font-size: 13px; }

.page-heading { margin-bottom: 23px; display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; }
.eyebrow { display: inline-block; margin-bottom: 5px; color: var(--mint-600); font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.page-heading h1 { margin: 0; font-size: 30px; line-height: 1.35; letter-spacing: -.65px; }
.page-heading h1 span { font-size: 23px; }
.page-heading p { margin: 5px 0 0; color: var(--ink-3); font-size: 15px; }
.heading-actions { display: flex; align-items: center; gap: 8px; }
.button { min-height: 39px; padding: 0 15px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; border: 1px solid transparent; border-radius: 9px; cursor: pointer; font-size: 14px; font-weight: 600; transition: .18s ease; }
.button svg { width: 16px; }
.button:disabled { cursor: not-allowed; opacity: .48; }
.button.primary { color: white; background: var(--forest-900); border-color: var(--forest-900); box-shadow: 0 4px 12px rgba(20,53,43,.11); }
.button.primary:hover { background: #1b493a; transform: translateY(-1px); }
.button.secondary { color: var(--ink-2); background: white; border-color: var(--line); }
.button.secondary:hover { border-color: #cbd7d1; background: #fbfcfb; }
.button.ghost { color: var(--ink-2); background: transparent; }
.button.danger-outline { color: var(--red); background: #fff; border-color: #f0cccc; }
.button.small { min-height: 36px; padding: 0 12px; }
.button.wide { width: 100%; }
.panel-card { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); }
.card-head { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.card-head h2 { margin: 0; font-size: 17px; }
.card-head p { margin: 4px 0 0; color: var(--ink-3); font-size: 13px; }
.card-head > a { display: flex; align-items: center; gap: 4px; color: var(--mint-600); font-size: 13px; font-weight: 600; }
.card-head > a svg { width: 14px; }

.metric-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 13px; }
.metric-card { position: relative; min-height: 148px; padding: 17px 18px; overflow: hidden; background: white; border: 1px solid var(--line); border-radius: 15px; box-shadow: var(--shadow); }
.metric-card::after { content: ""; position: absolute; width: 85px; height: 85px; left: -35px; bottom: -38px; background: currentColor; opacity: .035; border-radius: 50%; }
.metric-top { display: flex; align-items: center; justify-content: space-between; }
.metric-icon { width: 35px; height: 35px; display: grid; place-items: center; border-radius: 10px; }
.metric-icon svg { width: 18px; }
.metric-card.mint .metric-icon { color: #16835d; background: #e0f7ed; }
.metric-card.amber .metric-icon { color: #bc7d17; background: #fff1d6; }
.metric-card.sky .metric-icon { color: #3f78a0; background: #e3f1fa; }
.metric-card.violet .metric-icon { color: #6e5ca5; background: #eeeafb; }
.metric-card > p { margin: 13px 0 2px; color: var(--ink-2); font-size: 14px; }
.metric-card > strong { display: block; font-size: 24px; letter-spacing: -.4px; }
.metric-card > small { display: block; margin-top: 4px; color: #98a39e; font-size: 12px; }
.trend { display: inline-flex; align-items: center; gap: 3px; padding: 3px 6px; border-radius: 12px; font-size: 12px; font-weight: 600; }
.trend svg { width: 11px; height: 11px; }
.trend.up { color: #16865d; background: #e4f7ee; }
.trend.down { color: #bd5b58; background: #fbe9e8; }
.neutral-chip { padding: 3px 7px; color: #68766f; background: #f1f4f2; border-radius: 12px; font-size: 12px; }
.dashboard-grid { margin-top: 14px; display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(280px, .85fr); gap: 14px; }
.revenue-card, .stock-alerts { min-height: 342px; padding: 19px; }
.select-button { padding: 7px 9px; display: flex; align-items: center; gap: 6px; color: var(--ink-2); background: white; border: 1px solid var(--line); border-radius: 7px; font-size: 12px; }
.select-button svg { width: 12px; }
.revenue-summary { margin-top: 18px; display: flex; align-items: center; gap: 9px; }
.revenue-summary > strong { font-size: 25px; }
.bar-chart { height: 205px; padding-top: 25px; display: flex; gap: 16px; align-items: flex-end; direction: rtl; border-bottom: 1px solid var(--line); background-image: linear-gradient(to bottom, transparent 32%, #edf1ef 33%, transparent 34%, transparent 65%, #edf1ef 66%, transparent 67%); }
.bar-item { height: 100%; flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; gap: 7px; }
.bar-track { width: min(31px, 70%); height: 100%; display: flex; align-items: flex-end; border-radius: 6px 6px 0 0; background: #eff3f0; }
.bar-track > span { width: 100%; position: relative; min-height: 5px; background: #b9d8cb; border-radius: 6px 6px 0 0; transition: .5s ease; }
.bar-track > span.active { background: var(--mint-500); box-shadow: 0 6px 14px rgba(41,189,130,.19); }
.bar-track em { display: none; position: absolute; top: -25px; left: 50%; transform: translateX(-50%); padding: 3px 5px; white-space: nowrap; color: #fff; background: var(--forest-900); border-radius: 4px; font-size: 12px; font-style: normal; }
.bar-track span:hover em { display: block; }
.bar-item > small { margin-bottom: -24px; color: var(--ink-3); font-size: 12px; }
.stock-alerts .card-head { margin-bottom: 8px; }
.alert-list { min-height: 224px; }
.stock-row { padding: 10px 0; display: flex; align-items: center; gap: 9px; border-bottom: 1px solid #edf1ef; }
.stock-row:hover strong { color: var(--mint-600); }
.product-symbol { width: 36px; height: 36px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 9px; }
.product-symbol svg { width: 18px; }
.product-symbol.panel, .category-pill.panel { color: #8c741f; background: #fff5cf; }
.product-symbol.inverter, .category-pill.inverter { color: #5172a4; background: #e8f0fd; }
.product-symbol.battery, .category-pill.battery { color: #5a8c67; background: #e5f5e9; }
.product-symbol.structure, .category-pill.structure { color: #7d698f; background: #f0eaf5; }
.product-symbol.cable, .category-pill.cable { color: #8a6252; background: #f6e9e3; }
.product-symbol.protection, .category-pill.protection { color: #a65757; background: #fce8e8; }
.product-symbol.accessory, .category-pill.accessory { color: #65706b; background: #edf1ef; }
.stock-copy { min-width: 0; flex: 1; }
.stock-copy strong, .stock-copy small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.stock-copy strong { font-size: 13px; }
.stock-copy small { margin-top: 3px; direction: ltr; color: var(--ink-3); font-size: 12px; text-align: right; }
.stock-count { text-align: left; }
.stock-count b, .stock-count small { display: block; }
.stock-count b { color: var(--red); font-size: 16px; }
.stock-count small { color: var(--ink-3); font-size: 12px; }
.card-action { width: 100%; height: 34px; display: flex; align-items: center; justify-content: center; gap: 6px; color: var(--mint-600); background: #f0faf5; border-radius: 8px; font-size: 12px; font-weight: 600; }
.card-action svg { width: 13px; }
.recent-section { margin-top: 14px; overflow: hidden; }
.recent-section > .card-head { padding: 17px 19px 12px; }

.table-wrap { width: 100%; overflow-x: auto; }
table { width: 100%; border-collapse: collapse; text-align: right; }
th { height: 39px; padding: 0 14px; color: #819089; background: #f8faf8; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); white-space: nowrap; font-size: 12px; font-weight: 600; }
td { height: 58px; padding: 8px 14px; color: var(--ink-2); border-bottom: 1px solid #edf1ef; white-space: nowrap; font-size: 13px; }
tbody tr:last-child td { border-bottom: 0; }
tbody tr:hover td { background: #fbfcfb; }
td > strong { color: var(--ink); }
.mono { direction: ltr; display: inline-block; color: #3b5d51; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 12px; }
.client-cell { display: flex; align-items: center; gap: 8px; }
.client-cell > span:first-child { width: 29px; height: 29px; display: grid; flex: 0 0 auto; place-items: center; color: #2e6350; background: #e4f1eb; border-radius: 8px; font-weight: 700; }
.client-cell strong, .client-cell small { display: block; }
.client-cell small { margin-top: 2px; color: var(--ink-3); font-size: 12px; }
.status { display: inline-flex; align-items: center; gap: 4px; padding: 4px 7px; border-radius: 14px; font-size: 12px; font-weight: 600; }
.status::before { content: ""; width: 4px; height: 4px; background: currentColor; border-radius: 50%; }
.status.success { color: #247f5e; background: #e8f6ef; }
.status.info { color: #4675a2; background: #eaf2f9; }
.status.warning { color: #9a711f; background: #fbf2dd; }
.status.danger { color: #b45757; background: #faeaea; }
.table-more { width: 28px; height: 28px; display: inline-grid; place-items: center; color: #8d9994; background: transparent; border: 0; border-radius: 6px; cursor: pointer; }
.table-more:hover { color: var(--ink); background: #eef2ef; }
.table-more svg { width: 14px; }

.compact-stats { margin-bottom: 14px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.compact-stats article { min-height: 78px; padding: 13px 15px; display: flex; align-items: center; gap: 11px; background: #fff; border: 1px solid var(--line); border-radius: 13px; box-shadow: var(--shadow); }
.mini-icon { width: 38px; height: 38px; display: grid; flex: 0 0 auto; place-items: center; border-radius: 10px; }
.mini-icon svg { width: 18px; }
.mini-icon.mint { color: #16835d; background: #e1f7ed; }
.mini-icon.sky { color: #3f78a0; background: #e5f2fa; }
.mini-icon.violet { color: #6c5ba1; background: #eeeafb; }
.mini-icon.red { color: #ae5757; background: #fae8e8; }
.mini-icon.amber { color: #9a711f; background: #fbf1da; }
.compact-stats small, .compact-stats strong { display: block; }
.compact-stats small { margin-bottom: 3px; color: var(--ink-3); font-size: 12px; }
.compact-stats strong { font-size: 18px; }
.data-panel { overflow: hidden; }
.toolbar { min-height: 61px; padding: 11px 15px; display: flex; align-items: center; justify-content: space-between; gap: 15px; }
.search-filter, .toolbar-actions { display: flex; align-items: center; gap: 8px; }
.search-box { width: 290px; height: 36px; padding: 0 10px; display: flex; align-items: center; gap: 7px; color: var(--ink-3); background: white; border: 1px solid var(--line); border-radius: 8px; }
.search-box svg { width: 15px; }
.search-box input { width: 100%; border: 0; outline: 0; color: var(--ink); background: transparent; font-size: 13px; }
select { height: 36px; padding: 0 10px; color: var(--ink-2); background: white; border: 1px solid var(--line); border-radius: 8px; outline: 0; font-size: 13px; }
.view-switch { padding: 3px; display: flex; background: #f1f4f2; border-radius: 8px; }
.view-switch button { width: 31px; height: 28px; display: grid; place-items: center; color: #89958f; background: transparent; border: 0; border-radius: 6px; }
.view-switch button.active { color: var(--forest-900); background: white; box-shadow: 0 1px 4px rgba(0,0,0,.06); }
.view-switch svg { width: 14px; }
.filter-chips { padding: 0 15px 11px; display: flex; gap: 5px; overflow-x: auto; }
.filter-chips a { padding: 5px 10px; color: var(--ink-3); background: #f4f6f4; border-radius: 16px; white-space: nowrap; font-size: 12px; }
.filter-chips a.active { color: white; background: var(--forest-900); }
.products-table th, .products-table td { padding-right: 15px; padding-left: 15px; }
.product-cell { min-width: 210px; display: flex; align-items: center; gap: 9px; }
.product-cell > span:last-child { min-width: 0; }
.product-cell strong, .product-cell small { display: block; }
.product-cell > span > strong { max-width: 230px; overflow: hidden; color: var(--ink); text-overflow: ellipsis; }
.product-cell small { margin-top: 3px; color: var(--ink-3); font-size: 12px; }
.product-cell small b { direction: ltr; display: inline-block; font-family: ui-monospace, monospace; font-weight: 500; }
.source-badge { margin-right: 4px; padding: 1px 5px; color: #4a73a0; background: #e7f0fa; border-radius: 8px; font-size: 12px; font-style: normal; }
.category-pill { padding: 4px 8px; border-radius: 13px; font-size: 12px; font-weight: 600; }
.spec-value { color: #3b5d51; font-size: 13px; }
.stock-progress { width: 87px; }
.stock-progress span { display: block; margin-bottom: 5px; font-size: 12px; }
.stock-progress b { color: var(--ink); font-size: 13px; }
.stock-progress i, .gauge { height: 4px; display: block; overflow: hidden; background: #edf1ef; border-radius: 4px; }
.stock-progress em, .gauge span { height: 100%; display: block; background: var(--mint-500); border-radius: 4px; }
.stock-progress em.danger { background: var(--red); }
.table-footer { min-height: 51px; padding: 0 15px; display: flex; align-items: center; justify-content: space-between; color: var(--ink-3); border-top: 1px solid var(--line); font-size: 12px; }
.pagination { display: flex; gap: 4px; direction: ltr; }
.pagination button { width: 28px; height: 28px; display: grid; place-items: center; background: white; border: 1px solid var(--line); border-radius: 7px; font-size: 12px; }
.pagination button.active { color: white; background: var(--forest-900); border-color: var(--forest-900); }
.pagination svg { width: 12px; }
.empty-mini { height: 180px; display: flex; flex-direction: column; align-items: center; justify-content: center; color: var(--ink-3); }
.empty-mini svg { width: 30px; height: 30px; color: var(--mint-500); }
.empty-mini p { margin: 8px 0 0; }
.empty-mini a { color: var(--mint-600); font-size: 13px; }

.form-heading { align-items: flex-start; }
.back-link { margin-bottom: 8px; display: inline-flex; align-items: center; gap: 5px; color: var(--ink-3); font-size: 13px; }
.back-link svg { width: 14px; }
.form-layout, .invoice-layout { display: grid; grid-template-columns: minmax(0, 1fr) 282px; gap: 16px; align-items: start; }
.form-main { display: grid; gap: 14px; }
.form-section { padding: 20px; }
.section-title { margin-bottom: 19px; display: flex; gap: 11px; }
.section-title > span { width: 28px; height: 28px; display: grid; flex: 0 0 auto; place-items: center; color: var(--mint-600); background: var(--mint-100); border-radius: 8px; font-size: 12px; font-weight: 700; }
.section-title h2 { margin: 0; font-size: 17px; }
.section-title p { margin: 3px 0 0; color: var(--ink-3); font-size: 12px; }
.type-picker { display: grid; grid-template-columns: repeat(7, minmax(80px, 1fr)); gap: 7px; }
.type-option input { position: absolute; opacity: 0; pointer-events: none; }
.type-option > span { min-height: 78px; padding: 9px 5px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 7px; color: var(--ink-3); background: #fafbfa; border: 1px solid var(--line); border-radius: 10px; cursor: pointer; transition: .16s; }
.type-option svg { width: 21px; }
.type-option .solar-cell-icon { width: 25px; height: 25px; flex: 0 0 auto; }
.type-option b { font-size: 12px; font-weight: 500; }
.type-option input:checked + span { color: var(--forest-900); background: #eff9f4; border-color: var(--mint-500); box-shadow: inset 0 0 0 1px var(--mint-500); }
.type-option input:checked + span svg { color: var(--mint-600); }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; }
.field { min-width: 0; display: block; }
.field > span { margin-bottom: 6px; display: block; color: var(--ink-2); font-size: 12px; font-weight: 600; }
.field > span em { color: var(--red); font-style: normal; }
.field input, .field select, .field textarea { width: 100%; height: 39px; padding: 0 11px; color: var(--ink); background: white; border: 1px solid #dfe6e2; border-radius: 8px; outline: none; font-size: 13px; transition: .15s; }
.field textarea { height: auto; padding-top: 9px; resize: vertical; }
.field input:focus, .field select:focus, .field textarea:focus { border-color: var(--mint-500); box-shadow: 0 0 0 3px rgba(41,189,130,.08); }
.field input:disabled, .field select:disabled { color: #aab3af; background: #f3f5f4; }
.field-help { margin-top: 4px; display: block; color: var(--ink-3); font-size: 12px; }
.field.span-2 { grid-column: span 2; }
.input-unit { display: flex; position: relative; }
.input-unit input { padding-left: 43px; direction: ltr; text-align: right; }
.input-unit b { min-width: 35px; padding: 0 7px; position: absolute; inset: 1px auto 1px 1px; display: grid; place-items: center; direction: ltr; color: var(--ink-3); background: #f3f6f4; border-radius: 7px; font-size: 12px; }
.form-aside { display: grid; gap: 12px; position: sticky; top: 86px; }
.save-card { padding: 20px; text-align: center; }
.save-icon { width: 49px; height: 49px; margin: 0 auto 11px; display: grid; place-items: center; color: var(--mint-600); background: var(--mint-100); border-radius: 14px; }
.save-icon svg { width: 23px; }
.save-card h3 { margin: 0; font-size: 16px; }
.save-card p { margin: 6px 0 17px; color: var(--ink-3); font-size: 12px; line-height: 1.8; }
.save-card .ghost { margin-top: 4px; }
.tip-card { padding: 14px; display: flex; gap: 9px; color: #725b26; background: #fff9e9; border: 1px solid #f2e4be; border-radius: 12px; }
.tip-card > svg { width: 18px; flex: 0 0 auto; color: #c2942e; }
.tip-card strong { font-size: 12px; }
.tip-card p { margin: 3px 0 0; color: #8f7947; font-size: 12px; line-height: 1.7; }
.simple-form { max-width: 850px; margin: 0 auto; padding: 22px; }
.form-actions { margin-top: 20px; padding-top: 16px; display: flex; justify-content: flex-end; gap: 7px; border-top: 1px solid var(--line); }

.product-detail-grid { display: grid; grid-template-columns: minmax(0, 1fr) 330px; gap: 14px; }
.product-hero { padding: 18px; display: flex; align-items: center; gap: 22px; }
.product-visual { width: 230px; min-height: 190px; display: grid; flex: 0 0 auto; place-items: center; position: relative; overflow: hidden; color: #caaa3f; background: linear-gradient(145deg, #edf6f1, #e6eee9); border-radius: 14px; }
.product-visual::after { content:""; position:absolute; width:130px; height:130px; background:rgba(255,255,255,.45); border-radius:50%; filter: blur(2px); }
.product-visual svg { width: 82px; height: 82px; z-index: 2; stroke-width: 1.1; }
.product-visual.inverter { color: #5c82b2; background: linear-gradient(145deg,#edf3fa,#e4edf5); }
.product-visual.battery { color: #43875d; }
.product-summary { flex: 1; }
.product-summary h2 { margin: 13px 0 5px; font-size: 25px; }
.product-summary > p { color: var(--ink-3); }
.sku-line { width: fit-content; margin: 13px 0; padding: 5px 8px; display: flex; gap: 9px; background: #f2f5f3; border-radius: 6px; font-size: 12px; }
.sku-line span { color: var(--ink-3); }
.price-pair { padding-top: 14px; display: grid; grid-template-columns: 1fr 1fr; gap: 18px; border-top: 1px solid var(--line); }
.price-pair small, .price-pair strong { display: block; }
.price-pair small { color: var(--ink-3); font-size: 12px; }
.price-pair strong { margin-top: 3px; font-size: 18px; }
.inventory-gauge { padding: 19px; }
.big-stock { padding: 24px 0 13px; text-align: center; }
.big-stock strong { font-size: 42px; line-height: 1; }
.big-stock span { margin-right: 5px; color: var(--ink-3); }
.gauge { height: 7px; }
.gauge-labels { margin: 8px 0 22px; display: flex; justify-content: space-between; color: var(--ink-3); font-size: 12px; }
.gauge-labels b { color: var(--ink-2); }
.specs-card { margin-top: 14px; padding: 20px; }
.calc-ready { display: flex; align-items: center; gap: 5px; color: var(--mint-600); font-size: 12px; }
.calc-ready svg { width: 14px; }
.specs-grid { margin-top: 18px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border: 1px solid var(--line); border-radius: 11px; overflow: hidden; }
.specs-grid div { min-height: 71px; padding: 13px; border-left: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.specs-grid div:nth-child(4n) { border-left: 0; }
.specs-grid small, .specs-grid strong { display: block; }
.specs-grid small { color: var(--ink-3); font-size: 12px; }
.specs-grid strong { margin-top: 6px; font-size: 15px; }

.invoice-products-section { min-width: 0; }
.invoice-catalog { min-width: 0; }
.catalog-toolbar { margin-bottom: 13px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.catalog-search { width: min(360px, 100%); height: 39px; padding: 0 11px; display: flex; align-items: center; gap: 8px; color: var(--ink-3); background: #f8faf8; border: 1px solid var(--line); border-radius: 10px; }
.catalog-search svg { width: 15px; flex: 0 0 auto; }
.catalog-search input { width: 100%; border: 0; outline: 0; color: var(--ink); background: transparent; font-size: 13px; }
.catalog-selection { min-height: 35px; padding: 0 11px; display: inline-flex; align-items: center; gap: 6px; color: var(--ink-2); background: #eff8f3; border: 1px solid #d8eee3; border-radius: 9px; white-space: nowrap; font-size: 12px; }
.catalog-selection svg { width: 14px; color: var(--mint-600); }
.catalog-selection b { color: var(--mint-600); font-size: 15px; }
.invoice-category-tabs { margin-bottom: 15px; padding-bottom: 3px; display: flex; gap: 7px; overflow-x: auto; scrollbar-width: thin; }
.invoice-category-tabs button { min-width: max-content; min-height: 42px; padding: 0 11px; display: inline-flex; align-items: center; gap: 7px; color: var(--ink-3); background: #fafbfa; border: 1px solid var(--line); border-radius: 10px; cursor: pointer; font-size: 12px; transition: .16s ease; }
.invoice-category-tabs button:hover { color: var(--ink); border-color: #cfdad4; background: white; }
.invoice-category-tabs button.active { color: white; background: var(--forest-900); border-color: var(--forest-900); box-shadow: 0 5px 14px rgba(16,45,36,.12); }
.invoice-category-tabs button svg { width: 15px; }
.invoice-category-tabs button.active svg { color: var(--mint-400); }
.invoice-category-tabs button em { min-width: 19px; height: 19px; padding: 0 5px; display: grid; place-items: center; color: var(--ink-3); background: #edf1ef; border-radius: 10px; font-size: 12px; font-style: normal; }
.invoice-category-tabs button.active em { color: var(--forest-900); background: var(--mint-400); }
.invoice-product-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.invoice-product-card { min-width: 0; min-height: 232px; padding: 13px; display: flex; flex-direction: column; position: relative; overflow: hidden; background: #fff; border: 1px solid var(--line); border-radius: 13px; transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease; }
.invoice-product-card:hover { border-color: #cbd9d2; box-shadow: 0 8px 22px rgba(24,58,46,.07); transform: translateY(-2px); }
.invoice-product-card.selected { background: linear-gradient(180deg, #fff, #f3fbf7); border-color: var(--mint-500); box-shadow: inset 0 0 0 1px var(--mint-500), 0 8px 22px rgba(29,161,108,.1); }
.invoice-product-card.selected::after { content: ""; width: 48px; height: 48px; position: absolute; top: -28px; left: -25px; background: var(--mint-500); border-radius: 50%; opacity: .16; }
.invoice-product-card.unavailable { opacity: .56; background: #f8f9f8; }
.invoice-product-card.unavailable:hover { border-color: var(--line); box-shadow: none; transform: none; }
.product-card-top { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.product-card-icon { width: 37px; height: 37px; display: grid; flex: 0 0 auto; place-items: center; border-radius: 10px; }
.product-card-icon svg { width: 19px; }
.product-card-icon.panel { color: #8c741f; background: #fff5cf; }
.product-card-icon.inverter { color: #5172a4; background: #e8f0fd; }
.product-card-icon.battery { color: #5a8c67; background: #e5f5e9; }
.product-card-icon.structure { color: #7d698f; background: #f0eaf5; }
.product-card-icon.cable { color: #8a6252; background: #f6e9e3; }
.product-card-icon.protection { color: #a65757; background: #fce8e8; }
.product-card-icon.accessory { color: #65706b; background: #edf1ef; }
.product-card-stock { padding: 4px 7px; display: inline-flex; align-items: center; gap: 4px; color: #34775d; background: #edf8f2; border-radius: 8px; font-size: 12px; }
.product-card-stock.low { color: #a16d1c; background: #fff4dc; }
.product-card-stock svg { width: 11px; }
.product-card-category { margin-top: 11px; color: var(--mint-600); font-size: 12px; font-weight: 600; }
.invoice-product-card h3 { min-height: 35px; margin: 5px 0 2px; display: -webkit-box; overflow: hidden; font-size: 14px; line-height: 1.55; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.invoice-product-card > p { margin: 0; overflow: hidden; color: var(--ink-3); text-overflow: ellipsis; white-space: nowrap; font-size: 12px; }
.product-card-sku { width: fit-content; max-width: 100%; margin-top: 7px; padding: 3px 6px; overflow: hidden; color: #65726c; background: #f3f5f4; border-radius: 5px; font-family: ui-monospace, monospace; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.product-card-footer { margin-top: auto; padding-top: 11px; display: flex; align-items: flex-end; justify-content: space-between; gap: 8px; border-top: 1px solid #edf1ef; }
.product-card-price small, .product-card-price strong { display: block; }
.product-card-price small { margin-bottom: 2px; color: var(--ink-3); font-size: 12px; }
.product-card-price strong { font-size: 13px; }
.quantity-stepper { height: 34px; padding: 2px; display: grid; grid-template-columns: 29px 34px 29px; direction: ltr; background: #f1f4f2; border: 1px solid #e0e6e3; border-radius: 9px; }
.quantity-stepper button { padding: 0; display: grid; place-items: center; color: var(--ink-2); background: white; border: 0; border-radius: 6px; cursor: pointer; }
.quantity-stepper button:hover { color: white; background: var(--mint-600); }
.quantity-stepper button:disabled { color: #b5bfba; background: transparent; cursor: not-allowed; }
.quantity-stepper button svg { width: 13px; pointer-events: none; }
.quantity-stepper input { width: 34px; height: 28px; padding: 0; direction: ltr; color: var(--ink); background: transparent; border: 0; outline: 0; text-align: center; font-size: 13px; font-weight: 700; -moz-appearance: textfield; }
.quantity-stepper input::-webkit-inner-spin-button, .quantity-stepper input::-webkit-outer-spin-button { margin: 0; -webkit-appearance: none; }
.invoice-product-card.selected .quantity-stepper { background: #daf3e7; border-color: #bce5d2; }
.catalog-empty { min-height: 220px; display: flex; flex-direction: column; align-items: center; justify-content: center; color: var(--ink-3); background: #fafbfa; border: 1px dashed #d7dfdb; border-radius: 12px; text-align: center; }
.catalog-empty svg { width: 30px; height: 30px; margin-bottom: 9px; color: #9cadA5; }
.catalog-empty strong { color: var(--ink-2); font-size: 14px; }
.catalog-empty span { margin-top: 4px; font-size: 12px; }
.invoice-total { padding: 18px; }
.invoice-total h3 { margin: 0 0 17px; font-size: 16px; }
.total-line { margin-bottom: 12px; display: flex; justify-content: space-between; color: var(--ink-3); font-size: 13px; }
.total-line strong { color: var(--ink); }
.field.compact { margin-bottom: 10px; display: grid; grid-template-columns: 1fr 120px; align-items: center; }
.field.compact > span { margin: 0; }
.field.compact input { height: 34px; }
.grand-total { margin: 15px 0; padding: 14px 0; display: flex; align-items: center; justify-content: space-between; border-top: 1px dashed #ccd7d1; border-bottom: 1px dashed #ccd7d1; }
.grand-total span { font-size: 14px; font-weight: 600; }
.grand-total strong { color: var(--mint-600); font-size: 22px; }
.invoice-total > .field { margin-bottom: 11px; }
.source-label, .items-count { display: inline-flex; align-items: center; gap: 5px; }
.source-label svg, .items-count svg { width: 13px; color: var(--mint-600); }
.text-danger { color: var(--red) !important; }
.text-muted { color: #9ba6a1 !important; }
.text-success { color: var(--mint-600) !important; }
.payment-kind { display: inline-flex; align-items: center; gap: 5px; padding: 5px 8px; border-radius: 8px; font-size: 12px; font-weight: 600; }
.payment-kind svg { width: 13px; }
.payment-kind.cash { color: #267b5d; background: #e8f6ef; }
.payment-kind.credit { color: #9a711f; background: #fbf2dd; }
.payment-kind.installment { color: #66549e; background: #eeeafb; }
.document-link:hover { color: var(--mint-600); text-decoration: underline; }
.overdue-row td { background: #fffafa; }
.overdue-row:hover td { background: #fff6f6; }
.cell-note { margin-top: 3px; display: block; color: var(--ink-3); font-size: 12px; }
.debt-progress { width: 85px; display: flex; align-items: center; gap: 6px; }
.debt-progress i { height: 5px; flex: 1; overflow: hidden; background: #edf1ef; border-radius: 5px; }
.debt-progress em { height: 100%; display: block; background: var(--mint-500); border-radius: 5px; }
.debt-progress span { color: var(--ink-3); font-size: 12px; }

.payment-type-section { margin: 15px 0 11px; padding-top: 13px; border-top: 1px solid var(--line); }
.side-label { margin-bottom: 7px; display: block; color: var(--ink-2); font-size: 12px; font-weight: 600; }
.payment-type-picker { display: grid; grid-template-columns: repeat(3, 1fr); gap: 5px; }
.payment-type-picker input { position: absolute; opacity: 0; }
.payment-type-picker span { min-height: 42px; display: flex; align-items: center; justify-content: center; gap: 5px; color: var(--ink-3); background: #fafbfa; border: 1px solid var(--line); border-radius: 8px; cursor: pointer; font-size: 12px; }
.payment-type-picker svg { width: 14px; }
.payment-type-picker input:checked + span { color: var(--mint-600); background: #effaf5; border-color: var(--mint-500); box-shadow: inset 0 0 0 1px var(--mint-500); }
.term-box { margin: 10px 0; padding: 11px; background: #f8faf8; border: 1px solid var(--line); border-radius: 9px; }
.term-box .form-grid { gap: 8px; }
.installment-preview { margin-top: 9px; padding-top: 9px; display: grid; grid-template-columns: 1fr auto; gap: 6px; color: var(--ink-3); border-top: 1px dashed #d4ddd8; font-size: 12px; }
.installment-preview strong { color: var(--ink); }

.finance-hero { margin-bottom: 14px; display: grid; grid-template-columns: 1.25fr .8fr .8fr; gap: 13px; }
.balance-card { min-height: 173px; padding: 20px; position: relative; overflow: hidden; color: white; background: linear-gradient(135deg,#102f25,#164535); border-radius: 16px; box-shadow: 0 10px 28px rgba(15,47,37,.15); }
.balance-card > *:not(.balance-orbit) { position: relative; z-index: 2; }
.balance-orbit { position: absolute; border: 1px solid rgba(93,216,161,.12); border-radius: 50%; }
.balance-orbit.one { width: 210px; height: 210px; top: -100px; left: -40px; }
.balance-orbit.two { width: 150px; height: 150px; top: -70px; left: -10px; }
.balance-head { display: flex; align-items: center; gap: 9px; }
.balance-head > span { width: 33px; height: 33px; display: grid; place-items: center; color: var(--mint-400); background: rgba(91,220,163,.1); border: 1px solid rgba(91,220,163,.12); border-radius: 9px; }
.balance-head svg { width: 17px; }
.balance-head small { color: #9fc3b5; }
.balance-card > strong { display: block; margin-top: 13px; font-size: 29px; }
.balance-card > p { margin: 3px 0 15px; color: #81a99a; font-size: 12px; }
.balance-foot { display: flex; gap: 19px; }
.balance-foot span { display: flex; align-items: center; gap: 4px; color: #8fb1a4; font-size: 12px; }
.balance-foot svg { width: 12px; }
.balance-foot b { color: #eaf4f0; }
.finance-stat { min-height: 173px; padding: 19px; display: flex; align-items: flex-start; gap: 11px; background: white; border: 1px solid var(--line); border-radius: 15px; box-shadow: var(--shadow); }
.finance-stat > span { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 10px; }
.finance-stat.income > span { color: var(--mint-600); background: var(--mint-100); }
.finance-stat.expense > span { color: var(--red); background: #fbeaea; }
.finance-stat small, .finance-stat strong, .finance-stat em { display: block; }
.finance-stat small { color: var(--ink-3); font-size: 12px; }
.finance-stat strong { margin-top: 11px; font-size: 21px; }
.finance-stat em { margin-top: 5px; color: var(--mint-600); font-size: 12px; font-style: normal; }
.finance-stat.expense em { color: var(--ink-3); }
.finance-grid { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(260px, .7fr); gap: 14px; }
.transactions-card, .expense-breakdown { padding: 19px; }
.segmented { padding: 3px; display: flex; background: #f1f4f2; border-radius: 8px; }
.segmented button { padding: 5px 9px; background: transparent; border: 0; border-radius: 6px; color: var(--ink-3); font-size: 12px; }
.segmented button.active { color: var(--ink); background: white; box-shadow: 0 1px 3px rgba(0,0,0,.06); }
.transaction-list { margin-top: 10px; }
.transaction-row { min-height: 59px; display: flex; align-items: center; gap: 10px; border-bottom: 1px solid var(--line); }
.transaction-row:last-child { border: 0; }
.transaction-icon { width: 32px; height: 32px; display: grid; flex: 0 0 auto; place-items: center; border-radius: 9px; }
.transaction-icon svg { width: 15px; }
.transaction-icon.income { color: var(--mint-600); background: var(--mint-100); }
.transaction-icon.expense { color: var(--red); background: #faeaea; }
.transaction-row > div { flex: 1; }
.transaction-row strong, .transaction-row small { display: block; }
.transaction-row > div strong { font-size: 12px; }
.transaction-row small { margin-top: 3px; color: var(--ink-3); font-size: 12px; }
.transaction-amount { direction: ltr; font-weight: 700; font-size: 13px; }
.transaction-amount.income { color: var(--mint-600); }
.transaction-amount.expense { color: var(--ink); }
.expense-breakdown > .card-head > svg { color: var(--mint-600); }
.donut-wrap { padding: 21px 0 17px; display: grid; place-items: center; }
.donut { width: 126px; height: 126px; display: grid; place-items: center; border-radius: 50%; background: conic-gradient(var(--forest-800) 0 42%, var(--mint-500) 42% 70%, #e6b557 70% 86%, #dbe3df 86%); }
.donut::before { content:""; width: 84px; height: 84px; position: absolute; background: white; border-radius: 50%; }
.donut div { position: relative; z-index: 2; text-align: center; }
.donut strong, .donut small { display: block; }
.donut strong { font-size: 18px; }
.donut small { color: var(--ink-3); font-size: 12px; }
.breakdown-list div, .inventory-legend div { min-height: 27px; display: flex; align-items: center; justify-content: space-between; color: var(--ink-2); font-size: 12px; }
.breakdown-list span, .inventory-legend span { display: flex; align-items: center; gap: 6px; }
.dot { width: 7px; height: 7px; display: inline-block; background: var(--forest-800); border-radius: 2px; }
.dot.c1 { background: var(--mint-500); }.dot.c2 { background: #e6b557; }.dot.c3 { background: #d3ddd8; }.dot.c4 { background: var(--violet); }.dot.c5 { background: var(--sky); }

.date-range { height: 39px; padding: 0 12px; display: flex; align-items: center; gap: 7px; color: var(--ink-2); background: white; border: 1px solid var(--line); border-radius: 9px; font-size: 13px; }
.date-range svg { width: 14px; }
.report-kpis { margin-bottom: 14px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.report-kpis article { padding: 17px; display: flex; align-items: center; justify-content: space-between; background: white; border: 1px solid var(--line); border-radius: 14px; box-shadow: var(--shadow); }
.report-kpis small, .report-kpis strong { display: block; }
.report-kpis small { color: var(--ink-3); font-size: 12px; }.report-kpis strong { margin-top: 5px; font-size: 21px; }
.reports-grid { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(280px, .75fr); gap: 14px; }
.report-chart, .inventory-report { min-height: 344px; padding: 19px; }
.legend { display: flex; gap: 12px; color: var(--ink-3); font-size: 12px; }
.legend span { display: flex; align-items: center; gap: 5px; }
.legend i { width: 7px; height: 7px; background: var(--mint-500); border-radius: 2px; }.legend i.amber { background: #e5b859; }
.grouped-chart { height: 245px; margin-top: 27px; padding-top: 14px; display: flex; align-items: flex-end; gap: 17px; border-bottom: 1px solid var(--line); background-image: linear-gradient(to bottom, transparent 24%, #edf1ef 25%, transparent 26%, transparent 49%, #edf1ef 50%, transparent 51%, transparent 74%, #edf1ef 75%, transparent 76%); }
.chart-group { height: 100%; flex: 1; display: flex; flex-direction: column; justify-content: flex-end; align-items: center; gap: 7px; }
.chart-group > div { height: 100%; display: flex; align-items: flex-end; gap: 3px; }
.chart-group span { width: 19px; min-height: 3px; display: block; position: relative; border-radius: 4px 4px 0 0; }
.chart-group span.revenue { background: var(--mint-500); }.chart-group span.expense { background: #e7bd6a; }
.chart-group em { display:none; position:absolute; top:-23px; right:50%; transform:translateX(50%); padding:3px 5px; color:#fff; background:var(--forest-900); border-radius:4px; white-space:nowrap; font-size: 12px; font-style:normal; }
.chart-group span:hover em { display:block; }
.chart-group > small { margin-bottom: -22px; color: var(--ink-3); font-size: 12px; }
.inventory-total { display: block; margin: 22px 0 12px; font-size: 25px; }
.inventory-stack { height: 10px; display: flex; direction: rtl; overflow: hidden; background: #edf1ef; border-radius: 7px; }
.inventory-stack span { height: 100%; background: var(--forest-800); }.inventory-stack .c1 { background:var(--mint-500); }.inventory-stack .c2 { background:#e6b557; }.inventory-stack .c3 { background:#b3c8bf; }.inventory-stack .c4 { background:var(--violet); }.inventory-stack .c5 { background:var(--sky); }
.inventory-legend { margin-top: 15px; }
.best-sellers { margin-top: 14px; padding: 19px; }
.best-grid { margin-top: 16px; display: grid; grid-template-columns: repeat(2, 1fr); gap: 9px; }
.best-card { min-height: 69px; padding: 9px; display: flex; align-items: center; gap: 8px; background: #fafbfa; border: 1px solid #edf1ef; border-radius: 10px; }
.best-card .rank { color: #acb5b1; font-family: ui-monospace, monospace; font-size: 12px; }
.best-card > div { flex:1; min-width:0; }.best-card > div strong,.best-card > div small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.best-card > div strong { font-size: 12px; }.best-card > div small { margin-top:3px; color:var(--ink-3); font-size: 12px; }.best-card > b { font-size: 12px; }

.calculator-heading { margin: -29px -30px 18px; padding: 30px; min-height: 186px; display: flex; align-items: center; justify-content: space-between; gap: 30px; position: relative; overflow: hidden; color: white; background:
  radial-gradient(circle at 8% 30%, rgba(77,214,155,.17), transparent 26%),
  linear-gradient(120deg,#0b251c,#123a2c); }
.calculator-heading::after { content:""; width:420px; height:420px; position:absolute; left:16%; top:-310px; border:1px solid rgba(100,224,168,.11); border-radius:50%; box-shadow: 0 0 0 55px rgba(77,214,155,.025), 0 0 0 110px rgba(77,214,155,.018); }
.calculator-heading > div { position: relative; z-index: 2; }
.eyebrow.light { color: var(--mint-400); }
.calculator-heading h1 { margin: 0; font-size: 34px; line-height: 1.35; letter-spacing: -.7px; }
.calculator-heading h1 em { color: var(--mint-400); font-style: normal; }
.calculator-heading > div:first-child > p { max-width: 520px; margin: 7px 0 0; color: #9dbbb0; font-size: 13px; line-height: 1.7; }
.calculator-badge { width: 260px; padding: 13px; display: flex; align-items: center; gap: 10px; background: rgba(255,255,255,.055); border: 1px solid rgba(255,255,255,.08); border-radius: 12px; backdrop-filter: blur(8px); }
.calculator-badge > span { width: 35px; height: 35px; display: grid; place-items: center; color: var(--mint-400); background: rgba(69,206,147,.1); border-radius: 10px; }
.calculator-badge svg { width: 18px; }.calculator-badge strong,.calculator-badge small { display:block; }.calculator-badge strong { font-size: 12px; }.calculator-badge small { margin-top:4px; color:#8eada1; font-size: 12px; }
.systems-library { margin-bottom: 14px; padding: 17px; background: white; border: 1px solid var(--line); border-radius: 15px; box-shadow: var(--shadow); }
.systems-library-head { margin-bottom: 13px; display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; }
.systems-library-head h2 { margin: 0; font-size: 17px; }
.systems-library-head p { margin: 3px 0 0; color: var(--ink-3); font-size: 12px; }
.systems-library-head > a { display: flex; align-items: center; gap: 5px; color: var(--mint-600); font-size: 12px; }
.systems-library-head > a svg { width: 12px; }
.system-presets { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 7px; }
.system-preset { min-height: 61px; padding: 9px; display: flex; align-items: center; gap: 7px; text-align: right; background: #fafbfa; border: 1px solid var(--line); border-radius: 10px; cursor: pointer; transition: .16s; }
.system-preset > svg { width: 17px; flex: 0 0 auto; color: var(--mint-600); }
.system-preset span { flex: 1; min-width: 0; }
.system-preset b, .system-preset small { display: block; }
.system-preset b { font-size: 12px; }
.system-preset small { margin-top: 2px; color: var(--ink-3); font-size: 12px; }
.system-preset em { padding: 2px 5px; color: #8b7629; background: #fff5cf; border-radius: 8px; white-space: nowrap; font-size: 12px; font-style: normal; }
.system-preset:hover, .system-preset.active { background: #f0faf5; border-color: var(--mint-500); transform: translateY(-1px); }
.calculator-layout { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(380px, .75fr); gap: 16px; align-items: start; direction: rtl; }
.calculator-form { display: grid; gap: 12px; }
.calc-step { padding: 20px; background: white; border: 1px solid var(--line); border-radius: 15px; box-shadow: var(--shadow); }
.calc-step-head { margin-bottom: 17px; display: flex; gap: 10px; }
.calc-step-head > span { width: 28px; height: 28px; display: grid; flex: 0 0 auto; place-items: center; color: var(--mint-600); background: var(--mint-100); border-radius: 50%; font-size: 12px; font-weight: 700; }
.calc-step-head h2 { margin:0; font-size: 17px; }.calc-step-head p { margin:3px 0 0; color:var(--ink-3); font-size: 12px; }
.system-picker { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.system-picker input, .phase-picker input { position: absolute; opacity: 0; }
.system-picker label > span { min-height: 103px; padding: 13px; display: flex; flex-direction: column; position: relative; color: var(--ink-3); background:#fafbfa; border:1px solid var(--line); border-radius:11px; cursor:pointer; transition:.18s; }
.system-picker label > span > svg { width:22px; color:#81918a; }.system-picker b { margin-top:9px; color:var(--ink); font-size: 13px; }.system-picker small { margin-top:3px; font-size: 12px; }.system-picker em { width:18px; height:18px; position:absolute; top:10px; left:10px; display:none; place-items:center; color:#fff; background:var(--mint-500); border-radius:50%; }.system-picker em svg { width:11px; }
.system-picker input:checked + span { background:#f1faf6; border-color:var(--mint-500); box-shadow:inset 0 0 0 1px var(--mint-500); }.system-picker input:checked + span > svg { color:var(--mint-600); }.system-picker input:checked + span em { display:grid; }
.phase-picker { width:fit-content; margin-bottom:13px; padding:3px; display:flex; background:#f1f4f2; border-radius:8px; }.phase-picker span { padding:7px 14px; display:block; color:var(--ink-3); border-radius:6px; cursor:pointer; font-size: 12px; }.phase-picker small { margin-right:4px; font-size: 12px; }.phase-picker input:checked + span { color:var(--forest-900); background:white; box-shadow:0 1px 4px rgba(0,0,0,.06); }
.load-inputs { display:grid; grid-template-columns:repeat(2,1fr); gap:9px; }
.calc-field { min-height:73px; padding:11px; display:flex; align-items:center; justify-content:space-between; gap:10px; background:#fafbfa; border:1px solid var(--line); border-radius:10px; }
.calc-field > span { display:grid; grid-template-columns:18px 1fr; column-gap:7px; align-items:center; }.calc-field > span svg { grid-row:1/3; width:17px; color:var(--mint-600); }.calc-field b,.calc-field small { display:block; }.calc-field b { font-size: 12px; }.calc-field small { margin-top:2px; color:var(--ink-3); font-size: 12px; }
.calc-field > div { width:92px; height:39px; display:flex; direction:ltr; border:1px solid #dce4e0; border-radius:8px; overflow:hidden; background:white; }.calc-field input { width:58px; padding:0 7px; border:0; outline:0; text-align:center; font-weight:700; }.calc-field > div em { min-width:32px; display:grid; place-items:center; color:var(--ink-3); background:#f1f4f2; font-size: 12px; font-style:normal; }.calc-field input:disabled { background:#eef1ef; color:#aeb6b2; }
.calc-field > div.adjustable-number { width: 170px; flex: 0 0 auto; }
.adjustable-number button { width: 36px; padding: 0; flex: 0 0 auto; color: var(--mint-600); background: #eef9f4; border: 0; border-left: 1px solid #dce4e0; border-right: 1px solid #dce4e0; cursor: pointer; font-size: 20px; font-weight: 700; line-height: 1; }
.adjustable-number button:hover { color: white; background: var(--mint-600); }
.calc-field .adjustable-number input { width: 62px; font-size: 15px; }
.calc-field .adjustable-number em { min-width: 36px; }
.calc-preferences { margin-bottom:15px; }
.equation-editor { margin-bottom: 15px; overflow: hidden; background: #f8fbf9; border: 1px solid #dce8e2; border-radius: 12px; }
.equation-editor > summary { min-height: 61px; padding: 12px 14px; display: flex; align-items: center; justify-content: space-between; gap: 12px; cursor: pointer; list-style: none; }
.equation-editor > summary::-webkit-details-marker { display: none; }
.equation-editor > summary > span { display: grid; grid-template-columns: 20px 1fr; column-gap: 8px; align-items: center; }
.equation-editor > summary > span > svg { width: 18px; grid-row: 1 / 3; color: var(--mint-600); }
.equation-editor > summary b, .equation-editor > summary small { display: block; }
.equation-editor > summary b { font-size: 14px; }
.equation-editor > summary small { margin-top: 2px; color: var(--ink-3); font-size: 12px; }
.equation-editor > summary > svg { width: 17px; color: var(--ink-3); transition: transform .18s; }
.equation-editor[open] > summary > svg { transform: rotate(180deg); }
.equation-body { padding: 14px; border-top: 1px solid #e2ebe6; }
.equation-parameters { margin-bottom: 11px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.equation-unit { height: 39px; display: flex; direction: ltr; overflow: hidden; background: white; border: 1px solid #dfe6e2; border-radius: 8px; }
.equation-unit input { min-width: 0; flex: 1; padding: 0 8px; text-align: center; border: 0; outline: 0; font-weight: 700; }
.equation-unit em { min-width: 45px; display: grid; place-items: center; color: var(--ink-3); background: #f1f4f2; font-size: 12px; font-style: normal; }
.equation-formula > span { margin-bottom: 6px; display: flex; align-items: center; justify-content: space-between; gap: 10px; font-size: 13px; font-weight: 600; }
.equation-formula > span small { color: var(--ink-3); font-size: 12px; font-weight: 400; }
.equation-formula textarea { width: 100%; min-height: 92px; padding: 12px; resize: vertical; direction: rtl; unicode-bidi: plaintext; color: #163b2f; background: #fff; border: 1px solid #cadbd3; border-radius: 9px; outline: 0; font: 600 13px/1.9 ui-monospace, SFMono-Regular, Menlo, monospace; text-align: right; }
.equation-formula textarea:focus { border-color: var(--mint-500); box-shadow: 0 0 0 3px rgba(41,189,130,.08); }
.equation-formula textarea[aria-invalid="true"] { color: #a14d4d; border-color: #e2aaaa; background: #fffafa; }
.equation-reference { margin-top: 11px; padding: 12px; background: white; border: 1px solid #e0e9e4; border-radius: 10px; }
.equation-reference h3 { margin: 0 0 10px; display: flex; align-items: center; gap: 7px; font-size: 13px; }
.equation-reference h3 svg { width: 16px; color: var(--mint-600); }
.equation-variable-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
.equation-variable-grid article { min-height: 82px; padding: 9px; background: #f8fbf9; border: 1px solid #e8efeb; border-radius: 8px; }
.equation-variable-grid code { display: inline-block; padding: 3px 7px; direction: rtl; color: #256b51; background: #e5f5ed; border-radius: 6px; font-size: 12px; font-weight: 700; }
.equation-variable-grid p { margin: 6px 0 0; color: var(--ink-3); font-size: 12px; line-height: 1.65; }
.equation-functions { margin-top: 9px; padding-top: 9px; display: flex; align-items: center; flex-wrap: wrap; gap: 6px; color: var(--ink-3); border-top: 1px solid #e7eeea; font-size: 12px; }
.equation-functions strong { color: var(--ink-2); }
.equation-functions span { padding: 4px 7px; background: #f3f7f5; border-radius: 7px; }
.equation-functions code { direction: rtl; color: #256b51; font-size: 12px; font-weight: 700; }
.equation-footer { margin-top: 11px; display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.equation-status { margin: 0; display: flex; align-items: center; gap: 6px; color: #32745b; font-size: 12px; line-height: 1.55; }
.equation-status svg { width: 15px; flex: 0 0 auto; }
.equation-status[data-state="invalid"] { color: #ae4f4f; }
.equation-footer .button { min-height: 37px; white-space: nowrap; }
.calculate-button { width:100%; min-height:49px; padding:0 17px; display:flex; align-items:center; justify-content:space-between; color:white; background:linear-gradient(100deg,var(--forest-900),#1c5d46); border:0; border-radius:10px; cursor:pointer; box-shadow:0 8px 20px rgba(14,46,36,.13); }
.calculate-button > span { display:flex; align-items:center; gap:8px; font-weight:600; }.calculate-button svg { width:17px; }.calculate-button > span svg { color:var(--mint-400); }
.calc-disclaimer { margin:9px 0 0; display:flex; align-items:center; gap:5px; justify-content:center; color:var(--ink-3); font-size: 12px; }.calc-disclaimer svg { width:12px; }
.calc-results { min-height:650px; position:sticky; top:86px; overflow:hidden; color:white; background:linear-gradient(150deg,#0b271e,#123c2e); border:1px solid #254a3d; border-radius:17px; box-shadow:0 14px 35px rgba(11,39,30,.15); }
.results-empty { min-height:650px; padding:40px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; background:radial-gradient(circle at 50% 45%,rgba(65,210,147,.11),transparent 32%); }
.results-empty > span { width:66px; height:66px; display:grid; place-items:center; color:var(--mint-400); background:rgba(68,207,146,.08); border:1px solid rgba(99,225,169,.14); border-radius:20px; transform:rotate(-5deg); }.results-empty > span svg { width:31px; height:31px; }.results-empty h2 { margin:19px 0 6px; font-size: 20px; }.results-empty p { max-width:280px; margin:0; color:#86a89b; font-size: 12px; line-height:1.8; }
.energy-wave { height:24px; margin-top:23px; display:flex; align-items:center; gap:4px; }.energy-wave i { width:3px; height:8px; background:var(--mint-400); border-radius:4px; opacity:.45; animation:wave 1.3s infinite ease-in-out; }.energy-wave i:nth-child(2),.energy-wave i:nth-child(4){animation-delay:.15s}.energy-wave i:nth-child(3){animation-delay:.3s}@keyframes wave{50%{height:24px;opacity:1}}
.results-content { padding:21px; }
.result-head { padding-bottom:17px; display:flex; align-items:flex-start; justify-content:space-between; border-bottom:1px solid rgba(255,255,255,.08); }.result-head h2 { margin:0; font-size: 23px; }.result-head h2 b { color:var(--mint-400); }.result-head p { max-width:300px; margin:5px 0 0; color:#87aa9c; font-size: 12px; line-height:1.6; }.result-check { width:34px; height:34px; display:grid; place-items:center; color:var(--forest-900); background:var(--mint-400); border-radius:50%; }.result-check svg { width:18px; }
.result-metrics { padding:15px 0; display:grid; grid-template-columns:repeat(3,1fr); gap:7px; }.result-metrics > div { min-height:61px; padding:9px; display:flex; align-items:center; gap:7px; background:rgba(255,255,255,.045); border:1px solid rgba(255,255,255,.06); border-radius:9px; }.result-metrics svg { width:16px; color:var(--mint-400); }.result-metrics small,.result-metrics strong { display:block; }.result-metrics small { color:#7fa193; font-size: 12px; }.result-metrics strong { margin-top:3px; font-size: 13px; }
.bom-title { margin:2px 0 8px; display:flex; align-items:center; justify-content:space-between; }.bom-title h3 { margin:0; font-size: 14px; }.bom-title p { margin:2px 0 0; color:#779b8c; font-size: 12px; }.bom-title > span { padding:3px 7px; color:var(--mint-400); background:rgba(69,206,147,.09); border-radius:10px; font-size: 12px; }
.bom-list { max-height:278px; overflow-y:auto; padding-left:3px; }.bom-list::-webkit-scrollbar{width:3px}.bom-list::-webkit-scrollbar-thumb{background:#31594b;border-radius:4px}
.bom-item { min-height:54px; padding:7px 0; display:grid; grid-template-columns:31px minmax(0,1fr) 34px 72px; align-items:center; gap:7px; border-bottom:1px solid rgba(255,255,255,.065); }.bom-item .product-symbol { width:31px;height:31px;background:rgba(255,255,255,.07);color:var(--mint-400); }.bom-item .product-symbol svg { width:15px; }.bom-item > div { min-width:0; }.bom-item > div strong,.bom-item > div small,.bom-item > div em { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.bom-item > div strong { font-size: 12px; }.bom-item > div small { margin-top:2px; color:#6f9586; font-size: 12px; }.bom-item > div em { margin-top:2px; color:#f2bb68; font-size: 12px; font-style:normal; }.bom-qty { text-align:center; }.bom-qty b,.bom-qty small { display:block; }.bom-qty b { color:var(--mint-400); font-size: 14px; }.bom-qty small { color:#719485; font-size: 12px; }.bom-item > strong { direction:rtl; color:#dce9e4; font-size: 12px; text-align:left; }.bom-item.shortage { background:rgba(211,157,70,.035); }
.cost-summary { margin-top:13px; padding:11px; background:rgba(255,255,255,.045); border:1px solid rgba(255,255,255,.06); border-radius:10px; }.cost-summary > div { min-height:24px; display:flex; align-items:center; justify-content:space-between; color:#82a395; font-size: 12px; }.cost-summary strong { color:#dfeae6; }.cost-summary .cost-total { margin-top:5px; padding-top:8px; color:white; border-top:1px dashed rgba(255,255,255,.12); font-size: 12px; }.cost-summary .cost-total strong { color:var(--mint-400); font-size: 17px; }
.quote-trigger { width:100%; min-height:48px; margin-top:10px; padding:0 12px; display:flex; align-items:center; gap:9px; color:var(--forest-950); background:var(--mint-400); border:0; border-radius:9px; cursor:pointer; }.quote-trigger > span { flex:1; text-align:right; }.quote-trigger b,.quote-trigger small { display:block; }.quote-trigger b { font-size: 12px; }.quote-trigger small { margin-top:2px; color:#276448; font-size: 12px; }.quote-trigger svg { width:17px; }
.print-design { width:100%; margin-top:6px; padding:7px; display:flex; align-items:center; justify-content:center; gap:5px; color:#789c8e; background:transparent; border:0; cursor:pointer; font-size: 12px; }.print-design svg { width:13px; }

.modal { position:fixed; z-index:100; inset:0; display:none; align-items:center; justify-content:center; padding:20px; }.modal.open { display:flex; }.modal-backdrop { position:absolute; inset:0; background:rgba(7,25,19,.58); backdrop-filter:blur(3px); }.modal-card { width:min(590px,100%); max-height:90vh; padding:21px; position:relative; z-index:2; overflow-y:auto; background:white; border-radius:16px; box-shadow:0 24px 70px rgba(0,0,0,.22); animation:modalIn .2s ease-out; }@keyframes modalIn{from{opacity:0;transform:translateY(8px) scale(.98)}}
.modal-head { margin-bottom:18px; display:flex; align-items:center; justify-content:space-between; }.modal-head h2 { margin:0; font-size: 21px; }.modal-actions { margin-top:18px; padding-top:14px; display:flex; justify-content:flex-end; gap:7px; border-top:1px solid var(--line); }.modal-open { overflow:hidden; }
.radio-cards { display:grid; grid-template-columns:1fr 1fr; gap:8px; }.radio-cards input { position:absolute;opacity:0; }.radio-cards label span { height:42px; display:flex;align-items:center;justify-content:center;gap:6px;color:var(--ink-3);border:1px solid var(--line);border-radius:8px;cursor:pointer; }.radio-cards label input:checked+span { color:var(--mint-600);background:#effaf5;border-color:var(--mint-500); }.radio-cards svg { width:15px; }
.toast { max-width:420px; min-height:45px; padding:0 11px; position:fixed; z-index:200; top:79px; left:23px; display:flex; align-items:center; gap:8px; color:#1d6e50; background:#effaf5; border:1px solid #ccebdc; border-radius:10px; box-shadow:0 12px 30px rgba(19,64,47,.12); font-size: 13px; transition:.25s; }.toast > svg { width:17px; }.toast span { flex:1; }.toast button { display:grid;place-items:center;background:transparent;border:0;cursor:pointer; }.toast button svg{width:14px}.toast.hide{opacity:0;transform:translateY(-10px);pointer-events:none}
.error-state { min-height:65vh; display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center; }.error-state > span { width:64px;height:64px;display:grid;place-items:center;color:#b26a50;background:#fff0e8;border-radius:19px; }.error-state svg { width:29px;height:29px; }.error-state > p { margin:18px 0 4px;color:var(--red);font-size: 13px;font-weight:700; }.error-state h1 { margin:0;font-size: 29px; }.error-state > div { margin:7px 0 20px;color:var(--ink-3); }

.sale-balance-grid { margin-bottom: 14px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 11px; }
.sale-balance-grid article { min-height: 77px; padding: 13px; display: flex; align-items: center; gap: 10px; background: white; border: 1px solid var(--line); border-radius: 13px; box-shadow: var(--shadow); }
.sale-balance-grid small, .sale-balance-grid strong { display: block; }
.sale-balance-grid small { margin-bottom: 3px; color: var(--ink-3); font-size: 12px; }
.sale-balance-grid strong { font-size: 17px; }
.invoice-title-line { display: flex; align-items: center; gap: 8px; }
.sale-detail-layout { display: grid; grid-template-columns: minmax(0, 1fr) 285px; gap: 14px; align-items: start; }
.sale-detail-main { display: grid; gap: 14px; }
.sale-detail-aside { display: grid; gap: 12px; position: sticky; top: 86px; }
.schedule-card, .invoice-items-card, .payments-history { overflow: hidden; }
.schedule-card > .card-head, .invoice-items-card > .card-head, .payments-history > .card-head { padding: 17px 18px 12px; }
.schedule-progress { padding: 4px 8px; color: #66549e; background: #eeeafb; border-radius: 10px; font-size: 12px; }
.credit-notice { min-height: 93px; padding: 17px; display: flex; align-items: center; gap: 12px; }
.credit-notice > span { width: 39px; height: 39px; display: grid; flex: 0 0 auto; place-items: center; color: #a87a20; background: #fff2d9; border-radius: 10px; }
.credit-notice > span svg { width: 18px; }
.credit-notice > div { flex: 1; }
.credit-notice h2 { margin: 0; font-size: 16px; }
.credit-notice p { margin: 4px 0 0; color: var(--ink-3); font-size: 12px; }
.credit-notice > strong { color: #a76b19; font-size: 18px; }
.credit-notice.is-overdue { border-color: #efcccc; background: #fffafa; }
.credit-notice.is-overdue > span { color: var(--red); background: #fbe8e8; }
.credit-notice.is-overdue > strong { color: var(--red); }
.invoice-totals { width: 280px; margin: 10px 18px 16px; margin-right: auto; }
.invoice-totals > div { min-height: 27px; display: flex; align-items: center; justify-content: space-between; color: var(--ink-3); font-size: 12px; }
.invoice-totals strong { color: var(--ink); }
.invoice-totals .final { margin-top: 4px; padding-top: 8px; color: var(--ink); border-top: 1px dashed #ccd7d1; font-size: 13px; font-weight: 600; }
.invoice-totals .final strong { color: var(--mint-600); font-size: 17px; }
.collect-card { padding: 18px; }
.collect-icon { width: 43px; height: 43px; display: grid; place-items: center; color: var(--mint-600); background: var(--mint-100); border-radius: 12px; }
.collect-card h2 { margin: 12px 0 3px; font-size: 17px; }
.collect-card > p { margin: 0 0 12px; color: var(--ink-3); font-size: 12px; line-height: 1.7; }
.collect-card .field { margin-bottom: 10px; }
.remaining-pill { margin-bottom: 13px; padding: 9px 10px; display: flex; align-items: center; justify-content: space-between; color: #a35656; background: #fff2f1; border-radius: 8px; font-size: 12px; }
.remaining-pill strong { font-size: 14px; }
.customer-card { padding: 17px; text-align: center; }
.avatar.large { width: 49px; height: 49px; margin: 0 auto; border-radius: 14px; }
.customer-card h3 { margin: 10px 0 7px; font-size: 15px; }
.customer-card p { margin: 5px 0; display: flex; align-items: center; justify-content: center; gap: 5px; color: var(--ink-3); font-size: 12px; }
.customer-card p svg { width: 12px; }
.customer-since { margin-top: 10px; padding-top: 9px; display: block; color: #98a39e; border-top: 1px solid var(--line); font-size: 12px; }
.payments-history > .card-head > span { color: var(--ink-3); font-size: 12px; }
.payment-history-list { padding: 0 18px 8px; }
.payment-history-list > div { min-height: 57px; display: flex; align-items: center; gap: 9px; border-top: 1px solid var(--line); }
.payment-history-list > div > div { flex: 1; }
.payment-history-list strong, .payment-history-list small { display: block; }
.payment-history-list > div > div strong { font-size: 12px; }
.payment-history-list small { margin-top: 3px; color: var(--ink-3); font-size: 12px; }
.payment-history-list > div > strong { color: var(--mint-600); font-size: 13px; }

.warehouse-stats { margin-bottom: 14px; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 11px; }
.warehouse-stats article { min-height: 78px; padding: 13px; display: flex; align-items: center; gap: 10px; background: white; border: 1px solid var(--line); border-radius: 13px; box-shadow: var(--shadow); }
.warehouse-stats small, .warehouse-stats strong { display: block; }
.warehouse-stats small { margin-bottom: 3px; color: var(--ink-3); font-size: 12px; }
.warehouse-stats strong { font-size: 17px; }
.warehouse-cards { margin-bottom: 14px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 11px; }
.warehouse-card { min-width: 0; padding: 15px; display: block; transition: .18s ease; }
.warehouse-card:hover { border-color: #c9d8d1; transform: translateY(-2px); }
.warehouse-card.active { border-color: var(--mint-500); box-shadow: inset 0 0 0 1px var(--mint-500), var(--shadow); }
.warehouse-card-head { display: flex; align-items: center; gap: 9px; }
.warehouse-card-head > span { width: 37px; height: 37px; display: grid; flex: 0 0 auto; place-items: center; color: var(--mint-600); background: var(--mint-100); border-radius: 10px; }
.warehouse-card-head > span svg { width: 18px; }
.warehouse-card-head > div { min-width: 0; flex: 1; }
.warehouse-card-head h2 { margin: 0; overflow: hidden; font-size: 14px; text-overflow: ellipsis; white-space: nowrap; }
.warehouse-card-head p { margin: 2px 0 0; color: var(--ink-3); font-size: 12px; }
.warehouse-card-head > svg { width: 14px; color: #a2ada8; }
.warehouse-card-numbers { margin: 13px 0 10px; padding: 10px 0; display: grid; grid-template-columns: .65fr .75fr 1.3fr; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.warehouse-card-numbers > div { padding: 0 8px; border-left: 1px solid var(--line); }
.warehouse-card-numbers > div:first-child { padding-right: 0; }
.warehouse-card-numbers > div:last-child { padding-left: 0; border-left: 0; }
.warehouse-card-numbers small, .warehouse-card-numbers strong { display: block; }
.warehouse-card-numbers small { color: var(--ink-3); font-size: 12px; }
.warehouse-card-numbers strong { margin-top: 3px; overflow: hidden; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.warehouse-card-foot { display: flex; align-items: center; justify-content: space-between; gap: 8px; color: var(--ink-3); font-size: 12px; }
.warehouse-card-foot > span { min-width: 0; display: flex; align-items: center; gap: 4px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.warehouse-card-foot svg { width: 11px; flex: 0 0 auto; }
.warehouse-card-foot em { padding: 3px 6px; color: #34775d; background: #edf8f2; border-radius: 8px; white-space: nowrap; font-style: normal; }
.warehouse-card-foot em.has-alerts { color: #a45b41; background: #fff0e9; }
.inventory-dashboard-grid { margin-bottom: 14px; display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(260px, .55fr); gap: 13px; align-items: start; }
.inventory-balances-panel { overflow: hidden; }
.inventory-toolbar { min-height: 72px; padding: 14px 16px 10px; display: flex; align-items: center; justify-content: space-between; gap: 13px; }
.inventory-toolbar h2 { margin: 0; font-size: 16px; }
.inventory-toolbar p { margin: 3px 0 0; color: var(--ink-3); font-size: 12px; }
.inventory-filter { display: flex; align-items: center; gap: 6px; }
.inventory-filter .search-box { width: 220px; height: 34px; }
.inventory-filter select { max-width: 150px; height: 34px; }
.inventory-view-tabs { padding: 0 16px 10px; display: flex; gap: 5px; }
.inventory-view-tabs a { padding: 5px 9px; color: var(--ink-3); background: #f3f5f4; border-radius: 8px; font-size: 12px; }
.inventory-view-tabs a.active { color: white; background: var(--forest-900); }
.inventory-view-tabs b { margin-right: 3px; padding: 1px 5px; color: var(--forest-900); background: var(--mint-400); border-radius: 8px; font-size: 12px; }
.inventory-table th, .inventory-table td { padding-right: 12px; padding-left: 12px; }
.inventory-table .product-cell { min-width: 205px; }
.inventory-quantity { font-size: 15px; }
.inventory-alert-row td { background: #fffaf8; }
.inventory-empty { border-top: 1px solid var(--line); }
.stock-alerts-panel { padding: 16px; }
.alerts-total { width: 28px; height: 28px; display: grid; place-items: center; color: #a55151; background: #fae7e7; border-radius: 9px; font-size: 13px; font-weight: 700; }
.stock-alert-list { margin-top: 9px; }
.stock-alert-list > a { min-height: 58px; display: flex; align-items: center; gap: 8px; border-bottom: 1px solid var(--line); }
.stock-alert-list > a:last-child { border: 0; }
.stock-alert-icon { width: 30px; height: 30px; display: grid; flex: 0 0 auto; place-items: center; border-radius: 9px; }
.stock-alert-icon svg { width: 14px; }
.stock-alert-icon.low { color: #a87525; background: #fff1d9; }
.stock-alert-icon.out { color: #ad5252; background: #fae7e7; }
.stock-alert-list > a > div { min-width: 0; flex: 1; }
.stock-alert-list strong, .stock-alert-list small { display: block; }
.stock-alert-list strong { overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.stock-alert-list small { margin-top: 3px; color: var(--ink-3); font-size: 12px; }
.stock-alert-list > a > b { color: var(--red); white-space: nowrap; font-size: 12px; }
.alerts-link { min-height: 34px; margin-top: 8px; display: flex; align-items: center; justify-content: center; gap: 5px; color: var(--mint-600); background: #f1f9f5; border-radius: 8px; font-size: 12px; font-weight: 600; }
.alerts-link svg { width: 12px; }
.alerts-clear { min-height: 200px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.alerts-clear svg { width: 31px; height: 31px; color: var(--mint-500); }
.alerts-clear strong { margin-top: 8px; font-size: 13px; }
.alerts-clear span { margin-top: 3px; color: var(--ink-3); font-size: 12px; }
.stock-movements-panel { padding: 17px; }
.stock-movements-panel > .card-head > svg { width: 18px; color: var(--mint-600); }
.movement-list { margin-top: 10px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 20px; }
.movement-list article { min-height: 58px; display: flex; align-items: center; gap: 9px; border-bottom: 1px solid var(--line); }
.movement-icon { width: 31px; height: 31px; display: grid; flex: 0 0 auto; place-items: center; border-radius: 9px; }
.movement-icon svg { width: 14px; }
.movement-icon.receipt { color: var(--mint-600); background: var(--mint-100); }
.movement-icon.issue { color: #b15a55; background: #fae9e7; }
.movement-icon.transfer { color: #5d75a7; background: #e9effa; }
.movement-list article > div { min-width: 0; flex: 1; }
.movement-list strong, .movement-list small { display: block; }
.movement-list article > div strong { overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.movement-list small { margin-top: 3px; color: var(--ink-3); font-size: 12px; }
.movement-list article > b { color: var(--ink-2); white-space: nowrap; font-size: 12px; }
.movement-list time { width: 68px; color: var(--ink-3); text-align: left; font-size: 12px; }
.check-field { min-height: 39px; display: flex; align-items: center; gap: 7px; color: var(--ink-2); font-size: 12px; }
.check-field input { width: 16px; height: 16px; accent-color: var(--mint-600); }
.product-warehouse-card { margin-top: 14px; padding: 19px; }
.warehouse-balance-grid { margin-top: 14px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.warehouse-balance-grid article { min-height: 66px; padding: 10px; display: flex; align-items: center; gap: 8px; background: #f8faf8; border: 1px solid var(--line); border-radius: 10px; }
.warehouse-balance-icon { width: 31px; height: 31px; display: grid; flex: 0 0 auto; place-items: center; color: var(--mint-600); background: var(--mint-100); border-radius: 8px; }
.warehouse-balance-icon svg { width: 15px; }
.warehouse-balance-grid article > div { min-width: 0; flex: 1; }
.warehouse-balance-grid strong, .warehouse-balance-grid small { display: block; }
.warehouse-balance-grid article > div strong { overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.warehouse-balance-grid article > div small { margin-top: 3px; color: var(--ink-3); font-size: 12px; }
.warehouse-balance-grid article > b { white-space: nowrap; font-size: 15px; }
.warehouse-balance-grid article > b small { display: inline; font-size: 12px; font-weight: 500; }

/* Accounts, permissions and shared solar designs */
.profile-mini form { margin: 0; }
.profile-logout { width: 31px; height: 31px; padding: 0; display: grid; place-items: center; color: #78978a; background: transparent; border: 0; border-radius: 8px; cursor: pointer; }
.profile-logout:hover { color: white; background: rgba(255,255,255,.07); }
.profile-logout svg { width: 17px; }

.auth-page { min-height: 100vh; background: #0b261d; }
.auth-shell { min-height: 100vh; display: grid; grid-template-columns: minmax(390px, .9fr) minmax(520px, 1.1fr); }
.auth-visual { padding: clamp(32px, 5vw, 76px); display: flex; flex-direction: column; position: relative; overflow: hidden; color: white; background: radial-gradient(circle at 15% 20%, rgba(54,207,143,.17), transparent 30%), radial-gradient(circle at 90% 85%, rgba(233,174,57,.11), transparent 30%), linear-gradient(145deg,#0a211a,#12392c); }
.auth-visual::after { content:""; position:absolute; width:420px; height:420px; left:-230px; bottom:-220px; border:1px solid rgba(86,214,158,.13); border-radius:50%; box-shadow:0 0 0 50px rgba(86,214,158,.025),0 0 0 100px rgba(86,214,158,.018); }
.auth-brand { display: flex; align-items: center; gap: 12px; position: relative; z-index: 2; }
.auth-brand > span { width: 47px; height: 47px; display:grid; place-items:center; color:var(--forest-950); background:var(--mint-400); border-radius:14px 14px 14px 5px; }
.auth-brand > span svg { width:26px; height:26px; }
.auth-brand strong,.auth-brand small { display:block; }
.auth-brand strong { font-size: 20px; }
.auth-brand small { margin-top:3px; color:#8fafa2; font-size:13px; }
.auth-copy { margin:auto 0; position:relative; z-index:2; }
.auth-copy h1 { margin:7px 0 13px; font-size:clamp(34px,4.2vw,58px); line-height:1.28; letter-spacing:-1.4px; }
.auth-copy p { max-width:610px; margin:0; color:#9db8ad; font-size:17px; line-height:1.9; }
.eyebrow.light { color:var(--mint-400); }
.auth-features { display:flex; flex-wrap:wrap; gap:10px; position:relative; z-index:2; }
.auth-features span { padding:9px 12px; display:flex; align-items:center; gap:7px; color:#b8cec5; background:rgba(255,255,255,.045); border:1px solid rgba(255,255,255,.07); border-radius:10px; font-size:13px; }
.auth-features svg { width:16px; color:var(--mint-400); }
.auth-form-wrap { padding:32px; display:grid; place-items:center; background:#f5f8f5; }
.auth-form { width:min(430px,100%); padding:34px; background:white; border:1px solid var(--line); border-radius:22px; box-shadow:0 24px 70px rgba(10,40,29,.1); }
.auth-icon { width:51px; height:51px; display:grid; place-items:center; color:var(--mint-600); background:var(--mint-100); border-radius:15px; }
.auth-icon svg { width:25px; height:25px; }
.auth-form h2 { margin:19px 0 3px; font-size:27px; }
.auth-form > p { margin:0 0 22px; color:var(--ink-3); font-size:14px; }
.auth-form .field { margin-top:14px; }
.input-with-icon { height:47px; padding:0 13px; display:flex; align-items:center; gap:9px; background:#fafcfa; border:1px solid var(--line); border-radius:10px; }
.input-with-icon:focus-within { border-color:var(--mint-500); box-shadow:0 0 0 3px rgba(41,189,130,.09); }
.input-with-icon svg { width:17px; color:var(--ink-3); }
.input-with-icon input { width:100%; height:100%; padding:0; outline:0; border:0; background:transparent; font-size:15px; }
.auth-submit { min-height:47px; margin-top:20px; font-size:15px; }
.auth-note { margin-top:15px; display:flex; align-items:center; justify-content:center; gap:6px; color:var(--ink-3); font-size:12px; }
.auth-note svg { width:14px; }
.auth-error { margin-bottom:16px; padding:10px 12px; display:flex; align-items:flex-start; gap:8px; color:#ad4d4d; background:#fcebea; border:1px solid #f3d0cd; border-radius:9px; font-size:13px; }
.auth-error svg { width:17px; flex:0 0 auto; }
.field-help { display:block; margin-top:6px; color:var(--ink-3); font-size:12px; line-height:1.5; }
.platform-login-link { margin-top:14px; padding-top:13px; display:flex; align-items:center; justify-content:center; gap:6px; color:#496c60; border-top:1px solid var(--line); font-size:13px; font-weight:600; }
.platform-login-link svg { width:15px; color:var(--mint-600); }

.users-intro { min-height:72px; padding:14px 18px; display:flex; align-items:center; justify-content:space-between; gap:20px; border-bottom:1px solid var(--line); }
.users-intro h2,.users-intro p { margin:0; }.users-intro h2{font-size:18px}.users-intro p{margin-top:3px;color:var(--ink-3);font-size:13px}.users-intro>span{padding:6px 9px;display:flex;align-items:center;gap:6px;color:var(--mint-600);background:var(--mint-100);border-radius:8px;font-size:12px;font-weight:600}.users-intro>span svg{width:15px}
.users-table .client-cell > div { min-width:0; }.users-table td { height:65px; }
.role-badge { padding:5px 9px; display:inline-flex; color:#4c6c60; background:#edf3f0; border-radius:14px; font-size:12px; font-weight:600; }
.role-badge.admin { color:#684d8f; background:#f0eafb; }.role-badge.viewer{color:#64727f;background:#edf1f4}.role-badge.sales{color:#47799a;background:#e7f2f8}.role-badge.warehouse{color:#92701e;background:#fcf2d9}.role-badge.accountant{color:#247b5b;background:#e5f5ed}
.permission-count { display:flex; align-items:center; gap:6px; color:var(--ink-2); }.permission-count svg{width:14px;color:var(--mint-600)}
.row-actions { display:flex; align-items:center; gap:3px; }.row-actions form{margin:0}.row-actions .table-more{border:1px solid var(--line);background:white}
.user-form-layout { display:grid; grid-template-columns:minmax(0,1fr) 290px; gap:16px; align-items:start; }.user-form-main{display:grid;gap:14px}.user-form-aside{display:grid;gap:14px;position:sticky;top:86px}.role-select{max-width:420px}.role-select>small{margin-top:5px;color:var(--ink-3);font-size:12px}
.permission-groups { margin-top:18px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }.permission-groups fieldset{margin:0;padding:13px;border:1px solid var(--line);border-radius:12px}.permission-groups legend{padding:0 6px;color:var(--ink);font-size:13px;font-weight:700}.permission-groups fieldset>div{display:grid;gap:6px}.permission-option input{position:absolute;opacity:0;pointer-events:none}.permission-option span{min-height:37px;padding:7px 9px;display:flex;align-items:center;gap:7px;color:var(--ink-2);background:#fafbfa;border:1px solid #edf1ef;border-radius:8px;cursor:pointer;font-size:12px}.permission-option span>svg{width:15px;height:15px;padding:2px;color:transparent;border:1px solid #bdc9c3;border-radius:4px}.permission-option input:checked+span{color:#186f51;background:#ebf8f2;border-color:#c7eadb}.permission-option input:checked+span>svg{color:white;background:var(--mint-600);border-color:var(--mint-600)}.permission-option input:disabled+span{cursor:not-allowed;opacity:.75}
.permission-note { margin-top:13px; padding:10px 12px; display:flex; align-items:flex-start; gap:8px; color:#566a61; background:#f3f7f5; border-radius:9px; font-size:12px; line-height:1.65; }.permission-note svg{width:16px;flex:0 0 auto;color:var(--mint-600)}
.password-card { padding:17px; }.password-card h3{margin:0;display:flex;align-items:center;gap:7px;font-size:15px}.password-card h3 svg{width:17px;color:var(--mint-600)}.password-card p{margin:6px 0 13px;color:var(--ink-3);font-size:12px;line-height:1.65}.password-card .field{display:none}.compact-modal{max-width:440px}

.platform-nav { color: #f1d994 !important; background: rgba(222,177,62,.06); border: 1px solid rgba(235,195,88,.08); }
.platform-nav svg { color: #efca67 !important; }
.platform-sidebar { background:radial-gradient(circle at 20% 0,rgba(113,102,194,.16),transparent 30%),linear-gradient(180deg,#111d2c,#142639 66%,#101c2b); }
.platform-sidebar .brand-mark { color:#182337; background:#a9b9ff; box-shadow:0 8px 24px rgba(115,133,220,.18); }
.platform-sidebar .nav-item.active { background:rgba(156,172,245,.13); box-shadow:inset -2px 0 #a9b9ff; }
.platform-sidebar .nav-item.active svg { color:#a9b9ff; }
.platform-scope-note { margin:8px 2px; padding:11px; display:flex; align-items:center; gap:9px; color:#ced8e8; background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.06); border-radius:10px; }
.platform-scope-note>i { width:18px; color:#a9b9ff; }.platform-scope-note span,.platform-scope-note strong,.platform-scope-note small{display:block}.platform-scope-note span{min-width:0}.platform-scope-note strong{font-size:12px}.platform-scope-note small{margin-top:3px;color:#71849b;font-size:11px}
.platform-breadcrumb { display:flex; align-items:center; gap:7px; color:var(--ink-3); font-size:13px; }.platform-breadcrumb svg{width:14px}.platform-breadcrumb strong{color:var(--ink)}
.platform-console-badge { height:35px; padding:0 10px; display:flex; align-items:center; gap:6px; color:#59669e; background:#eef0fb; border:1px solid #dde1f5; border-radius:9px; font-size:12px; font-weight:600; }.platform-console-badge svg{width:15px}
.platform-hero { padding:19px 20px; align-items:center; background:linear-gradient(120deg,#fff,#f5f7ff); border:1px solid #e3e7f3; border-radius:16px; }
.platform-separation-grid { margin-bottom:14px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }.separation-card{padding:16px;display:flex;align-items:flex-start;gap:11px}.separation-card>span{width:39px;height:39px;display:grid;flex:0 0 auto;place-items:center;color:#5d6db1;background:#edf0ff;border-radius:10px}.separation-card>span svg{width:19px}.separation-card h2{margin:0;font-size:15px}.separation-card p{margin:5px 0 0;color:var(--ink-3);font-size:12px;line-height:1.7}
.platform-recent>.card-head { padding:17px 19px 12px; }
.organization-profile-grid { margin-bottom:14px; display:grid; grid-template-columns:1.35fr .65fr; gap:12px; }.database-profile,.login-profile{min-height:130px;padding:18px;display:flex;align-items:center;gap:13px}.database-profile>div:nth-child(2),.login-profile>div{min-width:0;flex:1}.database-profile small,.login-profile small{color:var(--ink-3);font-size:12px}.database-profile h2,.login-profile h2{margin:5px 0;font-size:17px;overflow-wrap:anywhere}.database-profile p,.login-profile p{margin:0;color:var(--ink-3);font-size:12px;line-height:1.65}.database-status-icon,.login-profile>span{width:46px;height:46px;display:grid;flex:0 0 auto;place-items:center;color:#5868a8;background:#edf0ff;border-radius:12px}.database-status-icon svg,.login-profile>span svg{width:21px}.database-profile>.status{align-self:flex-start}.block-muted{display:block;margin-top:3px;color:var(--ink-3);font-size:12px}.scope-chip{display:flex;align-items:center;gap:5px;padding:5px 9px;color:#50665d;background:#eef4f1;border-radius:14px;font-size:12px}.scope-chip svg{width:14px}
.tenant-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; }
.tenant-card { padding: 17px; }
.tenant-card.suspended { opacity: .72; }
.tenant-card > header { display: flex; align-items: center; gap: 10px; }
.tenant-logo { width: 43px; height: 43px; display: grid; flex: 0 0 auto; place-items: center; color: white; background: linear-gradient(135deg,var(--forest-900),var(--mint-600)); border-radius: 12px; font-size: 17px; font-weight: 700; }
.tenant-card > header > div { min-width: 0; flex: 1; }.tenant-card > header h2,.tenant-card > header p{margin:0}.tenant-card > header h2{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:16px}.tenant-card > header p{margin-top:3px;color:var(--ink-3);font-size:12px}.tenant-card > header>.status{align-self:flex-start}
.tenant-plan { margin: 14px 0 11px; padding: 9px 10px; display: flex; align-items: center; justify-content: space-between; gap: 10px; color: #356b57; background: #f1f8f4; border-radius: 8px; font-size: 12px; }.tenant-plan span{display:flex;align-items:center;gap:5px}.tenant-plan svg{width:15px;color:var(--mint-600)}.tenant-plan small{color:var(--ink-3);font-size:12px}
.tenant-usage { display: grid; gap: 8px; }.tenant-usage>div{display:grid;grid-template-columns:1fr auto;gap:4px;align-items:center}.tenant-usage span,.tenant-usage strong{font-size:12px}.tenant-usage span{color:var(--ink-3)}.tenant-usage strong{direction:ltr}.tenant-usage i{height:5px;grid-column:1/-1;position:relative;overflow:hidden;background:#edf1ef;border-radius:4px}.tenant-usage i::after{content:"";width:var(--usage);height:100%;display:block;background:linear-gradient(90deg,var(--mint-500),#73d8ad);border-radius:4px}
.tenant-card-meta { margin-top: 13px; padding-top: 11px; display: flex; justify-content: space-between; gap: 8px; color: var(--ink-3); border-top: 1px solid var(--line); font-size: 12px; }.tenant-card-meta span{display:flex;align-items:center;gap:5px}.tenant-card-meta svg{width:14px;color:var(--mint-600)}
.tenant-card > footer { margin-top: 13px; display: flex; flex-wrap: wrap; gap: 6px; }.tenant-card>footer form{margin:0}.tenant-card>footer .button{min-height:36px;padding:0 10px;font-size:12px}.danger-text{color:#ae5757!important}
.tenant-form .form-main { display: grid; gap: 14px; }

.share-security-note { margin-bottom:14px; padding:14px 17px; display:flex; align-items:center; gap:11px; color:#27664f; background:#eaf8f1; border:1px solid #cfeadd; border-radius:13px; }.share-security-note>span{width:37px;height:37px;display:grid;place-items:center;flex:0 0 auto;background:white;border-radius:10px}.share-security-note svg{width:19px;color:var(--mint-600)}.share-security-note strong,.share-security-note p{display:block;margin:0}.share-security-note p{margin-top:2px;color:#5c7a6e;font-size:13px}
.shared-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; }.shared-card{padding:17px}.shared-card.disabled{opacity:.68}.shared-card-head{display:flex;align-items:center;gap:10px}.share-icon{width:39px;height:39px;display:grid;place-items:center;flex:0 0 auto;color:#93741d;background:#fff4d2;border-radius:10px}.share-icon svg{width:19px}.shared-card-head>div{min-width:0;flex:1}.shared-card-head strong,.shared-card-head small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shared-card-head>div>strong{font-size:15px}.shared-card-head small{margin-top:3px;color:var(--ink-3);font-size:12px}.shared-metrics{margin:14px 0;display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:10px}.shared-metrics div{padding:9px;border-left:1px solid var(--line)}.shared-metrics div:last-child{border-left:0}.shared-metrics small,.shared-metrics strong{display:block}.shared-metrics small{color:var(--ink-3);font-size:12px}.shared-metrics strong{margin-top:3px;font-size:13px}.share-url{height:39px;padding-right:11px;display:flex;align-items:center;direction:ltr;color:#597067;background:#f7f9f7;border:1px solid var(--line);border-radius:8px;font-family:ui-monospace,monospace;font-size:12px}.share-url>span{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.share-url button{width:38px;height:100%;display:grid;place-items:center;color:var(--mint-600);background:transparent;border:0;border-left:1px solid var(--line);cursor:pointer}.share-url button svg{width:15px}.shared-actions{margin-top:11px;display:flex;flex-wrap:wrap;gap:6px}.shared-actions form{margin:0}.empty-shares{grid-column:1/-1;min-height:330px;padding:35px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.empty-shares>svg{width:40px;height:40px;color:var(--mint-500)}.empty-shares h2{margin:13px 0 4px;font-size:20px}.empty-shares p{margin:0 0 17px;color:var(--ink-3)}
.share-design { width:100%; min-height:58px; margin-top:9px; padding:10px 13px; display:flex; align-items:center; gap:10px; text-align:right; color:#183d31; background:#e8f8f0; border:1px solid #c8eadb; border-radius:11px; cursor:pointer; }.share-design>svg{width:20px;color:var(--mint-600)}.share-design>span{flex:1}.share-design b,.share-design small{display:block}.share-design b{font-size:14px}.share-design small{margin-top:2px;color:#5a7e6f;font-size:12px}.share-design:disabled{cursor:wait;opacity:.75}.share-design:disabled>svg{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.share-result { margin-top:9px; padding:12px; color:#def7eb; background:rgba(255,255,255,.075); border:1px solid rgba(255,255,255,.1); border-radius:11px; }.share-result>div{display:flex;align-items:center;gap:7px}.share-result>div>svg{width:18px;color:var(--mint-400)}.share-result>div span{display:flex;flex-direction:column}.share-result>div small{margin-top:2px;color:#8eb4a5;font-size:12px}.share-result label{height:38px;margin-top:9px;display:flex;direction:ltr;background:#f9fffc;border-radius:8px;overflow:hidden}.share-result input{min-width:0;flex:1;padding:0 9px;direction:ltr;border:0;outline:0;color:#355c4d;background:transparent;font-size:12px}.share-result label button{width:62px;color:white;background:var(--mint-600);border:0;cursor:pointer;font-size:12px}.share-result>a{margin-top:8px;display:inline-flex;align-items:center;gap:5px;color:var(--mint-400);font-size:12px}.share-result>a svg{width:14px}

.public-share-page { min-height:100vh; background:#f2f6f3; }.public-share-header{height:78px;padding:0 max(24px,calc((100vw - 1080px)/2));display:flex;align-items:center;justify-content:space-between;gap:20px;color:white;background:var(--forest-950)}.public-share-header>.auth-brand>span{width:40px;height:40px}.public-share-header>.auth-brand strong{font-size:17px}.public-share-header>span{display:flex;align-items:center;gap:6px;color:#a9c5ba;font-size:13px}.public-share-header>span svg{width:16px;color:var(--mint-400)}.public-share-main{width:min(1080px,calc(100% - 32px));margin:0 auto;padding:34px 0 46px}.public-design-head{margin-bottom:18px;display:flex;align-items:flex-end;justify-content:space-between;gap:25px}.public-design-head h1{margin:0;font-size:31px}.public-design-head p{max-width:750px;margin:6px 0 0;color:var(--ink-2);line-height:1.75}.public-design-date{padding:10px 13px;display:flex;align-items:center;gap:8px;white-space:nowrap;background:white;border:1px solid var(--line);border-radius:10px}.public-design-date svg{width:18px;color:var(--mint-600)}.public-design-date span,.public-design-date strong{display:block}.public-design-date span{color:var(--ink-3);font-size:12px}.public-design-date strong{margin-top:2px;color:var(--ink);font-size:13px}.public-result-card{overflow:hidden;background:white;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}.public-kpis{padding:17px;display:grid;grid-template-columns:repeat(3,1fr);gap:10px;background:linear-gradient(135deg,#102f25,#173f32)}.public-kpis article{padding:14px;display:flex;align-items:center;gap:10px;color:white;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.07);border-radius:11px}.public-kpis article>span{width:36px;height:36px;display:grid;place-items:center;color:var(--mint-400);background:rgba(86,214,158,.09);border-radius:9px}.public-kpis svg{width:18px}.public-kpis small,.public-kpis strong{display:block}.public-kpis small{color:#8fb2a4;font-size:12px}.public-kpis strong{margin-top:3px;font-size:17px}.public-bom-head{padding:18px 20px 12px;display:flex;align-items:center;justify-content:space-between;gap:15px}.public-bom-head h2,.public-bom-head p{margin:0}.public-bom-head h2{font-size:18px}.public-bom-head p{margin-top:3px;color:var(--ink-3);font-size:12px}.public-bom-head>span{padding:4px 8px;color:var(--mint-600);background:var(--mint-100);border-radius:14px;font-size:12px;font-weight:600}.public-bom{padding:0 20px}.public-bom article{min-height:66px;display:grid;grid-template-columns:38px minmax(0,1fr) 55px 125px;align-items:center;gap:10px;border-bottom:1px solid var(--line)}.public-bom article>div strong,.public-bom article>div small{display:block}.public-bom article>div strong{font-size:13px}.public-bom article>div small{margin-top:3px;color:var(--ink-3);font-size:12px}.public-bom article>strong{text-align:left;font-size:13px}.public-qty b,.public-qty small{display:block}.public-qty small{color:var(--ink-3);font-size:12px}.public-costs{margin:17px 20px 20px;padding:13px 15px;background:#f5f8f6;border-radius:11px}.public-costs>div{min-height:32px;display:flex;align-items:center;justify-content:space-between;color:var(--ink-2);font-size:13px}.public-costs>div:last-child{margin-top:6px;padding-top:10px;color:var(--ink);border-top:1px solid var(--line);font-size:16px}.public-costs>div:last-child strong{color:var(--mint-600);font-size:19px}.public-disclaimer{margin-top:13px;padding:13px 15px;display:flex;align-items:center;gap:10px;color:var(--ink-2);background:#fff9e9;border:1px solid #f2e3ba;border-radius:11px}.public-disclaimer>svg{width:18px;flex:0 0 auto;color:#a57a19}.public-disclaimer p{margin:0;flex:1;font-size:12px;line-height:1.65}.public-share-footer{min-height:52px;padding:0 max(24px,calc((100vw - 1080px)/2));display:flex;align-items:center;justify-content:space-between;color:#899890;border-top:1px solid var(--line);font-size:12px}.share-unavailable{min-height:calc(100vh - 230px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.share-unavailable>span{width:64px;height:64px;display:grid;place-items:center;color:#a05959;background:#f8e9e9;border-radius:18px}.share-unavailable svg{width:30px;height:30px}.share-unavailable h1{margin:16px 0 4px;font-size:27px}.share-unavailable p{margin:0;color:var(--ink-3)}

/* Smart datasheet lookup */
.datasheet-assistant { margin-bottom:16px;padding:14px;background:linear-gradient(135deg,#f0f8f4,#f7f8fb);border:1px solid #d5e7df;border-radius:13px; }
.datasheet-assistant.has-source { border-color:#aadbc6;box-shadow:inset 0 0 0 1px rgba(41,189,130,.06); }
.datasheet-assistant-head { display:flex;align-items:center;gap:10px; }.datasheet-assistant-head>span{width:39px;height:39px;display:grid;flex:0 0 auto;place-items:center;color:#1d7e5b;background:white;border:1px solid #d9e8e1;border-radius:10px}.datasheet-assistant-head>span svg{width:19px}.datasheet-assistant-head>div{min-width:0;flex:1}.datasheet-assistant-head strong,.datasheet-assistant-head p{display:block;margin:0}.datasheet-assistant-head strong{font-size:14px}.datasheet-assistant-head p{margin-top:3px;color:var(--ink-3);font-size:11px;line-height:1.65}.datasheet-assistant-head>.button{white-space:nowrap}
.smart-name-input { display:flex;border:1px solid #dfe6e2;border-radius:8px;overflow:hidden;transition:.15s }.smart-name-input:focus-within{border-color:var(--mint-500);box-shadow:0 0 0 3px rgba(41,189,130,.08)}.field .smart-name-input>input{height:38px;flex:1;border:0;border-radius:0;box-shadow:none}.smart-name-input>button{width:42px;display:grid;flex:0 0 auto;place-items:center;color:var(--mint-600);background:#eff8f3;border:0;border-right:1px solid #dce9e3;cursor:pointer}.smart-name-input>button:hover{color:white;background:var(--mint-600)}.smart-name-input>button svg{width:17px}
.datasheet-saved,.datasheet-progress,.datasheet-error { margin-top:11px;padding:10px 12px;display:flex;align-items:center;gap:9px;border-radius:9px }.datasheet-saved{color:#246b51;background:#e6f5ed;border:1px solid #c7e7d8}.datasheet-saved>svg,.datasheet-progress>svg,.datasheet-error>svg{width:18px;flex:0 0 auto}.datasheet-saved>span,.datasheet-progress>span,.datasheet-error>span{min-width:0;flex:1}.datasheet-saved strong,.datasheet-saved small,.datasheet-progress strong,.datasheet-progress small,.datasheet-error strong,.datasheet-error small{display:block}.datasheet-saved strong,.datasheet-progress strong,.datasheet-error strong{font-size:12px}.datasheet-saved small,.datasheet-progress small,.datasheet-error small{margin-top:2px;color:#6d8078;font-size:10px}.datasheet-saved>a{display:flex;align-items:center;gap:4px;color:var(--mint-600);font-size:11px;font-weight:600}.datasheet-saved>a svg{width:13px}.datasheet-progress{color:#5566a2;background:#eef0fb;border:1px solid #dcdff1}.datasheet-progress>svg{animation:spin 1s linear infinite}.datasheet-error{color:#a64e4e;background:#faeaea;border:1px solid #efcece}.datasheet-error small{color:#8f6767}
.datasheet-results { margin-top:12px;padding-top:12px;border-top:1px solid #dce8e2 }.datasheet-results-head{margin-bottom:9px;display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.datasheet-results-head strong,.datasheet-results-head small{display:block}.datasheet-results-head strong{font-size:13px}.datasheet-results-head small{margin-top:3px;color:var(--ink-3);font-size:10px}.datasheet-warning{max-width:52%;margin:0;padding:6px 8px;color:#80651f;background:#fff5d9;border-radius:7px;font-size:10px;line-height:1.6}
.datasheet-candidates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.datasheet-candidate{min-width:0;padding:11px;background:white;border:1px solid var(--line);border-radius:10px;transition:.18s}.datasheet-candidate:only-child{grid-column:1/-1}.datasheet-candidate.recommended{border-color:#b9dfce;box-shadow:0 4px 13px rgba(26,108,78,.05)}.datasheet-candidate.applied{border-color:var(--mint-500);box-shadow:0 0 0 2px rgba(41,189,130,.1)}.datasheet-candidate-head{display:flex;align-items:center;gap:8px}.datasheet-source-icon{width:31px;height:31px;display:grid;flex:0 0 auto;place-items:center;color:#4d689b;background:#edf1f9;border-radius:8px}.datasheet-source-icon svg{width:15px}.datasheet-candidate-head>div{min-width:0;flex:1}.datasheet-candidate-head>div>strong,.datasheet-candidate-head>div>small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.datasheet-candidate-head>div>strong{font-size:11px}.datasheet-candidate-head>div>small{margin-top:2px;color:var(--ink-3);font-size:9px}.datasheet-confidence{padding:3px 6px;border-radius:10px;font-size:10px;font-style:normal;font-weight:700}.datasheet-confidence.high{color:#1f805c;background:#e4f5ed}.datasheet-confidence.medium{color:#8e6a19;background:#fbf2da}.datasheet-confidence.low{color:#a34f4f;background:#fae8e8}
.datasheet-signals{margin:8px 0;display:flex;flex-wrap:wrap;gap:5px}.datasheet-signals span{padding:3px 6px;display:flex;align-items:center;gap:3px;border-radius:10px;font-size:9px}.datasheet-signals svg{width:11px}.datasheet-signals .verified{color:#27785a;background:#e8f5ef}.datasheet-signals .warning{color:#9b6f1b;background:#fbf2d9}.datasheet-spec-preview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.datasheet-spec-preview>span{min-width:0;padding:5px 6px;background:#f5f7f6;border-radius:6px}.datasheet-spec-preview small,.datasheet-spec-preview strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.datasheet-spec-preview small{color:var(--ink-3);font-size:8px}.datasheet-spec-preview strong{margin-top:2px;font-size:9px}.datasheet-candidate-actions{margin-top:9px;padding-top:8px;display:flex;justify-content:flex-end;gap:5px;border-top:1px solid #edf1ef}.datasheet-candidate-actions .button{min-height:31px;padding:0 8px;font-size:10px}
.datasheet-proof-card{margin:13px 0;padding:17px;display:flex;align-items:center;gap:13px;background:linear-gradient(135deg,#fff,#f1f9f5)}.datasheet-proof-icon{width:48px;height:48px;display:grid;flex:0 0 auto;place-items:center;color:#1e805c;background:#e2f5ec;border-radius:13px}.datasheet-proof-icon svg{width:23px}.datasheet-proof-card>div{min-width:0;flex:1}.datasheet-proof-card .eyebrow{margin:0;font-size:10px}.datasheet-proof-card h2,.datasheet-proof-card p{margin:0}.datasheet-proof-card h2{font-size:16px}.datasheet-proof-card p{margin-top:3px;color:var(--ink-3);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.datasheet-proof-meta{margin-top:9px;display:flex;align-items:center;flex-wrap:wrap;gap:7px}.datasheet-proof-meta>span:not(.status){display:flex;align-items:center;gap:4px;color:#65756e;font-size:10px}.datasheet-proof-meta svg{width:12px;color:var(--mint-600)}.datasheet-proof-card>.button{white-space:nowrap}

/* Iraqi solar market catalog */
.catalog-prefill-note{margin-top:11px;padding:10px 12px;display:flex;align-items:center;gap:9px;color:#365b86;background:#edf4fd;border:1px solid #d5e4f4;border-radius:9px}.catalog-prefill-note>svg{width:18px;flex:0 0 auto;color:#4779af}.catalog-prefill-note strong,.catalog-prefill-note small{display:block}.catalog-prefill-note strong{font-size:12px}.catalog-prefill-note small{margin-top:2px;color:#68809a;font-size:10px}
.catalog-smart-input{position:relative;overflow:visible}.catalog-suggestions{width:100%;max-height:390px;position:absolute;z-index:24;top:calc(100% + 7px);right:0;overflow:auto;background:white;border:1px solid #cfded7;border-radius:11px;box-shadow:0 15px 35px rgba(13,46,34,.16)}.catalog-suggestions-head{padding:9px 11px;display:flex;align-items:center;justify-content:space-between;color:#52645d;background:#f5f9f7;border-bottom:1px solid var(--line)}.catalog-suggestions-head strong{font-size:11px}.catalog-suggestions-head small{font-size:10px}.catalog-suggestion{width:100%;min-height:57px;padding:8px 10px;display:flex;align-items:center;gap:9px;text-align:right;color:var(--ink);background:white;border:0;border-bottom:1px solid #edf1ef;cursor:pointer}.catalog-suggestion:hover,.catalog-suggestion:focus{outline:0;background:#f0f8f4}.catalog-suggestion>span:first-child{width:32px;height:32px;display:grid;flex:0 0 auto;place-items:center;color:var(--mint-600);background:#e8f6ef;border-radius:8px}.catalog-suggestion>span:first-child svg{width:15px}.catalog-suggestion>span:nth-child(2){min-width:0;flex:1}.catalog-suggestion strong,.catalog-suggestion small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.catalog-suggestion strong{font-size:11px}.catalog-suggestion small{margin-top:3px;color:var(--ink-3);font-size:9px;direction:ltr;text-align:right}.catalog-suggestion em{padding:3px 6px;color:#247657;background:#e3f4eb;border-radius:9px;font-size:9px;font-style:normal;font-weight:700}.catalog-suggestion em.review{color:#946b1b;background:#fbf0d2}.catalog-suggestions-footer{min-height:36px;display:flex;align-items:center;justify-content:center;gap:5px;color:var(--mint-600);background:#f7faf8;font-size:10px;font-weight:600}.catalog-suggestions-footer svg{width:13px}
.catalog-scope-note{margin-bottom:13px;padding:13px 16px;display:flex;align-items:center;gap:11px;color:#285b48;background:linear-gradient(135deg,#e9f7f0,#f4f8fc);border:1px solid #d1e9de;border-radius:13px}.catalog-scope-note>span{width:39px;height:39px;display:grid;flex:0 0 auto;place-items:center;color:var(--mint-600);background:white;border-radius:10px}.catalog-scope-note>span svg{width:19px}.catalog-scope-note>div{min-width:0;flex:1}.catalog-scope-note strong,.catalog-scope-note p{display:block;margin:0}.catalog-scope-note strong{font-size:13px}.catalog-scope-note p{margin-top:3px;color:#617a70;font-size:11px;line-height:1.6}.catalog-scope-note>em{padding:5px 8px;white-space:nowrap;color:#526c62;background:white;border-radius:8px;font-size:10px;font-style:normal}.catalog-panel{overflow:visible}.catalog-filter{width:100%;display:grid;grid-template-columns:minmax(240px,1fr) repeat(3,minmax(135px,auto)) auto}.catalog-filter .search-box{width:auto}.catalog-result-line{padding:0 2px 12px;display:flex;align-items:center;justify-content:space-between;color:var(--ink-3);font-size:11px}.catalog-result-line a{color:var(--mint-600);font-weight:600}.catalog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.catalog-card{min-width:0;padding:14px;display:flex;flex-direction:column;background:white;border:1px solid var(--line);border-radius:12px;box-shadow:0 4px 14px rgba(20,52,40,.025)}.catalog-card.needs-review{border-color:#eadcb8;background:#fffdf7}.catalog-card-head{display:flex;align-items:flex-start;gap:10px}.catalog-card-head>div{min-width:0;flex:1}.catalog-card-head small,.catalog-card-head h2,.catalog-card-head code{display:block;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.catalog-card-head small{color:var(--ink-3);font-size:10px}.catalog-card-head h2{margin-top:3px;font-size:13px}.catalog-card-head code{margin-top:4px;color:#4f6c60;background:transparent;font-size:10px}.catalog-card-head>.status{flex:0 0 auto}.catalog-specs{margin:12px 0 9px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.catalog-specs>span{min-width:0;padding:6px 7px;background:#f5f8f6;border-radius:7px}.catalog-specs small,.catalog-specs strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.catalog-specs small{color:var(--ink-3);font-size:8px}.catalog-specs strong{margin-top:2px;font-size:10px}.catalog-note{margin:0 0 9px;padding:7px 8px;display:flex;align-items:flex-start;gap:5px;color:#80651f;background:#fff5d9;border-radius:7px;font-size:9px;line-height:1.6}.catalog-note svg{width:12px;flex:0 0 auto;margin-top:2px}.catalog-evidence{display:flex;align-items:center;flex-wrap:wrap;gap:5px}.catalog-evidence span,.catalog-evidence a{padding:3px 6px;display:flex;align-items:center;gap:3px;color:#687870;background:#f1f4f2;border-radius:9px;font-size:9px}.catalog-evidence .official{color:#21795a;background:#e5f5ed}.catalog-evidence a{color:#526c91}.catalog-evidence svg{width:10px}.catalog-card-actions{margin-top:auto;padding-top:11px;display:flex;align-items:center;justify-content:flex-end;gap:6px}.catalog-card-actions .button{min-height:32px;padding:0 9px;font-size:10px}.catalog-blocked{display:flex;align-items:center;gap:4px;color:#8b6c29;font-size:9px}.catalog-blocked svg{width:12px}.catalog-sources{margin-top:13px;padding:17px}.catalog-sources>.section-title{margin-bottom:12px}.catalog-sources>.section-title>span svg{width:18px}.catalog-sources>div:last-child{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.catalog-sources>div:last-child>a{min-height:56px;padding:9px 10px;display:grid;grid-template-columns:1fr auto;align-items:center;color:var(--ink-2);background:#f7f9f8;border:1px solid var(--line);border-radius:9px}.catalog-sources a strong,.catalog-sources a small{display:block}.catalog-sources a strong{font-size:11px}.catalog-sources a small{margin-top:3px;color:var(--ink-3);font-size:9px}.catalog-sources a>svg{width:13px;color:var(--mint-600);grid-column:2;grid-row:1/3}
.catalog-scope-note>em,.catalog-card-head small,.catalog-card-head code,.catalog-specs small,.catalog-specs strong,.catalog-note,.catalog-evidence span,.catalog-evidence a,.catalog-card-actions .button,.catalog-blocked,.catalog-sources a small{font-size:11px}
.catalog-completeness-line{margin-top:10px;padding:7px 8px;display:flex;align-items:center;justify-content:space-between;color:#587065;background:#f2f7f4;border-radius:8px;font-size:10px}.catalog-completeness-line span{display:flex;align-items:center;gap:4px}.catalog-completeness-line svg{width:12px;color:var(--mint-600)}.catalog-card.needs-review .catalog-completeness-line{color:#826824;background:#fff5d9}
.catalog-detail-heading code{padding:2px 5px;color:#426556;background:#edf5f1;border-radius:5px}.catalog-verification{margin-bottom:12px;padding:13px 15px;display:flex;align-items:center;gap:11px;border:1px solid;border-radius:12px}.catalog-verification>span{width:38px;height:38px;display:grid;flex:0 0 auto;place-items:center;background:white;border-radius:9px}.catalog-verification>span svg{width:19px}.catalog-verification>div{min-width:0;flex:1}.catalog-verification strong,.catalog-verification p{display:block;margin:0}.catalog-verification strong{font-size:13px}.catalog-verification p{margin-top:3px;font-size:10px;line-height:1.6}.catalog-verification>em{padding:4px 7px;white-space:nowrap;background:white;border-radius:7px;font-size:9px;font-style:normal}.catalog-verification.is-complete{color:#24624b;background:#edf8f2;border-color:#cfe9dc}.catalog-verification.is-complete>span{color:#16835c}.catalog-verification.is-guarded{color:#785d18;background:#fff8e7;border-color:#ecdcae}.catalog-verification.is-guarded>span{color:#a67b15}.catalog-review-box{margin-bottom:12px;padding:11px 13px;display:flex;align-items:flex-start;gap:8px;color:#725b21;background:#fffaf0;border:1px solid #eee1bd;border-radius:10px}.catalog-review-box>svg{width:17px;flex:0 0 auto;margin-top:1px}.catalog-review-box strong,.catalog-review-box p{display:block;margin:0}.catalog-review-box strong{font-size:11px}.catalog-review-box p{margin-top:3px;font-size:10px;line-height:1.7}.catalog-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:12px;align-items:start}.catalog-spec-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.catalog-spec-group{padding:14px}.catalog-spec-group .section-title{margin-bottom:10px}.catalog-spec-group .section-title>span svg{width:16px}.catalog-spec-table{margin:0}.catalog-spec-table>div{min-height:36px;padding:7px 5px;display:grid;grid-template-columns:minmax(110px,.8fr) minmax(0,1.2fr) 17px;align-items:center;gap:7px;border-top:1px solid #edf1ef}.catalog-spec-table>div:first-child{border-top:0}.catalog-spec-table dt{color:var(--ink-3);font-size:10px}.catalog-spec-table dd{margin:0;color:var(--ink);font-size:10px;font-weight:700;overflow-wrap:anywhere}.catalog-spec-table a{color:var(--mint-600)}.catalog-spec-table a svg{width:12px}.catalog-spec-table .status{font-size:8px}.catalog-spec-group.declared-gaps{grid-column:1/-1;border-color:#eadcb8}.catalog-detail-aside{position:sticky;top:78px;display:grid;gap:10px}.catalog-detail-aside>.panel-card{padding:14px}.catalog-detail-aside .section-title{margin-bottom:10px}.catalog-source-stack{display:grid;gap:6px}.catalog-source-stack>a{padding:8px;display:flex;align-items:center;gap:7px;color:var(--ink-2);background:#f6f9f7;border:1px solid var(--line);border-radius:8px}.catalog-source-stack>a>svg:first-child{width:16px;color:var(--mint-600)}.catalog-source-stack>a>span{min-width:0;flex:1}.catalog-source-stack strong,.catalog-source-stack small{display:block;overflow:hidden;text-overflow:ellipsis}.catalog-source-stack strong{font-size:10px}.catalog-source-stack small{margin-top:3px;color:var(--ink-3);font-size:9px}.catalog-source-stack>a>svg:last-child{width:11px}.catalog-method-note{padding:10px 11px;display:flex;align-items:flex-start;gap:7px;color:#536d63;background:#f1f6f3;border-radius:9px}.catalog-method-note svg{width:15px;flex:0 0 auto}.catalog-method-note p{margin:0;font-size:9px;line-height:1.7}

/* CRM */
.button.whatsapp { color:#187b55; background:#e8f8f0; border-color:#cceadb; }
.crm-stage-strip { margin:13px 0; padding:7px; display:grid; grid-template-columns:repeat(6,minmax(105px,1fr)); gap:6px; overflow-x:auto; background:#e9efeb; border-radius:13px; }
.crm-stage-strip a { min-width:105px; min-height:53px; padding:9px 11px; display:flex; align-items:center; justify-content:space-between; color:#63736c; background:rgba(255,255,255,.65); border:1px solid transparent; border-radius:9px; font-size:12px; }
.crm-stage-strip a strong { width:25px; height:25px; display:grid; place-items:center; color:#516159; background:white; border-radius:8px; }
.crm-stage-strip a.active { color:#174c3a; background:white; border-color:#cce2d8; box-shadow:0 3px 10px rgba(18,57,43,.06); }
.crm-stage-strip a.active strong { color:white; background:var(--forest-900); }
.crm-dashboard-layout { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(295px,.65fr); gap:13px; align-items:start; }
.crm-customers-panel { min-width:0; }
.crm-toolbar { border-bottom:1px solid var(--line); }
.crm-toolbar .search-filter { flex:1; }
.crm-toolbar .search-box { max-width:360px; flex:1; }
.crm-table-heading { padding:14px 16px 10px; }
.crm-table-heading h2,.crm-table-heading p { margin:0; }.crm-table-heading h2{font-size:17px}.crm-table-heading p{margin-top:3px;color:var(--ink-3);font-size:12px}
.crm-client { min-width:185px; }.crm-client:hover strong{color:var(--mint-600)}
.crm-stage-badge { padding:5px 8px; display:inline-flex; align-items:center; white-space:nowrap; color:#576761; background:#eef2f0; border-radius:14px; font-size:12px; font-weight:600; }
.crm-stage-badge::before { content:""; width:5px; height:5px; margin-left:5px; background:currentColor; border-radius:50%; }
.crm-stage-badge.stage-0,.stage-select.stage-0 { color:#5c769a; background:#eaf1f8; }.crm-stage-badge.stage-1,.stage-select.stage-1{color:#866a1f;background:#f9f1d8}.crm-stage-badge.stage-2,.stage-select.stage-2{color:#705e9e;background:#eeeaf8}.crm-stage-badge.stage-3,.stage-select.stage-3{color:#237b59;background:#e5f5ed}.crm-stage-badge.stage-4,.stage-select.stage-4{color:#7f8884;background:#eef1ef}.crm-stage-badge.stage-5,.stage-select.stage-5{color:#a65050;background:#fae9e9}
.followup-date { display:inline-flex; align-items:center; gap:5px; white-space:nowrap; color:#5d6d66; font-size:12px; }.followup-date svg{width:14px}.followup-date.overdue{color:#b65353;font-weight:600}
.crm-side-stack { display:grid; gap:13px; }.crm-side-card{padding:16px}.crm-side-card>.card-head{margin-bottom:10px}
.crm-followup-list { display:grid; }.crm-followup{min-height:63px;padding:9px 0;display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:8px;border-bottom:1px solid #edf1ef}.crm-followup:last-child{border-bottom:0}.crm-followup form{margin:0}.crm-followup button,.crm-profile-tasks button{width:24px;height:24px;padding:0;display:grid;place-items:center;color:#94a19b;background:transparent;border:0;cursor:pointer}.crm-followup button:hover,.crm-profile-tasks button:hover{color:var(--mint-600)}.crm-followup button:disabled{cursor:default}.crm-followup button svg{width:17px}.crm-followup>div{min-width:0}.crm-followup strong,.crm-followup small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crm-followup strong{font-size:12px}.crm-followup small{margin-top:3px;color:var(--ink-3);font-size:11px}.crm-followup time{color:#6e7a75;font-size:11px}.crm-followup.overdue time{color:var(--red);font-weight:600}
.crm-mini-timeline{display:grid}.crm-mini-timeline article{min-height:56px;padding:8px 0;display:flex;align-items:center;gap:9px;border-bottom:1px solid #edf1ef}.crm-mini-timeline article:last-child{border-bottom:0}.activity-icon{width:31px;height:31px;display:grid;flex:0 0 auto;place-items:center;color:#2d8061;background:#e7f5ee;border-radius:9px}.activity-icon svg{width:15px}.crm-mini-timeline article>div{min-width:0}.crm-mini-timeline strong,.crm-mini-timeline small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crm-mini-timeline strong{font-size:12px}.crm-mini-timeline small{margin-top:3px;color:var(--ink-3);font-size:11px}
.crm-empty { min-height:300px;padding:35px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center }.crm-empty.compact{min-height:230px}.crm-empty>span{width:52px;height:52px;display:grid;place-items:center;color:#398466;background:#e6f5ed;border-radius:15px}.crm-empty>span svg{width:26px}.crm-empty h3{margin:13px 0 4px;font-size:17px}.crm-empty p{margin:0 0 15px;color:var(--ink-3);font-size:13px}

.crm-customer-form { display:grid; grid-template-columns:minmax(0,1fr) 285px; gap:14px; align-items:start; }.crm-form-main{display:grid;gap:14px}.crm-customer-form .form-section{padding:19px}.crm-form-aside{position:sticky;top:88px;display:grid;gap:11px}.crm-form-summary{padding:22px;text-align:center}.crm-form-avatar{width:62px;height:62px;margin:0 auto 11px;display:grid;place-items:center;color:white;background:linear-gradient(135deg,var(--forest-900),var(--mint-600));border-radius:17px;font-size:25px;font-weight:700}.crm-form-summary h2{margin:0;font-size:18px}.crm-form-summary p{margin:7px 0 17px;color:var(--ink-3);font-size:12px;line-height:1.7}.crm-form-summary ul{margin:0;padding:13px 0 0;display:grid;gap:10px;text-align:right;border-top:1px solid var(--line);list-style:none}.crm-form-summary li{display:flex;align-items:center;gap:7px;color:#5f6e68;font-size:12px}.crm-form-summary li svg{width:15px;color:var(--mint-600)}.crm-form-actions{padding:10px;display:flex;gap:7px;background:white;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}.crm-form-actions .button{flex:1}

.crm-profile-hero { margin-bottom:13px;padding:18px;display:flex;align-items:center;justify-content:space-between;gap:18px; }.crm-profile-identity{min-width:0}.crm-profile-identity>.back-link{margin-bottom:11px}.crm-profile-title{display:flex;align-items:center;gap:12px}.crm-profile-avatar{width:55px;height:55px;display:grid;flex:0 0 auto;place-items:center;color:white;background:linear-gradient(135deg,#183f32,#26a875);border-radius:15px;font-size:23px;font-weight:700}.crm-profile-title>div{min-width:0}.crm-name-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.crm-name-line h1{margin:0;font-size:27px}.crm-profile-title p{margin:4px 0 0;color:var(--ink-3);font-size:13px}.crm-profile-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:7px}.crm-profile-layout{display:grid;grid-template-columns:minmax(0,1fr) 315px;gap:13px;align-items:start}.crm-profile-main,.crm-profile-aside{display:grid;gap:13px}.crm-timeline-card,.crm-opportunity-card,.crm-info-card,.crm-tasks-card{padding:18px}.crm-timeline-card>.card-head,.crm-opportunity-card>.card-head,.crm-tasks-card>.card-head{margin-bottom:13px}
.crm-timeline{position:relative}.crm-timeline::before{content:"";position:absolute;top:15px;bottom:15px;right:17px;width:1px;background:#dfe8e3}.crm-timeline>article{position:relative;padding:0 0 17px;display:grid;grid-template-columns:35px minmax(0,1fr);gap:11px}.crm-timeline>article:last-child{padding-bottom:0}.timeline-marker{width:35px;height:35px;z-index:1;display:grid;place-items:center;color:#227657;background:#e4f5ec;border:4px solid white;border-radius:50%}.timeline-marker svg{width:15px}.timeline-content{padding:12px 13px;background:#f8faf8;border:1px solid #e7ece9;border-radius:11px}.timeline-content header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.timeline-content header strong,.timeline-content header span{display:block}.timeline-content header strong{font-size:13px}.timeline-content header span{margin-top:3px;color:var(--ink-3);font-size:11px}.timeline-content time{white-space:nowrap;color:var(--ink-3);font-size:11px}.timeline-content>p{margin:9px 0;color:#576660;font-size:12px;line-height:1.75;white-space:pre-line}.timeline-content footer{margin-top:9px;display:flex;align-items:center;gap:12px;flex-wrap:wrap;color:#829089;font-size:11px}.timeline-content footer span,.timeline-content footer a{display:flex;align-items:center;gap:4px}.timeline-content footer a{color:var(--mint-600);font-weight:600}.timeline-content footer svg{width:12px}
.crm-opportunity-list{display:grid}.crm-opportunity-list>article{min-height:70px;padding:10px 0;display:grid;grid-template-columns:minmax(0,1fr) 125px auto;align-items:center;gap:12px;border-bottom:1px solid var(--line)}.crm-opportunity-list>article:last-child{border-bottom:0}.opportunity-main{min-width:0;display:flex;align-items:center;gap:9px}.opportunity-number{padding:4px 6px;direction:ltr;color:#526c62;background:#edf3f0;border-radius:6px;font-family:ui-monospace,monospace;font-size:10px}.opportunity-main>div{min-width:0}.opportunity-main strong,.opportunity-main small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.opportunity-main strong{font-size:13px}.opportunity-main small{margin-top:3px;color:var(--ink-3);font-size:11px}.opportunity-value strong,.opportunity-value small{display:block}.opportunity-value strong{font-size:13px}.opportunity-value small{margin-top:3px;color:var(--ink-3);font-size:11px}.crm-opportunity-list form{display:flex;align-items:center;gap:4px}.crm-opportunity-list select{width:125px;height:32px;padding:0 7px;font-size:11px}.crm-inline-empty{min-height:100px;padding:18px}.crm-sales-card>.card-head{padding:17px 18px 12px}
.crm-profile-aside{position:sticky;top:82px}.crm-info-card>.card-head{margin-bottom:10px}.crm-info-list{margin:0;display:grid}.crm-info-list>div{min-height:48px;padding:8px 0;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border-bottom:1px solid #edf1ef}.crm-info-list dt{display:flex;align-items:center;gap:6px;color:var(--ink-3);font-size:11px}.crm-info-list dt svg{width:14px;color:#5e8878}.crm-info-list dd{max-width:58%;margin:0;color:#3d4c46;text-align:left;overflow-wrap:anywhere;font-size:12px}.crm-tags{padding-top:12px;display:flex;flex-wrap:wrap;gap:5px}.crm-tags span{padding:4px 7px;color:#396b58;background:#eaf5ef;border-radius:12px;font-size:11px}.crm-customer-note{margin-top:13px;padding:11px;color:#5d552f;background:#fff9e8;border:1px solid #f0e3bb;border-radius:9px}.crm-customer-note strong{font-size:11px}.crm-customer-note p{margin:5px 0 0;font-size:11px;line-height:1.7;white-space:pre-line}
.crm-profile-tasks{display:grid}.crm-profile-tasks>article{padding:10px 0;display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:start;gap:7px;border-bottom:1px solid #edf1ef}.crm-profile-tasks>article:last-child{border-bottom:0}.crm-profile-tasks>article.overdue time{color:var(--red)}.crm-profile-tasks strong,.crm-profile-tasks small,.crm-profile-tasks time{display:block}.crm-profile-tasks strong{font-size:12px}.crm-profile-tasks small{margin-top:3px;color:var(--ink-3);font-size:11px}.crm-profile-tasks time{margin-top:6px;display:flex;align-items:center;gap:4px;color:#6f7f78;font-size:11px}.crm-profile-tasks time svg{width:12px}.priority{padding:3px 6px;color:#7c6727;background:#faf1d7;border-radius:11px;font-size:10px;font-style:normal}.priority.high{color:#aa4d4d;background:#fae7e7}.priority.low{color:#60736b;background:#edf2ef}.crm-archive-action button{width:100%;min-height:40px;display:flex;align-items:center;justify-content:center;gap:7px;color:#97605d;background:transparent;border:1px dashed #dfc7c5;border-radius:10px;cursor:pointer;font-size:12px}.crm-archive-action button:hover{color:#a84747;background:#faeeee}.crm-archive-action svg{width:15px}

.crm-status-tabs.filter-chips{padding:0}.crm-tasks-panel .toolbar{border-bottom:1px solid var(--line)}.crm-task-check{width:29px;height:29px;padding:0;display:grid;place-items:center;color:#98a49e;background:transparent;border:0;cursor:pointer}.crm-task-check.done{color:var(--mint-600)}.crm-task-check svg{width:18px}.compact-client{min-width:155px}.compact-client>span:first-child{width:27px;height:27px}.task-type{display:inline-flex;align-items:center;gap:5px;color:#50675d}.task-type svg{width:14px;color:var(--mint-600)}

.crm-kanban{padding-bottom:10px;display:grid;grid-template-columns:repeat(6,minmax(245px,1fr));gap:10px;overflow-x:auto;align-items:start}.crm-kanban-column{min-width:245px;padding:8px;background:#eaf0ec;border-radius:13px}.crm-kanban-column>header{padding:5px 5px 10px}.crm-kanban-column>header>div{display:flex;align-items:center;gap:6px}.crm-kanban-column>header h2{margin:0;flex:1;font-size:13px}.crm-kanban-column>header b{width:23px;height:23px;display:grid;place-items:center;color:#617069;background:white;border-radius:7px;font-size:11px}.crm-kanban-column>header>small{display:block;margin-top:5px;color:#77847e;font-size:11px}.kanban-dot{width:7px;height:7px;background:#607d70;border-radius:50%}.crm-kanban-column.stage-0 .kanban-dot{background:#6287af}.crm-kanban-column.stage-1 .kanban-dot{background:#c69a3b}.crm-kanban-column.stage-2 .kanban-dot{background:#8973b3}.crm-kanban-column.stage-3 .kanban-dot{background:#2da172}.crm-kanban-column.stage-4 .kanban-dot{background:#168d5d}.crm-kanban-column.stage-5 .kanban-dot{background:#c45b5b}.crm-kanban-cards{display:grid;gap:8px}.crm-deal-card{padding:13px;border-radius:10px}.deal-card-head{display:flex;align-items:center;justify-content:space-between}.deal-card-head em{padding:2px 5px;color:#25795a;background:#e5f4ec;border-radius:9px;font-size:10px;font-style:normal;font-weight:700}.crm-deal-card h3{margin:10px 0 4px;font-size:13px;line-height:1.55}.crm-deal-card a>p{margin:0;display:flex;align-items:center;gap:5px;color:var(--ink-3);font-size:11px}.crm-deal-card a>p svg{width:13px}.deal-value{margin-top:12px;padding:9px;background:#f5f8f6;border-radius:8px}.deal-value small,.deal-value strong{display:block}.deal-value small{color:var(--ink-3);font-size:10px}.deal-value strong{margin-top:3px;font-size:14px}.deal-meta{padding:10px 0;display:grid;gap:5px;color:#7e8a85;font-size:10px}.deal-meta span{display:flex;align-items:center;gap:5px}.deal-meta svg{width:12px}.crm-deal-card form{padding-top:9px;display:flex;gap:5px;border-top:1px solid var(--line)}.crm-deal-card form select{min-width:0;flex:1;height:34px}.crm-deal-card form .button{min-height:34px;padding:0 8px;font-size:11px}.kanban-empty{min-height:90px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:#93a099;border:1px dashed #cfd9d4;border-radius:9px;font-size:11px}.kanban-empty svg{width:20px}

@media (max-width: 1180px) {
  :root { --sidebar: 228px; }
  .metric-grid { grid-template-columns: repeat(2, 1fr); }
  .type-picker { grid-template-columns: repeat(4, 1fr); }
  .calculator-layout { grid-template-columns: 1fr; }
  .system-presets { grid-template-columns: repeat(3, 1fr); }
  .invoice-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .warehouse-stats { grid-template-columns: repeat(3, 1fr); }
  .warehouse-cards { grid-template-columns: repeat(2, 1fr); }
  .auth-shell { grid-template-columns: .9fr 1.1fr; }
  .inventory-dashboard-grid { grid-template-columns: 1fr; }
  .crm-dashboard-layout { grid-template-columns:1fr; }.crm-side-stack{grid-template-columns:1fr 1fr}.crm-profile-layout{grid-template-columns:minmax(0,1fr) 280px}.crm-customer-form{grid-template-columns:minmax(0,1fr) 250px}
  .calc-results { min-height: auto; position:static; }
  .results-empty { min-height:420px; }
}

@media (max-width: 900px) {
  .sidebar { transform:translateX(100%); width:265px; transition:transform .24s ease; box-shadow:-12px 0 35px rgba(7,28,20,.24); }
  .sidebar-open .sidebar { transform:translateX(0); }
  .sidebar-close { display:inline-grid !important; color:#a6beb4; background:rgba(255,255,255,.04); border-color:rgba(255,255,255,.07); }
  .sidebar-overlay { position:fixed;z-index:29;inset:0;display:block;pointer-events:none;background:rgba(7,25,19,.5);opacity:0;transition:.2s; }
  .sidebar-open .sidebar-overlay { pointer-events:auto;opacity:1; }
  .main-area { width:100%;margin-right:0; }
  .mobile-menu { display:inline-grid; }
  .today { display:none; }
  .dashboard-grid,.finance-grid,.reports-grid,.product-detail-grid { grid-template-columns:1fr; }
  .stock-alerts { min-height:auto; }
  .product-detail-grid .inventory-gauge { order:2; }
  .form-layout,.invoice-layout { grid-template-columns:1fr; }
  .form-aside { position:static; }
  .finance-hero { grid-template-columns:1fr 1fr; }.balance-card{grid-column:span 2}
  .specs-grid { grid-template-columns:repeat(3,1fr); }.specs-grid div:nth-child(4n){border-left:1px solid var(--line)}.specs-grid div:nth-child(3n){border-left:0}
  .sale-detail-layout { grid-template-columns:1fr; }.sale-detail-aside{position:static}.sale-balance-grid{grid-template-columns:repeat(2,1fr)}
  .inventory-toolbar{align-items:flex-start;flex-direction:column}.inventory-filter{width:100%}.inventory-filter .search-box{flex:1;width:auto}.stock-alerts-panel{min-height:auto}
  .user-form-layout{grid-template-columns:1fr}.user-form-aside{position:static;grid-template-columns:repeat(2,1fr)}
  .tenant-grid{grid-template-columns:1fr}
  .crm-profile-layout,.crm-customer-form{grid-template-columns:1fr}.crm-profile-aside,.crm-form-aside{position:static}.crm-profile-aside{grid-template-columns:1fr 1fr}.crm-profile-aside .crm-archive-action{grid-column:1/-1}
  .platform-separation-grid{grid-template-columns:1fr}.organization-profile-grid{grid-template-columns:1fr}
}

@media (max-width: 650px) {
  .topbar { height:61px;padding:0 14px;gap:7px; }.top-search{flex:1;width:auto;min-width:0}.top-search kbd{display:none}.tenant-context:not(.platform){display:none}.tenant-context.platform{min-width:0;width:128px;padding:0 6px}.tenant-context.platform>svg{display:none}.quick-add span{display:none}.quick-add{width:39px;padding:0;justify-content:center}.top-actions{margin-right:0;flex:0 0 auto;gap:6px}.page-content{padding:20px 14px 35px}.app-footer{padding:10px 14px;gap:10px;flex-direction:column}
  .page-heading { align-items:flex-start;flex-direction:column; }.heading-actions{width:100%}.heading-actions .button{flex:1}
  .metric-grid,.compact-stats,.report-kpis { grid-template-columns:1fr 1fr; }.metric-card{min-height:136px}.compact-stats article{padding:10px}
  .dashboard-grid { grid-template-columns:1fr; }
  .toolbar { align-items:stretch;flex-direction:column; }.search-filter,.toolbar-actions{width:100%;flex-wrap:wrap}.search-box{width:100%;flex:1}.view-switch{align-self:flex-end}
  .type-picker { grid-template-columns:repeat(2,1fr); }
  .form-grid,.load-inputs { grid-template-columns:1fr; }.field.span-2{grid-column:span 1}
  .system-picker{grid-template-columns:1fr}.system-picker label>span{min-height:82px}
  .systems-library-head{align-items:flex-start;flex-direction:column}.system-presets{grid-template-columns:repeat(2,1fr)}
  .calculator-heading { margin:-20px -14px 14px;padding:24px 16px;align-items:flex-start;flex-direction:column; }.calculator-heading h1{font-size: 29px}.calculator-badge{width:100%}
  .calculator-layout{grid-template-columns:1fr}.calc-step{padding:16px}.calc-results{border-radius:14px}.results-content{padding:16px}.result-metrics{grid-template-columns:1fr}.bom-item{grid-template-columns:31px minmax(0,1fr) 32px}.bom-item>strong{display:none}
  .equation-parameters,.equation-variable-grid{grid-template-columns:1fr}.equation-footer{align-items:stretch;flex-direction:column}.equation-footer .button{width:100%}
  .finance-hero{grid-template-columns:1fr}.balance-card{grid-column:auto}.finance-stat{min-height:115px}
  .best-grid{grid-template-columns:1fr}.product-hero{align-items:stretch;flex-direction:column}.product-visual{width:100%;min-height:170px}.specs-grid{grid-template-columns:repeat(2,1fr)}.specs-grid div:nth-child(3n){border-left:1px solid var(--line)}.specs-grid div:nth-child(2n){border-left:0}
  .catalog-toolbar{align-items:stretch;flex-direction:column}.catalog-search{width:100%}.catalog-selection{align-self:flex-start}.invoice-product-grid{grid-template-columns:1fr}.invoice-product-card{min-height:218px}
  .warehouse-stats{grid-template-columns:1fr 1fr}.warehouse-cards{grid-template-columns:1fr}.inventory-filter{align-items:stretch;flex-direction:column}.inventory-filter .search-box,.inventory-filter select,.inventory-filter .button{width:100%;max-width:none}.movement-list{grid-template-columns:1fr}.movement-list time{display:none}.warehouse-balance-grid{grid-template-columns:1fr}
  .modal{padding:10px}.modal-card{padding:17px}
  .sale-balance-grid{grid-template-columns:1fr 1fr}.invoice-title-line{align-items:flex-start;flex-wrap:wrap}.invoice-totals{width:auto;margin:10px 14px 15px}.credit-notice{align-items:flex-start;flex-wrap:wrap}.credit-notice>div{min-width:180px}
  .auth-shell{grid-template-columns:1fr}.auth-visual{min-height:310px;padding:26px}.auth-copy{margin:38px 0}.auth-copy h1{font-size:34px}.auth-form-wrap{padding:20px 14px}.auth-form{padding:24px}.permission-groups,.shared-grid{grid-template-columns:1fr}.user-form-aside{grid-template-columns:1fr}.users-intro{align-items:flex-start;flex-direction:column}.share-security-note{align-items:flex-start}.public-share-header{height:69px;padding:0 16px}.public-share-header>span{display:none}.public-share-main{width:calc(100% - 24px);padding:24px 0}.public-design-head{align-items:flex-start;flex-direction:column}.public-design-head h1{font-size:25px}.public-design-date{width:100%}.public-kpis{grid-template-columns:1fr}.public-bom{padding:0 13px}.public-bom article{grid-template-columns:34px minmax(0,1fr) 45px}.public-bom article>strong{display:none}.public-costs{margin:14px 13px}.public-disclaimer{align-items:flex-start;flex-wrap:wrap}.public-share-footer{padding:12px 16px;gap:7px;flex-direction:column}
  .platform-console-badge,.platform-breadcrumb>span,.platform-breadcrumb>svg{display:none}.platform-breadcrumb strong{max-width:80px;line-height:1.25}.platform-topbar .button{padding:0 10px}.platform-hero{padding:17px}.separation-card{min-height:auto}
  .crm-heading .heading-actions{overflow-x:auto}.crm-heading .heading-actions .button{min-width:max-content}.crm-stage-strip{grid-template-columns:repeat(6,115px)}.crm-side-stack,.crm-profile-aside{grid-template-columns:1fr}.crm-profile-hero{align-items:flex-start;flex-direction:column}.crm-profile-actions{width:100%;justify-content:flex-start}.crm-profile-actions .button{flex:1}.crm-opportunity-list>article{grid-template-columns:1fr auto}.crm-opportunity-list>article form{grid-column:1/-1}.crm-opportunity-list select{flex:1;width:auto}.crm-timeline-card,.crm-opportunity-card,.crm-info-card,.crm-tasks-card{padding:14px}.crm-toolbar .search-filter{align-items:stretch;flex-direction:column}.crm-toolbar .search-box,.crm-toolbar select{width:100%;max-width:none}.crm-customer-form .form-section{padding:15px}.crm-kanban{margin-left:-14px;margin-right:-14px;padding:0 14px 12px}.crm-task-stats,.crm-pipeline-stats{grid-template-columns:1fr 1fr}
  .datasheet-assistant-head{align-items:flex-start;flex-wrap:wrap}.datasheet-assistant-head>div{min-width:calc(100% - 52px)}.datasheet-assistant-head>.button{width:100%}.datasheet-results-head{flex-direction:column}.datasheet-warning{max-width:none;width:100%}.datasheet-candidates{grid-template-columns:1fr}.datasheet-spec-preview{grid-template-columns:repeat(3,1fr)}.datasheet-proof-card{align-items:flex-start;flex-wrap:wrap}.datasheet-proof-card>div{min-width:calc(100% - 65px)}.datasheet-proof-card>.button{width:100%}
}

@media (max-width: 1050px) {
  .catalog-filter{grid-template-columns:1fr 1fr 1fr}.catalog-filter .search-box{grid-column:1/-1}.catalog-filter .button{width:100%}.catalog-sources>div:last-child{grid-template-columns:repeat(2,1fr)}.catalog-detail-layout{grid-template-columns:1fr}.catalog-detail-aside{position:static;grid-template-columns:1fr 1fr}
}

@media (max-width: 720px) {
  .catalog-scope-note{align-items:flex-start;flex-wrap:wrap}.catalog-scope-note>div{min-width:calc(100% - 52px)}.catalog-scope-note>em{margin-right:50px}.catalog-filter{display:flex;align-items:stretch;flex-direction:column}.catalog-filter .search-box,.catalog-filter select,.catalog-filter .button{width:100%;max-width:none}.catalog-grid{grid-template-columns:1fr}.catalog-specs{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-card-actions{align-items:stretch;flex-direction:column}.catalog-card-actions .button{width:100%}.catalog-blocked{justify-content:center}.catalog-sources>div:last-child{grid-template-columns:1fr}.catalog-suggestions{position:fixed;z-index:45;top:66px;right:12px;width:calc(100vw - 24px);max-height:calc(100vh - 82px)}.catalog-verification{align-items:flex-start;flex-wrap:wrap}.catalog-verification>div{min-width:calc(100% - 52px)}.catalog-verification>em{margin-right:49px}.catalog-spec-groups,.catalog-detail-aside{grid-template-columns:1fr}.catalog-spec-group.declared-gaps{grid-column:auto}.catalog-spec-table>div{grid-template-columns:minmax(95px,.8fr) minmax(0,1.2fr) 15px}
}

@media print {
  .sidebar,.topbar,.app-footer,.calculator-form,.calculator-heading,.quote-trigger,.share-design,.share-result,.print-design,.collect-card,.heading-actions,.public-share-header,.public-share-footer,.public-disclaimer .button { display:none !important; }
  .main-area{width:100%;margin:0}.page-content{padding:0}.calculator-layout{display:block}.calc-results{position:static;color:#111;background:white;border:0;box-shadow:none}.result-head p,.result-metrics small,.bom-title p,.bom-item>div small,.bom-qty small,.cost-summary>div{color:#555}.bom-item{border-color:#ddd}.bom-item>div strong,.bom-item>strong,.result-metrics strong,.cost-summary strong{color:#111}.product-symbol{border:1px solid #ddd}.result-check{display:none}.cost-summary{border-color:#ddd;background:#f7f7f7}
}

/* Customer projects */
.project-filters { display: flex; align-items: end; gap: 12px; padding: 18px; margin: 20px 0; flex-wrap: wrap; }
.project-filters .field { flex: 1 1 180px; }
.project-filters .field:first-child { flex-grow: 2; }
.project-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.project-card { padding: 22px; min-width: 0; }
.project-card header, .project-card footer, .project-progress-label { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.project-symbol { width: 42px; height: 42px; display: grid; place-items: center; background: var(--mint-100); color: var(--mint-600); border-radius: 12px; }
.project-card h2 { font-size: 21px; margin: 18px 0 4px; overflow-wrap: anywhere; }
.project-card > p { color: var(--ink-3); margin: 0 0 20px; }
.project-progress-label { color: var(--ink-2); font-size: 14px; margin-bottom: 8px; }
.project-progress-label strong { color: var(--mint-600); font-size: 22px; }
.project-card progress, .project-hero progress, .customer-project-link progress { width: 100%; height: 8px; border: 0; border-radius: 8px; overflow: hidden; accent-color: var(--mint-600); background: #eaf1ec; }
progress::-webkit-progress-bar { background: #eaf1ec; border-radius: 8px; }
progress::-webkit-progress-value { background: var(--mint-600); border-radius: 8px; }
progress::-moz-progress-bar { background: var(--mint-600); border-radius: 8px; }
.project-card-info { display: grid; gap: 13px; font-size: 14px; margin: 22px 0; }
.project-card-info > div { display: flex; gap: 12px; justify-content: space-between; }
.project-card-info dt { color: var(--ink-3); display: flex; align-items: center; gap: 6px; white-space: nowrap; }
.project-card-info dt svg { width: 15px; }
.project-card-info dd { margin: 0; text-align: end; overflow-wrap: anywhere; }
.project-card footer { border-top: 1px solid var(--line); padding-top: 16px; font-size: 13px; flex-wrap: wrap; }
.project-card footer a { display: flex; gap: 5px; align-items: center; }
.project-empty { grid-column: 1 / -1; }
.project-hero { display: grid; grid-template-columns: minmax(0,1fr) minmax(240px,320px); gap: 32px; padding: 28px; }
.project-hero h1 { margin: 8px 0; font-size: 30px; overflow-wrap: anywhere; }
.project-hero .eyebrow { display: block; margin-top: 18px; }
.project-hero p { color: var(--ink-2); margin: 0 0 16px; overflow-wrap: anywhere; }
.project-hero-tags { display: flex; gap: 14px; flex-wrap: wrap; align-items: center; font-size: 13px; color: var(--ink-2); }
.project-hero-tags > span { display: inline-flex; gap: 5px; align-items: center; }
.project-hero-side { align-self: center; }
.project-hero-side > small { display: block; font-size: 12px; color: var(--ink-3); margin: 8px 0 20px; }
.project-sections { display: flex; align-items: center; gap: 8px; margin: 20px 0; padding: 8px; border: 1px solid var(--line); border-radius: 12px; background: white; flex-wrap: wrap; }
.project-sections a { padding: 9px 14px; border-radius: 8px; font-size: 14px; color: var(--ink-2); }
.project-sections a:hover, .project-sections a:focus-visible { background: var(--mint-100); color: var(--forest-900); }
.project-sections b { font-size: 12px; margin-inline-start: 5px; }
.project-detail-grid { display: grid; grid-template-columns: minmax(0,1.7fr) minmax(280px,1fr); gap: 22px; margin: 22px 0; align-items: start; }
.project-main, .project-aside { min-width: 0; display: grid; gap: 22px; }
.project-section { padding: 22px; min-width: 0; scroll-margin-top: 88px; }
.project-section .card-head { padding: 0 0 18px; gap: 12px; flex-wrap: wrap; }
.project-section h2, .project-description h2, .customer-project-link h2 { font-size: 19px; margin: 0; }
.project-task-summary { display: flex; gap: 8px; flex-wrap: wrap; padding-bottom: 18px; }
.project-task-summary span { font-size: 12px; background: #f2f6f3; padding: 6px 10px; border-radius: 7px; color: var(--ink-2); }
.project-task-summary b { margin-inline-start: 8px; color: var(--ink); }
.project-task-list { display: grid; gap: 12px; }
.project-task { border: 1px solid var(--line); border-radius: 12px; padding: 16px; min-width: 0; }
.project-task.completed { border-inline-start: 3px solid var(--mint-500); }
.project-task header { display: flex; align-items: start; justify-content: space-between; gap: 12px; }
.project-task header > div { min-width: 0; }
.project-task h3 { margin: 5px 0 12px; font-size: 16px; overflow-wrap: anywhere; }
.project-task-phase { font-size: 12px; color: var(--mint-600); }
.project-task-meta { display: flex; gap: 14px; flex-wrap: wrap; font-size: 12px; color: var(--ink-3); }
.project-task-meta span { display: flex; gap: 4px; align-items: center; }
.project-task-meta svg { width: 14px; }
.project-text { white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.8; color: var(--ink-2); font-size: 14px; }
.project-edit { border-top: 1px solid var(--line); margin-top: 16px; padding-top: 12px; }
.project-edit summary { cursor: pointer; color: var(--mint-600); font-weight: 600; font-size: 13px; }
.project-edit summary svg { width: 14px; vertical-align: middle; }
.project-edit form { margin-top: 18px; }
.project-form-actions { display: flex; justify-content: end; margin-top: 16px; }
.project-team-list { display: grid; gap: 16px; }
.project-team-list > div { display: flex; gap: 12px; align-items: center; }
.project-team-list strong, .project-team-list small { display: block; overflow-wrap: anywhere; }
.project-team-list strong { font-size: 14px; }
.project-team-list small { font-size: 12px; color: var(--ink-3); margin-top: 4px; }
.project-team-picker { max-height: 330px; overflow: auto; margin-top: 14px; display: grid; gap: 12px; }
.project-team-picker > div { padding: 10px; border-radius: 8px; background: #f6f8f6; }
.project-team-picker label { display: flex; gap: 8px; font-size: 14px; align-items: center; margin-bottom: 8px; }
.project-team-picker input[type=checkbox] { width: 17px; height: 17px; accent-color: var(--mint-600); }
.project-team-picker input:not([type=checkbox]) { border: 1px solid var(--line); border-radius: 7px; padding: 7px 10px; width: 100%; min-width: 0; font-size: 13px; }
.project-settings-form .form-grid { gap: 13px; }
.project-settings-form .field { min-width: 0; }
.project-settings-form input { min-width: 0; }
.project-update-form { background: #f5f9f6; border: 1px solid var(--line); padding: 16px; border-radius: 12px; }
.project-timeline { display: grid; gap: 18px; margin-top: 24px; }
.project-timeline article { display: flex; gap: 12px; }
.project-timeline article > div { min-width: 0; flex: 1; }
.project-timeline h3 { margin: 0 0 5px; font-size: 14px; }
.project-timeline header { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; justify-content: space-between; }
.project-timeline small { color: var(--ink-3); font-size: 12px; }
.project-timeline strong { color: var(--mint-600); font-size: 13px; }
.project-timeline .timeline-marker { position: static; display: grid; place-items: center; width: 30px; height: 30px; flex: 0 0 30px; border-radius: 50%; background: var(--mint-100); color: var(--mint-600); }
.project-description { padding: 22px; margin-top: 22px; }
.project-finance-stats { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; }
.project-finance-stats > div { padding: 16px; border: 1px solid var(--line); border-radius: 10px; background: #f9fbf9; }
.project-finance-stats small { display: block; font-size: 12px; color: var(--ink-3); }
.project-finance-stats strong { display: block; font-size: 19px; margin-top: 8px; overflow-wrap: anywhere; }
.project-finance-note { padding: 13px 16px; background: #f0f6f3; color: var(--ink-2); font-size: 13px; line-height: 1.8; border-radius: 10px; }
.project-table-small { display: block; color: var(--ink-3); font-size: 12px; margin-top: 4px; }
.project-sales-head { margin-top: 28px; }
.project-empty-note { padding: 18px 0; color: var(--ink-3); font-size: 14px; line-height: 1.8; }
.customer-project-link { padding: 22px; margin: 20px 0; display: flex; align-items: center; gap: 24px; flex-wrap: wrap; }
.customer-project-link > div { flex: 1; min-width: 200px; }
.customer-project-link progress { width: 140px; }
.customer-project-link p { font-size: 13px; color: var(--ink-3); margin: 8px 0 0; }
.project-section .field-help { font-size: 12px; }
#overview { scroll-margin-top: 88px; }
@media (max-width: 1250px) { .project-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } .project-detail-grid { grid-template-columns: minmax(0,1fr); } .project-aside { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 760px) { .project-hero { grid-template-columns: minmax(0,1fr); gap: 20px; padding: 20px; } .project-hero h1 { font-size: 24px; } .project-hero-side .heading-actions { flex-wrap: wrap; } .project-grid, .project-aside { grid-template-columns: minmax(0,1fr); } .project-finance-stats { grid-template-columns: repeat(2,minmax(0,1fr)); } .project-section { padding: 16px; } .project-sections { gap: 2px; } .project-sections a { padding: 8px; font-size: 12px; } .project-filters .field { flex-basis: 100%; } .project-finance-stats strong { font-size: 16px; } .customer-project-link .button { width: 100%; } .project-task header { flex-wrap: wrap; } }
.finance-project-assign { font-size: 12px; margin-top: 7px; color: var(--mint-600); }
.finance-project-assign summary { cursor: pointer; }
.finance-project-assign form { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 10px; }
.finance-project-assign select { max-width: 100%; min-width: 0; border: 1px solid var(--line); border-radius: 7px; padding: 6px; }
