:root {
  color-scheme: light;
  --ink: #102936;
  --ink-2: #183b4c;
  --teal: #19b7ad;
  --teal-dark: #087f79;
  --gold: #f4b942;
  --canvas: #f4f7f8;
  --line: #dde6e9;
  --muted: #64757e;
  --white: #fff;
  --danger: #c3314d;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html { min-width: 320px; background: var(--canvas); }
body { margin: 0; color: #142832; background: var(--canvas); font-size: 16px; line-height: 1.5; }
body.sidebar-open { overflow: hidden; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration: none; }
.hidden { display: none !important; }

.login-body { min-height: 100vh; display: grid; place-items: center; padding: 24px; background: radial-gradient(circle at 80% 10%, #d6f5f1 0, transparent 28%), linear-gradient(135deg, #0c2230, #173d4a 60%, #0d2b37); }
.login-card { width: min(100%, 430px); padding: 38px; border: 1px solid rgba(255,255,255,.7); border-radius: 22px; background: rgba(255,255,255,.97); box-shadow: 0 28px 80px rgba(3,19,27,.35); }
.login-card h1 { margin: 8px 0 6px; color: var(--ink); font-size: clamp(28px, 5vw, 36px); letter-spacing: -.04em; }
.login-copy { margin: 0 0 24px; color: var(--muted); }
.brand-mark { width: 52px; height: 52px; display: grid; place-items: center; border-radius: 15px; background: var(--teal); color: #08242c; font-size: 26px; font-weight: 900; box-shadow: 0 10px 28px rgba(25,183,173,.28); }
.brand-mark.small { width: 40px; height: 40px; border-radius: 12px; font-size: 20px; flex: 0 0 auto; }
.eyebrow { margin: 24px 0 0; color: var(--teal-dark); font-size: 13px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.stack-form { display: grid; gap: 16px; }
.stack-form label, .field { display: grid; gap: 7px; color: #344b56; font-size: 14px; font-weight: 700; }
input, select, textarea { width: 100%; border: 1px solid #cedadd; border-radius: 10px; padding: 0 13px; color: var(--ink); background: #fff; outline: none; transition: border-color .15s, box-shadow .15s; }
input, select { height: 44px; }
textarea { min-height: 92px; padding-top: 10px; resize: vertical; }
input:focus, select:focus, textarea:focus { border-color: var(--teal-dark); box-shadow: 0 0 0 3px rgba(25,183,173,.16); }
.button { min-height: 42px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; border: 0; border-radius: 10px; padding: 9px 16px; font-size: 14px; font-weight: 800; cursor: pointer; transition: transform .15s, background .15s, opacity .15s; }
.button:hover { transform: translateY(-1px); }
.button:disabled { opacity: .55; cursor: wait; transform: none; }
.button.primary { color: #08242c; background: var(--teal); }
.button.primary:hover { background: #14a39a; }
.button.dark { color: #fff; background: var(--ink); }
.button.secondary { color: var(--ink); border: 1px solid var(--line); background: #fff; }
.button.full { width: 100%; margin-top: 4px; }
.notice { margin: 14px 0; border-radius: 10px; padding: 11px 13px; font-size: 14px; }
.notice.error { color: #9c243b; border: 1px solid #fac3ce; background: #fff0f3; }
.notice.success { color: #126c55; border: 1px solid #a7e6d1; background: #ecfbf5; }
.notice.info { color: #315965; border: 1px solid #c9e1e5; background: #f1fafb; }

.app-shell { min-height: 100vh; display: flex; max-width: 1680px; margin: 0 auto; background: var(--canvas); }
.sidebar { position: sticky; top: 0; width: 248px; height: 100vh; height: 100dvh; flex: 0 0 248px; display: flex; flex-direction: column; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: rgba(255,255,255,.18) transparent; padding: 20px 16px; color: #fff; background: var(--ink); z-index: 20; }
.sidebar::-webkit-scrollbar { width: 5px; }
.sidebar::-webkit-scrollbar-thumb { border-radius: 999px; background: rgba(255,255,255,.18); }
.sidebar .main-nav { flex: 0 0 auto; }
.sidebar-user { flex: 0 0 auto; }
.sidebar-close, .sidebar-backdrop { display: none; }
.brand { display: flex; align-items: center; gap: 12px; padding: 0 8px; }
.brand strong { display: block; font-size: 17px; letter-spacing: .01em; }
.brand small { display: block; margin-top: 1px; color: #94a5ad; font-size: 10px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.company-card { display: flex; align-items: center; gap: 10px; margin-top: 30px; border: 1px solid rgba(255,255,255,.09); border-radius: 12px; padding: 12px; background: rgba(255,255,255,.05); }
.company-logo { width: 34px; height: 34px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 9px; color: var(--ink); background: var(--gold); font-size: 12px; font-weight: 900; }
.company-card > span:last-child { min-width: 0; }
.company-card small, .company-card strong, .company-card em { display: block; }
.company-card small { color: #8ea1aa; font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.company-card strong { overflow: hidden; margin-top: 3px; font-size: 14px; text-overflow: ellipsis; white-space: nowrap; }
.company-card em { color: #98aab2; font-size: 12px; font-style: normal; }
.nav-label { margin: 27px 12px 10px; color: #728791; font-size: 10px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.main-nav { display: grid; gap: 4px; }
.main-nav a { min-height: 42px; display: flex; align-items: center; gap: 12px; border-radius: 9px; padding: 0 12px; color: #c5d0d5; font-size: 14px; font-weight: 650; transition: background .15s, color .15s; }
.main-nav a > span { width: 18px; text-align: center; font-size: 17px; }
.main-nav a:hover:not(.disabled) { color: #fff; background: rgba(255,255,255,.07); }
.main-nav a.active { color: #08242c; background: var(--teal); }
.main-nav b { min-width: 24px; margin-left: auto; border-radius: 999px; padding: 1px 7px; color: inherit; background: rgba(255,255,255,.13); font-size: 11px; text-align: center; }
.main-nav i { margin-left: auto; color: #70838c; font-size: 10px; font-style: normal; }
.main-nav .disabled { cursor: not-allowed; opacity: .55; }
.sidebar-user { display: flex; align-items: center; gap: 10px; margin-top: auto; border-top: 1px solid rgba(255,255,255,.1); padding: 18px 6px 0; }
.avatar { width: 34px; height: 34px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 50%; color: #d8e2e5; background: #344d59; font-weight: 800; }
.sidebar-user > span:nth-child(2) { min-width: 0; }
.sidebar-user strong, .sidebar-user small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sidebar-user strong { font-size: 13px; }
.sidebar-user small { color: #94a7af; font-size: 12px; }
.sidebar-user button { margin-left: auto; border: 0; color: #9db0b8; background: transparent; font-size: 20px; cursor: pointer; }

.workspace { min-width: 0; flex: 1; }
.topbar { position: sticky; top: 0; height: 72px; display: flex; align-items: center; gap: 16px; border-bottom: 1px solid var(--line); padding: 0 32px; background: rgba(255,255,255,.97); backdrop-filter: blur(12px); z-index: 10; }
.search { position: relative; width: min(100%, 390px); margin-left: auto; }
.search span { position: absolute; left: 13px; top: 50%; transform: translateY(-52%); color: #7f9098; font-size: 21px; }
.search input { height: 42px; padding-left: 39px; background: #f7f9fa; }
.icon-button { position: relative; width: 42px; height: 42px; display: grid; place-items: center; flex: 0 0 auto; border: 1px solid var(--line); border-radius: 10px; color: var(--ink); background: #fff; font-size: 20px; cursor: pointer; }
.notification-dot { position: absolute; right: -5px; top: -6px; min-width: 20px; height: 20px; display: grid; place-items: center; border: 2px solid #fff; border-radius: 999px; padding: 0 4px; color: #fff; background: #d93654; font-size: 10px; font-weight: 900; line-height: 1; box-shadow: 0 3px 9px rgba(166,41,64,.3); }
.notifications-panel { position: fixed; right: 24px; top: 66px; width: min(390px, calc(100% - 32px)); max-height: min(560px, calc(100vh - 90px)); overflow: auto; border: 1px solid var(--line); border-radius: 14px; padding: 8px; background: #fff; box-shadow: 0 20px 55px rgba(9,30,39,.22); z-index: 40; }
.notifications-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 10px 12px; }
.notifications-head strong, .notifications-head small { display: block; }
.notifications-head strong { color: var(--ink); }
.notifications-head strong em { display: inline-grid; place-items: center; min-width: 22px; height: 22px; margin-left: 5px; border-radius: 999px; color: #fff; background: #d93654; font-size: 11px; font-style: normal; vertical-align: middle; }
.notifications-head small { color: var(--muted); font-size: 11px; }
.notifications-head button { border: 0; color: var(--muted); background: none; font-size: 22px; cursor: pointer; }
.notifications-list { display: grid; }
.notifications-list > button { display: grid; gap: 2px; border: 0; border-top: 1px solid #edf1f2; padding: 12px 10px; color: inherit; background: #fff; text-align: left; cursor: pointer; }
.notifications-list > button:hover { background: #f4fbfa; }
.notifications-list .notification-item { grid-template-columns: 38px minmax(0,1fr); align-items: center; gap: 11px; margin: 5px 0; border: 1px solid var(--line); border-left: 4px solid var(--teal); border-radius: 11px; padding: 11px; }
.notification-item > i { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; color: #08716d; background: #e5f8f5; font-size: 18px; font-style: normal; font-weight: 900; }
.notification-item.accepted { border-left-color: #159568; background: #f2fbf7; }
.notification-item.accepted > i { color: #087157; background: #dff5eb; }
.notification-item.rejected { border-left-color: #c3314d; background: #fff5f7; }
.notification-item.rejected > i { color: #a62940; background: #ffe2e8; }
.notification-item.document { border-left-color: #d29a1e; background: #fffbf1; }
.notification-item.document > i { color: #80600b; background: #fff0be; }
.notification-copy { min-width: 0; display: grid; gap: 2px; }
.notifications-list strong { color: var(--teal-dark); font-size: 12px; }
.notifications-list b { color: var(--ink); font-size: 13px; overflow-wrap: anywhere; }
.notifications-list small, .notifications-list p { color: var(--muted); font-size: 11px; }
.notifications-list p { margin: 0; padding: 20px 10px; text-align: center; }
.page { padding: 30px 32px 44px; }
.page-head { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 24px; }
.page-head p { margin: 0 0 4px; color: var(--muted); font-size: 14px; font-weight: 600; }
.page-head h1 { margin: 0; color: var(--ink); font-size: clamp(26px, 3vw, 32px); letter-spacing: -.035em; }
.page-summary { max-width: 390px; color: var(--muted); font-size: 14px; text-align: right; }
.page-summary strong { color: var(--ink); }
.metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.metric-card, .card, .loading-card { border: 1px solid #e0e8eb; border-radius: 14px; background: #fff; box-shadow: 0 2px 5px rgba(15,36,46,.04); }
.metric-card { min-height: 142px; padding: 18px; }
.metric-top { display: flex; justify-content: space-between; gap: 12px; }
.metric-card p { margin: 0; color: var(--muted); font-size: 14px; font-weight: 650; }
.metric-card strong { display: block; margin-top: 9px; color: var(--ink); font-size: 30px; line-height: 1; }
.metric-card small { display: block; margin-top: 18px; color: #71828a; font-size: 12px; font-weight: 600; }
.metric-icon { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 12px; font-size: 20px; }
.metric-icon.teal { color: #0a837d; background: #e8faf8; }
.metric-icon.gold { color: #946408; background: #fff6dc; }
.metric-icon.red { color: #b52e48; background: #fff0f3; }
.metric-icon.green { color: #168061; background: #eaf9f3; }
.dashboard-grid { display: grid; grid-template-columns: minmax(0, 1fr) 330px; gap: 22px; margin-top: 22px; }
.card-header { display: flex; align-items: center; justify-content: space-between; gap: 16px; border-bottom: 1px solid #edf1f2; padding: 19px 20px; }
.card-header h2 { margin: 0; color: var(--ink); font-size: 18px; }
.card-header p { margin: 3px 0 0; color: var(--muted); font-size: 13px; }
.text-link { border: 0; color: var(--teal-dark); background: none; font-weight: 800; cursor: pointer; }
.deadlines { display: grid; gap: 2px; padding: 10px; }
.deadline { display: flex; align-items: center; gap: 12px; border-radius: 11px; padding: 10px; }
.deadline:hover { background: #f7f9fa; }
.date-chip { width: 46px; height: 46px; display: grid; place-items: center; flex: 0 0 auto; border: 1px solid #dfe8ea; border-radius: 11px; color: var(--ink); background: #f8fafb; font-size: 16px; font-weight: 900; line-height: 1; }
.date-chip small { display: block; color: var(--muted); font-size: 9px; letter-spacing: .08em; }
.date-chip.urgent { color: var(--danger); border-color: #f4c3cc; background: #fff3f5; }
.deadline strong { display: block; color: var(--ink); font-size: 14px; }
.deadline span:last-child { color: var(--muted); font-size: 12px; }
.toolbar { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 18px; }
.toolbar p { margin: 0; color: var(--muted); font-size: 14px; }
.form-card { margin-bottom: 18px; padding: 20px; }
.form-card h2 { margin: 0 0 16px; color: var(--ink); font-size: 18px; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 16px; }
.field small { color: var(--muted); font-size: 12px; font-weight: 600; }
.form-actions { display: flex; align-items: end; gap: 10px; }
.settings-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr); gap: 22px; margin-top: 22px; }
.compact-form { padding: 20px; }
.account-card, .permissions-card { align-self: start; }
.role-list { display: grid; padding: 8px 20px 18px; }
.role-list > div { display: grid; gap: 2px; border-bottom: 1px solid #edf1f2; padding: 13px 0; }
.role-list > div:last-child { border-bottom: 0; }
.role-list strong { color: var(--ink); font-size: 14px; }
.role-list span { color: var(--muted); font-size: 13px; }
.role-chip { display: inline-flex; border-radius: 8px; padding: 5px 9px; color: #244b57; background: #edf5f6; font-size: 12px; font-weight: 800; }
.small-button { min-height: 34px; padding: 6px 10px; font-size: 12px; }
.table-wrap { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; }
th { height: 46px; padding: 0 18px; color: #657881; background: #f8fafb; font-size: 12px; font-weight: 800; letter-spacing: .04em; text-align: left; text-transform: uppercase; white-space: nowrap; }
td { border-top: 1px solid #edf1f2; padding: 15px 18px; color: #435963; font-size: 14px; vertical-align: middle; }
tbody tr:hover { background: #fbfcfc; }
.cell-main { color: var(--ink); font-weight: 800; }
.cell-sub { display: block; margin-top: 3px; color: var(--muted); font-size: 12px; }
.job-code { color: var(--teal-dark); font-size: 12px; font-weight: 900; }
.job-link { width: 100%; display: block; border: 0; padding: 0; color: var(--teal-dark); background: none; font-size: 12px; font-weight: 900; line-height: 1.35; text-align: left; overflow-wrap: anywhere; cursor: pointer; }
.job-link + .cell-sub { text-align: left; }
.job-link:hover { text-decoration: underline; }
.job-code.large { font-size: 14px; letter-spacing: .06em; }
.status { display: inline-flex; align-items: center; min-height: 28px; border: 1px solid; border-radius: 999px; padding: 3px 10px; font-size: 12px; font-weight: 800; white-space: nowrap; }
.status.programata { color: #0872a0; border-color: #bde4f4; background: #eefaff; }
.status.in-lucru { color: #087157; border-color: #b9e4d5; background: #effbf6; }
.status.documente { color: #b52e48; border-color: #f4c3cc; background: #fff3f5; }
.status.de-ofertat { color: #93620b; border-color: #f4dda5; background: #fff9e7; }
.status.finalizata { color: #53636b; border-color: #d5dee1; background: #f4f6f7; }
.quick-list { display: grid; gap: 12px; padding: 20px; color: #39515c; font-size: 14px; font-weight: 700; }
.commercial-metrics .metric-card strong { font-size: clamp(22px, 2.2vw, 30px); }
.business-impact-card { display: grid; grid-template-columns: minmax(220px, 1.1fr) minmax(360px, 1fr) auto; align-items: center; gap: 24px; margin: 20px 0; border: 1px solid #a8ded7; border-radius: 16px; padding: 22px 24px; background: linear-gradient(120deg, #edfaf8, #fff 70%); box-shadow: 0 7px 20px rgba(9,89,84,.07); }
.business-impact-card h2 { margin: 4px 0; font-size: 20px; }
.business-impact-card > div > span { color: var(--muted); font-size: 12px; }
.business-impact-card dl, .commercial-profit dl { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin: 0; }
.business-impact-card dl div, .commercial-profit dl div { border-left: 1px solid #cae7e3; padding-left: 14px; }
.business-impact-card dt, .commercial-profit dt { color: var(--muted); font-size: 10px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.business-impact-card dd, .commercial-profit dd { margin: 4px 0 0; color: var(--ink); font-size: 17px; font-weight: 850; }
.commercial-profit { display: grid; grid-template-columns: minmax(220px, .8fr) minmax(460px, 1.2fr); align-items: center; gap: 24px; margin-top: 18px; border: 1px solid #b9e4d5; border-radius: 14px; padding: 18px 20px; background: linear-gradient(110deg, #effbf6, #fff 75%); }
.commercial-profit span { display: block; color: #315b53; font-size: 13px; font-weight: 750; }
.commercial-profit strong { display: block; margin: 3px 0; color: #087157; font-size: 25px; }
.commercial-profit small { display: block; color: var(--muted); font-size: 12px; }
.commercial-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr); gap: 20px; margin-top: 20px; }
.commercial-chart { height: 250px; display: grid; grid-template-columns: repeat(6, 1fr); align-items: end; gap: 14px; padding: 24px 24px 18px; background: repeating-linear-gradient(to top, transparent 0, transparent 49px, #edf1f2 50px); }
.commercial-month { height: 100%; display: grid; grid-template-rows: 1fr auto; gap: 9px; text-align: center; }
.commercial-bars { display: flex; align-items: end; justify-content: center; gap: 4px; }
.commercial-bars i { width: min(22px, 38%); min-height: 0; border-radius: 5px 5px 2px 2px; }
.commercial-bars .offered { background: #9bded9; }
.commercial-bars .accepted { background: var(--teal-dark); }
.commercial-month > strong { color: var(--muted); font-size: 11px; text-transform: uppercase; }
.chart-legend { width: 8px; height: 8px; display: inline-block; margin-left: 8px; border-radius: 2px; }
.chart-legend.offered { margin-left: 0; background: #9bded9; }
.chart-legend.accepted { background: var(--teal-dark); }
.commercial-expiry { display: grid; padding: 8px 12px 14px; }
.commercial-expiry button { display: flex; align-items: center; justify-content: space-between; gap: 12px; border: 0; border-bottom: 1px solid #edf1f2; padding: 12px 8px; color: inherit; background: #fff; text-align: left; cursor: pointer; }
.commercial-expiry button:last-child { border-bottom: 0; }
.commercial-expiry button:hover { background: #f7fbfb; }
.commercial-expiry button span { min-width: 0; }
.commercial-expiry strong, .commercial-expiry small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.commercial-expiry strong { color: var(--teal-dark); font-size: 12px; }
.commercial-expiry small { margin-top: 3px; color: var(--muted); font-size: 11px; }
.commercial-expiry em { flex: 0 0 auto; border-radius: 999px; padding: 5px 8px; color: #80600b; background: #fff4ce; font-size: 11px; font-style: normal; font-weight: 800; }
.commercial-expiry em.overdue { color: #a62940; background: #ffe8ed; }
.commercial-ranking { display: grid; margin: 0; padding: 8px 18px 14px; list-style: none; }
.commercial-ranking li { display: flex; align-items: center; justify-content: space-between; gap: 12px; border-bottom: 1px solid #edf1f2; padding: 11px 0; }
.commercial-ranking li:last-child { border-bottom: 0; }
.commercial-ranking li > span { min-width: 0; display: flex; align-items: center; gap: 10px; }
.commercial-ranking b { width: 27px; height: 27px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 8px; color: var(--teal-dark); background: #e9f8f6; font-size: 11px; }
.commercial-ranking strong, .commercial-ranking small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.commercial-ranking strong { color: var(--ink); font-size: 13px; }
.commercial-ranking small { color: var(--muted); font-size: 11px; }
.commercial-ranking em { flex: 0 0 auto; color: var(--ink); font-size: 12px; font-style: normal; font-weight: 850; }
.commercial-empty { margin: 0; padding: 24px 8px !important; color: var(--muted); font-size: 12px; text-align: center; }
.commercial-footnote { margin: 16px 2px 0; color: var(--muted); font-size: 12px; }
.commercial-footnote strong { color: var(--ink); }
.back-link { margin-bottom: 16px; border: 0; padding: 0; color: var(--teal-dark); background: none; font-size: 14px; font-weight: 800; cursor: pointer; }
.detail-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; margin-bottom: 22px; }
.detail-head h1 { margin: 5px 0 1px; color: var(--ink); font-size: clamp(25px, 3vw, 32px); letter-spacing: -.035em; }
.detail-head p { margin: 0; color: var(--muted); font-weight: 650; }
.job-detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 20px; }
.detail-card { align-self: start; }
.intervention-card { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 22px; border-color: #b9dfdc; background: linear-gradient(120deg, #f4fffd, #fff 72%); }
.intervention-copy { max-width: 620px; }
.intervention-copy .eyebrow.compact { margin: 0 0 6px; font-size: 11px; }
.intervention-copy h2 { margin: 0; color: var(--ink); font-size: 21px; }
.intervention-copy > p:last-child { margin: 6px 0 0; color: var(--muted); font-size: 14px; }
.workflow-actions { display: flex; align-items: center; justify-content: flex-end; gap: 10px; flex-wrap: wrap; }
.workflow-primary { min-width: 190px; }
.workflow-hint { max-width: 330px; margin: 0; color: var(--muted); font-size: 13px; text-align: right; }
.workflow-lock { max-width: 230px; color: var(--muted); font-size: 12px; font-weight: 700; text-align: right; }
.workflow-complete { margin: 0; border-radius: 999px; padding: 10px 14px; color: #087157; background: #e5f8f1; font-size: 14px; font-weight: 850; }
.detail-form { display: grid; gap: 14px; padding: 20px; }
.detail-form > .button { justify-self: start; }
.detail-value { display: grid; gap: 3px; }
.detail-value span { color: var(--muted); font-size: 12px; font-weight: 700; text-transform: uppercase; }
.detail-value strong { color: var(--ink); font-size: 14px; }
.detail-list { display: grid; margin: 0; padding: 8px 20px 18px; }
.detail-list > div { display: grid; grid-template-columns: 90px 1fr; gap: 14px; border-bottom: 1px solid #edf1f2; padding: 12px 0; }
.detail-list > div:last-child { border-bottom: 0; }
.detail-list dt { color: var(--muted); font-size: 12px; font-weight: 800; text-transform: uppercase; }
.detail-list dd { margin: 0; color: var(--ink); font-size: 14px; font-weight: 650; }
.detail-list a { color: var(--teal-dark); }
.notes-list, .document-list { display: grid; gap: 0; margin: 0; padding: 0 20px 20px; list-style: none; }
.note { border-top: 1px solid #edf1f2; padding: 14px 0; }
.note p { margin: 0 0 5px; color: var(--ink); white-space: pre-wrap; }
.note small, .document-item small { display: block; color: var(--muted); font-size: 12px; }
.activity-card { grid-column: 1 / -1; }
.activity-list { display: grid; margin: 0; padding: 4px 20px 20px; list-style: none; }
.activity-item { position: relative; display: grid; grid-template-columns: 18px 1fr; gap: 10px; padding: 14px 0; }
.activity-item:not(:last-child)::after { content: ''; position: absolute; left: 5px; top: 27px; bottom: -5px; width: 2px; background: #dce8e9; }
.activity-marker { position: relative; width: 12px; height: 12px; margin-top: 4px; border: 3px solid #d8f4f0; border-radius: 50%; background: var(--teal-dark); z-index: 1; }
.activity-item strong { display: block; color: var(--ink); font-size: 14px; }
.activity-item small { display: block; margin-top: 4px; color: var(--muted); font-size: 12px; }
.report-card { grid-column: 1 / -1; }
.report-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; padding: 20px; }
.full-field { grid-column: 1 / -1; }
.signature-field { display: grid; gap: 8px; }
.signature-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; color: #344b56; font-size: 14px; font-weight: 800; }
#signature-pad { width: 100%; height: 190px; display: block; border: 1px dashed #8ca4ac; border-radius: 12px; background: #fff; cursor: crosshair; touch-action: none; }
.signature-field > small, .report-actions small { color: var(--muted); font-size: 12px; }
.consent-field { display: flex; align-items: flex-start; gap: 10px; border-radius: 10px; padding: 12px; color: #344b56; background: #f5f8f9; font-size: 13px; font-weight: 650; }
.consent-field input { width: 19px; height: 19px; flex: 0 0 auto; margin-top: 1px; }
.report-actions { display: flex; align-items: center; gap: 14px; }
.report-locked { padding: 22px; color: var(--muted); font-size: 14px; }
.signed-badge { border-radius: 999px; padding: 7px 11px; color: #087157; background: #e5f8f1; font-size: 12px; font-weight: 850; }
.signed-summary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; padding: 20px; }
.signed-summary > div { display: grid; gap: 3px; }
.signed-summary span { color: var(--muted); font-size: 12px; font-weight: 750; text-transform: uppercase; }
.signed-summary strong { color: var(--ink); font-size: 15px; }
.signed-summary small { color: var(--muted); font-size: 12px; }
.report-button { margin: 0 20px 20px; }
.quote-status { display: inline-flex; align-items: center; min-height: 28px; border-radius: 999px; padding: 4px 10px; font-size: 12px; font-weight: 850; white-space: nowrap; }
.quote-status.draft { color: #596970; background: #edf1f2; }
.quote-status.sent { color: #80600b; background: #fff4ce; }
.quote-status.accepted { color: #087157; background: #e5f8f1; }
.quote-status.rejected { color: #a62940; background: #fff0f3; }
.quote-editor { margin-bottom: 18px; }
.quote-editor, #quote-form, #quote-items { min-width: 0; max-width: 100%; }
.quote-main-fields { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; padding: 20px; }
.quote-lines-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; border-top: 1px solid #edf1f2; border-bottom: 1px solid #edf1f2; padding: 16px 20px; }
.quote-lines-head h3 { margin: 0; color: var(--ink); font-size: 16px; }
.quote-lines-head p { margin: 3px 0 0; color: var(--muted); font-size: 12px; }
.catalog-picker, .template-picker { display: flex; align-items: end; gap: 12px; border-bottom: 1px solid #edf1f2; padding: 14px 20px; background: #f7fbfb; }
.template-picker { border-top: 1px solid #dceaea; background: linear-gradient(90deg, #effbf9, #f8fcfc); }
.catalog-picker .field, .template-picker .field { min-width: min(100%, 520px); }
.catalog-empty-link { width: max-content; margin: 14px 20px; }
#quote-items { display: grid; }
.quote-item-row { display: grid; grid-template-columns: 115px minmax(190px, 2fr) 72px 90px repeat(4, minmax(95px, 1fr)) 42px; align-items: end; gap: 10px; border-bottom: 1px solid #edf1f2; padding: 14px 20px; }
.quote-item-row .field { gap: 5px; font-size: 12px; }
.quote-item-row input, .quote-item-row select { height: 40px; padding: 8px 10px; }
.internal-field { color: #75580b; }
.internal-field input { border-color: #e7d28c; background: #fffbef; }
.remove-item { width: 40px; height: 40px; color: #a62940; font-size: 22px; }
.quote-editor-footer { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 20px; background: #f8fafb; }
.quote-live-total { display: grid; gap: 2px; }
.quote-live-total span { color: var(--muted); font-size: 12px; font-weight: 750; text-transform: uppercase; }
.quote-live-total strong { color: var(--ink); font-size: 21px; }
.margin-live { display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 10px; color: var(--muted); font-size: 12px; }
.margin-live span { display: grid; gap: 2px; }
.margin-live strong { color: #087157; font-size: 14px; }
.negative-value { color: #a62940 !important; }
.positive-value { color: #087157 !important; }
.quote-detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.quote-action-card, .quote-items-card { grid-column: 1 / -1; }
.quote-action-card { display: flex; align-items: center; justify-content: space-between; gap: 24px; border-color: #ead79b; padding: 22px; background: linear-gradient(120deg, #fffaf0, #fff 72%); }
.quote-action-card h2 { margin: 0; color: var(--ink); font-size: 21px; }
.quote-action-card > div > p:last-child { margin: 6px 0 0; color: var(--muted); font-size: 14px; }
.share-card, .client-response-card { grid-column: 1 / -1; padding: 22px; }
.share-card { border-color: #a9dcd8; background: linear-gradient(120deg, #effbf9, #fff 72%); }
.share-card h2, .client-response-card h2 { margin: 2px 0 5px; color: var(--ink); font-size: 20px; }
.share-card > div > p:last-child, .client-response-card p { margin: 0; color: var(--muted); font-size: 13px; }
.share-link-row { display: flex; gap: 9px; margin-top: 16px; }
.share-link-row input { flex: 1; min-width: 0; color: #34515b; background: #fff; }
.share-buttons { display: flex; align-items: center; flex-wrap: wrap; gap: 9px; margin-top: 12px; }
.reminder-channel-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 18px; }
.reminder-channel { display: flex; align-items: center; gap: 12px; width: 100%; border: 1px solid #d9e4e6; border-radius: 14px; padding: 15px; color: var(--ink); background: #fff; text-align: left; cursor: pointer; transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease; }
.reminder-channel:hover { border-color: var(--teal); box-shadow: 0 8px 22px rgba(7, 51, 63, .09); transform: translateY(-1px); }
.reminder-channel:disabled { cursor: wait; opacity: .7; transform: none; }
.reminder-channel-icon { display: grid; place-items: center; width: 40px; height: 40px; flex: 0 0 auto; border-radius: 12px; color: #fff; background: var(--teal-dark); font-size: 16px; font-weight: 900; }
.reminder-channel.whatsapp .reminder-channel-icon { background: #1f9d62; }
.reminder-channel strong, .reminder-channel small { display: block; }
.reminder-channel strong { font-size: 14px; }
.reminder-channel small { margin-top: 3px; color: var(--muted); font-size: 12px; overflow-wrap: anywhere; }
.reminder-channel.unavailable { opacity: .55; cursor: default; }
.reminder-channel.unavailable:hover { border-color: #d9e4e6; box-shadow: none; transform: none; }
.whatsapp-button { color: #fff; background: #188c63; }
.email-missing { color: #9a5e0a; font-size: 12px; font-weight: 700; }
.email-delivery-status { margin-top: 14px; border-radius: 9px; padding: 10px 12px; color: #087157; background: #e5f8f1; font-size: 12px; font-weight: 750; }
.email-delivery-status.error { color: #a62940; background: #ffe8ed; }
.client-response-card { display: flex; align-items: flex-start; gap: 15px; }
.client-response-card.accepted { border-color: #a9dfcf; background: #f2fbf8; }
.client-response-card.rejected { border-color: #ecc3cb; background: #fff7f8; }
.response-mark { width: 43px; height: 43px; display: grid; flex: 0 0 auto; place-items: center; border-radius: 50%; color: #087157; background: #dff5ed; font-size: 22px; font-weight: 900; }
.client-response-card.rejected .response-mark { color: #a62940; background: #ffe8ed; }
.client-response-card blockquote { margin: 10px 0 0; border-left: 3px solid var(--teal); padding-left: 11px; color: #435963; }
.quote-activity-card { grid-column: 1 / -1; }
.communication-card { grid-column: 1 / -1; overflow: hidden; }
.communication-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid #edf1f2; border-bottom: 1px solid #edf1f2; }
.communication-summary > div { min-width: 0; padding: 15px 18px; border-right: 1px solid #edf1f2; }
.communication-summary > div:last-child { border-right: 0; }
.communication-summary span, .communication-summary strong { display: block; }
.communication-summary span { color: var(--muted); font-size: 11px; font-weight: 800; text-transform: uppercase; }
.communication-summary strong { margin-top: 4px; color: var(--ink); font-size: 15px; overflow-wrap: anywhere; }
.communication-list { display: grid; gap: 0; margin: 0; padding: 4px 20px 18px; list-style: none; }
.communication-list li { display: grid; grid-template-columns: 92px 1fr; align-items: start; gap: 12px; border-bottom: 1px solid #edf1f2; padding: 13px 0; }
.communication-list li:last-child { border-bottom: 0; }
.communication-list strong, .communication-list small { display: block; }
.communication-list strong { color: var(--ink); font-size: 13px; }
.communication-list small { margin-top: 3px; color: var(--muted); font-size: 11px; }
.communication-channel { justify-self: start; border-radius: 999px; padding: 5px 8px; font-size: 10px; font-weight: 850; }
.communication-channel.whatsapp { color: #087157; background: #e5f8f1; }
.communication-channel.email { color: #315f96; background: #eaf2ff; }
.communication-channel.view { color: #725912; background: #fff4ce; }
.document-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-bottom: 18px; }
.document-stats article { border: 1px solid var(--border); border-radius: 14px; padding: 16px 18px; background: #fff; box-shadow: 0 8px 24px rgba(13, 51, 61, .05); }
.document-stats span, .document-stats strong { display: block; }
.document-stats span { color: var(--muted); font-size: 11px; font-weight: 800; text-transform: uppercase; }
.document-stats strong { margin-top: 4px; color: var(--ink); font-size: 24px; }
.document-stats article.attention { border-color: #efbbc5; background: #fff7f8; }
.document-stats article.attention strong { color: #a62940; }
.document-stats article.warning { border-color: #ead58a; background: #fffaf0; }
.document-stats article.warning strong { color: #80600b; }
.document-upload-card { margin-bottom: 18px; }
.document-upload-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; padding: 20px; }
.document-upload-form > label:not(.file-field) { display: grid; gap: 7px; color: #344b56; font-size: 13px; font-weight: 800; }
.document-upload-form .form-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
.document-upload-form .form-actions small { color: var(--muted); font-size: 12px; }
.document-type-icon { display: inline-grid; place-items: center; min-width: 42px; margin: 0 9px 3px 0; border-radius: 7px; padding: 5px 7px; color: var(--teal-dark); background: #e9f8f6; font-size: 10px; font-weight: 900; vertical-align: middle; }
.document-expiry { display: inline-flex; border-radius: 999px; padding: 5px 8px; color: var(--muted); background: #f1f5f6; font-size: 11px; font-weight: 800; white-space: nowrap; }
.document-expiry.soon { color: #80600b; background: #fff4ce; }
.document-expiry.expired { color: #a62940; background: #ffe8ed; }
.document-actions { display: flex; align-items: center; gap: 7px; flex-wrap: wrap; min-width: 210px; }
.archive-panel { margin-top: 18px; overflow: hidden; }
.archive-panel summary { padding: 17px 20px; color: var(--ink); font-size: 14px; font-weight: 850; cursor: pointer; }
.archive-panel[open] summary { border-bottom: 1px solid #edf1f2; }
.archive-list { display: grid; padding: 4px 20px 14px; }
.archive-list > div { display: flex; align-items: center; justify-content: space-between; gap: 16px; border-bottom: 1px solid #edf1f2; padding: 13px 0; }
.archive-list > div:last-child { border-bottom: 0; }
.archive-list strong, .archive-list small { display: block; }
.archive-list strong { color: var(--ink); font-size: 13px; }
.archive-list small { margin-top: 3px; color: var(--muted); font-size: 11px; }
.archive-actions { display: flex; align-items: center; justify-content: flex-end; gap: 8px; flex-wrap: wrap; }
.profitability-card { display: grid; grid-template-columns: minmax(150px, .8fr) minmax(240px, 1.5fr); gap: 18px; border-color: #e7d28c; padding: 20px; background: linear-gradient(120deg, #fffbef, #fff 75%); }
.profitability-card h2 { margin: 3px 0 0; color: #087157; font-size: 25px; }
.profitability-card span, .profitability-card small { color: var(--muted); font-size: 12px; }
.profitability-card dl { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin: 0; }
.profitability-card dl > div { display: grid; gap: 4px; border-left: 1px solid #eadfac; padding-left: 13px; }
.profitability-card dt { color: var(--muted); font-size: 11px; text-transform: uppercase; }
.profitability-card dd { margin: 0; color: var(--ink); font-weight: 850; }
.profitability-card > small { grid-column: 1 / -1; }
.version-list { display: grid; padding: 8px 14px 14px; }
.version-item { display: flex; align-items: center; justify-content: space-between; gap: 12px; border: 1px solid transparent; border-bottom-color: #edf1f2; padding: 10px; color: inherit; background: #fff; text-align: left; cursor: pointer; }
.version-item.current { border-color: #addbd8; border-radius: 9px; background: #f2fbfa; }
.version-item > span { display: grid; color: var(--muted); font-size: 11px; }
.version-item > span strong { color: var(--ink); font-size: 14px; }
.client-profile-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin: 18px 0 24px; }
.client-profile-head h1 { margin: 5px 0; font-size: clamp(30px, 4vw, 46px); }
.client-profile-head > div > p:last-child { margin: 0; color: var(--muted); }
.client-quick-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 9px; }
.client-profile-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.client-profile-grid .client-history { grid-column: 1 / -1; }
.client-records { display: grid; padding: 6px 18px 18px; }
.client-record { display: flex; align-items: center; justify-content: space-between; gap: 16px; width: 100%; border: 0; border-bottom: 1px solid #edf1f2; padding: 14px 4px; color: inherit; background: transparent; text-align: left; text-decoration: none; }
button.client-record { cursor: pointer; }
.client-record:last-child { border-bottom: 0; }
.client-record > span:first-child { min-width: 0; }
.client-record strong, .client-record small { display: block; overflow-wrap: anywhere; }
.client-record small { margin-top: 4px; color: var(--muted); }
.client-record-side { display: flex; align-items: flex-end; flex-direction: column; gap: 6px; white-space: nowrap; }
.client-activity-list { display: grid; padding: 8px 20px 20px; }
.client-activity { display: grid; grid-template-columns: 12px 1fr; gap: 12px; border: 0; border-left: 1px solid #cfe0e3; padding: 10px 0 12px 18px; color: inherit; background: transparent; text-align: left; cursor: pointer; }
.client-activity i { width: 9px; height: 9px; margin: 5px 0 0 -23px; border: 2px solid #fff; border-radius: 50%; background: var(--teal); box-shadow: 0 0 0 2px var(--teal); }
.client-activity strong, .client-activity small { display: block; }
.client-activity small { margin-top: 5px; color: var(--muted); }
.field-quick-actions { display: flex; flex-wrap: wrap; gap: 9px; padding: 4px 20px 16px; }
.page-head-actions { display: flex; align-items: center; justify-content: flex-end; gap: 12px; }
.danger-outline { color: #a62940; border-color: #ecc3cb; }
.quote-totals { width: min(100%, 390px); display: grid; gap: 8px; margin-left: auto; padding: 20px; }
.quote-totals > div { display: flex; align-items: center; justify-content: space-between; gap: 20px; color: var(--muted); font-size: 14px; }
.quote-totals strong { color: var(--ink); }
.quote-totals .grand-total { border-top: 1px solid #dfe7ea; padding-top: 11px; color: var(--ink); font-size: 17px; font-weight: 850; }
.quote-totals .grand-total strong { font-size: 21px; }
.quote-notes { border-top: 1px solid #edf1f2; padding: 18px 20px; }
.quote-notes strong { color: var(--ink); font-size: 13px; text-transform: uppercase; }
.quote-notes p { margin: 7px 0 0; color: #435963; white-space: pre-wrap; }
.catalog-form-card { margin-bottom: 18px; }
.catalog-type { display: inline-flex; border-radius: 999px; padding: 5px 9px; color: #17635f; background: #e8f8f6; font-size: 12px; font-weight: 800; text-transform: capitalize; }
.table-actions { display: flex; align-items: center; gap: 10px; }
.danger-text { color: #a62940; }
.inactive-row { opacity: .58; }
.company-profile-grid { display: grid; grid-template-columns: minmax(240px, .7fr) minmax(0, 1.8fr); gap: 20px; }
.company-brand-card { align-self: start; padding: 24px; text-align: center; }
.company-brand-card h2 { margin: 18px 0 5px; color: var(--ink); font-size: 20px; }
.company-brand-card p { margin: 0; color: var(--muted); font-size: 13px; }
.company-logo-preview { min-height: 170px; display: grid; place-items: center; overflow: hidden; border: 1px dashed #bdd0d5; border-radius: 13px; padding: 14px; background: #fbfdfd; }
.company-logo-preview img { width: 100%; max-height: 170px; object-fit: contain; }
.company-logo-placeholder { width: 86px; height: 86px; display: grid; place-items: center; border-radius: 18px; color: #0b716d; background: #e4f7f5; font-weight: 900; }
.company-profile-form-card { padding: 20px; }
.company-profile-form-card .form-grid { padding: 0; }
.form-section-heading { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 8px; border-top: 1px solid #e1e9eb; padding-top: 20px; }
.form-section-heading h3 { margin: 0; color: var(--ink); font-size: 17px; }
.form-section-heading p { margin: 4px 0 0; color: var(--muted); font-size: 12px; }
.number-preview { border-radius: 9px; padding: 9px 12px; color: var(--muted); background: #edf8f7; font-size: 12px; white-space: nowrap; }
.number-preview strong { color: var(--teal-dark); }
.toggle-field { display: flex; align-items: center; gap: 11px; border: 1px solid #dfe8ea; border-radius: 10px; padding: 11px 13px; color: var(--ink); cursor: pointer; }
.toggle-field input { width: 18px; height: 18px; flex: 0 0 auto; accent-color: var(--teal); }
.toggle-field span { display: grid; gap: 2px; }
.toggle-field strong { font-size: 13px; }
.toggle-field small { color: var(--muted); font-size: 11px; font-weight: 500; }
.empty-inline { padding: 16px 0; color: var(--muted); font-size: 14px; }
.upload-form { display: flex; align-items: end; gap: 12px; padding: 20px; }
.file-field { flex: 1; color: #344b56; font-size: 14px; font-weight: 700; }
.file-field input { height: auto; margin-top: 7px; padding: 8px; }
.document-item { display: flex; align-items: center; justify-content: space-between; gap: 12px; border-top: 1px solid #edf1f2; padding: 13px 0; }
.document-item strong { display: block; overflow-wrap: anywhere; color: var(--ink); font-size: 14px; }
.planning-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 18px; }
.planning-toolbar p { margin: 0; color: var(--muted); font-size: 14px; }
.planning-view-switch { width: max-content; display: flex; gap: 3px; margin-bottom: 14px; border: 1px solid var(--line); border-radius: 11px; padding: 3px; background: #fff; }
.planning-view-switch button { border: 0; border-radius: 8px; padding: 8px 15px; color: var(--muted); background: transparent; font-weight: 800; cursor: pointer; }
.planning-view-switch button.active { color: #073138; background: var(--teal); }
.planning-filters { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 16px; }
.planning-filters label { min-width: 190px; color: var(--muted); font-size: 11px; font-weight: 800; text-transform: uppercase; }
.planning-filters select { width: 100%; min-height: 40px; display: block; margin-top: 4px; border: 1px solid var(--line); border-radius: 9px; padding: 7px 10px; color: var(--ink); background: #fff; font-size: 14px; text-transform: none; }
.week-controls { display: flex; gap: 8px; }
.schedule-wrap { overflow-x: auto; margin: 0 -2px; padding: 2px 2px 10px; }
.schedule-grid { min-width: 980px; display: grid; grid-template-columns: repeat(7, minmax(132px, 1fr)); gap: 10px; }
.schedule-day { min-height: 380px; overflow: hidden; border: 1px solid #dfe7ea; border-radius: 13px; background: #f9fbfb; }
.schedule-day > header { display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid #e3eaed; padding: 11px 12px; color: var(--muted); background: #fff; }
.schedule-day > header span { font-size: 12px; font-weight: 800; text-transform: capitalize; }
.schedule-day > header strong { width: 31px; height: 31px; display: grid; place-items: center; border-radius: 9px; color: var(--ink); }
.schedule-day.today { border-color: var(--teal); box-shadow: 0 0 0 2px rgba(25,183,173,.1); }
.schedule-day.today > header strong { color: #062e31; background: var(--teal); }
.schedule-slots { display: grid; align-content: start; gap: 8px; padding: 9px; }
.schedule-job { width: 100%; display: grid; gap: 2px; border: 1px solid #dfe7ea; border-left: 3px solid var(--teal-dark); border-radius: 9px; padding: 10px; color: inherit; background: #fff; text-align: left; cursor: pointer; box-shadow: 0 2px 4px rgba(15,36,46,.03); }
.schedule-job:hover { border-color: #a9cfd0; transform: translateY(-1px); }
.schedule-job time { color: var(--teal-dark); font-size: 12px; font-weight: 900; }
.schedule-job strong { color: var(--ink); font-size: 13px; }
.schedule-job span { overflow: hidden; color: #435963; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.schedule-job small { overflow: hidden; color: var(--muted); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.schedule-job .status { width: max-content; min-height: 22px; margin-top: 5px; padding: 1px 7px; font-size: 10px; font-style: normal; }
.schedule-job.conflict, .month-job.conflict { border-color: #e05268; background: #fff5f7; }
.conflict-label { width: max-content; border-radius: 999px; padding: 2px 6px; color: #a62940; background: #ffe0e6; font-size: 9px; }
.month-weekdays, .month-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); }
.month-weekdays { border: 1px solid var(--line); border-bottom: 0; border-radius: 13px 13px 0 0; background: #fff; }
.month-weekdays span { padding: 9px; color: var(--muted); font-size: 11px; font-weight: 850; text-align: center; text-transform: uppercase; }
.month-grid { overflow: hidden; border: 1px solid var(--line); border-radius: 0 0 13px 13px; background: var(--line); gap: 1px; }
.month-day { min-width: 0; min-height: 125px; padding: 9px; background: #fff; }
.month-day.outside { background: #f5f7f8; opacity: .62; }
.month-day > strong { width: 27px; height: 27px; display: grid; place-items: center; margin-left: auto; border-radius: 8px; font-size: 12px; }
.month-day.today > strong { color: #062e31; background: var(--teal); }
.month-day > div { display: grid; gap: 4px; margin-top: 5px; }
.month-job { overflow: hidden; border: 0; border-left: 3px solid var(--teal-dark); border-radius: 5px; padding: 5px 6px; color: var(--ink); background: #eef8f7; font-size: 10px; text-align: left; text-overflow: ellipsis; white-space: nowrap; cursor: pointer; }
.month-job time { color: var(--teal-dark); font-weight: 900; }
.month-day small { color: var(--muted); font-size: 10px; }
.schedule-empty { margin: 0; padding: 18px 4px; color: #96a4aa; font-size: 12px; text-align: center; }
.unscheduled-card { margin-top: 20px; }
.unscheduled-list { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 10px; padding: 16px 20px 20px; }
.unscheduled-job { display: grid; gap: 2px; border: 1px solid #dfe7ea; border-radius: 10px; padding: 12px; color: inherit; background: #fff; text-align: left; cursor: pointer; }
.unscheduled-job:hover { border-color: var(--teal); background: #f7fffe; }
.unscheduled-job strong { color: var(--teal-dark); font-size: 12px; }
.unscheduled-job span { overflow: hidden; color: var(--ink); font-size: 13px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.unscheduled-job small { color: var(--muted); font-size: 12px; }
.empty-state { padding: 52px 20px; color: var(--muted); text-align: center; }
.loading-card { padding: 32px; color: var(--muted); text-align: center; }
.toast { position: fixed; right: 24px; bottom: 24px; max-width: 360px; border-radius: 11px; padding: 13px 16px; color: #fff; background: var(--ink); box-shadow: 0 16px 40px rgba(9,30,39,.3); z-index: 100; }
.toast.error { background: #a62940; }
.mobile-only { display: none; }

@media (max-width: 1120px) {
  .metrics { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .dashboard-grid { grid-template-columns: 1fr; }
  .commercial-grid { grid-template-columns: 1fr; }
  .settings-grid { grid-template-columns: 1fr; }
  .company-profile-grid { grid-template-columns: 1fr; }
  .form-section-heading { align-items: flex-start; flex-direction: column; }
  .job-detail-grid { grid-template-columns: 1fr; }
  .quote-main-fields { grid-template-columns: 1fr 1fr; }
  .quote-item-row { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .quote-item-row .item-description { grid-column: span 2; }
  .unscheduled-list { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

@media (max-width: 860px) {
  .sidebar { position: fixed; left: 0; width: min(82vw, 300px); height: 100vh; height: 100dvh; overflow-y: auto; overscroll-behavior: contain; padding-top: max(20px, env(safe-area-inset-top)); padding-bottom: max(20px, env(safe-area-inset-bottom)); transform: translateX(-105%); box-shadow: 20px 0 50px rgba(4,20,28,.32); transition: transform .2s ease; }
  .sidebar.open { transform: translateX(0); }
  .sidebar-close { position: absolute; right: 10px; top: max(10px, env(safe-area-inset-top)); width: 42px; height: 42px; display: grid; place-items: center; border: 0; border-radius: 10px; color: #c9d5d9; background: rgba(255,255,255,.08); font-size: 28px; line-height: 1; cursor: pointer; }
  .sidebar .brand { padding-right: 46px; }
  .sidebar-backdrop { position: fixed; inset: 0; display: block; border: 0; padding: 0; background: rgba(5, 24, 32, .48); opacity: 0; pointer-events: none; transition: opacity .2s ease; z-index: 15; }
  body.sidebar-open .sidebar-backdrop { opacity: 1; pointer-events: auto; }
  .mobile-only { display: grid; }
  .mobile-brand { display: block; color: var(--ink); font-weight: 900; }
  .topbar { position: relative; top: auto; padding: 0 18px; padding-top: env(safe-area-inset-top); }
  .topbar button, .topbar a { touch-action: manipulation; }
  .search { display: none; }
  .page { padding: 24px 18px 38px; }
}

.nav-group-label { display:block; margin:18px 14px 7px; color:#78909a; font-size:10px; font-weight:850; letter-spacing:.14em; text-transform:uppercase; }
.registry-toolbar { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:18px; }
.registry-filters { display:flex; gap:10px; flex:1 1 700px; min-width:0; max-width:760px; }
.registry-filters input, .registry-filters select { min-height:44px; border:1px solid #d7e1e5; border-radius:10px; padding:0 13px; background:#fff; color:var(--ink); font:inherit; }
.registry-filters input { flex:1 1 440px; min-width:280px; }
.registry-filters select { flex:0 0 240px; min-width:210px; }
.registry-toolbar > div:last-child { flex:0 0 auto; white-space:nowrap; }
.registry-pagination { display:flex; align-items:center; justify-content:space-between; gap:18px; min-height:48px; border-bottom:1px solid #dce6e9; padding:8px 14px; background:#edf3f5; }
.registry-page-summary { color:#344b56; font-size:13px; font-weight:800; }
.registry-page-actions { display:flex; align-items:center; justify-content:center; gap:3px; margin-inline:auto; }
.registry-page-number, .registry-page-arrow, .registry-page-last { min-width:32px; min-height:32px; border:0; border-radius:7px; padding:5px 8px; color:#087f7b; background:transparent; font:inherit; font-size:13px; font-weight:800; cursor:pointer; }
.registry-page-number:hover, .registry-page-arrow:hover, .registry-page-last:hover { background:#d9ecec; }
.registry-page-number.active { color:#fff; background:#087f7b; }
.registry-page-arrow { font-size:20px; line-height:1; }
.registry-page-arrow:disabled { opacity:.3; cursor:not-allowed; }
.registry-page-last { width:auto; padding-inline:10px; }
.registry-page-dots { padding-inline:4px; color:var(--muted); }
.gas-form-card { margin-bottom:20px; }
.contract-editor { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 22px; padding:20px; }
.contract-editor > label { display:grid; gap:7px; color:#344b56; font-size:13px; font-weight:750; }
.contract-client-field, .contract-locality-field, .contract-date-field, .contract-phone-field, .contract-options, .contract-observations, .contract-form-actions { grid-column:1/-1; }
.contract-options { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; border:1px solid #dfe8eb; border-radius:13px; padding:16px; }
.contract-options legend { padding:0 8px; font-weight:850; }
.contract-radio-group { display:flex; align-items:center; gap:18px; grid-column:1/-1; }
.contract-radio-group label { display:flex; align-items:center; gap:7px; font-weight:750; }
.contract-radio-group input { width:18px; height:18px; }
.gas-stages { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; border:1px solid #dfe8eb; border-radius:13px; padding:16px; }
.gas-stages legend { padding:0 8px; color:var(--ink); font-weight:800; }
.gas-check { display:flex!important; align-items:center; gap:9px; min-height:42px; border:1px solid #e2eaed; border-radius:10px; padding:9px 11px; background:#f8fafb; }
.gas-check input { width:18px!important; height:18px; margin:0; }
.gas-table-card { overflow:hidden; }
.gas-table { min-width:1080px; }
.gas-table thead { position:sticky; top:0; z-index:2; }
.gas-table th { background:#f0f5f6; color:#566a73; font-size:11px; letter-spacing:.04em; text-transform:uppercase; }
.gas-table td { font-size:13px; }
.gas-table td:first-child strong { color:#087f7b; }
.gas-detail-summary { display:block; max-width:310px; color:#526871; line-height:1.45; }
.contract-register-table { min-width:1450px; }
.bpf-register-table { width:100%; min-width:0; table-layout:fixed; }
.bpf-register-table th, .bpf-register-table td { padding:7px 4px; font-size:10px; line-height:1.22; white-space:normal; overflow-wrap:anywhere; text-align:center; }
.bpf-register-table th:nth-child(1) { width:34px; }
.bpf-register-table th:nth-child(2) { width:58px; }
.bpf-register-table th:nth-child(3) { width:68px; }
.bpf-register-table th:nth-child(4) { width:112px; }
.bpf-register-table th:nth-child(5) { width:66px; }
.bpf-register-table th:nth-child(6) { width:132px; }
.bpf-register-table th:nth-child(7) { width:76px; }
.bpf-register-table th:nth-child(8) { width:84px; }
.bpf-register-table th:nth-child(9) { width:82px; }
.bpf-register-table th:nth-child(10), .bpf-register-table th:nth-child(11) { width:52px; }
.bpf-register-table td:nth-child(4), .bpf-register-table td:nth-child(6), .bpf-register-table td:nth-child(9) { text-align:left; }
.bpf-card-list { display:grid; grid-template-columns:1fr; gap:8px; padding:10px; background:#eef3f4; }
.bpf-card { position:relative; display:grid; grid-template-columns:minmax(220px,1.15fr) minmax(760px,4.8fr) 74px; align-items:stretch; min-width:1080px; overflow:hidden; border:1px solid #dbe5e8; border-radius:11px; background:#fff; box-shadow:0 2px 8px rgba(15,36,46,.045); }
.bpf-card[hidden] { display:none; }
.bpf-card-identity { display:grid; align-content:center; gap:6px; min-width:0; border-right:1px solid #e4ecee; padding:11px 13px; }
.bpf-card-number { display:flex; align-items:baseline; gap:7px; min-width:0; }
.bpf-card-number span { color:#71858e; font-size:9px; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.bpf-card-number strong { color:#087f7b; font-size:14px; white-space:nowrap; }
.bpf-card-client { min-width:0; }
.bpf-card-client h2 { margin:0 0 2px; overflow:hidden; color:#102f3a; font-size:13px; line-height:1.25; text-overflow:ellipsis; white-space:nowrap; }
.bpf-card-client p { margin:0; overflow:hidden; color:#667b84; font-size:10px; line-height:1.3; text-overflow:ellipsis; white-space:nowrap; }
.bpf-card-meta { display:flex; flex-wrap:wrap; gap:3px 10px; min-width:0; color:#71858e; font-size:9px; font-weight:750; }
.bpf-card-meta a { color:#087f7b; text-decoration:none; }
.bpf-card-actions { display:grid; align-content:center; justify-items:center; gap:8px; border-left:1px solid #e4ecee; padding:9px; background:#fbfcfc; }
.bpf-card-progress { display:grid; grid-template-columns:auto auto; align-items:baseline; justify-content:center; gap:1px 4px; min-width:52px; }
.bpf-card-progress strong { color:#102f3a; font-size:13px; }
.bpf-card-progress span { color:#71858e; font-size:10px; font-weight:800; text-transform:uppercase; }
.bpf-card-progress i { grid-column:1/-1; display:block; width:52px; height:4px; overflow:hidden; border-radius:99px; background:#dce8ea; }
.bpf-card-progress b { display:block; height:100%; border-radius:inherit; background:#13aaa4; }
.bpf-stage-grid { display:grid; grid-template-columns:.75fr 1.65fr .85fr 1.05fr 1.15fr; min-width:0; }
.bpf-stage-group { min-width:0; border-right:1px solid #e4ecee; background:#fff; }
.bpf-stage-group:last-child { border-right:0; }
.bpf-stage-group h3 { margin:0; border-top:4px solid #7d939b; border-bottom:1px solid #edf1f2; padding:5px 7px 4px; color:#415861; font-size:8px; font-weight:900; letter-spacing:.055em; line-height:1.15; text-transform:uppercase; white-space:nowrap; }
.bpf-stage-list { display:grid; gap:1px; padding:4px 6px 5px; }
.bpf-stage { display:grid; grid-template-columns:13px minmax(0,1fr) auto; align-items:center; gap:4px; min-width:0; min-height:17px; color:#526871; font-size:8px; font-weight:750; line-height:1.1; }
.bpf-stage img { width:11px; height:11px; }
.bpf-stage > span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.bpf-stage strong { font-size:8px; font-weight:900; }
.bpf-stage.is-yes strong { color:#168061; }
.bpf-stage.is-no strong { color:#c63d4f; }
.bpf-group-branch h3 { border-top-color:#d83b35; }
.bpf-group-installation h3 { border-top-color:#d2b600; }
.bpf-group-project h3 { border-top-color:#2142c6; }
.bpf-group-box h3 { border-top-color:#18a9a5; }
.bpf-card-note { position:absolute; right:82px; bottom:3px; max-width:320px; margin:0; overflow:hidden; color:#78642c; font-size:8px; line-height:1.2; text-overflow:ellipsis; white-space:nowrap; }
.gas-edit-button { display:inline-grid; place-items:center; width:30px; height:30px; border:1px solid #cfe0e3; border-radius:8px; padding:0; color:var(--teal-dark); background:#fff; font-size:14px; cursor:pointer; transition:border-color .15s ease, background .15s ease, transform .15s ease; }
.gas-edit-button img { width:14px; height:14px; }
.gas-edit-button:hover { border-color:#8fc7c3; background:#e9f8f6; transform:translateY(-1px); }
.gas-edit-button:focus-visible { outline:3px solid rgba(17,184,174,.25); outline-offset:2px; }
.gas-table td:last-child { width:42px; text-align:center; }
.branching-register-table { min-width:2250px; }
.pif-register-table { min-width:1500px; }
.gas-table .gas-group-head th { vertical-align:bottom; }
.gas-table .gas-sub-head th { text-align:center; }
.gas-table .group-branch { background:#d83b35; color:#fff; }
.gas-table .group-installation { background:#d2b600; color:#fff; }
.gas-table .group-project { background:#2142c6; color:#fff; }
.gas-table .group-box { background:#18a9a5; color:#fff; }
.gas-boolean { text-align:center; }
.gas-checkmark { display:inline-grid; place-items:center; width:24px; height:24px; border-radius:7px; color:#087f7b; background:#dff5f1; font-weight:950; }
.report-period-form { display:flex; align-items:end; gap:12px; margin-bottom:20px; padding:18px; }
.report-period-form label { display:grid; gap:6px; color:var(--muted); font-size:12px; font-weight:800; }
.report-period-form input { min-height:42px; border:1px solid #d7e1e5; border-radius:9px; padding:0 11px; font:inherit; }
.report-register-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.report-register-title { padding:18px; color:#fff; background:#139d9d; font-size:20px; font-weight:900; text-align:center; }
.report-people-table td:last-child { width:90px; text-align:right; }

@media (max-width: 640px) {
  .registry-toolbar { align-items:stretch; flex-direction:column; }
  .registry-toolbar > div { display:grid; grid-template-columns:1fr 1fr; gap:9px; }
  .registry-filters { max-width:none; }
  .registry-filters input { grid-column:1/-1; min-width:0; }
  .registry-filters select { min-width:0; }
  .registry-pagination { align-items:flex-start; flex-direction:column; gap:5px; }
  .registry-page-actions { max-width:100%; margin:0; overflow-x:auto; }
  .gas-stages { grid-template-columns:1fr; }
  .contract-editor { grid-template-columns:1fr; padding:16px; }
  .contract-editor > *, .contract-options { grid-column:1; }
  .contract-options { grid-template-columns:1fr; }
  .gas-table-card { border:0; overflow:visible; background:transparent; box-shadow:none; }
  .gas-table-card .table-wrap { overflow:visible; }
  .gas-table, .gas-table tbody { display:block; min-width:0; width:100%; }
  .gas-table thead { display:none; }
  .gas-table tr { display:grid; grid-template-columns:1fr 1fr; gap:13px 16px; margin-bottom:12px; border:1px solid #dde7ea; border-radius:15px; padding:17px; background:#fff; box-shadow:0 4px 14px rgba(15,36,46,.06); }
  .gas-table td { display:block; min-width:0; border:0; padding:0; overflow-wrap:anywhere; }
  .gas-table td::before { content:attr(data-label); display:block; margin-bottom:4px; color:#788a92; font-size:9px; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
  .gas-table td:first-child, .gas-table td:nth-child(5) { grid-column:1/-1; }
  .gas-table td:last-child { display:flex; align-items:end; justify-content:flex-end; }
  .gas-detail-summary { max-width:none; }
  .bpf-card-list { grid-template-columns:1fr; gap:12px; padding:0; background:transparent; }
  .bpf-card { grid-template-columns:1fr auto; min-width:0; border-radius:14px; }
  .bpf-card-identity { border-right:0; padding:14px; }
  .bpf-card-actions { grid-column:2; grid-row:1; }
  .bpf-stage-grid { grid-column:1/-1; grid-row:2; grid-template-columns:1fr; border-top:1px solid #e4ecee; }
  .bpf-stage-group { border-right:0; border-bottom:1px solid #e4ecee; }
  .bpf-stage-group:last-child { border-bottom:0; }
  .bpf-stage-group h3 { padding:7px 10px 6px; font-size:9px; }
  .bpf-stage-list { grid-template-columns:repeat(2,minmax(0,1fr)); gap:5px 10px; padding:8px 10px 10px; }
  .bpf-stage { grid-template-columns:15px minmax(0,1fr) auto; min-height:20px; font-size:9px; }
  .bpf-stage img { width:13px; height:13px; }
  .bpf-stage strong { font-size:9px; }
  .bpf-card-note { position:static; grid-column:1/-1; grid-row:3; max-width:none; border-top:1px solid #eee4c7; padding:8px 12px; background:#fff9e8; font-size:9px; white-space:normal; }
  .report-period-form { align-items:stretch; flex-direction:column; }
  .report-period-form .button { width:100%; }
  .report-register-grid { grid-template-columns:1fr; }
}

@media (min-width:641px) and (max-width:1180px) {
  .bpf-card-list { overflow-x:auto; }
}

@media (min-width: 1200px) {
  body.wide-register-view .app-shell { max-width:none; }
  body.wide-register-view .sidebar { width:190px; flex-basis:190px; padding-inline:10px; }
  body.wide-register-view .sidebar .brand { gap:8px; padding-inline:4px; }
  body.wide-register-view .sidebar .brand strong { font-size:15px; }
  body.wide-register-view .sidebar .brand small { font-size:8px; }
  body.wide-register-view .company-card { padding:9px; }
  body.wide-register-view .main-nav a { min-height:37px; gap:8px; padding-inline:8px; font-size:12px; }
  body.wide-register-view .nav-label { margin-block:18px 7px; }
  body.wide-register-view .page { padding:22px 14px 36px; }
  body.wide-register-view .topbar { padding-inline:18px; }
  body.wide-register-view .gas-table-card { border-radius:9px; }
}

@media (max-width: 640px) {
  html, body { max-width: 100%; overflow-x: hidden; }
  .workspace, .page, .quote-detail-grid, .quote-detail-grid > *, .quote-action-card > div { width: 100%; min-width: 0; max-width: 100%; }
  .login-card { padding: 28px 22px; }
  .topbar > .button { position: relative; width: 42px; height: 42px; overflow: hidden; padding: 0; white-space: nowrap; color: transparent; font-size: 0; line-height: 1; }
  .topbar > .button::after { content: '+'; position: absolute; left: 50%; top: 50%; color: #08242c; font-size: 24px; font-weight: 900; line-height: 1; transform: translate(-50%, -57%); }
  .page-head { align-items: start; flex-direction: column; }
  .page-head-actions { width: 100%; align-items: flex-start; justify-content: space-between; }
  .client-profile-head { align-items: stretch; flex-direction: column; }
  .client-quick-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .client-quick-actions .button { width: 100%; }
  .client-profile-grid { grid-template-columns: 1fr; }
  .client-profile-grid .client-history { grid-column: auto; }
  .client-record { align-items: flex-start; flex-direction: column; }
  .client-record-side { align-items: flex-start; }
  .field-quick-actions { display: grid; grid-template-columns: 1fr 1fr; padding: 2px 14px 14px; }
  .field-quick-actions .button { width: 100%; }
  .field-quick-actions .button:last-child { grid-column: 1 / -1; }
  .page-summary { text-align: left; }
  .metrics, .form-grid { grid-template-columns: 1fr; }
  .business-impact-card, .commercial-profit { grid-template-columns: 1fr; align-items: stretch; gap: 17px; }
  .business-impact-card dl, .commercial-profit dl { grid-template-columns: 1fr; gap: 9px; }
  .business-impact-card dl div, .commercial-profit dl div { border-left: 0; border-top: 1px solid #cae7e3; padding: 9px 0 0; }
  .business-impact-card .button { width: 100%; }
  .commercial-chart { height: 220px; gap: 7px; padding-left: 12px; padding-right: 12px; }
  .detail-head, .upload-form { align-items: stretch; flex-direction: column; }
  .detail-head > .quote-status { width: auto; align-self: flex-start; }
  .intervention-card { align-items: stretch; flex-direction: column; padding: 18px; }
  .workflow-actions { align-items: stretch; justify-content: flex-start; flex-direction: column; }
  .workflow-actions .button { width: 100%; }
  .workflow-hint { max-width: none; text-align: left; }
  .workflow-lock { max-width: none; text-align: left; }
  .report-form, .signed-summary { grid-template-columns: 1fr; }
  .report-form > * { grid-column: 1; }
  #signature-pad { height: 170px; }
  .report-actions { align-items: stretch; flex-direction: column; }
  .quote-main-fields, .quote-detail-grid { grid-template-columns: 1fr; }
  .quote-main-fields > * { grid-column: 1; }
  .quote-lines-head, .quote-editor-footer, .quote-action-card { align-items: stretch; flex-direction: column; }
  .quote-action-card { width: 100%; min-width: 0; max-width: 100%; overflow: hidden; padding: 18px; }
  .quote-action-card h2, .quote-action-card p { max-width: 100%; overflow-wrap: anywhere; }
  .quote-action-card .workflow-actions { width: 100%; min-width: 0; }
  .share-link-row { align-items: stretch; flex-direction: column; }
  .share-buttons { align-items: stretch; flex-direction: column; }
  .share-buttons .button { width: 100%; }
  .reminder-channel-grid { grid-template-columns: 1fr; }
  .communication-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .communication-summary > div:nth-child(2) { border-right: 0; }
  .communication-summary > div:nth-child(-n+2) { border-bottom: 1px solid #edf1f2; }
  .communication-list li { grid-template-columns: 1fr; gap: 7px; }
  .document-stats { grid-template-columns: 1fr; }
  .document-upload-form { grid-template-columns: 1fr; }
  .document-stats { grid-template-columns: 1fr; gap: 9px; }
  .document-stats article { display: flex; align-items: center; justify-content: space-between; padding: 12px 15px; }
  .document-stats strong { margin-top: 0; font-size: 20px; }
  .document-actions { min-width: 185px; }
  .catalog-picker, .template-picker { align-items: stretch; flex-direction: column; }
  .quote-item-row { grid-template-columns: 1fr 1fr; }
  .quote-item-row { width: 100%; min-width: 0; gap: 12px; padding: 14px; overflow: hidden; }
  .quote-item-row .field { min-width: 0; }
  .quote-item-row input, .quote-item-row select, .quote-main-fields input, .quote-main-fields select, .quote-main-fields textarea { min-width: 0; font-size: 16px; }
  .quote-item-row .item-description { grid-column: 1 / -1; }
  .quote-editor-footer .form-actions { width: 100%; align-items: stretch; flex-direction: column; }
  .quote-editor-footer .form-actions .button { width: 100%; }
  .quote-list-card { border: 0; overflow: visible; background: transparent; box-shadow: none; }
  .quote-list-card .table-wrap { overflow: visible; }
  .quote-list-table, .quote-list-table tbody { display: block; width: 100%; }
  .quote-list-table thead { display: none; }
  .quote-list-table tr { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 14px 12px; margin-bottom: 12px; border: 1px solid #e0e8eb; border-radius: 14px; padding: 17px 18px; background: #fff; box-shadow: 0 3px 10px rgba(15,36,46,.05); }
  .quote-list-table td { min-width: 0; border: 0; padding: 0; }
  .quote-list-identity { grid-column: 1 / -1; border-bottom: 1px solid #edf1f2 !important; padding-bottom: 12px !important; }
  .quote-list-identity .job-link { font-size: 14px; }
  .quote-list-identity .cell-sub { margin-top: 5px; color: #526871; font-size: 13px; }
  .quote-list-work::before, .quote-list-total::before { content: 'Lucrare'; display: block; margin-bottom: 4px; color: var(--muted); font-size: 10px; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }
  .quote-list-total::before { content: 'Total'; text-align: right; }
  .quote-list-total { text-align: right; white-space: nowrap; }
  .quote-list-status { grid-column: 1 / -1; }
  .profitability-card { grid-template-columns: 1fr; }
  .profitability-card dl { grid-template-columns: 1fr; }
  .profitability-card dl > div { border-left: 0; border-top: 1px solid #eadfac; padding: 8px 0 0; }
  .remove-item { justify-self: end; }
  .planning-toolbar { align-items: flex-start; flex-direction: column; }
  .planning-filters { display: grid; grid-template-columns: 1fr 1fr; }
  .planning-filters label { min-width: 0; }
  .month-weekdays, .month-grid { width: 100%; }
  .month-weekdays span { padding: 7px 2px; font-size: 9px; }
  .month-day { padding: 5px 3px; }
  .month-job { padding: 4px 3px; font-size: 8px; }
  .month-grid { border-radius: 0 0 10px 10px; }
  .month-day { min-height: 105px; }
  .unscheduled-list { grid-template-columns: 1fr; }
  .metric-card { min-height: auto; }
  th, td { padding-left: 14px; padding-right: 14px; }
  tbody td { vertical-align: top; }
  .hide-mobile { display: none; }
}
