:root {
  font-family: "DM Sans", sans-serif;
  color: #20211f;
  background: #f5f4f0;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
  --ink: #20211f;
  --muted: #858a9b;
  --line: #e9e5dc;
  --surface: #fff;
  --canvas: #f5f4f0;
  --nav: #13120f;
  --nav-soft: #242119;
  --purple: #c7952d;
  --purple-light: #f7f0df;
  --green: #21866d;
  --green-soft: #e6f5ef;
  --orange: #c78232;
  --orange-soft: #fff2df;
  --red: #c95c65;
  --red-soft: #fdebed;
  --blue: #4271bd;
  --blue-soft: #eaf1fc;
  --shadow: 0 8px 24px rgba(46, 39, 25, .055);
}

* { box-sizing: border-box; }
body { margin: 0; min-width: 320px; min-height: 100vh; background: var(--canvas); }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
button:disabled { cursor: not-allowed; opacity: .55; }
a { color: inherit; }
.boot-screen { min-height: 100vh; display: grid; place-content: center; justify-items: center; gap: 14px; color: var(--muted); font-size: 15px; }
.brand-mark { width: 36px; height: 36px; display: grid; place-items: center; flex: 0 0 auto; border: 1px solid rgba(255,255,255,.38); border-radius: 11px 11px 11px 3px; color: #fff; font: 800 13px Manrope,sans-serif; letter-spacing: -.08em; background: linear-gradient(145deg,#8f79ed,#5b43b5); box-shadow: 0 4px 15px rgba(0,0,0,.13); }
.brand-mark-large { width: 52px; height: 52px; font-size: 18px; border-radius: 16px 16px 16px 4px; }
.brand-logo-image { display: block; object-fit: contain; }
.brand-logo-image-large { width: min(100%, 360px); height: auto; border: 1px solid rgba(212,166,65,.32); border-radius: 10px; box-shadow: 0 14px 36px rgba(0,0,0,.3); }
.brand-logo-image-sidebar { width: 100%; max-width: 205px; height: 104px; object-fit: contain; }
.app-shell { min-height: 100vh; }
.sidebar { width: 252px; position: fixed; inset: 0 auto 0 0; z-index: 20; display: flex; flex-direction: column; padding: 25px 15px 17px; color: #fff; background: var(--nav); }
.brand-lockup { display: flex; align-items: center; gap: 11px; padding: 0 9px 25px; }
.brand-copy { display: grid; gap: 1px; }
.brand-copy strong { font: 800 15px Manrope,sans-serif; letter-spacing: .02em; }
.brand-copy span { color: #b8adcf; font-size: 10px; font-weight: 700; letter-spacing: .19em; }
.nav-caption { padding: 12px 11px 8px; color: #8f83ae; font-size: 10px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.side-nav { display: grid; gap: 3px; overflow: auto; scrollbar-width: thin; scrollbar-color: #514172 transparent; }
.nav-link { display: flex; width: 100%; align-items: center; gap: 11px; padding: 10px 11px; border: 0; border-radius: 9px; color: #c9c2d7; text-align: left; background: transparent; font-size: 13px; font-weight: 600; transition: background .18s,color .18s; }
.nav-link:hover { color: #fff; background: rgba(255,255,255,.08); }
.nav-link.active { color: #fff; background: #302717; box-shadow: inset 3px 0 #d5a638; }
.nav-icon { width: 17px; height: 17px; display: inline-grid; place-items: center; color: #a89cc4; flex: 0 0 17px; }
.nav-link.active .nav-icon { color: #f0c766; }
.nav-icon svg { width: 17px; height: 17px; stroke: currentColor; fill: none; stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; }
.sidebar-bottom { margin-top: auto; padding-top: 15px; }
.base-mini { margin: 0 4px 12px; padding: 12px; border: 1px solid rgba(255,255,255,.1); border-radius: 11px; background: rgba(255,255,255,.055); }
.base-mini-label { margin-bottom: 8px; color: #a99dc5; font-size: 10px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.base-mini-row { display: flex; align-items: center; gap: 8px; color: #f3efff; font-size: 12px; font-weight: 700; }
.base-dot { width: 7px; height: 7px; border-radius: 50%; background: #92d8b8; box-shadow: 0 0 0 3px rgba(146,216,184,.12); }
.sidebar-user { display: flex; align-items: center; gap: 9px; padding: 12px 6px 2px; border-top: 1px solid rgba(255,255,255,.1); }
.avatar { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; color: #59429e; background: #e8e0ff; font-size: 12px; font-weight: 700; flex: 0 0 auto; }
.sidebar-user-copy { min-width: 0; display: grid; gap: 2px; flex: 1; }
.sidebar-user-copy strong { overflow: hidden; color: #f4f0fc; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.sidebar-user-copy span { color: #a99dc5; font-size: 10px; text-transform: capitalize; }
.icon-button { width: 34px; height: 34px; display: inline-grid; place-items: center; border: 1px solid var(--line); border-radius: 9px; color: #6f7282; background: #fff; }
.icon-button:hover { color: var(--purple); background: #faf9fe; }
.sidebar .icon-button { width: 29px; height: 29px; border-color: transparent; color: #aea3c7; background: transparent; }
.main-area { min-height: 100vh; margin-left: 252px; }
.topbar { position: sticky; top: 0; z-index: 12; height: 72px; display: flex; align-items: center; gap: 16px; padding: 0 31px; border-bottom: 1px solid #e9ebf2; background: rgba(255,255,255,.94); backdrop-filter: blur(16px); }
.mobile-menu { display: none; }
.breadcrumb { min-width: 150px; display: grid; gap: 2px; }
.breadcrumb span { color: #a0a2af; font-size: 10px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.breadcrumb strong { color: #282a36; font: 700 14px Manrope,sans-serif; }
.topbar-spacer { flex: 1; }
.search-wrap { position: relative; width: 220px; }
.search-wrap svg { position: absolute; top: 10px; left: 11px; width: 15px; height: 15px; stroke: #a2a4af; fill: none; stroke-width: 2; }
.search-wrap input { width: 100%; height: 36px; padding: 0 12px 0 34px; border: 1px solid #eceef3; border-radius: 8px; outline: none; color: var(--ink); background: #fafbfc; font-size: 12px; }
.search-wrap input:focus { border-color: #b8aae9; box-shadow: 0 0 0 3px rgba(116,90,214,.1); }
.smart-search { position: relative; z-index: 15; width: 220px; flex: 0 1 220px; }
.smart-search .search-wrap { width: 100%; }
.smart-suggestions { position: absolute; top: calc(100% + 6px); right: 0; z-index: 40; width: min(340px, 82vw); max-height: 340px; overflow: auto; padding: 5px; border: 1px solid #e5e2ef; border-radius: 11px; background: #fff; box-shadow: 0 12px 35px rgba(36,28,66,.16); }
.smart-suggestion { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 11px; border: 0; border-radius: 7px; color: var(--ink); background: #fff; text-align: left; cursor: pointer; }
.smart-suggestion:hover,.smart-suggestion.active { background: #f4f1fc; }
.smart-suggestion > span { min-width: 0; display: grid; gap: 3px; }
.smart-suggestion strong { overflow: hidden; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.smart-suggestion span > span,.smart-suggestion small { color: #858a9b; font-size: 11px; }
.smart-suggestion em { flex: 0 0 auto; color: #62519a; font-size: 11px; font-style: normal; font-weight: 700; }
.smart-suggestion:disabled,.smart-suggestion.unavailable { color: #999; background: #fafafa; cursor: not-allowed; }
.smart-suggestion:disabled em { color: #a45a61; }
.smart-search-empty { padding: 13px 11px; color: #858a9b; font-size: 12px; }
.base-select { height: 36px; min-width: 139px; padding: 0 28px 0 11px; border: 1px solid #eceef3; border-radius: 8px; color: #41356f; outline: none; background: #fff; font-size: 12px; font-weight: 700; }
.base-fixed { min-height: 36px; display: inline-flex; align-items: center; padding: 0 12px; border: 1px solid #eceef3; border-radius: 8px; color: #41356f; background: #fff; font-size: 12px; font-weight: 700; }
.topbar-divider { height: 27px; width: 1px; background: #eceef3; }
.topbar-profile { display: flex; align-items: center; gap: 9px; }
.topbar-profile .avatar { width: 32px; height: 32px; }
.profile-copy { display: grid; gap: 1px; }
.profile-copy strong { max-width: 130px; overflow: hidden; color: #333542; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.profile-copy span { color: #9b9daa; font-size: 10px; }
.page-wrap { max-width: 1500px; margin: 0 auto; padding: 28px 32px 44px; }
.page-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-bottom: 23px; }
.page-heading h1 { margin: 0; color: #222433; font: 800 22px Manrope,sans-serif; letter-spacing: -.035em; }
.page-heading p { margin: 6px 0 0; color: #8e92a1; font-size: 12px; }
.heading-actions { display: flex; align-items: center; gap: 9px; flex-wrap: wrap; }
.button { min-height: 36px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; padding: 0 13px; border: 1px solid #e7e8ef; border-radius: 8px; color: #5e6070; background: #fff; font-size: 11px; font-weight: 700; transition: .16s ease; }
.button:hover { border-color: #cbc2ec; color: #5944ae; background: #fcfbff; }
.button.primary { border-color: var(--purple); color: #fff; background: var(--purple); box-shadow: 0 4px 10px rgba(116,90,214,.18); }
.button.primary:hover { border-color: #634abd; background: #634abd; }
.button.soft { border-color: transparent; color: #6352a8; background: #f0edfb; }
.button.danger { border-color: #f3d5d8; color: #ba535d; background: #fff; }
.button.small { min-height: 29px; padding: 0 9px; font-size: 10px; }
.button svg { width: 14px; height: 14px; stroke: currentColor; fill: none; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.card { border: 1px solid #eceef4; border-radius: 13px; background: var(--surface); box-shadow: var(--shadow); }
.card-header { min-height: 58px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 0 17px; border-bottom: 1px solid #f0f1f5; }
.card-title { display: grid; gap: 3px; }
.card-title strong { color: #343644; font: 700 12px Manrope,sans-serif; }
.card-title span { color: #9a9daa; font-size: 10px; }
.card-body { padding: 17px; }
.stats-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; margin-bottom: 17px; }
.stat-card { position: relative; min-height: 118px; overflow: hidden; padding: 16px 17px; }
.stat-card:after { content: ""; position: absolute; right: -22px; bottom: -32px; width: 98px; height: 98px; border-radius: 50%; background: var(--stat-tint,#f2effb); opacity: .62; }
.stat-top { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; color: #9295a3; font-size: 11px; font-weight: 600; }
.stat-icon { width: 31px; height: 31px; display: grid; place-items: center; border-radius: 9px; color: var(--stat-color,#7056ce); background: var(--stat-tint,#f0edfb); }
.stat-icon svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.stat-value { position: relative; z-index: 1; margin-top: 12px; color: #242634; font: 800 23px Manrope,sans-serif; letter-spacing: -.04em; }
.stat-foot { position: relative; z-index: 1; margin-top: 3px; color: #9a9daa; font-size: 10px; }
.dashboard-grid { display: grid; grid-template-columns: minmax(0,1.65fr) minmax(260px,1fr); gap: 16px; }
.dashboard-grid + .dashboard-grid { margin-top: 16px; }
.table-wrap { width: 100%; overflow-x: auto; }
table { width: 100%; border-collapse: collapse; white-space: nowrap; }
th { padding: 11px 14px; color: #9296a5; text-align: left; background: #fafbfc; font-size: 10px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
td { padding: 12px 14px; border-top: 1px solid #f0f1f5; color: #565968; font-size: 11px; }
tbody tr:hover { background: #fcfbff; }
td strong { color: #353745; font-weight: 700; }
.cell-main { display: grid; gap: 3px; }
.cell-main span { color: #9b9eaa; font-size: 10px; }
.badge { display: inline-flex; align-items: center; gap: 5px; min-height: 21px; padding: 0 8px; border-radius: 20px; color: #6a6d7a; background: #f1f2f6; font-size: 10px; font-weight: 700; }
.badge:before { content: ""; width: 5px; height: 5px; border-radius: 50%; background: currentColor; opacity: .8; }
.badge.green { color: var(--green); background: var(--green-soft); }
.badge.orange { color: var(--orange); background: var(--orange-soft); }
.badge.red { color: var(--red); background: var(--red-soft); }
.badge.blue { color: var(--blue); background: var(--blue-soft); }
.badge.purple { color: #6a55c2; background: #f0edfb; }
.empty-state { display: grid; justify-items: center; gap: 8px; padding: 35px 15px; color: #9699a7; text-align: center; }
.empty-icon { width: 38px; height: 38px; display: grid; place-items: center; margin-bottom: 2px; border-radius: 12px; color: #7665bd; background: #f1effa; }
.empty-icon svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.empty-state strong { color: #555866; font-size: 12px; }
.empty-state span { max-width: 300px; font-size: 11px; line-height: 1.6; }
.empty-state .button { margin-top: 6px; }
.base-stock-list { display: grid; gap: 16px; }
.base-stock-row { display: grid; gap: 7px; }
.base-stock-label { display: flex; align-items: center; justify-content: space-between; color: #555866; font-size: 11px; font-weight: 700; }
.base-stock-label span { color: #9a9daa; font-weight: 500; }
.procurement-guidance { margin: 0 0 13px; color: #858997; font-size: 11px; line-height: 1.65; }
.procurement-status { display: grid; justify-items: start; gap: 4px; }
.procurement-status small { color: #9296a5; font-size: 9px; }
.progress { height: 7px; overflow: hidden; border-radius: 9px; background: #f0f1f6; }
.progress i { height: 100%; display: block; border-radius: inherit; background: linear-gradient(90deg,#8069db,#a391ec); }
.quick-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; }
.quick-link { min-height: 58px; display: flex; align-items: center; gap: 9px; padding: 10px; border: 1px solid #eceef4; border-radius: 9px; color: #555867; background: #fff; text-align: left; font-size: 11px; font-weight: 700; }
.quick-link:hover { border-color: #d9d1f3; background: #fcfbff; }
.quick-link .stat-icon { width: 29px; height: 29px; flex: 0 0 auto; }
.filter-row { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.filter-input, .filter-select { height: 33px; min-width: 120px; padding: 0 10px; border: 1px solid #e8eaf0; border-radius: 7px; outline: none; color: #5a5d6b; background: #fff; font-size: 11px; }
.filter-input:focus, .filter-select:focus { border-color: #bbaee9; }
.page-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 12px 14px; border-bottom: 1px solid #f0f1f5; }
.table-actions { display: flex; align-items: center; gap: 6px; }
.action-link { padding: 4px 7px; border: 0; border-radius: 5px; color: #6d59c2; background: transparent; font-size: 10px; font-weight: 700; }
.action-link:hover { background: #f1effa; }
.action-link.danger { color: #bd5861; }
.subtle { color: #9b9eaa; font-size: 10px; }
.report-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; margin-bottom: 16px; }
.report-summary { padding: 17px; }
.report-summary span { color: #9699a7; font-size: 10px; }
.report-summary strong { display: block; margin: 7px 0 4px; color: #292b38; font: 800 19px Manrope,sans-serif; }
.report-summary small { color: #8e92a1; font-size: 10px; }
.bar-chart { height: 156px; display: flex; align-items: end; gap: 9px; padding: 15px 3px 0; }
.bar-column { height: 100%; display: grid; grid-template-rows: 1fr 18px; justify-items: center; gap: 5px; flex: 1; }
.bar-track { width: min(22px,80%); height: 100%; display: flex; align-items: end; overflow: hidden; border-radius: 6px 6px 2px 2px; background: #f2f0f9; }
.bar-fill { width: 100%; min-height: 2px; border-radius: 6px 6px 2px 2px; background: linear-gradient(180deg,#a390e8,#7058c8); }
.bar-column span { color: #a0a2af; font-size: 9px; }
.settings-grid { display: grid; grid-template-columns: minmax(0,1.5fr) minmax(240px,1fr); gap: 16px; }
.settings-section { padding: 18px; }
.settings-section + .settings-section { margin-top: 14px; }
.settings-heading { margin-bottom: 14px; }
.settings-heading strong { display: block; color: #343644; font: 700 12px Manrope,sans-serif; }
.settings-heading span { display: block; margin-top: 4px; color: #989ba8; font-size: 10px; line-height: 1.55; }
.setting-row { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 12px 0; border-top: 1px solid #f0f1f5; }
.setting-row strong { display: block; color: #555867; font-size: 11px; }
.setting-row span { display: block; margin-top: 3px; color: #9a9daa; font-size: 10px; }
.import-grid { display: grid; grid-template-columns: minmax(250px,.8fr) minmax(0,1.4fr); gap: 15px; }
.import-drop { display: grid; justify-items: center; gap: 9px; min-height: 205px; padding: 22px; border: 1px dashed #d8d5e7; border-radius: 11px; color: #868998; text-align: center; background: #fcfbff; }
.import-drop .empty-icon { width: 43px; height: 43px; }
.import-drop strong { color: #555867; font-size: 12px; }
.import-drop span { max-width: 245px; font-size: 10px; line-height: 1.6; }
.import-drop input { max-width: 100%; font-size: 10px; }
.import-preview { min-height: 150px; }
.import-templates { margin-top: 15px; }
.template-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.template-option { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 15px; border: 1px solid var(--line); border-radius: 10px; background: #fff; }
.template-option > div { min-width: 0; }
.template-option strong { color: #454755; font-size: 11px; }
.template-option p { margin: 5px 0; color: #878a98; font-size: 10px; line-height: 1.5; }
.template-option span { color: #6a5a9d; font-size: 9px; line-height: 1.5; }
.template-option .button { flex: 0 0 auto; }
.notice { display: flex; gap: 10px; padding: 12px 13px; border: 1px solid #e5e0f5; border-radius: 9px; color: #6a5a9d; background: #f8f6ff; font-size: 10px; line-height: 1.6; }
.notice strong { color: #5945a0; }
.notice.warning { border-color: #f0e0c8; color: #886537; background: #fffaf1; }
.notice.success { border-color: #d8eee5; color: #43816b; background: #f4fbf8; }
.auth-page { min-height: 100vh; display: grid; grid-template-columns: 1.1fr .9fr; background: #f5f4f0; }
.auth-visual { position: relative; min-height: 100vh; display: flex; flex-direction: column; justify-content: space-between; overflow: hidden; padding: 44px 50px; color: #fff; background: linear-gradient(145deg,#0b0b0a 0%,#17150f 55%,#332611 100%); }
.auth-visual:before,.auth-visual:after { content: ""; position: absolute; border: 1px solid rgba(255,255,255,.09); border-radius: 50%; }
.auth-visual:before { width: 500px; height: 500px; right: -170px; bottom: -175px; box-shadow: 0 0 0 42px rgba(255,255,255,.025),0 0 0 92px rgba(255,255,255,.02); }
.auth-visual:after { width: 260px; height: 260px; right: 56px; bottom: 50px; }
.auth-brand { position: relative; z-index: 1; display: flex; align-items: center; gap: 12px; }
.auth-brand .brand-copy strong { font-size: 19px; }
.auth-brand .brand-copy span { font-size: 11px; }
.auth-presentation { position: relative; z-index: 1; max-width: 530px; margin: auto 0; }
.auth-presentation .eyebrow { color: #e0b653; font-size: 11px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; }
.auth-presentation h1 { margin: 17px 0 13px; font: 800 clamp(34px,4vw,51px)/1.08 Manrope,sans-serif; letter-spacing: -.06em; }
.auth-presentation p { max-width: 410px; color: #c5bfd3; font-size: 14px; line-height: 1.75; }
.auth-tags { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 26px; }
.auth-tags span { padding: 7px 10px; border: 1px solid rgba(255,255,255,.14); border-radius: 20px; color: #d9d4e5; background: rgba(255,255,255,.05); font-size: 10px; }
.auth-footer { position: relative; z-index: 1; color: #a8a0b8; font-size: 10px; }
.auth-panel-wrap { display: grid; place-items: center; padding: 35px; }
.auth-panel { width: min(100%,395px); }
.auth-panel h2 { margin: 0; color: #252634; font: 800 25px Manrope,sans-serif; letter-spacing: -.04em; }
.auth-panel > p { margin: 7px 0 25px; color: #9295a2; font-size: 12px; line-height: 1.6; }
.field { display: grid; gap: 6px; margin-bottom: 13px; }
.field label { color: #5c5f6d; font-size: 10px; font-weight: 700; }
.field input,.field select,.field textarea { width: 100%; min-height: 38px; padding: 9px 11px; border: 1px solid #e6e8ef; border-radius: 8px; outline: none; color: #333542; background: #fff; font-size: 11px; }
.field input:focus,.field select:focus,.field textarea:focus { border-color: #b6a9e8; box-shadow: 0 0 0 3px rgba(116,90,214,.09); }
.field textarea { min-height: 72px; resize: vertical; }
.field-hint { color: #9b9eaa; font-size: 9px; line-height: 1.5; }
.form-error { min-height: 18px; margin: 8px 0; color: #b94f5b; font-size: 10px; }
.form-error.success-message { color: #43816b; line-height: 1.5; }
.auth-submit { width: 100%; min-height: 40px; margin-top: 4px; }
.auth-text-button { display: block; width: 100%; padding: 12px 6px 0; border: 0; color: #80611f; background: transparent; font-size: 11px; font-weight: 700; text-align: center; }
.auth-text-button:hover { color: #a17820; text-decoration: underline; }
.auth-brand { min-height: 104px; }
.brand-logo-image-large { max-height: 220px; }
.auth-help { margin-top: 18px; padding-top: 16px; border-top: 1px solid #eaebf0; color: #9699a7; font-size: 10px; line-height: 1.6; }
.config-card { padding: 14px; margin-bottom: 15px; border: 1px solid #f0dfbf; border-radius: 9px; color: #866a3e; background: #fffaf2; font-size: 10px; line-height: 1.6; }
.config-card strong { display: block; color: #70572e; font-size: 11px; }
.modal-backdrop { position: fixed; inset: 0; z-index: 50; display: grid; place-items: center; padding: 20px; background: rgba(25,20,42,.45); backdrop-filter: blur(4px); }
.modal { width: min(100%,560px); max-height: min(90vh,760px); display: flex; flex-direction: column; overflow: hidden; border: 1px solid #ececf2; border-radius: 14px; background: #fff; box-shadow: 0 22px 70px rgba(26,18,49,.25); }
.modal.wide { width: min(100%,760px); }
.modal-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 15px; padding: 17px 19px; border-bottom: 1px solid #eff0f4; }
.modal-head h2 { margin: 0; color: #282a38; font: 800 15px Manrope,sans-serif; }
.modal-head p { margin: 4px 0 0; color: #9699a6; font-size: 10px; }
.modal-body { overflow: auto; padding: 18px 19px; }
.modal-foot { display: flex; justify-content: flex-end; gap: 8px; padding: 13px 19px; border-top: 1px solid #eff0f4; background: #fcfcfd; }
.form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 12px; }
.form-grid .full { grid-column: 1/-1; }
.issue-editor { max-width: 1120px; }
.issue-editor > .card-body { padding: 20px; }
.issue-meta-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0 14px; }
.issue-destination { grid-column: span 2; }
.issue-notes { grid-column: 1/-1; }
.issue-material-section { padding-top: 17px; margin-top: 5px; border-top: 1px solid #eff0f4; }
.issue-material-composer { display: grid; grid-template-columns: minmax(0,1.7fr) minmax(90px,.55fr) minmax(110px,.7fr) auto; align-items: end; gap: 10px; margin-bottom: 15px; }
.issue-material-composer .field { margin: 0; }
.issue-material-composer > .button { height: 36px; }
.autocomplete-wrap { position: relative; }
.autocomplete-wrap > input[type="search"] { width: 100%; min-height: 38px; padding: 9px 11px; border: 1px solid #e6e8ef; border-radius: 8px; outline: none; color: #333542; background: #fff; font-size: 12px; }
.autocomplete-wrap > input[type="search"]:focus { border-color: #b6a9e8; box-shadow: 0 0 0 3px rgba(116,90,214,.09); }
.issue-suggestions { left: 0; right: auto; width: 100%; max-height: 280px; }
.issue-material-suggestion > span { min-width: 0; }
.issue-material-suggestion small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.field-hint.stock-unavailable { color: var(--red); }
.issue-form-actions { display: flex; justify-content: flex-end; gap: 9px; padding-top: 15px; margin-top: 12px; border-top: 1px solid #eff0f4; }
.danger-link { color: #b5535e; }
.line-editor { display: grid; gap: 8px; margin: 9px 0 13px; }
.line-row { display: grid; grid-template-columns: minmax(0,1.5fr) minmax(72px,.48fr) minmax(82px,.55fr) minmax(105px,.72fr) minmax(112px,.72fr) 32px; align-items: end; gap: 7px; }
.shipment-line-row { min-width: 720px; }
.line-row .field { margin: 0; }
.shipment-line-row .field small { display:block; min-height:14px; margin-top:4px; color:var(--muted); font-size:9px; }
.line-row .remove-line { width: 30px; height: 36px; border: 1px solid #f0e0e2; border-radius: 7px; color: #b5535e; background: #fff; }
.line-row .remove-line:hover { background: #fff5f6; }
.shipment-line-total { display: flex; align-items: center; min-height: 39px; padding: 0 10px; border: 1px solid var(--line); border-radius: 8px; color: var(--ink); font-size: 13px; font-weight: 700; white-space: nowrap; }
.shipment-grand-total { display: flex; justify-content: flex-end; align-items: center; gap: 12px; padding: 12px 0; border-top: 1px solid var(--line); color: var(--muted); font-size: 14px; }
.shipment-grand-total strong { color: var(--ink); font-size: 17px; }
.modal-error { color: #b94f5b; font-size: 10px; }
.toast-region { position: fixed; top: 17px; right: 18px; z-index: 80; display: grid; gap: 8px; }
.toast { min-width: 250px; max-width: 380px; display: flex; align-items: flex-start; gap: 9px; padding: 12px 14px; border: 1px solid #dcefe7; border-radius: 10px; color: #407a67; background: #f7fdf9; box-shadow: 0 10px 35px rgba(29,39,35,.13); font-size: 11px; line-height: 1.5; animation: toastIn .2s ease-out; }
.toast.error { border-color: #f2dadd; color: #a84e59; background: #fff9fa; }
@keyframes toastIn { from { opacity: 0; transform: translateY(-7px); } to { opacity: 1; transform: none; } }
.loading-block { min-height: 240px; display: grid; place-items: center; color: #9699a7; font-size: 11px; }
.spinner { width: 23px; height: 23px; border: 2px solid #e9e5f6; border-top-color: #745ad6; border-radius: 50%; animation: spin .8s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
.offline-strip { display: flex; align-items: center; gap: 7px; padding: 8px 11px; border: 1px solid #f0dfbf; border-radius: 8px; color: #876b42; background: #fffaf2; font-size: 10px; }
.print-area { display: none; }

@media (max-width: 1100px) {
  .sidebar { width: 220px; }
  .main-area { margin-left: 220px; }
  .topbar { padding: 0 22px; }
  .page-wrap { padding: 24px 22px 36px; }
  .stats-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .search-wrap { width: 175px; }
  .smart-search { width: 175px; flex-basis: 175px; }
  .smart-search .search-wrap { width: 100%; }
}
@media (max-width: 800px) {
  .sidebar { transform: translateX(-100%); transition: transform .22s ease; box-shadow: 15px 0 40px rgba(21,15,39,.2); }
  .sidebar.open { transform: translateX(0); }
  .main-area { margin-left: 0; }
  .mobile-menu { display: inline-grid; width: 32px; height: 32px; place-items: center; border: 1px solid #eceef3; border-radius: 8px; color: #5b4a93; background: white; }
  .mobile-menu svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 2; }
  .topbar { height: 62px; gap: 11px; padding: 0 16px; }
  .breadcrumb { min-width: 0; }
  .search-wrap { width: min(34vw,190px); }
  .smart-search { width: min(34vw,190px); flex-basis: min(34vw,190px); }
  .smart-search .search-wrap { width: 100%; }
  .topbar-profile .profile-copy,.topbar-divider { display: none; }
  .base-select { min-width: 110px; max-width: 125px; }
  .base-fixed { max-width: 125px; padding: 0 9px; font-size: 11px; }
  .page-wrap { padding: 21px 16px 32px; }
  .dashboard-grid,.settings-grid { grid-template-columns: 1fr; }
  .import-grid { grid-template-columns: 1fr; }
  .template-grid { grid-template-columns: 1fr; }
  .issue-meta-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .issue-destination,.issue-notes { grid-column: 1/-1; }
  .issue-material-composer { grid-template-columns: minmax(0,1fr) minmax(75px,.5fr); }
  .issue-material-composer > .button { grid-column: 1/-1; }
  .issue-form-actions { flex-wrap: wrap; }
  .issue-form-actions .button { flex: 1 1 140px; }
}
@media (max-width: 560px) {
  .topbar { gap: 7px; }
  .breadcrumb span { display: none; }
  .breadcrumb strong { font-size: 13px; }
  .search-wrap { width: 34px; flex: 0 0 34px; }
  .smart-search { width: 34px; flex: 0 0 34px; }
  .smart-search:focus-within { width: min(230px,70vw); flex-basis: min(230px,70vw); }
  .smart-search .search-wrap { width: 34px; }
  .smart-search:focus-within .search-wrap { width: 34px; }
  .smart-search .smart-suggestions { width: min(300px,80vw); }
  .search-wrap input { width: 34px; padding: 0; cursor: pointer; color: transparent; }
  .search-wrap input:focus { position: absolute; z-index: 4; right: 0; width: min(230px,70vw); padding: 0 10px 0 34px; color: var(--ink); }
  .search-wrap svg { z-index: 1; left: 10px; }
  .base-select { min-width: 93px; width: 93px; padding-left: 7px; font-size: 10px; }
  .base-fixed { max-width: 93px; min-height: 32px; padding: 0 6px; font-size: 10px; }
  .topbar-profile .avatar { width: 29px; height: 29px; }
  .page-heading { display: grid; margin-bottom: 17px; }
  .page-heading h1 { font-size: 21px; }
  .heading-actions { width: 100%; }
  .heading-actions .button { flex: 1; }
  .stats-grid { gap: 9px; }
  .stat-card { min-height: 105px; padding: 12px; }
  .stat-value { font-size: 21px; }
  .stat-top { font-size: 10px; }
  .stat-icon { width: 28px; height: 28px; }
  .report-grid { grid-template-columns: 1fr; gap: 9px; }
  .quick-grid { gap: 7px; }
  .quick-link { padding: 8px; font-size: 10px; }
  .card-header { padding: 0 12px; }
  .card-body { padding: 13px; }
  .page-toolbar { align-items: flex-start; flex-direction: column; }
  .filter-row { width: 100%; }
  .filter-input,.filter-select { flex: 1; min-width: 100px; }
  .auth-page { grid-template-columns: 1fr; }
  .auth-visual { min-height: 250px; padding: 23px; }
  .auth-presentation { margin: 32px 0 20px; }
  .auth-presentation h1 { margin: 9px 0; font-size: 31px; }
  .auth-presentation p { font-size: 11px; }
  .auth-tags { margin-top: 14px; }
  .auth-footer { display: none; }
  .auth-panel-wrap { padding: 27px 22px 40px; }
  .form-grid { grid-template-columns: 1fr; }
  .form-grid .full { grid-column: auto; }
  .line-editor { overflow-x:auto; padding-bottom:4px; }
  .shipment-line-row { min-width:720px; }
  .issue-editor > .card-body { padding: 13px; }
  .issue-meta-grid { grid-template-columns: 1fr; }
  .issue-destination,.issue-notes { grid-column: auto; }
}
@media print {
  @page { size: A4 landscape; margin: 12mm; }
  body * { visibility: hidden; }
  .print-area,.print-area * { visibility: visible; }
  .print-area { position: absolute; inset: 0; display: block; padding: 12mm; color: #161616; font: 10pt Arial,sans-serif; }
  .business-report { width: 100%; color: #202133; font: 9pt Arial,sans-serif; }
  .business-report-header { padding: 0 0 13px; border-bottom: 3px solid #5e45b9; }
  .business-report-brand { display: flex; align-items: center; gap: 11px; color: #302054; }
  .business-report-mark { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 11px; color: #fff; background: #654dc2; font-size: 16pt; font-weight: 800; }
  .business-report-brand div { display: grid; gap: 3px; }
  .business-report-brand strong { font-size: 13pt; letter-spacing: .08em; }
  .business-report-brand span { color: #746e87; font-size: 7pt; letter-spacing: .12em; }
  .business-report-title { margin-top: 13px; }
  .business-report-title > span { color: #7158c7; font-size: 7pt; font-weight: 700; letter-spacing: .15em; }
  .business-report-title h1 { margin: 4px 0 0; color: #211a37; font-size: 19pt; }
  .business-report-meta { display: grid; grid-template-columns: 1fr 1.5fr 1.5fr 1fr; gap: 10px; margin: 13px 0 17px; padding: 10px 11px; border: 1px solid #e2deed; border-radius: 7px; background: #f8f7fb; }
  .business-report-meta div { display: grid; align-content: start; gap: 3px; }
  .business-report-meta span { color: #777386; font-size: 7pt; }
  .business-report-meta strong { color: #28243a; font-size: 8pt; }
  .business-report-meta small { color: #777386; font-size: 7pt; }
  .business-report-content { display: block; }
  .business-report-content .page-toolbar,.business-report-content button,.business-report-content select { display: none !important; }
  .business-report-content .card { margin: 0 0 12px; overflow: visible; border: 1px solid #ddd9e8; border-radius: 6px; box-shadow: none; break-inside: auto; }
  .business-report-content .card-header { padding: 9px 10px; border-bottom: 1px solid #e6e3ec; }
  .business-report-content .card-title strong { color: #28243a; font-size: 10pt; }
  .business-report-content .card-title span { color: #777386; font-size: 7pt; }
  .business-report-content .card-body { padding: 9px 10px; }
  .business-report-content .table-wrap { overflow: visible !important; }
  .business-report-content .table-wrap table { min-width: 0; }
  .business-report-content .report-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-bottom: 12px; }
  .business-report-content .report-summary { padding: 10px; border: 1px solid #e1deea; border-radius: 6px; background: #faf9fc; break-inside: avoid; }
  .business-report-content .report-summary span,.business-report-content .report-summary small { color: #777386; font-size: 7pt; }
  .business-report-content .report-summary strong { display: block; margin: 5px 0; color: #34245c; font-size: 15pt; }
  .business-report-content .dashboard-grid { display: block; }
  .business-report-content .dashboard-grid > .card { break-inside: auto; }
  .business-report-content table { width: 100%; border-collapse: collapse; table-layout: auto; }
  .business-report-content thead { display: table-header-group; }
  .business-report-content tr { break-inside: avoid; }
  .business-report-content th,.business-report-content td { padding: 5px 6px; border: 1px solid #dedbe5; color: #292638; background: #fff; font-size: 7pt; }
  .business-report-content th { color: #302054; background: #f0eef6; font-weight: 700; text-align: left; }
  .business-report-content .cell-main { gap: 2px; }
  .business-report-content .cell-main span { color: #777386; font-size: 6.5pt; }
  .business-report-content .badge { border: 1px solid #dedbe5; background: #f8f7fb; }
  .business-report-content .notice { margin: 8px 0; padding: 8px; border: 1px solid #e6d6ae; border-radius: 5px; color: #5e4b24; background: #fffaf0; font-size: 7pt; }
  .business-report-content .bar-chart { min-height: 85px; }
  .business-report-footer { display: flex; justify-content: space-between; margin-top: 14px; padding-top: 7px; border-top: 1px solid #ddd9e8; color: #777386; font-size: 7pt; }
  .business-report-footer strong { color: #433568; letter-spacing: .08em; }
  .shipment-guide table { width: 100%; border-collapse: collapse; table-layout: fixed; }
  .shipment-guide th,.shipment-guide td { padding: 7px 6px; border: 1px solid #555; color: #111; background: #fff; font-size: 9pt; }
  .shipment-guide .guide-header { margin-bottom: 0; }
  .shipment-guide .guide-header th { background: #adb9ca; text-align: center; font-size: 13pt; }
  .shipment-guide .guide-header td { background: #e3e8ef; }
  .shipment-guide .guide-header td:last-child { text-align: center; }
  .shipment-guide .guide-items th { background: #adb9ca; text-align: center; }
  .shipment-guide .guide-items th:nth-child(1) { width: 8%; }
  .shipment-guide .guide-items th:nth-child(2) { width: 38%; text-align: left; }
  .shipment-guide .guide-items th:nth-child(3) { width: 12%; }
  .shipment-guide .guide-items th:nth-child(4) { width: 10%; }
  .shipment-guide .guide-items th:nth-child(5) { width: 16%; }
  .shipment-guide .guide-items th:nth-child(6) { width: 16%; }
  .shipment-guide .guide-items td { text-align: center; }
  .shipment-guide .guide-items td:nth-child(2) { text-align: left; }
  .shipment-guide .guide-items td:nth-child(5),.shipment-guide .guide-items td:nth-child(6) { white-space: nowrap; }
  .shipment-guide .guide-items td small { display: block; margin-top: 2px; color: #555; }
  .shipment-guide .guide-items tr:nth-child(even):not(.guide-total) td { background: #f5f6f8; }
  .shipment-guide .guide-items .guide-total td { background: #d7d7d7; text-align: right; }
  .shipment-guide .guide-notes { margin: 14px 0; }
  .shipment-guide .signatures { display: flex; justify-content: space-between; gap: 45px; margin-top: 48px; }
  .shipment-guide .signatures div { width: 45%; padding-top: 8px; border-top: 1px solid #555; text-align: center; }
}

/* MC Mining RH: mantém os componentes do MC Mining Hub e acrescenta os
   elementos próprios da área de Recursos Humanos. */
.hr-banner { position: relative; display: flex; min-height: 142px; align-items: center; justify-content: space-between; overflow: hidden; padding: 24px 30px; margin: 0 0 18px; border: 1px solid rgba(213,166,56,.3); border-radius: 14px; color: #fff; background: radial-gradient(ellipse at 82% 110%,rgba(211,162,48,.27),transparent 37%),linear-gradient(112deg,#11110f 0%,#211d13 62%,#332a18 100%); box-shadow: 0 10px 30px rgba(25,21,13,.09); }
.hr-banner:before,.hr-banner:after { position: absolute; content: ""; border: 1px solid rgba(224,183,83,.16); transform: rotate(-32deg); }
.hr-banner:before { width: 330px; height: 180px; right: 100px; bottom: -135px; border-radius: 50%; box-shadow: 0 0 0 20px rgba(255,255,255,.018),0 0 0 46px rgba(255,255,255,.014); }
.hr-banner:after { width: 250px; height: 110px; right: -70px; bottom: -73px; border-radius: 50%; }
.hr-banner > div:first-child { position: relative; z-index: 1; display: grid; gap: 5px; }
.hr-banner .eyebrow { color: #e0b653; font-size: 9px; font-weight: 800; letter-spacing: .2em; }
.hr-banner strong { font: 800 23px/1.2 Manrope,sans-serif; letter-spacing: -.04em; }
.hr-banner > div:first-child > span:last-child { color: #c7c0b2; font-size: 11px; }
.banner-mark { position: relative; z-index: 1; display: grid; width: 58px; height: 58px; place-items: center; border: 1px solid rgba(224,183,83,.55); border-radius: 16px 16px 16px 4px; color: #f0c766; background: rgba(0,0,0,.14); font: 800 19px Manrope,sans-serif; letter-spacing: -.08em; }
.currency-list { display: grid; gap: 8px; }
.currency-total { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 8px; background: #fcfbf8; }
.currency-total span { color: #8b7650; font-size: 10px; font-weight: 800; letter-spacing: .1em; }
.currency-total strong { color: var(--ink); font: 700 14px Manrope,sans-serif; }
.table-person { display: grid; gap: 3px; padding: 0; border: 0; color: inherit; background: transparent; text-align: left; }
.table-person strong { color: #353745; font-size: 11px; }
.table-person span { color: #9b9eaa; font-size: 10px; }
.field.compact { min-width: 140px; margin: 0; }
.field.compact > span { color: #858997; font-size: 9px; font-weight: 700; }
.field.compact input { min-height: 34px; font-size: 11px; }
.card > .card-header + .button { margin: 0 16px 15px; }
.card > .filter-row { padding: 12px 14px; border-bottom: 1px solid #f0f1f5; }
.card > .card-body { padding: 0 14px; }
.form-section-title { padding-top: 13px; margin: 8px 0 12px; border-top: 1px solid var(--line); color: #5a4b2f; font: 700 11px Manrope,sans-serif; }
.settings-form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 13px; }
.settings-form .button,.settings-form .subtle { align-self: end; margin-bottom: 13px; }
.permission-grid { display: grid; max-height: 45vh; gap: 5px; overflow: auto; }
.permission-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 7px 9px; border: 1px solid var(--line); border-radius: 7px; color: #686b78; font-size: 10px; }
.permission-row select { min-height: 30px; border: 1px solid var(--line); border-radius: 6px; color: #5a4a2e; background: #fff; font-size: 10px; }
.detail-tabs { display: grid; gap: 14px; }
.detail-tab { min-width: 0; }
.detail-tab-list { display: flex; gap: 6px; overflow-x: auto; padding: 0 0 10px; margin-bottom: 12px; border-bottom: 1px solid var(--line); }
.detail-tab-button { flex: 0 0 auto; padding: 8px 11px; border: 1px solid transparent; border-radius: 7px; color: #6f706c; background: transparent; font: 600 10px Manrope,sans-serif; cursor: pointer; }
.detail-tab-button.active { border-color: #e9dfc8; color: #765310; background: #f7f0df; }
.detail-tab-panel { display: none; min-width: 0; }
.detail-tab-panel.active { display: block; }
.employee-profile-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.employee-profile-field { display: grid; gap: 4px; padding: 9px 11px; border: 1px solid var(--line); border-radius: 7px; background: #fff; }
.employee-profile-field span { color: #8b8d86; font-size: 9px; font-weight: 700; }
.employee-profile-field strong { color: var(--ink); font-size: 11px; font-weight: 600; overflow-wrap: anywhere; }
.employee-profile-photo { display: block; width: 112px; height: 112px; margin: 0 0 16px; border: 1px solid #e2d7bd; border-radius: 12px; object-fit: cover; }
.department-stat { display: flex; align-items: center; justify-content: space-between; padding: 9px 10px; border: 1px solid var(--line); border-radius: 7px; color: #55564f; font-size: 11px; background: #fff; }
.department-stat strong { color: #765310; font: 700 14px Manrope,sans-serif; }
.employee-filters,.attendance-filters { align-items: end; }
.employee-filters .field,.attendance-filters .field { min-width: 135px; margin: 0; }
.report-people-filters { display: flex; flex-wrap: wrap; gap: 8px; }
.report-people-filters .field { min-width: 125px; margin: 0; }
.report-controls { padding: 12px 14px; }
.report-controls .filter-row { justify-content: flex-start; }
.report-controls .button { min-height: 34px; }
.settings-grid .card { height: 100%; }

@media (max-width: 800px) {
  .hr-banner { min-height: 122px; padding: 20px; }
  .hr-banner strong { font-size: 20px; }
  .banner-mark { width: 46px; height: 46px; font-size: 16px; }
  .settings-form { grid-template-columns: 1fr; }
  .card > .filter-row { align-items: end; }
  .employee-profile-grid { grid-template-columns: 1fr; }
  .employee-filters,.attendance-filters { align-items: stretch; }
  .employee-filters .field,.attendance-filters .field { min-width: 100%; }
}
@media print {
  .hr-banner,.topbar,.sidebar,.page-heading .heading-actions,.button,.action-link { display: none !important; }
  .main-area { margin: 0 !important; }
  .page-wrap { padding: 0 !important; }
  .card { break-inside: avoid; box-shadow: none; }
}


/* MC Mining Company visual identity */
:root {
  color: #20211f;
  background: #f5f4f0;
  --ink: #20211f;
  --line: #e9e5dc;
  --canvas: #f5f4f0;
  --nav: #13120f;
  --nav-soft: #242119;
  --purple: #c7952d;
  --purple-light: #f7f0df;
  --shadow: 0 8px 24px rgba(46,39,25,.055);
}
.brand-mark { background: linear-gradient(145deg,#dfb653,#9b6813); }
.sidebar { background: linear-gradient(180deg,#11110f,#1c1913); }
.brand-copy span,.sidebar-user-copy span { color: #c9b987; }
.nav-caption,.base-mini-label { color: #b19c65; }
.nav-link.active { background: #302717; box-shadow: inset 3px 0 #d5a638; }
.nav-link.active .nav-icon { color: #f0c766; }
.button.primary { border-color: #bd8720; color: #16130d; background: linear-gradient(135deg,#e2b957,#bd8720); box-shadow: 0 4px 12px rgba(157,111,22,.2); }
.button.primary:hover { border-color: #a77515; color: #111; background: linear-gradient(135deg,#edc967,#c18b21); }
.button.soft,.badge.purple { color: #765310; background: #f7f0df; }
.button:hover,.action-link { color: #8c6517; }
.action-link:hover,.smart-suggestion:hover,.smart-suggestion.active { background: #faf3e2; }
.empty-icon,.stat-icon,.quick-link .stat-icon { color: #a87816; background: #f8f0dd; }
.bar-fill,.progress i { background: linear-gradient(90deg,#9d6b12,#e1b94f); }
.auth-page { background: #f5f4f0; }
.auth-visual { background: linear-gradient(145deg,#0b0b0a 0%,#17150f 55%,#332611 100%); }
.auth-visual:before,.auth-visual:after { border-color: rgba(215,171,67,.18); }
.auth-presentation .eyebrow { color: #e0b653; }
.auth-brand { min-height: 104px; }
.brand-logo-image-large { width: min(100%,360px); max-height: 220px; height: auto; }
.brand-logo-image-sidebar { width: 100%; max-width: 205px; height: 104px; object-fit: contain; }
.field input:focus,.field select:focus,.field textarea:focus,.autocomplete-wrap > input[type="search"]:focus,.search-wrap input:focus { border-color: #c7952d; box-shadow: 0 0 0 3px rgba(199,149,45,.12); }
@media (max-width: 780px) {
  .brand-logo-image-large { width: min(100%,300px); }
}
@media print {
  .business-report-header { border-bottom-color: #bd8720; }
  .business-report-brand { color: #211b0f; }
  .business-report-logo { display: block; width: 136px; height: auto; border: 1px solid #d3aa4d; border-radius: 5px; }
  .business-report-title > span { color: #8f6515; }
  .business-report-title h1 { color: #161511; }
  .business-report-content .report-summary strong,.business-report-content th,.business-report-footer strong { color: #765310; }
  .business-report-content th { background: #f7f0df; }
  .shipment-guide .guide-header th,.shipment-guide .guide-items th { color: #e2bd67; background: #171612; }
  .shipment-guide .guide-header th { height: 82px; }
  .shipment-guide .guide-logo { display: block; width: 190px; max-height: 78px; margin: 0 auto; object-fit: contain; }
  .shipment-guide .guide-items .guide-total td { background: #f3ead1; }
}
.boot-brand-logo { width: min(270px,80vw); height: auto; border: 1px solid rgba(212,166,65,.35); border-radius: 8px; box-shadow: 0 10px 28px rgba(0,0,0,.15); }
