:root {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: #1d3033;
  background: #f4f6f5;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
body { margin: 0; min-width: 320px; }
button, input, select { font: inherit; }
button { cursor: pointer; }
button:disabled { cursor: not-allowed; opacity: .56; }
button:focus-visible, input:focus-visible, select:focus-visible { outline: 3px solid #75cfc0; outline-offset: 2px; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { letter-spacing: -.035em; }

.startup { align-items: center; display: flex; justify-content: center; min-height: 100vh; color: #52716f; font-weight: 650; }
.brand { align-items: center; display: flex; gap: 10px; color: #eff9f6; font-size: 19px; font-weight: 780; letter-spacing: -.045em; white-space: nowrap; }
.brand-mark { align-items: center; background: #81d2b8; border-radius: 10px; color: #163a3b; display: inline-flex; font-size: 18px; font-weight: 850; height: 34px; justify-content: center; width: 34px; }
.eyebrow { color: #4b7972; font-size: 11px; font-weight: 800; letter-spacing: .12em; line-height: 1.5; margin: 0 0 9px; text-transform: uppercase; }
.eyebrow.light { color: #a8d6c7; }
.muted { color: #667a7c; }

.button { align-items: center; border: 1px solid transparent; border-radius: 9px; display: inline-flex; font-size: 13px; font-weight: 750; justify-content: center; line-height: 1.2; min-height: 40px; padding: 10px 15px; transition: background .16s ease, border-color .16s ease, transform .16s ease; white-space: nowrap; }
.button:not(:disabled):active { transform: translateY(1px); }
.button-primary { background: #176d64; color: white; }
.button-primary:not(:disabled):hover { background: #11574f; }
.button-secondary { background: #ecf3f1; border-color: #c7ddda; color: #275d59; }
.button-secondary:not(:disabled):hover { background: #dfece9; }
.button-danger { background: #fff; border-color: #e3bdb4; color: #a34535; }
.button-danger:not(:disabled):hover { background: #fff2ef; }
.button-quiet { background: transparent; border-color: #cedad8; color: #425f60; }
.button-quiet:not(:disabled):hover { background: #f2f7f5; }
.button-full { width: 100%; }

.feedback { background: #e7f3ef; border: 1px solid #b7dad0; border-radius: 10px; color: #1c6257; font-size: 13px; line-height: 1.5; margin: 0 0 20px; padding: 12px 14px; }
.feedback-error { background: #fff1ee; border-color: #ebc3ba; color: #9b382b; }

/* Login */
.login-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(380px, .88fr); min-height: 100vh; }
.login-intro { background: #183b3c; color: #e8f2ee; display: flex; flex-direction: column; justify-content: center; overflow: hidden; padding: clamp(40px, 7vw, 100px); position: relative; }
.login-intro::after { border: 1px solid #5f9e9077; border-radius: 50%; content: ""; height: 590px; position: absolute; right: -300px; top: -180px; width: 590px; }
.login-intro::before { border: 1px solid #5f9e9055; border-radius: 50%; content: ""; height: 720px; position: absolute; right: -400px; top: -260px; width: 720px; }
.login-intro > * { position: relative; z-index: 1; }
.login-intro .brand { margin-bottom: clamp(55px, 8vw, 110px); }
.login-intro h1 { color: #fff; font-size: clamp(37px, 4.4vw, 64px); line-height: 1.06; margin: 0 0 25px; max-width: 620px; }
.login-intro > p:not(.eyebrow) { color: #b9d4ce; font-size: 16px; line-height: 1.65; margin: 0; max-width: 565px; }
.login-intro-foot { border-top: 1px solid #426769; color: #a7c7c2; font-size: 12px; line-height: 1.6; margin-top: clamp(70px, 10vw, 145px); max-width: 550px; padding-top: 19px; }
.login-panel { align-items: center; background: radial-gradient(circle at 90% 10%, #e9f3ee 0, transparent 40%), #f5f7f5; display: flex; justify-content: center; padding: 36px; }
.login-card { background: #fff; border: 1px solid #e1e9e6; border-radius: 18px; box-shadow: 0 24px 80px #29454413; max-width: 440px; padding: clamp(27px, 4vw, 44px); width: 100%; }
.login-card h2 { font-size: 31px; margin: 0 0 8px; }
.login-card > .muted { font-size: 14px; line-height: 1.5; margin: 0 0 27px; }
.login-help { color: #778789; font-size: 12px; line-height: 1.5; margin: 20px 0 0; }
.login-card .feedback { margin: 18px 0 0; }

.form-stack { display: grid; gap: 8px; }
.form-stack label { color: #355053; font-size: 12px; font-weight: 750; margin-top: 8px; }
.form-stack input, .form-stack select, .company-control select { appearance: none; background: #fff; border: 1px solid #c9d7d4; border-radius: 9px; color: #203638; min-height: 43px; padding: 10px 12px; width: 100%; }
.form-stack input:hover, .form-stack select:hover, .company-control select:hover { border-color: #91b4ac; }
.form-stack input::placeholder { color: #93a3a4; }
.form-stack .button { margin-top: 16px; }
.form-stack select, .company-control select { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%23557373' stroke-width='1.6'/%3E%3C/svg%3E"); background-position: right 14px center; background-repeat: no-repeat; padding-right: 35px; }
.field-help { color: #76898a; font-size: 11px; line-height: 1.45; margin-top: -2px; }

/* Authenticated shell */
.app-shell { display: grid; grid-template-columns: 228px minmax(0, 1fr); min-height: 100vh; }
.sidebar { background: #183b3c; color: #dfefea; display: flex; flex-direction: column; min-height: 100vh; padding: 26px 14px; }
.sidebar .brand { margin: 0 9px; }
.sidebar-caption { color: #a9c9c2; font-size: 11px; letter-spacing: .03em; margin: 5px 0 37px 54px; }
.nav { display: grid; gap: 4px; }
.nav-item { align-items: center; background: transparent; border: 0; border-radius: 9px; color: #dcece7; display: flex; font-size: 13px; font-weight: 600; gap: 10px; min-height: 41px; padding: 10px 12px; text-align: left; width: 100%; }
button.nav-item:hover { background: #2b5757; }
.nav-item.is-active { background: #326460; color: #fff; font-weight: 750; }
.nav-symbol { color: #9edbc5; font-size: 18px; line-height: 1; width: 18px; }
.nav-divider { background: #436363; height: 1px; margin: 18px 10px 19px; }
.nav-caption { color: #a8c8c1; font-size: 10px; font-weight: 800; letter-spacing: .1em; margin: 0 12px 7px; text-transform: uppercase; }
.nav-pending { color: #aac2bd; cursor: default; font-weight: 450; min-height: 34px; opacity: .84; padding-block: 7px; }
.sidebar-foot { border-top: 1px solid #436363; color: #aec8c2; font-size: 11px; line-height: 1.55; margin: auto 10px 0; padding-top: 17px; }
.content-shell { min-width: 0; }
.app-header { align-items: center; background: #fff; border-bottom: 1px solid #e2e9e6; display: flex; gap: 20px; justify-content: space-between; min-height: 74px; padding: 13px clamp(24px, 3vw, 48px); }
.header-context { align-items: center; color: #5b7374; display: flex; font-size: 12px; font-weight: 750; gap: 9px; white-space: nowrap; }
.header-dot { background: #2b9980; border-radius: 50%; height: 8px; width: 8px; }
.account { align-items: center; display: flex; gap: 17px; min-width: 0; }
.account-text { display: flex; flex-direction: column; gap: 2px; min-width: 0; text-align: right; }
.account-text strong { font-size: 12px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.account-text span { color: #7c8e8d; font-size: 11px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.main-content { margin: 0 auto; max-width: 1560px; padding: 38px clamp(24px, 3vw, 48px) 70px; }
.page-heading { align-items: end; display: flex; flex-wrap: wrap; gap: 20px; justify-content: space-between; margin-bottom: 27px; }
.page-heading h1 { font-size: clamp(32px, 3.2vw, 44px); line-height: 1.1; margin: 0 0 8px; }
.page-lead { color: #667b7d; font-size: 14px; line-height: 1.5; margin: 0; }
.company-control { display: grid; gap: 6px; min-width: 235px; }
.company-control label { color: #4f686a; font-size: 11px; font-weight: 750; }
.company-control select { box-shadow: 0 2px 4px #12333208; font-size: 13px; font-weight: 680; }
.company-control small { color: #839392; font-size: 10px; line-height: 1.3; }
.stage-notice { align-items: start; background: #e9f3ef; border: 1px solid #c5ded5; border-radius: 12px; color: #345b56; display: flex; gap: 13px; line-height: 1.55; margin-bottom: 22px; padding: 15px 18px; }
.stage-notice p { font-size: 13px; margin: 0; }
.stage-notice strong { color: #1b4f48; }
.notice-icon { align-items: center; border: 1px solid #79ad9e; border-radius: 50%; color: #276b5d; display: inline-flex; flex: none; font-size: 11px; font-weight: 850; height: 20px; justify-content: center; margin-top: 1px; width: 20px; }
.identity-grid { display: grid; gap: 14px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.identity-card { background: #fff; border: 1px solid #dfe8e4; border-radius: 13px; box-shadow: 0 3px 12px #25413a07; min-width: 0; padding: 20px 22px; }
.card-kicker { color: #5c7975; font-size: 11px; font-weight: 800; letter-spacing: .08em; margin-bottom: 17px; text-transform: uppercase; }
.identity-card h2 { font-size: clamp(18px, 2vw, 24px); margin: 0 0 7px; overflow-wrap: anywhere; }
.identity-card p { color: #7d8c8b; font-size: 12px; margin: 0; }
.section-heading { align-items: center; display: flex; flex-wrap: wrap; gap: 10px; justify-content: space-between; margin: 35px 0 13px; }
.section-heading h2 { font-size: 21px; margin: 0 0 4px; }
.section-heading p { color: #708384; font-size: 12px; line-height: 1.5; margin: 0; }
.status-chip { background: #edf3f1; border-radius: 999px; color: #49766b; font-size: 11px; font-weight: 740; padding: 7px 10px; }
.status-chip.is-error { background: #fff0eb; color: #a34835; }
.status-chip.is-ready { background: #e8f5eb; color: #277245; }
.metrics { display: grid; gap: 14px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.metric { background: #fff; border: 1px solid #dfe8e4; border-radius: 12px; min-width: 0; padding: 19px 21px; }
.metric > span { color: #536e6c; display: block; font-size: 12px; font-weight: 750; }
.metric strong { display: block; font-size: 35px; letter-spacing: -.06em; line-height: 1.2; margin: 6px 0; }
.metric small { color: #859491; display: block; font-size: 11px; line-height: 1.35; }
.section-heading-later { margin-top: 45px; }
.module-grid { display: grid; gap: 14px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.module-card { background: #fafbfa; border: 1px solid #e0e7e4; border-radius: 12px; display: flex; flex-direction: column; min-height: 178px; padding: 19px; }
.module-step { color: #5c9183; font-size: 11px; font-weight: 800; letter-spacing: .06em; margin-bottom: 15px; }
.module-card h3 { font-size: 16px; margin: 0 0 6px; }
.module-card p { color: #778987; font-size: 12px; line-height: 1.5; margin: 0 0 15px; }
.module-state { align-self: flex-start; background: #ebf0ed; border-radius: 999px; color: #6c8078; font-size: 10px; font-weight: 780; margin-top: auto; padding: 6px 9px; }

/* User administration */
.users-layout { align-items: start; display: grid; gap: 16px; grid-template-columns: minmax(0, 1.5fr) minmax(290px, .8fr); }
.panel { background: #fff; border: 1px solid #dfe8e4; border-radius: 13px; min-width: 0; padding: 22px; }
.panel-heading h2 { font-size: 19px; margin: 0 0 5px; }
.panel-heading p { color: #778889; font-size: 12px; line-height: 1.5; margin: 0 0 20px; }
.users-list { display: grid; gap: 11px; }
.user-card { border: 1px solid #e2eae6; border-radius: 10px; min-width: 0; padding: 16px; }
.user-card.inactive { background: #f8faf8; opacity: .78; }
.user-top { align-items: start; display: flex; flex-wrap: wrap; gap: 8px; justify-content: space-between; }
.user-name { font-size: 14px; font-weight: 780; margin: 0 0 3px; overflow-wrap: anywhere; }
.user-email { color: #778887; font-size: 12px; margin: 0; overflow-wrap: anywhere; }
.user-status { background: #e7f4e8; border-radius: 999px; color: #277044; flex: none; font-size: 10px; font-weight: 800; padding: 5px 8px; }
.user-status.inactive { background: #edf0ee; color: #74847e; }
.user-controls { align-items: end; display: flex; flex-wrap: wrap; gap: 8px; margin-top: 15px; }
.user-controls label { color: #607a77; display: grid; font-size: 11px; font-weight: 750; gap: 5px; min-width: 150px; }
.user-controls select { background: #fff; border: 1px solid #d0ddd8; border-radius: 8px; color: #254c49; min-height: 36px; padding: 7px 28px 7px 9px; }
.user-controls .button { min-height: 36px; padding: 8px 10px; }
.user-hint { color: #7b8987; font-size: 11px; line-height: 1.4; margin: 12px 0 0; }
.empty-state { background: #f8faf9; border: 1px dashed #cadad3; border-radius: 9px; color: #6d817d; font-size: 13px; line-height: 1.55; padding: 25px; text-align: center; }
.add-user-panel .form-stack .button { margin-top: 14px; }
.add-user-panel .feedback { margin: 18px 0 0; }
.smsv-operators-panel { margin-top: 18px; }
.smsv-operators-panel .users-list { grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); }
.smsv-operator-form { border-top: 1px solid #e4ece8; margin-top: 18px; max-width: 470px; padding-top: 17px; }
.smsv-operator-form h3 { font-size: 14px; margin: 0 0 5px; }
.smsv-operators-panel .feedback { margin: 16px 0 0; }

/* Personal account */
.account-layout { align-items: start; display: grid; gap: 16px; grid-template-columns: minmax(0, .8fr) minmax(320px, 1.2fr); max-width: 970px; }
.account-layout .panel { padding: 25px; }
.account-profile dl { margin: 0; }
.account-profile dl div { border-top: 1px solid #e4ece8; display: grid; gap: 8px; grid-template-columns: 100px minmax(0, 1fr); padding: 13px 0; }
.account-profile dt { color: #758987; font-size: 12px; }
.account-profile dd { font-size: 13px; font-weight: 700; margin: 0; overflow-wrap: anywhere; }
.account-layout .feedback { margin: 19px 0 0; }

/* Products and whole-package inventory */
.stock-explainer { background: #eaf3ef; border: 1px solid #cbdfd7; border-radius: 11px; color: #45655f; font-size: 12px; line-height: 1.55; margin-bottom: 18px; padding: 13px 17px; }
.stock-explainer span { display: block; }
.stock-explainer span + span { margin-top: 4px; }
.stock-explainer strong { color: #245b50; }
.product-stats { display: grid; gap: 12px; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-bottom: 19px; }
.product-stat { background: #fff; border: 1px solid #dfe8e4; border-radius: 11px; min-width: 0; padding: 16px 18px; }
.product-stat span { color: #536e6c; display: block; font-size: 11px; font-weight: 750; }
.product-stat strong { display: block; font-size: 28px; letter-spacing: -.05em; margin: 4px 0 1px; }
.product-stat small { color: #859491; display: block; font-size: 10px; }
.products-layout { align-items: start; display: grid; gap: 16px; grid-template-columns: minmax(370px, 1.12fr) minmax(340px, .88fr); }
.products-side { display: grid; gap: 16px; min-width: 0; }
.products-list-heading { align-items: start; display: flex; flex-wrap: wrap; gap: 10px; justify-content: space-between; margin-bottom: 17px; }
.products-list-heading h2 { font-size: 19px; margin: 0 0 4px; }
.products-list-heading p { color: #778889; font-size: 12px; margin: 0; }
.search-label { color: #536f6c; display: block; font-size: 11px; font-weight: 750; margin-bottom: 7px; }
.product-search { background: #fff; border: 1px solid #c9d7d4; border-radius: 9px; color: #203638; margin-bottom: 16px; min-height: 42px; padding: 10px 12px; width: 100%; }
.product-search::placeholder { color: #93a3a4; }
.products-list { display: grid; gap: 9px; }
.product-row { background: #fff; border: 1px solid #e0e9e5; border-radius: 10px; color: inherit; display: block; padding: 14px 15px; text-align: left; width: 100%; }
.product-row:hover { background: #f7fbf9; border-color: #b9d8ce; }
.product-row.is-selected { background: #edf7f2; border-color: #76bcaa; box-shadow: inset 3px 0 #2d977d; }
.product-row-head { align-items: start; display: flex; gap: 9px; justify-content: space-between; }
.product-row-title { font-size: 14px; font-weight: 770; line-height: 1.35; overflow-wrap: anywhere; }
.product-row-sku { color: #77908a; display: block; font-size: 11px; font-weight: 650; margin-top: 3px; overflow-wrap: anywhere; }
.product-row-chip { background: #eaf5e9; border-radius: 999px; color: #267245; flex: none; font-size: 10px; font-weight: 760; padding: 5px 8px; }
.product-row-chip.inactive { background: #edf0ee; color: #74847e; }
.product-row-availability { color: #17745b; display: block; font-size: 12px; font-weight: 650; line-height: 1.5; margin-top: 10px; }
#product-availability { background: #edf7f2; border-radius: 8px; color: #24584b; font-size: 13px; line-height: 1.6; padding: 12px; }
.product-row-stocks { display: flex; flex-wrap: wrap; gap: 7px 14px; margin-top: 12px; }
.product-row-stocks span { color: #667b77; font-size: 11px; white-space: nowrap; }
.product-row-stocks strong { color: #244540; font-weight: 780; }
.product-row-stocks .available strong { color: #17745b; }
.product-placeholder { color: #708883; padding: 42px 26px; text-align: center; }
.product-placeholder-icon { align-items: center; background: #e9f4ef; border-radius: 13px; color: #407f70; display: inline-flex; font-size: 29px; height: 58px; justify-content: center; margin-bottom: 16px; width: 58px; }
.product-placeholder h2 { color: #294943; font-size: 20px; margin-bottom: 8px; }
.product-placeholder p { font-size: 12px; line-height: 1.55; margin: 0 auto; max-width: 310px; }
.product-detail-heading { align-items: start; display: flex; gap: 10px; justify-content: space-between; }
.product-detail-heading .eyebrow { margin-bottom: 4px; }
.product-detail-heading h2 { font-size: 21px; line-height: 1.25; overflow-wrap: anywhere; }
.product-detail-heading p:last-child { color: #79918b; font-size: 11px; font-weight: 700; margin: 0 0 18px; overflow-wrap: anywhere; }
.product-balance { display: grid; gap: 8px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.product-balance > div { background: #f5f8f6; border-radius: 9px; min-width: 0; padding: 11px; }
.product-balance span { color: #718781; display: block; font-size: 10px; font-weight: 700; }
.product-balance strong { color: #234a41; display: block; font-size: 22px; line-height: 1.25; margin-top: 3px; }
.product-balance .available { background: #e5f3eb; }
.product-balance .available strong { color: #167658; }
#product-unit-note { margin: 10px 0 0; }
.product-stock-actions { border-top: 1px solid #e4ece8; margin-top: 21px; padding-top: 18px; }
.stock-action-tabs { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 10px; }
.stock-tab { background: #f3f7f5; border: 1px solid #d8e6df; border-radius: 8px; color: #53736b; font-size: 11px; font-weight: 750; min-height: 34px; padding: 7px 10px; }
.stock-tab:hover { background: #e8f3ec; }
.stock-tab.is-active { background: #176d64; border-color: #176d64; color: #fff; }
.stock-action-help { color: #70847f; font-size: 11px; line-height: 1.5; margin: 3px 0 2px; }
.stock-form .button { justify-self: start; }
.product-stock-actions .feedback { margin: 15px 0 0; }
.movement-heading { align-items: center; border-top: 1px solid #e4ece8; display: flex; gap: 10px; justify-content: space-between; margin: 22px 0 12px; padding-top: 17px; }
.movement-heading h3 { font-size: 15px; margin: 0; }
.movements-list { display: grid; gap: 8px; max-height: 420px; overflow-y: auto; }
.movement-row { border: 1px solid #e3ebe7; border-radius: 9px; padding: 11px 12px; }
.movement-row-head { align-items: start; display: flex; flex-wrap: wrap; gap: 5px 12px; justify-content: space-between; }
.movement-row-head strong { color: #355951; font-size: 12px; }
.movement-row-head time { color: #8a9994; font-size: 10px; }
.movement-row p { color: #536c65; font-size: 11px; line-height: 1.4; margin: 5px 0; overflow-wrap: anywhere; }
.movement-row-meta { color: #8a9994; display: flex; flex-wrap: wrap; font-size: 10px; gap: 4px 12px; }
.movement-deltas { color: #426b5e; font-size: 11px; font-weight: 750; margin-top: 6px; }
.product-form-heading { align-items: start; display: flex; gap: 10px; justify-content: space-between; }
.product-form-heading h2 { margin-bottom: 5px; }
.checkbox-label { align-items: center; display: flex; gap: 9px; margin-top: 14px !important; }
.checkbox-label input { appearance: auto; accent-color: #176d64; height: 17px; min-height: 0; padding: 0; width: 17px; }
.product-form-panel .feedback { margin: 17px 0 0; }

/* Orders: own stock and SMSV fulfillment */
.orders-toolbar { align-items: center; display: flex; flex-wrap: wrap; gap: 12px; justify-content: space-between; margin: 24px 0 13px; }
.orders-toolbar h2 { font-size: 21px; margin: 0 0 3px; }
.orders-toolbar p { color: #708384; font-size: 12px; margin: 0; }
.orders-layout { align-items: start; display: grid; gap: 16px; grid-template-columns: minmax(300px, .85fr) minmax(430px, 1.15fr); }
.orders-side { display: grid; gap: 16px; min-width: 0; }
.orders-list { display: grid; gap: 9px; max-height: 760px; overflow-y: auto; }
.order-row { background: #fff; border: 1px solid #e0e9e5; border-radius: 10px; color: inherit; display: grid; gap: 8px; padding: 14px 15px; text-align: left; width: 100%; }
.order-row:hover { background: #f7fbf9; border-color: #b9d8ce; }
.order-row.is-selected { background: #edf7f2; border-color: #76bcaa; box-shadow: inset 3px 0 #2d977d; }
.order-row-head { align-items: start; display: flex; flex-wrap: wrap; gap: 7px; justify-content: space-between; }
.order-row-title { font-size: 14px; font-weight: 780; overflow-wrap: anywhere; }
.order-row-meta, .order-row-foot { color: #748982; font-size: 11px; line-height: 1.4; overflow-wrap: anywhere; }
.order-row-foot { color: #42685c; }
.order-status { background: #e7f2eb; border-radius: 999px; color: #267148; display: inline-block; flex: none; font-size: 10px; font-weight: 800; line-height: 1.3; padding: 6px 9px; }
.order-status.waiting { background: #fff2db; color: #90621c; }
.order-status.cancelled { background: #edf0ee; color: #75847f; }
.order-status.partner { background: #e3f0f4; color: #286b78; }
.order-status.partner.waiting { background: #fff2db; color: #90621c; }
.order-detail-head { align-items: start; display: flex; flex-wrap: wrap; gap: 10px; justify-content: space-between; }
.order-detail-head .eyebrow { margin-bottom: 4px; }
.order-detail-head h2 { font-size: 21px; margin: 0 0 4px; overflow-wrap: anywhere; }
.order-detail-head p:last-child { color: #87968f; font-size: 11px; margin: 0; }
.order-summary { background: #ebf5ef; border: 1px solid #cfe5d7; border-radius: 9px; color: #28694d; font-size: 12px; font-weight: 650; line-height: 1.55; margin: 18px 0 20px; padding: 12px 14px; }
.order-summary.waiting { background: #fff9e9; border-color: #eaddb9; color: #8b611f; }
.order-summary.cancelled { background: #f5f7f5; border-color: #dfe7e1; color: #687b72; }
.order-summary.partner { background: #eef7f9; border-color: #cde5e9; color: #2b6670; }
.order-summary.partner.waiting { background: #fff9e9; border-color: #eaddb9; color: #8b611f; }
.order-detail-grid { display: grid; gap: 12px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.order-detail-grid section { background: #f7f9f7; border-radius: 9px; min-width: 0; padding: 13px; }
.order-detail-grid h3 { color: #627d72; font-size: 11px; margin: 0 0 8px; text-transform: uppercase; }
.order-detail-grid p { color: #31524a; font-size: 12px; line-height: 1.5; margin: 0; overflow-wrap: anywhere; white-space: pre-line; }
.order-detail-grid p + p { margin-top: 3px; }
.order-lines-heading { border-top: 1px solid #e4ece8; font-size: 15px; margin: 22px 0 12px; padding-top: 18px; }
.order-lines { display: grid; gap: 10px; }
.order-line { border: 1px solid #e0e9e5; border-radius: 10px; padding: 13px; }
.order-line h4 { font-size: 13px; margin: 0 0 3px; overflow-wrap: anywhere; }
.order-line .order-line-sku { color: #85958f; font-size: 11px; margin: 0 0 12px; overflow-wrap: anywhere; }
.order-line-amounts { display: grid; gap: 7px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.order-line-amounts div { background: #f5f8f6; border-radius: 8px; min-width: 0; padding: 9px; }
.order-line-amounts span { color: #75867f; display: block; font-size: 10px; font-weight: 700; }
.order-line-amounts strong { color: #285449; display: block; font-size: 18px; margin-top: 2px; }
.order-line-amounts .missing strong { color: #aa6227; }
.order-line-price { color: #748982; font-size: 11px; margin: 9px 0 0; }
.smsv-notification { border-top: 1px solid #e4ece8; margin-top: 22px; padding-top: 18px; }
.smsv-notification-heading { align-items: center; display: flex; flex-wrap: wrap; gap: 10px; justify-content: space-between; }
.smsv-notification-heading h3 { font-size: 15px; margin: 0; }
.smsv-notification .field-help { margin: 9px 0; overflow-wrap: anywhere; }
.smsv-notification-preview { background: #f7f9f7; border: 1px solid #e0e9e5; border-radius: 9px; color: #31524a; font: inherit; font-size: 12px; line-height: 1.55; max-height: 340px; overflow: auto; padding: 13px; white-space: pre-wrap; }
.smsv-notification-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.smsv-notification .feedback { margin: 12px 0 0; }
.document-invoice-panel { border-top: 1px solid #e4ece8; margin-top: 24px; padding-top: 19px; }
.document-invoice-panel .field-help { line-height: 1.55; margin: 9px 0 14px; }
.document-invoice-preview { background: #f8faf9; border: 1px solid #e0e9e5; border-radius: 10px; padding: 14px; }
.document-invoice-summary { display: grid; gap: 10px 14px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.document-invoice-summary div { min-width: 0; }
.document-invoice-summary strong { color: #608075; display: block; font-size: 10px; text-transform: uppercase; }
.document-invoice-summary span { color: #2e5146; display: block; font-size: 12px; line-height: 1.5; margin-top: 3px; overflow-wrap: anywhere; white-space: pre-line; }
.document-invoice-lines { border-top: 1px solid #e0e9e5; color: #37594e; font-size: 11px; line-height: 1.55; list-style-position: inside; margin: 13px 0 0; padding: 10px 0 0; }
.document-invoice-lines li + li { margin-top: 6px; }
.document-invoice-blockers { background: #fff7e8; border: 1px solid #ead7ad; border-radius: 8px; color: #795c26; font-size: 11px; line-height: 1.5; padding: 10px; }
.seller-document-profile, #document-invoice-form { border-top: 1px solid #e4ece8; margin-top: 17px; padding-top: 17px; }
.seller-document-profile h4, #document-invoice-form h4 { color: #284f44; font-size: 14px; margin: 0; }
.seller-document-profile .order-field-grid, #document-invoice-form .order-field-grid { margin: 0 0 8px; }
.seller-document-profile .button, #document-invoice-form .button { justify-self: start; }
.document-invoice-result { background: #ecf5f1; border-radius: 9px; color: #2b584a; font-size: 12px; line-height: 1.5; margin-top: 16px; padding: 13px; }
.document-invoice-result p { margin: 0 0 10px; }
.document-invoice-result p:last-child { margin-bottom: 0; }
.document-invoice-result .button { margin: 0 0 10px; }
#document-invoice-refresh { margin-top: 12px; }
.delivery-proof-panel { border-top: 1px solid #e4ece8; margin-top: 24px; padding-top: 19px; }
.delivery-proof-panel .field-help { line-height: 1.55; margin: 9px 0 14px; }
.delivery-proof-expected { background: #f8faf9; border: 1px solid #e0e9e5; border-radius: 10px; padding: 14px; }
.delivery-proof-expected .document-invoice-summary { margin-bottom: 10px; }
.delivery-proof-expected .document-invoice-lines { margin-top: 0; }
.delivery-proof-invoice-state { background: #f0f4f8; border-radius: 8px; color: #446377; font-size: 11px; line-height: 1.5; margin: 12px 0; padding: 10px 12px; }
.delivery-proof-history { display: grid; gap: 9px; margin-top: 15px; }
.delivery-proof-history > h4, .delivery-proof-upload h4, .delivery-proof-review h4 { color: #284f44; font-size: 14px; margin: 0; }
.delivery-proof-history-entry { background: #f8faf9; border: 1px solid #e0e9e5; border-radius: 9px; padding: 11px 12px; }
.delivery-proof-history-entry.is-rejected { background: #fff8f4; border-color: #eddbcf; }
.delivery-proof-history-entry.is-accepted { background: #eff8f2; border-color: #d2e8da; }
.delivery-proof-history-entry strong { color: #31574b; display: block; font-size: 12px; overflow-wrap: anywhere; }
.delivery-proof-history-entry p { color: #647d74; font-size: 11px; line-height: 1.5; margin: 5px 0; overflow-wrap: anywhere; }
.delivery-proof-history-entry a { display: inline-block; font-size: 11px; margin-top: 4px; }
.delivery-proof-upload, .delivery-proof-review { border-top: 1px solid #e4ece8; margin-top: 17px; padding-top: 17px; }
.delivery-proof-upload .button, .delivery-proof-review .button { justify-self: start; }
.delivery-proof-upload input[type="file"] { padding: 9px 11px; }
.delivery-proof-review { background: #fffaf0; border: 1px solid #eddfbc; border-radius: 9px; padding: 14px; }
.delivery-proof-review .field-help { margin-bottom: 8px; }
.delivery-proof-review form { margin-top: 12px; }
.delivery-proof-review .checkbox-label { align-items: flex-start; line-height: 1.45; margin: 0 !important; }
.delivery-proof-review .checkbox-label input { flex: none; margin-top: 1px; }
.proof-line-checks { border: 0; border-top: 1px solid #eadfc3; display: grid; gap: 9px; margin: 4px 0 0; min-width: 0; padding: 12px 0 0; }
.proof-line-checks legend { color: #5b705e; font-size: 12px; font-weight: 750; padding-right: 8px; }
.proof-line-check { align-items: end; display: grid; gap: 10px; grid-template-columns: minmax(0, 1fr) 100px; }
.proof-line-check label { color: #51695d; font-size: 11px; line-height: 1.45; overflow-wrap: anywhere; }
.proof-line-check input { min-width: 0; }
.delivery-proof-review textarea { border: 1px solid #c9d7d4; border-radius: 9px; font: inherit; min-height: 82px; padding: 9px 11px; resize: vertical; width: 100%; }
.delivery-proof-review #delivery-proof-reject-form { border-top: 1px solid #eadfc3; padding-top: 12px; }
#delivery-proof-refresh { margin-top: 12px; }
.cancel-order-form { border-top: 1px solid #e4ece8; display: grid; gap: 8px; margin-top: 22px; padding-top: 18px; }
.cancel-order-form label { color: #5e776f; font-size: 11px; font-weight: 750; }
.cancel-order-form input { border: 1px solid #c9d7d4; border-radius: 9px; min-height: 42px; padding: 9px 11px; width: 100%; }
.cancel-order-form .button { justify-self: start; margin-top: 3px; }
.order-detail .feedback, .order-form-panel .feedback { margin: 17px 0 0; }
.order-form-heading { align-items: start; display: flex; flex-wrap: wrap; gap: 10px; justify-content: space-between; }
.order-fieldset { border: 0; border-top: 1px solid #e4ece8; margin: 11px 0 0; min-width: 0; padding: 19px 0 0; }
.order-fieldset legend { color: #29534b; font-size: 14px; font-weight: 780; padding: 0 8px 0 0; }
.order-field-grid { display: grid; gap: 7px 12px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.order-field-grid > div { min-width: 0; }
.order-field-grid label { display: block; margin: 8px 0 5px; }
.order-field-grid .order-field-wide { grid-column: 1 / -1; }
.order-fieldset .checkbox-label { margin: 5px 0 12px !important; }
.order-fieldset .field-help { display: block; margin: 5px 0 14px; }
.order-form-lines { display: grid; gap: 11px; margin-bottom: 12px; }
.order-form-line { background: #f8faf9; border: 1px solid #e0e9e5; border-radius: 10px; padding: 13px; }
.order-form-line-head { align-items: center; display: flex; gap: 10px; justify-content: space-between; }
.order-form-line-head strong { color: #34594f; font-size: 12px; }
.order-form-line-head button { background: transparent; border: 0; color: #9a5744; font-size: 11px; font-weight: 750; padding: 5px; }
.order-form-line-head button:hover { text-decoration: underline; }
.order-form-line-fields { display: grid; gap: 7px 10px; grid-template-columns: minmax(0, 2fr) minmax(85px, .65fr) minmax(105px, .8fr) minmax(85px, .7fr); }
.order-form-line-fields > div { min-width: 0; }
.order-form-line-fields label { display: block; margin: 7px 0 5px; }
.order-form-line-fields input, .order-form-line-fields select { min-width: 0; }
.order-line-availability { color: #5f7c72; font-size: 11px; margin: 8px 0 0; }
.order-line-availability.low { color: #9a681f; }

/* Supplier procurement and linked receiving */
.procurement-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.procurement-top-grid { align-items: start; display: grid; gap: 16px; grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr); }
.shortages-list, .suppliers-list, .purchase-order-lines, .purchase-receipts-list { display: grid; gap: 9px; }
.shortage-group + .shortage-group { border-top: 1px solid #e3ece7; margin-top: 12px; padding-top: 15px; }
.shortage-group h3 { color: #385e54; font-size: 13px; margin: 0 0 9px; }
.shortage-start { font-size: 11px; margin: 0 0 10px; min-height: 34px; padding: 7px 10px; white-space: normal; }
.shortage-row { align-items: start; border: 1px solid #e0e9e5; border-radius: 9px; display: grid; gap: 8px; grid-template-columns: minmax(120px, 1fr) minmax(0, 1.1fr); padding: 12px; }
.shortage-row strong, .supplier-card strong { color: #2c5048; display: block; font-size: 12px; overflow-wrap: anywhere; }
.shortage-row small, .supplier-card small { color: #81918a; display: block; font-size: 10px; line-height: 1.4; margin-top: 3px; overflow-wrap: anywhere; }
.shortage-amounts { display: flex; flex-wrap: wrap; gap: 5px 12px; justify-content: flex-end; }
.shortage-amounts span { color: #6c8078; font-size: 10px; white-space: nowrap; }
.shortage-amounts b { color: #315d50; font-size: 12px; }
.shortage-amounts .to-order b { color: #a36a24; }
.shortage-incoming { background: #f5f8f6; border-radius: 7px; color: #547166; font-size: 10px; grid-column: 1 / -1; line-height: 1.45; padding: 8px 10px; }
.shortage-incoming > span { display: block; font-weight: 750; margin-bottom: 4px; }
.shortage-incoming ul { display: flex; flex-wrap: wrap; gap: 4px 13px; list-style: none; margin: 0; padding: 0; }
.shortage-incoming li { overflow-wrap: anywhere; }
.shortage-incoming strong { color: #315e51; }
.shortage-incoming li.alternate { color: #936321; }
.shortage-assign { align-items: end; display: flex; flex-wrap: wrap; gap: 7px; grid-column: 1 / -1; }
.shortage-assign label { color: #6b8078; display: grid; font-size: 10px; font-weight: 750; gap: 4px; min-width: 160px; }
.shortage-assign select, .supplier-assignment-controls select { background: #fff; border: 1px solid #c9d7d4; border-radius: 8px; color: #254940; min-height: 36px; padding: 7px 9px; }
.shortage-assign select { min-width: 180px; }
.shortage-assign .button, .supplier-assignment-controls .button { min-height: 36px; padding: 8px 11px; }
.supplier-card { background: #f8faf9; border: 1px solid #e2eae6; border-radius: 9px; padding: 11px 12px; }
.supplier-form { border-top: 1px solid #e4ece8; margin-top: 15px; padding-top: 15px; }
.supplier-form h3 { font-size: 13px; margin: 0 0 3px; }
.supplier-form .button { justify-self: start; }
.product-supplier-form { border-top: 1px solid #e4ece8; display: grid; gap: 7px; margin-top: 17px; padding-top: 16px; }
.product-supplier-form label { color: #577269; font-size: 11px; font-weight: 750; }
.supplier-assignment-controls { display: flex; flex-wrap: wrap; gap: 8px; }
.supplier-assignment-controls select { flex: 1; min-width: 170px; }
.product-supplier-form .field-help { margin: 0; }
.product-supplier-form .feedback, .supplier-form + .feedback { margin: 8px 0 0; }
.purchase-order-lines { margin-top: 18px; }
.purchase-form-line-fields { grid-template-columns: minmax(0, 3fr) minmax(105px, 1fr); }
.purchase-line-card { border: 1px solid #e0e9e5; border-radius: 10px; padding: 13px; }
.purchase-line-card h3 { font-size: 13px; margin: 0 0 3px; overflow-wrap: anywhere; }
.purchase-line-card > p { color: #87968f; font-size: 11px; margin: 0 0 11px; }
.purchase-line-amounts { display: grid; gap: 7px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.purchase-line-amounts div { background: #f5f8f6; border-radius: 8px; padding: 9px; }
.purchase-line-amounts span { color: #75867f; display: block; font-size: 10px; font-weight: 700; }
.purchase-line-amounts strong { color: #285449; display: block; font-size: 18px; margin-top: 2px; }
.purchase-line-card .over { color: #a65c27; font-size: 11px; margin: 9px 0 0; }
.purchase-receive-panel, .purchase-receipts-history, .purchase-close-form { border-top: 1px solid #e4ece8; margin-top: 22px; padding-top: 18px; }
.purchase-receive-panel h3, .purchase-receipts-history h3 { font-size: 15px; margin: 0 0 8px; }
.purchase-receive-panel .field-help { display: block; margin: 0 0 10px; }
.purchase-receipt-lines { display: grid; gap: 8px; }
.purchase-receipt-line { align-items: end; background: #f8faf9; border: 1px solid #e0e9e5; border-radius: 9px; display: grid; gap: 12px; grid-template-columns: minmax(0, 1fr) 105px; padding: 10px 12px; }
.purchase-receipt-line strong { color: #31574b; display: block; font-size: 12px; overflow-wrap: anywhere; }
.purchase-receipt-line small { color: #7c8f85; display: block; font-size: 10px; margin-top: 3px; }
.purchase-receipt-line label { color: #627c71; display: grid; font-size: 10px; font-weight: 750; gap: 4px; }
.purchase-receipt-line input { border: 1px solid #c9d7d4; border-radius: 8px; min-height: 38px; padding: 7px 9px; width: 100%; }
.purchase-receipt-line.is-over { background: #fff8ec; border-color: #e9c891; }
.purchase-variance-warning { background: #fff6e5; border-radius: 8px; color: #8b5c1d; font-size: 11px; line-height: 1.5; padding: 9px 11px; }
.purchase-receipt { background: #f8faf9; border: 1px solid #e2eae6; border-radius: 9px; padding: 11px 12px; }
.purchase-receipt strong { color: #33584c; display: block; font-size: 12px; }
.purchase-receipt small, .purchase-receipt p { color: #73877d; display: block; font-size: 11px; line-height: 1.45; margin: 4px 0 0; overflow-wrap: anywhere; }
.purchase-close-form { display: grid; gap: 8px; }
.purchase-close-form label { color: #5e776f; font-size: 11px; font-weight: 750; }
.purchase-close-form input { border: 1px solid #c9d7d4; border-radius: 9px; min-height: 42px; padding: 9px 11px; width: 100%; }
.purchase-close-form .button { justify-self: start; }
.purchase-order-lines + .feedback, .purchase-receive-panel .feedback { margin: 14px 0 0; }


@media (max-width: 1160px) {
  .module-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .products-layout { grid-template-columns: 1fr; }
  .orders-layout { grid-template-columns: 1fr; }
  .procurement-top-grid { grid-template-columns: 1fr; }
  .orders-list { max-height: 400px; }
  .products-side { grid-template-columns: 1fr; }
  .users-layout { grid-template-columns: 1fr; }
  .add-user-panel { max-width: 650px; }
  .account-layout { grid-template-columns: 1fr; max-width: 650px; }
}

@media (max-width: 800px) {
  .login-layout { display: block; }
  .login-intro { min-height: 330px; padding: 32px 26px; }
  .login-intro .brand { margin-bottom: 43px; }
  .login-intro h1 { font-size: clamp(32px, 8vw, 46px); }
  .login-intro > p:not(.eyebrow) { font-size: 14px; }
  .login-intro-foot { margin-top: 35px; }
  .login-panel { min-height: 0; padding: 28px 20px 50px; }
  .app-shell { display: block; }
  .sidebar { min-height: 0; padding: 12px 18px 11px; }
  .sidebar .brand { font-size: 16px; margin: 0; }
  .sidebar .brand-mark { height: 28px; width: 28px; }
  .sidebar-caption, .nav-divider, .nav-caption, .nav-pending, .sidebar-foot { display: none; }
  .nav { display: flex; gap: 5px; margin-top: 10px; }
  .nav { overflow-x: auto; }
  .nav-item { flex: none; justify-content: center; min-height: 34px; padding: 8px 10px; width: auto; }
  .nav-symbol { display: none; }
  .app-header { min-height: 58px; padding: 10px 20px; }
  .main-content { padding: 28px 20px 55px; }
}

@media (max-width: 560px) {
  .login-intro { min-height: 0; }
  .login-intro-foot { display: none; }
  .login-card { padding: 26px; }
  .header-context { display: none; }
  .account { justify-content: space-between; width: 100%; }
  .account-text { text-align: left; }
  .page-heading { align-items: stretch; }
  .company-control { width: 100%; }
  .identity-grid, .metrics, .module-grid { grid-template-columns: 1fr; }
  .product-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .procurement-stats { grid-template-columns: 1fr; }
  .product-balance { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .identity-card { padding: 18px; }
  .metric { padding: 16px 18px; }
  .module-card { min-height: 150px; }
  .panel { padding: 17px; }
  .user-controls { align-items: stretch; }
  .user-controls label, .user-controls select { width: 100%; }
  .account-layout .panel { padding: 19px; }
  .account-profile dl div { grid-template-columns: 80px minmax(0, 1fr); }
  .product-row-stocks { gap: 7px 11px; }
  .order-detail-grid { grid-template-columns: 1fr; }
  .delivery-proof-expected .document-invoice-summary { grid-template-columns: 1fr; }
  .proof-line-check { grid-template-columns: minmax(0, 1fr) 80px; }
  .order-form-line-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .purchase-form-line-fields { grid-template-columns: minmax(0, 2fr) minmax(105px, 1fr); }
  .shortage-row { grid-template-columns: 1fr; }
  .shortage-amounts { justify-content: flex-start; }
.purchase-receipt-line { grid-template-columns: 1fr; }
}

/* Restricted SMSV partner workspace */
.smsv-shell { min-height: 100vh; }
.smsv-header { align-items: center; background: #183b3c; color: #edf8f4; display: flex; flex-wrap: wrap; gap: 16px; justify-content: space-between; min-height: 76px; padding: 17px clamp(20px, 4vw, 55px); }
.smsv-account { align-items: center; display: flex; flex-wrap: wrap; gap: 15px; font-size: 12px; font-weight: 700; }
.smsv-account .button { background: #2e5d5a; border-color: #538077; color: #fff; }
.smsv-main { margin: 0 auto; max-width: 1450px; padding: 38px clamp(20px, 4vw, 55px) 70px; }
.smsv-toolbar { align-items: end; display: flex; flex-wrap: wrap; gap: 9px; }
.smsv-toolbar label { color: #4f686a; display: grid; font-size: 11px; font-weight: 750; gap: 5px; }
.smsv-toolbar select { background: #fff; border: 1px solid #c9d7d4; border-radius: 9px; color: #203638; min-height: 40px; min-width: 180px; padding: 8px 12px; }
.smsv-layout { align-items: start; display: grid; gap: 16px; grid-template-columns: minmax(275px, .72fr) minmax(0, 1.28fr); }
.smsv-orders-list { display: grid; gap: 9px; max-height: 680px; overflow-y: auto; }
.smsv-order-card { background: #fff; border: 1px solid #dce7e2; border-radius: 9px; color: #264b45; display: grid; gap: 5px; padding: 13px 15px; text-align: left; width: 100%; }
.smsv-order-card:hover { background: #f4f9f7; border-color: #b7d8cd; }
.smsv-order-card.is-selected { background: #eaf4ef; border-color: #499984; box-shadow: inset 3px 0 #277e68; }
.smsv-order-card strong { font-size: 13px; overflow-wrap: anywhere; }
.smsv-order-card span { color: #536f69; font-size: 12px; overflow-wrap: anywhere; }
.smsv-order-card small { color: #788d83; font-size: 11px; line-height: 1.35; }
.smsv-placeholder { color: #758b83; padding: 50px 15px; text-align: center; }
.smsv-placeholder h2 { color: #2d5349; font-size: 19px; margin-bottom: 7px; }
.smsv-placeholder p { font-size: 12px; margin: 0; }
.smsv-detail-head { align-items: start; display: flex; flex-wrap: wrap; gap: 10px; justify-content: space-between; }
.smsv-detail-head h2 { font-size: 24px; margin: 0 0 5px; overflow-wrap: anywhere; }
.smsv-detail-head p:not(.eyebrow) { color: #788b85; font-size: 11px; }
.smsv-detail-grid { border-bottom: 1px solid #e3ece8; border-top: 1px solid #e3ece8; display: grid; gap: 18px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 17px 0; padding: 16px 0; }
.smsv-detail-grid h3 { color: #688078; font-size: 11px; margin: 0 0 6px; }
.smsv-detail-grid p { font-size: 12px; font-weight: 700; line-height: 1.5; margin: 0; overflow-wrap: anywhere; }
.smsv-progress { background: #edf5f1; border-radius: 8px; color: #285c4f; font-size: 13px; font-weight: 750; padding: 12px 14px; }
.smsv-receipt-form fieldset { border: 0; margin: 0; min-width: 0; padding: 0; }
.smsv-receipt-form legend { font-size: 16px; font-weight: 750; margin-bottom: 6px; }
.smsv-receipt-form .field-help { display: block; margin: 0 0 14px; }
.smsv-receipt-lines { display: grid; gap: 9px; }
.smsv-line { align-items: center; background: #f8faf9; border: 1px solid #e1eae5; border-radius: 9px; display: grid; gap: 8px 15px; grid-template-columns: minmax(0, 1fr) 100px; padding: 13px; }
.smsv-line.is-complete { grid-template-columns: 1fr; }
.smsv-line strong { color: #2b5146; display: block; font-size: 13px; overflow-wrap: anywhere; }
.smsv-line small { color: #778980; display: block; font-size: 11px; line-height: 1.4; margin-top: 4px; overflow-wrap: anywhere; }
.smsv-line-amounts { color: #557367; font-size: 11px; grid-column: 1; }
.smsv-line label { color: #5b756a; display: grid; font-size: 10px; font-weight: 750; gap: 5px; grid-column: 2; grid-row: 1 / span 2; }
.smsv-line input { background: #fff; border: 1px solid #cbdad1; border-radius: 8px; color: #263f36; min-height: 38px; padding: 7px 9px; width: 100%; }
.smsv-actions { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 16px; }
.smsv-pending { background: #fff7e9; border: 1px solid #e7c98f; border-radius: 9px; color: #805923; margin-top: 17px; padding: 13px; }
.smsv-pending p { font-size: 12px; line-height: 1.5; margin: 0 0 10px; }
.smsv-detail-panel .feedback { margin: 16px 0 0; }
.smsv-history { border-top: 1px solid #e3ece8; margin-top: 24px; padding-top: 18px; }
.smsv-history h3 { font-size: 15px; margin: 0 0 10px; }
.smsv-history-list { display: grid; gap: 8px; }
.smsv-history-item { background: #f8faf9; border: 1px solid #e1eae5; border-radius: 9px; padding: 11px 13px; }
.smsv-history-item strong { color: #2d5548; font-size: 11px; }
.smsv-history-item p { color: #6c8175; font-size: 11px; line-height: 1.4; margin: 5px 0 0; }

@media (max-width: 900px) { .smsv-layout { grid-template-columns: 1fr; } .smsv-orders-list { max-height: 330px; } }
@media (max-width: 560px) { .smsv-main { padding-top: 25px; } .smsv-detail-grid { grid-template-columns: 1fr; } .smsv-line { grid-template-columns: 1fr; } .smsv-line-amounts, .smsv-line label { grid-column: 1; grid-row: auto; } }

@media (max-width: 390px) {
  .order-form-line-fields { grid-template-columns: 1fr; }
  .purchase-form-line-fields { grid-template-columns: 1fr; }
  .order-line-amounts { gap: 4px; }
  .order-line-amounts div { padding: 7px; }
}

@media (prefers-reduced-motion: reduce) { .button { transition: none; } }
