/* Compact operational dashboard, also used by the landing-page iframe. */
.od{--od-ink:#223744;--od-muted:#627986;--od-line:#dce4e9;--od-surface:#fff;color:var(--od-ink);font-size:14px}.od *{box-sizing:border-box}.od-top{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 22px}.od-eyebrow{font-size:11px;letter-spacing:1.2px;color:var(--od-muted);margin:0 0 8px;font-weight:600}.od h1{font-size:29px;line-height:1.2;letter-spacing:-1px;margin:0 0 7px;font-weight:650}.od-subtitle{font-size:14px;color:var(--od-muted);margin:0}.od-period{font-size:12px;white-space:nowrap;border:1px solid var(--od-line);background:var(--od-surface);padding:9px 13px;border-radius:7px}.od-period span{color:var(--od-muted)}.od-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.od-kpis>div{background:var(--od-surface);border:1px solid var(--od-line);border-radius:11px;padding:17px 20px;min-width:0}.od-kpis>div>span{display:block;font-size:13px;color:var(--od-muted)}.od-kpis strong{display:block;font-size:31px;letter-spacing:-1.2px;font-weight:600;font-variant-numeric:tabular-nums;line-height:1.1;margin:10px 0 7px}.od-kpis em{font-size:20px;font-style:normal;letter-spacing:0;margin-left:3px}.od-kpis small{font-size:11px;color:var(--od-muted)}.od-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr);gap:18px}.od-panel{background:var(--od-surface);border:1px solid var(--od-line);border-radius:11px;min-width:0;overflow:hidden}.od-panel>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 20px 0}.od-panel h2{font-size:15px;line-height:1.4;margin:0 0 3px;font-weight:600;letter-spacing:-.2px}.od-panel header p{font-size:11px;color:var(--od-muted);margin:0}.od .od-link{border:0;background:transparent;color:var(--od-muted);font:inherit;font-size:12px;padding:8px 0;white-space:nowrap;min-height:36px;cursor:pointer}.od .od-link:hover{color:var(--od-ink);text-decoration:underline;text-underline-offset:4px}.od-legend{font-size:11px;color:var(--od-muted);display:flex;align-items:center;gap:7px}.od-legend i{width:8px;height:8px;background:#6d899b;border-radius:2px}.od-chart{display:flex;height:172px;padding:20px 20px 24px;gap:12px;margin:0 0 12px}.od-axis{font-size:10px;color:var(--od-muted);display:flex;flex-direction:column;justify-content:space-between;min-width:24px;padding-bottom:1px}.od-bars{flex:1;display:flex;align-items:end;justify-content:space-around;gap:12px;position:relative;border-bottom:1px solid var(--od-line);background:repeating-linear-gradient(to top,transparent 0,transparent calc(50% - 1px),var(--od-line) calc(50% - 1px),var(--od-line) 50%);min-width:0}.od-bar{position:relative;height:100%;flex:1;display:flex;align-items:center;justify-content:flex-end;flex-direction:column;max-width:55px}.od-bar i{width:75%;height:var(--height);background:#8ea6b5;border-radius:4px 4px 0 0;display:block}.od-bar:last-child i{background:#314c5e}.od-bar-value{font-size:10px;color:var(--od-muted);position:absolute;bottom:calc(var(--height,0%));display:none}.od-day{font-size:10px;color:var(--od-muted);position:absolute;top:calc(100% + 8px)}.od-stage-track{display:flex;height:9px;gap:4px;margin:22px 20px 10px;border-radius:5px;overflow:hidden}.od-stage-track i{width:33.333%;background:#b8c9d4}.od-stage-track i:nth-child(2){background:#738f9f}.od-stage-track i:nth-child(3){background:#2e495b}.od-stage{display:grid;grid-template-columns:1fr auto;gap:2px 12px;margin:0 20px;padding:10px 0;border-bottom:1px solid var(--od-line);font-size:12px}.od-stage:last-child{border:0;padding-bottom:18px}.od-stage>span{display:flex;align-items:center;gap:8px}.od-stage strong{grid-column:2;grid-row:1/3;align-self:center;font-size:18px;font-weight:500}.od-stage small{color:var(--od-muted);font-size:10px;margin-left:15px}.od-dot{height:7px;width:7px;background:#b8c9d4;border-radius:2px}.od-dot.inspect{background:#738f9f}.od-dot.approval{background:#2e495b}.od-table-wrap{overflow:auto;margin:12px 0 4px}.od table{width:100%;border-collapse:collapse;white-space:nowrap;font-size:12px}.od th{color:var(--od-muted);font-size:10px;font-weight:500;text-align:left;padding:9px 20px;background:#f6f8fa}.od td{padding:11px 20px;border-bottom:1px solid var(--od-line)}.od tr:last-child td{border-bottom:0}.od td small{display:block;font-size:10px;color:var(--od-muted);margin-top:3px}.od .od-amount{text-align:right;font-variant-numeric:tabular-nums}.od .od-customer{background:none;border:0;padding:0;color:var(--od-ink);font:inherit;font-size:12px;font-weight:600;text-align:left;cursor:pointer;width:auto;margin:0}.od .od-customer:hover{text-decoration:underline}.od-status{background:#eee8da;color:#746343;border-radius:5px;padding:4px 7px;font-size:10px}.od-status.neutral{background:#eaf0f4;color:#587080}.od-appointment{display:flex;align-items:center;gap:18px;padding:14px 20px;border-bottom:1px solid var(--od-line)}.od-appointment:first-of-type{margin-top:8px}.od-appointment time{color:var(--od-muted);font-size:12px;font-variant-numeric:tabular-nums}.od-appointment strong{display:block;font-size:12px;font-weight:600}.od-appointment span{display:block;font-size:10px;color:var(--od-muted);margin-top:4px}.od-agenda-foot{display:flex;justify-content:space-between;align-items:center;padding:4px 20px;font-size:10px;color:var(--od-muted)}.dark .od{--od-ink:#e0eaf0;--od-muted:#a1b6c4;--od-line:#354b59;--od-surface:#22323e}.dark .od th{background:#293d4a}.dark .od-status.neutral{background:#344c5c;color:#d3e4ee}.dark .od-bar:last-child i{background:#c2d5e2}
@media(max-width:1000px){.od-grid{grid-template-columns:minmax(0,1.4fr) minmax(250px,1fr)}.od-kpis>div{padding:16px 14px}.od-kpis strong{font-size:27px}.od td,.od th{padding-inline:14px}.od-top{flex-wrap:wrap}.od-kpis>div>span{font-size:12px}}
@media(max-width:760px){.od-grid{grid-template-columns:minmax(0,1fr)}.od-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.od h1{font-size:26px}.od-period{font-size:11px}.od-chart{height:190px}.od table{min-width:540px}.od .od-link{min-height:44px}.od .od-customer{min-height:32px}.od-panel>header{padding-top:16px}.od td small,.od th,.od-appointment span,.od-stage small{font-size:12px}.od-panel h2{font-size:16px}.od-kpis small{font-size:12px}.od-appointment strong,.od-stage,.od-kpis>div>span{font-size:14px}}
