/* OrderWolf local edition 0.1.1 — presentation only; TEK workflows retain their own data. */
:root {
  color-scheme: light;
  --o: #168065; --bg: #f4f6f9; --p: #fff; --p2: #edf3f6;
  --l: #dfe5eb; --t: #1b293b; --m: #65758a;
  --g: #168065; --a: #a16913; --r: #bd404b;
  --panel: #fff; --muted: #65758a;
  --ow-navy: #122137; --ow-green: #168065;
}
body { margin: 0; background: var(--bg); color: var(--t); font: 14px/1.5 "Segoe UI", Inter, system-ui, -apple-system, sans-serif; }
button, input, select, textarea { font: inherit; }
button { transition: background .15s, border-color .15s, box-shadow .15s; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid #4fa68b; outline-offset: 3px; }
::selection { background: #d0eadf; color: #102a24; }
.app { grid-template-columns: 254px minmax(0,1fr); }
.sidebar { background: var(--ow-navy); border-right: none; padding: 24px 16px 16px; display: flex; flex-direction: column; color: #fff; }
.brand { padding: 0 9px 22px; }
.brand-logo { width: 170px; height: 72px; object-fit: contain; background: #fff; padding: 10px; border-radius: 12px; }
.brand .brand-sub { font-size: 12px; line-height: 1.6; color: #9fafc3; margin-top: 12px; }
.brand .brand-sub strong { display: block; font-size: 14px; color: #f5f8fc; font-weight: 650; }
.nav-scroll { flex: 1; min-height: 0; height: auto; max-height: none; padding-right: 2px; overflow-y: auto; scrollbar-width: thin; scrollbar-color: #40516a transparent; }
.nav { display: grid; grid-template-columns: 1fr; gap: 3px; }
.nav button { width: 100%; display: flex; align-items: center; gap: 11px; min-height: 41px; padding: 9px 12px; border-radius: 8px; color: #b7c4d6; font-size: 12.5px; font-weight: 500; line-height: 1.3; }
.nav button:hover { background: #1d304a; color: #fff; }
.nav button.active { background: #23433f; color: #e1fff2; box-shadow: inset 3px 0 #54c49a; }
.ow-nav-icon { width: 17px; height: 17px; flex: 0 0 17px; opacity: .88; }
.nav button.active .ow-nav-icon { color: #75d5ae; }
.ow-nav-group { color: #7e91ac; font-size: 9px; text-transform: uppercase; letter-spacing: .13em; padding: 19px 12px 7px; font-weight: 700; }
.ow-nav-group:first-child { padding-top: 0; }
.ow-sidebar-foot { padding: 15px 10px 0; margin-top: 14px; border-top: 1px solid #2b3b52; flex-shrink: 0; }
.ow-powered { color: #9bacc1; font-size: 11px; }
.ow-powered strong { color: #e9f1fa; letter-spacing: -.02em; font-size: 14px; font-weight: 700; margin-left: 3px; }
.ow-version { color: #7f93ad; font-size: 10px; margin-top: 4px; }
.main { padding: 0 32px 40px; }
.ow-workspace-bar { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 18px 0; border-bottom: 1px solid var(--l); margin-bottom: 28px; min-height: 82px; }
.ow-workspace-name { color: #53637a; font-size: 12px; font-weight: 600; display: flex; align-items: center; gap: 10px; }
.ow-workspace-name b { color: #1e3048; font-size: 13px; }
.ow-workspace-tools { display: flex; align-items: center; justify-content: flex-end; gap: 12px; min-width: 0; }
.ow-local-badge { display: inline-flex; align-items: center; gap: 6px; background: #e9f4ed; color: #38704f; border: 1px solid #d4e7d9; border-radius: 6px; padding: 5px 8px; font-size: 10px; white-space: nowrap; font-weight: 600; }
.ow-local-badge::before { content: ""; width: 5px; height: 5px; border-radius: 50%; background: #4b9769; }
.toolbar-search { width: min(350px,32vw); padding-left: 34px !important; font-size: 12px; }
.ow-search-wrap { position: relative; }
.ow-search-wrap::before { content: ""; position: absolute; left: 13px; top: 12px; width: 10px; height: 10px; border: 1.5px solid #8391a3; border-radius: 50%; pointer-events: none; }
.ow-search-wrap::after { content: ""; position: absolute; left: 23px; top: 23px; width: 5px; height: 1.5px; background: #8391a3; transform: rotate(45deg); pointer-events: none; }
.topbar { margin-bottom: 24px; gap: 18px; align-items: center; }
.topbar h2 { font-size: 27px; letter-spacing: -.035em; font-weight: 700; line-height: 1.25; margin-bottom: 7px; color: #17283e; }
.topbar p { color: var(--m); font-size: 12px; line-height: 1.6; }
.ow-eyebrow { display: block; text-transform: uppercase; letter-spacing: .13em; font-size: 9px; font-weight: 700; color: var(--o); margin-bottom: 8px; }
.btn { min-height: 38px; border: 1px solid #d7dfe7; border-radius: 7px; padding: 8px 12px; color: #3f5066; background: #fff; font-size: 12px; font-weight: 600; box-shadow: 0 1px 2px #17283e06; }
.btn:hover { background: #f3f7fa; border-color: #b4c4cf; }
.btn.primary { color: #fff; background: #168065; border-color: #168065; font-weight: 650; }
.btn.primary:hover { background: #116b54; border-color: #116b54; }
.btn.danger { color: #ae3541; border-color: #e7ccd0; }
.btn.danger:hover { background: #fdf0f2; }
.cards { grid-template-columns: repeat(auto-fit,minmax(150px,1fr)); gap: 14px; margin-bottom: 20px; }
.card,.panel,.health-card { background: #fff; border: 1px solid var(--l); box-shadow: 0 2px 5px #14233903; border-radius: 11px; }
.card { padding: 18px; min-width: 0; }
.card small,.health-card small { color: #6a798c; font-size: 9px; letter-spacing: .065em; font-weight: 650; }
.card strong { display: inline-block; font-size: 26px; font-weight: 700; letter-spacing: -.04em; line-height: 1.35; margin-top: 6px; color: #20334a; }
.card .sub { color: #7b8898; }
.panel { margin-bottom: 0; }
.panel-head { background: #fff; padding: 15px 18px; border-color: #e8edf2; font-size: 12px; }
.panel-head b { font-weight: 650; }
.panel-head .muted { font-size: 11px; }
.control-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; margin: 22px 0; }
.control-grid .cc-panel:first-child { grid-row: span 2; background: linear-gradient(145deg,#f4faf7,#fff); }
.control-grid .cc-panel:first-child .panel-head { background: transparent; }
.cc-panel { min-height: 0; }
.cc-body { padding: 17px 18px; font-size: 12px; }
.cc-big { font-size: 54px; font-weight: 700; letter-spacing: -.06em; margin: 10px 0 15px; }
.cc-body>.muted { margin-top: 8px; font-size: 11px; line-height: 1.7; }
.cc-line { border-color: #e9edf2; padding: 8px 0; font-size: 11px; }
.cc-line b { color: #293e55; }
.health-grid { grid-template-columns: repeat(auto-fit,minmax(120px,1fr)); gap: 10px; margin-bottom: 22px; }
.health-card { padding: 14px; }
.health-card strong { font-size: 21px; color: #31435a; letter-spacing: -.03em; }
.v110-alerts { gap: 12px; margin: 0 0 22px; }
.v110-alert { background: #fff; border: 1px solid var(--l); border-left-width: 3px; padding: 12px 15px; border-radius: 8px; box-shadow: none; }
.v110-alert.green { border-left-color: #3a9b75; }
.v110-alert.amber { border-left-color: #d19a41; }
.v110-alert.red { border-left-color: #cc636d; }
.v110-kicker { font-size: 9px; letter-spacing: .07em; color: #718096; margin-bottom: 4px; }
.v110-alert b { font-size: 12px; font-weight: 600; }
.split { gap: 18px; }
.list { padding: 7px 18px 12px; }
.list-item,.doc-item,.audit-item,.contract-list-item,.v100-time { border-color: #e8edf2; padding-top: 12px; padding-bottom: 12px; }
.list-item { font-size: 12px; }
.list-item:last-child { border-bottom: none; }
.empty { color: #7b889b; padding: 36px 20px; font-size: 12px; }
.field,.form-group input,.form-group select,.form-group textarea { background: #fff; color: #273b51; border: 1px solid #d8e1e9; border-radius: 7px; padding: 9px 11px; min-height: 39px; }
input::placeholder,textarea::placeholder { color: #8b97a7; opacity: 1; }
input:focus,select:focus,textarea:focus { border-color: #6ba990; }
input[type=checkbox],input[type=radio] { accent-color: #168065; min-height: auto; }
input[type=file] { max-width: 100%; }
.form-group label { color: #5e6e82; font-size: 10px; text-transform: none; font-weight: 650; margin-bottom: 6px; }
.form-grid { gap: 16px; }
.form-grid>*,.site-fields>*,.system-row>*,.system-row .asset-wide>* { min-width: 0; }
.site-fields input,.site-fields select,.system-row input,.system-row select { width: 100%; min-width: 0; }
.site-box,.detail,.month,.sla-preview { background: #f8fafc; border-color: #e0e7ee; }
.site-box { padding: 17px; }
.site-head { gap: 12px; }
.site-head>* { min-width: 0; }
.system-row { border-color: #e2e9ee; gap: 9px; }
.month.selected { background: #eef8f3; border-color: var(--o); }
.notice { background: #f1f6fa; border-color: #dbe6ee; color: #536d83; font-size: 12px; padding: 13px 16px; }
.uplift-box,.v100-entitlement { background: #fff8e9; border-color: #ead9b2; color: #8b651d; }
.table { min-width: 860px; font-size: 12px; }
.table th { background: #f6f8fb; color: #738297; font-size: 9px; font-weight: 650; letter-spacing: .065em; padding: 12px 15px; white-space: nowrap; }
.table td { border-color: #e9edf2; padding: 14px 15px; }
.table tbody tr:last-child td { border-bottom: 0; }
.clickable-row:hover td,.global-result:hover { background: #f1f8f5; }
.profile-link { color: #243d56; }
.profile-link:hover { color: var(--o); text-decoration: underline; }
.muted,.asset-detail,.profile-stat,.status-note,.callout-detail,.esign-hint,.v13-touch-note { color: var(--m); }
.badge,.job-status,.callout-status,.callout-kpi,.reminder-escalation,.v110-pill { font-size: 10px; font-weight: 650; letter-spacing: 0; }
.badge.active,.job-status.completed,.job-status.paid,.callout-status.resolved,.callout-kpi.met,.reminder-escalation.green,.v110-pill.green { background: #e4f3eb; color: #247653; border-color: #cee7d8; }
.badge.pending,.job-status.rebooked,.job-status.revisit,.callout-status.attended,.callout-kpi.waiting,.reminder-escalation.amber,.v110-pill.amber { background: #fff3d9; color: #956315; border-color: #f0dfb8; }
.badge.expired,.badge.lost,.job-status.cancelled,.job-status.overdue,.callout-status.open,.callout-kpi.missed,.reminder-escalation.red,.v110-pill.red { background: #fbe9ec; color: #ac3f4d; border-color: #efcfd5; }
.job-status.planned,.job-status.due,.callout-status.cancelled,.reminder-escalation.neutral,.takeover-step,.v110-pill { background: #eaf0f7; color: #536e8a; border-color: #dbe4ef; }
.job-status.billed { background: #ede9f8; color: #6f579b; }
.badge.silver { background: #e6ebf0; color: #576575; }
.badge.gold { background: #f7eccc; color: #8b6b21; }
.badge.platinum { background: #e2eef5; color: #4f788c; }
.pill,.tag,.contact-count { background: #f7f9fb; color: #596d82; border-color: #dce4ec; }
.contact-count.hot { background: #fff5e1; color: #a57120; border-color: #ead8b2; }
.status-open,.profit-neg { color: #b74050; }
.status-good,.profit-pos { color: #21845f; }
.status-warn { color: #a16d18; }
.modal { z-index: 1200; background: #0b1b34a6; backdrop-filter: blur(3px); }
.dialog,.modal-card { background: #fff; border-color: #dce4ec; box-shadow: 0 28px 90px #0b1b3440; border-radius: 13px; }
.dialog-head,.dialog-foot { border-color: #e3e9ef; padding: 17px 22px; background: #fff; }
.dialog-head h2,.dialog-head h3 { color: #20334a; letter-spacing: -.025em; font-size: 19px; }
.dialog-body { padding: 21px 22px; }
.dialog-foot { background: #f8fafc; }
.global-results { background: #fff; border-color: #dce4ec; box-shadow: 0 16px 40px #1934511f; left: 286px; right: 32px; top: 69px; z-index: 1100; }
.global-result { border-color: #e6edf3; font-size: 12px; }
.cal-head { background: #f5f8fb; color: #6e8094; font-size: 10px; text-transform: uppercase; letter-spacing: .04em; padding: 13px; }
.cal-day { background: #fff; min-height: 128px; }
.cal-day.outside { background: #f8fafc; opacity: .65; }
.cal-num { color: #5e7388; font-size: 11px; }
.cal-job { background: #edf7f2; color: #246347; border-left-color: #248565; padding: 7px; }
.cal-job small { color: #66816f; }
.cal-job.fault { background: #fff0f1; color: #a0434d; }
.cal-job.remedial { background: #edf4fc; color: #476f9a; }
.cal-job.remedial small,.cal-job.fault small { color: inherit; }
.booking-pill { background: #e8f1fb; color: #48719d; }
.mobile-job { background: #fff; border-color: #dfe6ed; }
.v15-cat { color: #62768a; font-size: 10px; letter-spacing: .09em; margin-top: 22px; }
.v15-form-card { background: #fff; border-color: #dfe6ed; padding: 19px; }
.v15-form-card:hover { border-color: #85baa5; box-shadow: 0 4px 12px #173e2d0a; }
#documentsForms .v15-form-grid { padding: 18px; grid-template-columns: repeat(auto-fit,minmax(280px,1fr)); gap: 18px; }
#documentsForms .v15-cat { background: #f6f9fb; border-color: #e0e7ee; margin-top: 0; padding: 15px; letter-spacing: 0; }
#documentsForms .v15-cat h3 { font-size: 13px; color: #344d65; letter-spacing: -.015em; border-bottom-color: #dde6ed; padding-bottom: 12px; }
#documentsForms .v15-form-card { background: #fff; border-color: #dce5ec; color: #31485f; padding: 13px; min-height: 75px; flex-direction: column; align-items: flex-start; gap: 6px; }
#documentsForms .v15-form-card b { color: #31485f; font-size: 12px; line-height: 1.5; font-weight: 600; text-transform: none; }
#documentsForms .v15-form-card span { color: #218365; font-size: 10px; }
#documentsForms .v15-form-card:hover { border-color: #85baa5; }
#v15FormCards .card:nth-last-child(-n+2) strong { font-size: 17px; letter-spacing: -.015em; line-height: 1.6; }
.ow-main-foot { margin-top: 34px; padding-top: 18px; border-top: 1px solid #e1e7ee; color: #8b98a8; font-size: 10px; display: flex; justify-content: space-between; gap: 15px; }
.ow-main-foot strong { color: #607489; }
@media(min-width:1181px) { body { padding-top: 0; } .sidebar { position: sticky; top: 0; height: 100vh; } }
@media(min-width:1181px) and (max-width:1400px) { .main { padding-left: 24px; padding-right: 24px; } .ow-workspace-name span { display: none; } }
@media(max-width:1180px) {
  body { padding-top: var(--v13-top); }
  .app { display: block; }
  .sidebar { position: fixed; top: 0; left: 0; width: min(310px,88vw); height: 100dvh; transform: translateX(-105%); z-index: 1001; }
  body.v13-nav-open .sidebar { transform: translateX(0); }
  .nav-scroll { height: auto; max-height: none; }
  .nav button { min-height: 44px; font-size: 13px; }
  .nav { grid-template-columns: 1fr; }
  .main { padding: 0 22px calc(94px + var(--v13-safe-bottom)); }
  .ow-workspace-bar { min-height: 70px; padding: 13px 0; margin-bottom: 24px; }
  .ow-workspace-name span { display: none; }
  .toolbar-search { width: min(360px,45vw) !important; }
  .mobile-topbar { display: flex; background: #122137; border-bottom-color: #304058; }
  .mobile-topbar .v13-menu,.mobile-topbar .v13-quick { background: #20324c; border-color: #3b4e69; color: #f5f9ff; }
  .mobile-topbar .v13-title { color: #f0f5fa; font-size: 12px; }
  .mobile-bottom-nav { display: flex; background: #fffffff5; border-color: #dce4eb; box-shadow: 0 8px 25px #16304426; }
  .mobile-bottom-nav button { color: #768598; font-weight: 600; }
  .mobile-bottom-nav button.active { background: #e8f4ed; color: #257652; box-shadow: none; }
  .v13-install-tip { background: #fff; border-color: #dce5ec; border-left-color: #168065; box-shadow: 0 8px 35px #16304426; color: #334b62; }
  .control-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  .control-grid .cc-panel:first-child { grid-row: auto; grid-column: 1/-1; }
  .global-results { left: 22px; right: 22px; top: 136px; }
  .modal { z-index: 1200; }
}
@media(max-width:760px) {
  .main { padding: 0 14px calc(94px + var(--v13-safe-bottom)); }
  .ow-workspace-bar { gap: 8px; padding: 11px 0; margin-bottom: 20px; }
  .ow-workspace-name { display: none; }
  .ow-workspace-tools { width: 100%; gap: 8px; }
  .ow-search-wrap { flex: 1; min-width: 0; }
  .toolbar-search { width: 100% !important; font-size: 13px !important; }
  .ow-local-badge { font-size: 9px; padding: 6px; }
  .topbar h2 { font-size: 24px; }
  .topbar p { font-size: 12px; }
  .topbar { align-items: flex-start; }
  .topbar>div:first-child { min-width: 0; }
  .topbar>.btn { width: 100%; }
  .card strong { font-size: 24px !important; }
  .control-grid { gap: 10px; }
  .cc-body { padding: 14px; }
  .cc-line { gap: 5px; font-size: 10px; }
  .panel-head { padding: 13px 14px; }
  .health-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .v110-alerts { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
  .v110-alert { padding: 10px; }
  .v110-alert b { font-size: 11px; }
  .v110-kicker { font-size: 8px; }
  .table.v13-card-table { min-width: 0; }
  #documentsForms .v15-form-grid { grid-template-columns: minmax(0,1fr); padding: 12px; }
  .table.v13-card-table tr { background: #fff; border-color: #dce5ed; }
  .table.v13-card-table td { border-bottom-color: #e8edf2 !important; grid-template-columns: minmax(86px,32%) minmax(0,1fr); overflow-wrap: anywhere; }
  .table.v13-card-table .mini-actions { grid-column: 2; }
  .dialog-body { padding: 17px 14px; }
  .dialog-head,.dialog-foot { padding: 14px; }
  .form-group input,.form-group select,.form-group textarea { min-width: 0; }
  .form-grid,.grid-3,.v110-grid { grid-template-columns: minmax(0,1fr) !important; }
  .system-row .asset-wide { grid-template-columns: minmax(0,1fr); }
  .site-fields,.system-row { grid-template-columns: minmax(0,1fr) !important; }
  .ow-main-foot { font-size: 9px; flex-wrap: wrap; }
  .global-results { left: 14px; right: 14px; top: 130px; }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { transition: none !important; scroll-behavior: auto !important; } }
@media print { .ow-workspace-bar,.ow-main-foot,.ow-sidebar-foot,.mobile-topbar,.mobile-bottom-nav { display: none !important; } }

/* v0.2 — typography, colour and navigation aligned with the Eco Glaze workspace. */
@font-face { font-family: Inter; font-style: normal; font-weight: 100 900; font-display: swap; src: url('inter-latin-variable.woff2') format('woff2'); }
:root { --font-ui: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif; --bg: #f7f8fc; --ow-navy: #182939; --o: #478b3c; --ow-green: #478b3c; --m: #747b89; }
html,body,button,input,select,textarea,table { font-family: var(--font-ui); }
[hidden] { display: none !important; }
body { font-weight: 400; }
.sidebar { padding: 20px 12px 16px; }
.brand { display: flex; align-items: center; gap: 11px; padding: 0 6px 20px; margin-bottom: 16px; border-bottom: 1px solid #ffffff12; }
.brand-logo { width: 59px; height: 54px; padding: 4px; border-radius: 10px; flex: 0 0 59px; }
.brand .brand-sub { margin: 0; font-size: 10px; color: #91a4b2; line-height: 1.6; }
.brand .brand-sub strong { font-size: 15px; font-weight: 750; letter-spacing: -.02em; margin-bottom: 3px; }
.nav { gap: 5px; }
.nav button { min-height: 42px; padding: 10px 12px; font-size: 13px; font-weight: 450; color: #d5e0e7; border-radius: 9px; }
.nav button:hover { background: #ffffff0e; }
.nav button.active { background: #478b3c3d; color: #fff; font-weight: 650; box-shadow: inset 3px 0 #73b56b; }
.nav button.active .ow-nav-icon { color: #a5d89e; }
.ow-nav-section { border: 0; margin-top: 7px; }
.ow-nav-section summary { min-height: 42px; padding: 10px 12px; display: flex; align-items: center; gap: 11px; color: #b6c7d1; font-size: 12px; font-weight: 550; border-radius: 9px; cursor: pointer; list-style: none; }
.ow-nav-section summary::-webkit-details-marker { display: none; }
.ow-nav-section summary:hover { background: #ffffff0e; color: #fff; }
.ow-nav-section summary:focus-visible { outline: 2px solid #81b978; outline-offset: -2px; }
.ow-group-active>summary { color: #c2e5bb; }
.ow-nav-chevron { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 1.6; margin-left: auto; transition: transform .16s ease; }
.ow-nav-section[open] .ow-nav-chevron { transform: rotate(90deg); }
.ow-nav-children { display: grid; gap: 3px; padding: 3px 0 2px 13px; margin: 4px 0 3px 19px; border-left: 1px solid #ffffff1b; }
.ow-nav-children button { min-height: 35px; padding: 8px 10px; font-size: 12px; color: #aebfc9; }
.ow-nav-children .ow-nav-icon { display: none; }
.ow-settings-link { margin-top: 18px; border-top: 1px solid #ffffff12 !important; border-radius: 0 !important; padding-top: 15px !important; }
.ow-sidebar-foot { display: flex; align-items: center; justify-content: space-between; gap: 9px; padding: 16px 8px 0; }
.ow-powered-label { color: #8da2b2; font-size: 10px; }
.ow-credit-logo { display: block; width: 108px; height: 43px; object-fit: contain; background: #fff; border-radius: 7px; padding: 5px 7px; }
.ow-credit-icon { display: none; }
.ow-workspace-bar { margin-bottom: 25px; min-height: 76px; background: transparent; }
.ow-workspace-name { gap: 12px; }
.ow-workspace-name b { color: #536170; font-size: 12px; font-weight: 550; }
.ow-sidebar-toggle { width: 34px; height: 34px; border: 1px solid #dfe5eb; border-radius: 8px; background: #fff; color: #647485; padding: 7px; cursor: pointer; }
.ow-sidebar-toggle svg { width: 19px; height: 19px; display: block; }
.ow-sidebar-toggle:hover { border-color: #9cafbe; }
.topbar h2 { font-size: 26px; font-weight: 700; letter-spacing: -.03em; }
.topbar p { font-size: 13px; }
.btn { border-radius: 9px; font-size: 12px; font-weight: 650; min-height: 39px; }
.btn.primary { background: #478b3c; border-color: #478b3c; }
.btn.primary:hover { background: #397731; border-color: #397731; }
.panel,.card,.health-card { border-radius: 13px; box-shadow: 0 1px 2px #1f18410a,0 8px 24px #1f184106; }
.panel-head { font-size: 13px; }
.card small,.health-card small { font-size: 10px; line-height: 1.45; font-weight: 650; }
.card strong { font-size: 27px; font-weight: 700; }
.table { font-size: 13px; }
.table th { font-size: 10px; }
.form-group label { font-size: 11px; }
.field,.form-group input,.form-group select,.form-group textarea { border-radius: 9px; }
.control-grid .cc-panel:first-child { background: #fff; }
.cc-big { color: #478b3c; font-size: 45px; }
.cc-line { font-size: 12px; }
#calendar .panel { overflow: hidden; }
#calendarGrid { min-width: 0; }
.calendar-grid { grid-template-columns: repeat(7,minmax(0,1fr)); }
.cal-head { padding: 12px 4px; background: #fafbfd; font-size: 10px; font-weight: 650; }
.cal-day { padding: 9px; min-height: 112px; min-width: 0; background: #fff; }
.cal-day.outside { opacity: 1; background: #f8f9fc; }
.cal-day.ow-weekend { background: #fdfdfe; }
.cal-num { display: inline-grid; place-items: center; min-width: 25px; height: 25px; margin-bottom: 5px; font-size: 11px; font-weight: 550; color: #67758a; }
.ow-today .cal-num { color: #fff; background: #478b3c; border-radius: 50%; font-weight: 650; }
.ow-calendar-day-trigger { border: 0; background: transparent; color: inherit; padding: 0; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 3px; width: 100%; }
.ow-calendar-day-trigger:hover .cal-num { box-shadow: 0 0 0 2px #a7c9a0; border-radius: 50%; }
.ow-calendar-count { font-size: 9px; color: #6b8d66; white-space: nowrap; }
.cal-job { background: #edf5ea; color: #406f37; border-left-color: #6da761; font-size: 10px; padding: 6px 7px; margin: 4px 0; overflow-wrap: anywhere; }
.cal-job b { font-weight: 600; }
.cal-job small { font-size: 9px; margin-top: 3px; }
.ow-calendar-more { background: transparent; border: 0; color: #478b3c; font-size: 10px; padding: 3px; cursor: pointer; }
.ow-calendar-summary { padding: 12px 17px; font-size: 11px; color: #80909d; background: #fff; }
.ow-day-job { width: 100%; border: 1px solid #e0e7ed; border-radius: 9px; background: #fff; color: #30495e; display: flex; justify-content: space-between; align-items: center; gap: 14px; text-align: left; padding: 14px; margin-bottom: 9px; cursor: pointer; }
.ow-day-job small { display: block; color: #778897; font-size: 11px; margin-top: 5px; }
.ow-day-job>span:last-child { font-size: 11px; color: #478b3c; white-space: nowrap; }
@media(min-width:1181px) {
  body.ow-sidebar-collapsed .app { grid-template-columns: 76px minmax(0,1fr); }
  body.ow-sidebar-collapsed .sidebar { padding-left: 10px; padding-right: 10px; }
  body.ow-sidebar-collapsed .brand { padding: 0 5px 18px; }
  body.ow-sidebar-collapsed .brand-logo { width: 44px; height: 44px; flex-basis: 44px; }
  body.ow-sidebar-collapsed .brand-sub,body.ow-sidebar-collapsed .ow-nav-label,body.ow-sidebar-collapsed .ow-nav-chevron,body.ow-sidebar-collapsed .ow-nav-children { display: none; }
  body.ow-sidebar-collapsed .nav button,body.ow-sidebar-collapsed .ow-nav-section summary { justify-content: center; padding-left: 0; padding-right: 0; }
  body.ow-sidebar-collapsed .ow-sidebar-foot { padding: 15px 8px 0; justify-content: center; }
  body.ow-sidebar-collapsed .ow-powered-label,body.ow-sidebar-collapsed .ow-credit-logo { display: none; }
  body.ow-sidebar-collapsed .ow-credit-icon { display: block; width: 33px; height: 33px; background: #fff; border-radius: 7px; padding: 3px; }
  body.ow-sidebar-collapsed .ow-sidebar-toggle svg { transform: rotate(180deg); }
  body.ow-sidebar-collapsed .global-results { left: 108px; }
}
@media(max-width:1180px) {
  .sidebar { box-shadow: none; }
  body.v13-nav-open .sidebar { box-shadow: 20px 0 60px #0b1b3440; }
  .ow-workspace-name { display: none; }
  .ow-workspace-tools { width: 100%; }
  .ow-search-wrap { width: min(420px,100%); }
  .toolbar-search { width: 100% !important; }
  .ow-workspace-bar { min-height: 66px; margin-bottom: 22px; }
}
@media(max-width:760px) {
  .topbar h2 { font-size: 24px; }
  .brand .brand-sub strong { font-size: 15px; }
  #calendar .panel-head { flex-direction: column; align-items: flex-start; gap: 6px; }
  #calendarTitle { white-space: nowrap; font-size: 13px; }
  #calendar .panel-head .muted { font-size: 9px; }
  #calendar .topbar>div:last-child { display: flex; gap: 6px; }
  #calendar .topbar>div:last-child .btn { min-width: 0; flex: 1; padding: 8px; }
  .cal-day { padding: 5px 3px; min-height: 66px; }
  .cal-head { font-size: 9px; padding: 10px 2px; }
  .ow-calendar-items { display: none; }
  .ow-calendar-day-trigger { flex-direction: column; gap: 0; align-items: center; }
  .ow-calendar-count { font-size: 8px; line-height: 1.2; }
  .cal-day>.cal-num { display: grid; width: 25px; margin-left: auto; margin-right: auto; }
  .ow-calendar-summary { padding: 12px; line-height: 1.6; }
  .cc-line { font-size: 10px; }
}

/* v0.2.1 — Eco Glaze sidebar treatment with a standalone TEK logo. */
.app { grid-template-columns: 238px minmax(0,1fr); }
.sidebar {
  padding: 0;
  background: radial-gradient(circle at 16% 6%,rgba(71,139,60,.22),transparent 27%),linear-gradient(180deg,#1d3557 0%,#172d49 58%,#11243a 100%);
}
.brand { min-height: 120px; padding: 12px; margin: 0 0 10px; justify-content: center; border-bottom: 1px solid #ffffff13; flex-shrink: 0; }
.brand-logo { display: block; width: 210px; max-width: 100%; height: 96px; object-fit: contain; padding: 0; flex: 0 1 auto; border-radius: 12px; }
.nav-scroll { padding: 0 3px; }
.nav { display: flex; flex-direction: column; min-height: 100%; gap: 4px; }
.nav button { flex-shrink: 0; min-height: 40px; padding: 10px 12px; gap: 12px; font-size: 14px; line-height: 20px; }
.nav button.active { background: #478b3c3d; box-shadow: inset 3px 0 #73b56b; }
.ow-nav-section { flex-shrink: 0; margin-top: 5px; }
.ow-nav-section summary { min-height: 42px; padding: 10px 12px; gap: 12px; font-size: 13px; line-height: 20px; font-weight: 450; color: #d5e0e7; }
.ow-nav-children button { font-size: 13px; line-height: 18px; min-height: 36px; padding: 8px 10px; }
.ow-settings-link { margin-top: auto !important; padding: 13px 12px !important; min-height: 48px !important; }
.ow-sidebar-foot { min-height: 54px; margin: 0 11px; padding: 10px 10px 2px; gap: 8px; justify-content: center; border-top: 1px solid #ffffff13; }
.ow-powered-label { color: #8798a5; font-size: 8px; letter-spacing: .11em; text-transform: uppercase; white-space: nowrap; }
.ow-credit-logo { width: 94px; height: 34px; object-fit: contain; object-position: left center; padding: 0; border-radius: 0; background: transparent; filter: brightness(0) invert(1); opacity: .58; }
.global-results { left: 270px; }
@media(min-width:1181px) {
  body.ow-sidebar-collapsed .brand { min-height: 90px; padding: 16px 0; }
  body.ow-sidebar-collapsed .brand-logo { width: 44px; height: 44px; flex-basis: 44px; }
  body.ow-sidebar-collapsed .ow-sidebar-foot { margin: 0; padding: 12px 0; }
  body.ow-sidebar-collapsed .ow-credit-icon { width: 32px; height: 32px; padding: 2px; border-radius: 6px; background: #fff; filter: none; opacity: 1; }
}
@media(max-width:1180px) {
  .app { display: block; }
  .mobile-topbar { background: #1b3251; }
  .mobile-topbar .v13-brand { justify-content: center; }
  .mobile-topbar .v13-brand img { width: 128px; max-width: 160px; height: 44px; padding: 0; object-fit: contain; }
  .global-results { left: 22px; }
}
@media(max-width:760px) { .global-results { left: 14px; } }

/* v0.3 — shared Eco Glaze calendar layout and working view controls. */
.ow-cal-controls { margin-bottom: 18px; padding: 10px 14px 12px; border: 1px solid #dfe7e2; border-radius: 18px; background: #fff; box-shadow: 0 8px 22px #1727350b; }
.ow-cal-control-row { display: grid; grid-template-columns: minmax(100px,1fr) auto minmax(180px,1fr); align-items: center; gap: 14px; }
.ow-cal-left { justify-self: start; }
.ow-cal-today { min-height: 34px; padding: 0 15px; border: 1px solid #d2ddd4; border-radius: 11px; background: #fff; color: #17172a; font-size: 11px; font-weight: 750; cursor: pointer; }
.ow-cal-period { display: grid; grid-template-columns: 40px minmax(170px,auto) 40px; align-items: center; justify-content: center; gap: 14px; }
.ow-cal-arrow { width: 40px; height: 40px; display: grid; place-items: center; border: 1px solid #cfdacf; border-radius: 50%; background: #fcfdfc; color: #4f8f48; font-size: 24px; font-weight: 450; line-height: 1; padding: 0 0 3px; cursor: pointer; }
.ow-cal-arrow:hover,.ow-cal-today:hover { background: #f5f9f4; border-color: #b7cab8; }
#calendarTitle { margin: 0; text-align: center; font-size: 15px; font-weight: 800; letter-spacing: -.01em; line-height: 1.5; white-space: normal; color: #17172a; }
.ow-cal-switch { display: inline-flex; align-items: center; padding: 4px; border: 1px solid #e6e2f2; border-radius: 10px; background: #fff; justify-self: end; box-shadow: 0 1px 2px #1727350a; }
.ow-cal-switch button { min-width: 54px; border: 0; border-radius: 7px; background: transparent; color: #74728a; padding: 7px 12px; font-size: 10px; font-weight: 750; cursor: pointer; }
.ow-cal-switch button:hover { color: #17172a; background: #f3f7f5; }
.ow-cal-switch button.active { background: #478b3c; color: #fff; box-shadow: 0 2px 7px #2f8f532e; }
.ow-cal-totals { display: flex; justify-content: center; align-items: baseline; gap: 18px; flex-wrap: wrap; margin-top: 10px; padding-top: 9px; border-top: 1px solid #edf2ee; color: #74728a; font-size: 10px; }
.ow-cal-totals span { display: inline-flex; align-items: baseline; gap: 4px; }
.ow-cal-totals strong { color: #17172a; font-size: 14px; font-weight: 750; }
#calendar .ow-cal-surface { border: 1px solid #dfe7e2; border-radius: 20px; box-shadow: 0 10px 26px #1727350b; }
.ow-cal-view-month .cal-head { background: #f7faf6; border-color: #dfe7e2; color: #68756f; text-align: center; font-size: 9px; letter-spacing: .075em; padding: 12px 8px; }
.ow-cal-view-month .cal-day { position: relative; min-height: 142px; padding: 10px 9px 31px; border-color: #dfe7e2; }
.ow-cal-view-month .cal-day.outside { background: #fafcfb; }
.ow-cal-view-month .cal-day.ow-today { background: #f8fcf6; box-shadow: inset 0 0 0 2px #91b77b; }
.ow-cal-view-month .cal-num { color: #17243a; font-weight: 700; font-size: 11px; }
.ow-cal-view-month .ow-today .cal-num { background: transparent; color: #478b3c; }
.ow-cal-view-month .ow-calendar-day-trigger { width: 100%; text-align: left; }
.ow-cal-view-month .cal-job { margin-top: 5px; }
.ow-cal-add { position: absolute; left: 12px; bottom: 9px; width: 23px; height: 23px; display: grid; place-items: center; padding: 0; border: 0; border-radius: 6px; background: transparent; color: #91ad8d; font-size: 17px; line-height: 1; font-weight: 550; cursor: pointer; }
.ow-cal-add:hover { color: #478b3c; background: #eaf3e7; }
.ow-cal-add:focus-visible { outline: 2px solid #478b3c; outline-offset: 2px; }
.ow-cal-view-week { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); }
.ow-week-day { min-width: 0; min-height: 390px; position: relative; padding: 0 10px 44px; border-right: 1px solid #e1e8e2; background: #fff; }
.ow-week-day:last-child { border-right: 0; }
.ow-week-today { background: #f8fcf6; }
.ow-week-heading { display: flex; flex-direction: column; align-items: center; gap: 6px; width: calc(100% + 20px); margin-left: -10px; padding: 14px 5px; border: 0; border-bottom: 1px solid #e1e8e2; background: #f7faf6; color: #637267; cursor: pointer; }
.ow-week-heading span { font-size: 10px; text-transform: uppercase; letter-spacing: .06em; font-weight: 650; }
.ow-week-heading b { font-size: 20px; color: #344d38; }
.ow-week-jobs { padding-top: 10px; }
.ow-agenda-empty { color: #a1aca2; font-size: 11px; text-align: center; margin: 35px 0; }
.ow-agenda-job { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; width: 100%; border: 1px solid #dce8d9; border-left: 3px solid #7baa6f; border-radius: 9px; background: #f1f7ee; color: #3a6032; padding: 12px; margin-bottom: 10px; text-align: left; cursor: pointer; overflow-wrap: anywhere; }
.ow-agenda-job.fault { border-color: #efdadf; border-left-color: #c96176; background: #fdf2f4; color: #9a4b60; }
.ow-agenda-job.remedial { border-color: #d5e3ef; border-left-color: #709ac0; background: #f0f6fb; color: #476f94; }
.ow-agenda-type { font-size: 9px; font-weight: 750; text-transform: uppercase; letter-spacing: .03em; }
.ow-agenda-job b { font-size: 12px; font-weight: 650; }
.ow-agenda-job small { font-size: 10px; line-height: 1.5; opacity: .85; }
.ow-agenda-status { font-size: 9px; margin-top: 3px; opacity: .8; }
.ow-cal-view-day { display: block; }
.ow-day-agenda { padding: 20px; min-height: 330px; }
.ow-day-agenda-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-bottom: 16px; margin-bottom: 18px; border-bottom: 1px solid #e4ebe4; font-size: 13px; }
.ow-day-jobs { display: grid; grid-template-columns: repeat(auto-fit,minmax(230px,1fr)); gap: 12px; }
.ow-day-jobs>.empty { grid-column: 1/-1; }
.ow-day-jobs .ow-agenda-job { padding: 18px; }
.ow-day-jobs .ow-agenda-job b { font-size: 14px; }
.ow-day-jobs .ow-agenda-job small { font-size: 12px; }
.btn:disabled { cursor: default; opacity: .45; }
@media(max-width:1180px) and (min-width:761px) {
  .ow-cal-control-row { grid-template-columns: 80px minmax(0,1fr) 180px; gap: 8px; }
  .ow-cal-period { grid-template-columns: 34px minmax(130px,auto) 34px; gap: 8px; }
  .ow-cal-arrow { width: 34px; height: 34px; }
  #calendarTitle { font-size: 13px; }
}
@media(max-width:760px) {
  .ow-cal-controls { padding: 12px; border-radius: 15px; }
  .ow-cal-control-row { grid-template-columns: 1fr 1fr; gap: 12px; }
  .ow-cal-period { grid-column: 1/-1; grid-row: 1; grid-template-columns: 34px minmax(0,1fr) 34px; width: 100%; gap: 6px; }
  .ow-cal-arrow { width: 34px; height: 34px; }
  #calendarTitle { font-size: 14px; }
  .ow-cal-left { grid-column: 1; grid-row: 2; }
  .ow-cal-switch { grid-column: 2; grid-row: 2; }
  .ow-cal-switch button { min-width: 43px; padding: 7px 8px; }
  .ow-cal-totals { gap: 7px 12px; font-size: 9px; }
  .ow-cal-totals strong { font-size: 12px; }
  .ow-cal-view-month .cal-day { min-height: 90px; padding: 5px 3px 28px; }
  .ow-cal-view-month .cal-head { font-size: 8px; padding: 10px 2px; }
  .ow-cal-view-month .ow-calendar-day-trigger { align-items: center; }
  .ow-cal-view-month .ow-cal-add { left: 50%; transform: translateX(-50%); bottom: 5px; }
  .ow-cal-view-week { display: grid; grid-template-columns: 1fr; }
  .ow-week-day { min-height: 150px; border-right: 0; border-bottom: 1px solid #e1e8e2; }
  .ow-week-day:last-child { border-bottom: 0; }
  .ow-week-heading { flex-direction: row; gap: 12px; justify-content: flex-start; padding: 10px 14px; }
  .ow-week-heading b { font-size: 17px; }
  .ow-week-jobs { display: grid; grid-template-columns: 1fr; }
  .ow-day-agenda { padding: 14px; }
  .ow-day-jobs { grid-template-columns: minmax(0,1fr); }
}

/* Form date picker: compact, Monday-first and consistent across desktop browsers. */
#v15FormModal input.ow-date-source { display: none !important; }
.ow-date-trigger { width: 100%; min-height: 42px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 12px; border: 1px solid #dce3e9; border-radius: 9px; background: #fff; color: #243b50; font: inherit; font-size: 13px; text-align: left; cursor: pointer; }
.ow-date-trigger svg { width: 18px; height: 18px; flex-shrink: 0; color: #7b8b99; }
.ow-date-trigger:hover,.ow-date-trigger[aria-expanded="true"] { border-color: #6d9e65; box-shadow: 0 0 0 3px #478b3c10; }
.ow-date-trigger.is-empty { color: #7b8b99; }
.ow-date-trigger:focus-visible,.ow-date-popover button:focus-visible,.ow-date-popover select:focus-visible { outline: 2px solid #478b3c; outline-offset: 2px; }
.ow-date-popover { position: fixed; inset: auto; margin: 0; width: 304px; max-width: calc(100vw - 24px); padding: 15px; box-sizing: border-box; border: 1px solid #dce5de; border-radius: 16px; background: #fff; color: #243b50; box-shadow: 0 16px 48px #11243a24,0 3px 10px #11243a0c; z-index: 10000; font-family: Inter,sans-serif; }
.ow-date-popover[hidden] { display: none; }
.ow-date-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 14px; }
.ow-date-head>div { display: flex; align-items: center; justify-content: center; gap: 3px; }
.ow-date-head>button { width: 29px; height: 29px; border: 1px solid #e4eae5; border-radius: 8px; background: #fff; color: #4f685a; font-size: 23px; line-height: 1; padding: 0; cursor: pointer; }
.ow-date-head select { width: auto; min-height: 30px; padding: 4px 2px; border: 0; background: #fff; border-radius: 5px; color: #233a31; font-family: inherit; font-size: 12px; font-weight: 650; cursor: pointer; }
.ow-date-week,.ow-date-grid { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); gap: 3px; }
.ow-date-week { margin-bottom: 6px; }
.ow-date-week span { color: #829087; text-align: center; padding: 4px 0; font-size: 10px; font-weight: 600; }
.ow-date-grid button { width: 100%; height: 33px; border: 1px solid transparent; border-radius: 8px; background: transparent; color: #30463a; font: inherit; font-size: 12px; cursor: pointer; padding: 0; }
.ow-date-grid button.outside { color: #b5bfb7; }
.ow-date-grid button[aria-current="date"] { border-color: #a7c79f; font-weight: 700; }
.ow-date-grid button:hover { background: #edf5ea; }
.ow-date-grid button.selected { background: #478b3c; color: #fff; font-weight: 700; border-color: #478b3c; }
.ow-date-popover button:disabled { opacity: .3; cursor: default; }
.ow-date-foot { display: flex; justify-content: space-between; border-top: 1px solid #edf1ed; margin-top: 13px; padding-top: 10px; }
.ow-date-foot button { background: transparent; border: 0; padding: 5px 7px; font-family: inherit; font-size: 11px; font-weight: 600; color: #478b3c; cursor: pointer; border-radius: 5px; }
.ow-date-foot button:hover { background: #edf5ea; }
.cal-job.saved-form,.ow-agenda-job.saved-form { background: #eef1fa; color: #536296; border-left-color: #8b9aca; }

/* Compact form library: category tabs, global search and fully clickable cards. */
#documentsForms .ow-form-library { display: block; padding: 24px; }
.ow-form-search { display: flex; align-items: center; gap: 10px; width: min(100%,520px); padding: 10px 12px; border: 1px solid #dce5df; border-radius: 9px; background: #fff; color: #71808d; }
.ow-form-search svg { flex-shrink: 0; width: 18px; height: 18px; }
.ow-form-search input { min-height: 0; height: auto; width: 100%; min-width: 0; border: 0; padding: 0; border-radius: 0; background: transparent; color: #243b50; font: inherit; font-size: 13px; box-shadow: none; }
.ow-form-search:focus-within { border-color: #74a566; box-shadow: 0 0 0 3px #478b3c12; }
.ow-form-search input:focus { box-shadow: none; outline: none; }
.ow-form-categories { display: flex; flex-wrap: wrap; gap: 8px; margin: 16px 0 24px; }
.ow-form-categories button { min-height: 38px; padding: 8px 12px; border: 1px solid #e1e8e4; border-radius: 8px; background: #fff; color: #687a86; font: inherit; font-size: 12px; font-weight: 500; cursor: pointer; }
.ow-form-categories button:hover { border-color: #a7c59f; color: #427d38; }
.ow-form-categories button[aria-pressed="true"] { background: #edf5ea; border-color: #91b983; color: #3b7332; }
.ow-form-list-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-bottom: 13px; border-bottom: 1px solid #e4eae7; }
.ow-form-list-head h3 { margin: 0; color: #243b50; font-size: 15px; line-height: 1.4; font-weight: 600; }
#owFormCount { color: #71808d; font-size: 12px; white-space: nowrap; }
.ow-form-card-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; padding-top: 16px; }
.ow-form-card { display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-start; gap: 10px; min-width: 0; min-height: 116px; padding: 17px; border: 1px solid #e1e8e4; border-radius: 10px; background: #fff; color: #243b50; font: inherit; text-align: left; cursor: pointer; transition: background .15s,border-color .15s,box-shadow .15s; }
.ow-form-card:hover { background: #f5faf2; border-color: #a2c497; box-shadow: 0 3px 12px #173e2d08; }
.ow-form-card:hover .ow-form-name { color: #3b7332; }
.ow-form-document { display: block; width: 22px; height: 22px; color: #67925d; }
.ow-form-document svg { display: block; width: 20px; height: 20px; }
.ow-form-card-text { display: block; min-width: 0; }
.ow-form-name { display: block; font-size: 14px; line-height: 1.5; font-weight: 550; overflow-wrap: anywhere; }
.ow-form-stage { display: block; margin-top: 4px; color: #71808d; font-size: 11px; line-height: 1.5; }
.ow-form-card:focus-visible,.ow-form-categories button:focus-visible { outline: 2px solid #478b3c; outline-offset: 3px; }
.ow-form-empty { grid-column: 1/-1; padding: 30px 12px; text-align: center; color: #71808d; }
.ow-form-empty b,.ow-form-empty span { display: block; font-size: 13px; }
.ow-form-empty span { margin-top: 5px; font-size: 12px; }
@media(max-width:760px) {
  #documentsForms .ow-form-library { padding: 17px; }
  .ow-form-search { width: 100%; }
  .ow-form-search input { font-size: 16px; }
  .ow-form-categories { gap: 7px; margin-bottom: 20px; }
  .ow-form-categories button { min-height: 42px; font-size: 11px; padding: 8px 10px; }
  .ow-form-card-grid { grid-template-columns: minmax(0,1fr); gap: 10px; }
  .ow-form-card { flex-direction: row; gap: 12px; min-height: 78px; padding: 15px; }
  .ow-form-document { flex-shrink: 0; padding-top: 1px; }
  .ow-form-name { font-size: 13px; }
}
@media(prefers-reduced-motion:reduce) { .ow-form-card { transition: none; } }

#documentsForms #v15FormCards { display: flex; flex-wrap: wrap; gap: 10px 24px; margin: 0 0 20px; }
.ow-form-stat { display: flex; align-items: center; gap: 9px; color: #71808d; font-size: 12px; }
.ow-form-stat strong { color: #243b50; font-size: 14px; font-weight: 600; }

/* Guided document editor: numbered steps and a stable signature surface. */
#v15FormModal.ow-guided-form .dialog { display: flex; flex-direction: column; overflow: hidden !important; width: min(1000px,100%) !important; height: min(760px,calc(100dvh - 40px)); max-height: calc(100dvh - 40px) !important; border-radius: 17px; }
#v15FormModal.ow-guided-form .dialog-head { padding: 19px 24px; gap: 14px; flex-shrink: 0; align-items: flex-start; }
#v15FormModal.ow-guided-form .dialog-head>div { flex: 1; min-width: 0; }
#v15FormTitle { font-size: 20px; line-height: 1.35; letter-spacing: -.025em; }
#v15FormSub { margin-top: 4px; font-size: 11px; }
#v15FormModal.ow-guided-form .dialog-head>button { order: 2; padding: 0; min-height: 32px; width: 32px; flex-shrink: 0; }
#owFormReference { order: 1; flex-shrink: 0; padding-top: 6px; color: #7a8c98; font-size: 11px; }
.ow-form-context { display: flex; justify-content: space-between; align-items: center; gap: 14px; background: #f7faf6; border-bottom: 1px solid #e3eae3; padding: 13px 24px; flex-shrink: 0; }
.ow-form-context>div { min-width: 0; }
.ow-form-context b { display: block; color: #30495b; font-size: 13px; font-weight: 600; overflow-wrap: anywhere; }
.ow-form-context small { display: block; color: #788993; font-size: 11px; line-height: 1.5; margin-top: 3px; }
.ow-form-context button { flex-shrink: 0; padding: 7px 0; border: 0; background: transparent; color: #478b3c; font: inherit; font-size: 12px; cursor: pointer; }
.ow-form-steps { display: flex; flex-wrap: wrap; gap: 4px; padding: 10px 18px 0; border-bottom: 1px solid #e1e8e4; flex-shrink: 0; }
.ow-form-steps button { transition: color .12s,background .12s; display: flex; align-items: center; justify-content: flex-start; gap: 7px; min-height: 45px; padding: 9px 9px 12px; border: 0; border-bottom: 2px solid transparent; background: transparent; color: #768793; font: inherit; font-size: 12px; font-weight: 500; cursor: pointer; }
.ow-form-steps button>span { display: grid; place-items: center; flex-shrink: 0; width: 23px; height: 23px; border-radius: 50%; background: #f1f4f3; color: #788891; font-size: 11px; }
.ow-form-steps button[aria-selected="true"] { color: #3e7b34; border-bottom-color: #478b3c; }
.ow-form-steps button[aria-selected="true"]>span { color: #3e7b34; background: #e7f2e2; }
.ow-form-steps button:hover { color: #3e7b34; }
#v15FormModal.ow-guided-form .dialog-body { padding: 22px 24px 27px; background: #fff; flex: 1; min-height: 0; overflow-y: auto !important; }
.ow-form-step-heading { margin-bottom: 22px; }
#owFormStepPosition { display: block; margin-bottom: 7px; color: #8a999f; font-size: 10px; letter-spacing: .06em; text-transform: uppercase; }
#owFormStepTitle { margin: 0 0 5px; color: #243b50; font-size: 18px; line-height: 1.4; font-weight: 600; letter-spacing: -.02em; }
#owFormStepHelp { margin: 0; color: #7b8b95; font-size: 12px; line-height: 1.5; }
#v15FormModal.ow-guided-form [hidden] { display: none !important; }
#v15DynamicFields { display: block; }
#v15FormModal.ow-guided-form .form-grid { gap: 20px; align-items: start; }
#v15FormModal.ow-guided-form .form-group label { color: #6f818d; font-size: 12px; line-height: 1.5; font-weight: 500; }
#v15FormModal.ow-guided-form .form-group input,#v15FormModal.ow-guided-form .form-group select,#v15FormModal.ow-guided-form .form-group textarea { font-size: 13px; border-color: #dfe6e2; padding: 11px 12px; }
#v15FormModal.ow-guided-form .form-group textarea { min-height: 100px; }
#owFormDetailsPanel,#owFormSignoffPanel { margin: 0 !important; padding: 0 !important; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
#owFormSignoffPanel>.panel-head { display: none; }
#v15FormModal.ow-guided-form #v15FormIntro.ow-form-declaration { grid-column:1/-1; margin:0 !important; font-size:12px; font-weight:400; line-height:1.6; overflow-wrap:anywhere; }
.ow-form-field-section:not([hidden])~#owFormSignoffPanel { margin-top: 20px !important; }
#owFormSignoffPanel .ow-signature-card { border: 1px solid #dfe7e1; border-radius: 12px; padding: 15px; background: #fbfcfb; }
#owFormSignoffPanel .ow-signature-card>label { color: #30495b !important; font-weight: 600 !important; }
.ow-signature-hint { color: #83918e; font-size: 10px; line-height: 1.5; }
#v15FormModal.ow-guided-form .mini-sig { display: block; width: 100%; height: auto !important; min-height: 0; aspect-ratio: 5/2; margin: 11px 0 8px; border: 1px solid #dce5df; border-radius: 8px; background: #fff; touch-action: none; cursor: crosshair; }
.ow-signature-status { display: block; color: #87938c; font-size: 11px; margin-bottom: 5px; }
.ow-signature-status.is-signed { color: #478b3c; }
#owFormSignoffPanel .ow-signature-card>button { width: auto; min-height: 30px; align-self: flex-start; padding: 5px 0; border: 0; background: transparent; color: #69816d; font-size: 11px; box-shadow: none; }
#v15FormModal.ow-guided-form .dialog-foot { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px; padding: 16px 24px; flex-shrink: 0; background: #fff; border-top: 1px solid #e1e8e4; }
.ow-form-foot-left,.ow-form-foot-right { display: flex; align-items: center; gap: 10px; }
.ow-form-print { padding: 8px 3px; border: 0; background: transparent; color: #778b95; font: inherit; font-size: 11px; cursor: pointer; }
#owFormSaveStatus { max-width: 220px; color: #478b3c; font-size: 10px; line-height: 1.4; }
#v15FormModal.ow-guided-form button:disabled { opacity: .4; cursor: default; }
.ow-form-context button:focus-visible,.ow-form-steps button:focus-visible,.ow-form-print:focus-visible { outline: 2px solid #478b3c; outline-offset: 2px; }
#owFormStepTitle:focus { outline: none; }
@media(max-width:760px) {
  #v15FormModal.ow-guided-form { padding: 10px; }
  #v15FormModal.ow-guided-form .dialog { height: calc(100dvh - 20px); max-height: calc(100dvh - 20px) !important; border-radius: 13px; }
  #v15FormModal.ow-guided-form .dialog-head { padding: 15px 16px; gap: 8px; flex-wrap: wrap; }
  #v15FormTitle { font-size: 17px; }
  #v15FormSub { font-size: 10px; }
  #owFormReference { display: none; }
  .ow-form-context { padding: 11px 16px; }
  .ow-form-context b { font-size: 12px; }
  .ow-form-context small { font-size: 10px; }
  .ow-form-context button { font-size: 11px; }
  .ow-form-steps { padding: 7px 9px 0; gap: 0; }
  .ow-form-steps button { gap: 5px; padding: 8px 7px 10px; min-height: 40px; font-size: 10px; }
  .ow-form-steps button>span { width: 20px; height: 20px; font-size: 10px; }
  #v15FormModal.ow-guided-form .dialog-body { padding: 18px 16px 25px; }
  #v15FormModal.ow-guided-form .form-grid { grid-template-columns: minmax(0,1fr) !important; gap: 17px; }
  #v15FormModal.ow-guided-form .form-group input,#v15FormModal.ow-guided-form .form-group select,#v15FormModal.ow-guided-form .form-group textarea { font-size: 16px; }
  .ow-form-step-heading { margin-bottom: 20px; }
  #owFormStepTitle { font-size: 17px; }
  #owFormStepHelp { font-size: 11px; }
  #v15FormModal.ow-guided-form .dialog-foot { padding: 11px 16px; gap: 9px; }
  .ow-form-foot-left { gap: 12px; }
  .ow-form-foot-right { flex: 1; justify-content: flex-end; flex-wrap: wrap; }
  #owFormSaveStatus:not(:empty) { flex-basis: 100%; max-width: 100%; text-align: right; }
  #v15FormModal.ow-guided-form .dialog-foot .btn { padding: 8px 12px; min-height: 39px; font-size: 11px; }
}
