:root {
  color-scheme: dark;
  font-family: Arial, sans-serif;
  --bg: #131419;
  --surface: #1c1d22;
  --surface-soft: #25262c;
  --surface-raised: #2a2b32;
  --input: #15161b;
  --border: #3f414a;
  --border-soft: #34353c;
  --text: #f0f0f2;
  --muted: #b2b4bd;
  --muted-dark: #85858d;
  --primary: #e9e9ec;
  --primary-ink: #07111f;
  --blue: #72b5ff;
  --green: #72dc91;
  --purple: #b6a1ff;
  --amber: #f3c96b;
  --danger: #ff8b9c;
  --safe-bottom: max(12px, env(safe-area-inset-bottom));
}

* { box-sizing: border-box; -webkit-tap-highlight-color: transparent; }
[hidden] { display: none !important; }
html { min-height: 100%; background: var(--bg); -webkit-font-smoothing: antialiased; }
body { min-width: 320px; min-height: 100%; margin: 0; overflow-x: hidden; background: var(--bg); color: var(--text); font-size: 14px; }
body.create-menu-open, body.order-detail-open { overflow: hidden; }
button, input, textarea, select { font: inherit; }
button { color: inherit; }
button, select { cursor: pointer; }
button, summary, select, [role="button"] { -webkit-user-select: none; user-select: none; touch-action: manipulation; }
button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible { outline: 2px solid #dadbe0; outline-offset: 2px; }
.app-icon, .metric-icon img, .quick-icon img, .bottom-nav img, .step-head img {
  display: block; object-fit: contain; filter: brightness(0) invert(91%); opacity: .88;
}
.app-icon { width: 14px; height: 14px; }
.button-icon-dark { width: 15px; height: 15px; object-fit: contain; filter: brightness(0) invert(7%); }
h1, h2, p { margin: 0; }
h1 { font-size: 26px; line-height: 1.1; letter-spacing: -.04em; }
h2 { font-size: 16px; letter-spacing: -.02em; }
small { color: var(--muted); }

.login-screen { min-height: 100svh; display: grid; align-items: center; padding: 18px; background: #131419; }
.login-card { width: min(100%, 480px); display: grid; gap: 12px; margin: auto; padding: 14px; }
.device-screen { min-height: 100svh; display: grid; align-items: center; padding: 18px; background: #131419; }
.device-gate-card { width: min(100%, 480px); display: grid; gap: 13px; margin: auto; padding: 14px; }
.device-gate-card > p { color: var(--muted); font-size: 13px; line-height: 1.55; }
.device-gate-card h1 { max-width: 420px; font-size: clamp(27px, 8vw, 38px); }
.device-code-form { display: grid; gap: 10px; }
.pairing-code-card, .recovery-code-card {
  display: grid; gap: 7px; border: 1px solid #45464f; border-radius: 5px; padding: 14px;
  background: #1c1d22; text-align: center;
}
.pairing-code-card > span { color: var(--muted); font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }
.pairing-code-card strong { color: var(--text); font-size: 34px; letter-spacing: .18em; }
.pairing-code-card small { font-size: 9px; line-height: 1.45; }
.recovery-code-card strong { overflow-wrap: anywhere; color: var(--green); font-size: 18px; letter-spacing: .05em; }
.security-icon { width: 46px; height: 46px; display: grid; place-items: center; border: 1px solid #3c5c45; border-radius: 5px; background: #1e3024; }
.security-icon img { width: 22px; height: 22px; object-fit: contain; filter: brightness(0) saturate(100%) invert(80%) sepia(18%) saturate(1024%) hue-rotate(83deg) brightness(95%); }
.text-button { min-height: 32px; border: 0; padding: 4px; background: transparent; color: var(--muted); font-size: 11px; text-decoration: underline; text-underline-offset: 3px; }
.save-confirmation { display: flex; align-items: flex-start; gap: 9px; color: #d9dae0; font-size: 11px; line-height: 1.4; }
.save-confirmation input { width: 18px; height: 18px; flex: 0 0 auto; accent-color: var(--green); }
.brand-lockup { display: inline-flex; align-items: center; gap: 10px; }
.brand-lockup > span:last-child { display: grid; gap: 1px; }
.brand-lockup strong { font-size: 14px; line-height: 1; }
.brand-lockup small { font-size: 9px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.brand-logo { width: 80px; height: 32px; display: block; object-fit: contain; }
.brand-lockup-login { margin-bottom: 14px; padding-bottom: 12px; border-bottom: 1px solid #303036; }
.brand-lockup-login .brand-logo { width: 138px; height: 55px; }
.brand-lockup-login strong { font-size: 17px; }
.login-copy { display: grid; gap: 8px; margin-bottom: 4px; }
.login-copy h1 { max-width: 340px; font-size: clamp(32px, 10vw, 45px); }
.login-copy p { max-width: 370px; color: var(--muted); font-size: 14px; line-height: 1.55; }
.eyebrow { color: var(--muted); font-size: 10px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.field { min-width: 0; display: grid; gap: 7px; color: #d9dae0; font-size: 12px; font-weight: 700; }
.field input, .field textarea, .field select {
  width: 100%; min-height: 49px; border: 1px solid #3a3a3f; border-radius: 4px; padding: 12px 13px;
  outline: 0; background: var(--input); color: var(--text); font-size: 16px; font-weight: 500;
  transition: border-color .16s, box-shadow .16s, background .16s;
}
.field textarea { min-height: 88px; resize: vertical; line-height: 1.45; }
.field input::placeholder, .field textarea::placeholder { color: #6f717b; }
.field input:focus, .field textarea:focus, .field select:focus { border-color: #747680; background: #191a1f; box-shadow: 0 0 0 3px rgba(255,255,255,.055); }
.password-field { position: relative; display: block; }
.password-field input { padding-right: 52px; }
.input-action { position: absolute; top: 0; right: 0; width: 49px; height: 49px; display: grid; place-items: center; border: 0; border-left: 1px solid #3a3a3f; border-radius: 0 4px 4px 0; background: #202023; color: var(--muted); }
.input-action .app-icon { width: 17px; height: 17px; }
.form-status { min-height: 18px; color: var(--muted); font-size: 12px; line-height: 1.4; }
.form-status.error { color: var(--danger); }
.form-status.success { color: var(--green); }
.primary-button, .secondary-button {
  min-height: 48px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; border: 0; border-radius: 5px;
  padding: 12px 16px; background: var(--primary); color: var(--primary-ink); font-size: 13px; font-weight: 800;
}
.primary-button:active, .secondary-button:active { transform: translateY(1px); }
.primary-button:disabled, .secondary-button:disabled { cursor: not-allowed; opacity: .45; transform: none; }
.secondary-button { border: 1px solid var(--border); background: var(--surface-soft); color: var(--text); }
.full-button { width: 100%; }
.login-button { margin-top: 2px; }
.login-foot { display: flex; align-items: center; justify-content: center; gap: 7px; color: var(--muted-dark); font-size: 10px; text-transform: uppercase; letter-spacing: .08em; }
.online-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 3px rgba(114,220,145,.12); }

.app { min-height: 100svh; padding-bottom: calc(72px + var(--safe-bottom)); background: #131419; }
.app-header {
  position: sticky; top: 0; z-index: 30; min-height: 54px; display: flex; align-items: center; justify-content: space-between;
  border-bottom: 1px solid var(--border); padding: 8px 12px; background: rgba(28,29,34,.97); backdrop-filter: blur(12px);
}
.header-actions { display: flex; align-items: center; gap: 7px; }
.icon-button, .profile-button, .back-button {
  border: 1px solid #3c3c43; background: #2a2b32; color: #e9e9ec;
}
.icon-button { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 4px; padding: 0; }
.icon-button .app-icon { width: 14px; height: 14px; }
.icon-button.is-loading .app-icon { animation: spin .7s linear infinite; }
.profile-button { position: relative; width: 32px; height: 32px; display: grid; place-items: center; border-radius: 5px; padding: 0; font-size: 10px; font-weight: 700; }
.online-badge { position: absolute; right: -1px; bottom: 0; width: 10px; height: 10px; border: 2px solid var(--surface); border-radius: 50%; background: var(--green); }
.page-shell { width: min(100%, 1120px); margin: auto; }
.view { display: none; min-height: calc(100svh - 132px); padding: 18px 12px 28px; animation: view-in .18s ease-out; }
.view.active { display: block; }
.page-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 14px; margin-bottom: 20px; }
.page-heading > div { display: grid; gap: 5px; }
.page-heading h1 { font-size: 25px; }
.compact-heading { align-items: center; justify-content: flex-start; }
.compact-heading > div { flex: 1; }
.back-button { width: 34px; height: 34px; flex: 0 0 34px; display: grid; place-items: center; border-radius: 4px; padding: 0; }
.period-select { min-height: 32px; border: 1px solid #3c3c43; border-radius: 4px; padding: 0 8px; background: #151518; color: var(--text); font-size: 10px; font-weight: 700; }
.hero-metric { position: relative; overflow: hidden; display: grid; gap: 8px; border: 1px solid var(--border); border-radius: 5px; padding: 17px; background: #1c1d22; }
.hero-metric::after { content: ""; position: absolute; width: 190px; height: 190px; right: -80px; top: -100px; border-radius: 50%; background: rgba(255,255,255,.055); }
.hero-metric > span { color: var(--muted); font-size: 11px; font-weight: 700; }
.hero-metric > strong { font-size: clamp(28px, 9vw, 42px); letter-spacing: -.045em; }
.hero-metric > div { display: flex; gap: 15px; }
.hero-metric small { font-size: 10px; }
.hero-metric small b { color: #eeeef1; }
.metric-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; margin-top: 9px; }
.metric-card { position: relative; min-height: 126px; display: grid; align-content: end; gap: 4px; border: 1px solid #34353c; border-radius: 5px; padding: 12px; background: #202126; }
.metric-card::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 2px; border-radius: 5px 0 0 5px; background: var(--accent); }
.metric-card.accent-blue { --accent: var(--blue); }
.metric-card.accent-green { --accent: var(--green); }
.metric-card.accent-purple { --accent: var(--purple); }
.metric-card.accent-amber { --accent: var(--amber); }
.metric-icon { position: absolute; top: 11px; right: 11px; width: 28px; height: 28px; display: grid; place-items: center; border-radius: 4px; background: #2a2b30; }
.metric-icon img { width: 14px; height: 14px; }
.metric-card small { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; }
.metric-card strong { font-size: 28px; line-height: 1; }
.metric-card > span:last-child { overflow: hidden; color: var(--muted); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.metric-card > span b { color: var(--accent); }
.chart-card { margin-top: 9px; border: 1px solid #34353c; border-radius: 5px; padding: 13px; background: #1c1d22; }
.section-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.section-head > div { display: grid; gap: 4px; }
.live-pill { display: inline-flex; align-items: center; gap: 6px; color: var(--muted); font-size: 9px; font-weight: 700; text-transform: uppercase; }
.live-pill i { width: 6px; height: 6px; border-radius: 50%; background: var(--green); }
.bar-chart { height: 150px; display: flex; align-items: stretch; justify-content: space-between; gap: 7px; margin-top: 20px; }
.chart-column { min-width: 0; flex: 1; display: grid; grid-template-rows: 1fr auto; gap: 8px; text-align: center; }
.chart-bar-track { display: flex; align-items: flex-end; border-radius: 3px; background: #24252b; }
.chart-bar { width: 100%; min-height: 3px; border-radius: 3px; background: linear-gradient(#d9d9dd, #777981); transform-origin: bottom; animation: bar-in .35s ease-out both; }
.chart-column small { overflow: hidden; color: var(--muted-dark); font-size: 8px; text-overflow: clip; text-transform: uppercase; }
.quick-actions { display: grid; gap: 10px; margin-top: 22px; }
.quick-action-grid { display: grid; gap: 8px; }
.quick-action-grid > button { min-height: 60px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 10px; border: 1px solid #34353c; border-radius: 5px; padding: 9px 10px; background: #25262c; color: var(--text); text-align: left; }
.quick-icon { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 4px; background: #303036; }
.quick-icon img { width: 15px; height: 15px; }
.quick-icon.blue, .quick-icon.green, .quick-icon.purple { background: #303036; }
.quick-action-grid button > span:nth-child(2) { display: grid; gap: 3px; }
.quick-action-grid strong { font-size: 12px; }
.quick-action-grid small { font-size: 9px; }
.chevron { width: 12px; height: 12px; object-fit: contain; filter: brightness(0) invert(62%); }
.draft-pill { border: 1px solid #4a4b54; border-radius: 99px; padding: 5px 8px; color: var(--muted); font-size: 9px; font-weight: 700; text-transform: uppercase; }

.stack-form { display: grid; gap: 10px; padding-bottom: 14px; }
.step-card { display: grid; gap: 12px; border: 1px solid #34353c; border-radius: 5px; padding: 12px; background: #1c1d22; }
.step-head { display: flex; align-items: center; gap: 10px; padding-bottom: 11px; border-bottom: 1px solid var(--border-soft); }
.step-head > span { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 4px; background: #242428; }
.step-head > span img { width: 14px; height: 14px; }
.step-head > div { display: grid; gap: 2px; }
.step-head strong { font-size: 13px; }
.step-head small { font-size: 9px; }
.field-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 9px; }
.three-fields { grid-template-columns: 1fr 1fr 78px; }
.item-values-row { grid-template-columns: .78fr 1fr 1.18fr; align-items: end; }
.lookup-field { position: relative; }
.lookup-results { position: absolute; top: calc(100% + 5px); left: 0; right: 0; z-index: 15; max-height: 260px; overflow: auto; border: 1px solid #50515b; border-radius: 5px; padding: 5px; background: #202126; box-shadow: 0 18px 38px rgba(0,0,0,.48); }
.lookup-results button { width: 100%; display: grid; gap: 3px; border: 0; border-radius: 5px; padding: 10px; background: transparent; color: var(--text); text-align: left; }
.lookup-results button + button { border-top: 1px solid var(--border-soft); border-radius: 0; }
.lookup-results button:active { background: #303139; }
.lookup-results strong { font-size: 12px; }
.lookup-results small { overflow: hidden; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.lookup-empty { padding: 14px; color: var(--muted); font-size: 10px; text-align: center; }
.selected-record { border: 1px solid #3d536b; border-radius: 4px; padding: 10px; background: #1d2936; }
.selected-record strong, .selected-record small { display: block; }
.selected-record strong { font-size: 12px; }
.selected-record small { margin-top: 3px; font-size: 9px; }
.proposal-item { display: grid; gap: 12px; border: 1px solid #3b3c44; border-radius: 4px; padding: 11px; background: #18191e; }
.proposal-item + .proposal-item { margin-top: 9px; }
.item-title { display: flex; align-items: center; justify-content: space-between; }
.item-title strong { font-size: 11px; text-transform: uppercase; letter-spacing: .07em; }
.item-title button { border: 0; padding: 4px; background: transparent; color: var(--danger); font-size: 9px; font-weight: 700; }
.item-subtotal { display: flex; align-items: center; justify-content: flex-end; gap: 9px; border-top: 1px solid var(--border-soft); padding-top: 10px; }
.item-subtotal span { color: var(--muted); font-size: 9px; text-transform: uppercase; }
.item-subtotal strong { font-size: 14px; }
.proposal-total { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 4px 12px; border: 1px solid #45464f; border-radius: 5px; padding: 13px; background: #202126; }
.proposal-total span { color: var(--muted); font-size: 10px; font-weight: 700; }
.proposal-total strong { grid-row: span 2; font-size: 22px; letter-spacing: -.03em; }
.proposal-total small { font-size: 9px; }
.proposal-option-button { min-height: 60px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 10px; border: 1px solid #3b3c44; border-radius: 5px; padding: 9px 10px; background: #202126; color: var(--text); text-align: left; }
.proposal-option-button:active { border-color: #5a5c67; background: #292a30; transform: translateY(1px); }
.proposal-option-button > span:nth-child(2) { min-width: 0; display: grid; gap: 3px; }
.proposal-option-button strong { font-size: 12px; }
.proposal-option-button small { overflow: hidden; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.proposal-option-button .quick-icon img, .proposal-discount-head .quick-icon img { filter: brightness(0) invert(92%); }
.segmented-control { display: grid; grid-template-columns: 1fr 1fr; border: 1px solid #34343a; border-radius: 6px; padding: 3px; background: #151517; }
.segmented-control button { min-height: 38px; border: 0; border-radius: 5px; background: transparent; color: var(--muted); font-size: 11px; font-weight: 700; }
.segmented-control button.active { background: #e9e9ec; color: #17181c; }
.optional-fields { border: 1px solid #303036; border-radius: 5px; background: #151517; }
.optional-fields summary { display: flex; justify-content: space-between; padding: 14px; color: #dbdce1; font-size: 11px; font-weight: 700; cursor: pointer; }
.optional-fields summary span { color: var(--muted-dark); font-size: 9px; text-transform: uppercase; }
.optional-fields .step-card { border: 0; border-top: 1px solid var(--border-soft); border-radius: 0 0 5px 5px; }
.profile-card { display: flex; align-items: center; gap: 13px; border: 1px solid #34353c; border-radius: 5px; padding: 13px; background: #1c1d22; }
.profile-avatar { width: 46px; height: 46px; display: grid; place-items: center; border: 1px solid #51525c; border-radius: 50%; background: #292a30; font-size: 13px; font-weight: 800; }
.profile-card > div { display: grid; gap: 4px; }
.profile-card small { font-size: 9px; }
.settings-list { display: grid; gap: 8px; margin-top: 10px; }
.settings-list button { display: grid; gap: 3px; border: 1px solid #34353c; border-radius: 5px; padding: 12px; background: #1c1d22; color: var(--text); text-align: left; }
.settings-list button span { font-size: 12px; font-weight: 700; }
.settings-list button small { font-size: 9px; }
.settings-list .danger-action span { color: var(--danger); }
.security-notice { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 11px; border: 1px solid #3a4654; border-radius: 5px; padding: 12px; background: #1b222b; }
.security-notice img { width: 22px; height: 22px; object-fit: contain; filter: brightness(0) invert(84%); }
.security-notice p { color: var(--muted); font-size: 10px; line-height: 1.5; }
.device-section { display: grid; gap: 9px; margin-top: 18px; }
.device-section .section-head > span { min-width: 22px; border: 1px solid var(--border); border-radius: 99px; padding: 3px 6px; color: var(--muted); font-size: 9px; text-align: center; }
.device-list { display: grid; gap: 8px; }
.device-list-empty { border: 1px dashed #3c3d45; border-radius: 5px; padding: 18px; color: var(--muted-dark); font-size: 10px; text-align: center; }
.device-card { display: grid; gap: 10px; border: 1px solid #34353c; border-radius: 5px; padding: 12px; background: #1c1d22; }
.device-card-head { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 10px; }
.device-card-icon { width: 31px; height: 31px; display: grid; place-items: center; border-radius: 4px; background: #292a30; }
.device-card-icon img { width: 15px; height: 15px; object-fit: contain; filter: brightness(0) invert(89%); }
.device-card-title { min-width: 0; display: grid; gap: 3px; }
.device-card-title strong { overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.device-card-title small { overflow: hidden; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.current-device-pill { border: 1px solid rgba(114,220,145,.35); border-radius: 99px; padding: 4px 6px; color: var(--green); font-size: 8px; font-weight: 700; text-transform: uppercase; }
.device-card-code { display: flex; align-items: center; justify-content: space-between; border-top: 1px solid var(--border-soft); padding-top: 9px; }
.device-card-code span { color: var(--muted); font-size: 9px; }
.device-card-code strong { font-size: 18px; letter-spacing: .14em; }
.device-card-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
.device-card-actions button { min-height: 36px; border: 1px solid var(--border); border-radius: 4px; padding: 7px; background: #25262c; color: var(--text); font-size: 9px; font-weight: 700; }
.device-card-actions button.approve-device { border-color: #48624f; background: #233329; color: var(--green); }
.device-card-actions button.revoke-device { color: var(--danger); }
.device-recovery-button { margin-top: 18px; }
.app-version { margin-top: 28px; color: var(--muted-dark); font-size: 9px; text-align: center; text-transform: uppercase; letter-spacing: .08em; }

.order-search-form { display: grid; gap: 11px; border: 1px solid #34353c; border-radius: 5px; padding: 12px; background: #1c1d22; }
.order-search-control { position: relative; display: block; }
.order-search-control > input { padding-right: 58px; }
.order-search-submit { position: absolute; top: 7px; right: 7px; width: 35px; height: 35px; }
.order-search-results { display: grid; gap: 8px; margin-top: 10px; }
.order-search-empty { border: 1px dashed #3c3d45; border-radius: 5px; padding: 25px 14px; color: var(--muted-dark); font-size: 10px; text-align: center; }
.order-search-result {
  width: 100%; display: grid; grid-template-columns: 1fr auto; gap: 9px 12px; border: 1px solid #353740; border-radius: 5px;
  padding: 12px; background: #1c1d22; color: var(--text); text-align: left;
}
.order-search-result:active { border-color: #5a5c67; background: #25262c; transform: translateY(1px); }
.order-search-result-head { min-width: 0; display: grid; gap: 4px; }
.order-search-result-head strong { overflow: hidden; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.order-search-result-head small { font-size: 9px; }
.order-search-result-total { align-self: center; font-size: 13px; }
.order-search-result-meta { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 5px 10px; border-top: 1px solid var(--border-soft); padding-top: 9px; color: var(--muted); font-size: 9px; }
.order-search-result-type { color: var(--blue); font-weight: 800; text-transform: uppercase; letter-spacing: .05em; }

.proposal-discount-open { overflow: hidden; }
.proposal-discount-modal { position: fixed; inset: 0; z-index: 76; display: grid; align-items: end; justify-items: center; }
.proposal-discount-backdrop { position: absolute; inset: 0; border: 0; padding: 0; background: rgba(7,8,11,.76); backdrop-filter: blur(3px); }
.proposal-discount-sheet { position: relative; width: min(100%, 540px); max-height: calc(100svh - 18px); overflow-y: auto; border: 1px solid #41434d; border-radius: 8px 8px 0 0; background: #16171c; box-shadow: 0 -18px 50px rgba(0,0,0,.48); }
.proposal-discount-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; border-bottom: 1px solid var(--border-soft); padding: 13px; }
.proposal-discount-head > div { min-width: 0; display: flex; align-items: center; gap: 10px; }
.proposal-discount-head > div > div { min-width: 0; display: grid; gap: 3px; }
.proposal-discount-head h2 { font-size: 18px; }
.proposal-discount-head small { font-size: 9px; }
.proposal-discount-content { display: grid; gap: 12px; padding: 13px 13px calc(13px + env(safe-area-inset-bottom)); }
.proposal-discount-modes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
.proposal-discount-modes button { min-width: 0; min-height: 54px; display: grid; align-content: center; gap: 4px; border: 1px solid #393a42; border-radius: 5px; padding: 7px; background: #202126; color: var(--muted); text-align: left; }
.proposal-discount-modes button span { overflow: hidden; font-size: 9px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.proposal-discount-modes button strong { font-size: 13px; }
.proposal-discount-modes button.active { border-color: #747680; background: #303139; color: #fff; box-shadow: inset 0 0 0 1px rgba(255,255,255,.06); }
.proposal-discount-input-wrap { position: relative; display: block; }
.proposal-discount-input-wrap input { padding-right: 48px; }
.proposal-discount-input-wrap > strong { position: absolute; top: 0; right: 0; width: 48px; height: 49px; display: grid; place-items: center; border-left: 1px solid #3a3a3f; color: #dddde1; font-size: 12px; }
.proposal-discount-preview { display: grid; gap: 8px; border: 1px solid #34353c; border-radius: 5px; padding: 11px; background: #1c1d22; }
.proposal-discount-preview > div { display: flex; align-items: center; justify-content: space-between; gap: 12px; color: var(--muted); font-size: 10px; }
.proposal-discount-preview > div strong { color: var(--text); font-size: 11px; }
.proposal-discount-preview .proposal-discount-net { border-top: 1px solid var(--border-soft); padding-top: 9px; }
.proposal-discount-preview .proposal-discount-net strong { font-size: 17px; }
.proposal-discount-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.proposal-discount-actions button { min-width: 0; padding-inline: 8px; font-size: 10px; }
.order-detail-modal { position: fixed; inset: 0; z-index: 75; display: grid; align-items: end; justify-items: center; }
.order-detail-backdrop { position: absolute; inset: 0; border: 0; padding: 0; background: rgba(7,8,11,.76); backdrop-filter: blur(3px); }
.order-detail-sheet {
  position: relative; width: min(100%, 680px); max-height: calc(100svh - 18px); display: grid; grid-template-rows: auto minmax(0, 1fr) auto;
  border: 1px solid #41434d; border-radius: 8px 8px 0 0; background: #16171c; box-shadow: 0 -18px 50px rgba(0,0,0,.48);
}
.order-detail-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; border-bottom: 1px solid var(--border-soft); padding: 13px; }
.order-detail-head > div { min-width: 0; display: grid; gap: 5px; }
.order-detail-head h2 { overflow: hidden; font-size: 19px; text-overflow: ellipsis; white-space: nowrap; }
.order-type-pill { width: fit-content; border: 1px solid #3d536b; border-radius: 99px; padding: 4px 7px; background: #1d2936; color: var(--blue); font-size: 8px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.order-detail-content { overflow-y: auto; display: grid; gap: 9px; padding: 12px; overscroll-behavior: contain; }
.order-detail-summary { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.order-detail-info { min-width: 0; display: grid; gap: 4px; border: 1px solid #34353c; border-radius: 5px; padding: 10px; background: #202126; }
.order-detail-info.is-wide { grid-column: 1 / -1; }
.order-detail-info span { color: var(--muted); font-size: 8px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; }
.order-detail-info strong { overflow-wrap: anywhere; font-size: 11px; line-height: 1.35; }
.order-detail-items { display: grid; gap: 7px; }
.order-detail-items > h3 { margin: 7px 0 0; font-size: 11px; text-transform: uppercase; letter-spacing: .06em; }
.order-detail-item { display: grid; gap: 7px; border: 1px solid #34353c; border-radius: 5px; padding: 10px; background: #1c1d22; }
.order-detail-item-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.order-detail-item-head > span { min-width: 0; display: grid; gap: 3px; }
.order-detail-item-head strong { font-size: 11px; line-height: 1.35; }
.order-detail-item-head small { font-size: 8px; }
.order-detail-item-head > b { flex: 0 0 auto; font-size: 11px; }
.order-detail-item-meta { display: flex; flex-wrap: wrap; gap: 5px 10px; border-top: 1px solid var(--border-soft); padding-top: 7px; color: var(--muted); font-size: 8px; }
.order-detail-total { display: flex; align-items: center; justify-content: space-between; border: 1px solid #50525e; border-radius: 5px; padding: 12px; background: #25262c; }
.order-detail-total span { color: var(--muted); font-size: 9px; text-transform: uppercase; }
.order-detail-total strong { font-size: 20px; }
.order-detail-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; border-top: 1px solid var(--border-soft); padding: 10px 10px calc(10px + env(safe-area-inset-bottom)); background: #1c1d22; }
.order-detail-actions button { min-width: 0; padding-inline: 9px; font-size: 10px; }
.order-detail-actions .app-icon { width: 14px; height: 14px; filter: brightness(0) invert(90%); }

.bottom-nav {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 35; height: calc(66px + var(--safe-bottom)); display: grid; grid-template-columns: repeat(5, 1fr);
  align-items: start; border-top: 1px solid var(--border-soft); padding: 7px 4px var(--safe-bottom); background: rgba(28,29,34,.97); backdrop-filter: blur(18px);
}
.bottom-nav button { min-width: 0; height: 50px; display: grid; justify-items: center; align-content: center; gap: 3px; border: 0; padding: 0; background: transparent; color: #797b85; }
.bottom-nav button > img { width: 18px; height: 18px; object-fit: contain; filter: brightness(0) invert(51%); opacity: .9; }
.bottom-nav button span, .bottom-nav button small { overflow: hidden; max-width: 100%; font-size: 8px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.bottom-nav button.active { color: #f0f0f2; }
.bottom-nav button.active > img { filter: brightness(0) invert(95%); opacity: 1; }
.bottom-nav .nav-create { position: relative; overflow: visible; }
.bottom-nav .nav-create > span { width: 43px; height: 43px; display: grid; place-items: center; margin-top: -18px; border: 4px solid var(--bg); border-radius: 50%; background: #f0f0f2; color: #15161a; box-shadow: 0 5px 14px rgba(0,0,0,.3); }
.bottom-nav .nav-create > span { font-size: 22px; font-weight: 500; line-height: 1; }
.bottom-nav .nav-create small { margin-top: -1px; }
.create-menu { position: fixed; inset: 0; z-index: 70; display: grid; align-items: end; justify-items: center; padding: 12px 12px calc(76px + var(--safe-bottom)); }
.create-menu-backdrop { position: absolute; inset: 0; border: 0; padding: 0; background: rgba(7,8,11,.68); backdrop-filter: blur(2px); }
.create-menu-sheet {
  position: relative; width: min(100%, 390px); display: grid; gap: 10px; border: 1px solid #41424b; border-radius: 7px;
  padding: 8px 10px 10px; background: #1c1d22; box-shadow: 0 18px 44px rgba(0,0,0,.52); animation: create-menu-in .16s ease-out;
}
.create-menu-handle { width: 34px; height: 3px; margin: 0 auto 2px; border-radius: 99px; background: #565760; }
.create-menu-head { display: flex; align-items: center; justify-content: space-between; min-height: 30px; border-bottom: 1px solid var(--border-soft); padding: 0 2px 8px; }
.create-menu-head strong { font-size: 12px; }
.create-menu-head button { width: 27px; height: 27px; border: 1px solid #3c3d45; border-radius: 4px; padding: 0; background: #26272d; color: var(--muted); font-size: 18px; line-height: 1; }
.create-menu-actions { display: grid; gap: 6px; }
.create-menu-actions > button { min-height: 54px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 10px; border: 1px solid #34353c; border-radius: 5px; padding: 8px 9px; background: #25262c; color: var(--text); text-align: left; }
.create-menu-actions > button:active { background: #303139; transform: translateY(1px); }
.create-menu-actions > button > span:nth-child(2) { min-width: 0; display: grid; gap: 2px; }
.create-menu-actions strong { font-size: 11px; }
.create-menu-actions small { font-size: 8px; }
.toast-region { position: fixed; left: 12px; right: 12px; bottom: calc(80px + var(--safe-bottom)); z-index: 80; display: grid; gap: 7px; pointer-events: none; }
.toast { max-width: 470px; margin: auto; border: 1px solid #4a4b54; border-radius: 5px; padding: 12px 14px; background: #26272d; color: #eeeef1; box-shadow: 0 12px 30px rgba(0,0,0,.4); font-size: 11px; animation: toast-in .2s ease-out; }
.toast.success { border-color: rgba(114,220,145,.42); }
.toast.error { border-color: rgba(255,139,156,.5); color: #ffc3cc; }
.loading-overlay { position: fixed; inset: 0; z-index: 90; display: flex; align-items: center; justify-content: center; gap: 10px; background: rgba(12,13,16,.74); backdrop-filter: blur(3px); }
.loading-overlay strong { font-size: 12px; }
.spinner { width: 20px; height: 20px; border: 2px solid rgba(255,255,255,.18); border-top-color: #eeeef1; border-radius: 50%; animation: spin .7s linear infinite; }

@keyframes spin { to { transform: rotate(360deg); } }
@keyframes view-in { from { opacity: 0; transform: translateY(4px); } }
@keyframes bar-in { from { transform: scaleY(0); } }
@keyframes toast-in { from { opacity: 0; transform: translateY(7px); } }
@keyframes create-menu-in { from { opacity: 0; transform: translateY(12px) scale(.985); } }

@media (min-width: 720px) {
  .app { padding: 0 0 0 88px; }
  .app-header { padding-inline: 24px; }
  .bottom-nav { top: 0; right: auto; width: 88px; height: 100vh; grid-template-columns: 1fr; grid-template-rows: repeat(5, 70px); align-content: center; border-top: 0; border-right: 1px solid var(--border-soft); padding: 0 8px; }
  .bottom-nav .nav-create > span { margin: 0; border-width: 2px; border-color: #45464f; }
  .view { padding: 30px 28px 48px; }
  .metric-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .quick-action-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .quick-action-grid > button { grid-template-columns: auto 1fr; }
  .quick-action-grid .chevron { display: none; }
  .stack-form { width: min(100%, 720px); margin-inline: auto; }
  .compact-heading { width: min(100%, 720px); margin-inline: auto; }
  .view[data-view="orders"] { width: min(100%, 760px); margin-inline: auto; }
  .order-detail-modal { align-items: center; padding: 22px 22px 22px 106px; }
  .order-detail-sheet { max-height: calc(100svh - 44px); border-radius: 8px; }
  .proposal-discount-modal { align-items: center; padding: 22px 22px 22px 106px; }
  .proposal-discount-sheet { max-height: calc(100svh - 44px); border-radius: 8px; }
  .toast-region { left: 100px; bottom: 18px; }
  .create-menu { align-items: center; padding: 18px 18px 18px 106px; }
}

@media (min-width: 980px) {
  .view[data-view="dashboard"] { display: none; grid-template-columns: 1fr 1fr; gap: 10px; }
  .view[data-view="dashboard"].active { display: grid; }
  .view[data-view="dashboard"] .page-heading, .view[data-view="dashboard"] .quick-actions { grid-column: 1 / -1; }
  .view[data-view="dashboard"] .hero-metric { min-height: 184px; }
  .view[data-view="dashboard"] .metric-grid { grid-template-columns: repeat(2, 1fr); margin-top: 0; }
  .view[data-view="dashboard"] .chart-card { grid-column: 1 / -1; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; }
}
