@charset "UTF-8";
:root {
  font-family: "Segoe UI", -apple-system, BlinkMacSystemFont, Arial, sans-serif;
  color: #23384a;
  background: #f3f5f7;
  font-synthesis: none;
  --navy: #12283e;
  --teal: #167c73;
  --muted: #697b8b;
  --border: #dfe6ec;
}
* { box-sizing: border-box; }
body { margin: 0; font-size: 14px; line-height: 1.55; }
[hidden] { display: none !important; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button, summary, select { cursor: pointer; }
button:disabled { opacity: .5; cursor: not-allowed; }
h1, h2, h3, p { margin: 0; }
h1 { font-size: 29px; line-height: 1.2; letter-spacing: -.7px; color: #162e44; }
h2 { font-size: 16px; font-weight: 650; color: #19344b; }
strong { font-variant-numeric: tabular-nums; }
label { display: flex; flex-direction: column; gap: 6px; font-size: 12px; font-weight: 600; color: #4b6072; }
input, select, textarea { width: 100%; min-height: 42px; padding: 9px 11px; border: 1px solid #cfd9e2; border-radius: 6px; background: #fff; color: #223b50; outline: none; font-size: 14px; }
input:focus, select:focus, textarea:focus { border-color: var(--teal); box-shadow: 0 0 0 3px #167c7315; }
input[type="checkbox"] { width: 20px; min-height: 20px; }
.password-field { position: relative; display: flex; }
.password-field input { width: 100%; padding-right: 46px; }
.password-toggle { position: absolute; right: 5px; top: 50%; transform: translateY(-50%); }
.icon-button { display: inline-flex; align-items: center; justify-content: center; flex: none; width: 34px; height: 34px; padding: 0; border: 1px solid transparent; border-radius: 7px; background: transparent; color: #526b7f; }
.icon-button:hover { background: #eef3f6; color: var(--navy); }
.tabs { display: inline-flex; gap: 4px; padding: 4px; margin-bottom: 18px; border-radius: 9px; background: #eef3f6; }
.tabs [role="tab"] { min-height: 36px; padding: 7px 18px; border: 0; border-radius: 7px; background: transparent; color: var(--muted); font-size: 12px; font-weight: 650; }
.tabs [role="tab"]:hover { color: var(--navy); }
.tabs [role="tab"][aria-selected="true"] { background: #fff; color: var(--navy); box-shadow: 0 1px 3px #12283e1f; }
.tabs [role="tab"]:focus-visible { outline-offset: 1px; }
:focus-visible { outline: 3px solid #299e92; outline-offset: 3px; }
form > label { margin-bottom: 16px; }
footer { font-size: 11px; color: var(--muted); }
.muted { color: var(--muted); font-weight: 400; }
.small { font-size: 12px; }
.eyebrow { font-size: 10px; letter-spacing: 1.6px; font-weight: 750; color: var(--teal); margin-bottom: 8px; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 40px; padding: 9px 16px; border-radius: 6px; border: 1px solid transparent; font-weight: 600; font-size: 12px; white-space: nowrap; }
.primary { background: var(--teal); color: white; }
.primary:hover { background: #10665f; }
.secondary { background: white; border-color: #d5dfe7; color: #345065; }
.secondary:hover, .subtle:hover { background: #eef3f6; }
.subtle { color: #526b7f; background: transparent; }
.small-button { min-height: 32px; padding: 5px 10px; font-size: 11px; }
.danger { color: #a53b3b; }
.full { width: 100%; }
.sidebar { overflow-y: auto; position: fixed; inset: 0 auto 0 0; width: 230px; padding: 22px 14px 16px; transition: width .22s cubic-bezier(.2,.7,.2,1); display: flex; flex-direction: column; background: var(--navy); color: #a9bdcd; z-index: 20; }
.sidebar-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin: 0 4px 22px; }
.sidebar-brand { display: flex; align-items: center; gap: 12px; min-width: 0; color: #fff; font-size: 18px; font-weight: 750; letter-spacing: 1.5px; }
.sidebar-brand b { color: #70c8bc; font-size: 12px; font-weight: 500; }
.sidebar-brand small { display: block; font-size: 10px; letter-spacing: .2px; color: #8da6ba; margin-top: 1px; font-weight: 400; }
.sidebar .brand-icon { background: linear-gradient(145deg, #24495f, #1a3a4f); box-shadow: 0 0 0 1px #ffffff10, 0 8px 18px #0a1a2a66; }
.sidebar .icon-button { width: 30px; height: 30px; color: #8da6ba; }
.sidebar .icon-button:hover { background: #ffffff14; color: #fff; }
.brand-icon { border: 1px solid #547789; background: #1c3b50; border-radius: 7px; width: 37px; height: 41px; display: grid; place-content: center; color: #9be0d4; font-size: 24px; }
.nav-label { font-size: 9px; letter-spacing: 1.6px; margin: 0 8px 6px; color: #7fb3a8; font-weight: 700; text-transform: uppercase; }
.sidebar nav { display: grid; gap: 12px; }
.nav-group { display: grid; gap: 3px; padding: 9px 8px 8px; border: 1px solid #ffffff0f; border-radius: 10px; background: #ffffff06; }
.sidebar nav a { min-height: 36px; display: flex; align-items: center; gap: 11px; padding: 7px 10px; border-radius: 7px; font-size: 12px; transition: background .18s ease, color .18s ease, transform .18s ease; }
.nav-icon { display: inline-flex; flex: none; align-items: center; justify-content: center; width: 20px; height: 20px; opacity: .85; transition: opacity .18s ease; }
.sidebar nav a:hover .nav-icon, .sidebar nav a.active .nav-icon { opacity: 1; }
.sidebar nav a:hover { background: #ffffff0d; color: #fff; transform: translateX(2px); }
.sidebar nav a.active { background: #284558; color: #adf1df; box-shadow: inset 3px 0 #64c9b6; }
.sidebar-bottom { margin-top: auto; }
.sidebar-bottom nav { margin-bottom: 22px; }
.visually-hidden { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
/* Compact EN | हि segmented switch: one tab stop, arrow keys move between the two native radios. */
.language-control { min-width: 0; margin: 18px 14px 0; padding: 0; border: 0; }
.language-segments { display: inline-flex; overflow: hidden; border: 1px solid #3f566a; border-radius: 9px; background: #0d2133; }
.language-segments label { position: relative; flex: none; gap: 0; margin: 0; cursor: pointer; }
.language-segments label + label { border-left: 1px solid #3f566a; }
.language-segments input { position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%; min-height: 0; margin: 0; padding: 0; opacity: 0; cursor: pointer; }
.language-segments span { display: flex; justify-content: center; align-items: center; min-width: 44px; height: 34px; padding: 0 12px; color: #8ea4b6; font-size: 15px; font-weight: 500; letter-spacing: .3px; transition: background .15s ease, color .15s ease; }
.language-segments span:lang(hi) { font-size: 17px; }
.language-segments input:checked + span { color: #fff; background: #36566c; }
.language-segments input:focus-visible + span { outline: 2px solid #70c8bc; outline-offset: -2px; }
.language-segments label:hover input:not(:checked) + span { color: #fff; background: #ffffff0d; }
:lang(hi) { letter-spacing: normal; }
html:lang(hi) { font-family: "Nirmala UI", "Kohinoor Devanagari", "Mangal", "Segoe UI", sans-serif; }
html:lang(hi) .button { white-space: normal; }
html:lang(hi) .report-axis, html:lang(hi) .report-value { font-family: "Nirmala UI", "Kohinoor Devanagari", "Mangal", sans-serif; }
.sidebar-edition { margin: 23px 14px 0; padding-top: 20px; border-top: 1px solid #2b4256; font-size: 9px; letter-spacing: 1px; }
.sidebar-edition small { display: block; margin-top: 5px; color: #7190a6; font-size: 10px; letter-spacing: 0; }
.status-dot { display: inline-block; height: 5px; width: 5px; border-radius: 50%; background: #78c5b6; margin-right: 6px; }
.workspace { margin-left: 230px; transition: margin-left .22s cubic-bezier(.2,.7,.2,1); }
.topbar { min-height: 72px; padding: 14px 34px; background: #fff; border-bottom: 1px solid var(--border); display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.company { display: flex; align-items: center; gap: 10px; font-size: 12px; font-weight: 600; }
.company-icon { display: inline-flex; color: var(--teal); }
.timezone { border-left: 1px solid var(--border); padding-left: 12px; color: #8b9aaa; font-size: 10px; }
.user-menu { display: flex; align-items: center; gap: 10px; font-size: 11px; }
.role { text-transform: capitalize; border-radius: 4px; background: #edf3f6; color: #64798a; padding: 2px 6px; font-size: 10px; }
.content { max-width: 1660px; padding: 32px 34px 18px; margin: auto; }
.page-heading { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin-bottom: 24px; }
.page-heading .muted { font-size: 12px; margin-top: 9px; }
.pill { display: inline-block; border-radius: 4px; padding: 4px 9px; font-size: 10px; font-weight: 600; background: #e2f2eb; color: #24745a; white-space: nowrap; }
.pill.warning { background: #fff2db; color: #946419; }
.pill.neutral { background: #eff3f6; color: #677d8f; }
.toolbar { display: flex; gap: 12px; align-items: flex-end; padding: 16px 18px; margin-bottom: 22px; border: 1px solid var(--border); border-radius: 7px; background: #fff; flex-wrap: wrap; }
.toolbar label { margin: 0; min-width: 150px; }
.toolbar input, .toolbar select { min-height: 37px; padding: 7px 10px; font-size: 12px; }
.toolbar > .small { margin: auto 0 9px auto; }
.range-presets { display: inline-flex; flex-wrap: wrap; max-width: 100%; gap: 2px; padding: 3px; border-radius: 8px; background: #eef3f6; }
.preset { min-height: 31px; padding: 4px 11px; border: 0; border-radius: 6px; background: transparent; color: #526b7f; font-size: 12px; font-weight: 600; white-space: nowrap; }
.preset:hover { color: var(--navy); background: #e2eaef; }
.preset[aria-pressed="true"] { background: #fff; color: var(--teal); box-shadow: 0 1px 3px #12283e1f; }
.metric-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 18px; margin-bottom: 22px; }
.metric { padding: 21px 23px; background: #fff; border: 1px solid var(--border); border-radius: 7px; border-top: 3px solid #bdcec9; }
.metric:first-child { border-top-color: #278e7e; }
.metric p { font-size: 11px; font-weight: 600; color: #5f7587; }
.metric strong { display: block; font-size: 32px; font-weight: 650; letter-spacing: -1px; margin: 9px 0 3px; color: #1e3b50; }
.metric small { font-size: 10px; color: #899aa8; }
.dashboard-grid { display: grid; grid-template-columns: 1.6fr 1fr; gap: 22px; }
.card { border: 1px solid var(--border); border-radius: 7px; background: #fff; padding: 22px; margin-bottom: 22px; min-width: 0; }
.card-heading { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 20px; }
.card-heading p { margin-top: 5px; }
.chart-line { fill: none; stroke: #238e7e; stroke-width: 3; stroke-linejoin: round; }
.chart-guide { stroke: #e9eff3; stroke-width: 1; }
.approval-item { padding: 12px 0; border-bottom: 1px solid #edf1f4; }
.approval-item:last-of-type { border: 0; }
.approval-line { display: flex; justify-content: space-between; gap: 10px; margin-bottom: 4px; font-size: 12px; }
.approval-actions { display: flex; gap: 8px; margin-top: 9px; }
.approval-more { margin-top: 10px; }
.process-item { padding: 12px 0; border-bottom: 1px solid #edf1f4; }
.process-item:last-child { border: 0; }
.process-item > div { display: flex; justify-content: space-between; gap: 10px; margin-bottom: 7px; font-size: 12px; }
progress { width: 100%; height: 6px; appearance: none; border: 0; border-radius: 5px; overflow: hidden; background: #e9f0f3; }
progress::-webkit-progress-bar { background: #e9f0f3; }
progress::-webkit-progress-value { background: #2c9688; }
progress::-moz-progress-bar { background: #2c9688; }
.getting-started { display: flex; align-items: center; gap: 22px; background: #f9fbfc; }
.getting-started p { font-size: 12px; margin-top: 6px; max-width: 720px; }
.section-number { font-size: 25px; font-weight: 300; color: #9bb0ba; }
.getting-started .button { margin-left: auto; }
.notice { padding: 12px 16px; margin-bottom: 20px; border-radius: 6px; font-size: 12px; }
.notice.warning { color: #815b16; background: #fff6e5; border: 1px solid #ecdbb6; }
.notice.neutral { background: #e9f0f5; color: #526c80; border: 1px solid #d7e2eb; }
details > summary { font-weight: 650; color: #19344b; }
summary .small { margin-left: 12px; }
details[open] > summary { margin-bottom: 22px; }
.form-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 17px; }
.form-grid > label { margin: 0; }
.span-2 { grid-column: span 2; }
.form-actions { grid-column: 1/-1; display: flex; align-items: center; gap: 16px; padding-top: 5px; }
.keyboard-hint { grid-column: 1/-1; margin: 0; color: var(--muted); font-size: 11px; }
.form-grid > label:focus-within { color: var(--teal); }
.lookup-search { min-height: 28px; font-size: 11px; padding: 4px 7px; border-style: dashed; }
.table-wrap { width: 100%; overflow: auto; }
table { width: 100%; border-collapse: collapse; font-size: 12px; text-align: left; }
th { font-size: 9px; font-weight: 700; text-transform: uppercase; letter-spacing: .7px; color: #7b8d9c; padding: 10px 12px; background: #f6f8fa; border-block: 1px solid #e8edf1; white-space: nowrap; }
td { padding: 13px 12px; border-bottom: 1px solid #eaf0f4; vertical-align: top; min-width: 75px; }
td small { display: block; color: #7e92a3; margin-top: 3px; }
td .button { margin: -4px 0; }
.row-voided { color: #8a98a5; background: #fafbfc; }
@keyframes row-new { from { background: #d9f2ec; } to { background: transparent; } }
.row-new > td { animation: row-new 2.6s ease-out; }
.row-new > td:first-child { box-shadow: inset 3px 0 var(--teal); }
.import-form { display: flex; gap: 12px; align-items: flex-end; flex-wrap: wrap; }
.import-form label { flex: 1 1 280px; margin: 0; }
.import-note { margin: 12px 0 0; }
#import-review, .import-review { margin-top: 20px; }
#import-review .table-wrap, .import-review .table-wrap { margin: 14px 0 18px; }
td input[type="number"] { width: 100px; min-height: 34px; padding: 5px 8px; font-size: 13px; }
td input[type="text"] { min-width: 150px; min-height: 34px; padding: 5px 8px; font-size: 13px; }
td small.import-error, td small.import-warning, td small.import-existing { display: block; max-width: 280px; white-space: normal; }
td small.import-error { color: #a33a2f; }
td small.import-warning { color: #946419; }
td small.import-existing { color: #677d8f; }
.toolbar select.filtered { border-color: var(--teal); background: #f1faf8; font-weight: 600; }
.chips { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: -8px 0 16px; }
.chip { display: inline-flex; align-items: center; gap: 6px; min-height: 30px; padding: 3px 6px 3px 12px; border: 1px solid #b9d9d3; border-radius: 999px; background: #e8f4f1; color: #145f58; font-size: 12px; font-weight: 600; }
.chip:hover { background: #d6ece7; }
.chip span { display: inline-grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; font-size: 15px; line-height: 1; }
.chip:hover span { background: #145f5826; }
#master-summary { white-space: nowrap; }
.mode-switch { grid-column: 1/-1; display: flex; flex-wrap: wrap; gap: 10px; min-width: 0; margin: 0; padding: 0; border: 0; }
.mode-switch legend { padding: 0; margin-bottom: 8px; font-size: 12px; font-weight: 600; color: #4b6072; }
.mode-option { flex: 1 1 220px; flex-direction: row; align-items: flex-start; gap: 10px; padding: 12px 14px; border: 1px solid #cfd9e2; border-radius: 8px; background: #fff; cursor: pointer; transition: border-color .15s, background .15s; }
.mode-option:hover { border-color: #9fc9c2; }
.mode-option:has(input:checked) { border-color: var(--teal); background: #f1faf8; box-shadow: 0 0 0 3px #167c7315; }
.mode-option input { width: 18px; min-height: 18px; margin: 2px 0 0; accent-color: var(--teal); flex: none; }
.mode-option strong { display: block; font-size: 13px; color: #19344b; }
.mode-option small { display: block; margin-top: 2px; font-weight: 400; color: var(--muted); }
.mode-fields { display: contents; }
.mode-fields > label:focus-within { color: var(--teal); }
.material-plan { grid-column: 1/-1; min-width: 0; padding: 14px 16px; border: 1px solid var(--border); border-radius: 8px; background: #fbfcfd; }
.material-plan .notice { margin: 0; }
.plan-empty { font-size: 12px; color: var(--muted); }
.plan-heading { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 6px 12px; margin-bottom: 10px; }
.material-plan td { padding: 9px 12px; }
.plan-issue strong { color: #10665f; }
td small.moq-extra { color: #946419; }
.moq-hint { font-weight: 400; color: var(--muted); }
.moq-hint.rounded { color: #946419; font-weight: 600; }
.packs { grid-column: 1/-1; min-width: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: -6px; }
.chip.pack { padding: 3px 12px; }
.chip.pack.selected { border-color: var(--teal); background: var(--teal); color: #fff; }
.set-row td { padding: 10px 12px; background: #f4f8f7; border-top: 2px solid #d6e7e3; }
.set-header { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px; }
.set-title strong { font-size: 12px; color: #19344b; }
.set-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.in-set td:first-child { border-left: 3px solid #b9d9d3; }
#mi-summary small { display: block; margin-top: 3px; }
.import-photo { margin-bottom: 16px; }
.import-photo summary { cursor: pointer; margin-bottom: 8px; }
.import-photo img { display: block; max-width: 100%; max-height: 420px; border: 1px solid #d7e2eb; border-radius: 6px; }
.empty { color: #8193a2; text-align: center; padding: 40px 12px; font-size: 12px; }
.load-more { display: flex; margin: 14px auto 0; }
.detail-list { margin: 0 0 22px; }
.detail-list dt { color: #8192a2; font-size: 11px; margin-top: 16px; }
.detail-list dd { margin: 3px 0 0; font-size: 13px; overflow-wrap: anywhere; }
.detail-list dd.mono { font: 12px Consolas, monospace; padding: 10px; background: #f3f6f8; border-radius: 4px; }
.handbook-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.handbook-card { margin: 0; transition: border-color .15s; }
.handbook-card:hover { border-color: #76ad9e; }
.handbook-card p { color: #758b9c; margin: 12px 0 24px; font-size: 12px; }
.handbook-card > span:last-child { color: var(--teal); font-size: 11px; font-weight: 650; }
.workspace-footer { display: flex; justify-content: space-between; margin-top: 32px; padding-top: 18px; border-top: 1px solid var(--border); font-size: 10px; }
@keyframes toast-in { from { opacity: 0; transform: translateY(8px); } }
.toast { animation: toast-in .2s ease-out; cursor: pointer; position: fixed; bottom: 25px; right: 25px; max-width: min(480px,90vw); padding: 15px 22px; background: #1d4d44; color: white; border-radius: 7px; box-shadow: 0 5px 30px #102e3525; z-index: 100; font-size: 13px; white-space: pre-wrap; }
.toast.error { background: #803d36; }
dialog { border: 1px solid var(--border); padding: 27px; border-radius: 9px; width: min(520px,90vw); color: #23384a; }
dialog::backdrop { background: #10283e75; }
dialog h2 { margin-bottom: 22px; }
#action-fields label { margin-bottom: 16px; }
.dialog-actions { display: flex; justify-content: flex-end; gap: 12px; margin-top: 25px; }
.audit-detail { max-width: 350px; white-space: pre-wrap; font: 10px Consolas, monospace; overflow-wrap: anywhere; }
.login-body { min-height: 100vh; display: grid; place-content: center; padding: 35px; background: #eaf0f3; }
.login-shell { display: grid; grid-template-columns: 1fr 1fr; max-width: 960px; min-height: 590px; border-radius: 12px; overflow: hidden; box-shadow: 0 20px 90px #14304615; background: #fff; }
.login-brand { background: var(--navy); padding: 48px; color: #95adbf; position: relative; overflow: hidden; }
.brand-mark { color: #83d4c1; font-size: 27px; letter-spacing: 3px; font-weight: 800; margin-bottom: 64px; }
.brand-mark span { color: white; }
.login-brand .eyebrow { color: #75bbae; font-size: 9px; }
.login-brand h1 { color: #fff; font-weight: 500; font-size: 35px; line-height: 1.25; margin: 14px 0 22px; }
.login-brand > p:not(.eyebrow) { font-size: 12px; max-width: 300px; line-height: 1.8; }
.brand-lines { height: 70px; display: flex; gap: 9px; align-items: flex-end; margin: 35px 0; }
.brand-lines i { display: block; background: #285547; width: 27px; height: 35%; border-top: 2px solid #70baa3; }
.brand-lines i:nth-child(2) { height: 55%; }.brand-lines i:nth-child(3) { height: 47%; }.brand-lines i:nth-child(4) { height: 75%; }.brand-lines i:nth-child(5) { height: 95%; }
.login-brand .login-brand-footer { font-size: 9px !important; color: #7999ae; letter-spacing: 1.2px; }
.login-brand-footer span { display: block; font-size: 9px; letter-spacing: 0; }
.login-panel { padding: 65px 48px 35px; }
.login-panel h2 { font-size: 27px; letter-spacing: -.7px; margin: 10px 0; }
.login-panel > p.muted { font-size: 12px; margin-bottom: 28px; }
.login-panel form { margin: 28px 0 20px; }
.login-panel footer { margin-top: 55px; line-height: 1.8; font-size: 10px; }
.form-error { padding: 10px; background: #fff0ed; color: #a64738; font-size: 12px; margin-bottom: 14px; border-radius: 4px; }
.document-body { background: #eef2f5; }
.document { max-width: 950px; margin: 40px auto; background: #fff; padding: 45px; border: 1px solid var(--border); border-radius: 8px; }
.back-link { display: block; margin-bottom: 35px; color: var(--teal); font-size: 12px; }
.document-content { overflow-wrap: anywhere; font: 13px/1.9 "Segoe UI", Arial, sans-serif; color: #496174; margin-top: 30px; }
.document-content h2 { margin: 30px 0 14px; padding-bottom: 9px; border-bottom: 1px solid var(--border); font-size: 18px; }
.document-content h3 { margin: 22px 0 12px; font-size: 15px; }
.document-content p { margin: 13px 0; }
.document-content li { margin: 8px 0; }
.document-content pre { background: #f1f5f7; border: 1px solid var(--border); border-radius: 5px; padding: 17px; overflow-x: auto; font: 12px/1.7 Consolas, monospace; }
.document-content code { font-family: Consolas, monospace; background: #f1f5f7; padding: 2px 4px; border-radius: 3px; }
.document-content pre code { padding: 0; }
.document-content a { color: var(--teal); text-decoration: underline; }
.report-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; align-items: start; }
.report-card { min-width: 0; margin-bottom: 0; }
.report-note { margin: 10px 0 20px; }
.report-chart { display: block; width: 100%; height: auto; }
.report-axis { font: 12px "Segoe UI", Arial, sans-serif; fill: #4b6072; }
.report-value { font: 12px "Segoe UI", Arial, sans-serif; font-weight: 650; fill: #19344b; }
.report-data { margin-top: 18px; border-top: 1px solid var(--border); padding-top: 12px; }
.report-data summary { font-size: 12px; color: var(--teal); }
.report-data .table-wrap { margin-top: 12px; }
.report-downloads { display: flex; flex-wrap: wrap; gap: 8px; }
#report-status { margin: 18px 0; }
.danger-zone { border-color: #e3bdb7; background: #fffafa; }
.danger-zone h2 { color: #8f2f2f; }
.danger-zone .mode-option:has(input:checked) { border-color: #b94a4a; background: #fff2f0; box-shadow: 0 0 0 3px #b94a4a1a; }
.danger-zone .mode-option input { accent-color: #b94a4a; }
.reset-phrase { font-family: Consolas, monospace; letter-spacing: 2px; }
.button.destructive { background: #a53b3b; color: #fff; }
.button.destructive:hover:not(:disabled) { background: #8c2f2f; }
#salary-panel { margin-top: 20px; }
#salary-panel > p { margin: 18px 0; }
@media (max-width: 1100px) { .report-grid { grid-template-columns: minmax(0,1fr); } }
@media (min-width: 1500px) { .content { padding: 38px 48px; } }
@media (max-width: 1150px) {
  .sidebar { width: 205px; }.workspace { margin-left: 205px; }.content { padding: 25px 22px; }.topbar { padding: 14px 22px; }
  .form-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }.handbook-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .metric { padding: 18px 15px; }.metric strong { font-size: 26px; }.dashboard-grid { grid-template-columns: 1.3fr 1fr; }
}
@media (max-width: 850px) {
  .sidebar { position: relative; width: 100%; padding: 16px; }.sidebar-head { margin: 0 0 15px; }.nav-label, .sidebar-edition { display: none; }
  .sidebar nav { display: flex; gap: 4px; flex-wrap: wrap; }.sidebar nav a { min-height: 37px; padding: 6px 12px; }.sidebar nav a > .nav-icon { display: none; }.sidebar-bottom { margin-top: 5px; }
  .workspace { margin-left: 0; }.topbar { min-height: 60px; }.dashboard-grid { grid-template-columns: 1fr; }.form-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .metric-grid { gap: 12px; }.getting-started { align-items: flex-start; flex-wrap: wrap; }.getting-started .button { margin-left: 40px; }
  .login-panel, .login-brand { padding: 35px; }.login-brand h1 { font-size: 29px; }.login-shell { min-height: 530px; }.brand-mark { margin-bottom: 50px; }
}
@media (max-width: 580px) {
  .content { padding: 24px 15px; }.topbar { padding: 12px 15px; flex-wrap: wrap; gap: 7px; }.company { width: 100%; }.user-menu { margin-left: auto; }.page-heading { align-items: flex-start; }.page-heading > .pill { max-width: 125px; white-space: normal; }
  h1 { font-size: 25px; }.metric-grid { grid-template-columns: 1fr 1fr; }.metric strong { font-size: 28px; }.metric { padding: 15px; }.metric small { font-size: 9px; }
  .toolbar { padding: 13px; gap: 10px; }.toolbar label { min-width: 0; flex: 1 1 40%; }.toolbar > .small { flex-basis: 100%; margin: 0; }.range-presets { display: flex; flex-basis: 100%; }.preset { flex: 1 1 0; padding: 4px 6px; }
  .form-grid { grid-template-columns: 1fr; }.span-2 { grid-column: auto; }.form-actions { flex-wrap: wrap; }.card { padding: 17px; }.card-heading { flex-wrap: wrap; }
  summary .small { display: block; margin: 6px 0 0; }.handbook-grid { grid-template-columns: 1fr; }.workspace-footer { flex-direction: column; gap: 5px; }
  .login-body { padding: 15px; }.login-shell { grid-template-columns: 1fr; }.login-brand { padding: 25px; }.login-brand h1, .login-brand > p, .brand-lines { display: none; }.brand-mark { margin: 0; }.login-panel { padding: 30px 25px; }.login-panel footer { margin-top: 35px; }
  .document { margin: 15px; padding: 25px; }.document-content { font-size: 12px; }
}

@media (max-width: 850px) { .language-control { margin: 12px 0 0; } }

/* Desktop navigation can collapse to icons. Groups become separated icon stacks. */
@media (min-width: 851px) {
  body.nav-collapsed .sidebar { width: 72px; padding: 22px 10px 16px; }
  body.nav-collapsed .workspace { margin-left: 72px; }
  body.nav-collapsed .sidebar-head { flex-direction: column; gap: 14px; margin-bottom: 18px; }
  body.nav-collapsed .sidebar-brand { justify-content: center; }
  body.nav-collapsed .sidebar-brand > span:last-child, body.nav-collapsed .nav-text, body.nav-collapsed .nav-label,
  body.nav-collapsed .sidebar-edition { display: none; }
  body.nav-collapsed .language-control { margin: 14px 0 0; display: flex; justify-content: center; }
  body.nav-collapsed .language-segments { flex-direction: column; }
  body.nav-collapsed .language-segments label + label { border-left: 0; border-top: 1px solid #3f566a; }
  body.nav-collapsed .language-segments span { min-width: 40px; padding: 0 6px; font-size: 13px; }
  body.nav-collapsed .sidebar nav a { justify-content: center; gap: 0; padding: 8px 0; }
  body.nav-collapsed .nav-group { padding: 6px 4px 5px; }
}
@media (max-width: 850px) {
  .nav-toggle { display: none; }
  .nav-group { display: contents; }
}

@media (prefers-reduced-motion: reduce) {
  .sidebar, .workspace, .sidebar nav a { transition: none; }
  .row-new > td, .toast { animation: none; }
}
/* Phones keep what is issued in view; the "+N for the MOQ" note already explains any rounding. */
@media (max-width: 580px) {
  .material-plan th, .material-plan td { min-width: 0; padding: 8px 6px; }
  .material-plan th:nth-child(4), .material-plan td:nth-child(4) { display: none; }
}
