/* Trofeos Barragan — original forest green and gold palette. */
.bank-page-toolbar { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:24px; }
.bank-page-toolbar h2 { font-size:20px; margin:0 0 8px; }
.bank-page-toolbar p { color:var(--muted); font-size:13px; line-height:1.6; margin:0; }
.bank-page-toolbar>div:last-child { display:flex; gap:10px; flex-shrink:0; }
.bank-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(290px,1fr)); gap:18px; }
.bank-card { padding:24px; background:var(--surface); border:1px solid var(--line); border-top:3px solid var(--forest); border-radius:12px; min-width:0; }
.bank-card-heading { display:flex; gap:12px; align-items:center; }
.bank-card-heading h3 { font-size:16px; margin:0 0 4px; overflow-wrap:anywhere; }
.bank-card-heading>div { flex:1; min-width:0; }
.bank-card-heading>div>span { color:var(--muted); font-size:12px; }
.bank-symbol { display:grid; place-items:center; width:42px; height:42px; background:var(--sage); border-radius:10px; color:var(--forest); flex-shrink:0; }
.bank-symbol svg { width:22px; height:22px; }
.bank-state { color:var(--positive); background:var(--sage); font-size:10px; padding:5px 8px; border-radius:20px; }
.bank-inactive { border-top-color:var(--line); }
.bank-inactive .bank-state { color:var(--muted); background:var(--surface-alt); }
.bank-number { font-size:24px; letter-spacing:1px; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; margin:24px 0; font-weight:700; }
.bank-card dl { margin:0; display:grid; gap:12px; font-size:12px; }
.bank-card dt { color:var(--muted); margin-bottom:4px; }
.bank-card dd { margin:0; overflow-wrap:anywhere; line-height:1.5; }
.bank-card-actions { border-top:1px solid var(--line); padding-top:16px; margin-top:20px; display:flex; justify-content:space-between; align-items:center; }
.bank-check { display:flex; gap:12px; align-items:flex-start; font-size:13px; cursor:pointer; line-height:1.5; }
.bank-check input { width:20px; height:20px; accent-color:var(--forest); flex-shrink:0; margin:1px 0 0; }
.bank-check strong,.bank-check small { display:block; }
.bank-check small { font-size:12px; font-weight:400; color:var(--muted); margin-top:3px; }
.whatsapp-bank-option,.quick-save-choice { padding:16px; background:var(--surface-alt); border:1px solid var(--line); border-radius:9px; margin:16px 0; }
.whatsapp-bank-option .field-hint { margin:10px 0 0 32px; }
#order-whatsapp-bank-details textarea { background:var(--surface-alt); font-size:12px; }
.quick-photo-box { display:flex; gap:16px; align-items:center; padding:14px; border:1px dashed #b6c8b9; border-radius:9px; }
.quick-photo-box>img,.quick-photo-box>span { width:86px; height:96px; object-fit:contain; border-radius:7px; background:var(--surface-alt); flex-shrink:0; }
.quick-photo-box>span { display:grid; place-items:center; color:#7d9989; }
.quick-photo-box svg { width:24px; height:24px; }
.quick-photo-box strong { font-size:13px; }
.quick-photo-box p { font-size:12px; color:var(--muted); margin:5px 0 10px; line-height:1.5; }
.quick-photo-box>div { min-width:0; flex:1; }
.quick-photo-actions { display:flex; flex-wrap:wrap; gap:8px; }
.quick-photo-actions .button { min-height:42px; }
.quick-photo-actions .button svg { width:16px; height:16px; }
.quick-photo-field { margin-bottom:20px; }
@media(max-width:700px){
  .bank-page-toolbar { align-items:flex-start; flex-direction:column; }
  .bank-page-toolbar>div:last-child { width:100%; flex-wrap:wrap; }
  .bank-grid { grid-template-columns:minmax(0,1fr); }
  .bank-card { padding:20px; }
  .bank-card-heading { flex-wrap:wrap; }
  .bank-number { font-size:23px; }
  .quick-photo-box { gap:10px; padding:10px; }
  .quick-photo-box>img,.quick-photo-box>span { width:66px; height:86px; }
  .quick-photo-actions { flex-direction:column; align-items:stretch; }
  .quick-photo-actions .button { width:100%; min-height:44px; padding:10px 12px; }
}
:root {
  --forest:#173e35; --forest-dark:#12352d; --green:#245546; --gold:#e9c576;
  --ink:#243b33; --muted:#626f65; --line:#e6e9e3; --paper:#fafbf8;
  --sage:#e8efe8; --sand:#f6eddb; --rose:#f7eae6;
  --accent:#173e35; --accent-hover:#245849; --accent-soft:#e8efe8;
  --surface:#fff; --surface-alt:#f7f9f4; --positive:#087462; --warning:#8a5a0b;
  --danger:#ad2635; --radius:12px; color-scheme:light;
}
body { background:var(--paper); }
button,input,select,textarea { font-family:inherit; }
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible {
  outline:3px solid #cfab57; outline-offset:3px;
}
::selection { background:#dce8cf; color:#173e35; }
svg { stroke-width:1.8; }
.sidebar {
  background:linear-gradient(165deg,#173e35 0%,#12352d 65%); border-right:1px solid #304539;
  padding-top:28px; scrollbar-color:#4a6455 #12352d;
}
.sidebar>.company-brand { padding:0 8px 26px; margin:0; flex-shrink:0; }
.sidebar .company-brand-logo { width:45px; height:64px; border-radius:5px; }
.company-brand-name { font-size:14px; letter-spacing:.2px; }
.company-brand-name strong { font-size:22px; letter-spacing:-.7px; }
.desktop-nav { padding-top:24px; border-top:1px solid #ffffff1c; gap:7px; }
.nav-item { position:relative; min-height:48px; padding:12px 14px; border-radius:8px; font-size:13px; color:#b8cec1; border:1px solid transparent; }
.nav-item svg { width:19px; height:19px; color:#8cac99; }
.nav-item:hover { background:#ffffff09; color:#fff; border-color:#ffffff12; }
.nav-item.active { background:#ffffff0d; border-color:#ffffff16; color:#fff; font-weight:700; }
.nav-item.active:before { left:-1px; height:24px; width:3px; border-radius:2px; background:#e9c576; box-shadow:0 0 12px #e9c57645; }
.nav-item.active svg { color:#e9c576; }
.nav-count { color:#d9e3d4; background:#ffffff10; border:1px solid #ffffff12; padding:2px 6px; font-size:10px; }
.nav-item.active .nav-count { color:#f0dcae; background:#e9c57616; border-color:#e9c57630; }
.sidebar-user-info>span { color:#a9c3b4; }
.sidebar-user-avatar { background:#304539; color:#edf2ea; border:1px solid #466051; border-radius:10px; }
.sidebar-signout { color:#c9dad0; border-color:#3b5445; font-size:12px; }
.sidebar-signout svg { color:#a9c3b4; }
.sidebar-signout:hover { background:#ffffff09; border-color:#759281; color:#fff; }
.topbar { height:76px; background:#ffffffed; border-color:var(--line); }
.breadcrumb { color:var(--muted); font-size:11px; }
.breadcrumb strong { color:var(--ink); font-weight:650; }
.storage-status { color:#51735f; font-size:10px; }
.status-dot { background:#10977b; box-shadow:0 0 0 3px #10977b12; }
.icon-button { color:#658371; border-radius:7px; }
.icon-button:hover { color:var(--ink); background:#edf2ea; }
.options-menu { border-radius:10px; border-color:var(--line); box-shadow:0 16px 48px #202f2624; }
.options-menu button { font-size:12px; padding:12px 10px; border-radius:6px; }
.options-menu button:hover { background:#f3f6f1; }
.cloud-account { color:var(--muted); font-size:11px; padding:12px 10px; }
main { padding-top:36px; }
.page-heading { margin-bottom:26px; }
.eyebrow { font-size:10px; color:#5a816a; letter-spacing:1.7px; font-weight:700; }
.page-heading .eyebrow { display:flex; align-items:center; gap:9px; }
.page-heading .eyebrow:before { content:''; width:18px; height:2px; background:var(--accent); }
h1 { font-size:38px; letter-spacing:-1.7px; font-weight:750; }
.page-heading p:last-child { color:var(--muted); font-size:13px; line-height:1.65; margin-top:9px; }
.button { min-height:44px; border-radius:7px; font-size:12px; font-weight:700; padding:12px 18px; }
.primary { background:var(--accent); color:#fff; box-shadow:0 3px 0 #12352d12,0 5px 12px #173e3510; border:1px solid var(--accent); }
.primary:hover { background:var(--accent-hover); border-color:var(--accent-hover); }
.secondary { background:#fff; color:#245546; border-color:#d1dfd7; box-shadow:0 1px 2px #202d2505; }
.secondary:hover { background:#f4f7f3; border-color:#99b8a6; }
.small { font-size:11px; min-height:38px; padding:9px 12px; }
.heading-add { margin-top:0; }
.stats { gap:14px; background:none; border:0; padding:0; border-radius:0; margin-bottom:28px; }
.stat { padding:21px; background:#fff; border:1px solid var(--line); border-radius:var(--radius); box-shadow:0 2px 3px #173e3503; gap:14px; }
.stat:not(:last-child) { border-right:1px solid var(--line); }
.stat-icon { background:#f0f4ee; color:#537762; border:1px solid #e5ece1; border-radius:10px; width:44px; height:44px; }
.stat-icon.sand { background:#fff4df; color:#956318; border-color:#efdfbe; }
.stat-icon.rose { background:#faedf0; color:#b34b5b; border-color:#f0d6dc; }
#order-stats .stat-icon.rose { color:#137360; background:#e4f4ee; border-color:#c6e5da; }
.stat-label { color:#5a816a; font-size:11px; }
.stat strong { font-size:29px; font-weight:700; letter-spacing:-1px; }
.stat-caption { color:#5a816a; font-size:10px; }
.section-bar { margin-bottom:18px; }
.section-bar h2 { font-size:18px; letter-spacing:-.45px; }
.section-bar h2>span { color:#597d68; background:#e9efe6; font-size:11px; }
.collection-label { color:#5a816a; font-size:9px; }
.tiny-line { background:#a6c1b1; }
.filter-tabs { gap:8px; margin-bottom:18px; }
.filter-tab { border-color:#dde6d8; border-radius:6px; color:#5d7f6b; font-size:12px; min-height:42px; padding:10px 15px; }
.filter-tab:hover { border-color:#9bbaa8; background:#fff; }
.filter-tab.active { background:#173e35; border-color:#173e35; color:#fff; }
.filter-tab .tab-count { background:#f0f4ee; color:#658371; font-size:9px; }
.filter-tab.active .tab-count { color:#fff; background:#ffffff1c; }
.catalog-toolbar { gap:16px; margin-bottom:21px; }
.search-field { height:46px; border-radius:8px; border-color:#dbe4d6; box-shadow:0 1px 3px #173e3503; }
.search-field:focus-within { border-color:#64806d; box-shadow:0 0 0 3px #173e350b; }
.search-field>span { color:#84a090; }
.search-field input { font-size:12px; }
.search-field input::placeholder { color:#5a816a; }
.search-field kbd { border-color:#e6e9e3; color:#8aa495; }
.sort-control,.sort-control select { color:#597d68; font-size:11px; }
.view-toggle { background:#ebf0e8; border-color:#e6e9e3; padding:4px; border-radius:7px; }
.view-toggle button { color:#769884; }
.view-toggle button.active { color:#293c31; box-shadow:0 1px 4px #173e3512; }
.product-grid { gap:20px; }
.product-card { border-color:#dee7da; border-radius:12px; box-shadow:0 3px 8px #173e3504; }
.product-card:hover { border-color:#aac4b5; box-shadow:0 10px 28px #173e350c; transform:translateY(-3px); }
.product-photo { background-color:#eff3ed; }
.photo-category { background:#fffffff2; color:#3e5949; border:1px solid #e4ebe0; font-size:10px; padding:5px 9px; }
.favorite-button { width:33px; height:33px; border-radius:8px; color:#668874; border:1px solid #e4ebe0; }
.favorite-button:hover,.favorite-button.is-favorite { color:var(--accent); }
.favorite-button.is-favorite svg { fill:var(--accent); stroke:var(--accent); }
.product-info { padding:18px; }
.product-info h3 { font-size:14px; letter-spacing:-.25px; line-height:1.55; }
.product-size { font-size:11px; color:#5a816a; }
.product-bottom { border-color:#eaefe7; padding-top:14px; margin-top:16px; }
.product-price { font-size:23px; font-weight:700; color:#173e35; }
.product-price small { font-size:9px; color:#5a816a; }
.product-arrow { background:#f1f4ef; color:#547963; width:29px; height:29px; border-radius:6px; }
.category-card { border-radius:var(--radius); border-color:var(--line); box-shadow:0 3px 8px #173e3504; }
.category-card>.stat-icon { margin-bottom:24px; }
.category-card h3 { font-size:20px; font-weight:700; letter-spacing:-.6px; }
.category-card p { font-size:12px; }
.category-subcategories { border-color:var(--line); }
.subcategory-heading>h4,.subcategory-row>button:first-child { color:#4f725e; }
.subcategory-heading>h4>span { color:#547963; background:#ecf1ea; }
.subcategory-row small,.category-card .subcategory-empty { color:#5a816a; }
.subcategory-add,.subcategory-field-footer>button { color:#245546; font-weight:600; }
.subcategory-filter { border-color:#ccdcd3; }
.subcategory-tabs { scrollbar-color:#c9dad0 transparent; }
.subcategory-filter>p { color:#5a816a; font-size:10px; }
.subcategory-tab { color:#60846f; border-color:#dee7d9; border-radius:6px; font-size:11px; }
.subcategory-tab>span { color:#5a816a; }
.subcategory-tab.active { color:#245546; background:#e8efe8; border-color:#bcd0bc; }
.subcategory-tab.active>span { color:#245546; }
.product-subcategory-label { color:#5a826b; background:#f1f5ef; border-color:#e3ebdf; }
.empty-state,.picker-empty { background:#fff; border-color:#cfddd5; color:#648b74; border-radius:var(--radius); }
.empty-icon { background:#eef3eb; color:#5b836c; border-radius:16px; }
.sample-notice,.sample-notice button { color:#678b76; font-size:10px; }
.main-footer,.main-footer button { color:#5a816a; font-size:10px; }

/* Orders, fulfilment and finance share one semantic colour system. */
.order-record { border-color:#dde6d9; border-radius:var(--radius); box-shadow:0 3px 9px #173e3504; }
.order-card { padding:25px; border-color:var(--line); }
.order-card:hover,.order-record>.order-card:hover { background:#fbfcfa; border-color:#b9cfc2; }
.order-card-icon { color:#608a72; background:#f1f4ef; border:1px solid #e4ebe0; border-radius:9px; }
.order-reference { color:#547963; font-size:12px; font-variant-numeric:tabular-nums; }
.order-status { color:#865609; background:#fff1d5; border:1px solid #ecd6aa; font-size:10px; padding:5px 9px; border-radius:5px; font-weight:650; }
.status-produccion { color:#285c91; background:#e9f1fc; border-color:#cbdcf0; }
.status-listo { color:#12665a; background:#dff4ee; border-color:#b8e3d8; }
.status-entregado { color:#396b55; background:#e9f3ec; border-color:#c9dfd1; }
.status-cancelado { color:#8c4a58; background:#f8eaf0; border-color:#e9cdd6; }
.order-card h3 { font-size:19px; letter-spacing:-.6px; }
.order-card-products { color:#5a816a; font-size:12px; }
.order-card-products>span,.order-quantity { color:#5a816a; font-size:10px; }
.order-delivery { color:#5b836c; font-size:11px; }
.overdue { color:#ad2635; font-weight:650; }
.order-card-price>strong { font-size:28px; font-weight:700; }
.order-card-price>span:not(.product-arrow) { color:#5a816a; font-size:9px; }
.order-item-thumb { border-color:#e1eadd; border-radius:7px; }
.order-item-thumb.no-item-photo { background:#f2f5f0; color:#759c85; }
.order-thumb-quantity { background:#173e35ee; color:#fff; }
.order-thumbnails-more { background:#f1f4ef; color:#5a826b; border-color:#cadad1; }
.order-money-line>span { color:#648b74; font-size:11px; }
.order-money-line strong { color:#415d4d; font-size:14px; }
.order-money-line .balance-due strong,.finance-summary .balance-due strong { color:#8a5a0b; }
.order-money-line .balance-paid strong,.finance-summary .balance-paid strong { color:var(--positive); }
.order-record>.collection-actions { background:#f9fbf8; border-color:#e6ede2; padding:14px 24px; }
.collection-actions .button { font-size:11px; min-height:40px; }
.pending-summary>div { border-color:var(--line); border-radius:var(--radius); padding:24px; background:#fff; }
.pending-summary>div:last-child { border-top:3px solid #c79442; }
.pending-summary>div:first-child { border-top:3px solid #638e75; }
.pending-summary>div>div>span { color:#618670; font-size:12px; }
.pending-summary strong { font-size:32px; font-weight:700; }
.finance-summary,.discount-calculation,.collection-balance { background:#f6f8f5; border-color:#e2eade; border-radius:9px; }
.finance-summary span,.discount-calculation p>span,.collection-balance>span { color:#5a816a; font-size:11px; }
.finance-summary>div:not(:last-child),.discount-calculation p:last-child:not(:nth-child(2)) { border-color:#dfe8da; }
.finance-summary strong { font-size:22px; }
.collection-balance { background:#173e35; border-color:#173e35; color:white; }
.collection-balance>span { color:#bfd3c7; }
.collection-balance>strong { font-size:34px; }
.payment-order-label { color:#626f65; font-size:12px; line-height:1.7; }
#payment-form .form-field,#delivery-form .form-field { margin-top:18px; }
.discount-calculation p:nth-child(2),.order-card-price .order-discount-badge { color:#86601d; }
.payment-progress { background:#e8efe5; height:5px; }
.payment-progress>span { background:#168772; }
.payment-record { border-color:var(--line); }
.payment-record-icon { background:#e6f3ee; color:#2c7b66; }
.payment-record>div>span,.payment-record-amount button,.order-finance .no-payments { color:#5a816a; font-size:11px; }
.payment-record .payment-record-amount>strong,.delivery-recorded,.order-detail-section .delivery-recorded { color:var(--positive); }
.deposit-choice label { border-color:#dce6d7; font-size:12px; }
.deposit-choice label:has(input:checked) { border-color:#83a892; background:#f2f5f0; }
.deposit-choice input,.coordinate-choice input { accent-color:#4c6e5a; }
.deposit-balance>span,.existing-payment-total { color:#608a72; font-size:12px; }
.existing-payment-total strong { color:#166e5c; }
.deposit-balance>.balance-error { color:var(--danger); }

/* Dialogs retain their explicit close/cancel behaviour. */
dialog { background:#fff; border:1px solid #d1dfd7; border-radius:14px; box-shadow:0 32px 100px #17221c50; }
dialog::backdrop { background:#131c1775; backdrop-filter:blur(5px); }
.dialog-header { background:#173e35; color:#f7faf6; padding:23px 28px; border-bottom:1px solid #3a5445; }
.dialog-header .eyebrow { color:#c4d6cc; font-size:9px; letter-spacing:1.8px; }
.dialog-header h2 { font-size:23px; color:#fff; letter-spacing:-.7px; }
.dialog-header>.icon-button { color:#c9d9d0; background:#ffffff08; border:1px solid #ffffff18; }
.dialog-header>.icon-button:hover { color:#fff; background:#ffffff16; }
.dialog-body { padding-top:22px; }
.dialog-footer { background:#f8faf7; border-color:#e2eade; padding:18px 28px; }
.dialog-footer .button { font-size:12px; }
.form-field,.order-line .form-field,.selected-product-quantity .form-field { font-size:12px; font-weight:650; color:#3c5647; }
.form-field>input,.form-field>select,.form-field>textarea { background:#fff; border-color:#d7e2d2; border-radius:7px; font-size:14px; min-height:46px; font-weight:450; color:#2b3e33; }
.form-field>input:hover,.form-field>select:hover,.form-field>textarea:hover { border-color:#acc5b6; }
.form-field input::placeholder,.form-field textarea::placeholder { color:#5a816a; }
.form-field>textarea { line-height:1.65; }
.required { color:#b3263b; }
.optional { color:#6e917d; font-size:10px; }
.form-error { color:var(--danger); background:#fdf0f2; border-color:#efc4cb; }
.field-hint,.photo-hint,.subcategory-field-footer>p,.order-form-section>.field-hint,.order-ribbon-field .ribbon-hint,.delivery-hint { color:#5a816a; font-size:11px; }
.price-input { border-color:#d7e2d2; }
.price-input>span { color:#5a816a; }
.photo-uploader,.plate-image-upload { background:#f8faf7; border-color:#bfd3c7; color:#5c846d; }
#photo-placeholder>span:first-child { background:#ecf1ea; color:#69977c; }
#photo-placeholder>span:last-child { color:#5a816a; }
.photo-uploader .button { background:white; }
.category-shortcut button,.full-balance-button { color:#245546; font-size:11px; font-weight:650; }
.order-steps { background:#173e35; border-color:#375041; padding-top:1px; }
.order-steps button,.order-steps small { color:#a2bfae; }
.order-steps button>span:first-child { background:#31473a; color:#bfd3c7; border-color:#486855; border-radius:9px; }
.order-steps .active,.order-steps .complete { color:#fff; }
.order-steps .active>span:first-child { color:#fff; background:var(--accent); border-color:#638772; }
.order-steps .complete>span:first-child { color:#a9e3d2; background:#26493f; border-color:#548a78; }
.order-steps .active small { color:#ccdcd3; }
.step-connector { background:#476654; }
.picker-heading p { color:#5a816a; font-size:12px; }
.selection-shortcut { background:#f0f4ee; color:#4b6b58; border:1px solid #dfe8db; font-size:11px; }
.picker-product { border-color:#dde6d9; border-radius:10px; }
.picker-product:hover { border-color:#8fb19d; }
.picker-product.selected { border-color:var(--accent); box-shadow:0 0 0 1px var(--accent); }
.selected .picker-check { background:var(--accent); color:white; }
.picker-product h4 { font-size:14px; }
.picker-measure,.picker-product-info>p,.picker-product-bottom>span { color:#5a816a; }
.picker-product.selected .picker-product-bottom>span { color:#245546; }
.picker-product-bottom { border-color:#e6ede2; }
.order-line { background:#f9fbf8; border-color:#dfe8da; border-radius:10px; }
.order-line-heading>span { color:#5a816a; font-size:9px; }
.order-line-heading .icon-button { color:#7ea18d; }
.selected-product-header>div>span,.selected-product-description,.selected-unit-price>span,.selected-line-total>span { color:#5a816a; font-size:11px; }
.selected-product-quantity,.order-ribbon-field,.order-distinction-field { border-color:#e3ebdf; }
.order-form-section>h3 { font-size:14px; }
.order-form-section>h3>span { color:#5b846c; background:#eef3eb; }
.order-form-total>span,.order-form-total small { color:#5a816a; }
.order-form-total>strong { font-size:26px; font-weight:750; }
.order-line-subtotal { color:#173e35; }
.quick-product-option { background:#fff; border-color:#dde6d9; border-left:3px solid #afc8b9; }
.quick-product-option p,.quick-product-label>span { color:#5a816a; }
.quick-product-option .secondary { color:#245546; border-color:#c6d8c4; background:#f7faf4; }
.quick-product-option .secondary:hover { background:#e8efe8; border-color:#7c9c81; }
.wizard-selection-summary { background:#f3f6f1; border-color:#dee7d9; border-left:3px solid #77a189; }
.wizard-selection-summary p,.wizard-selection-summary .eyebrow { color:#5a816a; }
.wizard-selection-summary button,.selection-section-heading button { color:#245546; font-size:11px; font-weight:650; }
.selection-section-heading h3>span { background:#eef3eb; color:#5d876f; }
.customer-lookup { background:#f3f6f1; border-color:#e0e8dc; border-left:3px solid #77a189; }
.customer-lookup-hint,.customer-result small,.customer-results>p { color:#5a816a; font-size:11px; }
.customer-result,.customer-results { border-color:#dee7da; }
.customer-result:hover { background:#ebf0e8; }
.customer-result-avatar { background:#e9efe6; color:#649076; border-radius:8px; }
.customer-result>svg { color:#649076; }
.customer-selected { color:#486755; border-color:#d8e3d2; background:#f8faf7; }
.coordinate-choice { border-color:#dbe5d6; background:#f6f8f5; }
.coordinate-choice:has(input:checked) { border-color:#769f87; background:#f1f5ef; }
.coordinate-choice small { color:#5a816a; }
.order-detail-section h3 { color:#567c66; font-size:12px; }
.order-detail-section p,.order-detail-item span,.order-detail-dates span { color:#5a816a; }
.order-detail-item,.order-ribbon-detail { border-color:#e3ebdf; }
.order-ribbon-detail,.order-item-note { background:#f5f8f3; }
.order-ribbon-detail strong,.order-item-note h4 { color:#547863; }
.order-detail-item .order-ribbon-detail span:not(.ribbon-swatch) { color:#5a816a; }
.order-distinction-detail,.order-detail-section .order-distinction-detail { color:#8a5a0b; }
.order-detail-total>span { color:#608a71; }
.detail-description { color:#628d74; }
.category-tag,.subcategory-parent-label { color:#547a64; background:#f3f6f1; border-color:#e2eade; }
.plate-image-field { border-color:#e0e9dc; }
.plate-image-heading>span,.plate-image-attached strong,.saved-plate-image strong { color:#5a816a; }
.plate-image-heading>small,.plate-image-hint,.plate-image-upload small,.plate-image-attached>div>span,.saved-plate-image>span,.saved-plate-image small,.plate-image-caption>p { color:#5a816a; font-size:11px; }
.plate-image-actions { border-color:#e5ece1; }
.plate-text-button { color:#245546; font-size:11px; }
.saved-plate-image>button { background:#f8faf7; border-color:#e0e8dc; }
.plate-full-image { background-color:#f9fbf8; background-image:conic-gradient(#ecf1e9 25%,transparent 0 50%,#ecf1e9 0 75%,transparent 0); }
.plate-image-thumbnail { border-color:#dfe8db; background-color:#f9fbf8; background-image:conic-gradient(#ecf1e9 25%,transparent 0 50%,#ecf1e9 0 75%,transparent 0); }
.danger { color:#ad2635; }
.category-card .subcategory-row>.danger { color:#ad2635; }
.icon-button.danger:hover { color:#9b1c2c; background:#fce8ed; }
.confirm-icon { color:#e8c68e; background:#ffffff0d; }

/* Accounts and access. */
.account-panel { border-color:#e0e8dc; border-radius:var(--radius); padding:26px; box-shadow:0 3px 8px #173e3504; }
.account-panel-heading { padding-bottom:18px; border-bottom:1px solid #e6ede2; }
.account-panel h2 { font-size:22px; letter-spacing:-.6px; }
.account-panel-copy,.account-field-hint,.account-login-label,.user-list-main p,.user-list-main small { color:#638f75; }
.account-role-hint { color:#577d67; background:#f3f6f1; border-color:#e0e9dc; }
.account-feedback { color:#865609; background:#fff4dd; border-color:#ecd6aa; }
.account-feedback.success { color:#12665a; background:#e4f5ef; border-color:#b8e3d8; }
.user-avatar { background:#eff3ed; color:#5d856e; }
.user-list-main strong { font-size:13px; }
.account-role-badge { background:#eef3eb; color:#5b846c; font-size:10px; }
.account-role-badge.admin { background:#e8efe8; color:#245546; }
.account-identity { border-top:3px solid #cfab57; }
.cloud-local-banner { background:#f2f6f0; border-color:#d9e3d4; color:#4f725e; }
.cloud-notice { background:#fff5e3; border-color:#e8d1aa; color:#79501a; }
.toast { background:#173e35; color:#fff; border:1px solid #486855; box-shadow:0 8px 30px #1f2d2530; }
.auth-screen { background:#fafbf8; }
.auth-brand-panel { background:linear-gradient(145deg,#173e35,#12352d); border-right:1px solid #385142; position:relative; gap:28px; }
.auth-brand-panel:after { content:''; position:absolute; left:0; bottom:0; width:100%; height:4px; background:linear-gradient(90deg,#e9c576 0 28%,#4f715d 28% 100%); }
.auth-company-logo { max-width:260px; border-radius:6px; border:1px solid #cddcd3; box-shadow:0 20px 50px #070a0835; }
.auth-brand-caption { max-width:340px; }
.auth-brand-caption .eyebrow { font-size:9px; color:#afc8b9; letter-spacing:1.4px; margin-bottom:12px; }
.auth-brand-caption h2 { font-size:31px; color:#f5f8f4; }
.auth-brand-caption>p:last-child { color:#b3cbbd; font-size:13px; }
.auth-card { max-width:420px; }
.auth-card>.eyebrow { color:#426448; font-size:10px; }
.auth-card h1 { font-size:35px; line-height:1.2; letter-spacing:-1.3px; }
.auth-intro { color:#638b74; font-size:14px; }
.auth-card .form-field { font-size:12px; }
.auth-card input { background:white; font-size:16px; min-height:50px; }
.auth-card .button { min-height:50px; }
.auth-hint { color:#5a816a; font-size:11px; border-top:1px solid #e3eadf; padding-top:20px; }
.auth-note { background:white; border-color:#dde6d9; }

@media(min-width:1001px) and (max-width:1200px) { .stat-caption { display:none; } .stat { padding:18px; } }
@media(min-width:701px) and (max-width:1000px) {
  .sidebar>.company-brand { padding:0 0 24px; }
  .sidebar .company-brand-logo { width:35px; height:50px; }
  .sidebar .company-brand-name { font-size:13px; }
  .sidebar .company-brand-name strong { font-size:18px; }
  .nav-item { padding:11px 10px; font-size:12px; gap:9px; }
  .stats { gap:10px; }
  .stat { padding:16px 12px; gap:9px; }
  .stat-icon { width:34px; height:36px; }
  .stat-label { font-size:10px; }
  .stat strong { font-size:26px; }
  .stat-caption { display:none; }
  .auth-main { padding:35px 26px; }
  .auth-card h1 { font-size:30px; }
}
@media(max-width:700px) {
  .topbar { height:76px; background:#12352d; border-color:#3a5445; color:#f2f5f0; padding:0 20px; }
  .topbar>.mobile-brand.company-brand { color:#f2f5f0; }
  .mobile-brand .company-brand-logo { border-color:#86a493; width:33px; height:47px; }
  .topbar .icon-button { color:#cddcd3; }
  .topbar .icon-button:hover { background:#ffffff12; }
  .storage-status { font-size:0; }
  .options-menu { color:var(--ink); }
  main { padding:26px 18px 130px; }
  h1 { font-size:31px; letter-spacing:-1.25px; }
  .page-heading { margin-bottom:23px; }
  .page-heading .eyebrow { font-size:8px; letter-spacing:1.2px; gap:7px; }
  .page-heading p:last-child { font-size:12px; line-height:1.6; }
  .stats { gap:8px; margin-bottom:25px; }
  .stat { display:block; padding:14px 12px; border-radius:9px; }
  .stat>.stat-icon { display:none; }
  .stat-icon { width:27px; height:28px; border-radius:7px; }
  .stat-label { font-size:10px; line-height:1.5; }
  .stat strong { font-size:25px; margin-top:3px; }
  .stat-caption { display:none; }
  .section-bar h2 { font-size:16px; }
  .section-bar h2>span { font-size:10px; }
  .filter-tabs { margin-right:-18px; padding-right:18px; gap:7px; margin-bottom:13px; }
  .filter-tab { font-size:11px; min-height:41px; padding:9px 12px; }
  .search-field { height:44px; min-width:150px; }
  .search-field input { font-size:12px; }
  .catalog-toolbar { gap:8px; margin-bottom:16px; }
  .sort-control select { font-size:10px; }
  .product-grid { gap:12px; }
  .product-card { border-radius:9px; }
  .product-info { padding:12px; }
  .product-info h3 { font-size:12px; min-height:37px; line-height:1.55; }
  .product-size { font-size:10px; }
  .product-price { font-size:21px; }
  .product-bottom { margin-top:12px; padding-top:11px; }
  .product-arrow { width:24px; height:24px; }
  .photo-category { font-size:8px; padding:4px 6px; left:8px; top:8px; }
  .favorite-button { width:29px; height:29px; top:8px; right:8px; }
  .list .product-info { gap:12px; padding:12px 43px 12px 13px; }
  .list .product-info h3 { min-height:0; }
  .list .product-price { font-size:19px; }
  .category-card { padding:22px; }
  .category-card h3 { font-size:20px; }
  .bottom-nav { background:#12352d; border-top:1px solid #3c5647; box-shadow:0 -8px 26px #1f2c2413; padding-top:9px; padding-bottom:calc(9px + env(safe-area-inset-bottom)); }
  .bottom-nav button { font-size:9px; color:#abc5b6; gap:5px; min-height:45px; }
  .bottom-nav button>span:first-child { border-radius:7px; }
  .bottom-nav button.active { color:#fff; }
  .bottom-nav button.active>span:first-child { color:#e9c576; background:transparent; }
  .bottom-nav button.active>span:first-child:before { background:#e9c57620; border:1px solid #e9c57630; }
  .bottom-nav button.active:before { background:var(--accent); }
  .mobile-add { background:var(--accent); color:#fff; border:1px solid #426d59; border-radius:14px; width:54px; height:54px; right:20px; bottom:calc(91px + env(safe-area-inset-bottom)); box-shadow:0 6px 20px #173e3545; }
  .mobile-add:hover { background:var(--accent-hover); }
  .pending-summary { gap:10px; }
  .pending-summary>div { padding:17px 14px; gap:10px; border-radius:10px; }
  .pending-summary>div>div>span { font-size:10px; }
  .pending-summary strong { font-size:26px; }
  .order-record { border-radius:10px; }
  .order-record>.order-card { padding:18px 15px; }
  .order-card h3 { font-size:18px; }
  .order-card-products { font-size:11px; }
  .order-reference { font-size:10px; }
  .order-status { font-size:9px; padding:4px 7px; }
  .order-card-bottom { gap:9px 12px; }
  .order-delivery,.order-quantity { font-size:10px; }
  .order-card-price { border-color:#e4ebe0; }
  .order-card-price>strong { font-size:24px; }
  .order-money-line>span { font-size:10px; }
  .order-money-line strong { font-size:13px; }
  .order-record>.collection-actions { padding:12px 14px; }
  .order-record>.collection-actions>.button { font-size:10px; min-height:42px; }
  .dialog-header { padding:21px 20px 18px; }
  .dialog-header h2 { font-size:22px; }
  .dialog-header .eyebrow { font-size:8px; letter-spacing:1.25px; }
  .dialog-body { padding:20px; }
  .dialog-footer { padding:16px 20px; }
  .dialog-footer .button { min-height:45px; font-size:12px; }
  .order-steps { padding:0 20px 20px; }
  .order-steps small { font-size:9px; }
  .form-field,.order-line .form-field { font-size:12px; }
  .form-field>input,.form-field>select,.form-field>textarea { font-size:16px; min-height:47px; }
  .picker-heading p { font-size:11px; }
  .picker-product h4 { font-size:12px; }
  .picker-product-info>p { font-size:11px; }
  .picker-measure { font-size:10px; }
  .picker-product-bottom>span { font-size:9px; }
  .order-line { padding:14px; }
  .quick-product-option { padding:15px; }
  .selected-product-header h4 { font-size:14px; }
  .selected-product-header>div>span,.selected-product-description { font-size:11px; }
  .selected-unit-price>span,.selected-line-total>span { font-size:9px; }
  .order-form-footer { gap:12px 10px; }
  .order-form-total>strong { font-size:26px; }
  .order-form-total small { font-size:9px; }
  .finance-summary strong { font-size:19px; }
  .finance-summary span { font-size:10px; }
  .plate-image-hint,.plate-image-upload small { font-size:10px; }
  .account-panel { padding:22px 18px; }
  .account-panel h2 { font-size:21px; }
  .account-panel-heading { margin-bottom:17px; }
  .auth-main { padding:32px 25px 65px; background:#fafbf8; border-top:4px solid var(--accent); }
  .auth-card>.auth-mobile-brand { margin-bottom:35px; }
  .auth-mobile-brand .company-brand-logo { border:1px solid #dce6d7; }
  .auth-card h1 { font-size:31px; }
  .auth-card>.eyebrow { font-size:9px; letter-spacing:1.25px; }
}
@media(max-width:380px) {
  .stat { padding:12px 9px; }
  .stat-icon { display:none; }
  .product-info { padding:11px 10px; }
  .product-price { font-size:19px; }
  .product-info h3 { font-size:11px; }
  .dialog-footer { padding-left:16px; padding-right:16px; }
}
@media(prefers-reduced-motion:reduce) { .product-card:hover { transform:none; } }
:root .order-schedule-fields{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:600px){:root .order-schedule-fields{grid-template-columns:repeat(2,minmax(0,1fr))}:root .order-schedule-fields>.form-field:first-child{grid-column:1/-1}}

/* The isolated trophy replaces the portrait logo without a white frame. */
.company-brand-logo,.auth-company-logo { background:transparent; border:0; border-radius:0; box-shadow:none; }
.sidebar .company-brand-logo { width:48px; height:60px; }
.auth-company-logo { max-width:250px; }
.mobile-brand .company-brand-logo { width:38px; height:47px; border:0; }
.auth-mobile-brand .company-brand-logo,.auth-card .auth-mobile-brand .company-brand-logo { width:74px; height:91px; border:0; }

.order-creator { display:flex; align-items:center; gap:7px; color:var(--muted); font-size:11px; line-height:1.6; margin:12px 0; overflow-wrap:anywhere; }
.order-creator>svg { width:15px; height:15px; flex:none; }
.order-creator strong { color:var(--forest); font-weight:650; }
.order-ready-row { padding:0 24px 15px; }
.order-ready-choice { display:flex; align-items:center; gap:11px; min-height:48px; padding:11px 14px; border:1px solid var(--line); border-radius:8px; cursor:pointer; background:var(--paper); }
.order-ready-choice input { width:20px; height:20px; flex:none; accent-color:var(--forest); cursor:pointer; }
.order-ready-choice strong { display:block; color:var(--forest); font-size:12px; }
.order-ready-choice small { display:block; margin-top:3px; color:var(--muted); font-size:10px; }
.order-ready-choice:has(input:checked) { background:#e8f3e9; border-color:#b7cfbd; }
@media(max-width:700px){.order-ready-row{padding:0 14px 12px}.order-creator{font-size:11px}}

.order-detail-footer { flex-wrap:wrap; }
.product-code-field { margin:0 0 22px; padding:16px; background:#f5f9f3; border:1px solid var(--line); border-radius:8px; }
.product-code-field .form-field { margin-bottom:7px; }
.product-code-field .field-hint { margin:0; line-height:1.6; }
#product-code { letter-spacing:1px; font-weight:650; text-transform:uppercase; }
#product-code[aria-invalid="true"] { border-color:#b63c35; }
.product-code-label { display:block; color:var(--muted); font-size:10px; font-weight:600; letter-spacing:.7px; margin:0 0 7px; overflow-wrap:anywhere; }
#detail-code { font-size:12px; margin:0 0 16px; }
.order-detail-footer #share-order { margin-left:auto; }
.order-whatsapp-dialog { width:620px; max-width:calc(100% - 32px); max-height:90dvh; }
.order-whatsapp-dialog[open] { display:flex; flex-direction:column; }
.order-whatsapp-dialog>.dialog-header,.order-whatsapp-dialog>.dialog-footer { flex-shrink:0; }
.order-whatsapp-dialog>.dialog-body { min-height:0; overflow-y:auto; }
.whatsapp-order-label { color:var(--forest); font-size:14px; font-weight:700; margin:0 0 8px; overflow-wrap:anywhere; }
.whatsapp-intro { font-size:12px; line-height:1.7; color:var(--muted); margin:0 0 22px; }
.whatsapp-message-field { margin-top:22px; }
#order-whatsapp-message { display:block; width:100%; resize:vertical; min-height:220px; padding:16px; border:1px solid var(--line); border-radius:8px; background:#f5f9f3; color:var(--forest); font:inherit; font-size:12px; font-weight:400; line-height:1.8; white-space:pre-wrap; overflow-wrap:anywhere; }
.whatsapp-long { padding:12px; background:#fff5d9; color:#72551b; font-size:12px; line-height:1.7; border-radius:8px; }
.whatsapp-footer .button { flex:1; }
.whatsapp-footer { flex-wrap:wrap; }
#order-media-direct { flex:1 0 100%; order:-1; }
#order-media-share { width:100%; margin-top:12px; }
#order-media-direct-hint { margin:14px 0 0; line-height:1.7; color:var(--forest); }
.order-media-section { padding:18px; border:1px solid #d6e2d8; border-radius:10px; background:#f7faf5; margin:20px 0; }
.order-media-count { color:var(--forest); font-size:11px; font-weight:700; margin:18px 0 12px; }
.order-media-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.order-media-card { min-width:0; background:#fff; border:1px solid var(--line); border-radius:8px; overflow:hidden; }
.order-media-select { display:block; position:relative; cursor:pointer; }
.order-media-select input { position:absolute; z-index:1; left:9px; top:9px; width:20px; height:20px; margin:0; accent-color:var(--forest); box-shadow:0 0 0 3px #fff; border-radius:3px; }
.order-media-thumb { display:flex; align-items:center; justify-content:center; aspect-ratio:1/1.1; background:#fafbf8; border-bottom:1px solid var(--line); }
.order-media-thumb img { width:100%; height:100%; object-fit:contain; }
.order-media-thumb>span { color:#93aa9a; }
.order-media-caption { display:block; padding:12px 10px 8px; }
.order-media-caption strong { display:block; font-size:12px; line-height:1.5; overflow-wrap:anywhere; }
.order-media-caption small { display:block; color:var(--muted); font-size:10px; line-height:1.6; margin-top:4px; }
.order-media-download { display:flex; align-items:center; justify-content:center; gap:7px; font-size:11px; font-weight:700; min-height:42px; padding:8px; border-top:1px solid var(--line); color:var(--forest); }
.order-media-download:hover { background:var(--sage); }
.order-media-download svg { width:15px; height:15px; }
.order-media-progress { display:block; padding:10px; color:var(--muted); font-size:11px; }
#order-media-hint { margin:14px 0 0; line-height:1.7; }
#order-media-missing { overflow-wrap:anywhere; }
.order-media-select:has(input:not(:checked)) .order-media-thumb { opacity:.5; }
.whatsapp-footer a[aria-disabled="true"] { opacity:.45; cursor:not-allowed; }
@media(max-width:700px){
  .order-detail-footer #share-order { order:-1; flex:1 0 100%; }
  .order-whatsapp-dialog { max-width:calc(100% - 20px); max-height:92dvh; }
  #order-whatsapp-message { font-size:16px; line-height:1.6; min-height:200px; }
  .whatsapp-footer { gap:8px; }
  .whatsapp-footer .button { font-size:11px; padding:12px 8px; gap:6px; }
  .order-media-section { padding:12px; }
  .order-media-grid { gap:8px; }
  .order-media-caption strong { font-size:11px; }
  .order-media-download { font-size:10px; gap:4px; }
}
.item-discount-detail{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:12px 0;color:#24513e;font-size:13px}
.item-discount-detail span{color:#61746a}
.order-ready-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}
.ready-whatsapp{flex-shrink:0}
#order-detail-content .order-ready-row{margin:14px 0;padding:0}

.item-discount-detail svg{width:16px;height:16px;flex-shrink:0}
.sale-price-hint{margin:10px 0 22px;font-size:11px;line-height:1.7;color:var(--muted)}
.sale-price-hint strong{color:var(--forest);font-weight:600}
.order-line-price{font-weight:650;color:var(--forest);background:#f5f9f3!important}
.selected-product-quantity .form-field{min-width:0}
@media(max-width:700px){
  .order-line .selected-product-quantity{grid-template-columns:80px minmax(0,1fr);gap:14px}
  .order-line .selected-product-quantity input{font-size:16px}
  .order-line .selected-line-total{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;padding:12px 0 0;border-top:1px solid var(--line)}
  .order-line .selected-line-total>span{margin-bottom:0;font-size:10px}
  .sale-price-hint{font-size:12px}
}
@media(max-width:480px){.order-ready-row .ready-whatsapp{width:100%;justify-content:center}}
