/* Saadi v4.16 · Operations Intelligence & interaction polish */
:root{
  --op-critical:#c7373f;
  --op-critical-soft:#fff0f1;
  --op-warning:#c97708;
  --op-warning-soft:#fff7e8;
  --op-info:#2075b8;
  --op-info-soft:#edf7ff;
  --op-good:#078363;
  --op-good-soft:#ebfbf5;
  --op-shadow:0 12px 32px rgba(6,46,43,.08);
}
.ui-icon{width:1.15em;height:1.15em;display:inline-block;vertical-align:-.18em;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.inline-icon{width:1em;height:1em}.tab-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.tab:focus-visible,.priority-row:focus-visible,.filter-chip:focus-visible,.week-plan-card:focus-visible,.customer-inbox-card:focus-visible,.team-load-card:focus-visible{outline:3px solid rgba(17,139,107,.25);outline-offset:2px}
.network-status{display:inline-flex;align-items:center;min-height:29px;padding:5px 9px;border-radius:999px;font-size:10px;font-weight:900;white-space:nowrap}.network-status.is-offline{background:#fff0f1;color:#9f2630}.network-status.is-online{background:#e9fbf4;color:#056c52}

/* Shared operational metrics */
.health-summary{display:flex!important;align-items:center;gap:12px}.health-summary>span:last-child{display:flex;flex-direction:column;gap:2px}.health-summary>span:last-child b{font-size:13px}.health-summary>span:last-child small{color:var(--ink-600);font-size:9px}.health-ring{--ring-color:var(--op-good);position:relative;display:inline-grid;place-items:center;flex:0 0 auto;width:78px;height:78px;border-radius:50%;background:conic-gradient(var(--ring-color) calc(var(--score)*1%),var(--ink-100) 0);box-shadow:inset 0 0 0 1px rgba(255,255,255,.75)}.health-ring:after{content:"";position:absolute;inset:8px;border-radius:inherit;background:var(--surface);box-shadow:0 0 0 1px var(--ink-100)}.health-ring b{position:relative;z-index:1;font-size:24px;color:var(--ink-950)}.health-ring.compact{width:53px;height:53px}.health-ring.compact:after{inset:6px}.health-ring.compact b{font-size:18px}.momentum-banner{display:flex;align-items:center;gap:13px;margin:0 0 13px;padding:14px 16px;border:1px solid #bde8d9;border-radius:18px;background:linear-gradient(135deg,#f8fffc,#ecfbf5);box-shadow:var(--shadow-xs)}.momentum-banner.attention{border-color:#f1d29e;background:linear-gradient(135deg,#fffdf7,#fff7e8)}.momentum-banner.critical{border-color:#f0bec2;background:linear-gradient(135deg,#fffafa,#fff0f1)}.momentum-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:var(--op-good);color:#fff}.momentum-banner.attention .momentum-icon{background:var(--op-warning)}.momentum-banner.critical .momentum-icon{background:var(--op-critical)}.momentum-banner b{display:block;font-size:13px}.momentum-banner p{margin:4px 0 0;color:var(--ink-600);font-size:10px;line-height:1.6}
.operations-grid{display:grid;gap:14px;margin-bottom:14px}.primary-grid{grid-template-columns:minmax(0,1.35fr) minmax(290px,.65fr)}.secondary-grid{grid-template-columns:1fr 1fr}.section-kicker{display:block;margin-bottom:3px;color:var(--saadi-700);font-size:9px;font-weight:900;letter-spacing:.04em}.priority-panel{overflow:hidden}.priority-list{padding:4px 10px 10px}.priority-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;width:100%;min-height:68px;padding:10px 9px;border:0;border-bottom:1px solid var(--ink-100);background:transparent;color:var(--ink-950);text-align:start;cursor:pointer}.priority-row:last-child{border-bottom:0}.priority-row:hover{border-radius:12px;background:var(--ink-50)}.priority-icon{display:grid;place-items:center;width:39px;height:39px;border-radius:13px;background:var(--op-info-soft);color:var(--op-info)}.priority-row.warning .priority-icon{background:var(--op-warning-soft);color:var(--op-warning)}.priority-row.critical .priority-icon{background:var(--op-critical-soft);color:var(--op-critical)}.priority-copy{min-width:0}.priority-copy b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.priority-copy small{display:block;margin-top:4px;color:var(--ink-600);font-size:10px;line-height:1.45}.priority-action{color:var(--saadi-700);font-size:9px;font-weight:900;white-space:nowrap}.panel-footer-action{width:100%;min-height:43px;border:0;border-top:1px solid var(--ink-100);background:var(--saadi-50);color:var(--saadi-800);font-weight:900;cursor:pointer}.success-empty .ui-icon{width:35px;height:35px;color:var(--op-good)}
.smart-quick-actions .quick-action{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto;align-content:center}.smart-quick-actions .quick-action>span{grid-row:1/3}.smart-quick-actions .quick-action b{align-self:end}.smart-quick-actions .quick-action small{align-self:start;color:var(--ink-600);font-size:8px;line-height:1.35}.quick-action .ui-icon{width:19px;height:19px}.upcoming-card.enhanced{grid-template-columns:auto minmax(0,1fr) auto}.stage-mini{display:grid;place-items:center;width:38px;height:38px;border-radius:13px;background:color-mix(in srgb,var(--stage-color) 12%,white);color:var(--stage-color)}.upcoming-when{display:flex;flex-direction:column;align-items:end;color:var(--saadi-800);font-size:9px;font-weight:900}.upcoming-when small{margin-top:2px;color:var(--ink-500);font-size:8px;font-weight:700}.team-load-list{padding:5px 11px 11px}.team-load-card{display:grid;grid-template-columns:minmax(0,1fr) 74px auto;align-items:center;gap:9px;width:100%;min-height:58px;padding:9px;border:0;border-bottom:1px solid var(--ink-100);background:transparent;text-align:start;cursor:pointer}.team-load-card:last-child{border-bottom:0}.team-load-card:hover{border-radius:11px;background:var(--ink-50)}.team-load-main{min-width:0}.team-load-main b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.team-load-main small{display:block;margin-top:3px;color:var(--ink-600);font-size:8px}.load-gauge{position:relative;height:7px;border-radius:999px;background:var(--ink-100);overflow:hidden}.load-gauge i{display:block;width:calc(var(--load)*1%);height:100%;border-radius:inherit;background:var(--op-good)}.busy .load-gauge i{background:var(--op-warning)}.critical .load-gauge i{background:var(--op-critical)}.team-load-card>strong{font-size:10px}.team-load-card>em{grid-column:2/4;justify-self:end;margin-top:-6px;border-radius:999px;background:var(--op-critical-soft);padding:3px 7px;color:var(--op-critical);font-size:8px;font-style:normal;font-weight:900}.activity-collapsible{padding:0!important;overflow:hidden}.activity-collapsible>summary{display:flex;align-items:center;justify-content:space-between;padding:15px 17px;cursor:pointer;list-style:none}.activity-collapsible>summary::-webkit-details-marker{display:none}.activity-collapsible>summary span{display:flex;flex-direction:column;gap:3px}.activity-collapsible>summary small{color:var(--ink-600);font-size:9px;font-weight:500}.activity-collapsible>summary i{font-style:normal;border-radius:999px;background:var(--ink-100);padding:4px 8px;font-size:9px}.activity-collapsible .recent-list{padding:0 10px 10px}

/* Board intelligence */
.board-filterbar,.message-filterbar{display:flex;gap:7px;margin:0 0 13px;padding:3px;overflow-x:auto;scrollbar-width:none}.board-filterbar::-webkit-scrollbar,.message-filterbar::-webkit-scrollbar{display:none}.filter-chip{display:inline-flex;align-items:center;gap:7px;min-height:39px;padding:7px 12px;border:1px solid var(--ink-200);border-radius:999px;background:var(--surface);color:var(--ink-700);font:inherit;font-size:10px;font-weight:900;white-space:nowrap;cursor:pointer}.filter-chip b{display:grid;place-items:center;min-width:22px;height:22px;border-radius:999px;background:var(--ink-100);font-size:9px}.filter-chip.active{border-color:var(--saadi-700);background:var(--saadi-900);color:#fff;box-shadow:0 6px 16px rgba(5,92,72,.18)}.filter-chip.active b{background:rgba(255,255,255,.16)}.board-health{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:22px;margin-bottom:15px;padding:18px;border-radius:20px;background:linear-gradient(135deg,var(--saadi-950),#16345a);color:#fff;box-shadow:var(--op-shadow)}.board-health-main{display:flex;align-items:center;gap:12px}.board-health-main .health-ring{--ring-color:#72e2be}.board-health-main .health-ring:after{background:#102c3d;border-color:rgba(255,255,255,.15)}.board-health-main .health-ring b{color:#fff}.board-health-main span:last-child{display:flex;flex-direction:column}.board-health-main small{color:#bcd0df;font-size:9px}.board-health-main b{font-size:15px}.board-health-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.board-health-metrics span{display:flex;flex-direction:column;align-items:center;padding:10px;border:1px solid rgba(255,255,255,.15);border-radius:13px;background:rgba(255,255,255,.06);font-size:9px;color:#d4e1e9;text-align:center}.board-health-metrics b{margin-bottom:3px;color:#fff;font-size:19px}.operations-alerts .smart-alert strong{display:flex;flex-direction:column;min-width:0}.operations-alerts .smart-alert strong>b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.operations-alerts .smart-alert strong>small{margin-top:2px;color:inherit;font-size:9px;font-weight:600;opacity:.78}.operations-alerts .smart-alert .ui-icon{width:18px;height:18px}.smart-alert-rest{width:100%;border:0;background:var(--saadi-50);padding:10px;color:var(--saadi-800);font-weight:900;cursor:pointer}.job-status-stack{display:flex;align-items:center;gap:5px;flex-wrap:wrap;justify-content:flex-end}.risk-count{border-radius:999px;padding:3px 6px;background:var(--op-info-soft);color:var(--op-info);font-size:8px;font-weight:900}.risk-count.warning{background:var(--op-warning-soft);color:var(--op-warning)}.risk-count.critical{background:var(--op-critical-soft);color:var(--op-critical)}.job-risk{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:7px;margin-top:9px;padding:8px 9px;border-inline-start:3px solid var(--op-info);border-radius:9px;background:var(--op-info-soft);color:#36536b;font-size:9px;line-height:1.5}.job-risk.warning{border-color:var(--op-warning);background:var(--op-warning-soft);color:#80510b}.job-risk.critical{border-color:var(--op-critical);background:var(--op-critical-soft);color:#8e2931}.job-risk .ui-icon{margin-top:1px}.filtered-board .column.is-empty{opacity:.58}.column.is-empty{min-height:132px}.column.is-empty .column-body{min-height:52px}

/* Week planner */
.week-overview{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px;padding:13px 16px;border:1px solid var(--ink-100);border-radius:17px;background:var(--surface);box-shadow:var(--shadow-xs)}.week-overview>div{display:flex;gap:18px}.week-overview span{display:flex;align-items:center;gap:6px;color:var(--ink-600);font-size:10px}.week-overview span.has-warning{color:var(--op-critical)}.week-overview b{color:var(--ink-950)}.week-overview p{margin:0;color:var(--ink-600);font-size:9px}.week-empty-toggle{margin-inline-start:auto}.operations-week-grid .day-col{min-height:230px}.operations-week-grid .day-col.is-today{border-color:#79cdb2;box-shadow:0 0 0 2px rgba(7,131,99,.08)}.operations-week-grid .day-col h3{display:flex;align-items:center;justify-content:space-between;gap:8px}.operations-week-grid .day-col h3>span:first-child{display:flex;align-items:center;gap:6px}.operations-week-grid .day-col h3 em{border-radius:999px;background:var(--saadi-100);padding:3px 6px;color:var(--saadi-800);font-size:8px;font-style:normal}.week-plan-card{position:relative;grid-template-columns:minmax(0,1fr) auto!important;padding-top:34px!important;text-align:start}.week-card-status{position:absolute;inset-block-start:8px;inset-inline-start:10px;border-radius:999px;padding:4px 7px;background:var(--ink-100);color:var(--ink-600);font-size:8px;font-weight:900}.week-card-status.start,.week-card-status.single{background:var(--op-good-soft);color:var(--op-good)}.week-card-status.end{background:var(--op-info-soft);color:var(--op-info)}.week-card-status.active{background:var(--op-warning-soft);color:var(--op-warning)}.week-card-copy{display:flex;flex-direction:column;min-width:0}.week-card-copy b{font-size:11px}.week-card-copy small,.week-card-copy em{margin-top:3px;color:var(--ink-600);font-size:8px;font-style:normal}.week-plan-card>strong{align-self:start;font-size:8px;color:var(--ink-600)}.week-warning{display:flex;align-items:center;gap:5px}.week-warning .ui-icon{flex:0 0 auto}

/* Message inbox */
.enhanced-inbox .messages-inbox-title p{margin:4px 0 0;color:var(--ink-600);font-size:9px}.message-preview{display:flex;align-items:baseline;gap:4px;flex-wrap:wrap;margin:0;color:var(--ink-700);font-size:11px;line-height:1.55}.message-preview em{flex:0 0 auto;font-style:normal;font-weight:900}.message-preview-text{min-width:0;flex:1 1 180px;text-align:start;unicode-bidi:isolate;white-space:normal;overflow-wrap:anywhere}
.message-filterbar{margin:0 0 8px}.customer-inbox-card.awaiting{border-color:#f0bc72;background:#fffaf2;box-shadow:inset -4px 0 var(--op-warning)}[dir="ltr"] .customer-inbox-card.awaiting{box-shadow:inset 4px 0 var(--op-warning)}.message-status{border-radius:999px!important;padding:5px 8px!important;font-size:8px!important}.message-status.awaiting{background:var(--op-warning-soft)!important;color:var(--op-warning)!important}.message-status.unread{background:var(--op-info)!important;color:#fff!important}.message-status.replied{background:var(--op-good-soft)!important;color:var(--op-good)!important}.message-card-foot{display:flex;align-items:center;justify-content:space-between;gap:8px}.message-card-foot time{color:var(--ink-500);font-size:8px}.message-card-foot span{color:var(--saadi-700);font-size:9px;font-weight:900}.message-card-foot i{color:var(--op-good);font-style:normal}

/* Tiling capacity and conflict-aware dispatch */
.capacity-section{border:1px solid #b8e2d5!important;background:linear-gradient(180deg,#fff,#f6fffb)}.capacity-help{margin:6px 4px 10px;color:var(--ink-600);font-size:9px}.tiling-capacity-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.tiling-capacity-card{display:grid;grid-template-columns:minmax(0,1fr) 62px auto;align-items:center;gap:8px;padding:11px;border:1px solid var(--ink-100);border-radius:14px;background:#fff}.tiling-capacity-card>div{min-width:0}.tiling-capacity-card>div b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:none;padding:0;font-size:10px}.tiling-capacity-card>div small{color:var(--ink-600);font-size:8px}.tiling-capacity-card>strong{font-size:10px}.tiling-capacity-card>em{grid-column:1/3;color:var(--ink-600);font-size:8px;font-style:normal}.tiling-capacity-card>mark{justify-self:end;border-radius:999px;background:var(--op-critical-soft);padding:3px 6px;color:var(--op-critical);font-size:8px;font-weight:900}.tiling-team-choices span{display:flex!important;flex-direction:column;gap:3px}.tiling-team-choices span b{font-size:11px}.tiling-team-choices span small{color:var(--ink-600);font-size:8px;font-weight:600}.dispatch-insight{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;margin:9px 0;padding:11px;border-radius:13px}.dispatch-insight.is-good{border:1px solid #b8e2d5;background:var(--op-good-soft);color:var(--op-good)}.dispatch-insight.is-warning{border:1px solid #f0c17d;background:var(--op-warning-soft);color:#8a570b}.dispatch-insight>span{display:flex;flex-direction:column;gap:2px}.dispatch-insight b{font-size:10px}.dispatch-insight small{font-size:8px;line-height:1.45}.dispatch-insight button{padding:7px 9px;font-size:8px}

/* Secure media loading */
.media-loading,.media-error{display:flex;min-height:220px;flex-direction:column;align-items:center;justify-content:center;gap:9px;color:var(--ink-600)}.media-loading .ui-icon{animation:op-spin 1.1s linear infinite}.media-error{color:var(--op-critical)}.media-load-error:after{content:"!";display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--op-critical-soft);color:var(--op-critical);font-weight:900}@keyframes op-spin{to{transform:rotate(360deg)}}

/* Universal interaction and mobile comfort */
button,.job,.customer-inbox-card,.week-plan-card{-webkit-tap-highlight-color:transparent}.primary,.ghost,.danger,.user-chip,.tab{min-height:42px}.searchrow{position:relative}.toolbar{position:relative;z-index:4}.user-content{unicode-bidi:plaintext}.topbar-actions{gap:7px}
@media(max-width:1100px){.primary-grid,.secondary-grid{grid-template-columns:1fr}.tiling-capacity-grid{grid-template-columns:1fr 1fr}}
@media(max-width:820px){
  body{padding-bottom:calc(82px + env(safe-area-inset-bottom))}.topbar{padding-top:max(0px,env(safe-area-inset-top))}.app-sidebar{inset-block-end:max(7px,env(safe-area-inset-bottom));height:68px}.tab{min-height:56px;font-size:10px}.tab-icon{width:27px;height:25px}.tab-icon svg{width:21px;height:21px}.tab-badge{inset-block-start:2px}
  .network-status{display:none}.operations-grid{gap:10px;margin-bottom:10px}.momentum-banner{margin-bottom:10px;padding:12px}.priority-row{grid-template-columns:auto minmax(0,1fr);min-height:64px}.priority-action{grid-column:2;justify-self:start}.primary-grid,.secondary-grid{grid-template-columns:1fr}.quick-panel{order:-1}.smart-quick-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.team-load-card{grid-template-columns:minmax(0,1fr) 58px auto}.board-filterbar,.message-filterbar{margin-inline:-2px;padding-inline:2px}.board-health{grid-template-columns:1fr;padding:15px}.board-health-main{justify-content:space-between}.board-health-metrics{gap:6px}.board-health-metrics span{padding:8px 5px}.board-health-metrics b{font-size:17px}
  .column{min-height:auto!important}.column:not(.open) .column-body{display:none}.column.open .column-body{min-height:0!important}.filtered-board .column.is-empty{display:none}.board{align-items:flex-start}.job-status-stack{max-width:48%}.job-risk{font-size:10px}
  .week-overview{align-items:flex-start;flex-direction:column}.week-overview>div{width:100%;justify-content:space-between;gap:6px}.week-overview p{display:none}.week-empty-toggle{margin-inline-start:0}.operations-week-grid{display:grid!important;grid-template-columns:1fr!important;overflow:visible!important}.operations-week-grid .day-col{min-height:auto}.operations-week-grid .day-col.is-empty{min-height:118px}.week-plan-card{min-height:105px}.horizontal-scroll-hint{display:none}.tiling-capacity-grid{grid-template-columns:1fr}.dispatch-insight{grid-template-columns:auto minmax(0,1fr)}.dispatch-insight button{grid-column:2;justify-self:start}
  .media-viewer{max-height:100dvh}.toast{bottom:calc(88px + env(safe-area-inset-bottom))}
}
@media(max-width:480px){
  .summary .sum{min-height:86px}.health-summary{gap:8px}.health-ring.compact{width:49px;height:49px}.health-summary>span:last-child b{font-size:11px}.momentum-icon{width:37px;height:37px}.momentum-banner p{font-size:9px}.smart-quick-actions{grid-template-columns:1fr 1fr}.smart-quick-actions .quick-action{min-height:75px}.priority-copy small{font-size:9px}.upcoming-when{font-size:8px}.team-load-card{grid-template-columns:minmax(0,1fr) 48px auto}.board-health-main .health-ring{width:67px;height:67px}.filter-chip{padding:6px 10px}.customer-inbox-card{padding:11px}.message-status{max-width:35%;white-space:normal;text-align:center}.week-nav{gap:6px}.week-nav>button{flex:1 1 auto;padding:8px;font-size:9px}.week-nav>b{order:-1;flex-basis:100%;text-align:center}.week-empty-toggle{flex-basis:100%!important}.tiling-capacity-card{grid-template-columns:minmax(0,1fr) 50px auto}
}
@media(prefers-reduced-motion:reduce){.media-loading .ui-icon{animation:none}}
