:root {
  --sitemd-bg: #f5f7fb;
  --sitemd-surface: #ffffff;
  --sitemd-border: #dfe6f0;
  --sitemd-border-soft: #edf1f6;
  --sitemd-text: #152033;
  --sitemd-muted: #6f7e95;
  --sitemd-accent: #f04444;
  --sitemd-accent-dark: #d72f38;
  --sitemd-green: #07855f;
  --sitemd-amber: #b86905;
  --sitemd-blue: #2563eb;
  --sitemd-shadow: 0 12px 35px rgba(28, 42, 66, .08);
  --sitemd-radius: 16px;
  --sitemd-sidebar: 252px;
}

body.sitemd-standalone { margin: 0; overflow-x: hidden; }

* { box-sizing: border-box; }
.sitemd-sr-only { clip: rect(0,0,0,0); clip-path: inset(50%); height: 1px; overflow: hidden; position: absolute; white-space: nowrap; width: 1px; }
.sitemd-icon { display: inline-block; flex: 0 0 auto; vertical-align: middle; }
.sitemd-app, .sitemd-login-shell { color: var(--sitemd-text); font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; -webkit-font-smoothing: antialiased; }
.sitemd-app button, .sitemd-app input, .sitemd-app select, .sitemd-app textarea, .sitemd-login-shell input, .sitemd-login-shell button { font: inherit; }
.sitemd-app button { color: inherit; }
.sitemd-app h1, .sitemd-app h2, .sitemd-app h3, .sitemd-app h4, .sitemd-app p { margin-top: 0; }
.sitemd-app { background: var(--sitemd-bg); display: grid; grid-template-columns: var(--sitemd-sidebar) minmax(0, 1fr); min-height: 100vh; transition: grid-template-columns .22s ease; }
.sitemd-app.is-collapsed { grid-template-columns: 76px minmax(0, 1fr); }

