:root{--ink:#18212b;--muted:#667085;--line:#e6e9ee;--blue:#1268e5;--soft:#f5f7fa;--green:#198754;--orange:#f59e0b}*{box-sizing:border-box}body{margin:0;background:var(--soft);color:var(--ink);font:15px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,a{font:inherit}.app{display:grid;grid-template-columns:240px 1fr;min-height:100vh}aside{background:#111b2a;color:#fff;padding:28px 20px;display:flex;flex-direction:column}.brand{color:inherit;text-decoration:none;font-size:22px;font-weight:700;display:flex;align-items:center;gap:2px}.brand span{display:grid;place-items:center;width:34px;height:34px;margin-right:8px;border-radius:10px;background:var(--blue);color:#fff}.brand b{color:#ff8a34}nav{display:grid;gap:6px;margin-top:42px}nav a{padding:11px 14px;border-radius:9px;color:#bfc8d5;text-decoration:none}nav a.active,nav a:hover{background:#22324a;color:#fff}aside form{margin-top:auto}aside form button{width:100%;border:1px solid #34445c;background:transparent;color:#dce3ec;border-radius:9px;padding:10px}.workspace header{height:68px;padding:0 34px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.workspace main{padding:32px;max-width:1280px;margin:auto}.heading{display:flex;justify-content:space-between;gap:24px;align-items:start;margin-bottom:28px}.heading h1{font-size:32px;margin:3px 0}.heading p{margin:0;color:var(--muted)}.eyebrow{font-size:12px;font-weight:800;letter-spacing:.09em;color:var(--blue)!important}.updated{font-size:13px;color:var(--muted);background:#fff;border:1px solid var(--line);border-radius:999px;padding:7px 12px}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:22px}.stat,.card,.notice{background:#fff;border:1px solid var(--line);border-radius:14px}.stat{padding:20px}.stat small,.stat span{display:block;color:var(--muted)}.stat strong{display:block;font-size:27px;margin:8px 0}.card{overflow:hidden}.card-title{padding:20px 22px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between}.card-title h2{margin:0;font-size:18px}.card-title p{margin:4px 0 0;color:var(--muted)}.card-title button{border:0;border-radius:8px;padding:8px 13px}.row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;padding:15px 22px;border-top:1px solid var(--line);align-items:center}.row.head{font-size:12px;color:var(--muted);font-weight:700;border:0}.row small{display:block;color:var(--muted)}.pill{display:inline-block;background:#eaf7ef;color:var(--green);font-style:normal;font-size:12px;font-weight:700;border-radius:999px;padding:5px 9px}.jobs article{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:18px 22px;border-top:1px solid var(--line)}.jobs article:first-child{border:0}.jobs h3{margin:3px 0}.jobs p,.jobs small{margin:0;color:var(--muted)}.jobs article>div:last-child{display:flex;align-items:center;gap:16px}.jobs a{color:var(--blue);font-weight:700;text-decoration:none}.notice{margin-top:20px;padding:18px 20px;border-left:4px solid var(--blue)}.notice p{margin:4px 0 0;color:var(--muted)}.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(140deg,#0f1b2b,#18375e)}.login-card{width:min(520px,100%);padding:32px;background:#fff;border-radius:18px;box-shadow:0 22px 70px #0005}.login-card .brand{color:var(--ink);margin-bottom:30px}.login-card h1{font-size:30px;margin:4px 0}.login-card>p{color:var(--muted)}.login-card form{display:grid;gap:10px;margin-top:24px}.login-card form button{text-align:left;border:1px solid var(--line);background:#fff;border-radius:12px;padding:15px 16px;cursor:pointer}.login-card form button:hover{border-color:var(--blue);background:#f7fbff}.login-card form strong,.login-card form small{display:block}.login-card form small{color:var(--muted);margin-top:3px}@media(max-width:760px){.app{grid-template-columns:1fr}aside{display:none}.workspace main{padding:20px}.heading{display:block}.updated{display:inline-block;margin-top:14px}.row{grid-template-columns:1.4fr 1fr}.row span:nth-child(3),.row span:nth-child(4){display:none}.jobs article{align-items:flex-start}.jobs article>div:last-child{flex-direction:column;align-items:end}}

.dashboard{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:22px}.settings-form{display:grid;gap:16px;padding:22px}.settings-form label{display:grid;gap:7px;min-width:0}.settings-form label>span{display:grid;gap:2px}.settings-form label strong{font-size:13px}.settings-form label small{color:var(--muted);font-size:12px}.settings-form input,.settings-form select,.settings-form textarea{width:100%;min-width:0;max-width:100%;min-height:42px;border:1px solid #d5dae2;border-radius:9px;background:#fff;padding:9px 11px;color:var(--ink);font:inherit}.settings-form input[type="date"],.settings-form input[type="datetime-local"],.settings-form input[type="time"]{display:block;min-width:0;max-width:100%}.settings-form select[multiple]{min-height:130px}.settings-form textarea{min-height:88px;resize:vertical}.settings-form input:focus,.settings-form select:focus,.settings-form textarea:focus{outline:3px solid #1268e522;border-color:var(--blue)}.settings-form button,.primary{justify-self:start;border:0;border-radius:9px;background:var(--blue);color:#fff;padding:10px 16px;font-weight:700}.login-card form.settings-form button.primary{background:var(--blue);color:#fff;border-color:var(--blue);text-align:center}.login-card form.settings-form button.primary:hover{background:#0f5fcf;border-color:#0f5fcf}.jobs form{display:grid;grid-template-columns:minmax(180px,1fr) auto auto;gap:8px;align-items:center}.jobs form textarea{min-height:58px;border:1px solid #d5dae2;border-radius:8px;padding:8px}.jobs form button{border:1px solid var(--line);border-radius:8px;padding:8px 12px}.jobs form button.primary{border-color:var(--blue)}.recurrence-card{margin-top:18px}.recurrence-form{grid-template-columns:repeat(2,minmax(0,1fr))}.recurrence-form .weekday-field{grid-column:1/-1;border:1px solid var(--line);border-radius:14px;padding:12px 14px}.weekday-field legend{font-weight:800;padding:0 6px}.weekday-options{display:flex;flex-wrap:wrap;gap:8px}.weekday-options label{display:flex;grid-template-columns:none;flex-direction:row;align-items:center;gap:6px;border:1px solid var(--line);border-radius:999px;padding:8px 11px;background:#fff}.weekday-options input{width:auto;min-height:auto}.recurrence-list{margin:0 22px 22px}@media(max-width:900px){.dashboard{grid-template-columns:1fr}.jobs form{grid-template-columns:1fr}.settings-form{padding:18px}}@media(max-width:760px){.table{overflow-x:auto}.table .row{min-width:650px;grid-template-columns:2fr 1fr 1fr 1fr}.table .row span:nth-child(3),.table .row span:nth-child(4){display:block}.recurrence-form{grid-template-columns:1fr}.recurrence-form .weekday-field{grid-column:auto}}

.workspace { min-width: 0; width: 100%; }
.workspace main { width: 100%; }
.schedule-heading { align-items: flex-end; }
.schedule-controls { display: grid; gap: 9px; justify-items: end; }
.schedule-view-switch { display: inline-flex; padding: 3px; border: 1px solid var(--line); border-radius: 11px; background: #eef2f7; }
.schedule-view-switch a { min-width: 66px; padding: 7px 11px; border-radius: 8px; color: var(--muted); text-align: center; font-size: 12px; font-weight: 800; }
.schedule-view-switch a.active { color: var(--blue); background: #fff; box-shadow: 0 1px 4px #14243b18; }
.week-nav { display: flex; flex-wrap: wrap; gap: 8px; }
.week-nav a { border: 1px solid var(--line); border-radius: 9px; background: #fff; padding: 9px 12px; color: var(--ink); font-weight: 700; }
.calendar-grid { display: grid; grid-template-columns: repeat(7, minmax(150px, 1fr)); gap: 10px; overflow-x: auto; padding-bottom: 8px; }
.calendar-grid.view-day { grid-template-columns: minmax(300px, 760px); }
.calendar-grid.view-dispatch { display: none; }
.dispatch-center { margin: 0 0 20px; }
.dispatch-eyebrow { margin: 0 0 8px; color: var(--blue); font-size: 10px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.dispatch-kpis { display: grid; grid-template-columns: repeat(4, minmax(150px, 1fr)); gap: 10px; margin-bottom: 20px; }
.dispatch-kpis article { display: grid; gap: 4px; padding: 15px 16px; border: 1px solid var(--line); border-radius: 14px; background: #fff; box-shadow: 0 7px 22px #12233f0a; }
.dispatch-kpis article span { color: var(--muted); font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }
.dispatch-kpis article strong { font-size: 27px; line-height: 1; }
.dispatch-kpis article small { color: var(--muted); font-size: 11px; }
.dispatch-kpis article.attention { border-color: #f0c4a3; background: #fffaf5; }
.dispatch-kpis article.attention strong { color: #bd5d18; }
.dispatch-board-heading { align-items: end; }
.dispatch-board-heading div { display: grid; gap: 4px; }
.dispatch-board-heading p { margin: 0; color: var(--muted); font-size: 12px; }
.dispatch-resource-board { display: grid; grid-template-columns: repeat(auto-fit, minmax(285px, 1fr)); gap: 12px; align-items: start; }
.dispatch-resource-lane { min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 15px; background: #f7f9fc; }
.dispatch-resource-lane > header { display: flex; justify-content: space-between; gap: 10px; align-items: center; padding: 13px 14px 10px; background: #fff; }
.dispatch-resource-lane > header > div { display: flex; gap: 9px; align-items: center; min-width: 0; }
.dispatch-resource-lane > header > div > span { display: grid; place-items: center; flex: 0 0 34px; height: 34px; border-radius: 10px; background: #eaf2ff; color: var(--blue); font-weight: 900; }
.dispatch-resource-lane > header > div > div { display: grid; gap: 2px; min-width: 0; }
.dispatch-resource-lane > header strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 13px; }
.dispatch-resource-lane > header small { color: var(--muted); font-size: 10px; }
.dispatch-resource-lane > header em { color: var(--blue); font-size: 12px; font-style: normal; font-weight: 900; }
.dispatch-resource-load { height: 5px; background: #e5eaf1; }
.dispatch-resource-load i { display: block; height: 100%; background: var(--blue); }
.dispatch-resource-lane.over-capacity { border-color: #e4a277; }
.dispatch-resource-lane.over-capacity .dispatch-resource-load i { background: #d96720; }
.dispatch-resource-lane.over-capacity > header em { color: #bd5d18; }
.dispatch-resource-jobs { display: grid; gap: 8px; padding: 9px; }
.dispatch-resource-jobs > p { margin: 0; padding: 20px 10px; color: var(--muted); text-align: center; font-size: 11px; }
.dispatch-work-card { overflow: hidden; border: 1px solid #dce3ec; border-radius: 11px; background: #fff; }
.dispatch-work-card > a { display: grid; gap: 4px; padding: 10px 11px; color: var(--ink); text-decoration: none; }
.dispatch-work-card > a:hover { background: #f8fbff; text-decoration: none; }
.dispatch-work-card small { color: var(--blue); font-size: 9px; font-weight: 900; text-transform: uppercase; letter-spacing: .04em; }
.dispatch-work-card strong { font-size: 12px; line-height: 1.35; }
.dispatch-work-card span { color: var(--muted); font-size: 10px; }
.dispatch-work-card span b { color: #bd3f36; }
.dispatch-work-card.has-conflict { border-color: #df827b; box-shadow: 0 0 0 2px #df827b18; }
.dispatch-work-card.service-visit { border-left: 4px solid var(--blue); }
.dispatch-work-card.sales-visit { border-left: 4px solid var(--orange); }
.unassigned-lane { border-style: dashed; border-color: #d79767; }
.unassigned-lane > header > div > span { background: #fff1e5; color: #ae5619; }
.calendar-grid.view-month { gap: 7px; overflow-x: visible; }
.calendar-grid.view-month .calendar-day { min-height: 160px; }
.calendar-grid.view-month .calendar-day > header { padding: 9px 10px; }
.calendar-grid.view-month .calendar-jobs { padding: 6px; gap: 5px; }
.calendar-grid.view-month .calendar-job { padding: 7px; }
.calendar-grid.view-month .calendar-job small:not(.job-time), .calendar-grid.view-month .dispatch-panel { display: none; }
.calendar-day { min-height: 320px; border: 1px solid var(--line); border-radius: 14px; background: #fff; overflow: hidden; }
.calendar-day > header { display: flex; align-items: center; justify-content: space-between; padding: 13px 14px; border-bottom: 1px solid var(--line); background: #fafbfc; }
.calendar-day > header span { font-size: 12px; color: var(--muted); font-weight: 700; }
.calendar-day > header strong { font-size: 14px; }
.selected-day { border-color: var(--blue); box-shadow: 0 0 0 2px #1268e518; }
.selected-day > header { background: #eff5ff; }
.calendar-jobs { display: grid; gap: 8px; padding: 9px; }
.calendar-entry { overflow: hidden; border: 1px solid var(--line); border-radius: 11px; background: #fff; }
.calendar-entry.has-conflict { border-color: #e2564d; box-shadow: 0 0 0 2px #e2564d18; }
.calendar-entry.has-conflict .job-time, .calendar-entry.has-conflict .job-time b { color: #b9342c; }
.calendar-entry .calendar-job { border: 0; border-radius: 0; }
.calendar-job { display: grid; grid-template-columns: 8px minmax(0, 1fr); gap: 8px; border: 1px solid var(--line); border-radius: 10px; padding: 10px; color: var(--ink); background: #fff; text-decoration: none; }
.calendar-job:hover { border-color: var(--blue); background: #f8fbff; text-decoration: none; }
.calendar-job div { display: grid; gap: 3px; min-width: 0; }
.calendar-job strong { font-size: 13px; line-height: 1.25; }
.calendar-job small { font-size: 11px; color: var(--muted); overflow-wrap: anywhere; }
.calendar-job strong, .calendar-job small { text-decoration: none; }
.calendar-job em { grid-column: 2; font-size: 10px; color: #277a48; font-style: normal; font-weight: 800; }
.calendar-visit { border-color: #f3d7b5; background: #fffaf4; }
.calendar-visit:hover { border-color: var(--orange); background: #fff7ec; }
.calendar-visit em { color: #b05b12; }
.visit-icon { width: 8px; height: 8px; margin-top: 5px; color: var(--orange); font-size: 8px; }
.dispatch-panel { border-top: 1px solid #edf0f4; background: #f8fafc; }
.dispatch-panel summary { cursor: pointer; padding: 8px 10px; color: var(--blue); font-size: 11px; font-weight: 800; list-style: none; }
.dispatch-panel summary::-webkit-details-marker { display: none; }
.dispatch-panel summary::before { content: "+"; margin-right: 5px; }
.dispatch-panel[open] summary::before { content: "−"; }
.dispatch-panel form { display: grid; gap: 7px; padding: 0 10px 10px; }
.dispatch-panel label { display: grid; gap: 4px; color: var(--muted); font-size: 10px; font-weight: 700; }
.dispatch-panel select, .dispatch-panel input, .dispatch-panel textarea { width: 100%; min-height: 36px; border: 1px solid #ccd5e1; border-radius: 8px; background: #fff; padding: 6px 8px; font: inherit; font-size: 11px; }
.dispatch-panel textarea { min-height: 72px; resize: vertical; }
.dispatch-panel button { min-height: 36px; border: 0; border-radius: 8px; background: var(--blue); color: #fff; font-size: 11px; font-weight: 800; cursor: pointer; }
.status-dot { width: 7px; height: 7px; margin-top: 5px; border-radius: 50%; background: #87909d; }
.status-in_progress { background: #1268e5; }
.status-paused { background: #e69226; }
.status-completed { background: #27824d; }
.empty-day { padding: 20px 8px; text-align: center; color: var(--muted); font-size: 12px; }
.schedule-note { margin-top: 18px; }
.unscheduled-card { margin-bottom: 18px; }
.unscheduled-list { display: grid; gap: 9px; }
.unscheduled-item { display: grid; grid-template-columns: minmax(190px, 1.4fr) repeat(3, minmax(130px, 1fr)) auto; gap: 10px; align-items: end; padding: 12px; border: 1px solid var(--line); border-radius: 12px; background: #fbfcfe; }
.unscheduled-item > div, .unscheduled-item label { display: grid; gap: 4px; }
.unscheduled-item small, .unscheduled-item label span, .unscheduled-item > div span { color: var(--muted); font-size: 11px; }
.unscheduled-item input, .unscheduled-item select { min-height: 40px; border: 1px solid #ccd5e1; border-radius: 9px; background: #fff; padding: 7px 9px; min-width: 0; }
.unscheduled-item button { min-height: 40px; border: 0; border-radius: 9px; background: var(--blue); color: #fff; padding: 8px 16px; font-weight: 800; cursor: pointer; }
.empty-queue { margin: 0; padding: 12px; border-radius: 10px; background: #f7f9fc; color: var(--muted); }
.capacity-section { margin: 0 0 18px; }
.section-heading { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 10px; }
.section-heading h2 { margin: 0; font-size: 18px; }
.section-heading span { color: var(--muted); font-size: 12px; }
.capacity-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 9px; }
.capacity-card { padding: 12px; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.capacity-card > div:first-child { display: grid; gap: 3px; }
.capacity-card span { color: var(--muted); font-size: 11px; }
.capacity-bar { height: 7px; margin-top: 10px; overflow: hidden; border-radius: 10px; background: #e8edf4; }
.capacity-bar i { display: block; height: 100%; border-radius: inherit; background: var(--blue); }
.capacity-card.over-capacity { border-color: #e2564d; }
.capacity-card.over-capacity .capacity-bar i { background: #e2564d; }
.route-heading { align-items: flex-end; }
.route-filter { display: grid; grid-template-columns: minmax(220px, 1fr) minmax(170px, .6fr) auto; gap: 12px; align-items: end; margin-bottom: 16px; }
.route-filter label { display: grid; gap: 5px; color: var(--muted); font-size: 12px; font-weight: 700; }
.route-filter select, .route-filter input { min-height: 42px; border: 1px solid #ccd5e1; border-radius: 9px; background: #fff; padding: 8px 10px; font: inherit; }
.route-filter button { min-height: 42px; border: 0; border-radius: 9px; background: var(--blue); color: #fff; padding: 8px 18px; font-weight: 800; cursor: pointer; }
.route-kpis { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-bottom: 16px; }
.route-kpis article { display: grid; gap: 3px; padding: 15px; border: 1px solid var(--line); border-radius: 13px; background: #fff; }
.route-kpis strong { font-size: 22px; }
.route-kpis span { color: var(--muted); font-size: 11px; }
.route-layout { display: grid; grid-template-columns: minmax(340px, .9fr) minmax(420px, 1.1fr); gap: 16px; align-items: start; }
.route-map-card { position: sticky; top: 16px; }
.route-full-link { border: 1px solid #bfd2ef; border-radius: 9px; padding: 8px 10px; color: var(--blue); font-size: 12px; font-weight: 800; }
.route-map { position: relative; min-height: 430px; overflow: hidden; border: 1px solid #dce5ef; border-radius: 15px; background-color: #edf4ef; background-image: linear-gradient(28deg, transparent 46%, #fff 47%, #fff 53%, transparent 54%), linear-gradient(118deg, transparent 47%, #d7e5db 48%, #d7e5db 52%, transparent 53%), radial-gradient(circle at 20% 25%, #dcebdc 0 9%, transparent 10%), radial-gradient(circle at 78% 70%, #dcebdc 0 12%, transparent 13%); }
.route-map svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.route-map polyline { fill: none; stroke: var(--blue); stroke-width: 1.4; stroke-dasharray: 3 2; vector-effect: non-scaling-stroke; }
.route-marker { position: absolute; z-index: 2; width: 34px; height: 34px; transform: translate(-50%, -50%); border: 3px solid #fff; border-radius: 50% 50% 50% 10%; background: var(--blue); color: #fff; box-shadow: 0 5px 14px #10243d44; rotate: -45deg; }
.route-marker span { display: grid; place-items: center; width: 100%; height: 100%; font-size: 12px; font-weight: 900; rotate: 45deg; }
.route-map-empty { display: grid; place-items: center; min-height: 430px; color: var(--muted); font-weight: 700; }
.route-warning { margin: 10px 0 0; padding: 9px 11px; border-radius: 9px; background: #fff5e7; color: #985011; font-size: 12px; font-weight: 700; }
.route-timeline { display: grid; gap: 0; }
.route-stop { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 12px; padding: 15px; }
.route-stop-number { display: grid; place-items: center; align-self: start; width: 34px; height: 34px; border-radius: 10px; background: #eaf2ff; color: var(--blue); font-weight: 900; }
.route-stop-content { display: grid; gap: 10px; min-width: 0; }
.route-stop-content h3, .route-stop-content p { margin: 0; }
.route-stop-content small { color: var(--blue); font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }
.route-stop-meta { display: grid; gap: 4px; color: var(--muted); font-size: 12px; }
.route-stop-meta span { overflow-wrap: anywhere; }
.route-actions { display: flex; flex-wrap: wrap; gap: 7px; }
.route-actions a { border: 1px solid #cbd7e6; border-radius: 8px; padding: 7px 9px; color: var(--ink); font-size: 11px; font-weight: 800; }
.route-actions a:nth-last-child(-n+2) { color: var(--blue); background: #f4f8ff; }
.route-leg { display: grid; grid-template-columns: 40px 1fr; gap: 12px; min-height: 48px; align-items: center; padding: 0 15px; color: var(--muted); }
.route-leg span { text-align: center; color: var(--blue); font-size: 22px; }
.route-leg strong { font-size: 11px; }
.route-empty { text-align: center; }
.route-notices { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 16px; }
.route-comparison { margin-bottom: 16px; }
.route-comparison .pill { max-width: 240px; text-align: center; }
.route-compare-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.route-compare-grid article { padding: 13px; border: 1px solid var(--line); border-radius: 11px; background: #fafbfd; }
.route-compare-grid h3 { margin: 0 0 9px; font-size: 13px; }
.route-compare-grid ol { display: grid; gap: 6px; margin: 0; padding-left: 25px; color: var(--muted); font-size: 12px; }
.route-compare-actions, .route-move-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: 11px; }
.route-compare-actions button, .route-move-actions button { min-height: 36px; border: 1px solid #bfd0e8; border-radius: 8px; background: #f5f9ff; color: var(--blue); padding: 7px 11px; font-size: 11px; font-weight: 800; cursor: pointer; }
.route-compare-actions form:first-child button { border-color: var(--blue); background: var(--blue); color: #fff; }
.route-compare-actions span { color: #277a48; font-size: 12px; font-weight: 800; }
.coordinate-confirm { margin-top: 10px; border-top: 1px solid var(--line); padding-top: 10px; }
.coordinate-confirm summary { cursor: pointer; color: #a75610; font-size: 12px; font-weight: 800; }
.coordinate-confirm > p { margin: 7px 0; color: var(--muted); font-size: 11px; }
.coordinate-confirm > a { color: var(--blue); font-size: 11px; font-weight: 800; }
.coordinate-confirm form { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 10px; }
.coordinate-confirm label { display: grid; gap: 4px; color: var(--muted); font-size: 10px; font-weight: 700; }
.coordinate-confirm input, .coordinate-confirm select, .coordinate-confirm textarea { width: 100%; min-height: 36px; border: 1px solid #ccd5e1; border-radius: 8px; background: #fff; padding: 7px 8px; font: inherit; }
.coordinate-confirm textarea { min-height: 70px; resize: vertical; }
.coordinate-confirm .wide-field { grid-column: 1 / -1; }
.coordinate-confirm button { grid-column: 1 / -1; min-height: 38px; border: 0; border-radius: 8px; background: var(--blue); color: #fff; font-weight: 800; cursor: pointer; }

@media (max-width: 900px) {
  .schedule-heading { align-items: flex-start; }
  .calendar-grid { grid-template-columns: repeat(7, minmax(220px, 1fr)); scroll-snap-type: x proximity; }
  .calendar-day { scroll-snap-align: start; }
  .calendar-grid.view-month { grid-template-columns: repeat(7, minmax(130px, 1fr)); overflow-x: auto; }
  .unscheduled-item { grid-template-columns: 1fr 1fr; }
  .unscheduled-item > div, .unscheduled-item label:last-of-type { grid-column: 1 / -1; }
  .route-layout { grid-template-columns: 1fr; }
  .route-map-card { position: static; }
  .route-kpis { grid-template-columns: 1fr 1fr; }
  .dispatch-kpis { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 520px) {
  .schedule-heading { display: grid; gap: 14px; }
  .schedule-controls { width: 100%; justify-items: stretch; }
  .schedule-view-switch { display: flex; }
  .schedule-view-switch a { flex: 1; }
  .week-nav { width: 100%; }
  .week-nav a { flex: 1; text-align: center; }
  .calendar-grid { grid-template-columns: repeat(7, calc(100vw - 70px)); }
  .calendar-day { min-height: 270px; }
  .calendar-grid.view-day { grid-template-columns: 1fr; }
  .calendar-grid.view-month { grid-template-columns: repeat(7, calc(100vw - 70px)); }
  .unscheduled-item { grid-template-columns: 1fr; }
  .unscheduled-item > div, .unscheduled-item label:last-of-type { grid-column: auto; }
  .route-heading { display: grid; gap: 14px; }
  .route-filter { grid-template-columns: 1fr; }
  .route-kpis { grid-template-columns: 1fr 1fr; }
  .route-kpis strong { font-size: 18px; }
  .route-map { min-height: 300px; }
  .route-notices { grid-template-columns: 1fr; }
  .route-compare-grid, .coordinate-confirm form { grid-template-columns: 1fr; }
  .coordinate-confirm .wide-field, .coordinate-confirm button { grid-column: auto; }
  .dispatch-kpis, .dispatch-resource-board { grid-template-columns: 1fr; }
}

.detail-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-bottom: 18px; }
.detail-grid > div { display: grid; gap: 5px; padding: 18px 20px; border-right: 1px solid var(--line); }
.detail-grid > div:last-child { border-right: 0; }
.detail-grid small { color: var(--muted); font-size: 11px; font-weight: 800; }
.detail-grid strong { overflow-wrap: anywhere; }
.execution { margin-bottom: 22px; }
.execution-body { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; padding: 18px 20px; }
.execution-body > p { flex-basis: 100%; margin: 0; color: var(--muted); }
.execution-records { margin-top: 22px; }
.execution-records + .card, .execution-records ~ .card { margin-top: 18px; }
.attachment-entry { display: grid; grid-template-columns: minmax(0, 1fr) minmax(180px, .35fr) auto; gap: 12px; align-items: end; padding: 18px 20px; border-bottom: 1px solid var(--line); }
.attachment-entry label { display: grid; gap: 6px; color: var(--muted); font-size: 12px; font-weight: 700; }
.attachment-entry input, .attachment-entry select { width: 100%; min-height: 42px; border: 1px solid #d5dae2; border-radius: 9px; background: #fff; padding: 8px 10px; color: var(--ink); font: inherit; }
.attachment-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 12px; padding: 18px 20px; }
.attachment-item { display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: 12px; align-items: center; min-height: 72px; border: 1px solid var(--line); border-radius: 11px; padding: 8px; color: var(--ink); text-decoration: none; }
.attachment-item:hover { border-color: var(--blue); }
.attachment-item img, .document-icon { width: 72px; height: 64px; border-radius: 8px; object-fit: cover; background: #edf3fc; }
.document-icon { display: grid; place-items: center; color: var(--blue); font-size: 13px; font-weight: 900; }
.attachment-item div { display: grid; gap: 3px; min-width: 0; }
.attachment-item strong, .attachment-item small { overflow-wrap: anywhere; }
.attachment-item small { color: var(--muted); font-size: 11px; }
.section-heading { margin-bottom: 16px; }
.section-heading h2 { margin: 3px 0; font-size: 26px; }
.section-heading p { margin: 0; color: var(--muted); }
.record-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.record-card { align-self: start; }
.quick-entry { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; align-items: end; padding: 18px 20px; border-bottom: 1px solid var(--line); }
.quick-entry label { display: grid; gap: 6px; color: var(--muted); font-size: 12px; font-weight: 700; }
.quick-entry input, .quick-entry textarea { width: 100%; min-height: 42px; border: 1px solid #d5dae2; border-radius: 9px; padding: 9px 11px; color: var(--ink); font: inherit; }
.quick-entry textarea { min-height: 72px; resize: vertical; }
.quick-entry button { white-space: nowrap; }
.record-save-feedback { grid-column: 1 / -1; margin: 0; color: #b42318; font-size: 12px; font-weight: 700; }
.material-entry { grid-template-columns: minmax(0, 1.5fr) minmax(90px, .5fr) minmax(90px, .5fr) auto; }
.record-list { display: grid; }
.record-list article, .toggle-record, .empty-record { margin: 0; padding: 14px 20px; border-top: 1px solid var(--line); }
.record-list > :first-child { border-top: 0; }
.record-list article p { margin: 0 0 4px; }
.record-list article small { color: var(--muted); }
.toggle-record { display: grid; grid-template-columns: 34px minmax(0, 1fr); align-items: center; gap: 10px; }
.toggle-record button { width: 34px; height: 34px; border: 1px solid var(--line); border-radius: 50%; background: #fff; color: var(--blue); font-weight: 900; cursor: pointer; }
.toggle-record span { overflow-wrap: anywhere; }
.record-done span { color: var(--muted); text-decoration: line-through; }
.record-done button { background: #eaf7ef; color: var(--green); }
.empty-record { color: var(--muted); }
.worker-home { max-width: 980px; margin: 0 auto; }
.worker-day-heading { margin-bottom: 16px; }
.worker-connection { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; border: 1px solid #cde7d6; border-radius: 12px; background: #f2fbf5; padding: 10px 13px; }
.worker-connection > span { width: 9px; height: 9px; border-radius: 50%; background: #299256; box-shadow: 0 0 0 4px #29925618; }
.worker-connection > div { display: grid; gap: 1px; }
.worker-connection strong { font-size: 11px; }
.worker-connection small { color: #407257; font-size: 10px; }
.offline .worker-connection { border-color: #efc39f; background: #fff8ef; }
.offline .worker-connection > span { background: #d16b1d; box-shadow: 0 0 0 4px #d16b1d18; }
.offline .worker-connection small { color: #99501a; }
.worker-quick-links { display: flex; gap: 10px; margin-bottom: 18px; }
.worker-quick-links a { border: 1px solid var(--line); border-radius: 10px; background: #fff; padding: 9px 13px; color: var(--blue); font-weight: 800; text-decoration: none; }
.worker-section-title { margin: 26px 0 12px; }
.worker-section-title h2 { margin: 0; font-size: 22px; }
.worker-section-title p { margin: 3px 0 0; color: var(--muted); }
.worker-order-list { display: grid; gap: 14px; }
.worker-order-card { display: grid; gap: 12px; border: 1px solid var(--line); border-radius: 15px; background: #fff; padding: 19px; }
.worker-order-card.next-order { border-color: #b9d2f6; box-shadow: 0 8px 24px #1268e512; }
.worker-order-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; color: var(--muted); font-size: 12px; font-weight: 800; }
.worker-order-card h3 { margin: 0; font-size: 20px; }
.worker-order-meta { display: flex; flex-wrap: wrap; gap: 8px 16px; color: var(--muted); font-size: 13px; }
.worker-open-order { display: flex; align-items: center; justify-content: space-between; min-height: 46px; border-radius: 10px; background: var(--blue); padding: 10px 14px; color: #fff; font-weight: 900; text-decoration: none; }
.worker-empty { padding: 24px; }
.worker-next-service { overflow: hidden; margin-top: 14px; border: 1px solid #bfd3ee; border-radius: 19px; background: linear-gradient(150deg,#fff 0%,#f7fbff 100%); box-shadow: 0 16px 38px #16375e12; }
.worker-next-kicker { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 15px 18px 0; color: var(--blue); font-size: 10px; font-weight: 900; letter-spacing: .08em; }
.worker-next-main { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 16px; align-items: center; padding: 12px 18px 16px; }
.worker-next-main small { color: var(--muted); font-size: 10px; font-weight: 800; }
.worker-next-main h2 { margin: 4px 0 3px; font-size: 27px; line-height: 1.13; letter-spacing: -.025em; }
.worker-next-main p { margin: 0; color: var(--muted); }
.worker-next-time { display: grid; min-width: 104px; border-radius: 13px; background: #10233c; padding: 13px 15px; color: #fff; text-align: center; }
.worker-next-time strong { font-size: 22px; }
.worker-next-time span { margin-top: 2px; color: #c6d3e4; font-size: 10px; }
.worker-next-location { display: flex; gap: 10px; align-items: center; border-top: 1px solid #e4ebf3; border-bottom: 1px solid #e4ebf3; background: #fff; padding: 13px 18px; }
.worker-next-location > span { display: grid; place-items: center; flex: 0 0 34px; height: 34px; border-radius: 10px; background: #eaf2ff; color: var(--blue); font-size: 18px; }
.worker-next-location > div { display: grid; gap: 2px; min-width: 0; }
.worker-next-location small { color: var(--muted); font-size: 10px; font-weight: 700; }
.worker-next-location strong { overflow-wrap: anywhere; font-size: 12px; }
.worker-service-steps { display: grid; grid-template-columns: repeat(3,1fr); padding: 16px 18px 8px; }
.worker-service-steps span { position: relative; display: grid; justify-items: center; gap: 5px; color: var(--muted); font-size: 9px; font-weight: 800; text-transform: uppercase; }
.worker-service-steps span:not(:last-child)::after { content: ""; position: absolute; top: 13px; left: calc(50% + 17px); right: calc(-50% + 17px); height: 2px; background: #dbe3ed; }
.worker-service-steps i { position: relative; z-index: 1; display: grid; place-items: center; width: 27px; height: 27px; border: 2px solid #d5dee9; border-radius: 50%; background: #fff; color: #7c8999; font-style: normal; }
.worker-service-steps span.done { color: var(--blue); }
.worker-service-steps span.done i { border-color: var(--blue); background: var(--blue); color: #fff; }
.worker-service-steps span.done:not(:last-child)::after { background: #9fc2f2; }
.worker-progress-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 7px; padding: 10px 18px 16px; }
.worker-progress-grid article { display: grid; gap: 2px; border: 1px solid #e0e7ef; border-radius: 10px; background: #fff; padding: 10px; text-align: center; }
.worker-progress-grid strong { font-size: 17px; }
.worker-progress-grid span { color: var(--muted); font-size: 9px; font-weight: 700; }
.worker-progress-grid article.attention { border-color: #efc7a8; background: #fff8f1; }
.worker-progress-grid article.attention strong { color: #b95717; }
.worker-primary-actions { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 9px; border-top: 1px solid #e4ebf3; background: #fff; padding: 14px 18px 17px; }
.worker-directions { display: grid; place-items: center; min-height: 46px; border: 1px solid #b8cbe3; border-radius: 10px; padding: 9px 15px; color: var(--blue); font-weight: 900; text-decoration: none; }
.worker-order-card > p { margin: -5px 0 0; color: var(--muted); font-size: 12px; }
.worker-visits { display: grid; gap: 8px; margin-top: 24px; }
.worker-visits .worker-section-title { margin: 0 0 4px; }
.worker-visits > a { display: grid; grid-template-columns: 34px minmax(0,1fr) auto; gap: 10px; align-items: center; border: 1px solid var(--line); border-radius: 12px; background: #fff; padding: 11px 13px; color: var(--ink); text-decoration: none; }
.worker-visits > a > span { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 10px; background: #eaf2ff; color: var(--blue); font-weight: 900; }
.worker-visits > a > div { display: grid; gap: 2px; }
.worker-visits small { color: var(--muted); font-size: 10px; }
.worker-visits em { color: #277a48; font-size: 9px; font-style: normal; font-weight: 900; }
.worker-bottom-nav { display: none; }
.offline .worker-execution-page button[type="submit"], .offline .worker-execution-page .execution-action, .offline .worker-execution-page .photo-input { opacity: .55; pointer-events: none; }
.worker-network-notice { position: sticky; top: 8px; z-index: 12; margin-bottom: 14px; border: 1px solid #e8aa79; border-radius: 11px; background: #fff6ed; padding: 11px 13px; color: #924817; font-size: 12px; font-weight: 800; box-shadow: 0 8px 20px #67340d18; }
.mobile-execution-steps { display: none; }
.photo-preview { grid-column: 1 / -1; align-items: center; gap: 12px; border: 1px dashed #b8c2d1; border-radius: 10px; background: #f8fafc; padding: 10px; }
.photo-preview:not([hidden]) { display: flex; }
.photo-preview img { width: 76px; height: 64px; border-radius: 8px; object-fit: cover; background: #e8eef7; }
.photo-preview strong { overflow-wrap: anywhere; }

.activity-list-modern,.activity-detail-stack,.field-record-stack { display: grid; gap: 18px; }
.activity-card-modern { overflow: hidden; border: 1px solid #dde5ef; border-radius: 16px; background: #fff; box-shadow: 0 8px 28px rgba(28,48,72,.06); transition: border-color .2s,box-shadow .2s,transform .2s; }
.activity-card-modern:hover { border-color: #c4d5ea; box-shadow: 0 13px 34px rgba(28,48,72,.1); transform: translateY(-1px); }
.activity-card-main { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 22px; padding: 24px 26px 20px; }
.activity-card-main h2 { margin: 10px 0 16px; font-size: 21px; letter-spacing: -.02em; }
.activity-card-main>.pill { align-self: start; justify-self: end; }
.activity-card-kicker { display: flex; flex-wrap: wrap; gap: 8px; }
.activity-card-kicker span { border-radius: 999px; background: #f0f4f9; padding: 5px 10px; color: #536174; font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }
.activity-card-meta { display: flex; flex-wrap: wrap; gap: 12px 28px; }
.activity-card-meta span { display: grid; gap: 3px; }
.activity-card-meta small { color: var(--muted); font-size: 11px; font-weight: 700; }
.activity-card-meta strong { color: #2b3b4f; font-size: 13px; }
.activity-card-footer { display: flex; align-items: center; justify-content: space-between; gap: 16px; border-top: 1px solid #edf0f4; background: #fafbfd; padding: 12px 18px 12px 26px; color: var(--muted); font-size: 13px; }
.activity-card-footer .button { text-decoration: none; }
.activity-detail-section { overflow: hidden; }
.activity-detail-section>.header-actions,.activity-detail-section>.notice,.activity-detail-section>.inline-details { margin: 18px 22px; }
.activity-session-list { padding: 0 20px 20px; }
.activity-timeline { display: grid; padding: 2px 22px 22px; }
.activity-timeline article { position: relative; display: grid; grid-template-columns: 18px minmax(0,1fr); gap: 11px; padding: 9px 0 14px; }
.activity-timeline article:not(:last-child)::before { content: ""; position: absolute; left: 6px; top: 24px; bottom: -4px; width: 2px; background: #dfe8f3; }
.timeline-dot { position: relative; z-index: 1; width: 14px; height: 14px; margin-top: 3px; border: 3px solid #bcd4f5; border-radius: 50%; background: var(--blue); }
.activity-timeline strong,.activity-timeline small { display: block; }
.activity-timeline small { margin-top: 3px; color: var(--muted); }
.activity-timeline p { margin: 7px 0 0; }
.field-record-heading .header-actions { flex-wrap: wrap; justify-content: flex-end; }
.field-record-heading .button { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; border: 1px solid #c9d6e6; border-radius: 9px; background: #fff; padding: 9px 14px; color: #31506f; font-weight: 800; text-decoration: none; }
.field-record-heading .button:hover { border-color: var(--blue); color: var(--blue); }
.field-record-heading .button.primary { border-color: var(--blue); background: var(--blue); color: #fff; }
.field-record-card { overflow: hidden; }
.checklist-form { padding-top: 18px; }
.material-list-modern { display: grid; }
.material-list-modern article { display: grid; grid-template-columns: minmax(0,1fr) minmax(360px,.8fr); gap: 24px; padding: 20px 22px; border-top: 1px solid var(--line); }
.material-list-modern article:first-child { border-top: 0; }
.material-main h3 { margin: 4px 0 14px; }
.material-main>small { color: var(--muted); }
.material-metrics { display: flex; flex-wrap: wrap; gap: 8px; }
.material-metrics span { display: grid; min-width: 78px; border-radius: 9px; background: #f4f7fa; padding: 7px 10px; color: var(--muted); font-size: 10px; font-weight: 700; }
.material-metrics strong { margin-top: 2px; color: var(--ink); font-size: 14px; }
.material-action { display: grid; grid-template-columns: minmax(90px,.7fr) minmax(150px,1fr) auto; gap: 9px; align-items: end; }
.material-action label { display: grid; gap: 5px; color: var(--muted); font-size: 11px; font-weight: 700; }
.material-action input,.material-action select { width: 100%; min-height: 41px; border: 1px solid #d5dae2; border-radius: 9px; padding: 8px 10px; font: inherit; }
.field-record-card>.inline-details { margin: 18px 22px; }

@media (max-width: 900px) {
  .detail-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .detail-grid > div:nth-child(2) { border-right: 0; }
  .detail-grid > div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .record-grid { grid-template-columns: 1fr; }
  .material-list-modern article { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
  .activity-card-main { grid-template-columns: 1fr; padding: 20px; }
  .activity-card-main>.pill { justify-self: start; }
  .activity-card-meta { display: grid; gap: 10px; }
  .activity-card-footer { align-items: flex-start; padding: 14px 20px; }
  .activity-card-footer>span { display: none; }
  .activity-card-footer .button { width: 100%; text-align: center; }
  .field-record-heading .header-actions { justify-content: stretch; }
  .field-record-heading .header-actions .button { width: 100%; text-align: center; }
  .material-action { grid-template-columns: 1fr; }
  .worker-home { margin: -4px; }
  .worker-day-heading h1 { font-size: 29px; }
  .worker-day-heading .updated { display: none; }
  .worker-quick-links { display: grid; grid-template-columns: repeat(3,1fr); gap: 6px; }
  .worker-quick-links a { text-align: center; }
  .worker-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
  .worker-stats .stat { padding: 12px 10px; }
  .worker-stats .stat strong { font-size: 22px; margin: 4px 0; }
  .worker-stats .stat span { font-size: 10px; }
  .worker-order-card { padding: 16px; }
  .worker-order-meta { display: grid; gap: 5px; }
  .worker-open-order { min-height: 52px; font-size: 16px; }
  .worker-next-main { grid-template-columns: 1fr; padding: 12px 16px 14px; }
  .worker-next-main h2 { font-size: 24px; }
  .worker-next-time { grid-template-columns: auto auto; justify-content: space-between; align-items: center; text-align: left; }
  .worker-next-time span { margin: 0; }
  .worker-next-kicker, .worker-next-location { padding-left: 16px; padding-right: 16px; }
  .worker-service-steps { padding-left: 12px; padding-right: 12px; }
  .worker-progress-grid { grid-template-columns: repeat(2,1fr); padding-left: 16px; padding-right: 16px; }
  .worker-primary-actions { grid-template-columns: 1fr; padding: 13px 16px 16px; }
  .worker-directions { min-height: 48px; }
  .worker-home { padding-bottom: 74px; }
  .worker-bottom-nav { position: fixed; z-index: 15; right: 10px; bottom: 10px; left: 10px; display: grid; grid-template-columns: repeat(3,1fr); overflow: hidden; border: 1px solid #cfd9e5; border-radius: 16px; background: #fff; box-shadow: 0 12px 32px #12233f2c; }
  .worker-bottom-nav a { display: grid; justify-items: center; gap: 2px; padding: 9px 5px 8px; color: var(--muted); font-size: 17px; font-weight: 900; text-decoration: none; }
  .worker-bottom-nav a span { font-size: 9px; }
  .worker-bottom-nav a.active { background: #edf5ff; color: var(--blue); }
  .mobile-execution-steps { position: sticky; top: 0; z-index: 5; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 4px; margin: -20px -12px 18px; border-bottom: 1px solid var(--line); background: #fff; padding: 8px 10px; }
  .mobile-execution-steps a { display: grid; justify-items: center; gap: 3px; color: var(--muted); font-size: 10px; font-weight: 800; text-decoration: none; }
  .mobile-execution-steps span { display: grid; place-items: center; width: 27px; height: 27px; border-radius: 50%; background: #eaf2ff; color: var(--blue); font-size: 12px; }
  .worker-execution-page > .heading h1 { font-size: 27px; line-height: 1.2; }
  .worker-execution-page > .heading .pill { margin-top: 12px; }
  .worker-execution-page .execution-body { display: grid; grid-template-columns: 1fr; }
  .worker-execution-page .execution-action { width: 100%; min-height: 54px; font-size: 16px; font-weight: 900; }
  .worker-execution-page .card-title { padding: 16px; }
  .worker-execution-page .record-list article,
  .worker-execution-page .toggle-record,
  .worker-execution-page .empty-record { padding: 14px 16px; }
  .detail-grid { grid-template-columns: 1fr; }
  .detail-grid > div { border-right: 0; border-bottom: 1px solid var(--line); }
  .detail-grid > div:nth-child(2) { border-right: 0; }
  .detail-grid > div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .detail-grid > div:last-child { border-bottom: 0; }
  .quick-entry, .material-entry { grid-template-columns: 1fr; }
  .attachment-entry { grid-template-columns: 1fr; }
  .attachment-entry button { justify-self: stretch; }
  .quick-entry button { justify-self: stretch; }
  .photo-preview { grid-column: auto; }
}

.header-actions { display: flex; align-items: center; gap: 16px; }
.language-form, .public-language-form { margin: 0; }
.language-form label, .public-language-form label { display: flex; align-items: center; gap: 8px; }
.language-form span, .public-language-form span { color: var(--muted); font-size: 12px; font-weight: 700; }
.language-form select, .public-language-form select { min-height: 36px; border: 1px solid var(--line); border-radius: 8px; background: #fff; padding: 6px 30px 6px 9px; color: var(--ink); font: inherit; }
.public-language-form { display: flex; justify-content: flex-end; margin: -12px 0 18px; }

@media (max-width: 760px) {
  .workspace header { height: auto; min-height: 68px; padding: 12px 20px; gap: 12px; }
  .header-actions { gap: 10px; }
  .language-form label span { display: none; }
  .language-form select { max-width: 120px; }
}

.compact-form{margin-bottom:20px}.inline-form{grid-template-columns:minmax(240px,1fr) auto;align-items:end}.customer-grid{display:grid;gap:20px}.customer-card{overflow:visible}.customer-name-form{border-bottom:1px solid var(--line)}.subtle-action{padding:0 22px 18px}.subtle-action button{border:1px solid var(--line);background:#fff;border-radius:8px;padding:8px 12px;color:var(--muted)}.danger-action button{color:#b42318;border-color:#fecdca}.customer-section{padding:20px 22px;border-top:1px solid var(--line)}.customer-section>h3{margin:0 0 12px}.customer-section details,.create-panel{border:1px solid var(--line);border-radius:10px;margin-top:12px}.customer-section summary,.create-panel>summary,.work-order-row details>summary{cursor:pointer;padding:12px 14px;font-weight:700}.two-column-form,.work-order-form{grid-template-columns:repeat(2,minmax(0,1fr))}.mini-list,.location-list{display:grid;gap:8px}.mini-list article,.mini-list a,.location-list>details>summary{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 12px;border:1px solid var(--line);border-radius:9px;color:var(--ink);text-decoration:none}.mini-list small,.location-list small{display:block;color:var(--muted)}.mini-list form{margin-left:auto}.mini-list button{border:0;background:transparent;color:var(--blue);cursor:pointer}.filter-card{margin-bottom:18px}.filter-form{display:grid;grid-template-columns:2fr 1fr auto;gap:12px;padding:18px;align-items:end}.filter-form label{display:grid;gap:5px}.filter-form input,.filter-form select{min-height:42px;border:1px solid #d5dae2;border-radius:9px;padding:9px 11px}.create-panel{margin-bottom:18px;overflow:hidden}.create-panel>summary{padding:18px 22px;font-size:18px}.work-order-form{border-top:1px solid var(--line)}.work-order-form .wide-field{grid-column:1/-1}.work-order-list{overflow:visible}.work-order-row{border-top:1px solid var(--line)}.work-order-row:first-of-type{border-top:0}.order-summary{display:flex;justify-content:space-between;gap:20px;padding:20px 22px}.order-summary h3{margin:3px 0}.order-summary p,.order-summary small{margin:0;color:var(--muted)}.order-summary>div:last-child{display:flex;align-items:center;gap:14px}.order-summary a{color:var(--blue);font-weight:700;text-decoration:none}.work-order-row>details{margin:0 22px 18px;border:1px solid var(--line);border-radius:10px}.list-empty{padding:24px}@media(max-width:760px){.inline-form,.filter-form,.two-column-form,.work-order-form{grid-template-columns:1fr}.work-order-form .wide-field{grid-column:auto}.order-summary{display:block}.order-summary>div:last-child{margin-top:14px}.mini-list article,.mini-list a{align-items:flex-start;flex-wrap:wrap}}
.lead-form { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.lead-form .lead-notes { grid-column: span 2; }
.lead-form button { align-self: end; }

/* Leads are intentionally more visual than the generic management forms. */
.create-panel:has(.lead-form) { border: 1px solid #d8e2f0; border-radius: 14px; box-shadow: 0 5px 18px rgba(30,65,105,.05); }
.create-panel:has(.lead-form)>summary { position: relative; padding: 18px 22px 18px 56px; list-style: none; background: linear-gradient(90deg,#f7faff,#fff); }
.create-panel:has(.lead-form)>summary::-webkit-details-marker { display: none; }
.create-panel:has(.lead-form)>summary::before { content: "+"; position: absolute; left: 20px; top: 50%; translate: 0 -50%; display: grid; place-items: center; width: 25px; height: 25px; border-radius: 8px; background: #e8f1ff; color: var(--blue); font-size: 19px; font-weight: 800; }
.create-panel:has(.lead-form)[open]>summary::before { content: "−"; }

.card:has(>.lead-list) { overflow: visible; border: 0; background: transparent; }
.card:has(>.lead-list)>.card-title { margin-bottom: 16px; border: 1px solid var(--line); border-radius: 14px; background: #fff; box-shadow: 0 5px 18px rgba(30,65,105,.04); align-items: center; }
.card:has(>.lead-list)>.card-title>a { color: var(--blue); text-decoration: none; font-weight: 750; border: 1px solid #cfe0fb; border-radius: 9px; padding: 9px 13px; background: #f7faff; }
.card:has(>.lead-list)>.card-title>a:hover { background: #eaf2ff; }
.lead-list { display: grid; gap: 18px; }
.lead-card { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(340px,.85fr); padding: 0; overflow: hidden; border: 1px solid #dfe5ec; border-radius: 18px; background: #fff; box-shadow: 0 10px 30px rgba(25,45,70,.07); }
.lead-card:hover { border-color: #cbd8e8; box-shadow: 0 14px 38px rgba(25,45,70,.1); }
.lead-summary { display: grid; align-content: start; gap: 11px; padding: 28px 30px; }
.lead-summary>small:first-child { justify-self: start; color: #526173; background: #f1f4f8; border-radius: 999px; padding: 5px 10px; font-weight: 700; }
.lead-summary h3 { margin: 2px 0 0; font-size: 22px; letter-spacing: -.02em; }
.lead-summary p { margin: 0; color: #586678; }
.lead-summary>strong { margin-top: 5px; font-size: 16px; color: #25364a; }
.lead-summary>b { justify-self: start; margin-top: 5px; padding: 7px 11px; border-radius: 9px; background: #fff4e8; color: #b54708; font-size: 17px; }
.lead-summary a { color: var(--blue); font-weight: 750; text-decoration: none; }
.lead-summary a:hover { text-decoration: underline; }
.lead-summary p:last-child { font-size: 13px; overflow-wrap: anywhere; }

.lead-actions { display: grid; align-content: start; gap: 14px; padding: 26px; background: #f8fafc; border-left: 1px solid #e5eaf0; }
.lead-actions>.pill { justify-self: start; padding: 7px 11px; border: 1px solid #ccebd8; letter-spacing: .025em; }
.lead-actions>strong { color: #16794b; }
.lead-actions form { display: grid; gap: 9px; padding-top: 14px; border-top: 1px solid #e1e7ee; }
.lead-actions form label { display: grid; gap: 6px; color: #49586a; font-size: 12px; font-weight: 750; }
.lead-actions input,.lead-actions select { width: 100%; min-height: 42px; border: 1px solid #cfd7e2; border-radius: 9px; background: #fff; padding: 8px 10px; color: var(--ink); font: inherit; }
.lead-actions input:focus,.lead-actions select:focus { outline: 3px solid #1268e520; border-color: var(--blue); }
.lead-actions button { min-height: 42px; border: 1px solid #c9d4e1; border-radius: 9px; background: #fff; color: #334155; padding: 9px 13px; font-weight: 750; cursor: pointer; }
.lead-actions button:hover { border-color: #9db6d4; background: #f5f9ff; }
.lead-actions button.primary { border-color: var(--blue); background: var(--blue); color: #fff; }
.lead-actions button.primary:hover { background: #0f5fcf; }
.lead-actions form:last-child { grid-template-columns: 1fr 1fr; }
.lead-actions form[action$="/status"] label:has(input[name="lossReason"]) { display: none; }
.lead-actions form[action$="/status"]:has(option[value="LOST"]:checked) label:has(input[name="lossReason"]) { display: grid; }

@media (max-width: 980px) {
  .lead-card { grid-template-columns: 1fr; }
  .lead-actions { border-left: 0; border-top: 1px solid #e5eaf0; }
}
@media (max-width: 760px) {
  .lead-form { grid-template-columns: 1fr; }
  .lead-form .lead-notes { grid-column: auto; }
  .card:has(>.lead-list)>.card-title { display: grid; gap: 14px; }
  .card:has(>.lead-list)>.card-title>a { justify-self: start; }
  .lead-summary,.lead-actions { padding: 20px; }
  .lead-actions form:last-child { grid-template-columns: 1fr; }
}

.report-page-stack,.settings-page-stack { display: grid; gap: 18px; }
.report-filter-card,.report-results,.policy-card { overflow: hidden; }
.report-filter-grid { display: grid; grid-template-columns: repeat(3,minmax(150px,1fr)) auto; gap: 12px; align-items: end; padding: 20px 22px; }
.report-filter-grid label { display: grid; gap: 6px; color: #4f5e70; font-size: 12px; font-weight: 750; }
.report-filter-grid input { width: 100%; min-height: 43px; border: 1px solid #d3dae4; border-radius: 9px; background: #fff; padding: 9px 11px; font: inherit; }
.advanced-filter { grid-column: 1 / -1; border: 1px solid #e2e7ee; border-radius: 9px; background: #fafbfd; }
.advanced-filter summary { cursor: pointer; padding: 10px 12px; color: var(--muted); font-size: 12px; font-weight: 750; }
.advanced-filter label { padding: 0 12px 12px; }
.export-bar { display: flex; align-items: center; justify-content: space-between; gap: 18px; border-top: 1px solid var(--line); background: #fafbfd; padding: 16px 22px; }
.export-bar>div:first-child { display: grid; gap: 3px; }
.export-bar small { color: var(--muted); }
.export-actions { display: flex; gap: 8px; }
.export-actions button { min-width: 72px; border: 1px solid #cbd7e6; border-radius: 8px; background: #fff; color: #27415f; padding: 8px 12px; font-weight: 800; cursor: pointer; }
.export-actions button:hover { border-color: var(--blue); color: var(--blue); }
.report-result-list { display: grid; }
.report-result-list>article { padding: 20px 22px; border-top: 1px solid var(--line); }
.report-result-list>article:first-child { border-top: 0; }
.report-result-heading { display: flex; justify-content: space-between; gap: 16px; align-items: flex-start; }
.report-result-heading small { color: var(--muted); }
.report-result-heading h3 { margin: 4px 0 14px; }
.report-metrics { display: grid; grid-template-columns: repeat(6,minmax(90px,1fr)); gap: 8px; }
.report-metrics span { display: grid; gap: 3px; border-radius: 9px; background: #f4f7fa; padding: 9px 10px; }
.report-metrics small { color: var(--muted); font-size: 10px; font-weight: 700; }
.report-metrics strong { font-size: 13px; overflow-wrap: anywhere; }
.policy-form { display: grid; gap: 18px; padding: 22px; }
.policy-options { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.policy-option { display: grid; grid-template-columns: auto minmax(0,1fr) 24px; gap: 13px; align-items: center; min-height: 104px; border: 1px solid #d9e1eb; border-radius: 13px; background: #fff; padding: 18px; cursor: pointer; transition: border-color .2s,background .2s,box-shadow .2s; }
.policy-option:hover { border-color: #a9c6ec; }
.policy-option:has(input:checked) { border-color: var(--blue); background: #f5f9ff; box-shadow: 0 0 0 3px #1268e512; }
.policy-option input { width: 18px; height: 18px; min-height: 0; margin: 0; accent-color: var(--blue); }
.policy-option span { display: grid; gap: 5px; }
.policy-option strong { font-size: 16px; }
.policy-option small { color: var(--muted); line-height: 1.45; }
.policy-option i { display: grid; place-items: center; width: 23px; height: 23px; border-radius: 50%; background: #dcecff; color: var(--blue); font-style: normal; font-weight: 900; opacity: 0; }
.policy-option:has(input:checked) i { opacity: 1; }
.policy-form>button { justify-self: start; }
.settings-security-note { margin: 0; }
.finance-page-stack { display: grid; gap: 18px; }
.finance-create { margin: 0; }
.finance-card { overflow: hidden; }
.finance-list { display: grid; }
.finance-list>article { display: grid; grid-template-columns: minmax(0,1fr) auto auto; align-items: center; gap: 18px; padding: 18px 22px; border-top: 1px solid var(--line); }
.finance-list>article:first-child { border-top: 0; }
.finance-list h3 { margin: 3px 0; }
.finance-list p,.finance-list small { margin: 0; color: var(--muted); }
.finance-actions { display: flex; align-items: center; gap: 8px; }
.finance-actions button,.finance-actions .button { display: inline-flex; align-items: center; justify-content: center; min-height: 39px; border: 1px solid #cbd6e3; border-radius: 8px; background: #fff; padding: 8px 12px; color: #304860; font-weight: 800; text-decoration: none; cursor: pointer; }
.finance-actions button.primary { border-color: var(--blue); background: var(--blue); color: #fff; }

@media (max-width: 980px) {
  .report-filter-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .report-metrics { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .policy-options { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
  .report-filter-grid { grid-template-columns: 1fr; }
  .advanced-filter { grid-column: auto; }
  .export-bar { display: grid; }
  .export-actions { display: grid; grid-template-columns: repeat(3,1fr); }
  .report-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .policy-form { padding: 18px; }
  .finance-list>article { grid-template-columns: 1fr; align-items: start; }
  .finance-actions { flex-wrap: wrap; }
}

.mobile-navigation{display:none}
.customer-card>.card-title{align-items:flex-start}

@media(max-width:760px){
  .mobile-navigation{display:block;background:#111b2a;padding:10px 20px;color:#fff}
  .mobile-navigation details{width:100%}
  .mobile-navigation summary{cursor:pointer;font-weight:800;padding:5px 0}
  .mobile-navigation nav{display:grid;gap:4px;margin:10px 0 8px}
  .mobile-navigation nav a{padding:9px 11px;border-radius:8px;color:#cbd5e1;text-decoration:none}
  .mobile-navigation nav a.active{background:#22324a;color:#fff}
  .mobile-navigation form{margin-top:8px}
  .mobile-navigation button{width:100%;border:1px solid #34445c;background:transparent;color:#fff;border-radius:8px;padding:9px}
}

/* Compact, task-oriented navigation. Only the current area stays expanded. */
/* Approved six-area navigation; utility links remain separate from daily work. */
.nav-utility { margin-top:24px;padding-top:14px;border-top:1px solid #2b3d56; }
.nav-utility>a { display:block;margin-top:6px; }
.nav-group summary { text-transform:none;letter-spacing:0;font-size:14px;font-weight:650;min-height:44px; }
.nav-dashboard-link { min-height:44px;display:flex;align-items:center; }
aside nav { gap: 8px; margin-top: 24px; min-height: 0; overflow-y: auto; padding-right: 3px; scrollbar-width: thin; scrollbar-color: #34445c transparent; }
.nav-group { display: block; }
.nav-group details { border-radius: 10px; }
.nav-group summary { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 40px; padding: 9px 12px; border-radius: 9px; color: #9cabc0; cursor: pointer; list-style: none; font-size: 11px; font-weight: 850; letter-spacing: .075em; transition: color .18s, background .18s; }
.nav-group summary::-webkit-details-marker { display: none; }
.nav-group summary:hover,.nav-group details[open]>summary { color: #fff; background: #19263a; }
.nav-group summary span { color: #6f8098; font-size: 16px; line-height: 1; transition: transform .18s; }
.nav-group details[open]>summary span { transform: rotate(180deg); }
.nav-group details>div { display: grid; gap: 3px; padding: 4px 0 8px 8px; }
.nav-group a { position: relative; padding: 8px 11px 8px 15px; font-size: 14px; }
.nav-group a::before { content: ""; position: absolute; left: 2px; top: 50%; width: 4px; height: 4px; border-radius: 50%; background: #51627a; transform: translateY(-50%); }
.nav-group a.active::before { width: 5px; height: 16px; border-radius: 999px; background: #4d91f4; }
.nav-dashboard-link { margin-bottom: 4px; padding: 11px 13px; font-weight: 850; }
.workspace .header-actions { align-items: center; }
.manual-help { display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid #e6e9ee;border-radius:10px;background:#fff;color:#536174;text-decoration:none; }
.manual-help>span { display:grid;place-items:center;width:22px;height:22px;border:1.8px solid currentColor;border-radius:50%;font-size:14px;font-weight:900;line-height:1; }
.manual-help>strong { position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0; }
.manual-help:hover,.manual-help.active { color:#1268e5;border-color:#b9d2f6;background:#f5f9ff; }
.alert-bell { position: relative; display: grid; place-items: center; width: 38px; height: 38px; border: 1px solid #e6e9ee; border-radius: 10px; color: #536174; background: #fff; }
.alert-bell:hover,.alert-bell.active { color: #1268e5; border-color: #b9d2f6; background: #f5f9ff; }
.alert-bell svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.alert-count { position: absolute; top: -6px; right: -7px; display: grid; place-items: center; min-width: 20px; height: 20px; border: 2px solid #fff; border-radius: 999px; background: #f59e0b; padding: 0 4px; color: #111827; font-size: 10px; font-weight: 900; line-height: 1; }
.alert-count[hidden] { display: none; }
.alert-list article form { display: grid; justify-items: end; gap: 8px; }
.alert-list article form button { border: 1px solid var(--line); border-radius: 8px; background: #fff; padding: 7px 10px; color: var(--blue); font-weight: 800; }
.alert-unread { border-left: 4px solid #f59e0b; background: #fffcf4; }
.alert-read { opacity: .76; }

@media (max-width: 760px) {
  .mobile-navigation nav { gap: 6px; }
  .mobile-navigation .nav-group summary { min-height: 38px; padding: 8px 11px; }
  .mobile-navigation .nav-group details>div { padding-left: 7px; }
  .mobile-navigation .nav-group a { padding: 8px 11px 8px 15px; }
  .mobile-navigation .nav-dashboard-link { display: block; margin-bottom: 5px; padding: 10px 11px; }
  .workspace header { padding: 0 18px; }
  .workspace header > span { display: none; }
  .alert-list article { display: grid; grid-template-columns: 1fr; }
  .alert-list article form { grid-template-columns: auto 1fr; justify-items: start; align-items: center; }
}

.dashboard-heading{align-items:center}.dashboard-refresh-group{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.dashboard-refresh-group button{border:1px solid var(--line);background:#fff;border-radius:10px;padding:9px 13px;font-weight:700;color:var(--blue);cursor:pointer}.dashboard-filter-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px 20px;margin-bottom:20px;box-shadow:0 8px 24px rgba(24,33,43,.04)}.dashboard-filter-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px}.dashboard-filter-title span{color:var(--muted);font-size:13px}.dashboard-filter-grid{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr)) auto;gap:12px;align-items:end}.dashboard-filter-grid label{display:grid;gap:5px}.dashboard-filter-grid label>span{font-size:12px;color:var(--muted);font-weight:700}.dashboard-filter-grid input,.dashboard-filter-grid select{min-width:0;width:100%;border:1px solid #d8dee8;border-radius:9px;background:#fff;padding:9px 10px;color:var(--ink)}.dashboard-filter-actions{display:flex;gap:8px}.dashboard-filter-actions .button,.dashboard-filter-actions button{white-space:nowrap;padding:9px 13px;border-radius:9px;text-decoration:none}.dashboard-kpis{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.dashboard-kpis .stat{position:relative;overflow:hidden;box-shadow:0 8px 24px rgba(24,33,43,.04)}.dashboard-kpis .stat:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--blue)}.dashboard-chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.chart-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px;min-width:0;box-shadow:0 8px 24px rgba(24,33,43,.04)}.chart-heading h2{font-size:17px;margin:0}.chart-heading p{margin:3px 0 18px;color:var(--muted);font-size:13px}.donut-layout{display:flex;align-items:center;gap:24px;min-height:190px}.donut-chart{width:156px;height:156px;border-radius:50%;display:grid;place-items:center;position:relative;flex:none}.donut-chart:after{content:"";position:absolute;inset:27px;background:#fff;border-radius:50%}.donut-chart span{z-index:1;text-align:center}.donut-chart strong,.donut-chart small{display:block}.donut-chart strong{font-size:25px}.donut-chart small{color:var(--muted)}.chart-legend{display:grid;gap:10px;flex:1}.chart-legend div{display:grid;grid-template-columns:10px 1fr auto;align-items:center;gap:8px}.chart-legend i{width:10px;height:10px;border-radius:50%}.chart-legend span{color:var(--muted)}.comparison-chart{display:grid;gap:20px;padding:20px 0}.comparison-chart>div{display:grid;grid-template-columns:75px 1fr 52px;gap:12px;align-items:center}.comparison-chart>div>div{height:15px;background:#edf1f6;border-radius:999px;overflow:hidden}.comparison-chart i{display:block;height:100%;border-radius:999px}.comparison-chart i.estimated{background:#9bbff2}.comparison-chart i.actual{background:linear-gradient(90deg,var(--blue),#4b91f1)}.comparison-chart strong{text-align:right}.column-chart{height:220px;display:flex;align-items:end;gap:12px;padding-top:20px;overflow-x:auto}.column-chart>div{height:100%;min-width:58px;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:end;gap:6px}.column-chart i{display:block;width:min(36px,70%);background:linear-gradient(180deg,#4b91f1,var(--blue));border-radius:8px 8px 3px 3px;min-height:10px}.column-chart span{font-size:11px;color:var(--muted);white-space:nowrap}.attention-list{display:grid;gap:10px}.attention-list div{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-radius:10px;background:#f7f9fc}.attention-list strong{display:grid;place-items:center;min-width:30px;height:30px;border-radius:9px;background:#fff;color:var(--blue)}.chart-empty{display:grid;place-items:center;min-height:160px;color:var(--muted);text-align:center}.dispatch-timeline{display:grid;gap:16px}.dispatch-event{display:grid;grid-template-columns:42px 1fr;gap:14px}.dispatch-event-marker{width:42px;height:42px;border-radius:13px;background:#eaf2ff;color:var(--blue);display:grid;place-items:center;font-weight:800}.dispatch-event-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:18px 20px}.dispatch-event-head{display:flex;justify-content:space-between;gap:16px;align-items:start}.dispatch-event-head h2{margin:2px 0;font-size:18px}.dispatch-event-head p{margin:0;color:var(--muted)}.dispatch-change-grid{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:stretch;margin:16px 0}.dispatch-snapshot{background:#f7f9fc;border-radius:12px;padding:13px}.dispatch-snapshot small,.dispatch-snapshot strong{display:block}.dispatch-snapshot small{color:var(--muted);margin-bottom:5px}.dispatch-arrow{display:grid;place-items:center;color:var(--blue);font-size:22px}.dispatch-justification{margin:10px 0;padding:12px 14px;border-left:3px solid var(--orange);background:#fff9ee;border-radius:0 10px 10px 0}.acknowledgement-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.acknowledgement-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:999px;background:#fff4e5;color:#9a5700;font-size:12px;font-weight:700}.acknowledgement-chip.read{background:#eaf7ef;color:var(--green)}@media(max-width:1040px){.dashboard-filter-grid{grid-template-columns:repeat(3,minmax(140px,1fr))}}@media(max-width:760px){.dashboard-refresh-group{justify-content:flex-start;margin-top:14px}.dashboard-filter-title{display:block}.dashboard-filter-title span{display:block;margin-top:3px}.dashboard-filter-grid{grid-template-columns:1fr}.dashboard-filter-actions .button,.dashboard-filter-actions button{flex:1;text-align:center}.dashboard-chart-grid{grid-template-columns:1fr}.donut-layout{align-items:flex-start;flex-direction:column}.dispatch-event{grid-template-columns:1fr}.dispatch-event-marker{width:36px;height:36px}.dispatch-event-head{display:block}.dispatch-change-grid{grid-template-columns:1fr}.dispatch-arrow{transform:rotate(90deg)}}
.execution-readiness{display:grid;grid-template-columns:minmax(180px,.7fr) minmax(220px,1.3fr);gap:18px;align-items:center;background:linear-gradient(135deg,#f8fbff 0%,#fff 58%,#fff7ed 100%);border-color:#d7e7fb}.execution-readiness>div:first-child strong{display:block;font-size:2rem;color:#102033;margin:.2rem 0}.readiness-progress{height:12px;border-radius:99px;background:#e7edf5;overflow:hidden}.readiness-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#1268e5,#18a56b)}.readiness-items{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px}.readiness-items span{padding:8px 11px;border-radius:99px;background:#f2f4f7;color:#657084;font-weight:700;font-size:.82rem}.readiness-items span.done{background:#e8f7ef;color:#137a50}
@media(max-width:720px){.execution-readiness{grid-template-columns:1fr}.readiness-items{grid-column:1}}
.correction-request{display:grid;grid-template-columns:46px 1fr;gap:16px;align-items:start;margin:0 0 18px;padding:20px 22px;border:1px solid #f6c98e;border-radius:16px;background:linear-gradient(135deg,#fff7e8,#fff 72%);box-shadow:0 8px 24px rgba(154,77,8,.08)}.correction-request-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:13px;background:#f28c28;color:#fff;font-size:1.4rem;font-weight:900}.correction-request small{color:#9a4d08;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.correction-request h2{margin:5px 0 6px;font-size:1.15rem;color:#492a0b}.correction-request p{margin:0 0 8px;color:#6f4a24}.correction-request span{font-size:.8rem;color:#8a6035}@media(max-width:640px){.correction-request{grid-template-columns:38px 1fr;padding:16px}.correction-request-icon{width:38px;height:38px}}
.inspection-review-list{display:grid;gap:18px}.inspection-review-card{padding:0;overflow:hidden}.inspection-review-header{display:flex;justify-content:space-between;gap:20px;padding:22px 24px;border-bottom:1px solid #e6ebf2;background:linear-gradient(120deg,#f8fbff,#fff)}.inspection-review-header>div:last-child{display:flex;align-items:flex-start;gap:10px}.inspection-summary{display:grid;grid-template-columns:repeat(5,minmax(110px,1fr));gap:1px;background:#e5eaf1}.inspection-summary span{padding:16px 18px;background:#fff}.inspection-summary small,.inspection-summary strong{display:block}.inspection-summary strong{font-size:1.35rem;margin-top:4px}.inspection-evidence-grid{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:22px;padding:24px}.inspection-evidence-grid section{min-width:0}.inspection-evidence-grid h3{font-size:.9rem;margin:0 0 10px;color:#334155}.inspection-evidence-grid h3:not(:first-child){margin-top:20px}.inspection-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.inspection-photo-grid a{display:grid;border:1px solid #e0e6ee;border-radius:12px;overflow:hidden;background:#f8fafc;text-decoration:none}.inspection-photo-grid img{width:100%;height:128px;object-fit:cover}.inspection-photo-grid span{display:grid;place-items:center;height:128px;font-weight:800}.inspection-photo-grid small{padding:8px}.inspection-mini-list{display:grid;gap:7px}.inspection-mini-list p{display:flex;gap:8px;margin:0;padding:9px 10px;border-radius:9px;background:#f7f9fc}.inspection-mini-list p.done{background:#eaf8f0;color:#176c48}.inspection-mini-list p.open{background:#fff4e8;color:#9a4d08}.inspection-note-list{display:grid;gap:9px}.inspection-note-list blockquote{margin:0;padding:11px;border-left:3px solid #1268e5;background:#f7f9fc;border-radius:0 9px 9px 0}.inspection-note-list small{display:block;margin-top:7px}.inspection-decision{display:grid;grid-template-columns:minmax(180px,.55fr) minmax(320px,1.45fr);gap:24px;padding:20px 24px;background:#f7f9fc;border-top:1px solid #e3e8ef}.inspection-decision>div>*{display:block}.inspection-decision form{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:end}.inspection-decision form label{display:grid;gap:6px}.inspection-decision form textarea{min-height:72px}.inspection-decision form>div{display:flex;gap:8px;flex-wrap:wrap}@media(max-width:980px){.inspection-summary{grid-template-columns:repeat(3,1fr)}.inspection-evidence-grid{grid-template-columns:1fr 1fr}.inspection-decision{grid-template-columns:1fr}.inspection-decision form{grid-template-columns:1fr}}@media(max-width:640px){.inspection-review-header{display:grid;padding:18px}.inspection-review-header>div:last-child{justify-content:space-between}.inspection-summary{grid-template-columns:repeat(2,1fr)}.inspection-evidence-grid{grid-template-columns:1fr;padding:18px}.inspection-photo-grid img,.inspection-photo-grid span{height:105px}.inspection-decision{padding:18px}}
.inspection-previous-correction{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:15px 24px;background:#fff7e8;border-bottom:1px solid #f6d5aa;color:#71410f}.inspection-previous-correction small,.inspection-previous-correction strong{display:block}.inspection-previous-correction small{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}.inspection-previous-correction time{white-space:nowrap;font-size:.82rem}.inspection-summary{grid-template-columns:repeat(6,minmax(100px,1fr))}.inspection-summary .new-evidence-metric{background:#eaf8f0;color:#176c48}.inspection-photo-grid a{position:relative}.inspection-photo-grid a.new-evidence{border-color:#18a56b;box-shadow:0 0 0 2px rgba(24,165,107,.1)}.new-evidence-badge{position:absolute;z-index:1;top:7px;right:7px;padding:4px 7px;border-radius:99px;background:#18a56b;color:#fff;font-size:.66rem;letter-spacing:.05em}.inspection-cycle-history{padding:0 24px 24px}.inspection-cycle-history>h3{font-size:.9rem;margin:0 0 12px}.inspection-cycle-history>div{display:grid;gap:8px}.inspection-cycle-history article{display:grid;grid-template-columns:32px 1fr;gap:10px;padding:11px 13px;border:1px solid #e1e7ef;border-radius:11px;background:#f8fafc}.inspection-cycle-history article>b{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#dce6f5;color:#24415f}.inspection-cycle-history article.current{border-color:#9dc4f5;background:#f4f9ff}.inspection-cycle-history article.current>b{background:#1268e5;color:#fff}.inspection-cycle-history article span>strong,.inspection-cycle-history article span>small{display:block}.inspection-cycle-history article span>small{margin-top:2px}.inspection-cycle-history article p{margin:5px 0 0;color:#546173}@media(max-width:980px){.inspection-summary{grid-template-columns:repeat(3,1fr)}}@media(max-width:640px){.inspection-previous-correction{display:grid;padding:14px 18px}.inspection-summary{grid-template-columns:repeat(2,1fr)}.inspection-cycle-history{padding:0 18px 18px}}

.chart-card-full{grid-column:1/-1}.performance-table{display:grid;gap:10px}.performance-row{display:grid;grid-template-columns:minmax(170px,1.15fr) minmax(170px,1fr) minmax(170px,1fr) minmax(105px,.55fr) minmax(90px,.45fr);gap:16px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fbfcfe}.performance-person strong,.performance-person span,.performance-metric span,.performance-metric small,.performance-score span,.performance-score small{display:block}.performance-person span,.performance-metric span,.performance-metric small,.performance-score span,.performance-score small{color:var(--muted);font-size:12px}.performance-metric span{display:flex;justify-content:space-between;gap:8px}.performance-metric>div{height:8px;background:#e9edf3;border-radius:999px;overflow:hidden;margin:7px 0 4px}.performance-metric i{display:block;height:100%;border-radius:999px}.performance-metric i.planned{background:#8eb7ee}.performance-metric i.actual{background:linear-gradient(90deg,var(--blue),#4b91f1)}.performance-score{padding-left:12px;border-left:1px solid var(--line)}.performance-score strong{display:block;font-size:22px;margin-top:2px}.performance-score small{min-height:18px}@media(max-width:980px){.performance-row{grid-template-columns:1fr 1fr}.performance-person{grid-column:1/-1}.performance-score{border-left:0;padding-left:0}}@media(max-width:620px){.performance-row{grid-template-columns:1fr}.performance-person{grid-column:auto}.performance-score{padding-top:8px;border-top:1px solid var(--line)}}

.success-banner { margin: -4px 0 18px; padding: 12px 15px; border: 1px solid #bfe5cb; border-radius: 12px; background: #edf9f1; color: #147a3f; font-weight: 800; }
.planning-card { grid-column: 1 / -1; }
.planning-count { display: grid; place-items: center; min-width: 34px; height: 34px; border-radius: 10px; background: #eef4ff; color: var(--blue); }
.planning-alert-list { display: grid; gap: 12px; }
.planning-alert { display: grid; grid-template-columns: minmax(180px,.75fr) minmax(260px,1.15fr) minmax(280px,1.25fr); gap: 16px; padding: 16px; border: 1px solid #e0e6ef; border-radius: 14px; background: #fafbfd; }
.planning-alert.overload { border-left: 4px solid #e5484d; }
.planning-alert.low-utilization { border-left: 4px solid #f59e0b; }
.planning-alert-summary, .planning-suggestion { display: grid; align-content: start; gap: 6px; }
.planning-alert-summary > b { font-size: 18px; }
.planning-alert-summary small, .planning-last small { color: var(--muted); }
.planning-badge { width: max-content; padding: 5px 8px; border-radius: 999px; background: #fff1f0; color: #b42318; font-size: 11px; font-weight: 900; text-transform: uppercase; }
.low-utilization .planning-badge { background: #fff6df; color: #965c00; }
.planning-suggestion p, .planning-last p { margin: 0; color: var(--muted); line-height: 1.45; }
.planning-suggestion .button { width: max-content; margin-top: 3px; text-decoration: none; }
.planning-last { margin-top: 8px; padding-top: 8px; border-top: 1px solid var(--line); }
.planning-decision-form { display: grid; gap: 9px; }
.planning-decision-form label { display: grid; gap: 5px; }
.planning-decision-form label span { color: var(--muted); font-size: 12px; font-weight: 700; }
.planning-decision-form textarea { width: 100%; min-height: 72px; resize: vertical; border: 1px solid #ccd5e1; border-radius: 9px; padding: 9px; font: inherit; }
.planning-decision-form > div { display: grid; grid-template-columns: 1fr auto; gap: 8px; }
.planning-decision-form select { min-width: 0; border: 1px solid #ccd5e1; border-radius: 9px; background: #fff; padding: 9px; }
.planning-decision-form button { border: 0; border-radius: 9px; padding: 9px 12px; font-weight: 800; cursor: pointer; }
@media (max-width: 1100px) { .planning-alert { grid-template-columns: 1fr 1fr; } .planning-decision-form { grid-column: 1 / -1; } }
@media (max-width: 760px) { .planning-alert { grid-template-columns: 1fr; } .planning-decision-form { grid-column: auto; } .planning-decision-form > div { grid-template-columns: 1fr; } .planning-suggestion .button { width: 100%; text-align: center; } }

.auth-text-link { color: var(--blue); font-weight: 700; text-decoration: none; justify-self: end; }
.auth-flow-card .public-language-form { margin-top: 0; }
.auth-flow-card > .settings-form { margin-top: 18px; padding: 0; }
.auth-success { margin-top: 18px; padding: 14px 16px; border: 1px solid #bfe5cb; border-radius: 12px; background: #edf9f1; color: #176b3a; }
.auth-success p { margin: 6px 0 12px; color: #3c7654; }
.auth-success .button { display: inline-block; padding: 9px 13px; border-radius: 9px; background: var(--blue); color: #fff; text-decoration: none; font-weight: 800; }
.auth-error { padding: 11px 13px; border: 1px solid #f1b8b5; border-radius: 10px; background: #fff2f1; color: #a5231d !important; }
.auth-back { margin-top: 22px; text-align: center; }
.auth-back a { color: var(--blue); font-weight: 700; text-decoration: none; }
.invite-access-card { margin-bottom: 20px; }
.invitation-result { display: grid; gap: 18px; padding: 22px; }
.invitation-result > div:not(.dev-link-box):not(.notice) { display: grid; gap: 3px; }
.invitation-result small { color: var(--muted); }
.dev-link-box { display: grid; gap: 8px; padding: 16px; border: 1px solid #bfd5f5; border-radius: 12px; background: #f4f8ff; }
.dev-link-box p { margin: 0; color: var(--muted); }
.dev-link-box code { overflow-wrap: anywhere; padding: 10px; border-radius: 8px; background: #fff; color: #344054; }
.dev-link-box .button, .invitation-result > .button { width: max-content; padding: 9px 13px; border-radius: 9px; background: var(--blue); color: #fff; text-decoration: none; font-weight: 800; }
@media (max-width: 760px) {
  .auth-text-link,
  .auth-back a,
  .trial-entry a,
  .trial-login-link {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
  }
  .auth-text-link { justify-self: start; }
  .trial-entry a,
  .trial-login-link { justify-content: center; }
  .login-card .settings-form input,
  .login-card .settings-form select,
  .login-card .settings-form button,
  .auth-flow-card .settings-form input,
  .auth-flow-card .settings-form select,
  .auth-flow-card .settings-form button,
  .trial-signup-card .settings-form input,
  .trial-signup-card .settings-form select,
  .trial-signup-card .settings-form button {
    min-height: 45px;
  }
  .login-card .public-language-form select,
  .login-card .public-language-form button,
  .auth-flow-card .public-language-form select,
  .auth-flow-card .public-language-form button,
  .trial-signup-card .public-language-form select,
  .trial-signup-card .public-language-form button {
    min-height: 44px;
  }
  .dev-link-box .button,
  .invitation-result > .button {
    width: 100%;
    min-height: 44px;
    text-align: center;
  }
}

.trial-entry{display:flex;justify-content:center;gap:7px;margin-top:20px;border-top:1px solid var(--line);padding-top:18px;color:var(--muted);font-size:13px}.trial-entry a,.trial-login-link{color:var(--blue);font-weight:800;text-decoration:none}.trial-signup-shell{display:grid;grid-template-columns:minmax(340px,.85fr) minmax(520px,1.15fr);min-height:100vh;background:#f5f7fb}.trial-signup-intro{display:flex;flex-direction:column;justify-content:center;padding:clamp(38px,7vw,90px);background:linear-gradient(145deg,#0e1a2b,#123b71);color:#fff}.trial-signup-intro .brand{margin-bottom:50px}.trial-signup-intro .eyebrow{color:#8fc1ff!important}.trial-signup-intro h1{max-width:550px;margin:7px 0 12px;font-size:clamp(38px,5vw,62px);line-height:1.02;letter-spacing:-.05em}.trial-signup-intro>p{max-width:590px;margin:0;color:#d6e4f7;font-size:17px}.trial-signup-intro ul{display:grid;gap:14px;margin:34px 0;padding:0;list-style:none}.trial-signup-intro li{display:flex;gap:11px;align-items:center;color:#eef5ff}.trial-signup-intro li i{display:grid;place-items:center;width:24px;height:24px;border-radius:8px;background:#2c83ea;color:#fff;font-style:normal;font-weight:900}.trial-safety{display:grid;gap:2px;margin-top:20px;border:1px solid #ffffff26;border-radius:14px;background:#ffffff0d;padding:15px 17px}.trial-safety span{color:#bcd0e9;font-size:12px}.trial-signup-card{align-self:center;width:min(680px,calc(100% - 48px));margin:40px auto;border:1px solid #dfe5ee;border-radius:20px;background:#fff;padding:30px;box-shadow:0 20px 60px rgba(30,48,72,.1)}.trial-signup-card>.public-language-form{display:flex;justify-content:flex-end;margin:0 0 12px}.trial-signup-card h2{margin:0 0 8px;font-size:29px}.trial-signup-card>.settings-form{grid-template-columns:1fr 1fr;margin-top:10px;padding:0}.trial-signup-card>.settings-form>label:nth-of-type(-n+4),.trial-signup-card>.settings-form>.trial-password-grid,.trial-signup-card>.settings-form>.trial-terms,.trial-signup-card>.settings-form>button{grid-column:1/-1}.trial-password-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.trial-password-grid label{display:grid;gap:7px}.trial-terms{display:grid!important;grid-template-columns:auto 1fr!important;align-items:start}.trial-terms input{width:18px!important;min-height:18px!important;margin-top:2px}.trial-signup-card>.settings-form>button{width:100%;justify-self:stretch;text-align:center}.trial-login-link{display:block;margin-top:20px;text-align:center}.signup-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important}

.getting-started{display:grid;gap:18px}.getting-started-hero{display:flex;justify-content:space-between;gap:24px;align-items:center;border-radius:20px;background:linear-gradient(125deg,#0f5fcf,#1268e5 58%,#2490f7);padding:28px 30px;color:#fff;box-shadow:0 16px 42px rgba(18,104,229,.18)}.getting-started-hero .eyebrow{color:#cfe4ff!important}.getting-started-hero h1{margin:5px 0;font-size:clamp(29px,4vw,42px);letter-spacing:-.04em}.getting-started-hero p{margin:0;color:#e0edff}.getting-started-score{display:grid;place-items:center;min-width:116px;border:1px solid #ffffff38;border-radius:17px;background:#ffffff14;padding:15px}.getting-started-score strong{font-size:28px}.getting-started-score span{font-size:11px;color:#dceaff}.getting-started>.onboarding-progress{height:9px;border-radius:99px;background:#dfe7f1;overflow:hidden}.getting-started>.onboarding-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#1268e5,#24a36a)}.getting-started-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.getting-started-step{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:14px;align-items:center;border:1px solid #dfe6ef;border-radius:16px;background:#fff;padding:18px 19px;box-shadow:0 7px 22px rgba(30,48,72,.04)}.getting-started-step>i{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#eaf2fd;color:#1268e5;font-style:normal;font-weight:900}.getting-started-step.complete>i{background:#e3f6ec;color:#168054}.getting-started-step small{color:#1268e5;font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.getting-started-step.complete small{color:#168054}.getting-started-step h2{margin:3px 0;font-size:17px}.getting-started-step p{margin:0;color:#6d7a8d;font-size:12px}.getting-started-step.complete>a{color:#607086;background:#f8fafc}.getting-started-ready{display:flex;justify-content:space-between;gap:20px;align-items:center;border:1px solid #bfe5cf;border-radius:16px;background:#edf9f2;padding:19px 21px;color:#176b3a}.getting-started-ready strong{font-size:18px}.getting-started-ready p{margin:3px 0 0;color:#3e7657}

@media(max-width:900px){.trial-signup-shell{grid-template-columns:1fr}.trial-signup-intro{padding:38px 28px}.trial-signup-intro .brand{margin-bottom:28px}.trial-signup-intro h1{font-size:38px}.trial-signup-card{margin:24px auto}.getting-started-grid{grid-template-columns:1fr}}
@media(max-width:600px){.trial-entry{display:grid;text-align:center}.trial-signup-card{width:calc(100% - 24px);padding:22px 18px}.trial-signup-card>.settings-form{grid-template-columns:1fr}.trial-password-grid{grid-template-columns:1fr}.getting-started-hero{align-items:flex-start;padding:23px;}.getting-started-score{min-width:92px}.getting-started-step{grid-template-columns:40px 1fr}.getting-started-step>a{grid-column:1/-1;width:100%}.getting-started-ready{display:grid}.getting-started-ready>a{width:100%}}
.trial-signup-card .trial-plan-summary{display:grid;gap:8px;padding:18px;margin:20px 0 24px;background:#f2f7ff;border:1px solid #dbe8fa;border-radius:12px}
.trial-signup-card .trial-plan-summary>p{margin:0;overflow-wrap:anywhere}
.trial-signup-card .trial-plan-label{font-size:11px;letter-spacing:.6px;text-transform:uppercase;color:#6580a2}
.trial-signup-card .trial-plan-price{font-size:17px;color:#183f70;line-height:1.5}
.trial-signup-card .trial-plan-seats{font-size:12px;color:#60748f}
.trial-signup-shell .trial-signup-card{max-width:590px;padding:28px;box-shadow:0 14px 42px #1934510c}
.trial-signup-shell .trial-signup-card h2{font-size:27px;line-height:1.3;letter-spacing:-.6px}
.trial-signup-card .settings-form>label,.trial-signup-card .trial-password-grid label{font-size:13px;color:#40546f;gap:8px}
.trial-signup-card .settings-form input:not([type=checkbox]),.trial-signup-card .settings-form select{min-height:46px;padding:11px 12px;font-size:14px;border:1px solid #d4deec;border-radius:9px;min-width:0;width:100%}
.trial-signup-card .trial-terms{font-size:12px!important;line-height:1.7;color:#687a92}
.trial-signup-card .settings-form{gap:18px}
.trial-signup-card .settings-form>button{min-height:48px;font-size:14px;border-radius:10px}
@media(max-width:600px){.trial-signup-shell .trial-signup-card{padding:22px 18px}.trial-signup-shell .trial-signup-card h2{font-size:24px}}

/* SeeWorkGo visual system refinement shared by all authenticated screens. */
.analytics-dashboard { --dashboard-space:20px; }
.analytics-dashboard .heading { margin-bottom:18px; }
.analytics-dashboard .dashboard-kpis { gap:14px; }
.analytics-dashboard .dashboard-kpis .stat { border-radius:14px;border:1px solid #e1e7ef;box-shadow:none; }
.analytics-dashboard .dashboard-kpis .stat:before { width:0; }
.analytics-dashboard .dashboard-kpis .stat strong { font-variant-numeric:tabular-nums;overflow-wrap:anywhere; }
.analytics-dashboard .chart-card { box-shadow:none;padding:22px;border-radius:14px; }
.analytics-dashboard .dashboard-action-bar { gap:10px;margin-bottom:18px; }
.analytics-dashboard .dashboard-filter-card { padding:14px 16px;box-shadow:none; }
.analytics-dashboard .dashboard-chart-grid { gap:16px; }
@media(min-width:1100px){.analytics-dashboard .dashboard-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.analytics-dashboard .dashboard-kpis .stat:nth-child(n+5){display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:12px;padding:14px 18px}.analytics-dashboard .dashboard-kpis .stat:nth-child(n+5)>strong{grid-column:2;grid-row:1/3;align-self:center;font-size:23px}.analytics-dashboard .dashboard-kpis .stat:nth-child(n+5)>small{font-size:11px}.analytics-dashboard .dashboard-chart-grid>.chart-card{min-height:250px}}
.app { grid-template-columns: 224px minmax(0,1fr); }
aside { position: sticky; top: 0; height: 100vh; overflow: hidden; padding: 20px 14px 16px; }
aside .brand { padding: 4px 6px; font-size: 21px; }
aside form { margin-top: 10px; padding-top: 10px; border-top: 1px solid #233249; }
.workspace { min-width: 0; }
.workspace header { position: sticky; top: 0; z-index: 20; padding-inline: 28px; }
.workspace main { width: 100%; max-width: 1440px; padding: 28px 30px 42px; }
.heading { margin-bottom: 24px; }
.heading h1 { margin: 4px 0 6px; font-size: clamp(28px,3vw,36px); line-height: 1.18; letter-spacing: -.035em; }
.heading p { max-width: 720px; }
.eyebrow { font-size: 11px; font-weight: 850; letter-spacing: .11em; }
.card,.stat,.notice,.create-panel { border-color: #e1e7ef; border-radius: 16px; }
.card { box-shadow: 0 8px 26px rgba(30,48,72,.045); }
.card-title { gap: 16px; padding: 19px 21px; }
.card-title h2 { letter-spacing: -.015em; }
input,select,textarea,button { font: inherit; }
.settings-form input,.settings-form select,.settings-form textarea,.filter-form input,.filter-form select { border-color: #cfd8e5; border-radius: 10px; }
.settings-form,.settings-form label,.settings-form label>span,.filter-form,.filter-form label { min-width: 0; }
.settings-form input,.settings-form select,.settings-form textarea,.filter-form input,.filter-form select { max-width: 100%; }
.settings-form button,.primary { min-height: 42px; padding-inline: 17px; cursor: pointer; }
.button { display: inline-flex; align-items: center; justify-content: center; min-height: 40px; border: 1px solid #d7dee8; border-radius: 10px; background: #fff; padding: 8px 13px; color: #344054; text-decoration: none; font-weight: 750; }
.button:hover { border-color: #aac5e9; background: #f7faff; color: var(--blue); }

/* High-frequency creation stays available without expanding the sidebar. */
.global-create { position: relative; }
.global-create>summary { display:flex;align-items:center;gap:8px;min-height:38px;border:1px solid #1268e5;border-radius:10px;background:#1268e5;padding:7px 12px;color:#fff;cursor:pointer;list-style:none;font-weight:850; }
.global-create>summary::-webkit-details-marker { display:none; }
.global-create>summary span { display:grid;place-items:center;width:20px;height:20px;border-radius:6px;background:#ffffff25;font-size:17px;line-height:1; }
.global-create>div { position:absolute;z-index:50;top:46px;right:0;display:grid;width:270px;padding:8px;border:1px solid #dce3ed;border-radius:14px;background:#fff;box-shadow:0 18px 48px rgba(23,42,70,.18); }
.global-create>div a { display:grid;grid-template-columns:36px 1fr;gap:10px;align-items:center;padding:10px;border-radius:10px;color:#26374c;text-decoration:none; }
.global-create>div a:hover { background:#f3f7fd;color:#1268e5; }
.global-create>div a>b { display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:#eaf2fd;color:#1268e5;font-size:11px; }
.global-create>div a span,.global-create>div a strong,.global-create>div a small { display:block; }
.global-create>div a small { margin-top:2px;color:#718096;font-size:11px; }

/* Customer 360 keeps useful context above maintenance forms. */
.customer-360-card { overflow:hidden; }
.customer-360-head { display:flex;justify-content:space-between;gap:18px;padding:21px 22px;background:linear-gradient(125deg,#f5f9ff,#fff 64%);border-bottom:1px solid #e5ebf3; }
.customer-360-head small { color:#1268e5;font-size:10px;font-weight:900;letter-spacing:.1em; }
.customer-360-head h2 { margin:5px 0 4px;font-size:22px; }
.customer-360-head p { margin:0;color:#66758a; }
.customer-360-metrics { display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid #e8edf3; }
.customer-360-metrics span { padding:14px 18px;border-right:1px solid #e8edf3; }
.customer-360-metrics span:last-child { border-right:0; }
.customer-360-metrics strong,.customer-360-metrics small { display:block; }
.customer-360-metrics strong { font-size:20px;color:#172537; }
.customer-360-metrics small { margin-top:2px;color:#748196; }
.customer-360-actions { display:flex;flex-wrap:wrap;gap:8px;padding:14px 18px;background:#fbfcfe;border-bottom:1px solid #e8edf3; }

/* Customer workspace: fast directory navigation plus a focused 360 profile. */

/* Role-aware, multilingual user manual. */
.manual-heading { margin-bottom: 20px; }
.manual-search { padding: 18px 22px; margin-bottom: 22px; }
.manual-search label { display: grid; gap: 8px; font-weight: 700; color: #40506a; }
.manual-search input { width: 100%; min-height: 48px; border: 1px solid #d6deeb; border-radius: 12px; padding: 0 15px; font: inherit; }
.manual-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.manual-card { overflow: hidden; border: 1px solid #e0e6ef; border-radius: 18px; background: #fff; box-shadow: 0 8px 24px rgba(15,35,64,.06); }
.manual-card>div:last-child { padding: 20px; }
.manual-card small { color: #1268e5; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.manual-card h2 { margin: 7px 0 8px; font-size: 1.12rem; }
.manual-card p { min-height: 48px; margin: 0 0 14px; color: #66748a; line-height: 1.5; }
.manual-role { display:inline-flex;gap:5px;margin-top:10px;padding:7px 10px;border-radius:999px;background:#edf5ff;color:#365273;font-size:13px; }
.manual-preview { position:relative;height:180px;margin:0;overflow:hidden;background:#dce8f8; }
.manual-preview>a { display:block;height:100%; }
.manual-preview>a:focus-visible { outline:3px solid #1268e5;outline-offset:-3px; }
.manual-preview figcaption { pointer-events:none; }
.manual-preview img { width:100%;height:100%;object-fit:cover;object-position:top left;display:block;transition:transform .2s ease; }
.manual-card:hover .manual-preview img { transform:scale(1.015); }
.manual-preview figcaption { position:absolute;left:12px;bottom:12px;display:flex;align-items:center;gap:8px;max-width:calc(100% - 24px);padding:7px 10px;border-radius:10px;background:rgba(10,29,57,.88);color:#fff;font-size:11px;font-weight:700;backdrop-filter:blur(4px); }
.manual-preview figcaption span { display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:#1268e5;font-size:12px;font-weight:900; }
.manual-steps-title { display:block;margin:2px 0 7px;color:#24364d;font-size:13px; }
.manual-steps { min-height:108px;margin:0 0 16px;padding-left:20px;color:#5b6a80;font-size:13px;line-height:1.45; }
.manual-steps li+li { margin-top:5px; }
.manual-tip { display: flex; align-items: center; gap: 12px; margin-top: 22px; padding: 16px 18px; border-radius: 14px; background: #edf5ff; color: #284362; }
.manual-tip span { display: grid; place-items: center; flex: 0 0 28px; height: 28px; border-radius: 50%; background: #1268e5; color: #fff; font-weight: 900; }
.manual-tip p { margin: 0; }
.manual-tip[hidden] { display:none; }
@media (max-width: 1050px) { .manual-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 680px) { .manual-grid { grid-template-columns: 1fr; } .manual-card p,.manual-steps { min-height: 0; } .manual-preview { height:165px; } }
.customer-workspace { display:grid;grid-template-columns:280px minmax(0,1fr);gap:18px;align-items:start; }
.customer-directory { position:sticky;top:88px;max-height:calc(100vh - 112px);overflow:hidden; }
.customer-directory-head { padding:18px;border-bottom:1px solid #e6ebf2; }
.customer-directory-head h2 { margin:0 0 12px;font-size:16px; }
.customer-directory-head input { width:100%;min-height:40px;border:1px solid #d2dce8;border-radius:10px;background:#f8fafc;padding:9px 11px; }
.customer-directory nav { display:grid;max-height:calc(100vh - 210px);overflow:auto;padding:8px; }
.customer-directory nav a { display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:10px;align-items:center;border-radius:11px;padding:10px;color:#344054;text-decoration:none; }
.customer-directory nav a:hover { background:#f4f7fb; }
.customer-directory nav a.active { background:#eaf3ff;color:#0f5fcf; }
.customer-directory nav a>i { display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:#e9eef5;color:#466078;font-size:11px;font-style:normal;font-weight:900; }
.customer-directory nav a.active>i { background:#1268e5;color:#fff; }
.customer-directory nav strong,.customer-directory nav small { display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.customer-directory nav small { margin-top:2px;color:#738095;font-size:11px; }
.customer-directory nav em { font-size:20px;font-style:normal;color:#8793a4; }
.customer-profile { overflow:hidden; }
.customer-profile-hero { display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:15px;align-items:center;padding:23px 24px;background:linear-gradient(125deg,#f3f8ff,#fff 58%,#fff8ef);border-bottom:1px solid #e4ebf3; }
.customer-avatar { display:grid;place-items:center;width:54px;height:54px;border-radius:16px;background:linear-gradient(145deg,#1268e5,#0f55bc);color:#fff;font-size:17px;font-weight:900;box-shadow:0 7px 18px rgba(18,104,229,.2); }
.customer-profile-hero small { color:#1268e5;font-size:10px;font-weight:900;letter-spacing:.11em; }
.customer-profile-hero h2 { margin:4px 0 3px;font-size:24px;letter-spacing:-.025em; }
.customer-profile-hero p { margin:0;color:#69778b; }
.customer-profile-actions { display:flex;gap:8px;overflow-x:auto;padding:13px 20px;border-bottom:1px solid #e7ecf2;background:#fbfcfe; }
.customer-profile-actions .button { white-space:nowrap; }
.customer-overview-grid span { display:grid;grid-template-columns:34px minmax(0,1fr);column-gap:10px;align-items:center;padding:16px 18px; }
.customer-overview-grid .metric-icon { grid-row:1/3;display:grid;place-items:center;width:32px;height:32px;border-radius:10px;font-size:10px;font-style:normal;font-weight:900; }
.metric-icon.blue { background:#e7f1ff;color:#1268e5; }.metric-icon.green { background:#e5f7ed;color:#168257; }.metric-icon.orange { background:#fff0dc;color:#bd650e; }.metric-icon.purple { background:#f0eaff;color:#7047bd; }

/* Accounting center: dense financial information with a calm review workflow. */
.accounting-stack { display:grid;gap:18px; }
.accounting-kpis { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px; }
.accounting-kpis article { display:grid;grid-template-columns:38px minmax(0,1fr);column-gap:12px;align-items:center;min-height:112px;border:1px solid #e1e7ef;border-radius:16px;background:#fff;padding:18px;box-shadow:0 8px 26px rgba(30,48,72,.045); }
.accounting-kpis i { grid-row:1/3;display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#e9f2ff;color:#1268e5;font-size:11px;font-style:normal;font-weight:900; }
.accounting-kpis small { color:#6a788c;font-weight:700; }
.accounting-kpis strong { overflow:hidden;text-overflow:ellipsis;font-size:clamp(18px,2vw,25px);letter-spacing:-.03em;white-space:nowrap; }
.accounting-kpis article:nth-child(2) i { background:#e6f7ed;color:#138255; }
.accounting-kpis article:nth-child(3) i { background:#fff2df;color:#b9650f; }
.accounting-kpis article.danger i { background:#ffeaec;color:#c93645; }
.accounting-filter-grid { display:grid;grid-template-columns:repeat(4,minmax(145px,1fr)) auto;gap:12px;align-items:end;padding:18px 21px; }
.accounting-filter-grid label { display:grid;gap:5px;min-width:0; }
.accounting-filter-grid label span { color:#617087;font-size:12px;font-weight:800; }
.accounting-filter-grid input,.accounting-filter-grid select { width:100%;min-height:42px;border:1px solid #cfd8e5;border-radius:10px;background:#fff;padding:9px 11px; }
.accounting-filter-grid button { min-height:42px; }
.aging-chart { display:grid;gap:13px;padding:22px; }
.aging-chart>div { display:grid;grid-template-columns:110px minmax(120px,1fr) 120px;gap:14px;align-items:center; }
.aging-chart span { color:#5f6e83;font-size:12px;font-weight:750; }
.aging-chart>div>div { height:10px;overflow:hidden;border-radius:999px;background:#eef2f6; }
.aging-chart i { display:block;height:100%;border-radius:inherit;background:#269166; }
.aging-chart i.age-1 { background:#e0a629; }.aging-chart i.age-2 { background:#ed8936; }.aging-chart i.age-3 { background:#dc5b4c; }.aging-chart i.age-4 { background:#b9334c; }
.aging-chart strong { text-align:right;font-size:13px; }
.accounting-table { min-width:820px; }
.accounting-table-card { overflow:auto; }
.accounting-row { display:grid;grid-template-columns:minmax(190px,1.5fr) minmax(150px,1.1fr) repeat(4,minmax(105px,.75fr));gap:12px;align-items:center;padding:14px 20px;border-top:1px solid #e7ecf2; }
.accounting-row.head { border-top:0;background:#f8fafc;color:#66758a;font-size:11px;font-weight:850;letter-spacing:.035em;text-transform:uppercase; }
.accounting-row span { min-width:0; }
.accounting-row strong,.accounting-row small { display:block;overflow:hidden;text-overflow:ellipsis; }
.accounting-row small { margin-top:2px;color:#738096;font-size:11px;white-space:nowrap; }
.accounting-row .positive strong { color:#148055; }.accounting-row .negative strong { color:#c63f4d; }
.accounting-lower-grid { display:grid;grid-template-columns:1fr 1fr;gap:18px; }
.compact-accounting-list article { display:grid;grid-template-columns:minmax(0,1fr) auto minmax(120px,.45fr);gap:14px;align-items:center;padding:14px 20px;border-top:1px solid #e7ecf2; }
.compact-accounting-list article:first-child { border-top:0; }
.compact-accounting-list strong,.compact-accounting-list small { display:block; }
.compact-accounting-list small { color:#738096; }
.compact-accounting-list article>span { text-align:right; }
@media(max-width:980px){.accounting-kpis{grid-template-columns:repeat(2,1fr)}.accounting-filter-grid{grid-template-columns:repeat(2,1fr)}.accounting-lower-grid{grid-template-columns:1fr}}
@media(max-width:620px){.accounting-kpis{grid-template-columns:1fr 1fr}.accounting-kpis article{grid-template-columns:1fr;min-height:102px}.accounting-kpis i{display:none}.accounting-filter-grid{grid-template-columns:1fr}.aging-chart>div{grid-template-columns:80px minmax(70px,1fr) 90px}.compact-accounting-list article{grid-template-columns:minmax(0,1fr) auto}.compact-accounting-list article>span{grid-column:1/3;text-align:left}}

/* Business setup combines configuration modules without expanding the sidebar. */
.business-tabs{display:flex;gap:7px;margin:0 0 18px;padding:6px;border:1px solid #dfe6ef;border-radius:14px;background:#fff;overflow:auto}.business-tabs a{white-space:nowrap;border-radius:10px;padding:10px 15px;color:#5b6a7e;text-decoration:none;font-weight:800}.business-tabs a.active{background:#1268e5;color:#fff;box-shadow:0 5px 14px rgba(18,104,229,.2)}.business-two-column{display:grid;grid-template-columns:minmax(340px,.8fr) minmax(480px,1.2fr);gap:18px;align-items:start}.business-stack,.business-content{display:grid;gap:18px}.business-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;padding:20px}.business-form label{display:grid;gap:5px;min-width:0}.business-form label.wide{grid-column:1/-1}.business-form label span{color:#617087;font-size:12px;font-weight:800}.business-form input,.business-form select,.business-form textarea{width:100%;min-height:42px;border:1px solid #cfd8e5;border-radius:10px;background:#fff;padding:9px 11px}.business-form textarea{min-height:82px;resize:vertical}.business-form button{justify-self:start}.business-records article{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:16px 20px;border-top:1px solid #e7ecf2}.business-records article:first-child{border-top:0}.business-records article.low-stock{border-left:4px solid #e27a31;background:#fffaf5}.business-records h3,.business-records p,.business-records small{margin:0}.business-records p,.business-records small{color:#6c7a8e}.business-records article>form,.po-actions{display:flex;gap:8px;align-items:center}.business-records input[type=number]{width:95px;min-height:38px;border:1px solid #cfd8e5;border-radius:9px;padding:7px}.purchase-list{border-top:8px solid #f4f6f9}.onboarding-card>form{padding:20px}.onboarding-progress{height:8px;margin:0 20px;border-radius:999px;background:#edf1f5;overflow:hidden}.onboarding-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#1268e5,#24a66b)}.onboarding-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px}.onboarding-steps label{cursor:pointer}.onboarding-steps input{position:absolute;opacity:0}.onboarding-steps span{display:grid;grid-template-columns:36px 1fr;gap:2px 10px;align-items:center;min-height:82px;border:1px solid #dfe6ef;border-radius:13px;padding:13px}.onboarding-steps input:checked+span{border-color:#78b59a;background:#f1fbf6}.onboarding-steps i{grid-row:1/3;display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#e9f2ff;color:#1268e5;font-style:normal;font-weight:900}.onboarding-steps small{color:#738096}.plan-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.plan-grid article{position:relative;padding:23px}.plan-grid article.current{border:2px solid #1268e5}.plan-grid article>small{color:#1268e5;font-weight:900;letter-spacing:.08em}.plan-grid h2{margin:7px 0}.plan-grid article>strong{font-size:27px}.plan-grid article>span{color:#718096}.plan-grid ul{display:grid;gap:8px;margin:18px 0 0;padding-left:19px;color:#526176}
@media(max-width:1050px){.business-two-column{grid-template-columns:1fr}.plan-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.business-form{grid-template-columns:1fr}.business-form label.wide{grid-column:auto}.business-kpis{grid-template-columns:repeat(2,1fr)}.onboarding-steps{grid-template-columns:1fr}.plan-grid{grid-template-columns:1fr}.business-records article{align-items:flex-start;flex-direction:column}.business-records article>form{width:100%;flex-wrap:wrap}}
.customer-overview-grid strong { font-size:19px;line-height:1.1; }
.customer-profile-columns { display:grid;grid-template-columns:minmax(0,1.7fr) minmax(230px,.7fr);gap:16px;padding:18px;background:#f7f9fc; }
.customer-profile-columns main { display:grid;gap:16px; }
.customer-profile-columns aside { position:static;height:auto;overflow:visible;padding:0;background:transparent; }
.customer-panel { border:1px solid #e1e7ef;border-radius:14px;background:#fff;overflow:hidden; }
.customer-panel-title { display:flex;justify-content:space-between;gap:12px;align-items:center;padding:16px 17px;border-bottom:1px solid #e8edf3; }
.customer-panel-title h3,.customer-panel-title p { margin:0; }.customer-panel-title h3 { font-size:15px; }.customer-panel-title p { margin-top:3px;color:#748196;font-size:12px; }
.customer-panel-title>span { display:grid;place-items:center;min-width:28px;height:28px;border-radius:9px;background:#eef3f9;color:#506176;font-weight:850; }
.customer-timeline { display:grid; }
.customer-timeline a { display:grid;grid-template-columns:37px minmax(0,1fr) auto;gap:11px;align-items:center;padding:12px 16px;border-bottom:1px solid #edf0f4;color:#27364a;text-decoration:none; }
.customer-timeline a:last-child { border-bottom:0; }.customer-timeline a:hover { background:#f8fbff; }
.customer-timeline strong,.customer-timeline small { display:block; }.customer-timeline small { margin-top:2px;color:#748196;font-size:11px; }
.customer-timeline time { color:#758296;font-size:11px;white-space:nowrap; }
.timeline-mark { display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#e9f2ff;color:#1268e5;font-size:9px;font-style:normal;font-weight:900; }
.timeline-mark.est { background:#fff1df;color:#b65d08; }.timeline-mark.inv { background:#e8f7ef;color:#177d55; }
.customer-order-list { padding:10px; }.customer-order-list a { border:0;border-bottom:1px solid #edf0f4;border-radius:0; }.customer-order-list a:last-child { border-bottom:0; }
.contact-summary { padding-bottom:15px; }.contact-summary>.customer-panel-title { margin-bottom:15px; }.contact-summary>strong,.contact-summary>p,.contact-summary>a,.contact-summary>dl { margin-inline:17px; }.contact-summary>p { margin-block:3px 10px;color:#748196; }.contact-summary>a { display:block;margin-bottom:6px;color:#1268e5;text-decoration:none;overflow-wrap:anywhere; }
.contact-summary dl { display:grid;gap:9px;margin-top:17px;padding-top:14px;border-top:1px solid #e8edf3; }.contact-summary dl div { display:flex;justify-content:space-between;gap:12px; }.contact-summary dt { color:#748196; }.contact-summary dd { margin:0;font-weight:800; }
.customer-finance-note { margin:12px 2px;padding:12px;border-radius:11px;background:#fff7e8;color:#835313;font-size:12px; }
.customer-record-management { border-top:1px solid #e2e8ef; }.customer-record-management>details { border-bottom:1px solid #e7ecf2; }.customer-record-management>details:last-child { border-bottom:0; }.customer-record-management>details>summary { display:flex;justify-content:space-between;padding:16px 20px;cursor:pointer;font-weight:850; }.customer-record-management>details>summary span { color:#718096; }

/* Financial center follows the estimate-to-payment workflow without implying payment processing. */
.finance-center { display:grid;gap:16px; }
.finance-center>.heading { display:flex;justify-content:space-between;align-items:end;margin-bottom:0; }
.finance-heading-actions { display:flex;gap:8px;flex-wrap:wrap; }
.finance-tabs { display:flex;gap:4px;border-bottom:1px solid #dce3ec; }
.finance-tabs a { display:flex;align-items:center;gap:8px;border-bottom:3px solid transparent;padding:11px 15px;color:#66758a;text-decoration:none;font-weight:800; }
.finance-tabs a.active { border-color:#1268e5;color:#1268e5; }.finance-tabs a span { display:grid;place-items:center;min-width:23px;height:23px;border-radius:8px;background:#edf2f7;font-size:11px; }
.finance-kpis { display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:11px; }
.finance-kpis article { display:grid;grid-template-columns:38px minmax(0,1fr);gap:11px;align-items:center;border:1px solid #e0e7f0;border-radius:14px;background:#fff;padding:15px;box-shadow:0 7px 22px rgba(30,48,72,.04); }
.finance-kpis article>span { display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:#e9f2ff;color:#1268e5;font-weight:900; }.finance-kpis article:nth-child(3)>span { background:#ffebeb;color:#b42318; }.finance-kpis article:nth-child(4)>span { background:#fff1dc;color:#a85a09; }.finance-kpis article:nth-child(5)>span { background:#e7f7ef;color:#147650; }
.finance-kpis strong,.finance-kpis small { display:block; }.finance-kpis strong { font-size:clamp(16px,1.6vw,20px);line-height:1.3;overflow-wrap:anywhere;font-variant-numeric:tabular-nums; }.finance-kpis small { margin-top:2px;color:#748196; }
.finance-filter form { display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr) auto auto;gap:10px;align-items:end;padding:15px; }.finance-filter label { display:grid;gap:5px;min-width:0; }.finance-filter label span { color:#5d6b7e;font-size:11px;font-weight:800; }.finance-filter input,.finance-filter select { width:100%;min-width:0;box-sizing:border-box;min-height:40px;border:1px solid #d2dce8;border-radius:9px;background:#fff;padding:8px 10px; }
@media (min-width:641px) and (max-width:1100px) {
  .finance-filter form { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .finance-filter button,.finance-filter a.button { min-height:44px; }
}
.finance-create-grid { display:grid;grid-template-columns:1fr 1fr;gap:14px; }.finance-create-grid .create-panel { margin:0; }.finance-create-grid summary { color:#1268e5; }
.finance-section { overflow:hidden; }.finance-section>.card-title>span { display:grid;place-items:center;min-width:31px;height:31px;border-radius:10px;background:#eef3f9;color:#4d6076;font-weight:850; }
.finance-record-list { display:grid; }.finance-record { display:grid;grid-template-columns:minmax(280px,1fr) auto minmax(220px,auto);gap:16px;align-items:center;padding:17px 20px;border-top:1px solid #e8edf3; }.finance-record:first-child { border-top:0; }
.finance-record-main { display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;align-items:start; }.finance-record-icon { display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#fff0db;color:#b45f08;font-size:10px;font-weight:900; }.finance-record-icon.invoice { background:#e5f3ff;color:#1268e5; }
.finance-record-main h3 { margin:3px 0;font-size:16px; }.finance-record-main p,.finance-record-main small { margin:0;color:#748196; }.finance-status { justify-self:start; }.finance-status.status-paid,.finance-status.status-approved,.finance-status.status-converted { background:#e5f7ed;color:#147650; }.finance-status.status-overdue,.finance-status.status-void { background:#ffebeb;color:#b42318; }.finance-status.status-partial,.finance-status.status-sent { background:#fff3df;color:#9c570d; }
.finance-record-actions { display:flex;justify-content:flex-end;align-items:center;gap:7px;flex-wrap:wrap; }.finance-record-actions>a:not(.button) { color:#1268e5;font-size:12px;font-weight:800;text-decoration:none; }.finance-record-actions form { margin:0; }.finance-record-actions button { min-height:38px;border:1px solid #cbd7e5;border-radius:9px;background:#fff;padding:7px 11px;color:#304860;font-weight:800;cursor:pointer; }.finance-record-actions button.primary { border-color:#1268e5;background:#1268e5;color:#fff; }
.invoice-money { display:flex;gap:18px;flex-wrap:wrap;margin-top:8px; }.invoice-money span { display:grid; }.invoice-money small { font-size:10px; }.invoice-money strong { margin-top:2px;font-size:13px; }
.finance-inline-action { position:relative; }.finance-inline-action>summary { cursor:pointer;color:#1268e5;font-size:12px;font-weight:850;list-style:none; }.finance-inline-action>summary::-webkit-details-marker { display:none; }.finance-inline-action[open] { flex-basis:100%;border:1px solid #dfe7f0;border-radius:11px;background:#f8fafc;padding:11px; }.finance-inline-action[open]>summary { margin-bottom:9px; }.finance-inline-action form { display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:8px;align-items:end; }.finance-inline-action label { display:grid;min-width:0;gap:4px; }.finance-inline-action label span,.finance-inline-action>small { color:#6e7d91;font-size:10px;font-weight:750; }.finance-inline-action input,.finance-inline-action select,.finance-inline-action textarea { width:100%;min-height:37px;max-width:100%;border:1px solid #d3dce7;border-radius:8px;background:#fff;padding:7px 9px; }.finance-inline-action>small { display:block;margin-top:8px; }.finance-inline-action.danger>summary { color:#b42318; }.finance-inline-action.danger form { grid-template-columns:minmax(0,1fr) auto; }.finance-inline-action.danger textarea { min-height:55px; }.finance-inline-action.danger button { color:#b42318;border-color:#f0b9b5; }
.finance-safety { margin:0;background:#f8fbff; }

/* Customer portal administration and customer-facing mobile workspace. */
.portal-admin { display:grid;gap:16px; }.portal-customer-picker form { display:flex;gap:10px;align-items:end;padding:15px; }.portal-customer-picker label { display:grid;gap:5px;min-width:280px; }.portal-customer-picker label span { color:#607086;font-size:11px;font-weight:850; }.portal-customer-picker select { min-height:42px;border:1px solid #d2dce8;border-radius:10px;background:#fff;padding:8px 10px; }
.portal-admin-hero { display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:15px;align-items:center;border:1px solid #dfe7f0;border-radius:16px;background:linear-gradient(125deg,#f1f7ff,#fff 58%,#fff8ed);padding:20px 22px; }.portal-admin-hero small { color:#1268e5;font-size:10px;font-weight:900;letter-spacing:.1em; }.portal-admin-hero h2 { margin:3px 0;font-size:22px; }.portal-admin-hero p { margin:0;color:#6c7a8d; }.portal-admin-hero>span { border-radius:99px;background:#e5f7ed;padding:7px 10px;color:#147650;font-size:11px;font-weight:850; }
.portal-admin-grid { display:grid;grid-template-columns:1fr 1fr;gap:14px; }.portal-admin-grid .create-panel { margin:0; }.portal-form-note { margin:0;padding:0 20px;color:#6d7b8e;font-size:12px; }.portal-admin-sections { display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start; }.portal-admin-section { overflow:hidden; }.portal-admin-section>.card-title>span { display:grid;place-items:center;min-width:29px;height:29px;border-radius:9px;background:#edf2f8;font-weight:850; }.portal-admin-list,.portal-request-list { display:grid; }.portal-admin-list article,.portal-request-list article { display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:13px 16px;border-top:1px solid #e9edf2; }.portal-admin-list strong,.portal-admin-list small { display:block; }.portal-admin-list small { margin-top:3px;color:#758296;font-size:11px; }.portal-admin-list form,.portal-request-list form { display:flex;gap:6px; }.portal-admin-list button,.portal-request-list button { min-height:34px;border:1px solid #ccd8e6;border-radius:8px;background:#fff;padding:6px 9px;color:#44576e;font-size:11px;font-weight:800;cursor:pointer; }.portal-request-list p { margin:3px 0 0; }.portal-request-list select { min-height:34px;border:1px solid #d1dae6;border-radius:8px;padding:6px; }.portal-event-list { display:grid;padding:10px 16px 15px; }.portal-event-list p { display:grid;grid-template-columns:12px 1fr;gap:9px;margin:0;padding:8px 0;border-bottom:1px solid #edf0f4; }.portal-event-list p:last-child { border-bottom:0; }.portal-event-list i { width:9px;height:9px;margin-top:4px;border-radius:50%;background:#1268e5;box-shadow:0 0 0 4px #e8f2ff; }.portal-event-list strong,.portal-event-list small { display:block; }.portal-event-list small { margin-top:2px;color:#798599;font-size:11px; }
.customer-portal-body { min-height:100vh;background:#f4f7fb;color:#1d2a3a; }.customer-portal-header { position:sticky;z-index:20;top:0;display:grid;grid-template-columns:auto 1fr auto;gap:24px;align-items:center;border-bottom:1px solid #e1e7ef;background:#ffffffee;padding:12px max(20px,calc((100vw - 1180px)/2));backdrop-filter:blur(12px); }.customer-portal-header .brand { color:#16243a;text-decoration:none; }.customer-portal-header .brand span { display:inline-grid;place-items:center;width:31px;height:31px;margin-right:6px;border-radius:10px;background:#1268e5;color:#fff; }.customer-portal-header nav { display:flex;justify-content:center;gap:4px; }.customer-portal-header nav a { border-radius:9px;padding:8px 10px;color:#596a80;text-decoration:none;font-size:12px;font-weight:800; }.customer-portal-header nav a:hover { background:#eef5ff;color:#1268e5; }.portal-customer-name { border-radius:99px;background:#edf3fa;padding:7px 10px;color:#42566e;font-size:11px;font-weight:850; }
.portal-customer-session { display:flex;align-items:center;gap:8px; }.portal-customer-session form { margin:0; }.portal-logout { min-height:34px;border:1px solid #cbd8e8;border-radius:10px;background:#fff;padding:7px 12px;color:#344b66;font:800 12px/1 inherit;cursor:pointer; }.portal-logout:hover { border-color:#1268e5;color:#1268e5;background:#f5f9ff; }
.customer-portal-shell { display:grid;gap:20px;width:min(1180px,calc(100% - 32px));margin:0 auto;padding:30px 0 52px; }.portal-welcome { display:flex;justify-content:space-between;gap:24px;align-items:center;border-radius:20px;background:linear-gradient(125deg,#0f5fcf,#1268e5 55%,#2386f2);padding:28px 30px;color:#fff;box-shadow:0 16px 40px rgba(18,104,229,.18); }.portal-welcome .eyebrow { color:#cfe4ff; }.portal-welcome h1 { margin:5px 0;font-size:clamp(27px,4vw,39px);letter-spacing:-.035em; }.portal-welcome p { margin:0;color:#e3efff; }.portal-welcome>span { border:1px solid #ffffff40;border-radius:12px;background:#ffffff18;padding:10px 12px;font-size:11px;font-weight:800;white-space:nowrap; }
.portal-summary { display:grid;grid-template-columns:repeat(3,1fr);gap:12px; }.portal-summary article { display:grid;grid-template-columns:43px 1fr;column-gap:12px;align-items:center;border:1px solid #e0e7f0;border-radius:15px;background:#fff;padding:17px;box-shadow:0 7px 24px rgba(30,48,72,.04); }.portal-summary article>span { grid-row:1/3;display:grid;place-items:center;width:41px;height:41px;border-radius:12px;background:#e8f2ff;color:#1268e5;font-weight:900; }.portal-summary article:nth-child(2)>span { background:#e5f7ed;color:#147650; }.portal-summary article:nth-child(3)>span { background:#fff1dc;color:#a85a09; }.portal-summary strong { font-size:21px; }.portal-summary small { color:#758296; }
.portal-next { display:flex;justify-content:space-between;gap:18px;align-items:center;padding:20px 22px;background:linear-gradient(120deg,#fff,#f3f8ff); }.portal-next small { color:#1268e5;font-weight:850; }.portal-next h2 { margin:4px 0;font-size:20px; }.portal-next p { margin:0;color:#6d7b8e; }.portal-section { scroll-margin-top:80px; }.portal-section-title { display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:11px; }.portal-section-title h2,.portal-section-title p { margin:0; }.portal-section-title h2 { font-size:19px; }.portal-section-title p { margin-top:3px;color:#768397;font-size:12px; }.portal-section-title>span { display:grid;place-items:center;min-width:30px;height:30px;border-radius:9px;background:#e8eef5;color:#53667c;font-weight:850; }
.portal-card-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px; }.portal-resource-card { border:1px solid #e0e7f0;border-radius:15px;background:#fff;padding:17px;box-shadow:0 7px 22px rgba(30,48,72,.035); }.portal-resource-top { display:flex;justify-content:space-between;gap:12px;align-items:center; }.portal-resource-top>span { display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#e8f2ff;color:#1268e5;font-size:10px;font-weight:900; }.portal-resource-card h3 { margin:12px 0 7px;font-size:17px; }.portal-resource-card p { margin:4px 0;color:#69788c;font-size:12px; }.portal-resource-card>.button { margin-top:14px; }.portal-invoice-money { display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:13px 0; }.portal-invoice-money span { border-radius:9px;background:#f5f8fb;padding:8px; }.portal-invoice-money small,.portal-invoice-money strong { display:block; }.portal-invoice-money small { color:#788598;font-size:9px; }.portal-invoice-money strong { margin-top:2px;font-size:12px; }.portal-estimate-actions { display:flex;gap:8px;align-items:start;margin-top:14px; }.portal-estimate-actions form { margin:0; }.portal-estimate-actions button { min-height:38px;border:1px solid #cbd6e3;border-radius:9px;background:#fff;padding:7px 11px;font-weight:800; }.portal-estimate-actions button.primary { border-color:#1268e5;background:#1268e5;color:#fff; }.portal-estimate-actions details summary { cursor:pointer;color:#1268e5;font-size:12px;font-weight:850; }.portal-estimate-actions details[open] { flex:1; }.portal-estimate-actions details form { display:grid;gap:7px;margin-top:8px; }.portal-estimate-actions textarea { min-height:70px;border:1px solid #d2dce8;border-radius:9px;padding:8px; }
.portal-evidence-upload { margin-top:12px;border:1px solid #d6e2ef;border-radius:13px;background:#f8fbff;padding:12px; }.portal-evidence-upload summary { cursor:pointer;color:#1268e5;font-weight:850; }.portal-evidence-upload>p { margin:7px 0;color:#69788c;font-size:12px; }.portal-evidence-upload form { display:grid;grid-template-columns:minmax(130px,1fr) minmax(180px,2fr) auto;gap:9px;align-items:center;border-top:1px solid #e1e9f2;padding-top:10px;margin-top:10px; }.portal-evidence-upload input[type="file"] { min-width:0;width:100%; }.portal-evidence-upload button { min-height:42px;white-space:nowrap; }
@media (max-width:680px){.portal-evidence-upload form{grid-template-columns:1fr}.portal-evidence-upload button{width:100%}}
.portal-photo-grid { display:grid;grid-template-columns:repeat(4,1fr);gap:10px; }.portal-photo-grid a { display:grid;grid-template-columns:42px 1fr;gap:10px;align-items:center;border:1px solid #e0e7ef;border-radius:13px;background:#fff;padding:13px;color:#2d3d52;text-decoration:none; }.portal-photo-grid a>span { grid-row:1/3;display:grid;place-items:center;width:40px;height:40px;border-radius:11px;background:#e8f2ff;color:#1268e5; }.portal-photo-grid strong,.portal-photo-grid small { overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }.portal-photo-grid small { color:#758296;font-size:10px; }.portal-request-grid { display:grid;grid-template-columns:.8fr 1.2fr;gap:13px; }.portal-request-grid>.card { padding:18px; }.portal-request-grid form { display:grid;gap:9px; }.portal-request-grid label { display:grid;gap:5px; }.portal-request-grid label span { font-weight:850; }.portal-request-grid select,.portal-request-grid textarea { width:100%;border:1px solid #d1dbe7;border-radius:10px;background:#fff;padding:9px; }.portal-request-grid textarea { min-height:120px; }.portal-request-history { display:grid; }.portal-request-history article { display:grid;grid-template-columns:1fr auto;gap:8px;padding:11px 0;border-bottom:1px solid #ebeff4; }.portal-request-history article:last-child { border-bottom:0; }.portal-request-history strong,.portal-request-history small { display:block; }.portal-request-history small { color:#788599;font-size:10px; }.portal-request-history p { grid-column:1/-1;margin:0;color:#5f6f83;font-size:12px; }.customer-portal-footer { display:flex;justify-content:space-between;border-top:1px solid #dfe6ee;background:#fff;padding:20px max(20px,calc((100vw - 1180px)/2));color:#69778a;font-size:12px; }
.portal-link-result { display:grid;place-items:center;min-height:100vh;background:#f4f7fb;padding:20px; }.portal-link-result>.card { width:min(700px,100%);padding:28px; }.portal-link-result h1 { font-size:30px; }.portal-copy-link { display:grid;grid-template-columns:1fr auto;gap:8px;margin:18px 0; }.portal-copy-link input { min-width:0;border:1px solid #cfd9e6;border-radius:10px;background:#f8fafc;padding:11px; }.portal-copy-link button { border:0;border-radius:10px;background:#1268e5;padding:9px 14px;color:#fff;font-weight:850; }.portal-link-result section>div:last-child { display:flex;gap:8px;flex-wrap:wrap; }

/* Find a time is a read-only scheduling assistant; dispatch remains explicit. */
.find-time-card { margin-bottom:18px;overflow:hidden; }
.find-time-head { display:flex;justify-content:space-between;gap:20px;align-items:end;padding:20px 22px;background:linear-gradient(130deg,#f4f9ff,#fff 55%,#f2fbf7);border-bottom:1px solid #e0e9f2; }
.find-time-head small { color:#1268e5;font-size:10px;font-weight:900;letter-spacing:.11em; }
.find-time-head h2 { margin:5px 0 4px;font-size:21px; }
.find-time-head p { margin:0;color:#66758a; }
.find-time-head form { display:flex;gap:8px;align-items:end; }
.find-time-head label { display:grid;gap:4px;color:#526174;font-size:11px;font-weight:800; }
.find-time-head select { min-width:110px;min-height:40px;border:1px solid #ccd7e5;border-radius:9px;background:#fff;padding:7px 10px; }
.find-time-head button { min-height:40px;border:0;border-radius:9px;background:#1268e5;padding:8px 14px;color:#fff;font-weight:850; }
.find-time-results { padding:17px 22px 20px; }
.find-time-results>h3 { margin:0 0 11px;font-size:13px;color:#415168; }
.find-time-results>div { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px; }
.find-time-results article { display:grid;grid-template-columns:36px 1fr auto;gap:10px;align-items:center;padding:11px;border:1px solid #e2e8f0;border-radius:11px;background:#fff; }
.find-time-results article>span { display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#e9f3ff;color:#1268e5;font-weight:900; }
.find-time-results article strong,.find-time-results article small { display:block; }
.find-time-results article small { margin-top:3px;color:#6e7b8d;font-size:11px; }
.find-time-results article small b { color:#15805a; }
.find-time-results article em { border-radius:99px;background:#eaf8f1;padding:5px 8px;color:#147650;font-size:11px;font-style:normal;font-weight:850; }

/* Keep high-frequency forms compact and easy to scan. */
.invite-access-card .settings-form { grid-template-columns: minmax(240px,2fr) minmax(210px,1fr) auto; align-items: end; }
.invite-access-card .settings-form button { justify-self: stretch; white-space: nowrap; }

/* Dashboard: actions first, filters second, information ordered by importance. */
.analytics-dashboard { --dash-shadow: 0 9px 28px rgba(30,48,72,.055); }
.analytics-dashboard .dashboard-heading { align-items: center; margin-bottom: 16px; }
.dashboard-refresh-group { display: grid; justify-items: end; gap: 7px; }
.dashboard-refresh-group button { border: 1px solid #d4dfed; background: #fff; border-radius: 10px; padding: 9px 13px; color: var(--blue); font-weight: 800; cursor: pointer; }
.dashboard-refresh-group button:hover { background: #f3f8ff; border-color: #9fc0ec; }
.dashboard-refresh-group .updated { border: 0; background: transparent; padding: 0; font-size: 11px; }
.dashboard-action-bar { display: flex; align-items: center; gap: 9px; margin: 0 0 16px; overflow-x: auto; }
.dashboard-action-bar a { display: inline-flex; align-items: center; gap: 8px; min-height: 42px; border: 1px solid #d7e0eb; border-radius: 11px; background: #fff; padding: 9px 14px; color: #344054; font-weight: 780; text-decoration: none; white-space: nowrap; box-shadow: 0 4px 14px rgba(30,48,72,.035); }
.dashboard-action-bar a:hover { border-color: #aac6eb; background: #f7faff; color: var(--blue); }
.dashboard-action-bar a span { display: grid; place-items: center; width: 22px; height: 22px; border-radius: 7px; background: #eef4fd; color: var(--blue); font-size: 14px; }
.dashboard-action-bar .dashboard-primary-action { border-color: var(--blue); background: var(--blue); color: #fff; }
.dashboard-action-bar .dashboard-primary-action:hover { background: #0f5fcf; color: #fff; }
.dashboard-action-bar .dashboard-primary-action span { background: #ffffff26; color: #fff; }
.analytics-dashboard .dashboard-filter-card { margin-bottom: 16px; border-radius: 14px; padding: 14px 16px; box-shadow: var(--dash-shadow); }
.analytics-dashboard .dashboard-filter-title { margin-bottom: 10px; }
.analytics-dashboard .dashboard-filter-grid { grid-template-columns: repeat(5,minmax(112px,1fr)) auto; gap: 9px; }
.analytics-dashboard .dashboard-filter-grid input,.analytics-dashboard .dashboard-filter-grid select { min-height: 40px; border-color: #d4dce7; }
.analytics-dashboard .dashboard-kpis { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; margin-bottom: 16px; }
.analytics-dashboard .dashboard-kpis .stat { min-height: 132px; padding: 17px 18px; border-radius: 15px; box-shadow: var(--dash-shadow); }
.analytics-dashboard .dashboard-kpis .stat::before { width: 3px; }
.analytics-dashboard .dashboard-kpis .stat:nth-child(3)::before { background: #20a66a; }
.analytics-dashboard .dashboard-kpis .stat:nth-child(5)::before,.analytics-dashboard .dashboard-kpis .stat:nth-child(6)::before { background: #f59e0b; }
.analytics-dashboard .dashboard-kpis .stat:nth-child(7)::before { background: #7c3aed; }
.analytics-dashboard .dashboard-kpis .stat strong { margin: 5px 0; font-size: 30px; letter-spacing: -.04em; }
.analytics-dashboard .dashboard-kpis .stat span { font-size: 13px; }
.analytics-dashboard .dashboard-chart-grid { grid-template-columns: repeat(12,minmax(0,1fr)); gap: 16px; }
.analytics-dashboard .chart-card { grid-column: span 6; border-radius: 16px; padding: 20px; box-shadow: var(--dash-shadow); }
.analytics-dashboard .chart-card:nth-child(1) { grid-column: span 5; }
.analytics-dashboard .chart-card:nth-child(2) { grid-column: span 7; }
.analytics-dashboard .chart-card:nth-child(3) { grid-column: span 8; }
.analytics-dashboard .chart-card:nth-child(4) { grid-column: span 4; }
.analytics-dashboard .chart-card-full { grid-column: 1/-1; }
.analytics-dashboard .chart-heading { display: flex; justify-content: space-between; gap: 16px; }
.analytics-dashboard .chart-heading h2 { font-size: 18px; letter-spacing: -.015em; }
.analytics-dashboard .chart-heading p { margin-bottom: 16px; }
.analytics-dashboard .donut-layout { min-height: 176px; }
.analytics-dashboard .donut-chart { width: 142px; height: 142px; }
.analytics-dashboard .column-chart { height: 205px; }
.analytics-dashboard .attention-list div { min-height: 45px; border: 1px solid #edf0f5; background: #f8fafc; }
.analytics-dashboard>.notice { margin-top: 16px; background: #f8fbff; }

@media (max-width: 1100px) {
  .analytics-dashboard .dashboard-filter-grid { grid-template-columns: repeat(3,minmax(140px,1fr)); }
  .analytics-dashboard .dashboard-kpis { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .analytics-dashboard .chart-card,.analytics-dashboard .chart-card:nth-child(n) { grid-column: span 6; }
  .analytics-dashboard .chart-card-full { grid-column: 1/-1; }
  .finance-kpis { grid-template-columns:repeat(3,1fr); }.finance-record { grid-template-columns:minmax(260px,1fr) auto; }.finance-record-actions { grid-column:1/-1;justify-content:flex-start; }.finance-inline-action[open] { flex-basis:auto;width:100%; }
  .portal-card-grid { grid-template-columns:repeat(2,1fr); }.portal-photo-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 760px) {
  .app { grid-template-columns: 1fr; }
  .workspace header { position: static; }
  .workspace main { padding: 20px 16px 34px; }
  .dashboard-refresh-group { justify-items: start; margin-top: 13px; }
  .dashboard-action-bar { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-inline:0;padding:2px;overflow:visible; }
  .dashboard-action-bar a { justify-content:flex-start;min-width:0;white-space:normal; }
  .analytics-dashboard .dashboard-filter-grid { grid-template-columns: 1fr; }
  .analytics-dashboard .dashboard-kpis { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .analytics-dashboard .dashboard-kpis .stat { min-height: 122px; padding: 15px; }
  .analytics-dashboard .dashboard-chart-grid { grid-template-columns: 1fr; }
  .analytics-dashboard .chart-card,.analytics-dashboard .chart-card:nth-child(n),.analytics-dashboard .chart-card-full { grid-column: auto; }
  .invite-access-card .settings-form { grid-template-columns: 1fr; }
  .global-create>summary { padding:7px 9px;font-size:0; }
  .global-create>summary span { font-size:17px; }
  .global-create>div { position:fixed;top:60px;right:12px;left:12px;width:auto; }
  .customer-360-head,.find-time-head { display:grid; }
  .customer-workspace { grid-template-columns:1fr; }
  .customer-directory { position:static;max-height:none; }
  .customer-directory nav { display:flex;max-height:none;overflow-x:auto; }
  .customer-directory nav a { flex:0 0 230px; }
  .customer-profile-columns { grid-template-columns:1fr; }
  .customer-profile-actions { flex-wrap:wrap;overflow:visible; }
  .customer-profile-actions .button { flex:1 1 135px;justify-content:center; }
  .customer-profile-hero { grid-template-columns:48px minmax(0,1fr); }.customer-profile-hero>.pill { grid-column:2;justify-self:start; }
  .finance-center>.heading { display:grid;gap:14px; }.finance-tabs { overflow-x:auto; }.finance-tabs a { white-space:nowrap; }.finance-kpis { grid-template-columns:repeat(2,1fr); }.finance-filter form,.finance-create-grid { grid-template-columns:1fr; }.finance-record { grid-template-columns:1fr; }.finance-status { justify-self:start; }.finance-record-actions { grid-column:auto;justify-content:flex-start; }.finance-inline-action form,.finance-inline-action.danger form { grid-template-columns:1fr; }
  .portal-admin-grid,.portal-admin-sections { grid-template-columns:1fr; }.portal-admin-hero { grid-template-columns:48px 1fr; }.portal-admin-hero>span { grid-column:2;justify-self:start; }.portal-admin-list article,.portal-request-list article { grid-template-columns:1fr auto; }.portal-admin-list form,.portal-request-list form { grid-column:1/-1; }.portal-customer-picker form { display:grid;grid-template-columns:minmax(0,1fr);align-items:stretch; }.portal-customer-picker label { min-width:0; }.portal-customer-picker button { width:100%; }.customer-portal-header { grid-template-columns:1fr auto;padding:10px 16px; }.customer-portal-header nav { grid-column:1/-1;justify-content:flex-start;overflow-x:auto;order:3; }.customer-portal-header nav a { white-space:nowrap; }.customer-portal-shell { width:min(100% - 24px,1180px);padding-top:18px; }.portal-welcome { display:grid;padding:22px; }.portal-welcome>span { justify-self:start;white-space:normal; }.portal-card-grid,.portal-request-grid { grid-template-columns:1fr; }
  .business-tabs { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible; }
  .business-tabs a { display:grid;place-items:center;min-width:0;text-align:center;white-space:normal; }
  .customer-360-metrics { grid-template-columns:repeat(2,1fr); }
  .customer-360-metrics span:nth-child(2) { border-right:0; }
  .find-time-head form { display:grid;grid-template-columns:1fr auto; }
  .find-time-results>div { grid-template-columns:1fr; }
}
@media (max-width: 430px) {
  .analytics-dashboard .dashboard-kpis { grid-template-columns: 1fr; }
  .customer-overview-grid { grid-template-columns:1fr 1fr; }
  .customer-overview-grid span:nth-child(2) { border-right:0; }
  .customer-timeline a { grid-template-columns:34px minmax(0,1fr); }.customer-timeline time { grid-column:2; }
  .finance-kpis { grid-template-columns:1fr; }
  .portal-summary { grid-template-columns:1fr; }.portal-photo-grid { grid-template-columns:1fr; }.portal-customer-name { max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }.customer-portal-footer { display:grid;gap:4px; }
}

/* Work Order visits: compact timeline for multi-day and repeat appointments. */
.visit-manager { overflow:hidden; }
.visit-create { margin:0 0 18px;border:1px solid #dce6f2;border-radius:13px;background:#f8fbff; }
.visit-create>summary { cursor:pointer;padding:13px 15px;color:var(--blue);font-weight:850; }
.visit-create form { display:grid;grid-template-columns:2fr repeat(4,minmax(130px,1fr));gap:11px;padding:0 15px 15px;align-items:end; }
.visit-create label { display:grid;gap:6px; }
.visit-create label span { color:#59687b;font-size:12px;font-weight:780; }
.visit-create input,.visit-create select,.visit-create textarea { min-height:42px;border:1px solid #d5deea;border-radius:9px;padding:9px;background:#fff; }
.visit-create .visit-instructions { grid-column:1/-2; }
.visit-timeline { display:grid;gap:10px; }
.visit-item { display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:13px;align-items:start;padding:15px;border:1px solid #e2e7ef;border-radius:14px;background:#fff; }
.visit-number { display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:#eaf2ff;color:var(--blue);font-weight:900; }
.visit-main h3 { margin:3px 0 5px;font-size:16px; }
.visit-main p { margin:2px 0;color:#637083;font-size:13px; }
.visit-main small { color:#778397;font-weight:760; }
.visit-actions { display:grid;justify-items:end;gap:8px; }
.visit-actions form { display:flex;gap:6px; }
.visit-actions button { min-height:34px;padding:7px 11px;border:1px solid #bfd0e5;border-radius:9px;background:#fff;color:#31506f;font-size:12px;font-weight:780;cursor:pointer; }
.visit-actions button:first-of-type { border-color:#addbc5;background:#ecf9f2;color:#147650; }
.visit-actions button:hover { transform:translateY(-1px);box-shadow:0 4px 10px rgba(32,56,85,.08); }
.visit-completed { border-color:#bfe4d2;background:#fbfffd; }
.visit-completed .visit-number { background:#dff6ea;color:#147650; }
.visit-cancelled { opacity:.68; }
.calendar-service-visit { border-color:#bfd7fa;background:#f7fbff; }
.visit-sequence { display:grid;place-items:center;flex:0 0 22px;width:22px;height:22px;border-radius:7px;background:var(--blue);color:#fff;font-size:11px;font-weight:900; }
@media (max-width: 1000px) { .visit-create form { grid-template-columns:repeat(2,minmax(0,1fr)); }.visit-create .visit-instructions { grid-column:1/-1; } }
@media (max-width: 640px) { .visit-create form { grid-template-columns:1fr; }.visit-create .visit-instructions { grid-column:auto; }.visit-item { grid-template-columns:34px 1fr; }.visit-actions { grid-column:2;justify-items:start; }.visit-actions form { flex-wrap:wrap; } }

/* Visual Work Order Center */
.wo-center { --wo-shadow:0 8px 26px rgba(30,52,78,.065); }
.wo-view-switch { display:flex;gap:5px;border:1px solid #d8e1ec;border-radius:11px;background:#f4f7fb;padding:4px; }
.wo-view-switch a { padding:8px 12px;border-radius:8px;color:#526174;font-size:13px;font-weight:820;text-decoration:none; }
.wo-view-switch a.active { background:#fff;color:var(--blue);box-shadow:0 2px 8px #22385212; }
.wo-quick-filters { display:flex;align-items:center;gap:8px;margin:-4px 0 14px;overflow-x:auto;padding:3px 1px; }
.wo-quick-filters span { color:#768396;font-size:11px;font-weight:850;text-transform:uppercase;white-space:nowrap; }
.wo-quick-filters a { border:1px solid #dbe3ed;border-radius:99px;background:#fff;padding:7px 11px;color:#41546b;font-size:12px;font-weight:750;text-decoration:none;white-space:nowrap; }
.wo-quick-filters a:hover { border-color:#aac8ee;background:#f4f8ff;color:var(--blue); }
.wo-filter-card { margin-bottom:15px;overflow:visible; }
.wo-filter-form { display:grid;grid-template-columns:minmax(190px,1.5fr) repeat(4,minmax(125px,1fr)) auto auto;gap:9px;align-items:end;min-width:0;padding:15px; }
.wo-filter-form label { display:grid;gap:5px;min-width:0;color:#647286;font-size:11px;font-weight:780; }
.wo-filter-form input,.wo-filter-form select,.wo-saved-views input { width:100%;min-height:40px;border:1px solid #d4dde8;border-radius:9px;background:#fff;padding:8px 10px;font:inherit; }
.wo-filter-form input[type="date"] { display:block;inline-size:100%;min-inline-size:0;max-inline-size:100%;overflow:hidden; }
.wo-filter-form .button { min-height:40px;display:grid;place-items:center;border:1px solid #d5deea;border-radius:9px;padding:8px 11px;color:#526174;text-decoration:none;font-weight:750; }
.wo-saved-views { display:flex;align-items:center;gap:7px;border-top:1px solid #e8edf3;padding:11px 15px;overflow-x:auto; }
.wo-saved-views>strong { color:#718094;font-size:11px;text-transform:uppercase;white-space:nowrap; }
.wo-saved-views>span { display:flex;align-items:center;border:1px solid #dae3ee;border-radius:8px;background:#f8fafc;white-space:nowrap; }
.wo-saved-views>span>a { padding:6px 8px;color:#35506e;text-decoration:none;font-size:12px;font-weight:750; }
.wo-saved-views>span form button { border:0;background:transparent;padding:5px 8px;color:#8490a0;cursor:pointer; }
.wo-saved-views>form { display:flex;gap:6px;min-width:265px;margin-left:auto; }
.wo-saved-views>form button { border:1px solid #bfd1e8;border-radius:8px;background:#fff;color:var(--blue);font-weight:760;white-space:nowrap; }
.wo-bulk-bar { position:sticky;top:61px;z-index:8;display:flex;align-items:center;gap:8px;margin-bottom:13px;border:1px solid #d9e4f2;border-radius:12px;background:#f8fbffed;padding:9px 12px;box-shadow:0 5px 18px #253e5d0a;backdrop-filter:blur(8px); }
.wo-bulk-bar strong { margin-right:auto;font-size:13px; }
.wo-bulk-bar input,.wo-bulk-bar select { min-height:36px;border:1px solid #d3dde9;border-radius:8px;background:#fff;padding:6px 8px; }
.wo-bulk-bar button { min-height:36px;border:0;border-radius:8px;background:var(--blue);padding:7px 12px;color:#fff;font-weight:800; }
.wo-list-modern { display:grid;gap:11px; }
.wo-visual-card { position:relative;border:1px solid #dfe6ee;border-left:4px solid #90a4bd;border-radius:14px;background:#fff;padding:17px 18px;box-shadow:var(--wo-shadow);transition:transform .18s,border-color .18s,box-shadow .18s; }
.wo-visual-card:hover { transform:translateY(-1px);border-color:#c4d3e5;box-shadow:0 11px 30px rgba(30,52,78,.095); }
.wo-visual-card.status-completed { border-left-color:#20a66a; }.wo-visual-card.status-in_progress { border-left-color:#1677e8; }.wo-visual-card.status-awaiting_inspection,.wo-visual-card.status-correction_required { border-left-color:#f59e0b; }.wo-visual-card.status-cancelled { opacity:.72; }
.wo-select { position:absolute;top:15px;right:17px;display:flex;align-items:center;gap:5px;color:#7a8798;font-size:10px; }
.wo-select input { width:16px;height:16px;accent-color:var(--blue); }.wo-select span { position:absolute;width:1px;height:1px;overflow:hidden; }
.wo-card-top { display:flex;align-items:center;gap:9px;padding-right:28px; }.wo-card-top>span { color:var(--blue);font-size:11px;font-weight:900;letter-spacing:.04em; }
.wo-visual-card h3 { margin:8px 0 3px;font-size:17px; }.wo-visual-card>p { margin:0 0 11px;color:#647286;font-size:13px; }
.wo-meta { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 18px;color:#59687a;font-size:12px; }.wo-meta span { overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.wo-card-actions { display:flex;gap:14px;margin-top:13px;border-top:1px solid #edf1f5;padding-top:11px; }.wo-card-actions a { color:var(--blue);font-size:12px;font-weight:800;text-decoration:none; }
.wo-visual-card>details { margin-top:12px;border-top:1px solid #e8edf3; }.wo-visual-card>details>summary { cursor:pointer;padding:10px 0 0;color:#617084;font-size:12px;font-weight:750; }
.wo-board { display:flex;gap:13px;overflow-x:auto;padding:2px 2px 18px;scroll-snap-type:x proximity; }
.wo-lane { flex:0 0 310px;scroll-snap-align:start;border:1px solid #dfe6ef;border-radius:15px;background:#f5f7fa;overflow:hidden; }
.wo-lane>header { display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;padding:13px 14px;border-bottom:1px solid #dfe6ef;background:#fff; }.wo-lane>header strong { font-size:13px; }.wo-lane>header em { display:grid;place-items:center;min-width:23px;height:23px;border-radius:99px;background:#eef2f7;color:#617084;font-size:11px;font-style:normal;font-weight:850; }
.wo-lane>div { display:grid;gap:9px;padding:10px; }.wo-lane .wo-visual-card { padding:14px;box-shadow:0 3px 12px #263d580a; }.wo-lane .wo-meta { grid-template-columns:1fr; }.wo-lane .wo-select { top:12px;right:12px; }
.wo-drawer { display:none;position:fixed;inset:0;z-index:100; }.wo-drawer:target { display:block; }.wo-drawer-backdrop { position:absolute;inset:0;background:#11203370;backdrop-filter:blur(2px); }.wo-drawer>div { position:absolute;top:0;right:0;bottom:0;width:min(520px,94vw);overflow-y:auto;background:#f7f9fc;box-shadow:-20px 0 50px #0d203040;animation:drawer-in .2s ease-out; }
@keyframes drawer-in { from{transform:translateX(30px);opacity:.6} }
.wo-drawer header { position:relative;padding:24px 25px 20px;background:#fff;border-bottom:1px solid #dfe6ef; }.wo-drawer header>span { color:var(--blue);font-size:11px;font-weight:900; }.wo-drawer header>a { position:absolute;top:18px;right:20px;display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:#f1f4f8;color:#526174;font-size:24px;text-decoration:none; }.wo-drawer header h2 { margin:7px 42px 10px 0;font-size:23px; }
.wo-drawer section { margin:13px;padding:17px;border:1px solid #dfe6ef;border-radius:13px;background:#fff; }.wo-drawer section h3 { margin:0 0 12px;font-size:15px; }.wo-drawer-facts { display:grid;grid-template-columns:1fr 1fr;gap:12px; }.wo-drawer-facts p { margin:0; }.wo-drawer-facts small,.wo-drawer-facts strong { display:block; }.wo-drawer-facts small { color:#7b8796;font-size:10px;font-weight:780;text-transform:uppercase; }.wo-drawer-facts strong { margin-top:3px;font-size:13px; }
.wo-mini-timeline { display:grid;gap:8px; }.wo-mini-timeline p { display:grid;grid-template-columns:28px 1fr;gap:9px;margin:0; }.wo-mini-timeline p>b { display:grid;place-items:center;width:27px;height:27px;border-radius:8px;background:#e8f1ff;color:var(--blue);font-size:11px; }.wo-mini-timeline span { display:grid; }.wo-mini-timeline small { color:#788495; }
.wo-comment-list { display:grid;gap:8px;max-height:260px;overflow:auto; }.wo-comment-list article { border-left:3px solid #d6e5f8;background:#f8fafc;padding:9px 11px; }.wo-comment-list p { margin:3px 0;white-space:pre-wrap; }.wo-comment-list small { color:#8490a0; }.wo-comment-form { display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:11px; }.wo-comment-form textarea { min-height:68px;border:1px solid #d5deea;border-radius:9px;padding:9px;resize:vertical; }.wo-comment-form button { border:0;border-radius:9px;background:var(--blue);padding:8px 12px;color:#fff;font-weight:800; }.wo-drawer footer { padding:5px 17px 24px; }.wo-drawer footer a { display:flex;justify-content:center;text-decoration:none; }
@media(max-width:1100px){.wo-filter-form{grid-template-columns:repeat(3,minmax(0,1fr))}.wo-filter-form label:first-of-type{grid-column:span 2}.wo-bulk-bar{top:0;overflow-x:auto}.wo-bulk-bar>*{flex:0 0 auto}}
@media(max-width:700px){.wo-center>.heading{display:grid}.wo-view-switch{justify-self:start}.wo-quick-filters{flex-wrap:wrap;overflow:visible}.wo-filter-form{grid-template-columns:minmax(0,1fr)}.wo-filter-form label:first-of-type{grid-column:auto}.wo-filter-form input[type="date"]{-webkit-appearance:none;appearance:none}.wo-saved-views{align-items:flex-start;flex-wrap:wrap}.wo-saved-views>form{margin-left:0;width:100%}.wo-bulk-bar{position:static;display:grid;grid-template-columns:minmax(0,1fr);overflow:visible}.wo-bulk-bar>*{width:100%;min-width:0}.wo-bulk-bar strong{display:none}.wo-list-modern{gap:9px}.wo-meta{grid-template-columns:1fr}.wo-drawer-facts{grid-template-columns:1fr}.wo-comment-form{grid-template-columns:1fr}.wo-board{margin-inline:-14px;padding-inline:14px}.wo-lane{flex-basis:84vw}}
.subscription-access{display:grid;gap:24px}.subscription-state{display:inline-flex;align-items:center;justify-content:center;padding:10px 16px;border-radius:999px;background:#e8f7ee;color:#147a43;font-weight:800}.subscription-access.limited .subscription-state{background:#fff0e3;color:#b65308}.subscription-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.subscription-summary article{background:#fff;border:1px solid var(--line,#e4e9f0);border-radius:14px;padding:20px;box-shadow:0 8px 24px rgba(17,37,68,.06)}.subscription-summary small,.subscription-summary strong{display:block}.subscription-summary small{color:#6b778c;margin-bottom:8px}.subscription-summary strong{font-size:1.15rem;color:#0a214c}.subscription-next{display:flex;align-items:center;justify-content:space-between;gap:24px}.subscription-next h2{margin:.3rem 0}.subscription-next p{max-width:720px;margin-bottom:0}.subscription-access.limited .subscription-next{border-left:4px solid #ff7200}@media(max-width:800px){.subscription-summary{grid-template-columns:1fr 1fr}.subscription-next{align-items:flex-start;flex-direction:column}}@media(max-width:480px){.subscription-summary{grid-template-columns:1fr}}
.subscription-plans .card-title{align-items:flex-start}.subscription-plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.subscription-plan-option{display:grid;gap:9px;border:1px solid var(--line,#e4e9f0);border-radius:14px;padding:18px;background:#f8fafc}.subscription-plan-option.current{border-color:#2c83ea;background:#f2f7ff;box-shadow:inset 0 0 0 1px #2c83ea}.subscription-plan-option>div{display:flex;align-items:center;justify-content:space-between;gap:8px}.subscription-plan-option>b{font-size:1.35rem;color:#0a214c}.subscription-plan-option small{color:#6b778c}.subscription-plan-actions{display:grid!important;grid-template-columns:1fr 1fr;align-items:stretch!important;gap:8px;margin-top:8px}.subscription-plan-actions form,.subscription-plan-actions button{width:100%;margin:0}.subscription-plans>form{margin-top:16px}@media(max-width:800px){.subscription-plan-grid{grid-template-columns:1fr}}@media(max-width:480px){.subscription-plan-actions{grid-template-columns:1fr}}

/* Email and marketing integration center */
.integration-heading{margin-bottom:16px}.integration-heading p{max-width:720px}.integration-system-note{display:flex;align-items:center;gap:14px;margin-bottom:18px;border:1px solid #cfe0f5;border-radius:14px;background:#f5f9ff;padding:15px 18px}.integration-system-note p,.integration-security p{margin:3px 0 0;color:#657489;font-size:13px}.integration-system-icon{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:12px;background:#e3efff;color:var(--blue);font-size:20px}.integration-section{border:1px solid #dfe6ef;border-radius:16px;background:#fff;padding:21px;box-shadow:0 8px 26px rgba(30,52,78,.055)}.integration-section .section-heading{margin-bottom:17px}.integration-section .section-heading h2{margin:0 0 5px;font-size:18px}.integration-section .section-heading p{margin:0;color:#68768a;font-size:13px}.integration-provider-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.integration-provider{display:flex;min-height:190px;flex-direction:column;justify-content:space-between;border:1px solid #dce4ee;border-radius:14px;background:#fbfcfe;padding:18px;transition:.18s ease}.integration-provider:hover{border-color:#b7cce6;transform:translateY(-1px)}.integration-provider.selected{border-color:#94bbea;background:#f7fbff;box-shadow:inset 0 0 0 1px #d7e8fb}.integration-provider-top{display:flex;align-items:flex-start;gap:14px}.integration-provider-top h2{margin:3px 0 6px;font-size:18px}.integration-provider-top p{margin:0;color:#69778b;font-size:13px;line-height:1.5}.integration-logo{display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;border-radius:13px;color:#fff;font-size:22px;font-weight:900}.integration-logo.mailchimp{background:#f0b52e;color:#152238}.integration-logo.brevo{background:#7657ff}.integration-provider-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:20px;border-top:1px solid #e8edf3;padding-top:14px}.integration-provider-footer form{margin:0}.integration-provider-footer strong{color:#176f50;font-size:13px}.integration-status{display:inline-flex;border-radius:99px;background:#edf1f6;padding:6px 9px;color:#657386;font-size:11px;font-weight:850;text-transform:uppercase}.integration-status.selected{background:#e4f6ed;color:#16704f}.integration-security{display:flex;align-items:flex-start;gap:11px;margin-top:16px;border-radius:12px;background:#f3faf6;padding:13px 15px}.integration-security>span{display:grid;place-items:center;flex:0 0 25px;width:25px;height:25px;border-radius:99px;background:#d9f3e6;color:#117249;font-weight:900}.integration-request-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:16px;margin-top:16px}.integration-request-layout .settings-form{display:grid;gap:13px}.integration-request-layout .settings-form label{display:grid;gap:6px}.integration-request-layout .settings-form label>span{color:#5d6b7e;font-size:12px;font-weight:780}.integration-request-layout textarea{min-height:105px;resize:vertical}.integration-request-layout .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.integration-request-list{display:grid;gap:10px}.integration-request{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;border:1px solid #e1e7ef;border-radius:12px;background:#f9fbfd;padding:13px}.integration-request p{margin:4px 0 0;color:#68768a;font-size:12px}.integration-request>div:last-child{text-align:right}.integration-request span,.integration-request small{display:block;color:#68768a;font-size:11px}.integration-request small{margin-top:5px;color:#1a7653;font-weight:800}
@media(max-width:850px){.integration-provider-grid,.integration-request-layout{grid-template-columns:1fr}.integration-request-layout .form-grid{grid-template-columns:1fr}}
@media(max-width:520px){.integration-section{padding:16px}.integration-provider-top{display:grid}.integration-provider-footer,.integration-request{align-items:flex-start;flex-direction:column}.integration-request>div:last-child{text-align:left}}

.audience-readiness{margin-top:16px}.audience-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:18px}.audience-metrics article{border:1px solid #dfe7f0;border-radius:12px;background:#f8fafc;padding:13px 15px}.audience-metrics small,.audience-metrics strong{display:block}.audience-metrics small{color:#718094;font-size:11px;font-weight:800;text-transform:uppercase}.audience-metrics strong{margin-top:5px;color:#102b53;font-size:22px}.audience-workspace{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.audience-workspace>div{min-width:0;border-top:1px solid #e7ecf2;padding-top:16px}.audience-workspace h3{margin:0 0 11px;font-size:15px}.audience-workspace h3:not(:first-child){margin-top:21px}.audience-workspace .settings-form{display:grid;gap:10px}.audience-workspace .settings-form label{display:grid;gap:5px}.audience-workspace .settings-form label>span{color:#617084;font-size:11px;font-weight:780}.audience-workspace textarea{min-height:76px}.marketing-contact-list,.marketing-audience-list{display:grid;gap:8px;margin-top:14px;max-height:330px;overflow:auto}.marketing-contact,.marketing-audience{display:flex;align-items:flex-start;justify-content:space-between;gap:13px;border:1px solid #e1e7ef;border-radius:11px;background:#fafbfd;padding:11px 12px}.marketing-contact strong,.marketing-contact span,.marketing-audience strong{display:block}.marketing-contact>div:first-child span{margin-top:3px;color:#69778a;font-size:12px}.marketing-contact>div:last-child{text-align:right}.marketing-contact small{display:block;max-width:220px;margin-top:4px;color:#7b8797;font-size:10px}.consent-badge{display:inline-flex!important;border-radius:99px;padding:5px 8px;background:#fff3df;color:#9a5c05;font-size:10px;font-weight:850;text-transform:uppercase}.consent-badge.subscribed{background:#e3f6ec;color:#176d4e}.consent-badge.unsubscribed{background:#f2f3f5;color:#667085}.marketing-audience p{margin:3px 0 0;color:#718094;font-size:12px}.marketing-audience>span{color:#647286;font-size:11px;text-align:right}.marketing-audience>span b{display:block;color:var(--blue);font-size:17px}.audience-add-form{grid-template-columns:1fr 1fr auto;align-items:end}.audience-add-form button{min-height:42px}
@media(max-width:900px){.audience-workspace{grid-template-columns:1fr}.audience-add-form{grid-template-columns:1fr 1fr auto}}
@media(max-width:650px){.audience-metrics{grid-template-columns:1fr 1fr}.audience-add-form{grid-template-columns:1fr}.marketing-contact,.marketing-audience{flex-direction:column}.marketing-contact>div:last-child{text-align:left}}

/* Responsive application shell: keep every authenticated module usable on phones and tablets. */
.app > aside { min-width: 0; }
.workspace main { min-width: 0; }
.mobile-brand { display: none; }
.user-avatar { display: none; }

@media (max-width: 900px) {
  html, body { max-width: 100%; overflow-x: hidden; }
  .app { display: block; width: 100%; min-width: 0; }
  .app > aside { display: none !important; }
  .workspace { width: 100%; min-width: 0; }
  .workspace header {
    position: static;
    min-height: 58px;
    height: auto;
    padding: 9px 14px;
    gap: 8px;
  }
  .workspace header > span { display: none; }
  .workspace .header-actions {
    width: 100%;
    min-width: 0;
    justify-content: flex-end;
    gap: 8px;
  }
  .workspace .header-actions .user-role { display: grid; place-items: center; color: #42526a; }
  .workspace .header-actions .user-role-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
  .workspace .header-actions .user-avatar { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 11px; background: #eaf2fd; color: #1268e5; font-size: 13px; font-weight: 900; }
  .workspace .language-form select { max-width: 116px; min-height: 44px; }
  .workspace .global-create>summary,.workspace .alert-bell { min-width:44px;min-height:44px; }
  .workspace main { width: 100%; max-width: none; padding: 20px 16px 34px; overflow: hidden; }
  .mobile-navigation {
    position: sticky;
    z-index: 35;
    top: 0;
    display: block !important;
    width: 100%;
    background: #111b2a;
    padding: 0;
    color: #fff;
    box-shadow: 0 7px 20px rgba(17,27,42,.16);
  }
  .mobile-navigation details { width: 100%; }
  .mobile-navigation details > summary {
    display: grid;
    grid-template-columns: 24px auto 1fr;
    gap: 9px;
    align-items: center;
    min-height: 54px;
    padding: 10px 16px;
    cursor: pointer;
    list-style: none;
  }
  .mobile-navigation details > summary::-webkit-details-marker { display: none; }
  .mobile-menu-icon,
  .mobile-menu-icon::before,
  .mobile-menu-icon::after {
    display: block;
    width: 20px;
    height: 2px;
    border-radius: 99px;
    background: #fff;
  }
  .mobile-menu-icon { position: relative; }
  .mobile-menu-icon::before,
  .mobile-menu-icon::after { position: absolute; left: 0; content: ""; }
  .mobile-menu-icon::before { top: -6px; }
  .mobile-menu-icon::after { top: 6px; }
  .mobile-navigation details[open] .mobile-menu-icon { background: transparent; }
  .mobile-navigation details[open] .mobile-menu-icon::before { top: 0; transform: rotate(45deg); }
  .mobile-navigation details[open] .mobile-menu-icon::after { top: 0; transform: rotate(-45deg); }
  .mobile-brand { display: block; justify-self: end; color: #fff; font-size: 16px; font-style: normal; }
  .mobile-brand em { color: #ff8a34; font-style: normal; }
  .mobile-navigation nav {
    display: grid;
    max-height: calc(100vh - 130px);
    margin: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 7px 12px 10px;
    border-top: 1px solid #243249;
  }
  .mobile-navigation form { margin: 0; padding: 0 12px 12px; }
  .mobile-navigation button { min-height: 44px; }
  .accounting-filter-grid input,.accounting-filter-grid select,.accounting-filter-grid button,
  .business-form input,.business-form select,.business-form button,
  .integration-section input,.integration-section select,.integration-section button,
  .subscription-access a.button { min-height:44px; }
  .heading { min-width: 0; }
  .heading h1 { overflow-wrap: anywhere; }
  .card, .notice, .create-panel, .stat { max-width: 100%; }
  .table-scroll, .accounting-table-card { max-width: 100%; overflow-x: auto; }
}

@media (max-width: 520px) {
  .workspace header { padding-inline: 10px; }
  .workspace .language-form select { width: 112px; max-width: 112px; }
  .workspace main { padding-inline: 12px; }
  .heading h1 { font-size: 28px; }
}
.integration-status.connected{background:#e4f6ed;color:#16704f}.integration-status.awaiting_connection{background:#fff3d6;color:#8a5a00}.integration-status.disconnected{background:#edf1f6;color:#657386}.integration-status.error{background:#fde8e8;color:#a52a2a}.integration-account{display:grid!important;gap:2px;margin-top:12px!important;border-left:3px solid #2b7de9;padding-left:10px}.integration-account small{color:#718096;font-size:11px;text-transform:uppercase}.integration-account strong{color:#1d2b3f;font-size:13px}.integration-pending{max-width:180px;color:#6a788c;font-size:11px;line-height:1.35;text-align:right}
.integration-oauth-notice{margin:0 0 16px;border:1px solid #d8e1eb;border-radius:12px;padding:12px 15px;font-size:13px;font-weight:750}.integration-oauth-notice.success{border-color:#bfe5d2;background:#eefaf4;color:#146b49}.integration-oauth-notice.warning{border-color:#efd7a6;background:#fff8e8;color:#7b5607}

/* Keep essential field instructions readable in both desktop and narrow views. */
.service-context { min-width:0; scroll-margin-top:130px; }
.service-context-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin:0; padding:20px; }
.service-context-grid > div { min-width:0; }
.service-context-grid dt { color:#657386; font-size:12px; font-weight:700; margin-bottom:6px; }
.service-context-grid dd { margin:0; font-size:15px; line-height:1.6; overflow-wrap:anywhere; white-space:pre-line; }
.service-context-scope { grid-column:1 / -1; }
@media(max-width:600px) { .service-context-grid { grid-template-columns:minmax(0,1fr); gap:16px; padding:16px; } }
.subscription-management{margin-top:24px;padding-top:24px;border-top:1px solid var(--line,#e4e9f0);display:grid;gap:16px}.subscription-management>article{padding:20px;border:1px solid var(--line,#e4e9f0);border-radius:14px;background:#fff}.subscription-management h2,.subscription-management h3{margin:0 0 8px}.subscription-management p{margin:0;line-height:1.6;color:#627087}.subscription-management .subscription-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.subscription-management>p[role=status]{padding:16px;border-radius:12px;background:#fff4e8;color:#975013}.subscription-management .subscription-summary strong{overflow-wrap:anywhere}@media(max-width:480px){.subscription-management .subscription-summary{grid-template-columns:1fr}}
.card.subscription-management{padding:24px}.card.subscription-management .settings-form{margin:0}.subscription-management .button:disabled{cursor:not-allowed;opacity:.65}.subscription-management nav a{white-space:normal;text-align:center}@media(max-width:480px){.card.subscription-management{padding:18px}.subscription-access>.heading{gap:16px;flex-wrap:wrap}}
.subscription-studio .heading{margin-bottom:0}
.subscription-studio .subscription-hero{padding:30px;border-radius:22px;background:linear-gradient(120deg,#0d2246,#164d94);color:#fff;box-shadow:0 12px 32px #15356118;align-items:flex-start}
.subscription-studio .subscription-hero h1{color:#fff;font-size:32px;letter-spacing:-.8px;margin:7px 0 12px}
.subscription-studio .subscription-hero p{color:#d5e2f6;max-width:650px;line-height:1.65;margin:0}
.subscription-studio .subscription-hero .eyebrow{color:#aac8ef;letter-spacing:2px;font-size:11px}
.subscription-studio .subscription-hero .subscription-state{background:#ffffff18;color:#fff;border:1px solid #ffffff30;white-space:normal;text-align:center}
.subscription-studio .subscription-summary{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}
.subscription-studio .subscription-summary article{border-radius:16px;padding:22px;min-width:0}
.subscription-studio .subscription-summary small{font-size:12px;margin-bottom:12px;display:block}
.subscription-studio .subscription-summary strong{font-size:21px;line-height:1.4;overflow-wrap:anywhere}
.subscription-studio .subscription-plans{padding:26px;border-radius:20px}
.subscription-studio .card-title{align-items:flex-start;gap:16px;margin-bottom:22px}
.subscription-studio .card-title h2{font-size:22px;letter-spacing:-.4px;margin:0 0 8px}
.subscription-studio .card-title p{max-width:650px;font-size:13px;line-height:1.65;margin:0;color:#64748b}
.subscription-studio .card-title>.pill{max-width:230px;white-space:normal;line-height:1.5;text-align:center;background:#fff4e7;color:#97551b}
.subscription-studio .subscription-plan-grid{gap:18px}
.subscription-studio .subscription-plan-option{background:#fff;padding:24px;border-radius:18px;gap:14px;position:relative;align-content:start;min-width:0}
.subscription-studio .subscription-plan-option.current{background:#f5f9ff;border:2px solid #2875e7;padding:23px;box-shadow:0 6px 24px #2875e70d}
.subscription-studio .subscription-plan-option>div>strong{font-size:18px;color:#152b4a}
.subscription-studio .subscription-plan-option>b{font-size:34px;letter-spacing:-1.2px;color:#102746;margin-top:10px}
.subscription-studio .subscription-plan-option>small{font-size:13px;line-height:1.6}
.subscription-studio .subscription-plan-option .pill{font-size:10px;background:#dceaff;color:#1957ae;white-space:normal}
.subscription-studio .subscription-plan-option .plan-preview{margin-top:12px;background:#eef4fc;color:#1957ae;border:1px solid #d7e5f7;text-align:center;min-height:44px;display:flex;align-items:center;justify-content:center;text-decoration:none;border-radius:10px;font-weight:650;font-size:13px}
.subscription-studio .subscription-management{margin-top:26px;padding-top:26px;gap:18px}
.subscription-studio .subscription-management>article{background:#f8fafc;border-radius:14px;padding:18px}
.subscription-studio .subscription-management h2{font-size:21px;letter-spacing:-.4px}
.subscription-studio .subscription-management h3{font-size:15px;margin:0 0 8px}
.subscription-studio .subscription-management p{font-size:13px;line-height:1.65;margin:0}
.subscription-studio .subscription-management nav.subscription-plan-actions{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.subscription-studio .subscription-management nav a{background:#f6f8fc;border:1px solid #dce4ef;color:#284263;padding:16px 12px;border-radius:12px;min-height:62px;text-decoration:none;display:flex;align-items:center;justify-content:center;line-height:1.5;font-size:13px}
.subscription-studio .subscription-management nav a:hover,.subscription-studio .plan-preview:hover{background:#e4efff;border-color:#8fb8f2}
.subscription-studio .subscription-next{padding:24px;border-radius:18px;background:#f8fafc}
.subscription-studio .subscription-next h2{font-size:20px;margin:8px 0}
.subscription-studio .subscription-next p{font-size:13px;line-height:1.65;max-width:650px}
@media(max-width:1050px){.subscription-studio .subscription-plan-grid{grid-template-columns:1fr}.subscription-studio .subscription-management nav.subscription-plan-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.subscription-studio{gap:18px}.subscription-studio .subscription-hero{padding:22px;flex-direction:column;gap:18px}.subscription-studio .subscription-hero h1{font-size:27px}.subscription-studio .subscription-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.subscription-studio .subscription-summary article{padding:16px}.subscription-studio .subscription-summary strong{font-size:17px}.subscription-studio .subscription-plans{padding:18px}.subscription-studio .card-title{flex-direction:column}.subscription-studio .subscription-next{align-items:stretch}.subscription-studio .subscription-next>a{width:100%;text-align:center}.subscription-studio .subscription-management nav.subscription-plan-actions{grid-template-columns:1fr}}
.subscription-detail-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;background:#fff;padding:10px;border:1px solid #e1e8f0;border-radius:15px}
.subscription-detail-nav a{display:flex;align-items:center;justify-content:center;text-align:center;min-height:48px;padding:10px;color:#52647e;text-decoration:none;border-radius:9px;font-size:13px;line-height:1.5}
.subscription-detail-nav a.selected{background:#e9f1ff;color:#165ac0;font-weight:700}
.subscription-detail .subscription-hero>.button{background:#ffffff12;border:1px solid #ffffff30;color:#fff;white-space:normal;text-align:center}
.subscription-detail>.subscription-management{margin-top:0;padding:26px;gap:22px}
.subscription-detail>.subscription-management>p[role=status]{padding:16px 18px;background:#fff7e9;border:1px solid #f5dfb8;border-radius:12px;color:#81561f}
.subscription-detail .settings-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:18px;align-items:end;padding:20px;background:#f6f9fd;border:1px solid #e0e8f3;border-radius:14px}
.subscription-detail .settings-form label{min-width:0;font-size:13px;color:#52647e;display:grid;gap:8px}
.subscription-detail .settings-form select{width:100%;min-width:0;min-height:46px;background:#fff;border-radius:9px}
.subscription-detail .settings-form button{min-height:46px}
.subscription-detail .subscription-management>button[disabled]{justify-self:start;background:#edf1f6;color:#78869b;border:1px solid #dce3ee}
@media(max-width:700px){.subscription-detail-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.subscription-detail .settings-form{grid-template-columns:1fr}.subscription-detail>.subscription-management{padding:18px}.subscription-detail .subscription-hero>.button{width:100%}}
.customer-workspace .customer-profile-hero{position:static;inset:auto;height:auto;min-height:110px;z-index:auto;display:grid;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;padding:24px;overflow:visible}
.customer-workspace .customer-profile-hero>div{min-width:0}
.customer-workspace .customer-profile-hero h2{overflow-wrap:anywhere;line-height:1.35}
.customer-workspace .customer-profile-hero p{font-size:13px;line-height:1.6}
.customer-workspace .customer-profile-columns>main{padding:0;min-width:0;margin:0;width:auto}
.customer-workspace .customer-profile-actions{flex-wrap:wrap;overflow:visible}
.customer-workspace .customer-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.customer-workspace .customer-overview-grid>span{min-width:0;overflow-wrap:anywhere}
@media(min-width:1450px){.customer-workspace .customer-overview-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1100px){.customer-workspace{grid-template-columns:1fr}.customer-workspace .customer-directory{position:static;max-height:none}.customer-workspace .customer-directory nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-height:240px}.customer-workspace .customer-profile-columns{grid-template-columns:1fr}}
@media(max-width:600px){.customer-workspace .customer-profile-hero{grid-template-columns:48px minmax(0,1fr);padding:18px}.customer-workspace .customer-profile-hero>.pill{grid-column:2;justify-self:start}.customer-workspace .customer-directory nav{grid-template-columns:1fr}.customer-workspace .customer-profile-hero h2{font-size:21px}}
.inspection-review-header{position:static!important;height:auto!important;min-height:100px;padding:22px 26px;align-items:flex-start!important;flex-wrap:wrap;gap:16px}
.inspection-review-header>div{min-width:0;flex:1 1 260px}
.inspection-review-header h2{line-height:1.4;margin:0 0 10px}
.inspection-review-header p{line-height:1.6;overflow-wrap:anywhere;margin:0}
form[action="/operations/dispatch-history"] .dashboard-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
form[action="/operations/dispatch-history"] .dashboard-filter-grid>*{min-width:0}
form[action="/operations/dispatch-history"]{padding:22px}
@media(max-width:650px){form[action="/operations/dispatch-history"] .dashboard-filter-grid{grid-template-columns:1fr}.inspection-review-header{padding:18px}}
.settings-form input[type="checkbox"]{width:18px!important;height:18px!important;min-height:18px!important;flex:none;align-self:start;accent-color:#216cda}
.settings-form label:has(>input[type="checkbox"]){display:grid;grid-template-columns:18px minmax(0,1fr);gap:10px;align-items:start}
.settings-form label:has(>input[type="checkbox"])>input{margin:3px 0 0}
form[action="/compensation"][method="post"]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:24px}
form[action="/compensation"]>label{min-width:0;display:grid;gap:8px;font-size:13px;color:#52647e}
form[action="/compensation"]>label:has(textarea){grid-column:1/-1}
form[action="/compensation"]>button{justify-self:start;grid-column:1/-1}
@media(max-width:650px){form[action="/compensation"][method="post"]{grid-template-columns:1fr;padding:18px}}
.jobs article:has(form[action^="/recurrence-center/"]){display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:start;padding:22px}
.jobs article:has(form[action^="/recurrence-center/"])>div{grid-column:1/-1;min-width:0}
.jobs article:has(form[action^="/recurrence-center/"]) h3{line-height:1.45;overflow-wrap:anywhere}
.jobs form button:not(.primary){min-height:40px;border:1px solid #d6e1ef;background:#f3f7fd;color:#285781;border-radius:9px;padding:9px 13px;font:inherit;font-size:13px;cursor:pointer}
.inspection-review-card textarea{width:100%;min-height:88px;border:1px solid #d6e1ef;border-radius:9px;padding:12px;font:inherit}
.inspection-decision button:not(.primary){min-height:42px;border:1px solid #d4dfea;background:#fff;color:#395472;border-radius:9px;padding:10px 14px;font:inherit;font-size:13px}
@media(max-width:600px){.customer-workspace .customer-profile-hero>.customer-avatar{display:grid!important;grid-column:1;grid-row:1;width:48px;height:48px}.customer-workspace .customer-profile-hero>div{grid-column:2;grid-row:1}.customer-workspace .customer-profile-hero>.pill{grid-column:2;grid-row:2}.customer-workspace .customer-profile-hero{grid-template-columns:48px minmax(0,1fr)!important;gap:12px!important}}
/* Operational forms retain comfortable spacing at intermediate desktop widths. */
.card:has(form[action="/compensation"])+.card{padding:22px}
.card:has(form[action="/compensation"])+.card h2{font-size:20px;margin:0 0 12px}
.card:has(form[action="/compensation"])+.card p{margin:0;color:#647286;line-height:1.65}
form.route-filter.card{padding:20px;gap:16px;align-items:end}
form.route-filter.card label{min-width:0;display:grid;gap:8px;font-size:13px;color:#52647e}
form.route-filter.card input,form.route-filter.card select{width:100%;min-width:0;min-height:44px}
.card>p:only-child{padding:20px;margin:0;line-height:1.65;color:#647286}
.card:has(form[action^="/time-review/"])>h3,.card:has(form[action^="/time-review/"])>p{margin:20px 22px}
.finance-kpis strong{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;font-size:clamp(17px,1.5vw,22px);line-height:1.35}
@media(min-width:701px) and (max-width:1400px){.wo-filter-form{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:20px}.wo-filter-form label:first-of-type{grid-column:span 2}.finance-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){form.route-filter.card{padding:18px;grid-template-columns:minmax(0,1fr)}.card:has(form[action^="/time-review/"])>h3,.card:has(form[action^="/time-review/"])>p{margin-inline:18px}}
/* Operational app theme. This is not the separate static demonstration. */
:root{--blue:#2563eb;--orange:#f78017;--navy:#142440;--ink:#1d2a3e;--muted:#6d7c92;--line:#e0e7f0;--bg:#f4f6fb}
body{background:var(--bg);color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.5}
.app{grid-template-columns:240px minmax(0,1fr)}
.app>aside{background:var(--navy);padding:24px 16px 18px;border-right:0;display:flex;flex-direction:column}
.app>aside .brand{font-size:22px;letter-spacing:-.04em;margin-bottom:22px;color:#fff;white-space:nowrap}
.app>aside .brand span{background:#416ddd;border-radius:10px;width:34px;height:34px;display:inline-grid;place-items:center;margin-right:8px}
.app>aside .brand b,.mobile-brand em{color:var(--orange)}
.app>aside>nav{min-height:0;overflow-y:auto;flex:1;padding-right:3px;scrollbar-width:thin;align-content:start;grid-auto-rows:max-content}
.app>aside nav a,.app>aside nav summary{font-size:13px;border-radius:10px;min-height:42px;line-height:1.4}
.app>aside nav summary{padding:11px 13px;color:#c4d0e3;font-weight:650;letter-spacing:0;text-transform:none}
.app>aside nav a{padding:10px 13px;color:#c4d0e3}
.app>aside nav a.active,.app>aside .nav-group details[open]>summary{background:#253b5d;color:#fff}
.app>aside nav a:hover,.app>aside nav summary:hover{background:#203552;color:#fff}
.app>aside .nav-group{margin-block:5px}.app>aside .nav-group details>div{padding:3px 0 5px 12px}
.app>aside .nav-dashboard-link{display:block;font-size:14px;font-weight:700;margin-bottom:10px}
.app>aside>form{flex:none;margin-top:16px;border-top:1px solid #30415e;padding-top:14px}
.app>aside>form button{width:100%;text-align:left;border:0;background:transparent;color:#c4d0e3;border-radius:9px;padding:9px 13px}
.workspace{min-width:0}.workspace>header{min-height:72px;background:#fff;border-bottom:1px solid var(--line);padding:14px 30px;gap:16px}
.workspace>header>span{color:var(--muted);font-size:12px;font-weight:650;letter-spacing:.03em}
.workspace main{max-width:1480px;margin-inline:auto;padding:30px 32px 48px;min-width:0}
.heading{gap:18px;align-items:center;margin-bottom:24px}.heading>div{min-width:0}
.heading h1{font-size:clamp(26px,2.3vw,34px);font-weight:750;letter-spacing:-.04em;color:var(--ink)}
.heading p{color:var(--muted);line-height:1.55;margin-top:7px}.eyebrow{color:#70809a;font-size:10px;letter-spacing:.12em}
.card,.stat,.chart-card,.create-panel,.notice{border:1px solid var(--line);border-radius:14px;box-shadow:0 2px 6px #18345903;background:#fff}
.card-title{padding:20px 22px;gap:16px;border-bottom-color:#e8edf4}.card-title h2{font-size:17px;letter-spacing:-.025em}
.card-title p{font-size:13px;line-height:1.5;color:var(--muted)}
.primary,.button.primary,button.primary{background:var(--blue);border-color:var(--blue);color:#fff;border-radius:9px;font-weight:700;min-height:42px;box-shadow:none}
.button,button,input,select,textarea{max-width:100%;font:inherit}
.button{border-radius:9px;line-height:1.4;text-align:center}
input:not([type=checkbox]):not([type=radio]),select,textarea{box-sizing:border-box;min-width:0;border-radius:9px;border:1px solid #d1dbe8;min-height:42px;background:#fff;color:var(--ink)}
textarea{line-height:1.5;resize:vertical}input[type=date],input[type=time]{width:100%;min-width:0;max-width:100%;box-sizing:border-box}
.settings-form label,.filter-form label,.form-grid>*,.settings-form>div{min-width:0}
.settings-form label>span,.filter-form label>span{line-height:1.45;gap:6px}
.settings-form label small{color:var(--muted);font-size:12px}
.stats{gap:16px}.stat{padding:20px;min-width:0}.stat small{font-size:12px;color:var(--muted);font-weight:650;line-height:1.4}
.stat strong{font-variant-numeric:tabular-nums;letter-spacing:-.04em;line-height:1.3;overflow-wrap:anywhere}.stat span{font-size:12px;color:var(--muted)}
.analytics-dashboard .dashboard-heading{margin-bottom:18px}.analytics-dashboard .dashboard-filter-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px 18px}
.analytics-dashboard .dashboard-kpis{gap:16px}.analytics-dashboard .chart-card{padding:22px;border-radius:14px}
.analytics-dashboard .dashboard-chart-grid{gap:18px}.chart-heading h2{font-size:17px;line-height:1.4;letter-spacing:-.025em}
.chart-heading p,.chart-card p{color:var(--muted);font-size:12px;line-height:1.5}
.jobs>article,.record-list>article{gap:18px;min-width:0}.jobs>article>div,.record-list>article>div{min-width:0}
.jobs h3,.record-list h3,.entity h3{line-height:1.4;overflow-wrap:anywhere}
.jobs p,.record-list p{line-height:1.5;overflow-wrap:anywhere}
.jobs form,.record-list form{min-width:0}.jobs input,.jobs select{width:100%}
.pill{font-size:11px;line-height:1.5;font-weight:750;max-width:100%;overflow-wrap:anywhere}
table{font-variant-numeric:tabular-nums}th{text-align:left;font-size:11px;letter-spacing:.035em;color:var(--muted)}td{line-height:1.45}
.customer-portal-body{background:var(--bg)}.customer-portal-shell{max-width:1280px;margin-inline:auto}.portal-resource-card{border-radius:14px;border-color:var(--line)}
.login-card,.public-signup-card{border-radius:18px;border:1px solid var(--line);box-shadow:0 18px 70px #102b5010}
.workspace main button:not(.primary){border:1px solid #d1dbe8;border-radius:9px;padding:9px 13px;min-height:42px;background:#fff;color:var(--ink);cursor:pointer}.workspace main button:disabled{cursor:not-allowed;opacity:.65}.finance-tabs a.active{background:var(--blue);color:#fff}.work-order-list>.work-order-row{padding:20px 22px}.analytics-dashboard .dashboard-kpis .stat{display:grid;gap:8px;align-content:start}.analytics-dashboard .dashboard-kpis .stat strong{font-size:30px}
.workspace>header .language-form select{min-width:132px;max-width:100%}
:focus-visible{outline:3px solid #8eb5ff;outline-offset:3px}
@media(max-width:1150px){.app{grid-template-columns:210px minmax(0,1fr)}.workspace main{padding:26px 24px 40px}.workspace>header{padding-inline:24px}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.heading{align-items:flex-start;flex-wrap:wrap}.card-title{flex-wrap:wrap}.jobs>article{flex-wrap:wrap}.jobs>article>div{flex:1 1 240px}.jobs>article>form{flex:1 1 240px}.header-actions{flex-wrap:wrap;justify-content:flex-end}.dashboard-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.app{display:block}.app>aside{display:none}.workspace>header{position:relative;min-height:60px;padding:12px 16px;align-items:flex-start;flex-wrap:wrap}.workspace main{padding:24px 16px 36px}.heading h1{font-size:27px}.card-title{padding:17px 18px}.stats,.dashboard-filter-grid{grid-template-columns:1fr}.settings-form{grid-template-columns:1fr}.settings-form .wide-field{grid-column:1}.card,.stat,.chart-card{border-radius:12px}.dashboard-refresh-group{align-items:flex-start;flex-wrap:wrap}.customer-portal-header{flex-wrap:wrap;gap:14px}.portal-welcome{flex-direction:column;align-items:flex-start}.portal-summary{grid-template-columns:1fr}.customer-portal-shell{padding:20px 16px}.header-actions{width:100%;justify-content:flex-start;gap:10px}.language-form label>span{display:none}.user-role-label{max-width:170px;overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