.sitemd-sidebar { background: #101a2b; color: #d6deeb; display: flex; flex-direction: column; height: 100vh; left: 0; position: sticky; top: 0; z-index: 50; }
.sitemd-brand { align-items: center; border-bottom: 1px solid rgba(255,255,255,.08); display: flex; gap: 11px; height: 78px; padding: 0 18px; position: relative; }
.sitemd-brand__mark { align-items: center; background: #fff; border-radius: 10px; display: flex; flex: 0 0 40px; height: 40px; justify-content: center; overflow: hidden; }
.sitemd-brand__mark img { display: block; height: 100%; object-fit: cover; width: 100%; }
.sitemd-brand__text { color: #fff; font-size: 21px; font-weight: 800; letter-spacing: -.02em; overflow: hidden; white-space: nowrap; }
.sitemd-collapse { align-items: center; background: #243047; border: 2px solid #101a2b; border-radius: 50%; color: #fff !important; cursor: pointer; display: flex; height: 28px; justify-content: center; padding: 0; position: absolute; right: -14px; width: 28px; z-index: 2; }
.sitemd-nav { display: flex; flex: 1; flex-direction: column; gap: 5px; overflow-y: auto; padding: 20px 12px; }
.sitemd-nav a { align-items: center; border-radius: 10px; color: #aebbd0; display: flex; font-size: 14px; font-weight: 650; gap: 13px; min-height: 44px; padding: 0 14px; text-decoration: none; transition: background .16s, color .16s; white-space: nowrap; }
.sitemd-nav a:hover { background: rgba(255,255,255,.07); color: #fff; }
.sitemd-nav a.is-active { background: var(--sitemd-accent); box-shadow: 0 7px 18px rgba(240,68,68,.22); color: #fff; }
.sitemd-nav a span { overflow: hidden; }
.sitemd-user { align-items: center; border-top: 1px solid rgba(255,255,255,.08); display: grid; gap: 10px; grid-template-columns: 38px minmax(0,1fr) 24px; min-height: 76px; padding: 12px 16px; }
.sitemd-user strong, .sitemd-user small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sitemd-user strong { color: #fff; font-size: 13px; }
.sitemd-user small { color: #8998af; font-size: 11px; margin-top: 2px; }
.sitemd-user a { color: #aebbd0; }
.sitemd-app.is-collapsed .sitemd-brand { justify-content: center; padding: 0; }
.sitemd-app.is-collapsed .sitemd-brand__text, .sitemd-app.is-collapsed .sitemd-nav span, .sitemd-app.is-collapsed .sitemd-user > div:not(.sitemd-avatar), .sitemd-app.is-collapsed .sitemd-user a { display: none; }
.sitemd-app.is-collapsed .sitemd-nav a { justify-content: center; padding: 0; }
.sitemd-app.is-collapsed .sitemd-user { display: flex; justify-content: center; padding: 12px 0; }

.sitemd-shell { min-width: 0; position: relative; }
.sitemd-main { margin: 0 auto; max-width: 1840px; min-height: 100vh; padding: 32px 34px 70px; }
.sitemd-mobile-bar { display: none; }
.sitemd-page-header { align-items: flex-start; display: flex; gap: 20px; justify-content: space-between; margin-bottom: 24px; }
.sitemd-page-header h1 { font-size: clamp(27px, 2.3vw, 36px); letter-spacing: -.04em; line-height: 1.1; margin-bottom: 6px; }
.sitemd-page-header p { color: var(--sitemd-muted); font-size: 15px; margin-bottom: 0; }
.sitemd-page-heading { min-width: 0; }
.sitemd-page-controls { align-items: center; display: flex; gap: 9px; justify-content: flex-end; }
.sitemd-page-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 9px; justify-content: flex-end; }

.sitemd-button { align-items: center; background: #fff; border: 1px solid #d8e0ea; border-radius: 9px; box-shadow: 0 2px 5px rgba(22,35,56,.05); cursor: pointer; display: inline-flex; font-size: 13px; font-weight: 700; gap: 8px; justify-content: center; min-height: 39px; padding: 8px 14px; text-decoration: none; transition: border-color .15s, background .15s, transform .15s; }
.sitemd-button:hover { border-color: #aebbd0; transform: translateY(-1px); }
.sitemd-button:disabled { cursor: not-allowed; opacity: .55; transform: none; }
.sitemd-button--primary { background: var(--sitemd-accent); border-color: var(--sitemd-accent); color: #fff !important; }
.sitemd-button--primary:hover { background: var(--sitemd-accent-dark); border-color: var(--sitemd-accent-dark); }
.sitemd-button--danger { border-color: #fecaca; color: #dc2626 !important; }
.sitemd-button--ghost-danger { background: transparent; border-color: transparent; box-shadow: none; color: #dc2626 !important; min-width: 34px; padding: 5px; }
.sitemd-button--icon { min-width: 39px; padding: 8px; }
.sitemd-button--success { background: #e9faf3; border-color: #b7edd9; color: #057656 !important; }
.sitemd-button--warning { background: #fff2dd; border-color: #f8d5a0; color: #9a5500 !important; }
.sitemd-icon-button { align-items: center; background: transparent; border: 0; border-radius: 8px; cursor: pointer; display: inline-flex; height: 38px; justify-content: center; padding: 0; width: 38px; }
.sitemd-icon-button:hover { background: #edf1f6; }

.sitemd-card { background: var(--sitemd-surface); border: 1px solid var(--sitemd-border); border-radius: var(--sitemd-radius); box-shadow: 0 1px 2px rgba(22,35,56,.02); padding: 22px; }
.sitemd-card-heading { align-items: center; display: flex; gap: 16px; justify-content: space-between; }
.sitemd-card-heading h2 { font-size: 18px; margin-bottom: 4px; }
.sitemd-card-heading p { color: var(--sitemd-muted); font-size: 13px; margin-bottom: 0; }
.sitemd-card-grid { display: grid; gap: 16px; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); }
.sitemd-list { display: flex; flex-direction: column; gap: 10px; }
.sitemd-list-row { align-items: center; display: grid; gap: 18px; grid-template-columns: minmax(0,1fr) auto auto; padding: 16px 18px; }
.sitemd-list-row__main { align-items: center; display: flex; gap: 14px; min-width: 0; }
.sitemd-list-row__main h3 { font-size: 15px; margin-bottom: 4px; }
.sitemd-list-row__main p { color: var(--sitemd-muted); font-size: 12px; margin-bottom: 4px; }
.sitemd-list-row__main small { display: block; max-width: 700px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sitemd-list-row__meta { align-items: flex-end; display: flex; flex-direction: column; gap: 4px; }
.sitemd-list-row__meta small, .sitemd-list-row__meta span:last-child { color: var(--sitemd-muted); font-size: 11px; }
.sitemd-list-icon { align-items: center; background: #f0f4f8; border-radius: 10px; color: #50627a; display: flex; flex: 0 0 42px; height: 42px; justify-content: center; }
.sitemd-row-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 7px; }
.sitemd-enquiry-grid { display: grid; gap: 14px; grid-template-columns: repeat(auto-fill,minmax(340px,1fr)); }
.sitemd-enquiry-card { display: flex; flex-direction: column; min-height: 285px; padding: 18px; }
.sitemd-enquiry-card__head { align-items: center; display: grid; gap: 11px; grid-template-columns: 42px minmax(0,1fr) auto; }
.sitemd-enquiry-card__identity { min-width: 0; }
.sitemd-enquiry-card__identity h3 { font-size: 15px; margin-bottom: 2px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sitemd-enquiry-card__identity p { color: var(--sitemd-muted); font-size: 10px; margin: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sitemd-enquiry-card__message { color: #34465d; display: -webkit-box; font-size: 12px; line-height: 1.55; margin: 16px 0 12px; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.sitemd-enquiry-card__contact { background: #f7f9fc; border-radius: 9px; display: flex; flex-direction: column; gap: 4px; padding: 10px 11px; }
.sitemd-enquiry-card__contact a, .sitemd-enquiry-card__contact span { color: #52647c; font-size: 9px; overflow-wrap: anywhere; text-decoration: none; white-space: pre-line; }
.sitemd-enquiry-card__footer { align-items: flex-end; border-top: 1px solid var(--sitemd-border-soft); display: flex; gap: 12px; justify-content: space-between; margin-top: auto; padding-top: 14px; }
.sitemd-enquiry-card__footer > div:first-child strong, .sitemd-enquiry-card__footer > div:first-child small { display: block; }
.sitemd-enquiry-card__footer > div:first-child strong { color: #56677e; font-size: 9px; }
.sitemd-enquiry-card__footer > div:first-child small { color: #8b99ab; font-size: 8px; margin-top: 3px; text-transform: capitalize; }
.sitemd-enquiry-card__actions { align-items: center; display: flex; gap: 6px; }

.sitemd-toolbar { align-items: center; display: flex; gap: 14px; justify-content: space-between; margin-bottom: 18px; }
.sitemd-search { align-items: center; background: #fff; border: 1px solid var(--sitemd-border); border-radius: 10px; display: flex; flex: 1; gap: 9px; max-width: 720px; padding: 0 13px; }
.sitemd-search:focus-within { border-color: #9eb4ce; box-shadow: 0 0 0 3px rgba(37,99,235,.08); }
.sitemd-search .sitemd-icon { color: #8090a7; }
.sitemd-search input { background: transparent; border: 0; box-shadow: none; min-height: 44px; outline: 0; padding: 0; width: 100%; }

.sitemd-kpi-grid { display: grid; gap: 14px; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); }
.sitemd-kpi { background: #fff; border: 1px solid var(--sitemd-border); border-radius: 15px; cursor: pointer; display: grid; gap: 3px; grid-template-columns: 1fr auto; min-height: 142px; padding: 20px; text-align: left; transition: border-color .15s, box-shadow .15s, transform .15s; }
.sitemd-kpi:hover { border-color: #bdc9d9; box-shadow: var(--sitemd-shadow); transform: translateY(-2px); }
.sitemd-kpi__count { color: var(--sitemd-accent); font-size: 32px; font-weight: 800; grid-column: 1 / -1; letter-spacing: -.04em; line-height: 1; }
.sitemd-kpi strong { font-size: 15px; margin-top: 12px; }
.sitemd-kpi small { color: var(--sitemd-muted); font-size: 12px; grid-column: 1; }
.sitemd-kpi > .sitemd-icon { align-self: end; color: #9aa9bc; grid-column: 2; grid-row: 3; }
.sitemd-overview-lower { display: grid; gap: 16px; grid-template-columns: 1fr 1fr; margin-top: 18px; }
.sitemd-overview-shortcut { min-width: 0; }
.sitemd-overview-shortcut .sitemd-card-heading > div { min-width: 0; }
.sitemd-overview-shortcut__action { flex: 0 0 auto; white-space: nowrap; }

.sitemd-field { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.sitemd-field--wide { grid-column: 1 / -1; }
.sitemd-field__label { color: #39485d; font-size: 12px; font-weight: 750; }
.sitemd-field__label em { color: var(--sitemd-accent); font-style: normal; }
.sitemd-field input, .sitemd-field select, .sitemd-field textarea { background: #fff; border: 1px solid #d7e0eb; border-radius: 8px; box-shadow: 0 1px 2px rgba(22,35,56,.02); color: var(--sitemd-text); min-height: 42px; outline: 0; padding: 9px 11px; width: 100%; }
.sitemd-field textarea { line-height: 1.5; resize: vertical; }
.sitemd-field input:focus, .sitemd-field select:focus, .sitemd-field textarea:focus { border-color: #8aa4c3; box-shadow: 0 0 0 3px rgba(37,99,235,.09); }
.sitemd-field small { color: var(--sitemd-muted); font-size: 11px; }
.sitemd-form-grid { display: grid; gap: 15px; grid-template-columns: 1fr 1fr; }
.sitemd-address-source { background: #f7f9fc; border: 1px solid var(--sitemd-border-soft); border-radius: 11px; padding: 13px; }
.sitemd-address-source__choices { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 9px; }
.sitemd-address-source__choices .sitemd-button.is-selected { background: #e7f1ff; border-color: #8db4e8; box-shadow: inset 0 0 0 1px #8db4e8; color: #214f87; }
.sitemd-error-text { color: #bf2a38 !important; }
.sitemd-form-actions { align-items: center; display: flex; gap: 9px; justify-content: flex-end; margin-top: 20px; }
.sitemd-form-actions--split { justify-content: space-between; }
.sitemd-form-actions--split > div { display: flex; gap: 9px; }
.sitemd-delete-options { align-items: center; display: flex; flex-wrap: wrap; gap: 7px; }
.sitemd-field-stack { align-self: end; display: flex; flex-direction: column; gap: 10px; }
.sitemd-checkbox { align-items: flex-start; cursor: pointer; display: flex; font-size: 13px; gap: 9px; line-height: 1.4; }
.sitemd-checkbox input { accent-color: var(--sitemd-accent); height: 17px; margin: 1px 0 0; width: 17px; }
.sitemd-choice-list { display: flex; flex-direction: column; gap: 10px; }
.sitemd-choice-list .sitemd-checkbox { background: #f7f9fc; border: 1px solid var(--sitemd-border-soft); border-radius: 8px; padding: 10px 12px; }
.sitemd-choice-list--columns { display: grid; grid-template-columns: 1fr 1fr; margin-top: 20px; }
.sitemd-convert-switch { background: #eef2f7; border-radius: 10px; display: grid; gap: 4px; grid-template-columns: 1fr 1fr; margin-bottom: 18px; padding: 4px; }
.sitemd-convert-switch button { background: transparent; border: 0; border-radius: 8px; color: #65758c; cursor: pointer; font-size: 12px; font-weight: 750; min-height: 40px; padding: 8px 12px; }
.sitemd-convert-switch button.is-active { background: #fff; box-shadow: 0 2px 8px rgba(22,35,56,.09); color: var(--sitemd-text); }
.sitemd-enquiry-tabs { align-items: center; border-bottom: 1px solid var(--sitemd-border); display: flex; gap: 6px; margin-bottom: 14px; }
.sitemd-enquiry-tabs button { align-items: center; background: transparent; border: 0; border-bottom: 3px solid transparent; color: var(--sitemd-muted); cursor: pointer; display: inline-flex; font-size: 12px; font-weight: 800; gap: 7px; margin-bottom: -1px; min-height: 43px; padding: 7px 13px; }
.sitemd-enquiry-tabs button:hover { color: var(--sitemd-text); }
.sitemd-enquiry-tabs button.is-active { border-bottom-color: var(--sitemd-accent); color: var(--sitemd-text); }
.sitemd-enquiry-tabs b { align-items: center; background: #edf2f7; border-radius: 999px; color: #53667e; display: inline-flex; font-size: 9px; justify-content: center; min-height: 20px; min-width: 20px; padding: 2px 6px; }
.sitemd-enquiry-tabs button.is-active b { background: #ffe5e7; color: #bd2737; }

.sitemd-modal-layer { align-items: center; background: rgba(12,20,34,.56); display: flex; inset: 0; justify-content: center; padding: 20px; position: fixed; z-index: 1000; }
.sitemd-modal-layer.is-pointer-dragging-away { opacity: 0; pointer-events: none; }
.sitemd-modal { animation: sitemd-modal-in .18s ease-out; background: #fff; border-radius: 17px; box-shadow: 0 25px 80px rgba(0,0,0,.25); max-height: calc(100vh - 40px); max-width: 560px; overflow: auto; width: 100%; }
.sitemd-modal--wide { max-width: 820px; }
.sitemd-modal > header { align-items: flex-start; border-bottom: 1px solid var(--sitemd-border-soft); display: flex; justify-content: space-between; padding: 21px 24px 17px; }
.sitemd-modal > header h2 { font-size: 21px; margin-bottom: 4px; }
.sitemd-modal > header p { color: var(--sitemd-muted); font-size: 12px; margin-bottom: 0; }
.sitemd-modal__body { padding: 22px 24px 24px; }
.sitemd-modal > footer { align-items: center; border-top: 1px solid var(--sitemd-border-soft); display: flex; flex-wrap: wrap; gap: 9px; justify-content: flex-end; padding: 14px 24px; }
.sitemd-confirm { align-items: flex-start; display: flex; gap: 13px; }
.sitemd-confirm__icon { align-items: center; background: #fff0f1; border-radius: 10px; color: #d52e3d; display: flex; flex: 0 0 44px; height: 44px; justify-content: center; }
.sitemd-confirm p { color: #405269; font-size: 13px; line-height: 1.55; margin: 2px 0 0; }
@keyframes sitemd-modal-in { from { opacity: 0; transform: translateY(8px) scale(.985); } to { opacity: 1; transform: none; } }

.sitemd-loading, .sitemd-empty { align-items: center; color: var(--sitemd-muted); display: flex; flex-direction: column; gap: 10px; justify-content: center; min-height: 180px; padding: 24px; text-align: center; }
.sitemd-loading { flex-direction: row; min-height: 120px; }
.sitemd-empty h3 { color: var(--sitemd-text); font-size: 15px; margin: 0; }
.sitemd-empty p { font-size: 12px; margin-bottom: 0; max-width: 300px; }
.sitemd-spinner { animation: sitemd-spin .7s linear infinite; border: 2px solid rgba(70,86,110,.2); border-radius: 50%; border-top-color: currentColor; display: inline-block; height: 19px; width: 19px; }
@keyframes sitemd-spin { to { transform: rotate(360deg); } }
.sitemd-error { background: #fff1f2; border: 1px solid #fecdd3; border-radius: 9px; color: #b42336; margin: 12px 0; padding: 11px 13px; }
.sitemd-status { background: #eef2f7; border-radius: 999px; color: #54657d; display: inline-flex; font-size: 10px; font-weight: 800; letter-spacing: .04em; padding: 5px 9px; text-transform: uppercase; white-space: nowrap; }
.sitemd-status--new, .sitemd-status--pending { background: #fff3dd; color: #a35900; }
.sitemd-status--approved, .sitemd-status--completed, .sitemd-status--received, .sitemd-status--used { background: #e6f8f0; color: #077655; }
.sitemd-status--attended { background: #eaf2ff; color: #315eaa; }
.sitemd-status--denied, .sitemd-status--cancelled { background: #fff0f1; color: #c52c3d; }
.sitemd-muted { color: var(--sitemd-muted); font-size: 12px; }

.sitemd-customer-card { align-items: center; background: #fff; border: 1px solid var(--sitemd-border); border-radius: 15px; cursor: pointer; display: grid; gap: 14px; grid-template-columns: 50px minmax(0,1fr) 20px; padding: 18px; text-align: left; transition: border-color .15s, transform .15s; }
.sitemd-customer-card:hover { border-color: #afbdd0; transform: translateY(-2px); }
.sitemd-avatar { align-items: center; background: #31415c; border-radius: 50%; color: #fff; display: flex; flex: 0 0 38px; font-size: 12px; font-weight: 800; height: 38px; justify-content: center; width: 38px; }
.sitemd-avatar--large { flex-basis: 58px; font-size: 16px; height: 58px; width: 58px; }
.sitemd-customer-card__body { min-width: 0; }
.sitemd-customer-card__body h3 { font-size: 15px; margin-bottom: 3px; }
.sitemd-customer-card__body strong { color: #53647b; display: block; font-size: 11px; margin-bottom: 6px; }
.sitemd-customer-card__body p, .sitemd-customer-card__body small { color: var(--sitemd-muted); display: block; font-size: 11px; margin-bottom: 3px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.sitemd-toolbar--explorer { background: #fff; border: 1px solid var(--sitemd-border); border-radius: 13px; padding: 10px; }
.sitemd-toolbar--explorer .sitemd-search { border: 0; max-width: none; }
.sitemd-toolbar--explorer > span { color: var(--sitemd-muted); font-size: 11px; padding-right: 8px; }
.sitemd-stage-job-list { display: grid; gap: 10px; margin-top: 14px; }
.sitemd-stage-job { align-items: center; background: #fff; border: 1px solid var(--sitemd-border); border-radius: 14px; color: var(--sitemd-text); cursor: pointer; display: grid; gap: 13px; grid-template-columns: 42px minmax(0,1fr) auto 20px; padding: 14px 16px; text-align: left; width: 100%; }
.sitemd-stage-job:hover { border-color: #c7d2e1; box-shadow: 0 8px 20px rgba(20,36,58,.06); }
.sitemd-stage-job__icon { align-items: center; background: #eef3f8; border-radius: 10px; color: #5e718a; display: flex; height: 42px; justify-content: center; width: 42px; }
.sitemd-stage-job__main strong, .sitemd-stage-job__main small, .sitemd-stage-job__meta small { display: block; }
.sitemd-stage-job__main strong { font-size: 14px; }
.sitemd-stage-job__main small, .sitemd-stage-job__meta small { color: var(--sitemd-muted); font-size: 10px; margin-top: 4px; }
.sitemd-stage-job__meta { text-align: right; }
.sitemd-project-explorer { background: #fff; border: 1px solid var(--sitemd-border); border-radius: 15px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); height: calc(100vh - 190px); min-height: 620px; overflow: hidden; }
.sitemd-explorer-lane { border-right: 1px solid var(--sitemd-border); display: flex; flex-direction: column; min-width: 0; }
.sitemd-explorer-lane:last-child { border-right: 0; }
.sitemd-explorer-lane > header { align-items: center; border-bottom: 1px solid var(--sitemd-border); display: flex; justify-content: space-between; min-height: 66px; padding: 10px 13px; }
.sitemd-explorer-lane__back { align-items: center; background: transparent; border: 0; border-radius: 8px; color: var(--sitemd-muted); cursor: pointer; display: none; flex: 0 0 32px; height: 32px; justify-content: center; margin-left: -5px; padding: 0; }
.sitemd-explorer-lane__back:hover { background: #edf2f7; color: var(--sitemd-text); }
.sitemd-explorer-lane > header small { color: #93a1b4; font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.sitemd-explorer-lane > header h2 { font-size: 15px; margin: 2px 0 0; }
.sitemd-explorer-list { flex: 1; overflow-y: auto; padding: 8px; }
.sitemd-explorer-list .sitemd-empty { min-height: 220px; padding: 12px; }
.sitemd-explorer-item { align-items: center; background: transparent; border: 0; border-radius: 9px; cursor: pointer; display: grid; gap: 8px; grid-template-columns: 33px minmax(0,1fr) auto; min-height: 56px; padding: 7px 8px; text-align: left; width: 100%; }
.sitemd-explorer-item:hover { background: #f5f7fa; }
.sitemd-explorer-item.is-active { background: #fff0f1; color: #a51f2d; }
.sitemd-explorer-item__icon { align-items: center; background: #edf2f7; border-radius: 7px; color: #61738b; display: flex; height: 32px; justify-content: center; width: 32px; }
.sitemd-explorer-item strong, .sitemd-explorer-item small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sitemd-explorer-item strong { font-size: 12px; }
.sitemd-explorer-item small { color: #7a8aa0; font-size: 9px; margin-top: 3px; }
.sitemd-explorer-item em { align-items: center; background: var(--sitemd-accent); border-radius: 50%; color: #fff; display: flex; font-size: 10px; font-style: normal; height: 18px; justify-content: center; width: 18px; }
.sitemd-context-menu { animation: sitemd-context-in .12s ease-out; background: #fff; border: 1px solid var(--sitemd-border); border-radius: 10px; box-shadow: 0 14px 38px rgba(15,27,45,.2); min-width: 180px; padding: 5px; position: fixed; z-index: 900; }
.sitemd-context-menu button { align-items: center; background: transparent; border: 0; border-radius: 7px; color: var(--sitemd-text); cursor: pointer; display: flex; gap: 9px; padding: 9px 10px; text-align: left; width: 100%; }
.sitemd-context-menu button:hover { background: #f4f7fa; }
.sitemd-context-menu .sitemd-context-menu__danger { color: #d52e3d !important; }
.sitemd-context-menu .sitemd-context-menu__danger:hover { background: #fff0f1; }
.sitemd-context-menu strong, .sitemd-context-menu small { display: block; }
.sitemd-context-menu strong { font-size: 11px; }
.sitemd-context-menu small { color: var(--sitemd-muted); font-size: 8px; margin-top: 2px; max-width: 125px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
@keyframes sitemd-context-in { from { opacity: 0; transform: translateY(-3px) scale(.98); } }
.sitemd-status-dot { background: #8ca0ba; border-radius: 50%; height: 9px; margin-left: 10px; width: 9px; }
.sitemd-status-dot--completed { background: var(--sitemd-green); }
.sitemd-status-dot--pending_reschedule { background: var(--sitemd-accent); }
.sitemd-job-page > .sitemd-job-pane { padding: 0; }
.sitemd-customer-card:disabled { color: inherit; cursor: default; opacity: 1; }
.sitemd-customer-card:disabled:hover { border-color: var(--sitemd-border); transform: none; }

.sitemd-job-pane { padding: 20px; }
.sitemd-job-hero { align-items: flex-start; background: #fff; border: 1px solid var(--sitemd-border); border-radius: 14px; display: grid; gap: 20px; grid-template-columns: minmax(0,1fr) auto; padding: 22px; }
.sitemd-job-hero__eyebrow { align-items: center; display: flex; gap: 8px; margin-bottom: 11px; }
.sitemd-po-number { background: #edf3fa; border: 1px solid #d9e4f0; border-radius: 999px; color: #4d627d; font-size: 10px; font-weight: 800; letter-spacing: .035em; padding: 5px 9px; }
.sitemd-alert-pill { background: #fff1f1; border-radius: 999px; color: #c32637; font-size: 10px; font-weight: 800; padding: 5px 9px; }
.sitemd-job-title-row { align-items: baseline; display: flex; flex-wrap: wrap; gap: 7px 12px; margin-bottom: 11px; }
.sitemd-job-hero h2 { font-size: clamp(21px,2vw,30px); letter-spacing: -.03em; margin: 0; }
.sitemd-job-estimate { color: #7b6b45; font-size: 10px; font-weight: 750; }
.sitemd-job-meta { align-items: center; color: #657791; display: flex; flex-wrap: wrap; font-size: 11px; gap: 12px; }
.sitemd-job-meta span, .sitemd-job-meta a { align-items: center; display: flex; gap: 5px; }
.sitemd-job-contact { color: #2563eb; font-weight: 700; text-decoration: none; }
.sitemd-job-contact:hover { text-decoration: underline; }
.sitemd-job-meta .sitemd-icon { height: 15px; width: 15px; }
.sitemd-job-date-label { align-items: center; background: #eef4fb; border: 1px solid #dbe6f2; border-radius: 999px; color: #45617f; cursor: pointer; display: inline-flex; font-size: 10px; font-weight: 750; gap: 5px; padding: 5px 8px; }
.sitemd-job-date-label:hover { background: #e4eef9; border-color: #c4d6e9; }
.sitemd-navigation-links { display: inline-flex; margin-top: 14px; position: relative; }
.sitemd-directions-trigger { align-items: center; background: #f7f9fc; border: 1px solid #d9e2ed; border-radius: 9px; color: #43566f; cursor: pointer; display: inline-flex; font-size: 11px; font-weight: 750; gap: 7px; min-height: 38px; padding: 8px 11px; }
.sitemd-directions-trigger:hover, .sitemd-directions-trigger[aria-expanded="true"] { background: #eef4fa; border-color: #bfcddd; }
.sitemd-directions-trigger .sitemd-icon:last-child { margin-left: 2px; transform: rotate(90deg); transition: transform .15s; }
.sitemd-directions-trigger .sitemd-icon:last-child.is-open { transform: rotate(-90deg); }
.sitemd-directions-menu { background: #fff; border: 1px solid var(--sitemd-border); border-radius: 12px; box-shadow: 0 16px 38px rgba(19,32,53,.18); left: 0; min-width: 255px; overflow: hidden; padding: 5px; position: absolute; top: calc(100% + 7px); z-index: 30; }
.sitemd-directions-menu a { align-items: center; border-radius: 8px; color: var(--sitemd-text); display: grid; gap: 9px; grid-template-columns: 32px minmax(0,1fr) 16px; padding: 8px; text-decoration: none; }
.sitemd-directions-menu a:hover { background: #f5f8fb; }
.sitemd-directions-menu a > span:nth-child(2) { min-width: 0; }
.sitemd-directions-menu strong, .sitemd-directions-menu small { display: block; }
.sitemd-directions-menu strong { font-size: 11px; }
.sitemd-directions-menu small { color: var(--sitemd-muted); font-size: 8px; margin-top: 2px; }
.sitemd-directions-menu__logo { align-items: center; background: #f6f8fb; border-radius: 8px; display: flex; height: 32px; justify-content: center; width: 32px; }
.sitemd-navigation-logo { display: block; height: 21px; width: 21px; }
.sitemd-navigation-logo--apple { color: #151c27; }
.sitemd-job-description { background: #f5f7fa; border-radius: 8px; color: #43536a; font-size: 12px; line-height: 1.5; margin: 30px 0 0 !important; padding: 11px 12px; }
.sitemd-job-site-notes { background: #fffaf1; border: 1px solid #f1dfbd; border-radius: 9px; margin-top: 10px; padding: 10px; }
.sitemd-job-site-notes__heading { align-items: center; color: #77541d; display: flex; font-size: 12px; gap: 7px; margin-bottom: 8px; }
.sitemd-job-site-notes .sitemd-note:last-child { margin-bottom: 0; }
.sitemd-job-actions { display: flex; flex-direction: column; gap: 7px; min-width: 150px; }
.sitemd-job-actions .sitemd-button { justify-content: flex-start; }
.sitemd-job-operational { align-items: center; background: #fff; border: 1px solid var(--sitemd-border); border-radius: 12px; display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0; padding: 10px; }
.sitemd-requirement-note { align-items: center; color: #9a5a08; display: inline-flex; font-size: 9px; font-weight: 700; gap: 5px; }
.sitemd-success-text { align-items: center; color: var(--sitemd-green); display: inline-flex; font-size: 11px; font-weight: 700; gap: 5px; }
.sitemd-job-grid { display: grid; gap: 12px; grid-template-columns: 1fr 1fr; }
.sitemd-job-section { margin-bottom: 12px; padding: 0; }
.sitemd-job-section__head { align-items: center; display: flex; gap: 12px; justify-content: space-between; min-height: 72px; padding: 13px 15px; }
.sitemd-job-section__title { align-items: center; display: flex; gap: 11px; min-width: 0; }
.sitemd-job-section__title h3 { font-size: 13px; margin-bottom: 3px; }
.sitemd-job-section__title p { color: #8a99ad; font-size: 10px; margin: 0; }
.sitemd-job-section__actions { align-items: center; display: flex; gap: 6px; }
.sitemd-job-section__body { border-top: 1px solid var(--sitemd-border-soft); padding: 13px 15px; }
.sitemd-chip-list { display: flex; flex-wrap: wrap; gap: 7px; }
.sitemd-person-chip { align-items: center; background: #f3f6f9; border-radius: 999px; display: inline-flex; font-size: 10px; font-weight: 700; gap: 6px; padding: 5px 8px; }
.sitemd-person-chip i { border-radius: 50%; height: 7px; width: 7px; }
.sitemd-scroll-list { max-height: 190px; overflow-y: auto; }
.sitemd-compact-row, .sitemd-material-row, .sitemd-task-row { align-items: center; border-bottom: 1px solid var(--sitemd-border-soft); display: flex; gap: 9px; justify-content: space-between; padding: 8px 0; }
.sitemd-compact-row:last-child, .sitemd-material-row:last-child, .sitemd-task-row:last-child { border-bottom: 0; }
.sitemd-compact-row strong, .sitemd-material-row strong { display: block; font-size: 11px; }
.sitemd-compact-row small, .sitemd-material-row small { color: var(--sitemd-muted); display: block; font-size: 9px; margin-top: 2px; }
.sitemd-compact-row a, .sitemd-file-link { align-items: center; color: #34465d; display: flex; gap: 7px; text-decoration: none; }
.sitemd-compact-row--selectable { border-radius: 9px; cursor: pointer; padding-left: 8px; padding-right: 8px; transition: background-color .16s ease, box-shadow .16s ease; }
.sitemd-compact-row--selectable:hover, .sitemd-compact-row--selectable:focus-visible { background: #f5f8fc; box-shadow: inset 0 0 0 1px #dbe4ef; outline: none; }
.sitemd-compact-row--selectable.is-selected { background: #edf5ff; box-shadow: inset 3px 0 0 #2f7dd1, inset 0 0 0 1px #c8ddf5; }
.sitemd-status--selected { background: #dcecff; color: #245f9f; }
@keyframes sitemd-schedule-pulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(239,68,68,.18), 0 0 10px rgba(239,68,68,.25); }
  50% { box-shadow: 0 0 0 6px rgba(239,68,68,0), 0 0 19px rgba(239,68,68,.72); }
}
.sitemd-button--schedule-attention { animation: sitemd-schedule-pulse 1.45s ease-in-out infinite; border-color: #ef4444 !important; color: #c92121 !important; }
.sitemd-button--evidence-attention { animation: sitemd-schedule-pulse 1.35s ease-in-out infinite; border-color: #ef4444 !important; color: #c92121 !important; }
.sitemd-job-section--evidence-attention { animation: sitemd-schedule-pulse 1.35s ease-in-out infinite; border-color: #ef4444; }
#sitemd-site-visit-evidence { scroll-margin-top: 24px; }
@media (prefers-reduced-motion: reduce) {
  .sitemd-button--schedule-attention, .sitemd-button--evidence-attention, .sitemd-job-section--evidence-attention { animation: none; box-shadow: 0 0 0 3px rgba(239,68,68,.18); }
}
.sitemd-file-link { background: transparent; border: 0; cursor: pointer; font: inherit; min-width: 0; padding: 0; text-align: left; }
.sitemd-file-link:disabled { cursor: default; opacity: .55; }
.sitemd-money { color: var(--sitemd-green) !important; white-space: nowrap; }
.sitemd-quote-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 7px; justify-content: flex-end; }
.sitemd-quote-actions .sitemd-button { min-height: 30px; padding: 5px 8px; }
.sitemd-invoice-summary { align-items: center; display: flex; flex-wrap: wrap; gap: 12px; justify-content: space-between; }
.sitemd-invoice-summary > div { text-align: right; }
.sitemd-invoice-summary strong, .sitemd-invoice-summary small { display: block; }
.sitemd-invoice-summary strong { font-size: 11px; }
.sitemd-invoice-summary small { color: var(--sitemd-muted); font-size: 9px; margin-top: 3px; }
.sitemd-invoice-fields { margin-top: 15px; }
.sitemd-material-row.is-complete { opacity: .58; }
.sitemd-quantity-control { align-items: center; display: flex; gap: 2px; }
.sitemd-quantity-control input { border: 1px solid var(--sitemd-border); border-radius: 6px; font-size: 10px; padding: 5px; width: 62px; }
.sitemd-task-row .sitemd-checkbox { flex: 1; }
.sitemd-note { background: #f7f9fb; border-radius: 7px; margin-bottom: 7px; padding: 9px; }
.sitemd-note p { font-size: 13px; line-height: 1.45; margin-bottom: 4px; white-space: pre-wrap; }
.sitemd-note small { color: var(--sitemd-muted); font-size: 9px; }
.sitemd-attendance-list { display: flex; flex-direction: column; gap: 9px; }
.sitemd-attendance-record { background: #f7f9fc; border: 1px solid var(--sitemd-border-soft); border-radius: 9px; display: grid; gap: 12px; grid-template-columns: minmax(130px,.7fr) 1fr 1fr; padding: 11px; }
.sitemd-attendance-record > div { min-width: 0; }
.sitemd-attendance-record small, .sitemd-attendance-record strong { display: block; }
.sitemd-attendance-record small { color: var(--sitemd-muted); font-size: 9px; margin-bottom: 3px; }
.sitemd-attendance-record strong { font-size: 10px; }
.sitemd-attendance-record a { align-items: center; color: #315eaa; display: flex; font-size: 9px; gap: 4px; margin-top: 4px; text-decoration: none; }
.sitemd-attendance-record__engineer { align-items: flex-start; display: flex; flex-direction: column; gap: 6px; }
.sitemd-schedule-summary { display: flex; flex-direction: column; gap: 8px; }
.sitemd-schedule-summary__row { align-items: center; background: #f7f9fc; border: 1px solid var(--sitemd-border-soft); border-radius: 10px; display: grid; gap: 11px; grid-template-columns: 42px minmax(0,1fr); padding: 11px; }
.sitemd-schedule-summary__row strong, .sitemd-schedule-summary__row p, .sitemd-schedule-summary__row small { display: block; }
.sitemd-schedule-summary__row strong { font-size: 12px; }
.sitemd-schedule-summary__row p { color: #43566e; font-size: 10px; margin: 3px 0; }
.sitemd-schedule-summary__row small { color: var(--sitemd-muted); font-size: 9px; }
.sitemd-recurring-manager { display: flex; flex-direction: column; gap: 9px; max-height: min(62vh, 680px); overflow-y: auto; padding-right: 3px; }
.sitemd-recurring-manager__row { background: #f8fafc; border: 1px solid var(--sitemd-border-soft); border-radius: 11px; display: grid; gap: 14px; grid-template-columns: minmax(190px,.65fr) minmax(0,1fr); padding: 12px; }
.sitemd-recurring-manager__date { align-items: center; display: flex; gap: 10px; }
.sitemd-recurring-manager__date strong, .sitemd-recurring-manager__date small { display: block; }
.sitemd-recurring-manager__date strong { font-size: 11px; }
.sitemd-recurring-manager__date small { color: var(--sitemd-muted); font-size: 9px; margin-top: 3px; }
.sitemd-recurring-manager__engineers { display: grid; gap: 7px; grid-template-columns: repeat(2,minmax(0,1fr)); }
.sitemd-recurring-manager__engineers .sitemd-checkbox { background: #fff; border: 1px solid var(--sitemd-border-soft); border-radius: 8px; padding: 7px 8px; }
.sitemd-upload { align-items: center; border: 2px dashed #d8e1ec; border-radius: 11px; color: #6b7d96; cursor: pointer; display: flex; flex-direction: column; gap: 6px; justify-content: center; min-height: 108px; padding: 14px; text-align: center; }
.sitemd-upload:hover { background: #f8fafc; border-color: #aebcd0; }
.sitemd-upload strong { font-size: 12px; }
.sitemd-upload small { font-size: 9px; }
.sitemd-upload--compact { flex-direction: row; margin-top: 14px; min-height: 58px; }
.sitemd-file-grid { display: grid; gap: 8px; grid-template-columns: repeat(auto-fill,minmax(190px,1fr)); margin-top: 12px; }
.sitemd-file-card { align-items: center; background: #f6f8fb; border: 0; border-radius: 8px; color: #394a61; cursor: pointer; display: flex; font-size: 10px; gap: 8px; overflow: hidden; padding: 9px; text-align: left; text-decoration: none; width: 100%; }
.sitemd-file-card span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sitemd-photo-grid, .sitemd-receipt-grid { display: grid; gap: 8px; grid-template-columns: repeat(auto-fill,minmax(110px,1fr)); margin-top: 12px; }
.sitemd-photo-grid button, .sitemd-receipt-grid a { background: #f4f6f9; border: 0; border-radius: 8px; color: #4e6077; cursor: pointer; overflow: hidden; padding: 0; text-align: left; text-decoration: none; }
.sitemd-photo-grid img, .sitemd-receipt-grid img { aspect-ratio: 4/3; display: block; object-fit: cover; width: 100%; }
.sitemd-photo-grid span, .sitemd-receipt-grid span { display: block; font-size: 9px; overflow: hidden; padding: 6px; text-overflow: ellipsis; white-space: nowrap; }
.sitemd-file-preview { min-width: 0; }
.sitemd-file-preview > img { background: #f4f6f9; border-radius: 10px; display: block; max-height: 68vh; object-fit: contain; width: 100%; }
.sitemd-file-preview > iframe { background: #f4f6f9; border: 0; border-radius: 10px; display: block; height: min(68vh, 720px); width: 100%; }
.sitemd-file-preview__fallback { align-items: center; background: #f7f9fc; border: 1px solid var(--sitemd-border-soft); border-radius: 11px; display: flex; flex-direction: column; padding: 34px 20px; text-align: center; }
.sitemd-file-preview__fallback strong { font-size: 14px; margin-top: 10px; overflow-wrap: anywhere; }
.sitemd-file-preview__fallback p { color: var(--sitemd-muted); font-size: 11px; margin: 6px 0 0; max-width: 390px; }
.sitemd-signature { background: #fff; border: 2px dashed #cfd9e5; border-radius: 10px; height: 220px; touch-action: none; width: 100%; }

.sitemd-calendar-toolbar { display: flex; gap: 8px; margin-bottom: 10px; }
.sitemd-calendar-header-actions { align-items: center; display: flex; gap: 9px; }
.sitemd-calendar-add { min-width: 43px; padding: 9px; }
.sitemd-segmented { background: #edf2f7; border: 1px solid #dbe3ed; border-radius: 11px; display: flex; padding: 4px; }
.sitemd-segmented button { align-items: center; background: transparent; border: 0; border-radius: 8px; color: #64758d; cursor: pointer; display: flex; font-weight: 700; gap: 7px; padding: 9px 14px; }
.sitemd-segmented button.is-active { background: var(--sitemd-accent); box-shadow: 0 3px 9px rgba(240,68,68,.2); color: #fff; }
.sitemd-calendar-layout { display: flex; min-height: 650px; width: 100%; }
.sitemd-mobile-calendar-queues { display: none; }
.sitemd-reschedule-panel { background: #fff; border: 1px solid var(--sitemd-border); border-radius: 14px 0 0 14px; flex: 0 0 225px; overflow: hidden; transition: flex-basis .18s, box-shadow .18s; }
.sitemd-reschedule-panel--unscheduled { border-left: 0; border-radius: 0; }
.sitemd-calendar-layout.is-pending-collapsed .sitemd-reschedule-panel--reschedule, .sitemd-calendar-layout.is-unscheduled-collapsed .sitemd-reschedule-panel--unscheduled { flex-basis: 48px; }
.sitemd-reschedule-panel.is-drag-target { box-shadow: inset 0 0 0 3px rgba(240,68,68,.28); }
.sitemd-reschedule-panel.is-drag-over { background: #fff2f3; box-shadow: inset 0 0 0 3px rgba(240,68,68,.5); }
.sitemd-reschedule-panel__toggle { align-items: center; background: #f8fafc; border: 0; border-bottom: 1px solid var(--sitemd-border); cursor: pointer; display: flex; gap: 8px; min-height: 54px; padding: 8px 10px; text-align: left; width: 100%; }
.sitemd-reschedule-panel__toggle span { flex: 1; font-size: 11px; font-weight: 800; }
.sitemd-reschedule-panel__toggle b { align-items: center; background: #fee8e9; border-radius: 999px; color: #c32435; display: flex; font-size: 10px; height: 22px; justify-content: center; min-width: 22px; }
.sitemd-reschedule-panel--unscheduled .sitemd-reschedule-panel__toggle b { background: #e5f0ff; color: #1d5fae; }
.is-pending-collapsed .sitemd-reschedule-panel--reschedule .sitemd-reschedule-panel__toggle, .is-unscheduled-collapsed .sitemd-reschedule-panel--unscheduled .sitemd-reschedule-panel__toggle { height: 100%; writing-mode: vertical-rl; }
.is-pending-collapsed .sitemd-reschedule-panel--reschedule .sitemd-reschedule-panel__toggle span, .is-unscheduled-collapsed .sitemd-reschedule-panel--unscheduled .sitemd-reschedule-panel__toggle span { display: none; }
.sitemd-reschedule-panel > div { max-height: 594px; overflow: auto; }
.sitemd-reschedule-job { align-items: center; background: #fff9f1; border: 1px dashed #e8ad56; border-radius: 8px; cursor: grab; display: flex; gap: 7px; margin: 9px; padding: 9px; }
.sitemd-panel-drag-handle { align-items: center; align-self: stretch; border-radius: 6px; color: #7a8aa0; cursor: grab; display: inline-flex; flex: 0 0 28px; justify-content: center; margin: -3px 0 -3px -3px; touch-action: none; user-select: none; }
.sitemd-panel-drag-handle:hover { background: rgba(255,255,255,.75); color: var(--sitemd-text); }
.sitemd-reschedule-job--unscheduled { background: #f4f8ff; border-color: #8ab4e8; }
.sitemd-reschedule-job--unscheduled.is-site-visit { background: #f0fbf8; border-color: #55bca0; }
.sitemd-reschedule-job > div { min-width: 0; }
.sitemd-reschedule-job strong, .sitemd-reschedule-job small { display: block; overflow-wrap: anywhere; white-space: normal; }
.sitemd-reschedule-job strong { font-size: 10px; }
.sitemd-reschedule-job small { color: var(--sitemd-muted); font-size: 8px; margin-top: 2px; }
.sitemd-calendar-pane { background: #fff; border: 1px solid var(--sitemd-border); border-left: 0; border-radius: 0 14px 14px 0; flex: 1 1 auto; min-width: 0; overflow: hidden; }
.sitemd-calendar-layout:not(.has-reschedule-panel) .sitemd-calendar-pane { border-left: 1px solid var(--sitemd-border); border-radius: 14px; }
.sitemd-month { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); }
.sitemd-month__weekday { background: #f6f8fb; border-bottom: 1px solid var(--sitemd-border); border-right: 1px solid var(--sitemd-border); color: #6c7d95; font-size: 10px; font-weight: 800; padding: 10px; text-align: center; text-transform: uppercase; }
.sitemd-month__day { border-bottom: 1px solid var(--sitemd-border); border-right: 1px solid var(--sitemd-border); min-height: 105px; min-width: 0; padding: 6px; }
.sitemd-month__day.is-outside { background: #fafbfd; color: #abb5c4; }
.sitemd-month__day.is-today { background: #fff8f8; }
.sitemd-month__day.is-drag-over, .sitemd-engineer-calendar__cell.is-drag-over { background: #edf6ff; box-shadow: inset 0 0 0 2px #8ebbea; }
.sitemd-month__day > time { align-items: center; display: flex; font-size: 11px; font-weight: 800; height: 23px; justify-content: center; margin-bottom: 3px; width: 23px; }
.sitemd-month__day.is-today > time { background: var(--sitemd-accent); border-radius: 50%; color: #fff; }
.sitemd-month__events { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.sitemd-month__more { align-items: center; background: #edf2f7; border: 0; border-radius: 6px; color: #53657d; cursor: pointer; display: flex; font-size: 12px; font-weight: 900; height: 18px; justify-content: center; letter-spacing: 2px; padding: 0 6px 3px; width: 100%; }
.sitemd-month__more:hover { background: #dfe7f0; color: var(--sitemd-text); }
.sitemd-calendar-event { background: #fee2e2; border: 0; border-radius: 6px; color: #99262e !important; cursor: pointer; display: block; min-width: 0; overflow: hidden; padding: 4px 5px; position: relative; text-align: left; width: 100%; }
.sitemd-calendar-event.has-drag-handle { padding-right: 23px; }
.sitemd-calendar-drag-handle { align-items: center; background: rgba(255,255,255,.55); border-radius: 5px; color: currentColor; cursor: grab; display: inline-flex; height: 20px; justify-content: center; position: absolute; right: 2px; top: 2px; touch-action: none; user-select: none; width: 19px; }
.sitemd-calendar-drag-handle:active, .sitemd-panel-drag-handle:active { cursor: grabbing; }
.sitemd-calendar-event small, .sitemd-calendar-event strong { display: block; font-size: 8px; line-height: 1.25; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sitemd-calendar-event strong { font-size: 14px; }
.sitemd-calendar-event--mint { background: #c9f0da; color: #17643e !important; }
.sitemd-calendar-event--violet { background: #e1d5f9; color: #6035ac !important; }
.sitemd-calendar-event--amber { background: #ffe8aa; color: #8d6411 !important; }
.sitemd-calendar-event--sky { background: #cceaf1; color: #1c6474 !important; }
.sitemd-calendar-event--peach { background: #fbe1ce; color: #8a4528 !important; }
.sitemd-calendar-event.is-calendar-entry { box-shadow: inset 3px 0 rgba(21,32,51,.25); }
.sitemd-calendar-holiday { background: #fff7df; border: 1px dashed #e7a61c; border-radius: 6px; color: #9b6200; font-size: 8px; font-weight: 800; overflow: hidden; padding: 4px 5px; text-overflow: ellipsis; white-space: nowrap; }
.sitemd-calendar-repeat { background: #f7f9fc; border: 1px solid var(--sitemd-border-soft); border-radius: 9px; margin: 14px 0; padding: 11px 12px; }
.sitemd-personal-calendar-assignee { align-items: center; background: #f2f7ff; border: 1px solid #dbe7f8; border-radius: 10px; color: var(--sitemd-text); display: flex; gap: 10px; margin: 18px 0; padding: 12px 14px; }
.sitemd-personal-calendar-assignee svg { color: var(--sitemd-primary); flex: 0 0 auto; }
.sitemd-personal-calendar-assignee span { display: grid; gap: 2px; }
.sitemd-personal-calendar-assignee small { color: var(--sitemd-muted); }
.sitemd-calendar-entry-summary strong { display: block; font-size: 13px; }
.sitemd-calendar-entry-summary p { color: var(--sitemd-muted); font-size: 11px; margin: 12px 0 20px; white-space: pre-wrap; }
.sitemd-day-agenda { display: flex; flex-direction: column; gap: 8px; }
.sitemd-day-agenda__item { align-items: center; background: #fff; border: 1px solid var(--sitemd-border); border-radius: 11px; color: var(--sitemd-text); display: grid; gap: 12px; grid-template-columns: 42px minmax(0, 1fr) auto; padding: 11px 13px; text-align: left; width: 100%; }
button.sitemd-day-agenda__item { cursor: pointer; }
button.sitemd-day-agenda__item:hover { background: #f7f9fc; border-color: #bfcbd9; }
button.sitemd-day-agenda__item.is-draggable { cursor: pointer; }
.sitemd-pointer-drag-card { align-items: center; background: #fff; border: 1px solid #b9c7d8; border-radius: 10px; box-shadow: 0 14px 35px rgba(20,34,55,.24); display: flex; gap: 8px; max-width: min(280px, calc(100vw - 28px)); padding: 10px 12px; pointer-events: none; position: fixed; transform: rotate(1deg); z-index: 2000; }
.sitemd-pointer-drag-card strong { font-size: 12px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sitemd-is-pointer-dragging, .sitemd-is-pointer-dragging * { cursor: grabbing !important; }
.sitemd-day-agenda__item.is-holiday { background: #fffaf0; }
.sitemd-day-agenda__item strong, .sitemd-day-agenda__item small { display: block; }
.sitemd-day-agenda__item strong { font-size: 13px; }
.sitemd-day-agenda__item small { color: var(--sitemd-muted); font-size: 10px; margin-top: 3px; }
.sitemd-day-agenda__actions { align-items: center; display: flex; gap: 7px; }
.sitemd-day-agenda__actions .sitemd-calendar-drag-handle { background: #edf2f7; color: #61738b; flex: 0 0 34px; height: 34px; position: static; width: 34px; }

.sitemd-chat-shell { background: #fff; border: 1px solid var(--sitemd-border); border-radius: 16px; display: grid; grid-template-columns: minmax(270px, 340px) minmax(0, 1fr); height: min(720px, calc(100vh - 190px)); min-height: 560px; overflow: hidden; }
.sitemd-chat-sidebar { border-right: 1px solid var(--sitemd-border); display: flex; flex-direction: column; min-height: 0; min-width: 0; }
.sitemd-chat-search { align-items: center; background: #f7f9fc; border: 1px solid var(--sitemd-border); border-radius: 10px; display: flex; flex: 0 0 auto; gap: 8px; margin: 14px; padding: 0 11px; }
.sitemd-chat-search .sitemd-icon { color: #7c8da3; }
.sitemd-chat-search input { background: transparent; border: 0; box-shadow: none; min-height: 42px; min-width: 0; outline: 0; padding: 0; width: 100%; }
.sitemd-chat-list { overflow-y: auto; padding: 0 8px 10px; }
.sitemd-chat-contact { align-items: center; background: transparent; border: 0; border-radius: 11px; cursor: pointer; display: grid; gap: 10px; grid-template-columns: 42px minmax(0, 1fr) auto; padding: 10px; text-align: left; width: 100%; }
.sitemd-chat-contact:hover { background: #f7f9fc; }
.sitemd-chat-contact.is-active { background: #fff0f1; }
.sitemd-chat-avatar { align-items: center; border-radius: 50%; color: #fff; display: inline-flex; flex: 0 0 42px; font-size: 12px; font-weight: 800; height: 42px; justify-content: center; width: 42px; }
.sitemd-chat-contact__copy { display: block; min-width: 0; }
.sitemd-chat-contact__copy > span { align-items: center; display: flex; gap: 7px; justify-content: space-between; }
.sitemd-chat-contact__copy strong { font-size: 12px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sitemd-chat-contact__copy time { color: #8b99ac; flex: 0 0 auto; font-size: 7px; }
.sitemd-chat-contact__copy small { color: var(--sitemd-muted); display: block; font-size: 9px; margin-top: 3px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sitemd-chat-unread { align-items: center; background: var(--sitemd-accent); border-radius: 999px; color: #fff; display: flex; font-size: 8px; height: 20px; justify-content: center; min-width: 20px; padding: 0 6px; }
.sitemd-chat-conversation { background: #f3f6fa; display: grid; grid-template-rows: auto minmax(0, 1fr) auto; min-height: 0; min-width: 0; }
.sitemd-chat-conversation__header { align-items: center; background: #fff; border-bottom: 1px solid var(--sitemd-border); display: flex; gap: 11px; min-height: 70px; padding: 11px 16px; }
.sitemd-chat-conversation__header > div { min-width: 0; }
.sitemd-chat-conversation__header strong, .sitemd-chat-conversation__header small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sitemd-chat-conversation__header strong { font-size: 14px; }
.sitemd-chat-conversation__header small { color: var(--sitemd-muted); font-size: 10px; margin-top: 2px; }
.sitemd-chat-back { display: none; }
.sitemd-chat-history { display: flex; flex-direction: column; gap: 8px; overflow-y: auto; padding: 20px; }
.sitemd-chat-message { align-self: flex-start; background: #fff; border: 1px solid var(--sitemd-border); border-radius: 5px 14px 14px; box-shadow: 0 3px 10px rgba(22,35,56,.04); max-width: min(72%, 620px); padding: 9px 11px 7px; }
.sitemd-chat-message.is-mine { align-self: flex-end; background: #fff0f1; border-color: #ffd4d7; border-radius: 14px 5px 14px 14px; }
.sitemd-chat-message > strong { color: var(--sitemd-accent-dark); display: block; font-size: 9px; margin-bottom: 3px; }
.sitemd-chat-message p { font-size: 12px; line-height: 1.45; margin: 0; overflow-wrap: anywhere; white-space: pre-wrap; }
.sitemd-chat-message time { color: #8997a9; display: block; font-size: 7px; margin-top: 4px; text-align: right; }
.sitemd-chat-composer { align-items: flex-end; background: #fff; border-top: 1px solid var(--sitemd-border); display: flex; gap: 9px; padding: 12px 14px; }
.sitemd-chat-composer textarea { border: 1px solid #d7e0eb; border-radius: 11px; line-height: 1.45; max-height: 120px; min-height: 42px; outline: 0; padding: 10px 12px; resize: vertical; width: 100%; }
.sitemd-chat-composer textarea:focus { border-color: #8aa4c3; box-shadow: 0 0 0 3px rgba(37,99,235,.09); }
.sitemd-chat-composer .sitemd-button { flex: 0 0 42px; min-height: 42px; padding: 8px; }
.sitemd-recurrence-days { display: flex; flex-wrap: wrap; gap: 7px; margin: 15px 0 19px; }
.sitemd-recurrence-days h4 { flex: 0 0 100%; margin: 0 0 2px; }
.sitemd-recurrence-days .sitemd-checkbox { background: #f7f9fc; border: 1px solid var(--sitemd-border); border-radius: 8px; padding: 8px 10px; }
.sitemd-occurrence-assignments { background: #f7f9fc; border: 1px solid var(--sitemd-border-soft); border-radius: 12px; margin: 0 0 19px; padding: 12px; }
.sitemd-occurrence-assignments__head { align-items: center; display: flex; gap: 12px; justify-content: space-between; margin-bottom: 9px; }
.sitemd-occurrence-assignments__head h4 { margin: 0; }
.sitemd-occurrence-assignments__head p, .sitemd-occurrence-assignment-row small { color: var(--sitemd-muted); font-size: 9px; margin: 3px 0 0; }
.sitemd-occurrence-assignments__head > span { background: #e9eef5; border-radius: 999px; color: #51627a; flex: 0 0 auto; font-size: 9px; font-weight: 750; padding: 5px 8px; }
.sitemd-occurrence-assignments__list { display: flex; flex-direction: column; gap: 7px; max-height: 290px; overflow-y: auto; }
.sitemd-occurrence-assignment-row { align-items: center; background: #fff; border: 1px solid var(--sitemd-border-soft); border-radius: 9px; display: grid; gap: 10px; grid-template-columns: minmax(120px,.55fr) minmax(0,1fr); padding: 9px; }
.sitemd-occurrence-assignment-row strong, .sitemd-occurrence-assignment-row small { display: block; }
.sitemd-occurrence-engineers { justify-content: flex-start; min-width: 0; overflow: hidden; }
.sitemd-occurrence-engineers span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sitemd-default-engineer-help { margin: 4px 0 -10px; }
.sitemd-occurrence-covered { align-items: center; background: #ecf8f3; border: 1px solid #b9e3d2; border-radius: 9px; color: #087555; display: flex; font-size: 10px; font-weight: 700; gap: 7px; margin: 14px 0 0; padding: 9px 11px; }
.sitemd-field--schedule-mode .sitemd-checkbox { align-items: center; border: 1px solid var(--sitemd-border); border-radius: 9px; min-height: 44px; padding: 10px 12px; }
.sitemd-schedule-mode-picker__options { display: grid; gap: 8px; grid-template-columns: repeat(3,minmax(0,1fr)); margin-top: 7px; }
.sitemd-schedule-mode-picker__options button { background: #f7f9fc; border: 1px solid var(--sitemd-border); border-radius: 10px; color: var(--sitemd-text); cursor: pointer; min-width: 0; padding: 10px; text-align: left; }
.sitemd-schedule-mode-picker__options button:hover { background: #f0f4f8; }
.sitemd-schedule-mode-picker__options button.is-active { background: #fff0f1; border-color: #f3a7ae; box-shadow: inset 0 0 0 1px #f3a7ae; color: #a22230; }
.sitemd-schedule-mode-picker__options strong, .sitemd-schedule-mode-picker__options small { display: block; }
.sitemd-schedule-mode-picker__options strong { font-size: 11px; }
.sitemd-schedule-mode-picker__options small { color: var(--sitemd-muted); font-size: 8px; margin-top: 3px; }
.sitemd-custom-dates { background: #f7f9fc; border: 1px solid var(--sitemd-border-soft); border-radius: 12px; margin: 15px 0 19px; padding: 12px; }
.sitemd-custom-dates__head { align-items: center; display: flex; gap: 12px; justify-content: space-between; margin-bottom: 10px; }
.sitemd-custom-dates__head h4 { margin: 0; }
.sitemd-custom-dates__head p { color: var(--sitemd-muted); font-size: 9px; margin: 3px 0 0; }
.sitemd-custom-date-row { align-items: end; background: #fff; border: 1px solid var(--sitemd-border-soft); border-radius: 10px; display: grid; gap: 9px; grid-template-columns: minmax(145px,1fr) 110px 110px 40px 40px; margin-top: 8px; padding: 10px; }
.sitemd-custom-date-row .sitemd-button--icon { height: 40px; justify-content: center; width: 40px; }
.sitemd-drop-schedule-fields { margin-bottom: 20px; }
.sitemd-schedule-wizard { display: flex; flex-direction: column; gap: 20px; }
.sitemd-wizard-steps { display: grid; gap: 8px; grid-template-columns: repeat(3,minmax(0,1fr)); }
.sitemd-wizard-steps > div { align-items: center; background: #f7f9fc; border: 1px solid var(--sitemd-border); border-radius: 10px; color: var(--sitemd-muted); display: flex; font-size: 10px; font-weight: 750; gap: 8px; min-width: 0; padding: 10px; }
.sitemd-wizard-steps b { align-items: center; background: #e8edf4; border-radius: 50%; display: inline-flex; flex: 0 0 24px; height: 24px; justify-content: center; }
.sitemd-wizard-steps .is-active { background: #fff3f3; border-color: #ffc5ca; color: #a62331; }
.sitemd-wizard-steps .is-active b { background: var(--sitemd-accent); color: #fff; }
.sitemd-wizard-steps .is-complete { background: #ecf8f3; border-color: #b9e3d2; color: #087555; }
.sitemd-wizard-steps .is-complete b { background: #0d9b70; color: #fff; }
.sitemd-wizard-mode { margin-bottom: 16px; width: fit-content; }
.sitemd-wizard-job-fields { border-top: 1px solid var(--sitemd-border-soft); margin-top: 18px; padding-top: 18px; }
.sitemd-engineer-calendar { display: grid; grid-template-columns: minmax(105px,1.08fr) repeat(7,minmax(0,1fr)); }
.sitemd-engineer-calendar__corner, .sitemd-engineer-calendar__day-head { background: #f7f9fc; border-bottom: 1px solid var(--sitemd-border); border-right: 1px solid var(--sitemd-border); min-height: 58px; padding: 9px; }
.sitemd-engineer-calendar__corner { color: #6c7d95; font-size: 9px; font-weight: 800; text-transform: uppercase; }
.sitemd-engineer-calendar__day-head { text-align: center; }
.sitemd-engineer-calendar__day-head small, .sitemd-engineer-calendar__day-head strong { display: block; }
.sitemd-engineer-calendar__day-head small { color: #718199; font-size: 9px; text-transform: uppercase; }
.sitemd-engineer-calendar__day-head strong { font-size: 17px; margin-top: 4px; }
.sitemd-engineer-calendar__day-head.is-today { background: #fff3f3; color: var(--sitemd-accent); }
.sitemd-engineer-calendar__name, .sitemd-engineer-calendar__cell { border-bottom: 1px solid var(--sitemd-border); border-right: 1px solid var(--sitemd-border); min-height: 74px; padding: 7px; }
.sitemd-engineer-calendar__name { align-items: center; display: flex; font-size: 10px; font-weight: 750; gap: 7px; }
.sitemd-engineer-calendar__name i { border-radius: 50%; height: 8px; width: 8px; }
.sitemd-engineer-calendar__name span { font-size: 13px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sitemd-engineer-calendar__cell { display: flex; flex-direction: column; gap: 4px; min-width: 0; }

.sitemd-engineer-card { padding: 18px; }
.sitemd-engineer-card__profile { align-items: center; display: flex; gap: 13px; }
.sitemd-engineer-card__profile h3 { font-size: 16px; margin-bottom: 3px; }
.sitemd-staff-type { background: #edf2f7; border-radius: 999px; color: #586b84; display: inline-flex; font-size: 8px; font-weight: 800; letter-spacing: .04em; margin-bottom: 5px; padding: 3px 7px; text-transform: uppercase; }
.sitemd-staff-type.is-super-user { background: #fff0f1; color: #bf2938; }
.sitemd-engineer-card__profile p { color: var(--sitemd-muted); font-size: 11px; margin-bottom: 3px; }
.sitemd-engineer-card__profile small { color: var(--sitemd-muted); font-size: 10px; }
.sitemd-engineer-card__actions { border-top: 1px solid var(--sitemd-border-soft); display: flex; flex-wrap: wrap; gap: 6px; margin-top: 15px; padding-top: 13px; }
.sitemd-engineer-card__actions .sitemd-button { font-size: 10px; min-height: 34px; padding: 6px 9px; }
.sitemd-vehicle-card__top { align-items: center; display: grid; gap: 11px; grid-template-columns: 44px minmax(0,1fr) auto; }
.sitemd-vehicle-card__top h3 { font-size: 18px; letter-spacing: .03em; margin-bottom: 2px; }
.sitemd-vehicle-card__top p { color: var(--sitemd-muted); font-size: 11px; margin: 0; }
.sitemd-vehicle-stats { display: grid; gap: 8px; grid-template-columns: 1fr 1fr; margin-top: 15px; }
.sitemd-vehicle-stats > div { background: #f7f9fb; border-radius: 8px; padding: 9px; }
.sitemd-vehicle-stats small, .sitemd-vehicle-stats strong { display: block; }
.sitemd-vehicle-stats small { color: var(--sitemd-muted); font-size: 9px; margin-bottom: 3px; }
.sitemd-vehicle-stats strong { font-size: 11px; }
.sitemd-vehicle-stats .is-expired { background: #fff0f1; color: #bc2638; }
.sitemd-vehicle-stats .is-due { background: #fff5df; color: #9a5d05; }
.sitemd-vehicle-stats .is-valid { background: #eaf8f2; color: #087555; }
.sitemd-holiday-list { display: flex; flex-direction: column; gap: 9px; }
.sitemd-holiday-row { align-items: center; display: grid; gap: 16px; grid-template-columns: minmax(230px,.8fr) minmax(200px,1fr) auto auto; padding: 15px 18px; }
.sitemd-holiday-date { align-items: center; display: flex; font-size: 12px; gap: 9px; }
.sitemd-holiday-row h3 { font-size: 13px; margin-bottom: 2px; }
.sitemd-holiday-row p { color: var(--sitemd-muted); font-size: 10px; margin: 0; }

.sitemd-notification-layout { display: grid; gap: 16px; grid-template-columns: minmax(0,1.5fr) minmax(300px,.7fr); }
.sitemd-notification-feed, .sitemd-notification-preferences { padding: 18px; }
.sitemd-notification-list { margin-top: 15px; }
.sitemd-notification-item { align-items: center; background: transparent; border: 0; border-bottom: 1px solid var(--sitemd-border-soft); cursor: pointer; display: grid; gap: 11px; grid-template-columns: 42px minmax(0,1fr) 20px; padding: 11px 5px; text-align: left; width: 100%; }
.sitemd-notification-item.is-unread { background: #fff8f8; }
.sitemd-notification-item.is-unread strong::after { background: var(--sitemd-accent); border-radius: 50%; content: ""; display: inline-block; height: 6px; margin-left: 7px; width: 6px; }
.sitemd-notification-item strong { font-size: 12px; }
.sitemd-notification-item p { color: #53657c; font-size: 10px; margin: 2px 0; }
.sitemd-notification-item small { color: #8a99ad; font-size: 9px; }
.sitemd-notification-preferences .sitemd-choice-list { margin-top: 15px; }
.sitemd-notification-bell { align-items: center; background: #fff; border: 1px solid var(--sitemd-border); border-radius: 10px; color: #52647c; cursor: pointer; display: inline-flex; height: 40px; justify-content: center; position: relative; width: 40px; }
.sitemd-notification-bell:hover { border-color: #aebcd0; color: var(--sitemd-accent); }
.sitemd-notification-bell > span { align-items: center; background: var(--sitemd-accent); border: 2px solid #fff; border-radius: 999px; color: #fff; display: flex; font-size: 8px; font-weight: 800; height: 18px; justify-content: center; min-width: 18px; padding: 0 3px; position: absolute; right: -6px; top: -6px; }
.sitemd-notification-list--modal { max-height: min(520px,65vh); overflow-y: auto; }
.sitemd-notification-list--modal .sitemd-notification-item:first-child { border-top: 1px solid var(--sitemd-border-soft); }
.sitemd-settings-grid { display: grid; gap: 16px; grid-template-columns: repeat(auto-fit,minmax(320px,1fr)); }
.sitemd-settings-grid .sitemd-choice-list { margin-top: 15px; }
.sitemd-integration-state { align-items: center; background: #f7f9fc; border-radius: 10px; display: flex; gap: 12px; margin: 15px 0; padding: 14px; }
.sitemd-integration-state strong { font-size: 12px; }
.sitemd-integration-state p { color: var(--sitemd-muted); font-size: 10px; margin: 3px 0 0; }
.sitemd-check-list { list-style: none; margin: 15px 0 0; padding: 0; }
.sitemd-check-list li { align-items: flex-start; color: #52637a; display: flex; font-size: 11px; gap: 8px; margin-bottom: 9px; }
.sitemd-check-list .sitemd-icon { color: var(--sitemd-green); }

.sitemd-quick-add { align-items: center; background: var(--sitemd-accent); border: 0; border-radius: 50%; bottom: 24px; box-shadow: 0 12px 28px rgba(240,68,68,.35); color: #fff !important; cursor: pointer; display: flex; height: 56px; justify-content: center; position: fixed; right: 28px; transition: transform .15s; width: 56px; z-index: 40; }
.sitemd-quick-add:hover { transform: scale(1.06); }
.sitemd-quick-list { display: flex; flex-direction: column; gap: 9px; }
.sitemd-quick-list button { align-items: center; background: #f7f9fb; border: 1px solid var(--sitemd-border); border-radius: 10px; cursor: pointer; display: flex; gap: 13px; padding: 14px; text-align: left; }
.sitemd-quick-list button:hover { background: #fff1f1; border-color: #ffc8cd; }
.sitemd-quick-list strong, .sitemd-quick-list small { display: block; }
.sitemd-quick-list strong { font-size: 13px; }
.sitemd-quick-list small { color: var(--sitemd-muted); font-size: 10px; margin-top: 3px; }
.sitemd-toast { align-items: center; animation: sitemd-toast-in .2s ease-out; background: #12233a; border-radius: 10px; bottom: 24px; box-shadow: 0 15px 40px rgba(0,0,0,.25); color: #fff; display: flex; font-size: 12px; font-weight: 650; gap: 9px; left: 50%; max-width: min(430px,calc(100vw - 30px)); padding: 12px 15px; position: fixed; transform: translateX(-50%); z-index: 2000; }
.sitemd-toast--error { background: #b52235; }
@keyframes sitemd-toast-in { from { opacity: 0; transform: translate(-50%,10px); } }

.sitemd-login-shell { align-items: stretch; background: #f3f6fa; display: grid; grid-template-columns: 1fr 1fr; min-height: 100vh; }
.sitemd-login-brand { align-items: center; background: #111c2e; color: #fff; display: flex; flex-direction: column; justify-content: center; padding: 50px; text-align: center; }
.sitemd-login-brand .sitemd-login-mark { align-items: center; background: var(--sitemd-accent); border-radius: 20px; box-shadow: 0 15px 35px rgba(240,68,68,.3); display: flex; font-size: 35px; font-weight: 800; height: 82px; justify-content: center; margin-bottom: 22px; width: 82px; }
.sitemd-login-brand h1 { font-size: 42px; letter-spacing: -.04em; margin: 0 0 10px; }
.sitemd-login-brand p { color: #9eacc0; font-size: 15px; max-width: 370px; }
.sitemd-login-card { align-self: center; background: #fff; border: 1px solid var(--sitemd-border); border-radius: 18px; box-shadow: var(--sitemd-shadow); display: flex; flex-direction: column; justify-self: center; max-width: 430px; padding: 34px; width: calc(100% - 44px); }
.sitemd-login-card h2 { font-size: 27px; letter-spacing: -.03em; margin: 0 0 7px; }
.sitemd-login-card > p { color: var(--sitemd-muted); font-size: 13px; margin: 0 0 23px; }
.sitemd-login-card > label:not(.sitemd-login-check) { font-size: 12px; font-weight: 750; margin-bottom: 6px; }
.sitemd-login-card > input { border: 1px solid #d5deea; border-radius: 9px; margin-bottom: 16px; min-height: 46px; outline: 0; padding: 10px 12px; }
.sitemd-login-card > input:focus { border-color: #8da7c5; box-shadow: 0 0 0 3px rgba(37,99,235,.09); }
.sitemd-login-check { align-items: center; color: #576980; display: flex; font-size: 11px; gap: 7px; margin: 1px 0 18px; }
.sitemd-login-check input { accent-color: var(--sitemd-accent); }
.sitemd-login-button { align-items: center; background: var(--sitemd-accent); border: 0; border-radius: 9px; color: #fff; cursor: pointer; display: flex; font-weight: 750; justify-content: center; min-height: 46px; padding: 10px 14px; text-decoration: none; }
.sitemd-login-help { color: #60748e; font-size: 11px; margin-top: 16px; text-align: center; }
.sitemd-login-error { background: #fff0f1; border: 1px solid #fecdd3; border-radius: 8px; color: #b42336; font-size: 11px; margin-bottom: 15px; padding: 10px; }

@media (max-width: 1300px) {
  .sitemd-project-explorer { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .sitemd-job-grid { grid-template-columns: 1fr; }
  .sitemd-job-hero { grid-template-columns: 1fr; }
  .sitemd-job-actions { flex-direction: row; flex-wrap: wrap; }
  .sitemd-job-actions .sitemd-button { width: auto; }
}

@media (max-width: 1050px) {
  .sitemd-main { padding: 25px 20px 70px; }
  .sitemd-project-explorer { display: flex; height: auto; min-height: 0; overflow-x: auto; }
  .sitemd-explorer-lane { flex: 1 0 230px; height: 520px; }
  .sitemd-reschedule-panel { border-radius: 12px 0 0 12px; }
  .sitemd-month__day { min-height: 90px; }
  .sitemd-calendar-event strong { font-size: 13px; }
  .sitemd-notification-layout { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  .sitemd-app, .sitemd-app.is-collapsed { display: block; }
  .sitemd-sidebar { box-shadow: 12px 0 35px rgba(0,0,0,.3); left: -270px; position: fixed; transition: left .2s ease; width: 250px; }
  .sitemd-app.is-mobile-open .sitemd-sidebar { left: 0; }
  .sitemd-app.is-collapsed .sitemd-brand { justify-content: flex-start; padding: 0 18px; }
  .sitemd-app.is-collapsed .sitemd-brand__text, .sitemd-app.is-collapsed .sitemd-nav span, .sitemd-app.is-collapsed .sitemd-user > div:not(.sitemd-avatar), .sitemd-app.is-collapsed .sitemd-user a { display: block; }
  .sitemd-app.is-collapsed .sitemd-nav a { justify-content: flex-start; padding: 0 14px; }
  .sitemd-app.is-collapsed .sitemd-user { display: grid; justify-content: initial; padding: 12px 16px; }
  .sitemd-collapse { display: none; }
  .sitemd-sidebar-scrim { background: rgba(10,18,30,.4); border: 0; inset: 0; position: fixed; z-index: 45; }
  .sitemd-mobile-bar { align-items: center; background: #fff; border-bottom: 1px solid var(--sitemd-border); display: flex; height: 60px; justify-content: space-between; padding: 0 14px; position: sticky; top: 0; z-index: 35; }
  .sitemd-mobile-bar strong { font-size: 17px; }
  .sitemd-shell, .sitemd-main { max-width: 100%; overflow-x: clip; }
  .sitemd-main { padding: 20px 12px 70px; }
  .sitemd-page-header { align-items: start; display: grid; grid-template-columns: minmax(0,1fr); row-gap: 13px; }
  .sitemd-page-heading { grid-column: 1 / -1; grid-row: 1; }
  .sitemd-page-controls { display: contents; }
  .sitemd-page-actions { grid-column: 1 / -1; grid-row: 2; justify-content: flex-start; width: 100%; }
  .sitemd-page-actions:empty { display: none; }
  .sitemd-page-header .sitemd-notification-bell { display: none; }
  .sitemd-mobile-bar .sitemd-notification-bell { display: inline-flex; flex: 0 0 40px; }
  .sitemd-kpi-grid { grid-template-columns: 1fr 1fr; gap: 9px; }
  .sitemd-kpi { min-height: 132px; padding: 15px; }
  .sitemd-kpi__count { font-size: 26px; }
  .sitemd-kpi strong { font-size: 12px; }
  .sitemd-overview-lower, .sitemd-form-grid { grid-template-columns: 1fr; }
  .sitemd-recurring-manager__row { grid-template-columns: 1fr; }
  .sitemd-recurring-manager__engineers { grid-template-columns: 1fr 1fr; }
  .sitemd-overview-shortcut { padding: 18px; }
  .sitemd-overview-shortcut .sitemd-card-heading { align-items: stretch; flex-direction: column; gap: 14px; }
  .sitemd-overview-shortcut .sitemd-card-heading h2 { margin-bottom: 6px; }
  .sitemd-overview-shortcut .sitemd-card-heading p { line-height: 1.5; }
  .sitemd-overview-shortcut__action { justify-content: center; min-height: 44px; width: 100%; }
  .sitemd-field--wide { grid-column: auto; }
  .sitemd-list-row { align-items: flex-start; grid-template-columns: 1fr; }
  .sitemd-list-row__meta { align-items: flex-start; }
  .sitemd-card-grid { grid-template-columns: 1fr; }
  .sitemd-enquiry-grid { grid-template-columns: 1fr; }
  .sitemd-stage-job { gap: 10px; grid-template-columns: 38px minmax(0,1fr) 16px; padding: 12px; }
  .sitemd-stage-job__icon { height: 38px; width: 38px; }
  .sitemd-stage-job__meta { grid-column: 2; text-align: left; }
  .sitemd-stage-job > .sitemd-icon:last-child { grid-column: 3; grid-row: 1 / span 2; }
  .sitemd-project-explorer { background: transparent; border: 0; gap: 10px; margin: 0 -12px; padding: 0 9vw; scroll-behavior: smooth; scroll-padding-inline: 9vw; scroll-snap-type: x mandatory; }
  .sitemd-explorer-lane { background: #fff; border: 1px solid var(--sitemd-border); border-radius: 14px; flex: 0 0 82vw; overflow: hidden; scroll-snap-align: center; scroll-snap-stop: always; }
  .sitemd-explorer-lane:last-child { border-right: 1px solid var(--sitemd-border); }
  .sitemd-explorer-lane__back { display: inline-flex; }
  .sitemd-explorer-lane > header > div { flex: 1; min-width: 0; }
  .sitemd-job-pane { padding: 10px; }
  .sitemd-job-hero { padding: 16px; }
  .sitemd-job-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .sitemd-job-actions .sitemd-button { justify-self: start; }
  .sitemd-directions-menu { max-width: calc(100vw - 48px); }
  .sitemd-calendar-layout { display: block; margin: 0 -12px; min-height: 0; width: calc(100% + 24px); }
  .sitemd-page-header--calendar { margin-bottom: 0 !important; row-gap: 12px; }
  .sitemd-page-header--calendar .sitemd-page-actions { display: block; }
  .sitemd-calendar-header-actions { align-items: center; display: grid; gap: 9px; grid-column: 1 / -1; grid-row: 2; grid-template-columns: minmax(0,1fr) 44px; min-width: 0; width: 100%; }
  .sitemd-calendar-header-actions .sitemd-segmented { min-width: 0; width: 100%; }
  .sitemd-calendar-header-actions .sitemd-segmented { border-radius: 12px; padding: 3px; }
  .sitemd-calendar-header-actions .sitemd-segmented button { flex: 1; font-size: 11px; gap: 5px; justify-content: center; min-height: 42px; min-width: 0; padding: 8px 9px; white-space: nowrap; }
  .sitemd-calendar-header-actions .sitemd-segmented .sitemd-icon { height: 17px; width: 17px; }
  .sitemd-page-header--calendar .sitemd-calendar-add { border-radius: 12px; flex: 0 0 44px; height: 48px; min-height: 48px; min-width: 44px; padding: 0; width: 44px; }
  .sitemd-page-header--calendar .sitemd-notification-bell { height: 40px; width: 40px; }
  .sitemd-calendar-toolbar { background: #fff; border: 1px solid var(--sitemd-border); border-radius: 12px; box-shadow: 0 2px 6px rgba(22,35,56,.05); display: grid; gap: 0; grid-template-columns: 48px minmax(0,1fr) 48px; margin: 12px 0; overflow: hidden; width: 100%; }
  .sitemd-calendar-toolbar .sitemd-button { border: 0; border-radius: 0; box-shadow: none; min-height: 46px; min-width: 0; padding: 0; width: 100%; }
  .sitemd-calendar-toolbar .sitemd-button:hover { background: #f4f7fa; transform: none; }
  .sitemd-calendar-toolbar .sitemd-button:nth-child(2) { border-left: 1px solid var(--sitemd-border); border-right: 1px solid var(--sitemd-border); font-size: 13px; }
  .sitemd-calendar-toolbar .sitemd-button:first-child span, .sitemd-calendar-toolbar .sitemd-button:last-child span { display: none; }
  .sitemd-mobile-calendar-queues { display: grid; gap: 8px; grid-template-columns: 1fr 1fr; margin: 0 0 10px; width: 100%; }
  .sitemd-mobile-queue-target { align-items: center; background: #fff; border: 1px solid var(--sitemd-border); border-radius: 11px; color: var(--sitemd-text); cursor: pointer; display: grid; font-size: 10px; font-weight: 800; gap: 5px; grid-template-columns: 18px minmax(0,1fr) 22px; min-height: 44px; padding: 6px 8px; text-align: left; transition: background .16s, border-color .16s, box-shadow .16s; }
  .sitemd-mobile-queue-target--unscheduled { grid-template-columns: 22px minmax(0,1fr) 18px; text-align: right; }
  .sitemd-mobile-queue-target span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .sitemd-mobile-queue-target b { align-items: center; background: #fee8e9; border-radius: 999px; color: #c32435; display: flex; font-size: 9px; height: 22px; justify-content: center; min-width: 22px; }
  .sitemd-mobile-queue-target--unscheduled b { background: #e5f0ff; color: #1d5fae; }
  .sitemd-mobile-queue-target.is-drag-ready { border-color: rgba(240,68,68,.58); box-shadow: 0 0 0 3px rgba(240,68,68,.1); }
  .sitemd-mobile-queue-target.is-drag-over { background: #fff0f1; border-color: var(--sitemd-accent); box-shadow: 0 0 0 3px rgba(240,68,68,.18); }
  .sitemd-reschedule-panel { bottom: 0; box-shadow: 0 14px 38px rgba(20,34,55,.2); display: flex; flex-basis: auto !important; flex-direction: column; height: auto !important; max-width: 60vw; overflow: hidden; position: fixed; top: 60px; transition: transform .22s ease, box-shadow .18s; width: 60vw; z-index: 34; }
  .sitemd-reschedule-panel--reschedule { border-left: 0; border-radius: 0 14px 14px 0; left: 0; transform: translateX(0); }
  .sitemd-reschedule-panel--unscheduled { border-left: 1px solid var(--sitemd-border); border-radius: 14px 0 0 14px; border-right: 0; right: 0; transform: translateX(0); }
  .sitemd-calendar-layout.is-pending-collapsed .sitemd-reschedule-panel--reschedule { transform: translateX(-100%); }
  .sitemd-calendar-layout.is-unscheduled-collapsed .sitemd-reschedule-panel--unscheduled { transform: translateX(100%); }
  .sitemd-reschedule-panel > div { background: #fff; border-radius: inherit; flex: 1 1 auto; height: auto; max-height: none; min-height: 0; overflow-x: hidden; overflow-y: auto; padding: 8px 0; }
  .sitemd-reschedule-panel__toggle, .is-pending-collapsed .sitemd-reschedule-panel--reschedule .sitemd-reschedule-panel__toggle, .is-unscheduled-collapsed .sitemd-reschedule-panel--unscheduled .sitemd-reschedule-panel__toggle { background: #f8fafc; border: 0; border-bottom: 1px solid var(--sitemd-border); box-shadow: none; flex-direction: row; flex: 0 0 54px; height: 54px; justify-content: flex-start; min-height: 54px; padding: 8px 10px; position: static; width: 100%; writing-mode: initial; }
  .sitemd-reschedule-panel--unscheduled .sitemd-reschedule-panel__toggle { flex-direction: row-reverse; }
  .is-pending-collapsed .sitemd-reschedule-panel--reschedule .sitemd-reschedule-panel__toggle span, .is-unscheduled-collapsed .sitemd-reschedule-panel--unscheduled .sitemd-reschedule-panel__toggle span, .sitemd-reschedule-panel__toggle span { display: block; flex: 1 1 auto; font-size: 11px; line-height: 1.2; max-height: none; overflow: hidden; text-align: left; text-overflow: ellipsis; white-space: nowrap; writing-mode: initial; }
  .sitemd-reschedule-panel--unscheduled .sitemd-reschedule-panel__toggle span { text-align: right; }
  .sitemd-reschedule-panel__toggle b { flex: 0 0 22px; }
  .sitemd-reschedule-panel.is-drag-target .sitemd-reschedule-panel__toggle { background: #fff0f1; }
  .sitemd-reschedule-panel.is-drag-over { background: #fff2f3; }
  .sitemd-reschedule-job { max-width: calc(100% - 18px); overflow: hidden; }
  .sitemd-reschedule-job > div, .sitemd-reschedule-job strong, .sitemd-reschedule-job small { max-width: 100%; min-width: 0; overflow-wrap: anywhere; word-break: break-word; }
  .sitemd-calendar-pane { border-left: 1px solid var(--sitemd-border); border-radius: 0; }
  .sitemd-month { min-width: 0; width: 100%; }
  .sitemd-month__weekday { font-size: 8px; padding: 7px 2px; }
  .sitemd-month__day { min-height: 72px; padding: 3px; }
  .sitemd-month__day > time { font-size: 9px; height: 18px; width: 18px; }
  .sitemd-calendar-event { padding: 3px; }
  .sitemd-calendar-event.has-drag-handle { padding-right: 20px; }
  .sitemd-calendar-drag-handle { height: 18px; right: 1px; top: 1px; width: 18px; }
  .sitemd-calendar-event small { display: none; }
  .sitemd-calendar-event strong { font-size: 13px; }
  .sitemd-engineer-calendar { grid-template-columns: 75px repeat(7,minmax(0,1fr)); }
  .sitemd-engineer-calendar__corner, .sitemd-engineer-calendar__day-head { min-height: 48px; padding: 5px 2px; }
  .sitemd-engineer-calendar__day-head strong { font-size: 13px; }
  .sitemd-engineer-calendar__name, .sitemd-engineer-calendar__cell { min-height: 62px; padding: 3px; }
  .sitemd-engineer-calendar__name { font-size: 7px; gap: 3px; }
  .sitemd-engineer-calendar__name span { font-size: 11px; }
  .sitemd-engineer-calendar .sitemd-calendar-event { border-radius: 3px; padding: 2px; }
  .sitemd-engineer-calendar .sitemd-calendar-event strong { font-size: 13px; }
  .sitemd-holiday-row { align-items: flex-start; grid-template-columns: 1fr; }
  .sitemd-vehicle-stats { grid-template-columns: 1fr; }
  .sitemd-choice-list--columns { grid-template-columns: 1fr; }
  .sitemd-attendance-record { grid-template-columns: 1fr; }
  .sitemd-chat-shell { display: block; height: calc(100dvh - 176px); min-height: 500px; }
  .sitemd-chat-sidebar { border-right: 0; height: 100%; }
  .sitemd-chat-conversation { display: none; height: 100%; }
  .sitemd-chat-shell.has-active-chat .sitemd-chat-sidebar { display: none; }
  .sitemd-chat-shell.has-active-chat .sitemd-chat-conversation { display: grid; }
  .sitemd-chat-back { display: inline-flex; }
  .sitemd-chat-history { padding: 14px 10px; }
  .sitemd-chat-message { max-width: 86%; }
  .sitemd-schedule-mode-picker__options { grid-template-columns: 1fr; }
  .sitemd-schedule-mode-picker__options button { text-align: center; }
  .sitemd-custom-date-row { grid-template-columns: 1fr 1fr 40px 40px; }
  .sitemd-custom-date-row .sitemd-field:first-child { grid-column: 1 / -1; }
  .sitemd-occurrence-assignment-row { align-items: stretch; grid-template-columns: 1fr; }
  .sitemd-modal-layer { align-items: flex-end; padding: 0; }
  .sitemd-modal { border-radius: 17px 17px 0 0; max-height: 92vh; max-width: none; }
  .sitemd-notifications-modal .sitemd-modal > footer { align-items: stretch; display: grid; gap: 8px; grid-template-columns: 1fr; padding: 12px 16px calc(12px + env(safe-area-inset-bottom)); }
  .sitemd-notifications-modal .sitemd-modal > footer .sitemd-button { font-size: 12px; justify-content: flex-start; min-height: 44px; padding: 9px 13px; white-space: nowrap; width: 100%; }
  .sitemd-notifications-modal .sitemd-modal > footer .sitemd-button--ghost-danger { background: #fff7f7; border-color: #fecaca; box-shadow: 0 2px 5px rgba(22,35,56,.04); }
  .sitemd-login-shell { grid-template-columns: 1fr; }
  .sitemd-login-brand { min-height: 235px; padding: 30px; }
  .sitemd-login-brand .sitemd-login-mark { border-radius: 14px; height: 58px; margin-bottom: 12px; width: 58px; }
  .sitemd-login-brand h1 { font-size: 29px; }
  .sitemd-login-card { margin: 24px auto; }
}

@media (max-width: 430px) {
  .sitemd-kpi-grid--engineer { grid-template-columns: 1fr 1fr; }
  .sitemd-kpi-grid--admin { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sitemd-page-actions .sitemd-button { flex: 1; }
  .sitemd-month__weekday { font-size: 7px; letter-spacing: 0; }
  .sitemd-month__day { min-height: 66px; }
  .sitemd-segmented { width: 100%; }
  .sitemd-segmented button { flex: 1; justify-content: center; }
  .sitemd-page-header--calendar .sitemd-page-actions .sitemd-button { flex: 0 0 40px; }
  .sitemd-page-header--calendar .sitemd-calendar-header-actions .sitemd-segmented button { padding: 7px 6px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
