/* Horizon 4 — a single mobile-first design layer.
   This file replaces the legacy RiceOps visual stack; it is intentionally
   self-contained so old and new layouts are never loaded together. */

:root {
	--hz-navy: #102033;
	--hz-navy-2: #172b42;
	--hz-teal: #087f73;
	--hz-teal-hover: #066b62;
	--hz-teal-soft: #e9f7f5;
	--hz-blue: #2563eb;
	--hz-bg: #f4f7f9;
	--hz-surface: #ffffff;
	--hz-surface-2: #eef3f6;
	--hz-border: #d9e2e8;
	--hz-border-strong: #b9c7d1;
	--hz-text: #132238;
	--hz-text-2: #354a60;
	--hz-muted: #52677c;
	--hz-success: #16845b;
	--hz-success-soft: #e8f7f0;
	--hz-warning: #b86a08;
	--hz-warning-soft: #fff5df;
	--hz-danger: #c93d4a;
	--hz-danger-soft: #fff0f1;
	--hz-info-soft: #edf4ff;
	--hz-radius-sm: 8px;
	--hz-radius: 12px;
	--hz-radius-lg: 18px;
	--hz-shadow: 0 8px 28px rgb(15 32 51 / .08);
	--hz-shadow-float: 0 18px 48px rgb(15 32 51 / .18);
	--hz-focus: 0 0 0 3px rgb(8 127 115 / .22);
	--hz-motion-fast: 140ms;
	--hz-motion: 180ms;
	--hz-motion-panel: 220ms;
	--hz-z-dropdown: 1100;
	--hz-z-backdrop: 1200;
	--hz-z-drawer: 1250;
	--hz-z-modal: 1300;
	--hz-z-toast: 1400;
	--hz-header-h: 64px;
	--hz-mobile-nav-h: 72px;
	--hz-sidebar-w: 248px;
	--hz-content-max: 1480px;
	--hz-space-1: .25rem;
	--hz-space-2: .5rem;
	--hz-space-3: .75rem;
	--hz-space-4: 1rem;
	--hz-space-5: 1.25rem;
	--hz-space-6: 1.5rem;
	--hz-space-8: 2rem;
	--riceops-primary: var(--hz-teal);
	--riceops-secondary: var(--hz-navy);
	--riceops-background: var(--hz-bg);
	--riceops-surface: var(--hz-surface);
	--riceops-text: var(--hz-text);
	--riceops-muted: var(--hz-muted);
	--riceops-border: var(--hz-border);
	--riceops-radius-sm: var(--hz-radius-sm);
	--riceops-radius: var(--hz-radius);
	--riceops-radius-lg: var(--hz-radius-lg);
	font-family: "Cairo", "Noto Sans Arabic", "Segoe UI", system-ui, sans-serif;
	font-size: 16px;
	color-scheme: light;
}

*, *::before, *::after { box-sizing: border-box; }

html,
body.mod-riceops,
body.horizon-only {
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	background: var(--hz-bg);
	color: var(--hz-text);
	font-family: "Cairo", "Noto Sans Arabic", "Segoe UI", system-ui, sans-serif !important;
	overflow-x: clip;
}

body.mod-riceops > #id-top,
body.horizon-only > #id-top,
body.mod-riceops #id-left,
body.horizon-only #id-left,
body.mod-riceops .side-nav,
body.horizon-only .side-nav,
body.mod-riceops > #page_y,
body.horizon-only > #page_y { display: none !important; }

body.mod-riceops #id-container,
body.horizon-only #id-container,
body.mod-riceops #id-right,
body.horizon-only #id-right,
body.mod-riceops .fiche,
body.horizon-only .fiche,
body.mod-riceops .fichecenter,
body.horizon-only .fichecenter,
body.mod-riceops .fichehalfleft,
body.horizon-only .fichehalfleft,
body.mod-riceops .fichehalfright,
body.horizon-only .fichehalfright,
body.mod-riceops .tabBar,
body.horizon-only .tabBar,
body.mod-riceops .div-table-responsive,
body.horizon-only .div-table-responsive {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	float: none !important;
}

body[dir="rtl"],
body[dir="rtl"] input,
body[dir="rtl"] select,
body[dir="rtl"] textarea,
body[dir="rtl"] button { font-family: "Cairo", "Noto Sans Arabic", "Segoe UI", system-ui, sans-serif !important; }
.riceops-rtl .riceops-hub-step { grid-template-columns: auto minmax(0, 1fr) auto; }
body.page-riceops-distribution .riceops-app,
body.page-riceops-returns .riceops-app { direction: inherit; overflow-x:clip; }

.riceops-app,
.riceops-app input,
.riceops-app select,
.riceops-app textarea,
.riceops-app button { font-family: inherit; }

.riceops-app {
	display: grid;
	grid-template: "header" var(--hz-header-h) "main" minmax(0, 1fr) / minmax(0, 1fr);
	min-height: 100dvh;
	width: 100%;
	background: var(--hz-bg);
	color: var(--hz-text);
	line-height: 1.55;
}

.riceops-app a { color: var(--hz-teal); }
.riceops-app a:hover { color: var(--hz-teal-hover); }
.riceops-app [hidden] { display: none !important; }

/* Hard visual boundary: legacy Dolibarr primitives may still be emitted by
   business forms, but none of their old spacing, gradients or shadows may
   leak into the Horizon workspace. */
.riceops-app,
.riceops-app *,
.riceops-app *::before,
.riceops-app *::after { box-sizing: border-box; }
.riceops-app :where(.fiche, .fichecenter, .fichehalfleft, .fichehalfright, .tabBar, .box, .box-flex-item, .table-fiche-title, .titre) {
	min-width: 0;
	max-width: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	float: none;
}
.riceops-app :where(.liste_titre, tr.liste_titre, .oddeven) { background: transparent; }
.riceops-app :where(h1, h2, h3, h4, p) { overflow-wrap: anywhere; }
.riceops-app :where(button, input, select, textarea) { color: inherit; }
.riceops-ui-icon { display: inline-grid; place-items: center; width: 1.15em; margin-inline-end: .42rem; color: currentColor; line-height: 1; }
.riceops-icon-button .riceops-ui-icon,
.horizon-mobile-nav-icon .riceops-ui-icon,
.riceops-search-icon .riceops-ui-icon { width: 1em; margin: 0; }

.riceops-app :focus-visible {
	outline: 2px solid var(--hz-teal);
	outline-offset: 2px;
	box-shadow: var(--hz-focus);
}

.riceops-sr-only {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

.riceops-skip-link {
	position: fixed;
	inset-block-start: .5rem;
	inset-inline-start: .5rem;
	z-index: 5000;
	transform: translateY(-180%);
	padding: .75rem 1rem;
	border-radius: var(--hz-radius-sm);
	background: #fff;
	color: var(--hz-navy) !important;
	font-weight: 800;
}
.riceops-skip-link:focus { transform: translateY(0); }

/* App header */
.riceops-header {
	grid-area: header;
	position: sticky;
	top: 0;
	z-index: 1000;
	display: flex;
	align-items: center;
	gap: .625rem;
	height: var(--hz-header-h);
	padding-inline: .75rem;
	background: var(--hz-navy);
	color: #fff;
	box-shadow: 0 1px 0 rgb(255 255 255 / .08);
}

.riceops-brand {
	display: inline-flex;
	align-items: center;
	gap: .625rem;
	min-width: 0;
	color: #fff !important;
	text-decoration: none !important;
	font-size: 1rem;
	font-weight: 850;
	white-space: nowrap;
}
.riceops-brand-mark,
.horizon-embedded-mark {
	display: grid;
	place-items: center;
	width: 34px;
	height: 34px;
	flex: 0 0 34px;
	border-radius: 10px;
	background: var(--hz-teal);
	color: #fff;
	font-weight: 900;
}
.riceops-page-context { display: none; min-width: 0; }
.riceops-page-context strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.riceops-eyebrow { display: block; color: #a9bdce; font-size: .68rem; }
.riceops-header-tools { display: flex; align-items: center; gap: .375rem; margin-inline-start: auto; }

.riceops-icon-button,
.riceops-profile-btn,
.riceops-attention-bell-btn {
	display: inline-grid;
	place-items: center;
	min-width: 44px;
	height: 44px;
	margin: 0;
	padding: 0 .65rem;
	border: 1px solid rgb(255 255 255 / .12);
	border-radius: 12px;
	background: transparent;
	color: #fff;
	cursor: pointer;
}
.riceops-icon-button:hover,
.riceops-profile-btn:hover,
.riceops-attention-bell-btn:hover { background: rgb(255 255 255 / .1); }

.riceops-profile,
.riceops-attention-bell { position: relative; }
.riceops-profile > summary,
.riceops-attention-bell > summary { list-style: none; }
.riceops-profile > summary::-webkit-details-marker,
.riceops-attention-bell > summary::-webkit-details-marker { display: none; }
.riceops-profile-avatar {
	display: grid;
	place-items: center;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: var(--hz-teal);
	font-size: .75rem;
	font-weight: 800;
}
.riceops-profile-chevron { display: none; }
.riceops-attention-bell-btn { position: relative; }
.riceops-attention-bell-btn b {
	position: absolute;
	inset-block-start: 2px;
	inset-inline-end: 2px;
	display: grid;
	place-items: center;
	min-width: 18px;
	height: 18px;
	padding: 0 4px;
	border: 2px solid var(--hz-navy);
	border-radius: 999px;
	background: var(--hz-danger);
	color: #fff;
	font-size: .625rem;
}

.riceops-profile-menu,
.riceops-attention-dropdown,
.riceops-search-dropdown {
	position: absolute;
	inset-block-start: calc(100% + .5rem);
	inset-inline-end: 0;
	z-index: 1500;
	width: min(330px, calc(100vw - 1rem));
	padding: .5rem;
	border: 1px solid var(--hz-border);
	border-radius: var(--hz-radius);
	background: #fff;
	box-shadow: var(--hz-shadow-float);
	color: var(--hz-text);
}
.riceops-profile-menu a,
.riceops-profile-identity,
.riceops-attention-dropdown-item,
.riceops-attention-dropdown-empty,
.riceops-attention-dropdown-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 42px;
	padding: .6rem .75rem;
	border-radius: 8px;
	text-decoration: none;
}
.riceops-profile-menu a:hover,
.riceops-attention-dropdown-item:hover { background: var(--hz-surface-2); }
.riceops-profile-identity,
.riceops-attention-dropdown-header { font-weight: 800; }
.riceops-profile-menu hr { border: 0; border-top: 1px solid var(--hz-border); }
.riceops-profile-menu .danger { color: var(--hz-danger); }
.riceops-attention-dropdown-count { min-width: 26px; padding: .1rem .4rem; border-radius: 999px; background: var(--hz-warning-soft); text-align: center; font-weight: 800; }

/* Search is a compact mobile overlay and expands inline on larger screens. */
.riceops-global-search { display: none; }
.riceops-search-open .riceops-global-search {
	display: block;
	position: fixed;
	inset: calc(var(--hz-header-h) + .5rem) .5rem auto;
	z-index: 1450;
}
.riceops-quick-search { position: relative; display: block; }
.riceops-quick-search input {
	width: 100%;
	height: 48px;
	padding-inline: 2.75rem .75rem;
	border: 1px solid var(--hz-border);
	border-radius: var(--hz-radius);
	background: #fff;
	color: var(--hz-text);
	font-size: 1rem;
}
.riceops-search-icon { position: absolute; inset-inline-start: .9rem; top: 50%; transform: translateY(-50%); }
.riceops-search-shortcut { display: none; }
.riceops-search-dropdown { position: static; width: 100%; margin-top: .35rem; max-height: min(65vh, 520px); overflow: auto; }
.riceops-search-group-label { padding: .45rem .65rem; color: var(--hz-muted); font-size: .75rem; font-weight: 800; }
.riceops-search-item { display: grid; gap: .15rem; min-height: 44px; padding: .55rem .65rem; border-radius: 8px; text-decoration: none; }
.riceops-search-item:hover,
.riceops-search-item:focus { background: var(--hz-teal-soft); }
.riceops-search-item-sublabel { color: var(--hz-muted); font-size: .78rem; }
.riceops-search-empty { padding: 1rem; color: var(--hz-muted); text-align: center; }

/* Sidebar is a drawer on mobile. Only one disclosure is kept open by JS. */
.riceops-sidebar {
	position: fixed;
	inset-block: var(--hz-header-h) var(--hz-mobile-nav-h);
	inset-inline-start: 0;
	z-index: 1300;
	width: min(86vw, 320px);
	padding: .75rem;
	transform: translateX(-110%);
	background: var(--hz-navy);
	color: #d8e3ec;
	overflow-y: auto;
	transition: transform .2s ease;
}
[dir="rtl"] .riceops-sidebar { transform: translateX(110%); }
.drawer-open .riceops-sidebar { transform: translateX(0); }
.riceops-sidebar nav { display: grid; gap: .35rem; }
.riceops-nav-section { border-radius: var(--hz-radius-sm); }
.riceops-nav-section > summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 44px;
	padding: .65rem .75rem;
	border-radius: var(--hz-radius-sm);
	color: #adbdca;
	font-size: .78rem;
	font-weight: 800;
	letter-spacing: .02em;
	cursor: pointer;
	list-style: none;
}
.riceops-nav-section > summary::-webkit-details-marker { display: none; }
.riceops-nav-section > summary:hover { background: rgb(255 255 255 / .06); color: #fff; }
.riceops-nav-section ul { display: grid; gap: .2rem; margin: 0; padding: .1rem 0 .6rem; list-style: none; }
.riceops-nav-section a {
	display: flex;
	align-items: center;
	gap: .7rem;
	min-height: 44px;
	padding: .55rem .75rem;
	border-radius: 9px;
	color: #dce6ee !important;
	text-decoration: none !important;
	font-size: .88rem;
}
.riceops-nav-section a:hover { background: rgb(255 255 255 / .08); }
.riceops-nav-section a.active { background: var(--hz-teal); color: #fff !important; font-weight: 800; }
.riceops-nav-dot { width: 7px; height: 7px; flex: 0 0 7px; border: 1px solid currentColor; border-radius: 50%; opacity: .75; }
.riceops-nav-section a.active .riceops-nav-dot { background: #fff; }
.riceops-drawer-backdrop { position: fixed; inset: var(--hz-header-h) 0 var(--hz-mobile-nav-h); z-index: 1200; background: rgb(5 16 27 / .48); backdrop-filter: blur(2px); }

/* Mobile bottom navigation: the default primary interaction surface. */
.horizon-mobile-nav {
	position: fixed;
	inset: auto 0 0;
	z-index: 1150;
	display: grid;
	grid-template-columns: repeat(var(--horizon-mobile-items, 5), minmax(0, 1fr));
	height: var(--hz-mobile-nav-h);
	padding: .35rem max(.25rem, env(safe-area-inset-right)) max(.35rem, env(safe-area-inset-bottom)) max(.25rem, env(safe-area-inset-left));
	border-top: 1px solid var(--hz-border);
	background: rgb(255 255 255 / .97);
	box-shadow: 0 -10px 28px rgb(15 32 51 / .08);
	backdrop-filter: blur(14px);
}
.horizon-mobile-nav a,
.horizon-mobile-nav button {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: .15rem;
	min-width: 0;
	min-height: 54px;
	padding: .2rem;
	border: 0;
	border-radius: 10px;
	background: transparent;
	color: var(--hz-muted);
	text-decoration: none !important;
	font-size: clamp(.58rem, 2.4vw, .7rem);
	font-weight: 750;
	cursor: pointer;
}
.horizon-mobile-nav a > span:last-child,
.horizon-mobile-nav button > span:last-child { width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.horizon-mobile-nav a.active { background: var(--hz-teal-soft); color: var(--hz-teal); }
.horizon-mobile-nav-icon { display: grid; place-items: center; height: 23px; font-size: 1.15rem; font-weight: 900; }

/* Main content */
.riceops-main {
	grid-area: main;
	display: block;
	width: 100%;
	min-width: 0;
	max-width: var(--hz-content-max);
	margin: 0 auto;
	padding: 1rem .75rem calc(var(--hz-mobile-nav-h) + 1rem);
}
.riceops-footer { padding: 2rem 0 1rem; color: var(--hz-muted); font-size: .75rem; text-align: center; }

.riceops-page-header,
.riceops-exec-top-bar,
.riceops-task-hero,
.riceops-hero-card {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	gap: .75rem;
	margin: 0 0 1rem;
}
.riceops-page-header h1,
.riceops-page-header h2,
.riceops-exec-top-bar h1,
.riceops-task-hero h1,
.riceops-hero-card h1 { margin: 0; color: var(--hz-text); font-size: clamp(1.35rem, 5vw, 2rem); line-height: 1.25; }
.riceops-page-header p,
.riceops-task-hero p,
.riceops-hero-card p { max-width: 70ch; margin: .35rem 0 0; color: var(--hz-text-2); }

.riceops-panel,
.riceops-dashboard-section,
.riceops-form-section,
.riceops-card,
.riceops-exec-section,
.riceops-dist-context-card,
.riceops-hub-summary,
.riceops-audit-panel,
.riceops-readiness-card {
	min-width: 0;
	margin: 0 0 1rem;
	padding: 1rem;
	border: 1px solid var(--hz-border);
	border-radius: var(--hz-radius);
	background: var(--hz-surface);
	box-shadow: 0 1px 2px rgb(15 32 51 / .03);
}
.riceops-panel :where(.riceops-panel, .riceops-dashboard-section, .riceops-form-section, .riceops-card),
.riceops-dashboard-section :where(.riceops-panel, .riceops-dashboard-section, .riceops-form-section, .riceops-card),
.riceops-form-section :where(.riceops-panel, .riceops-dashboard-section, .riceops-form-section, .riceops-card) {
	margin-bottom: .75rem;
	border-color: var(--hz-border);
	background: var(--hz-surface-2);
	box-shadow: none;
}
.riceops-panel-header,
.riceops-dashboard-section-header,
.riceops-card-header,
.riceops-exec-section-head,
.riceops-dist-context-card-head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: .6rem;
	margin: 0 0 .85rem;
}
.riceops-panel h1,
.riceops-panel h2,
.riceops-panel h3,
.riceops-dashboard-section h1,
.riceops-dashboard-section h2,
.riceops-dashboard-section h3,
.riceops-form-section h2,
.riceops-card-title,
.riceops-section-title { margin: 0; color: var(--hz-text); font-size: 1.05rem; line-height: 1.35; }
.riceops-muted,
.riceops-cell-muted,
.opacitymedium { color: var(--hz-muted) !important; }

/* KPIs and summaries */
.riceops-kpi-grid,
.riceops-summary-grid,
.riceops-executive-grid,
.riceops-card-grid,
.riceops-data-cards,
.horizon-command-grid,
.riceops-hub-metrics {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: .6rem;
	margin: 0 0 1rem;
}
.riceops-kpi,
.riceops-kpi-card,
.riceops-canonical-kpi-card,
.riceops-exec-card,
.riceops-card-summary,
.horizon-command-grid > a,
.horizon-command-grid > article {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: .35rem;
	min-width: 0;
	min-height: 84px;
	padding: .75rem;
	border: 1px solid var(--hz-border);
	border-radius: var(--hz-radius);
	background: #fff;
	color: var(--hz-text);
	text-decoration: none;
}
.riceops-kpi span,
.riceops-kpi-card span,
.riceops-canonical-kpi-card span,
.riceops-exec-card-title,
.riceops-card-summary-label { color: var(--hz-muted); font-size: .76rem; font-weight: 750; }
.riceops-kpi strong,
.riceops-kpi-card strong,
.riceops-canonical-kpi-card strong,
.riceops-exec-card-value,
.riceops-card-summary-value { overflow-wrap: anywhere; color: var(--hz-text); font-size: clamp(1.3rem, 6vw, 2rem); line-height: 1.1; }
.riceops-kpi-note,
.riceops-kpi-sub,
.riceops-exec-card-sub { color: var(--hz-muted); font-size: .72rem; }

/* Operational hubs and lists */
.riceops-receiving-health {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 1rem;
	padding: .25rem 0 .9rem;
	border-bottom: 1px solid var(--hz-border);
}
.riceops-receiving-health h2,
.riceops-receiving-attention h2,
.riceops-receiving-section-header h2 { margin: 0; color: var(--hz-text); font-size: clamp(1.125rem, 1.5vw, 1.3rem); line-height: 1.3; }
.riceops-receiving-health p:not(.riceops-section-eyebrow),
.riceops-receiving-attention p:not(.riceops-section-eyebrow) { margin: .3rem 0 0; color: var(--hz-muted); font-size: .82rem; }
.riceops-section-eyebrow { margin: 0 0 .28rem; color: var(--hz-teal); font-size: .72rem; font-weight: 800; letter-spacing: .02em; }
.riceops-receiving-metrics { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: .65rem; margin: 1rem 0; }
.riceops-receiving-metric { display: grid; align-content: space-between; min-height: 86px; padding: .72rem .78rem; border: 1px solid var(--hz-border); border-radius: var(--hz-radius-sm); background: #fff; transition: border-color 160ms ease, transform 160ms ease, box-shadow 160ms ease; }
.riceops-receiving-metric:hover { transform: translateY(-2px); border-color: color-mix(in srgb, var(--hz-teal) 34%, var(--hz-border)); box-shadow: 0 5px 14px rgba(16, 42, 52, .07); }
.riceops-receiving-metric span { color: var(--hz-muted); font-size: .74rem; font-weight: 700; line-height: 1.35; }
.riceops-receiving-metric strong { margin-top: .45rem; color: var(--hz-text); font-size: clamp(1.35rem, 2.1vw, 1.85rem); line-height: 1; }
.riceops-receiving-metric.tone-warning { border-color: color-mix(in srgb, #b7791f 40%, var(--hz-border)); background: #fffdf8; }
.riceops-receiving-metric.tone-info { border-color: color-mix(in srgb, var(--hz-teal) 38%, var(--hz-border)); background: #fbfefe; }
.riceops-receiving-metric.tone-danger { border-color: color-mix(in srgb, #b64040 44%, var(--hz-border)); background: #fffafa; }
.riceops-receiving-metric.tone-danger strong { color: #a93434; }
.riceops-receiving-attention { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin: 1rem 0; padding: .9rem 1rem; border: 1px solid var(--hz-border); border-radius: var(--hz-radius); background: #fff; }
.riceops-receiving-attention.has-action { border-inline-start: 3px solid var(--hz-teal); }
.riceops-receiving-attention.tone-danger { border-inline-start-color: #b64040; background: #fffafa; }
.riceops-receiving-primary-action,
.riceops-receiving-step-detail a { display: inline-flex; align-items: center; justify-content: center; gap: .45rem; min-height: 38px; padding: .55rem .8rem; border-radius: 8px; background: var(--hz-teal); color: #fff; font-size: .82rem; font-weight: 800; text-decoration: none; white-space: nowrap; transition: background 150ms ease, transform 150ms ease, box-shadow 150ms ease; }
.riceops-receiving-primary-action:hover,
.riceops-receiving-step-detail a:hover { background: var(--hz-teal-dark); color: #fff; transform: translateY(-1px); box-shadow: 0 4px 10px rgba(19, 105, 97, .2); }
.riceops-receiving-workflow { margin-top: 1.2rem; padding-top: 1rem; border-top: 1px solid var(--hz-border); }
.riceops-receiving-section-header { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: .65rem; }
.riceops-receiving-section-header > span { color: var(--hz-muted); font-size: .73rem; }
.riceops-receiving-steps { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; margin: 0; padding: 0; list-style: none; }
.riceops-receiving-step { border: 1px solid var(--hz-border); border-radius: var(--hz-radius-sm); background: #fff; overflow: hidden; transition: border-color 160ms ease, box-shadow 160ms ease; }
.riceops-receiving-step:has(details[open]) { border-color: color-mix(in srgb, var(--hz-teal) 45%, var(--hz-border)); box-shadow: 0 5px 14px rgba(16, 42, 52, .06); }
.riceops-receiving-step.tone-attention { border-inline-start: 3px solid #b7791f; }
.riceops-receiving-step.tone-done .riceops-receiving-step-index { background: #eaf7f0; color: #19764d; }
.riceops-receiving-step summary { display: grid; grid-template-columns: 28px minmax(0, 1fr) auto; align-items: center; gap: .65rem; min-height: 56px; padding: .65rem .75rem; cursor: pointer; list-style: none; }
.riceops-receiving-step summary::-webkit-details-marker { display: none; }
.riceops-receiving-step summary:focus-visible { outline: 2px solid var(--hz-teal); outline-offset: -2px; }
.riceops-receiving-step-index,
.riceops-receiving-step-state { display: grid; place-items: center; min-width: 28px; height: 28px; border-radius: 8px; background: var(--hz-teal-soft); color: var(--hz-teal); font-size: .75rem; font-weight: 850; }
.riceops-receiving-step-state { min-width: 26px; background: var(--hz-surface); color: var(--hz-muted); }
.riceops-receiving-step-title { min-width: 0; }
.riceops-receiving-step-title strong,
.riceops-receiving-step-title small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.riceops-receiving-step-title strong { color: var(--hz-text); font-size: .84rem; }
.riceops-receiving-step-title small { margin-top: .16rem; color: var(--hz-muted); font-size: .7rem; }
.riceops-receiving-step-detail { display: grid; gap: .65rem; padding: 0 .75rem .75rem 3.3rem; color: var(--hz-muted); font-size: .78rem; animation: riceops-receiving-reveal 180ms ease-out both; }
.riceops-receiving-step-detail p { margin: 0; line-height: 1.55; }
.riceops-receiving-step-detail a { justify-self: start; }
@keyframes riceops-receiving-reveal { from { opacity: 0; transform: translateY(-3px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 1100px) { .riceops-receiving-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 640px) { .riceops-receiving-health, .riceops-receiving-attention { align-items: stretch; flex-direction: column; } .riceops-receiving-primary-action { width: 100%; } .riceops-receiving-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); } .riceops-receiving-metric { min-height: 76px; } .riceops-receiving-steps { grid-template-columns: 1fr; } .riceops-receiving-section-header > span { display: none; } }
@media (prefers-reduced-motion: reduce) { .riceops-receiving-metric, .riceops-receiving-primary-action, .riceops-receiving-step, .riceops-receiving-step-detail { animation: none; transition: none; } }

/* Hub navigation cards: meaningful workflow destinations, not generic tabs. */
.riceops-context-cards { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .55rem; margin: 0 0 1rem; }
.riceops-context-card { position: relative; display: grid; gap: .2rem; min-height: 70px; padding: .65rem .75rem; border: 1px solid var(--hz-border); border-radius: var(--hz-radius-sm); background: #fff; color: var(--hz-text); text-decoration: none; transition: border-color 160ms ease, background 160ms ease, box-shadow 160ms ease, transform 160ms ease; }
.riceops-context-card:hover { color: var(--hz-text); border-color: color-mix(in srgb, var(--hz-teal) 42%, var(--hz-border)); box-shadow: 0 4px 10px rgba(16,42,52,.06); transform: translateY(-1px); }
.riceops-context-card.active { border-color: var(--hz-teal); background: var(--hz-teal-soft); }
.riceops-context-card:focus-visible { outline: 2px solid var(--hz-teal); outline-offset: 2px; }
.riceops-context-card-title { padding-inline-end: 1rem; font-size: .82rem; font-weight: 850; line-height: 1.35; }
.riceops-context-card-description { color: var(--hz-muted); font-size: .7rem; line-height: 1.35; }
.riceops-context-card-arrow { position: absolute; inset-inline-end: .7rem; bottom: .65rem; color: var(--hz-teal); font-size: .85rem; }
@media (max-width: 1024px) { .riceops-context-cards { grid-template-columns: repeat(3, minmax(0,1fr)); } }
@media (max-width: 640px) { .riceops-context-cards { display: flex; overflow-x: auto; padding-bottom: .25rem; scroll-snap-type: inline mandatory; } .riceops-context-card { flex: 0 0 min(230px, 78vw); scroll-snap-align: start; } }

/* Shared Horizon component contracts for upcoming module migration. */
.horizon-tabs { display: flex; gap: .2rem; overflow-x: auto; border-bottom: 1px solid var(--hz-border); }
.horizon-tabs > [role="tab"], .horizon-tab { flex: 0 0 auto; padding: .55rem .7rem; border: 0; border-bottom: 2px solid transparent; background: transparent; color: var(--hz-muted); font: inherit; font-size: .82rem; font-weight: 750; text-decoration: none; transition: color var(--hz-motion-fast) ease, border-color var(--hz-motion-fast) ease, background var(--hz-motion-fast) ease; }
.horizon-tabs > [aria-selected="true"], .horizon-tab.active { border-color: var(--hz-teal); color: var(--hz-teal); background: var(--hz-teal-soft); }
.horizon-tabs > [role="tab"]:focus-visible, .horizon-tab:focus-visible, .horizon-button:focus-visible { outline: none; box-shadow: var(--hz-focus); }
.horizon-segmented { display: inline-flex; gap: .15rem; padding: .2rem; border: 1px solid var(--hz-border); border-radius: 9px; background: var(--hz-surface-2); }
.horizon-segmented > * { padding: .35rem .6rem; border: 0; border-radius: 6px; background: transparent; color: var(--hz-text-2); font: inherit; font-size: .78rem; font-weight: 750; }
.horizon-segmented > .active, .horizon-segmented > [aria-pressed="true"] { background: #fff; color: var(--hz-teal); box-shadow: 0 1px 3px rgb(15 32 51 / .1); }
.horizon-menu, .horizon-popover { min-width: 190px; padding: .35rem; border: 1px solid var(--hz-border); border-radius: var(--hz-radius-sm); background: #fff; box-shadow: var(--hz-shadow-float); animation: horizon-popover-in var(--hz-motion) ease-out both; }
.horizon-menu > a, .horizon-menu > button { display: flex; width: 100%; align-items: center; gap: .5rem; padding: .55rem .6rem; border: 0; border-radius: 6px; background: transparent; color: var(--hz-text); font: inherit; font-size: .8rem; text-align: start; text-decoration: none; }
.horizon-menu > a:hover, .horizon-menu > button:hover { background: var(--hz-surface-2); }.horizon-menu .danger { color: var(--hz-danger); }
.horizon-modal-backdrop { position: fixed; inset: 0; z-index: var(--hz-z-backdrop); display: grid; place-items: center; padding: 1rem; background: rgb(5 16 27 / .45); }
.horizon-modal { width: min(100%, 620px); max-height: min(88vh, 760px); overflow: auto; border-radius: var(--hz-radius); background: #fff; box-shadow: var(--hz-shadow-float); }.horizon-modal.large { width: min(100%, 980px); }.horizon-modal-header, .horizon-modal-footer { display: flex; align-items: center; justify-content: space-between; gap: .75rem; padding: .9rem 1rem; border-bottom: 1px solid var(--hz-border); }.horizon-modal-footer { border-top: 1px solid var(--hz-border); border-bottom: 0; }.horizon-modal-body { padding: 1rem; }
.horizon-drawer { position: fixed; inset: 0 0 0 auto; z-index: var(--hz-z-drawer); width: min(100%, 480px); padding: 1rem; overflow: auto; background: #fff; box-shadow: var(--hz-shadow-float); transform: translateX(100%); transition: transform var(--hz-motion-panel) ease; }.horizon-drawer.is-open { transform: translateX(0); }[dir="rtl"] .horizon-drawer { inset: 0 auto 0 0; transform: translateX(-100%); }[dir="rtl"] .horizon-drawer.is-open { transform: translateX(0); }
.horizon-filter-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; padding: .6rem; border: 1px solid var(--hz-border); border-radius: var(--hz-radius-sm); background: #fff; }.horizon-filter-chip { display: inline-flex; align-items: center; gap: .3rem; padding: .25rem .5rem; border-radius: 999px; background: var(--hz-teal-soft); color: var(--hz-teal); font-size: .72rem; font-weight: 750; }
@keyframes horizon-popover-in { from { opacity: 0; transform: translateY(-5px); } to { opacity: 1; transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) { .horizon-menu, .horizon-popover { animation: none; }.horizon-drawer { transition: none; } }
.riceops-hub-workflow,
.riceops-hub-steps,
.riceops-attention-list,
.horizon-compact-list,
.riceops-mobile-workflow,
.riceops-plan-load { display: grid; gap: .65rem; margin: 0; padding: 0; }
.riceops-hub-step,
.riceops-attention-item,
.riceops-plan-load-row,
.riceops-dist-fleet-item,
.riceops-dist-perf-row,
.riceops-dist-trip-detail-row {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: .75rem;
	min-height: 54px;
	padding: .7rem;
	border: 1px solid var(--hz-border);
	border-radius: var(--hz-radius-sm);
	background: #fff;
}
.riceops-hub-step-index,
.riceops-hub-step-count {
	display: grid;
	place-items: center;
	min-width: 30px;
	height: 30px;
	border-radius: 9px;
	background: var(--hz-teal-soft);
	color: var(--hz-teal);
	font-weight: 850;
}
.riceops-hub-step-body,
.riceops-dist-fleet-item-label,
.riceops-dist-perf-label { min-width: 0; }
.riceops-hub-shortcut-grid,
.riceops-connected-hub-grid,
.riceops-station-portal-grid { display: grid; grid-template-columns: 1fr; gap: .75rem; }
.riceops-connected-hub-card,
.riceops-station-portal-card,
.riceops-hub-shortcut-grid a {
	display: flex;
	align-items: center;
	gap: .75rem;
	min-height: 68px;
	padding: .85rem;
	border: 1px solid var(--hz-border);
	border-radius: var(--hz-radius);
	background: #fff;
	color: var(--hz-text);
	text-decoration: none;
}
.riceops-station-portal-body { flex: 1; min-width: 0; }
.riceops-station-portal-title,
.riceops-connected-hub-title { display: block; font-weight: 850; }
.riceops-station-portal-desc,
.riceops-connected-hub-desc { display: block; color: var(--hz-muted); font-size: .78rem; }
.riceops-station-portal-icon,
.riceops-connected-hub-icon { display: grid; place-items: center; width: 40px; height: 40px; flex: 0 0 40px; border-radius: 11px; background: var(--hz-teal-soft); }

/* Forms: one column is the mobile default. */
.riceops-form-grid,
.riceops-filter-grid,
.riceops-dashboard-filters,
.riceops-filter-bar { display: grid; grid-template-columns: 1fr; gap: .85rem; }
.riceops-field,
.riceops-filter-field { display: grid; align-content: start; gap: .35rem; min-width: 0; }
.riceops-field > label,
.riceops-filter-field > label,
.riceops-field-label { color: var(--hz-text-2); font-size: .8rem; font-weight: 800; }
.riceops-required { color: var(--hz-danger); }
.riceops-app input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
.riceops-app select,
.riceops-app textarea {
	width: 100%;
	min-height: 44px;
	margin: 0;
	padding: .65rem .75rem;
	border: 1px solid var(--hz-border-strong);
	border-radius: var(--hz-radius-sm);
	background: #fff;
	color: var(--hz-text);
	font-size: 1rem;
}
.riceops-app textarea { min-height: 108px; resize: vertical; }
.riceops-app input:focus,
.riceops-app select:focus,
.riceops-app textarea:focus { border-color: var(--hz-teal); outline: 0; box-shadow: var(--hz-focus); }
.riceops-check,
.riceops-checkbox { display: flex; align-items: center; gap: .55rem; min-height: 44px; }
.riceops-check input,
.riceops-checkbox input { width: 20px; height: 20px; accent-color: var(--hz-teal); }
.riceops-form-actions,
.riceops-inline-actions,
.riceops-card-actions,
.riceops-action-inline,
.riceops-inline-form { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; margin-top: .85rem; }

/* Buttons always keep a 44px touch target. */
.riceops-button,
.riceops-action,
.riceops-app .button,
.riceops-app .butAction,
.riceops-app button[type="submit"]:not(.secondary):not(.riceops-btn-secondary):not(.riceops-canonical-btn-secondary),
.riceops-app input[type="submit"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	margin: 0;
	padding: .6rem 1rem;
	border: 1px solid var(--hz-teal);
	border-radius: var(--hz-radius-sm);
	background: var(--hz-teal);
	color: #fff !important;
	font-size: .88rem;
	font-weight: 800;
	line-height: 1.2;
	text-align: center;
	text-decoration: none !important;
	cursor: pointer;
}
.riceops-button:hover,
.riceops-action:hover,
.riceops-app .button:hover,
.riceops-app .butAction:hover { background: var(--hz-teal-hover); border-color: var(--hz-teal-hover); }
.riceops-button.secondary,
.riceops-app .button.secondary,
.riceops-action.secondary,
.riceops-app .riceops-canonical-btn-secondary,
.riceops-app .riceops-secondary-action { border-color: var(--hz-border-strong); background: #fff; color: var(--hz-text) !important; }
.riceops-button.secondary:hover,
.riceops-app .button.secondary:hover,
.riceops-app .riceops-canonical-btn-secondary:hover,
.riceops-app .riceops-secondary-action:hover { border-color: var(--hz-teal); background: var(--hz-teal-soft); color: var(--hz-teal) !important; }
.riceops-button:disabled,
.riceops-app button:disabled,
.riceops-app input:disabled { opacity: .55; cursor: not-allowed; }
.riceops-loading::after { content: ""; width: 15px; height: 15px; margin-inline-start: .5rem; border: 2px solid currentColor; border-inline-end-color: transparent; border-radius: 50%; animation: horizon-spin .7s linear infinite; }
@keyframes horizon-spin { to { transform: rotate(360deg); } }
.riceops-mobile-action-form { margin-top: .75rem; }
.riceops-button-wide { width: 100%; min-height: 52px !important; }

/* Data tables remain tables on desktop and become labelled cards on mobile. */
.riceops-table-wrap { width: 100%; min-width: 0; overflow-x: auto; border: 1px solid var(--hz-border); border-radius: var(--hz-radius); background: #fff; }
.riceops-table,
.riceops-app table.noborder.centpercent { width: 100%; border-collapse: collapse; background: #fff; }
.riceops-table th,
.riceops-table td,
.riceops-app table.noborder.centpercent th,
.riceops-app table.noborder.centpercent td { padding: .7rem .8rem; border-bottom: 1px solid var(--hz-border); text-align: start; vertical-align: middle; }
.riceops-table th,
.riceops-app table.noborder.centpercent th { background: var(--hz-surface-2); color: var(--hz-text-2); font-size: .74rem; font-weight: 850; white-space: nowrap; }
.riceops-table tbody tr:last-child td,
.riceops-app table.noborder.centpercent tbody tr:last-child td { border-bottom: 0; }
.riceops-table tbody tr:hover td { background: #f9fbfc; }
.riceops-col-action { width: 1%; white-space: nowrap; }

.riceops-status-badge,
.riceops-badge,
.riceops-priority-badge,
.riceops-exec-card-badge,
.horizon-tag,
.riceops-badge-final,
.riceops-badge-estimated,
.riceops-badge-empty {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 26px;
	padding: .18rem .55rem;
	border-radius: 999px;
	background: var(--hz-surface-2);
	color: var(--hz-text-2);
	font-size: .7rem;
	font-weight: 850;
	white-space: nowrap;
}
[class*="status-approved"], [class*="status-complete"], [class*="status-ready"], [class*="status-success"], .tone-success { background: var(--hz-success-soft); color: var(--hz-success); }
[class*="status-pending"], [class*="status-warning"], [class*="status-open"], .tone-warning { background: var(--hz-warning-soft); color: var(--hz-warning); }
[class*="status-reject"], [class*="status-danger"], [class*="status-block"], [class*="status-fail"], .tone-danger { background: var(--hz-danger-soft); color: var(--hz-danger); }

.riceops-alert-banner,
.riceops-system-state,
.riceops-empty-state,
.horizon-canonical-empty-state,
.riceops-empty,
.riceops-exec-calm-state,
.riceops-exec-attention-box,
.riceops-hub-exceptions {
	margin: 0 0 1rem;
	padding: 1rem;
	border: 1px solid var(--hz-border);
	border-inline-start: 4px solid var(--hz-teal);
	border-radius: var(--hz-radius);
	background: #fff;
}
.riceops-alert-banner--danger,
.riceops-system-state.tone-danger { border-inline-start-color: var(--hz-danger); background: var(--hz-danger-soft); }
.riceops-empty-state,
.horizon-canonical-empty-state,
.riceops-empty,
.riceops-exec-calm-state { display: grid; place-items: center; min-height: 150px; color: var(--hz-muted); text-align: center; }

.riceops-subtabs,
.riceops-prep-nav {
	display: flex;
	gap: .35rem;
	margin-bottom: .85rem;
	padding: .25rem;
	overflow-x: auto;
	border: 1px solid var(--hz-border);
	border-radius: var(--hz-radius);
	background: var(--hz-surface-2);
}
.riceops-subtabs a,
.riceops-prep-nav a { flex: 0 0 auto; min-height: 40px; padding: .5rem .75rem; border-radius: 8px; color: var(--hz-text-2); text-decoration: none; white-space: nowrap; }
.riceops-subtabs a.active,
.riceops-prep-nav a.active { background: #fff; color: var(--hz-teal); box-shadow: 0 1px 4px rgb(15 32 51 / .1); font-weight: 800; }

/* Compact task navigation: frequent destinations stay visible, everything else lives once in More. */
.riceops-context-nav {
	display: flex;
	align-items: stretch;
	gap: .4rem;
	margin-bottom: .9rem;
	padding: .3rem;
	border: 1px solid var(--hz-border);
	border-radius: var(--hz-radius);
	background: var(--hz-surface-2);
}
.horizon-context-primary { display: flex; flex: 1; gap: .3rem; min-width: 0; overflow-x: auto; scrollbar-width: none; }
.horizon-context-primary::-webkit-scrollbar { display: none; }
.horizon-context-primary a,
.horizon-context-more summary,
.horizon-context-more-grid a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: .55rem .8rem;
	border-radius: 9px;
	color: var(--hz-text-2);
	font-weight: 750;
	text-decoration: none;
	white-space: nowrap;
}
.horizon-context-primary a.active { background: #fff; color: var(--hz-teal); box-shadow: 0 1px 4px rgb(15 32 51 / .1); }
.horizon-context-more { position: relative; flex: 0 0 auto; }
.horizon-context-more summary { min-width: 76px; cursor: pointer; list-style: none; background: #fff; }
.horizon-context-more summary::-webkit-details-marker { display: none; }
.horizon-context-more[open] summary { color: var(--hz-teal); }
.horizon-context-more-grid {
	position: absolute;
	inset-inline-end: 0;
	top: calc(100% + .4rem);
	z-index: 1000;
	display: grid;
	grid-template-columns: repeat(2, minmax(170px, 1fr));
	gap: .25rem;
	width: min(440px, calc(100vw - 1.5rem));
	max-height: min(65vh, 520px);
	padding: .5rem;
	overflow-y: auto;
	border: 1px solid var(--hz-border);
	border-radius: var(--hz-radius);
	background: #fff;
	box-shadow: var(--hz-shadow-lg);
}
.horizon-context-more-grid a { justify-content: flex-start; white-space: normal; }
.horizon-context-more-grid a:hover { background: var(--hz-teal-soft); color: var(--hz-teal); }

@media (max-width: 520px) {
	.horizon-context-more-grid { grid-template-columns: 1fr; }
}

.riceops-mobile-actions {
	position: sticky;
	bottom: calc(var(--hz-mobile-nav-h) + .5rem);
	z-index: 900;
	display: flex;
	gap: .5rem;
	margin: 1rem 0 0;
	padding: .5rem;
	overflow-x: auto;
	border: 1px solid var(--hz-border);
	border-radius: var(--hz-radius);
	background: rgb(255 255 255 / .96);
	box-shadow: var(--hz-shadow);
	backdrop-filter: blur(10px);
}
.riceops-mobile-actions > * { flex: 1 0 auto; }
.riceops-sticky-action { position: sticky; bottom: calc(var(--hz-mobile-nav-h) + .5rem); z-index: 850; }

.riceops-confirmation { width: min(92vw, 480px); padding: 1.25rem; border: 0; border-radius: var(--hz-radius-lg); box-shadow: var(--hz-shadow-float); }
.riceops-confirmation::backdrop { background: rgb(5 16 27 / .58); backdrop-filter: blur(3px); }
.riceops-confirmation form { display: flex; justify-content: flex-end; gap: .6rem; }
.riceops-pagination { display: flex; flex-wrap: wrap; gap: .35rem; margin-top: 1rem; }
.riceops-barcode { max-width: 100%; overflow-wrap: anywhere; font-family: ui-monospace, monospace; }

/* Existing operational components mapped onto the same visual grammar. */
.riceops-breadcrumb,
.riceops-toolbar,
.riceops-list-controls,
.riceops-dashboard-selector,
.riceops-dashboard-filters-actions,
.riceops-exec-controls,
.riceops-exec-date-pills,
.riceops-header-title-group {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .5rem;
}
.riceops-breadcrumb { margin-bottom: .75rem; color: var(--hz-muted); font-size: .78rem; }
.riceops-breadcrumb-link { color: var(--hz-teal); text-decoration: none; }
.riceops-breadcrumb-current { color: var(--hz-text-2); font-weight: 800; }
.riceops-breadcrumb-sep { color: var(--hz-border-strong); }
.riceops-list-summary,
.riceops-pagination-info,
.riceops-section-subtitle,
.riceops-summary-detail,
.riceops-status-label { color: var(--hz-muted); font-size: .78rem; }
.riceops-section-header,
.riceops-attention-header,
.riceops-exec-attention-header,
.riceops-dist-trip-head,
.riceops-dist-trip-foot {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: .6rem;
}
.riceops-section-heading,
.riceops-canonical-title { margin: 0; color: var(--hz-text); font-size: clamp(1.2rem, 4vw, 1.75rem); }
.riceops-section-count,
.riceops-attention-count,
.riceops-dist-action-badge { display: inline-grid; place-items: center; min-width: 28px; min-height: 28px; padding: .15rem .45rem; border-radius: 999px; background: var(--hz-teal-soft); color: var(--hz-teal); font-size: .75rem; font-weight: 850; }

.riceops-canonical-page,
.riceops-exec-container,
.riceops-driver-portal,
.riceops-distribution-mobile { display: grid; gap: 1rem; min-width: 0; }
.riceops-canonical-header,
.riceops-pipeline-head { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: .75rem; }
.riceops-canonical-subtitle,
.riceops-hub-lede { max-width: 72ch; margin: .25rem 0 0; color: var(--hz-text-2); }
.riceops-canonical-board-section,
.riceops-status-panel,
.riceops-safety-banner,
.riceops-result,
.riceops-core-warning {
	padding: 1rem;
	border: 1px solid var(--hz-border);
	border-radius: var(--hz-radius);
	background: #fff;
}
.riceops-core-warning,
.riceops-safety-banner { border-inline-start: 4px solid var(--hz-warning); background: var(--hz-warning-soft); }
.riceops-canonical-kpi-grid,
.riceops-summary-card {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: .75rem;
}
.riceops-summary-card {
	min-width: 0;
	padding: .8rem;
	border: 1px solid var(--hz-border);
	border-radius: var(--hz-radius-sm);
	background: #fff;
}
.riceops-summary-label,
.riceops-kpi-label { color: var(--hz-muted); font-size: .74rem; font-weight: 800; }
.riceops-summary-value,
.riceops-kpi-number { display: block; color: var(--hz-text); font-size: 1.45rem; font-weight: 900; }

.riceops-pipeline-nav {
	margin: 0 0 1rem;
	padding: .75rem;
	border: 1px solid var(--hz-border);
	border-radius: var(--hz-radius);
	background: #fff;
}
.riceops-pipeline-title { margin: 0; font-weight: 900; }
.riceops-pipeline-strip {
	display: flex;
	gap: .5rem;
	margin-top: .75rem;
	padding-bottom: .15rem;
	overflow-x: auto;
	scroll-snap-type: inline proximity;
}
.riceops-pipeline-step {
	display: grid;
	grid-template-columns: auto minmax(112px, 1fr);
	align-items: center;
	gap: .5rem;
	min-height: 58px;
	padding: .6rem .7rem;
	border: 1px solid var(--hz-border);
	border-radius: var(--hz-radius-sm);
	background: var(--hz-bg);
	color: var(--hz-text);
	text-decoration: none;
	scroll-snap-align: start;
}
.riceops-pipeline-step.active { border-color: var(--hz-teal); background: var(--hz-teal-soft); }
.riceops-pipeline-step-num,
.riceops-pipeline-step-badge { display: grid; place-items: center; min-width: 28px; height: 28px; border-radius: 9px; background: #fff; color: var(--hz-teal); font-weight: 900; }
.riceops-pipeline-step-text { min-width: 0; }
.riceops-pipeline-step-label { display: block; font-size: .78rem; font-weight: 850; }
.riceops-pipeline-step-desc { display: block; color: var(--hz-muted); font-size: .68rem; }
.riceops-pipeline-pulse { width: 8px; height: 8px; border-radius: 50%; background: var(--hz-success); }
.riceops-pipeline-quick-jump { flex: 0 0 auto; }

.riceops-report-grid,
.riceops-connected-hubs-grid,
.riceops-station-portals-grid,
.horizon-vehicle-cards-container,
.riceops-dist-trips-grid,
.riceops-dist-fleet-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: .75rem;
}
.riceops-report-card,
.horizon-canonical-vehicle-card,
.horizon-hero-vehicle-card,
.riceops-dist-trip-milestone {
	display: flex;
	flex-direction: column;
	gap: .6rem;
	min-width: 0;
	padding: 1rem;
	border: 1px solid var(--hz-border);
	border-radius: var(--hz-radius);
	background: #fff;
	color: var(--hz-text);
	text-decoration: none;
}
.riceops-report-card-title,
.horizon-hero-vehicle-name,
.riceops-dist-trip-ref { color: var(--hz-text); font-weight: 900; }
.riceops-report-card-desc,
.horizon-hero-vehicle-plate { color: var(--hz-muted); font-size: .78rem; }
.riceops-report-card-footer { display: flex; align-items: center; justify-content: space-between; gap: .5rem; margin-top: auto; }
.riceops-card-link,
.riceops-exec-section-link { font-weight: 800; text-decoration: none; }

.riceops-dist-workspace-layout { display: grid; gap: 1rem; min-width: 0; }
.riceops-dist-main-col,
.riceops-dist-side-col,
.riceops-dist-perf-list,
.riceops-dist-trip-details,
.riceops-data-list,
.riceops-readiness-list { display: grid; gap: .65rem; min-width: 0; }
.riceops-dist-route-pill { display: inline-flex; align-items: center; gap: .35rem; padding: .25rem .55rem; border-radius: 999px; background: var(--hz-info-soft); color: var(--hz-blue); font-size: .72rem; font-weight: 800; }
.riceops-dist-trip-action-btn,
.riceops-dist-action-hero-btn,
.riceops-canonical-btn-primary,
.horizon-hero-btn-primary,
.horizon-btn-open-prep { min-height: 44px; }
.riceops-dist-action-hero,
.horizon-hero-action-box {
	display: grid;
	gap: .7rem;
	padding: 1rem;
	border-radius: var(--hz-radius);
	background: var(--hz-navy);
	color: #fff;
}
.riceops-dist-action-info,
.horizon-hero-content,
.horizon-hero-main-info { min-width: 0; }
.horizon-hero-tags,
.horizon-hero-status-wrap { display: flex; flex-wrap: wrap; gap: .4rem; }
.horizon-hero-badge { padding: .25rem .55rem; border-radius: 999px; background: rgb(255 255 255 / .14); font-size: .72rem; font-weight: 800; }
.horizon-progress-bar,
.riceops-dist-trip-progress-bar,
.riceops-load-bar { height: 8px; overflow: hidden; border-radius: 999px; background: var(--hz-border); }
.horizon-progress-fill,
.riceops-dist-trip-progress-fill,
.riceops-load-bar-fill { display: block; height: 100%; border-radius: inherit; background: var(--hz-teal); }
.horizon-progress-text { color: var(--hz-muted); font-size: .72rem; }

.riceops-exec-attention-item { padding: .8rem; border: 1px solid var(--hz-border); border-radius: var(--hz-radius-sm); background: #fff; }
.riceops-exec-card-primary { border-color: rgb(8 127 115 / .35); }
.riceops-exec-card-success { border-color: rgb(22 132 91 / .35); }
.riceops-exec-card-amber { border-color: rgb(184 106 8 / .35); }
.riceops-exec-card-accent { position: relative; border-color: rgb(37 99 235 / .28); overflow: hidden; }
.riceops-exec-card-accent::before { content: ""; position: absolute; inset-block: 0; inset-inline-start: 0; width: 4px; background: var(--hz-blue); }
.riceops-exec-attention-btn { min-height: 40px; }

.riceops-readiness-meta,
.riceops-auth,
.riceops-confirm-form,
.riceops-readiness-form,
.riceops-setup-form,
.riceops-prep-form,
.riceops-form-inline,
.riceops-inline-edit,
.riceops-search-row { display: grid; gap: .75rem; }
.riceops-scan-field,
.riceops-filter-search,
.riceops-select-wide { width: 100%; }
.riceops-lines { display: grid; gap: .5rem; }
.riceops-col-label { color: var(--hz-muted); font-size: .72rem; font-weight: 800; }
.riceops-col-status { text-align: start; }
.riceops-print-label { display: none; }
.riceops-alert-banner--neutral,
.riceops-badge-subtle { background: var(--hz-info-soft); color: var(--hz-blue); }
.riceops-priority-badge--danger { background: var(--hz-danger-soft); color: var(--hz-danger); }
.riceops-canonical-btn-secondary { border-color: var(--hz-border-strong); background: #fff; color: var(--hz-text) !important; }

.horizon-primary-bar,
.riceops-quick-actions-bar {
	display: flex;
	flex-wrap: wrap;
	gap: .55rem;
	margin: 0 0 1rem;
	padding: .65rem;
	border: 1px solid var(--hz-border);
	border-radius: var(--hz-radius);
	background: #fff;
}
.horizon-task-card { padding: .85rem; border: 1px solid var(--hz-border); border-radius: var(--hz-radius-sm); background: #fff; }
.horizon-advanced:not([open]) > :not(summary) { display: none; }

/* Shared composition helpers for the active Horizon screens. */
.horizon-core-warning { padding: 1rem; border: 1px solid #f1cf95; border-inline-start: 4px solid var(--hz-warning); border-radius: var(--hz-radius); background: var(--hz-warning-soft); }
.horizon-wordmark { letter-spacing: -.04em; }
.riceops-button--primary,
.riceops-primary-action { border-color: var(--hz-teal); background: var(--hz-teal); color: #fff !important; }
.riceops-button--primary:hover,
.riceops-primary-action:hover { border-color: var(--hz-teal-hover); background: var(--hz-teal-hover); color: #fff !important; }
.riceops-canonical-filter-bar,
.riceops-filterbar,
.riceops-readiness-nav,
.riceops-subnav,
.riceops-tabs,
.riceops-unit-tabs { display: flex; flex-wrap: wrap; gap: .45rem; min-width: 0; }
.riceops-connected-hubs-section,
.riceops-hub-shortcuts,
.riceops-exec-attention-list,
.riceops-report-card-body,
.riceops-kpi-context { min-width: 0; }
.riceops-confirm-dispatch { display: flex; flex-wrap: wrap; gap: .55rem; }
.riceops-connected-hub-tag { color: var(--hz-teal); font-size: .7rem; font-weight: 850; }
.riceops-dist-fleet-item-num,
.riceops-dist-perf-val,
.riceops-plan-seq { color: var(--hz-text); font-weight: 900; }
.riceops-empty-icon { color: var(--hz-border-strong); font-size: 2rem; }
.riceops-exec-card-header,
.riceops-exec-header-info { min-width: 0; }
.riceops-station-portal-arrow { margin-inline-start: auto; color: var(--hz-teal); }

/* Dashboard view controls: one compact control replaces the former cloud of
   date and role links on mobile. */
.riceops-exec-view-options { width: 100%; }
.riceops-exec-view-options > summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: .75rem;
	min-height: 48px;
	padding: .65rem .8rem;
	border: 1px solid var(--hz-border);
	border-radius: var(--hz-radius-sm);
	background: #fff;
	color: var(--hz-text-2);
	font-size: .8rem;
	font-weight: 800;
	cursor: pointer;
}
.riceops-exec-view-options > summary strong { color: var(--hz-teal); font-size: .72rem; }
.riceops-exec-view-options > summary::marker { content: ""; }
.riceops-exec-view-options[open] > summary { border-color: var(--hz-teal); box-shadow: var(--hz-focus); }
.riceops-exec-controls { display: grid; gap: .75rem; margin-top: .65rem; padding: .75rem; border: 1px solid var(--hz-border); border-radius: var(--hz-radius); background: #fff; }
.riceops-exec-date-pills,
.riceops-exec-role-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .4rem; min-width: 0; }
.riceops-exec-date-pills a,
.riceops-exec-role-switcher {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .35rem;
	min-height: 42px;
	padding: .45rem .55rem;
	border: 1px solid var(--hz-border);
	border-radius: 8px;
	background: var(--hz-surface-2);
	color: var(--hz-text-2) !important;
	font-size: .72rem;
	font-weight: 800;
	text-align: center;
	text-decoration: none !important;
}
.riceops-exec-date-pills a.active,
.riceops-exec-role-switcher.active { border-color: var(--hz-teal); background: var(--hz-teal-soft); color: var(--hz-teal) !important; }

/* Embedded Dolibarr context remains visibly Horizon without copying its shell. */
.horizon-embedded-banner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 1rem;
	padding: .7rem;
	border: 1px solid var(--hz-border);
	border-radius: var(--hz-radius);
	background: #fff;
}
.horizon-embedded-brand { display: flex; align-items: center; gap: .7rem; color: var(--hz-text) !important; text-decoration: none; }
.horizon-embedded-brand small { display: block; color: var(--hz-muted); }
.horizon-embedded-return { min-height: 40px; padding: .5rem .75rem; border-radius: 8px; background: var(--hz-teal-soft); text-decoration: none; font-weight: 800; }

/* Inventory center: daily actions and live inventory context, not setup steps. */
.riceops-inventory-center { display: grid; gap: 1rem; min-width: 0; }
.riceops-inventory-center-head { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 1rem; padding: .25rem 0; }.riceops-inventory-center-head h2 { margin: .12rem 0 0; color: var(--hz-text); font-size: clamp(1.4rem, 3vw, 1.85rem); }.riceops-inventory-center-head p { max-width: 62ch; margin: .35rem 0 0; color: var(--hz-text-2); }
.riceops-inventory-attention, .riceops-inventory-quick, .riceops-inventory-activity, .riceops-inventory-balance-snapshot { min-width: 0; padding: 1rem; border: 1px solid var(--hz-border); border-radius: var(--hz-radius); background: var(--hz-surface); box-shadow: 0 1px 2px rgb(15 32 51 / .03); }
.riceops-inventory-section-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem; margin-bottom: .85rem; }.riceops-inventory-section-head h3 { margin: 0; color: var(--hz-text); font-size: 1rem; }.riceops-inventory-section-head > span { display: grid; place-items: center; min-width: 25px; height: 25px; padding: 0 .4rem; border-radius: 50px; background: var(--hz-danger-soft); color: var(--hz-danger); font-size: .72rem; font-weight: 900; }.riceops-inventory-section-head a { color: var(--hz-teal); font-size: .75rem; font-weight: 850; text-decoration: none; }.riceops-inventory-section-head a:hover { text-decoration: underline; }
.riceops-inventory-attention-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border: 1px solid var(--hz-border); border-radius: 10px; overflow: hidden; }.riceops-inventory-attention-item { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: .65rem; min-height: 74px; padding: .72rem .8rem; border-inline-start: 1px solid var(--hz-border); color: var(--hz-text); text-decoration: none; transition: background var(--hz-motion-fast) ease, box-shadow var(--hz-motion-fast) ease; }.riceops-inventory-attention-item:first-child { border-inline-start: 0; }.riceops-inventory-attention-item:hover { background: var(--hz-surface-2); }.riceops-inventory-attention-item:focus-visible { outline: 0; box-shadow: inset 0 0 0 2px var(--hz-teal); }.riceops-inventory-attention-item > span:first-child { display: grid; place-items: center; width: 31px; height: 31px; border-radius: 8px; background: var(--hz-info-soft); color: var(--hz-blue); }.riceops-inventory-attention-item.tone-warning > span:first-child { background: var(--hz-warning-soft); color: var(--hz-warning); }.riceops-inventory-attention-item.tone-danger > span:first-child { background: var(--hz-danger-soft); color: var(--hz-danger); }.riceops-inventory-attention-item > span:nth-child(2) { display: grid; gap: .1rem; }.riceops-inventory-attention-item strong { font-size: 1.22rem; line-height: 1; }.riceops-inventory-attention-item small { color: var(--hz-text-2); font-size: .72rem; font-weight: 800; }.riceops-inventory-attention-item b { color: var(--hz-muted); font-size: 1rem; transition: transform var(--hz-motion-fast) ease, color var(--hz-motion-fast) ease; }.riceops-inventory-attention-item:hover b { transform: translateX(-3px); color: var(--hz-teal); }
.riceops-inventory-action-grid { display: grid; grid-template-columns: minmax(240px, .85fr) minmax(0, 1.45fr); gap: 1rem; }.riceops-inventory-quick-links { display: grid; gap: .5rem; }.riceops-inventory-quick-links a { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: .6rem; min-height: 44px; padding: .55rem .65rem; border: 1px solid var(--hz-border); border-radius: 8px; color: var(--hz-text); font-size: .79rem; font-weight: 850; text-decoration: none; transition: border-color var(--hz-motion-fast) ease, background var(--hz-motion-fast) ease; }.riceops-inventory-quick-links a:hover { border-color: var(--hz-teal); background: var(--hz-teal-soft); }.riceops-inventory-quick-links a > span:first-child { color: var(--hz-teal); }.riceops-inventory-quick-links a b { color: var(--hz-muted); }
.riceops-inventory-activity-list { display: grid; }.riceops-inventory-activity-list a { display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto; align-items: center; gap: .55rem; min-height: 47px; padding: .55rem 0; border-top: 1px solid var(--hz-border); color: var(--hz-text); text-decoration: none; transition: background var(--hz-motion-fast) ease; }.riceops-inventory-activity-list a:first-child { border-top: 0; padding-top: 0; }.riceops-inventory-activity-list a:hover { background: var(--hz-surface-2); }.riceops-inventory-activity-icon { display: grid; place-items: center; width: 27px; height: 27px; border-radius: 7px; background: var(--hz-teal-soft); color: var(--hz-teal); }.riceops-inventory-activity-list a > span:nth-child(2) { display: grid; gap: .12rem; min-width: 0; }.riceops-inventory-activity-list strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .8rem; }.riceops-inventory-activity-list small, .riceops-inventory-activity-list time { color: var(--hz-muted); font-size: .69rem; }.riceops-inventory-activity-list time { white-space: nowrap; }.riceops-inventory-empty-copy { margin: 0; color: var(--hz-muted); font-size: .8rem; }
.riceops-inventory-balance-snapshot { padding-bottom: .5rem; }.riceops-inventory-snapshot-table { margin-bottom: .5rem; }
@media (max-width: 980px) { .riceops-inventory-attention-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.riceops-inventory-attention-item:nth-child(odd) { border-inline-start: 0; }.riceops-inventory-attention-item:nth-child(n+3) { border-top: 1px solid var(--hz-border); }.riceops-inventory-action-grid { grid-template-columns: 1fr; } }
@media (max-width: 560px) { .riceops-inventory-center-head { align-items: start; }.riceops-inventory-center-head .riceops-secondary-action { width: 100%; justify-content: center; }.riceops-inventory-attention-grid { grid-template-columns: 1fr; }.riceops-inventory-attention-item { border-inline-start: 0; border-top: 1px solid var(--hz-border); }.riceops-inventory-attention-item:first-child { border-top: 0; }.riceops-inventory-activity-list a { grid-template-columns: auto minmax(0, 1fr) auto; }.riceops-inventory-activity-list time { display: none; }.riceops-inventory-snapshot-table[data-horizon-responsive="true"] td[data-label]::before { min-width: 6.7rem; } }

/* System-wide workspace surface: the same operational grammar across every hub. */
.riceops-app .riceops-context-nav { gap: .55rem; margin: 0 0 1rem; padding: .45rem; border: 1px solid var(--hz-border); border-radius: 10px; background: var(--hz-surface); box-shadow: 0 1px 2px rgb(15 32 51 / .03); }.riceops-app .horizon-context-primary { gap: .25rem; }.riceops-app .horizon-context-primary > a { min-height: 34px; padding: .4rem .62rem; border-radius: 7px; font-size: .75rem; font-weight: 800; }.riceops-app .horizon-context-primary > a.active { background: var(--hz-teal-soft); color: var(--hz-teal); }.riceops-app .horizon-context-more summary { min-height: 34px; padding: .4rem .62rem; border-radius: 7px; font-size: .75rem; font-weight: 800; }.riceops-app .horizon-context-more[open] summary { background: var(--hz-surface-2); }
.riceops-app .riceops-context-cards { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .5rem; }.riceops-app .riceops-context-card { min-height: 66px; padding: .6rem .68rem; border-radius: 9px; box-shadow: none; }.riceops-app .riceops-context-card.active { border-color: var(--hz-teal); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--hz-teal) 22%, transparent); }.riceops-app .riceops-context-card-description { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.riceops-app .riceops-hub-summary { display: grid; gap: .65rem; margin-bottom: 1rem; padding: .2rem 0 0; border: 0; background: transparent; box-shadow: none; }.riceops-app .riceops-hub-summary > .riceops-panel-header { margin: 0; }.riceops-app .riceops-hub-summary > .riceops-panel-header h2 { font-size: clamp(1.35rem, 2.4vw, 1.8rem); }.riceops-app .riceops-hub-summary > .riceops-hub-lede { margin: -.2rem 0 .15rem; font-size: .82rem; }.riceops-app .riceops-hub-summary .riceops-hub-metrics { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0; margin: 0; overflow: hidden; border: 1px solid var(--hz-border); border-radius: 10px; background: var(--hz-surface); }.riceops-app .riceops-hub-summary .riceops-summary-card { display: grid; align-content: space-between; min-width: 0; min-height: 78px; padding: .7rem .75rem; border: 0; border-inline-start: 1px solid var(--hz-border); border-radius: 0; background: transparent; box-shadow: none; }.riceops-app .riceops-hub-summary .riceops-summary-card:first-child { border-inline-start: 0; }.riceops-app .riceops-summary-label { color: var(--hz-text-2); font-size: .69rem; line-height: 1.3; }.riceops-app .riceops-summary-value { margin-top: .45rem; color: var(--hz-text); font-size: 1.35rem; font-variant-numeric: tabular-nums; }.riceops-app .riceops-summary-card.tone-danger { background: color-mix(in srgb, var(--hz-danger-soft) 35%, transparent); }.riceops-app .riceops-summary-card.tone-warning { background: color-mix(in srgb, var(--hz-warning-soft) 28%, transparent); }
.riceops-app .riceops-hub-workflow { margin: 0 0 1rem; padding: 1rem; border: 1px solid var(--hz-border); border-radius: var(--hz-radius); background: var(--hz-surface); box-shadow: 0 1px 2px rgb(15 32 51 / .03); }.riceops-app .riceops-hub-workflow > .riceops-panel-header { margin-bottom: .8rem; }.riceops-app .riceops-hub-workflow > .riceops-panel-header h2 { font-size: 1rem; }.riceops-app .riceops-hub-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .5rem; }.riceops-app .riceops-hub-step { position: relative; min-height: 82px; padding: .65rem; border-radius: 9px; transition: border-color var(--hz-motion-fast) ease, background var(--hz-motion-fast) ease, box-shadow var(--hz-motion-fast) ease, transform var(--hz-motion-fast) ease; }.riceops-app .riceops-hub-step:hover { border-color: color-mix(in srgb, var(--hz-teal) 45%, var(--hz-border)); background: var(--hz-surface-2); box-shadow: 0 4px 10px rgb(15 32 51 / .05); transform: translateY(-1px); }.riceops-app .riceops-hub-step.tone-pending { border-inline-start: 3px solid var(--hz-warning); }.riceops-app .riceops-hub-step.tone-done { border-inline-start: 3px solid var(--hz-success); }.riceops-app .riceops-hub-step-index, .riceops-app .riceops-hub-step-count { min-width: 27px; height: 27px; border-radius: 7px; font-size: .7rem; }.riceops-app .riceops-hub-step-count { background: var(--hz-warning-soft); color: var(--hz-warning); }.riceops-app .riceops-hub-step-body { align-self: center; color: var(--hz-text); text-decoration: none; }.riceops-app .riceops-hub-step-body strong { display: block; overflow: hidden; font-size: .78rem; text-overflow: ellipsis; white-space: nowrap; }.riceops-app .riceops-hub-step-body span { display: -webkit-box; overflow: hidden; margin-top: .18rem; color: var(--hz-muted); font-size: .67rem; line-height: 1.32; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }.riceops-app .riceops-hub-step:focus-within { border-color: var(--hz-teal); box-shadow: var(--hz-focus); }
.riceops-app .riceops-filter-grid, .riceops-app .riceops-filterbar { padding: .7rem; border: 1px solid var(--hz-border); border-radius: 10px; background: var(--hz-surface-2); }.riceops-app .riceops-filter-grid .button, .riceops-app .riceops-filterbar .button { min-height: 40px; align-self: end; }.riceops-app .riceops-form-grid { padding: 1rem; border: 1px solid var(--hz-border); border-radius: 10px; background: var(--hz-surface-2); }.riceops-app .riceops-form-grid > h3 { grid-column: 1 / -1; margin: 0 0 .2rem; color: var(--hz-text); font-size: 1rem; }.riceops-app .riceops-table-wrap { box-shadow: 0 1px 2px rgb(15 32 51 / .03); }.riceops-app .riceops-table tbody tr { transition: background var(--hz-motion-fast) ease; }.riceops-app .riceops-table tbody tr:hover { background: color-mix(in srgb, var(--hz-teal-soft) 38%, #fff); }
@media (max-width: 1100px) { .riceops-app .riceops-hub-summary .riceops-hub-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }.riceops-app .riceops-hub-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }.riceops-app .riceops-context-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 680px) { .riceops-app .riceops-context-nav { display: block; }.riceops-app .horizon-context-primary { overflow-x: auto; padding-bottom: .12rem; }.riceops-app .horizon-context-more { margin-top: .4rem; }.riceops-app .riceops-context-cards { display: flex; overflow-x: auto; scroll-snap-type: inline mandatory; }.riceops-app .riceops-context-card { flex: 0 0 min(225px, 76vw); scroll-snap-align: start; }.riceops-app .riceops-hub-summary .riceops-hub-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }.riceops-app .riceops-hub-summary .riceops-summary-card:nth-child(odd) { border-inline-start: 0; }.riceops-app .riceops-hub-summary .riceops-summary-card:nth-child(n+3) { border-top: 1px solid var(--hz-border); }.riceops-app .riceops-hub-steps { grid-template-columns: 1fr; }.riceops-app .riceops-hub-step { min-height: 68px; }.riceops-app .riceops-hub-step-body span { -webkit-line-clamp: 1; }.riceops-app .riceops-filter-grid, .riceops-app .riceops-filterbar, .riceops-app .riceops-form-grid { padding: .75rem; } }
@media (prefers-reduced-motion: reduce) { .riceops-app .riceops-context-card, .riceops-app .riceops-hub-step, .riceops-app .riceops-table tbody tr { transition: none; } }

/* Approval center: one action queue, not a dashboard of disconnected counters. */
.riceops-approval-workspace { display: grid; gap: 1rem; }
.riceops-approval-header { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 1rem; padding: .25rem 0; }
.riceops-approval-header h1 { margin: .15rem 0 0; font-size: clamp(1.45rem, 3vw, 1.9rem); }
.riceops-approval-header p { max-width: 68ch; margin: .35rem 0 0; color: var(--hz-text-2); }
.riceops-approval-total { display: inline-flex; align-items: center; gap: .55rem; min-width: 132px; padding: .65rem .8rem; border: 1px solid var(--hz-border); border-radius: 10px; background: var(--hz-surface); box-shadow: 0 1px 2px rgb(15 32 51 / .03); }
.riceops-approval-total strong { color: var(--hz-text); font-size: 1.35rem; line-height: 1; }.riceops-approval-total span { color: var(--hz-muted); font-size: .72rem; font-weight: 800; }
.riceops-approval-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border: 1px solid var(--hz-border); border-radius: var(--hz-radius); overflow: hidden; background: var(--hz-surface); box-shadow: 0 1px 2px rgb(15 32 51 / .03); }
.riceops-approval-summary-item { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: .65rem; min-height: 74px; padding: .75rem .85rem; border-inline-start: 1px solid var(--hz-border); color: var(--hz-text); text-decoration: none; transition: background var(--hz-motion-fast) ease, color var(--hz-motion-fast) ease; }.riceops-approval-summary-item:first-child { border-inline-start: 0; }.riceops-approval-summary-item:hover { background: var(--hz-surface-2); }.riceops-approval-summary-item:focus-visible { outline: 0; box-shadow: inset 0 0 0 2px var(--hz-teal); }
.riceops-approval-summary-item > span:nth-child(2) { display: grid; gap: .13rem; }.riceops-approval-summary-item strong { font-size: 1.25rem; line-height: 1; }.riceops-approval-summary-item > span:nth-child(2) > span { color: var(--hz-text-2); font-size: .72rem; font-weight: 800; }.riceops-approval-summary-icon { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 8px; background: var(--hz-warning-soft); color: var(--hz-warning); }.riceops-approval-summary-item.tone-danger .riceops-approval-summary-icon { background: var(--hz-danger-soft); color: var(--hz-danger); }.riceops-approval-summary-arrow { color: var(--hz-muted); font-size: 1rem; transition: transform var(--hz-motion-fast) ease; }.riceops-approval-summary-item:hover .riceops-approval-summary-arrow { transform: translateX(-3px); color: var(--hz-teal); }
.riceops-approval-list-head { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-top: .35rem; }.riceops-approval-list-head h2 { margin: 0; font-size: 1.05rem; }.riceops-approval-list-head p { margin: .22rem 0 0; color: var(--hz-muted); font-size: .76rem; }
.riceops-approval-table td { vertical-align: middle; }.riceops-approval-queue { color: var(--hz-text-2); font-size: .76rem; font-weight: 800; }.riceops-approval-foot { display: flex; flex-wrap: wrap; gap: .5rem 1rem; }.riceops-approval-foot a { color: var(--hz-teal); font-size: .76rem; font-weight: 800; text-decoration: none; }.riceops-approval-foot a:hover { text-decoration: underline; }
.riceops-approval-empty { display: flex; align-items: center; justify-content: center; gap: .75rem; min-height: 128px; padding: 1rem; border: 1px dashed var(--hz-border-strong); border-radius: var(--hz-radius); background: var(--hz-surface); text-align: start; }.riceops-approval-empty > span { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: var(--hz-success-soft); color: var(--hz-success); }.riceops-approval-empty strong { display: block; }.riceops-approval-empty p { margin: .2rem 0 0; color: var(--hz-muted); font-size: .78rem; }
@media (max-width: 860px) { .riceops-approval-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }.riceops-approval-summary-item:nth-child(odd) { border-inline-start: 0; }.riceops-approval-summary-item:nth-child(n+3) { border-top: 1px solid var(--hz-border); } }
@media (max-width: 520px) { .riceops-approval-header { align-items: start; }.riceops-approval-total { width: 100%; }.riceops-approval-summary { grid-template-columns: 1fr; }.riceops-approval-summary-item { border-inline-start: 0; border-top: 1px solid var(--hz-border); }.riceops-approval-summary-item:first-child { border-top: 0; }.riceops-approval-table[data-horizon-responsive="true"] td[data-label]::before { min-width: 7.2rem; }.riceops-approval-list-head { align-items: start; } }

/* Horizon login: one native login surface, independent of Dolibarr markup. */
body.bodylogin.riceops-login { min-height: 100dvh; margin: 0; background: #f4f7f8; color: var(--hz-text); font-family: "Cairo", "Noto Sans Arabic", "Segoe UI", system-ui, sans-serif; }
.riceops-login-shell { display: grid; place-items: center; min-height: 100dvh; padding: clamp(1rem, 4vw, 2.5rem); }
.riceops-login-stack { display: grid; width: min(100%, 440px); gap: .75rem; }
.riceops-login-card { width: 100%; padding: clamp(1.25rem, 4vw, 1.85rem); border: 1px solid var(--hz-border); border-radius: 14px; background: #fff; box-shadow: 0 14px 32px rgb(15 32 51 / .09); }
.riceops-login-header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1.55rem; }.riceops-login-brand { display: inline-flex; align-items: center; gap: .58rem; color: var(--hz-text); font-size: .86rem; font-weight: 900; letter-spacing: .025em; text-decoration: none; }.riceops-login-brand-mark { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 9px; background: var(--hz-teal); color: #fff; font-weight: 900; }.riceops-login-language { display: inline-flex; align-items: center; min-height: 32px; padding: .26rem .52rem; border: 1px solid var(--hz-border); border-radius: 7px; color: var(--hz-text-2); font-size: .72rem; font-weight: 800; text-decoration: none; transition: color var(--hz-motion-fast) ease, border-color var(--hz-motion-fast) ease, background var(--hz-motion-fast) ease; }.riceops-login-language:hover { border-color: var(--hz-teal); background: var(--hz-teal-soft); color: var(--hz-teal); }.riceops-login-language:focus-visible { outline: 0; box-shadow: var(--hz-focus); }
.riceops-login-intro { margin-bottom: 1.45rem; }.riceops-login-intro h1 { margin: .16rem 0 .35rem; color: var(--hz-text); font-size: clamp(1.35rem, 4vw, 1.7rem); line-height: 1.4; }.riceops-login-intro p { margin: 0; color: var(--hz-muted); font-size: .85rem; line-height: 1.65; }
.riceops-login-form { display: grid; gap: .92rem; }.riceops-login-field { display: grid; gap: .38rem; }.riceops-login-field > label { color: var(--hz-text-2); font-size: .76rem; font-weight: 800; }.riceops-login-field input { box-sizing: border-box; width: 100%; min-height: 46px; padding: .62rem .72rem; border: 1px solid var(--hz-border-strong); border-radius: 8px; background: #fff; color: var(--hz-text); font: inherit; font-size: .9rem; transition: border-color var(--hz-motion-fast) ease, box-shadow var(--hz-motion-fast) ease; }.riceops-login-field input:focus { border-color: var(--hz-teal); outline: 0; box-shadow: var(--hz-focus); }
.riceops-login-password { position: relative; }.riceops-login-password input { padding-inline-end: 6.3rem; }.riceops-password-toggle { position: absolute; inset-inline-end: .36rem; inset-block-start: .34rem; display: inline-flex; align-items: center; gap: .3rem; min-height: 34px; padding: .25rem .46rem; border: 0; border-radius: 6px; background: var(--hz-surface-2); color: var(--hz-text-2); font: inherit; font-size: .7rem; font-weight: 750; cursor: pointer; }.riceops-password-toggle:hover { color: var(--hz-teal); }.riceops-password-toggle:focus-visible { outline: 0; box-shadow: var(--hz-focus); }
.riceops-login-submit { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; margin-top: .2rem; padding: .6rem .8rem; border: 1px solid var(--hz-teal); border-radius: 8px; background: var(--hz-teal); color: #fff; font: inherit; font-size: .84rem; font-weight: 850; cursor: pointer; transition: background var(--hz-motion-fast) ease, border-color var(--hz-motion-fast) ease, transform var(--hz-motion-fast) ease; }.riceops-login-submit:hover:not(:disabled) { border-color: var(--hz-teal-dark); background: var(--hz-teal-dark); transform: translateY(-1px); }.riceops-login-submit:focus-visible { outline: 0; box-shadow: var(--hz-focus); }.riceops-login-submit:disabled { cursor: wait; opacity: .72; }
.riceops-login-links { display: flex; flex-wrap: wrap; justify-content: center; gap: .65rem 1rem; margin-top: 1rem; }.riceops-login-links a { color: var(--hz-teal); font-size: .73rem; font-weight: 750; text-decoration: none; }.riceops-login-links a:hover { text-decoration: underline; }.riceops-login-footer { display: flex; align-items: center; justify-content: center; gap: .38rem; margin-top: 1.35rem; padding-top: .85rem; border-top: 1px solid var(--hz-border); color: var(--hz-muted); font-size: .69rem; font-weight: 700; }.riceops-login-footer .fa { color: var(--hz-success); }.riceops-login-message { width: 100%; margin: 0; padding: .65rem .75rem; border: 1px solid color-mix(in srgb, var(--hz-danger) 30%, var(--hz-border)); border-radius: 8px; background: var(--hz-danger-soft); color: var(--hz-danger); box-shadow: 0 4px 12px rgb(15 32 51 / .06); font-size: .78rem; font-weight: 700; }
@media (max-width: 480px) { .riceops-login-shell { padding: .75rem; align-items: start; }.riceops-login-card { margin-top: 1.2rem; padding: 1rem; border-radius: 11px; }.riceops-login-intro h1 { font-size: 1.3rem; }.riceops-password-toggle span:last-child { display: none; }.riceops-login-password input { padding-inline-end: 3rem; } }
@media (prefers-reduced-motion: reduce) { .riceops-login-language, .riceops-login-field input, .riceops-login-submit { transition: none; } }

/* Warehouse operations board
   Replaces the legacy hero + detached KPI row + generic queue table. */
.riceops-warehouse-board {
	--warehouse-motion: 180ms cubic-bezier(.2, .8, .2, 1);
	position: relative;
	min-width: 0;
}
.riceops-exec-top-bar h1 { font-size: clamp(1.5rem, 2.2vw, 1.875rem); }
.riceops-warehouse-content { display: grid; gap: 1.15rem; }

.riceops-eyebrow {
	display: block;
	margin-bottom: .3rem;
	color: var(--hz-muted);
	font-size: .69rem;
	font-weight: 850;
	letter-spacing: .04em;
	text-transform: uppercase;
}
.riceops-warehouse-attention,
.riceops-warehouse-calm {
	display: grid;
	align-items: center;
	gap: .8rem;
	min-width: 0;
	padding: .85rem 1rem;
	border: 1px solid #f2c6cb;
	border-inline-start: 4px solid var(--hz-danger);
	border-radius: var(--hz-radius);
	background: var(--hz-danger-soft);
}
.riceops-warehouse-attention { grid-template-columns: auto minmax(0, 1fr); }
.riceops-warehouse-attention-icon {
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	border-radius: 10px;
	background: #fff;
	color: var(--hz-danger);
	box-shadow: 0 1px 3px rgb(15 32 51 / .1);
}
.riceops-warehouse-attention h2 { margin: 0; color: #9f2532; font-size: 1rem; }
.riceops-warehouse-attention p { margin: .2rem 0 0; color: #74373e; font-size: .8rem; }
.riceops-warehouse-attention .riceops-btn { grid-column: 1 / -1; }
.riceops-warehouse-calm {
	grid-template-columns: auto minmax(0, 1fr);
	border-color: #b9e6d2;
	border-inline-start-color: var(--hz-success);
	background: var(--hz-success-soft);
	color: #116743;
	font-size: .84rem;
	font-weight: 750;
}

.riceops-warehouse-command {
	display: grid;
	gap: 1rem;
	min-width: 0;
	padding: clamp(1rem, 3vw, 1.5rem);
	border: 1px solid #cbd8df;
	border-radius: var(--hz-radius-lg);
	background: var(--hz-navy);
	color: #fff;
	box-shadow: 0 12px 28px rgb(15 32 51 / .14);
}
.riceops-warehouse-command .riceops-eyebrow { color: #9fc4c8; }
.riceops-warehouse-command h2 { margin: 0; color: #fff; font-size: clamp(1.1rem, 3vw, 1.4rem); }
.riceops-warehouse-command p { max-width: 65ch; margin: .45rem 0 0; color: #cad6df; }
.riceops-warehouse-command-copy { min-width: 0; }
.riceops-warehouse-command-copy > .riceops-btn { margin-top: 1rem; }
.riceops-warehouse-vehicle { display: flex; flex-wrap: wrap; align-items: center; gap: .55rem; margin-top: .65rem; }
.riceops-warehouse-vehicle strong { color: #fff; font-size: clamp(1.45rem, 6vw, 2.2rem); line-height: 1.1; }
.riceops-warehouse-vehicle span { padding: .25rem .55rem; border: 1px solid rgb(255 255 255 / .2); border-radius: 999px; color: #dbe6ec; font-size: .75rem; }
.riceops-warehouse-command-meta { display: flex; flex-wrap: wrap; gap: .55rem 1rem; margin-top: .8rem; color: #c7d3dd; font-size: .8rem; }
.riceops-warehouse-command-meta span { display: inline-flex; align-items: center; }
.riceops-warehouse-command-meta strong { margin-inline-start: .25rem; color: #fff; }

.riceops-warehouse-stepper {
	display: grid;
	grid-template-columns: repeat(4, minmax(58px, 1fr));
	align-self: end;
	margin: 0;
	padding: 1rem;
	border: 1px solid rgb(255 255 255 / .12);
	border-radius: var(--hz-radius);
	background: rgb(255 255 255 / .055);
	list-style: none;
	overflow-x: auto;
}
.riceops-warehouse-stepper li { position: relative; display: grid; justify-items: center; gap: .4rem; min-width: 58px; color: #8fa2b1; text-align: center; }
.riceops-warehouse-stepper li::before { content: ""; position: absolute; z-index: 0; top: 15px; inset-inline: calc(50% + 18px) calc(-50% + 18px); height: 2px; background: #43576a; }
.riceops-warehouse-stepper li:last-child::before { display: none; }
.riceops-warehouse-stepper li > span { position: relative; z-index: 1; display: grid; place-items: center; width: 31px; height: 31px; border: 2px solid #52677a; border-radius: 50%; background: var(--hz-navy); font-size: .7rem; font-weight: 900; }
.riceops-warehouse-stepper li small { font-size: .65rem; font-weight: 750; white-space: nowrap; }
.riceops-warehouse-stepper li.complete,
.riceops-warehouse-stepper li.current { color: #fff; }
.riceops-warehouse-stepper li.complete > span { border-color: #5fd1c1; background: var(--hz-teal); }
.riceops-warehouse-stepper li.complete::before { background: var(--hz-teal); }
.riceops-warehouse-stepper li.current > span { border-color: #fff; background: #fff; color: var(--hz-navy); box-shadow: 0 0 0 4px rgb(95 209 193 / .18); }

.riceops-section-heading {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: .65rem;
	margin-bottom: .8rem;
}
.riceops-section-heading h2 { margin: 0; color: var(--hz-text); font-size: 1.08rem; }
.riceops-section-heading-note { color: var(--hz-muted); font-size: .72rem; }
.riceops-link-action { display: inline-flex; align-items: center; gap: .3rem; min-height: 38px; font-size: .78rem; font-weight: 850; text-decoration: none !important; }

.riceops-warehouse-kpis { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
.riceops-warehouse-kpi {
	display: grid;
	grid-template-rows: auto auto auto 1fr;
	gap: .3rem;
	min-width: 0;
	min-height: 134px;
	padding: .85rem;
	border: 1px solid var(--hz-border);
	border-radius: var(--hz-radius);
	background: #fff;
	box-shadow: 0 1px 2px rgb(15 32 51 / .03);
	transition: transform var(--warehouse-motion), border-color var(--warehouse-motion), box-shadow var(--warehouse-motion);
}
.riceops-warehouse-kpi:hover { transform: translateY(-2px); border-color: var(--hz-border-strong); box-shadow: var(--hz-shadow); }
.riceops-warehouse-kpi-head { display: flex; align-items: center; justify-content: space-between; }
.riceops-warehouse-kpi-icon { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 9px; background: var(--hz-surface-2); color: var(--hz-text-2); }
.riceops-warehouse-kpi strong { color: var(--hz-text); font-size: clamp(1.5rem, 3vw, 1.875rem); line-height: 1; font-variant-numeric: tabular-nums; }
.riceops-warehouse-kpi > span { color: var(--hz-text-2); font-size: .75rem; font-weight: 800; }
.riceops-warehouse-kpi > small { align-self: end; color: var(--hz-muted); font-size: .66rem; }
.riceops-status-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--hz-border-strong); box-shadow: 0 0 0 4px var(--hz-surface-2); }
.riceops-warehouse-kpi.warning .riceops-warehouse-kpi-icon { background: var(--hz-warning-soft); color: var(--hz-warning); }
.riceops-warehouse-kpi.warning .riceops-status-dot { background: var(--hz-warning); box-shadow: 0 0 0 4px var(--hz-warning-soft); }
.riceops-warehouse-kpi.success .riceops-warehouse-kpi-icon { background: var(--hz-success-soft); color: var(--hz-success); }
.riceops-warehouse-kpi.success .riceops-status-dot { background: var(--hz-success); box-shadow: 0 0 0 4px var(--hz-success-soft); }
.riceops-warehouse-kpi.danger .riceops-warehouse-kpi-icon { background: var(--hz-danger-soft); color: var(--hz-danger); }
.riceops-warehouse-kpi.danger .riceops-status-dot { background: var(--hz-danger); box-shadow: 0 0 0 4px var(--hz-danger-soft); }
.riceops-warehouse-kpi.info .riceops-warehouse-kpi-icon { background: var(--hz-info-soft); color: var(--hz-blue); }
.riceops-warehouse-kpi.info .riceops-status-dot { background: var(--hz-blue); box-shadow: 0 0 0 4px var(--hz-info-soft); }

.riceops-warehouse-queue { padding: 1rem; border: 1px solid var(--hz-border); border-radius: var(--hz-radius-lg); background: #fff; box-shadow: 0 1px 2px rgb(15 32 51 / .03); }
.riceops-warehouse-table { font-size: .875rem; }
.riceops-warehouse-table td { vertical-align: middle; }
.riceops-warehouse-table tbody tr { transition: background-color var(--warehouse-motion); }
.riceops-warehouse-table tbody tr:hover { background: #f7fafb; }
.riceops-warehouse-table td:nth-child(2) strong,
.riceops-warehouse-table td:nth-child(2) small { display: block; }
.riceops-queue-reference { display: flex; align-items: center; gap: .55rem; }
.riceops-queue-reference > span { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 8px; background: var(--hz-surface-2); color: var(--hz-muted); font-size: .68rem; font-weight: 900; }
.riceops-status-chip { display: inline-flex; align-items: center; gap: .4rem; min-height: 28px; padding: .2rem .55rem; border-radius: 999px; background: var(--hz-surface-2); color: var(--hz-text-2); font-size: .7rem; font-weight: 850; white-space: nowrap; }
.riceops-status-chip > span { width: 6px; height: 6px; border-radius: 50%; background: currentColor; transition: transform var(--warehouse-motion); }
.riceops-status-chip.warning { background: var(--hz-warning-soft); color: var(--hz-warning); }
.riceops-status-chip.success { background: var(--hz-success-soft); color: var(--hz-success); }
.riceops-status-chip.info { background: var(--hz-info-soft); color: var(--hz-blue); }
.riceops-table-action { display: inline-flex; align-items: center; gap: .3rem; min-height: 36px; padding: .35rem .65rem; border: 1px solid var(--hz-border); border-radius: 8px; background: #fff; font-size: .72rem; font-weight: 850; text-decoration: none !important; transition: color var(--warehouse-motion), border-color var(--warehouse-motion), background var(--warehouse-motion); }
.riceops-table-action:hover { border-color: var(--hz-teal); background: var(--hz-teal-soft); }

.riceops-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .45rem;
	min-height: 42px;
	padding: .55rem .9rem;
	border: 1px solid transparent;
	border-radius: 9px;
	font-size: .78rem;
	font-weight: 850;
	text-align: center;
	text-decoration: none !important;
	cursor: pointer;
	transition: transform var(--warehouse-motion, 180ms ease), background-color var(--warehouse-motion, 180ms ease), border-color var(--warehouse-motion, 180ms ease), box-shadow var(--warehouse-motion, 180ms ease);
}
.riceops-btn:hover { transform: translateY(-1px); }
.riceops-btn-primary { background: var(--hz-teal); color: #fff !important; box-shadow: 0 5px 14px rgb(8 127 115 / .2); }
.riceops-btn-primary:hover { background: var(--hz-teal-hover); color: #fff !important; }
.riceops-btn-secondary { border-color: var(--hz-border); background: #fff; color: var(--hz-text-2) !important; }
.riceops-btn-secondary:hover { border-color: var(--hz-teal); background: var(--hz-teal-soft); color: var(--hz-teal) !important; }
.riceops-btn-danger { background: var(--hz-danger); color: #fff !important; }
.riceops-btn-danger:hover { background: #aa2f3c; color: #fff !important; }
.riceops-warehouse-empty { min-height: 230px; padding: 1.5rem; border: 1px dashed var(--hz-border-strong); border-radius: var(--hz-radius); background: #f8fafb; }
.riceops-warehouse-empty h3 { margin: .55rem 0 .2rem; color: var(--hz-text); font-size: 1rem; }
.riceops-warehouse-empty p { max-width: 55ch; margin: 0 0 1rem; }

.riceops-toast-region { position: fixed; z-index: 2000; inset-block-start: calc(var(--hz-header-h) + .75rem); inset-inline-end: .75rem; display: grid; gap: .5rem; width: min(360px, calc(100vw - 1.5rem)); pointer-events: none; }
.riceops-toast { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: start; gap: .65rem; padding: .8rem; border: 1px solid var(--hz-border); border-radius: var(--hz-radius); background: #fff; color: var(--hz-text); box-shadow: var(--hz-shadow-float); pointer-events: auto; animation: horizon-toast-in 180ms ease-out both; }
.riceops-toast.success { border-inline-start: 4px solid var(--hz-success); }
.riceops-toast.error { border-inline-start: 4px solid var(--hz-danger); }
.riceops-toast button { width: 30px; height: 30px; padding: 0; border: 0; border-radius: 7px; background: var(--hz-surface-2); color: var(--hz-muted); cursor: pointer; }
.riceops-toast.is-leaving { animation: horizon-toast-out 140ms ease-in both; }

@keyframes horizon-toast-in { from { opacity: 0; transform: translateY(-6px); } }
@keyframes horizon-toast-out { to { opacity: 0; transform: translateY(-4px); } }

@media (min-width: 768px) {
	.riceops-warehouse-command { grid-template-columns: minmax(0, 1.2fr) minmax(310px, .8fr); align-items: stretch; }
	.riceops-warehouse-kpis { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.riceops-warehouse-attention { grid-template-columns: auto minmax(0, 1fr) auto; }
	.riceops-warehouse-attention .riceops-btn { grid-column: auto; }
}

@media (max-width: 480px) {
	.riceops-brand > span:last-child { display: none; }
	.riceops-header { gap: .35rem; padding-inline: .5rem; }
	.riceops-header-tools { gap: .25rem; }
	.riceops-icon-button, .riceops-profile-btn, .riceops-attention-bell-btn { min-width: 42px; height: 42px; border-radius: 10px; }
	.riceops-kpi-grid,
	.riceops-summary-grid,
	.riceops-executive-grid,
	.riceops-card-grid,
	.riceops-data-cards,
	.horizon-command-grid,
	.riceops-hub-metrics,
	.riceops-canonical-kpi-grid,
	.riceops-hub-shortcut-grid,
	.riceops-connected-hub-grid,
	.riceops-station-portal-grid,
	.riceops-report-grid,
	.riceops-connected-hubs-grid,
	.riceops-station-portals-grid,
	.horizon-vehicle-cards-container,
	.riceops-dist-trips-grid,
	.riceops-dist-fleet-grid { grid-template-columns: minmax(0, 1fr); }
	.riceops-login-intro { margin-bottom: 1.2rem; }
}

/* Mobile tables: a row becomes one scannable card, with labels supplied by JS. */
@media (max-width: 767px) {
	.riceops-table-wrap { overflow: visible; border: 0; background: transparent; }
	.riceops-table[data-horizon-responsive="true"],
	.riceops-app table.noborder.centpercent[data-horizon-responsive="true"],
	.riceops-table[data-horizon-responsive="true"] tbody,
	.riceops-app table.noborder.centpercent[data-horizon-responsive="true"] tbody { display: block; width: 100%; }
	.riceops-table[data-horizon-responsive="true"] thead,
	.riceops-app table.noborder.centpercent[data-horizon-responsive="true"] thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); }
	.riceops-table[data-horizon-responsive="true"] tbody { display: grid; gap: .75rem; }
	.riceops-table[data-horizon-responsive="true"] tbody tr,
	.riceops-app table.noborder.centpercent[data-horizon-responsive="true"] tbody tr { display: grid; gap: 0; width: 100%; padding: .35rem .85rem; border: 1px solid var(--hz-border); border-radius: var(--hz-radius); background: #fff; box-shadow: 0 1px 2px rgb(15 32 51 / .04); }
	.riceops-table[data-horizon-responsive="true"] tbody td,
	.riceops-app table.noborder.centpercent[data-horizon-responsive="true"] tbody td { display: grid; grid-template-columns: minmax(92px, 38%) minmax(0, 1fr); align-items: center; gap: .75rem; min-height: 42px; padding: .55rem 0; border: 0; border-bottom: 1px solid var(--hz-border); background: transparent; text-align: end; overflow-wrap: anywhere; }
	.riceops-table[data-horizon-responsive="true"] tbody td:last-child,
	.riceops-app table.noborder.centpercent[data-horizon-responsive="true"] tbody td:last-child { border-bottom: 0; }
	.riceops-table[data-horizon-responsive="true"] tbody td::before,
	.riceops-app table.noborder.centpercent[data-horizon-responsive="true"] tbody td::before { content: attr(data-label); color: var(--hz-muted); font-size: .72rem; font-weight: 800; text-align: start; }
	.riceops-table[data-horizon-responsive="true"] tbody td[colspan] { display: block; text-align: center; }
	.riceops-table[data-horizon-responsive="true"] tbody td[colspan]::before { display: none; }
	.riceops-form-actions > *, .riceops-inline-actions > * { flex: 1 1 100%; }
	.riceops-hub-step, .riceops-attention-item { grid-template-columns: auto minmax(0, 1fr); }
	.riceops-hub-step > :last-child, .riceops-attention-item > :last-child { grid-column: 1 / -1; }
}

@media (min-width: 600px) {
	.riceops-main { padding-inline: 1.25rem; padding-top: 1.25rem; }
	.riceops-page-context { display: block; }
	.riceops-kpi-grid,
	.riceops-summary-grid,
	.riceops-card-grid,
	.riceops-data-cards,
	.horizon-command-grid,
	.riceops-hub-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.riceops-form-grid,
	.riceops-filter-grid,
	.riceops-dashboard-filters,
	.riceops-filter-bar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.riceops-hub-shortcut-grid,
	.riceops-connected-hub-grid,
	.riceops-station-portal-grid,
	.riceops-report-grid,
	.riceops-connected-hubs-grid,
	.riceops-station-portals-grid,
	.horizon-vehicle-cards-container,
	.riceops-dist-trips-grid,
	.riceops-dist-fleet-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.riceops-canonical-kpi-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (min-width: 768px) {
	.riceops-global-search { display: block; position: relative; width: min(36vw, 440px); }
	.riceops-search-open .riceops-global-search { position: relative; inset: auto; }
	.riceops-quick-search input { height: 42px; padding-inline-end: 4rem; }
	.riceops-search-shortcut { position: absolute; inset-inline-end: .55rem; top: 50%; display: inline-block; transform: translateY(-50%); padding: .12rem .35rem; border: 1px solid var(--hz-border); border-radius: 5px; background: var(--hz-surface-2); color: var(--hz-muted); font-size: .65rem; }
	.riceops-search-dropdown { position: absolute; }
	.riceops-search-toggle { display: none; }
	.riceops-panel,
	.riceops-dashboard-section,
	.riceops-form-section,
	.riceops-card,
	.riceops-exec-section { padding: 1.25rem; }
	.riceops-kpi-grid,
	.riceops-summary-grid,
	.riceops-executive-grid,
	.riceops-card-grid,
	.riceops-data-cards,
	.horizon-command-grid,
	.riceops-hub-metrics { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.riceops-form-grid,
	.riceops-filter-grid,
	.riceops-dashboard-filters,
	.riceops-filter-bar { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.riceops-dist-workspace-layout { grid-template-columns: minmax(0, 2fr) minmax(260px, 1fr); }
	.riceops-canonical-kpi-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (min-width: 1025px) {
	.riceops-app { grid-template: "header header" var(--hz-header-h) "sidebar main" minmax(0, 1fr) / var(--hz-sidebar-w) minmax(0, 1fr); }
	.riceops-header { padding-inline: 1rem; }
	.riceops-sidebar {
		grid-area: sidebar;
		position: sticky;
		inset: var(--hz-header-h) auto auto;
		z-index: 900;
		width: var(--hz-sidebar-w);
		height: calc(100vh - var(--hz-header-h));
		padding: .8rem;
		transform: none !important;
	}
	.riceops-main { padding: 1.5rem 1.75rem 2rem; }
	.horizon-mobile-nav { display: none; }
	.riceops-drawer-backdrop { display: none !important; }
	.riceops-mobile-actions { bottom: .75rem; }
	.riceops-sticky-action { bottom: .75rem; }
	.sidebar-collapsed { grid-template-columns: 72px minmax(0, 1fr); }
	.sidebar-collapsed .riceops-sidebar { width: 72px; padding-inline: .45rem; overflow: hidden; }
	.sidebar-collapsed .riceops-nav-section > summary { justify-content: center; font-size: 0; }
	.sidebar-collapsed .riceops-nav-section > summary::first-letter { font-size: .8rem; }
	.sidebar-collapsed .riceops-nav-section > summary span { display: none; }
	.sidebar-collapsed .riceops-nav-section ul { display: none; }
}

@media (max-width: 48rem) {
	.riceops-hub-step { grid-template-columns: auto minmax(0, 1fr); }
	.riceops-hub-step > :last-child { grid-column: 1 / -1; width: 100%; }
}

@media (max-width:600px) {
	.riceops-app { overflow-x:hidden; }
	.riceops-app :where(.button, .butAction, button, input[type="submit"], a.riceops-button) { min-height:48px; }
}

@media (max-width: 390px) {
	.riceops-main { padding-inline: .625rem; }
	.riceops-panel, .riceops-dashboard-section, .riceops-form-section, .riceops-card { padding: .8rem; }
}

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

@media print {
	.riceops-header, .riceops-sidebar, .horizon-mobile-nav, .riceops-mobile-actions, .riceops-drawer-backdrop { display: none !important; }
	.riceops-app { display: block; background: #fff; }
	.riceops-main { max-width: none; padding: 0; }
	.riceops-panel, .riceops-dashboard-section, .riceops-form-section { break-inside: avoid; box-shadow: none; }
}

/* Inventory context selector and balance empty state: one compact replacement for the former tab cloud. */
.riceops-inventory-switcher { position: relative; margin: 0 0 .85rem; border: 1px solid var(--hz-border); border-radius: 9px; background: var(--hz-surface); box-shadow: 0 1px 2px rgb(15 32 51 / .03); }
.riceops-inventory-switcher > summary { display: grid; grid-template-columns: 32px minmax(0, 1fr) auto; align-items: center; gap: .6rem; min-height: 52px; padding: .55rem .7rem; color: var(--hz-text); cursor: pointer; list-style: none; transition: background var(--hz-motion-fast) ease; }
.riceops-inventory-switcher > summary::-webkit-details-marker { display: none; }
.riceops-inventory-switcher > summary:hover { background: var(--hz-surface-2); }
.riceops-inventory-switcher > summary:focus-visible { outline: 0; box-shadow: var(--hz-focus); }
.riceops-inventory-switcher-icon { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 8px; background: var(--hz-teal-soft); color: var(--hz-teal); }
.riceops-inventory-switcher-current { display: grid; min-width: 0; gap: .08rem; }.riceops-inventory-switcher-current small { color: var(--hz-muted); font-size: .64rem; font-weight: 750; }.riceops-inventory-switcher-current strong { overflow: hidden; font-size: .8rem; text-overflow: ellipsis; white-space: nowrap; }
.riceops-inventory-switcher-chevron { width: 8px; height: 8px; margin-inline: .35rem .15rem; border-inline-end: 1.5px solid var(--hz-muted); border-block-end: 1.5px solid var(--hz-muted); transform: rotate(45deg) translateY(-2px); transition: transform var(--hz-motion-fast) ease; }.riceops-inventory-switcher[open] .riceops-inventory-switcher-chevron { transform: rotate(225deg) translate(-2px, -2px); }
.riceops-inventory-switcher-menu { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; padding: .15rem .7rem .75rem; border-top: 1px solid var(--hz-border); animation: riceops-inventory-menu-in var(--hz-motion-fast) ease-out both; }
.riceops-inventory-switcher-menu section { min-width: 0; }.riceops-inventory-switcher-menu section > span { display: block; margin: .55rem .1rem .35rem; color: var(--hz-muted); font-size: .65rem; font-weight: 850; }.riceops-inventory-switcher-menu section > div { display: grid; gap: .22rem; }
.riceops-inventory-switcher-menu a { min-height: 32px; padding: .42rem .5rem; border-radius: 6px; color: var(--hz-text-2); font-size: .71rem; font-weight: 750; text-decoration: none; transition: background var(--hz-motion-fast) ease, color var(--hz-motion-fast) ease; }.riceops-inventory-switcher-menu a:hover { background: var(--hz-teal-soft); color: var(--hz-teal); }.riceops-inventory-switcher-menu a.active { background: var(--hz-teal-soft); color: var(--hz-teal); box-shadow: inset 2px 0 0 var(--hz-teal); }.riceops-inventory-switcher-menu a:focus-visible { outline: 0; box-shadow: var(--hz-focus); }
.riceops-inventory-balance-empty { display: grid; grid-template-columns: 48px minmax(0, 1fr); align-items: center; gap: .8rem; min-height: 176px; padding: 1rem; border: 1px dashed var(--hz-border-strong); border-radius: 9px; background: var(--hz-surface-2); }.riceops-inventory-balance-empty-icon { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 9px; background: var(--hz-teal-soft); color: var(--hz-teal); font-size: 1.05rem; }.riceops-inventory-balance-empty > div { display: grid; min-width: 0; gap: .3rem; }.riceops-inventory-balance-empty strong { color: var(--hz-text); font-size: .9rem; }.riceops-inventory-balance-empty p { max-width: 60ch; margin: 0; color: var(--hz-muted); font-size: .73rem; line-height: 1.55; }.riceops-inventory-balance-empty-actions { display: flex !important; flex-wrap: wrap; gap: .45rem; margin-top: .35rem; }.riceops-inventory-balance-empty-actions a { display: inline-flex; align-items: center; justify-content: center; min-height: 34px; padding: .35rem .6rem; border: 1px solid var(--hz-border-strong); border-radius: 7px; font-size: .71rem; font-weight: 850; text-decoration: none; transition: border-color var(--hz-motion-fast) ease, background var(--hz-motion-fast) ease, color var(--hz-motion-fast) ease; }.riceops-inventory-balance-empty-actions .riceops-primary-action { border-color: var(--hz-teal); }.riceops-inventory-balance-empty-actions .riceops-secondary-action { background: #fff; color: var(--hz-teal); }.riceops-inventory-balance-empty-actions .riceops-secondary-action:hover { border-color: var(--hz-teal); background: var(--hz-teal-soft); }
@keyframes riceops-inventory-menu-in { from { opacity: .55; transform: translateY(-2px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 767px) { .riceops-inventory-switcher-menu { grid-template-columns: 1fr; gap: .25rem; }.riceops-inventory-switcher-menu section > span { margin-top: .5rem; }.riceops-inventory-balance-empty { grid-template-columns: 1fr; align-items: start; min-height: 0; }.riceops-inventory-balance-empty-icon { width: 40px; height: 40px; }.riceops-inventory-balance-empty-actions a { flex: 1 1 100%; } }

/* Alert Center: one compact operational surface with no duplicated alert list. */
.riceops-alert-center { display: grid; gap: .9rem; min-width: 0; }
.riceops-alert-center-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; padding: .1rem 0 .85rem; border-bottom: 1px solid var(--hz-border); }
.riceops-alert-eyebrow { display: inline-flex; align-items: center; gap: .4rem; color: var(--hz-teal); font-size: .72rem; font-weight: 850; }
.riceops-alert-center-header h1 { margin: .28rem 0 0; color: var(--hz-text); font-size: clamp(1.5rem, 2vw, 1.82rem); line-height: 1.22; letter-spacing: -.025em; }
.riceops-alert-center-header p { max-width: 68ch; margin: .42rem 0 0; color: var(--hz-text-2); font-size: .84rem; line-height: 1.55; }

.riceops-alert-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); overflow: hidden; border: 1px solid var(--hz-border); border-radius: var(--hz-radius-sm); background: #fff; box-shadow: 0 1px 2px rgb(15 32 51 / .03); }
.riceops-alert-signal { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: .55rem; min-height: 66px; padding: .65rem .8rem; border-inline-end: 1px solid var(--hz-border); }
.riceops-alert-signal:last-child { border-inline-end: 0; }
.riceops-alert-signal-icon { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 9px; background: var(--hz-surface-2); color: var(--hz-muted); font-size: .86rem; }
.riceops-alert-signal-label { min-width: 0; overflow: hidden; color: var(--hz-text-2); font-size: .75rem; font-weight: 750; text-overflow: ellipsis; white-space: nowrap; }
.riceops-alert-signal strong { color: var(--hz-text); font-size: clamp(1.28rem, 1.75vw, 1.58rem); font-variant-numeric: tabular-nums; line-height: 1; }
.riceops-alert-signal.tone-danger .riceops-alert-signal-icon { background: var(--hz-danger-soft); color: var(--hz-danger); }
.riceops-alert-signal.tone-warning .riceops-alert-signal-icon { background: var(--hz-warning-soft); color: var(--hz-warning); }
.riceops-alert-signal.tone-info .riceops-alert-signal-icon { background: var(--hz-info-soft); color: var(--hz-blue); }
.riceops-alert-signal.tone-success .riceops-alert-signal-icon { background: var(--hz-success-soft); color: var(--hz-success); }
.riceops-alert-signal.tone-quiet { opacity: .7; }

.riceops-alert-list-section { min-width: 0; overflow: hidden; border: 1px solid var(--hz-border); border-radius: var(--hz-radius); background: #fff; box-shadow: 0 2px 7px rgb(15 32 51 / .035); }
.riceops-alert-list-head { display: flex; align-items: center; justify-content: space-between; gap: .8rem; padding: .85rem 1rem; border-bottom: 1px solid var(--hz-border); background: var(--hz-surface-2); }
.riceops-alert-list-head h2 { margin: 0; color: var(--hz-text); font-size: 1.08rem; line-height: 1.35; }
.riceops-alert-list-head p { margin: .22rem 0 0; color: var(--hz-muted); font-size: .75rem; line-height: 1.45; }
.riceops-alert-total { display: inline-flex; align-items: center; justify-content: center; min-height: 28px; padding: .2rem .58rem; border-radius: 999px; background: var(--hz-surface-2); color: var(--hz-text-2); font-size: .72rem; font-weight: 850; white-space: nowrap; }
.riceops-alert-list { display: grid; }
.riceops-alert-row { position: relative; display: grid; grid-template-columns: 34px minmax(220px, 1fr) minmax(130px, auto) auto; align-items: center; gap: .75rem; min-height: 76px; padding: .75rem 1rem; border-bottom: 1px solid var(--hz-border); background: #fff; transition: background var(--hz-motion-fast) ease, box-shadow var(--hz-motion-fast) ease, transform var(--hz-motion-fast) ease; }
.riceops-alert-row:last-child { border-bottom: 0; }
.riceops-alert-row::before { position: absolute; inset-block: 0; inset-inline-start: 0; width: 3px; background: transparent; content: ""; transition: background var(--hz-motion-fast) ease; }
.riceops-alert-row:hover { z-index: 1; background: #fbfcfd; box-shadow: 0 3px 10px rgb(15 32 51 / .055); transform: translateY(-1px); }
.riceops-alert-row.tone-critical::before { background: var(--hz-danger); }
.riceops-alert-row.tone-warning::before { background: var(--hz-warning); }
.riceops-alert-row.tone-information::before { background: var(--hz-blue); }
.riceops-alert-row-icon { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 9px; background: var(--hz-info-soft); color: var(--hz-blue); font-size: .88rem; }
.riceops-alert-row.tone-critical .riceops-alert-row-icon { background: var(--hz-danger-soft); color: var(--hz-danger); }
.riceops-alert-row.tone-warning .riceops-alert-row-icon { background: var(--hz-warning-soft); color: var(--hz-warning); }
.riceops-alert-row-main { min-width: 0; }
.riceops-alert-row-titleline { display: flex; align-items: center; gap: .45rem; min-width: 0; }
.riceops-alert-row-titleline h3 { min-width: 0; margin: 0; overflow: hidden; color: var(--hz-text); font-size: .9rem; font-weight: 850; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.riceops-alert-severity { flex: 0 0 auto; color: var(--hz-muted); font-size: .68rem; font-weight: 800; white-space: nowrap; }
.riceops-alert-row-context { display: flex; flex-wrap: wrap; gap: .25rem .55rem; margin-top: .22rem; color: var(--hz-muted); font-size: .73rem; line-height: 1.35; }
.riceops-alert-row-context span + span::before { margin-inline-end: .55rem; color: var(--hz-border-strong); content: "·"; }
.riceops-alert-row-state { display: grid; justify-items: start; gap: .3rem; min-width: 0; }
.riceops-alert-status { display: inline-flex; align-items: center; min-height: 23px; padding: .12rem .45rem; border-radius: 999px; background: var(--hz-surface-2); color: var(--hz-text-2); font-size: .68rem; font-weight: 850; white-space: nowrap; }
.riceops-alert-status.tone-danger { background: var(--hz-danger-soft); color: var(--hz-danger); }
.riceops-alert-status.tone-warning { background: var(--hz-warning-soft); color: var(--hz-warning); }
.riceops-alert-status.tone-info { background: var(--hz-info-soft); color: var(--hz-blue); }
.riceops-alert-status.tone-success { background: var(--hz-success-soft); color: var(--hz-success); }
.riceops-alert-row-state time { color: var(--hz-muted); font-size: .7rem; font-variant-numeric: tabular-nums; white-space: nowrap; }
.riceops-alert-row-actions { display: flex; align-items: center; justify-content: end; gap: .4rem; }
.riceops-alert-row-form { margin: 0; }
.riceops-alert-row-actions .button,
.riceops-alert-row-more > summary,
.riceops-alert-row-menu button { min-height: 34px; padding: .38rem .62rem; border-radius: 7px; font-size: .72rem; font-weight: 850; }
.riceops-app button.riceops-alert-row-primary[type="submit"] { border-color: #da8d8d !important; background: #fff !important; color: #b43131 !important; }
.riceops-app button.riceops-alert-row-primary[type="submit"]:hover { border-color: var(--hz-danger) !important; background: var(--hz-danger-soft) !important; }
.riceops-alert-row-more { position: relative; }
.riceops-alert-row-more > summary { display: inline-flex; align-items: center; gap: .35rem; border: 1px solid var(--hz-border-strong); background: #fff; color: var(--hz-text-2); cursor: pointer; list-style: none; white-space: nowrap; }
.riceops-alert-row-more > summary::-webkit-details-marker,
.riceops-alert-tools > summary::-webkit-details-marker { display: none; }
.riceops-alert-row-more > summary:focus-visible,
.riceops-alert-tools > summary:focus-visible { outline: 0; box-shadow: var(--hz-focus); }
.riceops-alert-row-more[open] > summary { border-color: var(--hz-teal); color: var(--hz-teal); }
.riceops-alert-row-menu { position: absolute; z-index: var(--hz-z-popover); inset-inline-end: 0; top: calc(100% + .35rem); display: grid; min-width: 172px; padding: .3rem; border: 1px solid var(--hz-border); border-radius: var(--hz-radius-sm); background: #fff; box-shadow: var(--hz-shadow-float); animation: riceops-alert-reveal var(--hz-motion) ease-out both; }
.riceops-alert-row-menu form { margin: 0; }
.riceops-app .riceops-alert-row-menu button { display: flex; width: 100%; align-items: center; border: 0; background: transparent; color: var(--hz-text) !important; text-align: start; }
.riceops-app .riceops-alert-row-menu button:hover { background: var(--hz-surface-2); color: var(--hz-teal) !important; }

.riceops-alert-empty-state { display: flex; align-items: center; gap: .75rem; min-height: 102px; padding: 1rem; background: var(--hz-success-soft); }
.riceops-alert-empty-icon { display: grid; place-items: center; width: 38px; height: 38px; flex: 0 0 38px; border-radius: 50%; background: #fff; color: var(--hz-success); box-shadow: 0 1px 3px rgb(15 32 51 / .08); font-size: 1rem; }
.riceops-alert-empty-state strong { color: var(--hz-text); font-size: .92rem; }
.riceops-alert-empty-state p { margin: .24rem 0 0; color: var(--hz-text-2); font-size: .78rem; line-height: 1.45; }

.riceops-alert-tools { border: 1px solid var(--hz-border); border-radius: var(--hz-radius-sm); background: #fff; box-shadow: 0 1px 2px rgb(15 32 51 / .025); }
.riceops-alert-tools > summary { display: grid; grid-template-columns: 30px minmax(0, 1fr) auto; align-items: center; gap: .6rem; min-height: 60px; padding: .7rem .85rem; color: var(--hz-text); cursor: pointer; list-style: none; }
.riceops-alert-tools-icon { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 9px; background: var(--hz-surface-2); color: var(--hz-teal); }
.riceops-alert-tools > summary strong,
.riceops-alert-tools > summary small { display: block; }
.riceops-alert-tools > summary strong { font-size: .82rem; }
.riceops-alert-tools > summary small { margin-top: .15rem; color: var(--hz-muted); font-size: .7rem; line-height: 1.35; }
.riceops-alert-tools[open] > summary { border-bottom: 1px solid var(--hz-border); }
.riceops-alert-tools[open] .riceops-alert-tools-body { animation: riceops-alert-reveal var(--hz-motion) ease-out both; }
.riceops-alert-tools-body { display: grid; gap: .75rem; padding: .85rem; background: var(--hz-surface-2); }
.riceops-alert-tool-form { display: grid; grid-template-columns: minmax(150px, 220px) auto; align-items: end; gap: .65rem; margin: 0; }
.riceops-alert-evaluate-form { padding-bottom: .75rem; border-bottom: 1px solid var(--hz-border); }
.riceops-alert-manual-actions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .65rem; }
.riceops-alert-manual-actions .riceops-alert-tool-form { grid-template-columns: 1fr; align-items: stretch; padding: .75rem; border: 1px solid var(--hz-border); border-radius: 8px; background: #fff; }
.riceops-alert-manual-actions .riceops-alert-tool-form .button { justify-self: start; min-height: 36px; padding: .42rem .68rem; font-size: .74rem; }
.riceops-app button.riceops-alert-resolve-button[type="submit"] { border-color: #da8d8d !important; background: #fff !important; color: #b43131 !important; }
.riceops-app button.riceops-alert-resolve-button[type="submit"]:hover { border-color: var(--hz-danger) !important; background: var(--hz-danger-soft) !important; }
@keyframes riceops-alert-reveal { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: translateY(0); } }

@media (max-width: 1024px) {
	.riceops-alert-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.riceops-alert-signal:nth-child(2) { border-inline-end: 0; }
	.riceops-alert-signal:nth-child(-n + 2) { border-bottom: 1px solid var(--hz-border); }
	.riceops-alert-row { grid-template-columns: 34px minmax(180px, 1fr) minmax(116px, auto) auto; }
	.riceops-alert-manual-actions { grid-template-columns: 1fr; }
	.riceops-alert-manual-actions .riceops-alert-tool-form { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto; align-items: end; }
	.riceops-alert-manual-actions .riceops-alert-tool-form:first-child { grid-template-columns: minmax(0, 1fr) auto; }
}
@media (max-width: 700px) {
	.riceops-alert-center { gap: .75rem; }
	.riceops-alert-center-header { padding-bottom: .7rem; }
	.riceops-alert-center-header h1 { font-size: 1.5rem; }
	.riceops-alert-summary { grid-template-columns: 1fr 1fr; }
	.riceops-alert-signal { min-height: 60px; padding: .55rem .6rem; }
	.riceops-alert-signal-label { font-size: .71rem; }
	.riceops-alert-list-head { align-items: flex-start; padding: .75rem; }
	.riceops-alert-row { grid-template-columns: 32px minmax(0, 1fr); align-items: start; gap: .65rem; min-height: 0; padding: .75rem; }
	.riceops-alert-row-state { grid-column: 2; grid-row: 2; display: flex; align-items: center; gap: .55rem; }
	.riceops-alert-row-actions { grid-column: 1 / -1; justify-content: stretch; padding-top: .05rem; }
	.riceops-alert-row-form { flex: 1; }
	.riceops-alert-row-actions .button { width: 100%; min-height: 40px; }
	.riceops-alert-row-more { flex: 0 0 auto; }
	.riceops-alert-row-more > summary { min-height: 40px; }
	.riceops-alert-row-menu { min-width: min(220px, calc(100vw - 2rem)); }
	.riceops-alert-empty-state { min-height: 94px; padding: .85rem; }
	.riceops-alert-tools > summary { min-height: 56px; padding: .65rem .75rem; }
	.riceops-alert-tools-body { padding: .75rem; }
	.riceops-alert-tool-form,
	.riceops-alert-manual-actions .riceops-alert-tool-form,
	.riceops-alert-manual-actions .riceops-alert-tool-form:first-child { grid-template-columns: 1fr; }
	.riceops-alert-tool-form .button,
	.riceops-alert-manual-actions .riceops-alert-tool-form .button { justify-self: stretch; min-height: 42px; }
}

/* Executive dashboard rebuild: a single operational composition for the owner view. */
.riceops-exec-owner-header { align-items: center; margin: 0; padding: .1rem 0 .8rem; border-bottom: 1px solid var(--hz-border); }
.riceops-exec-owner-header h1 { font-size: clamp(1.625rem, 2vw, 1.875rem); letter-spacing: -.025em; }
.riceops-exec-owner-header p { margin-top: .28rem; font-size: .84rem; }
.riceops-exec-owner-dashboard { display: grid; gap: .9rem; min-width: 0; }
.riceops-exec-owner-header .riceops-exec-view-options { width: min(100%, 320px); }
.riceops-exec-owner-header .riceops-exec-view-options > summary { min-height: 42px; padding: .5rem .65rem; border-radius: 8px; font-size: .76rem; }
.riceops-exec-owner-header .riceops-exec-controls { box-shadow: var(--hz-shadow-float); }

.riceops-exec-kpi-strip { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .65rem; }
.riceops-exec-kpi { position: relative; display: grid; align-content: start; gap: .28rem; min-width: 0; min-height: 128px; padding: .78rem .85rem; overflow: hidden; border: 1px solid var(--hz-border); border-radius: 10px; background: #fff; box-shadow: 0 2px 6px rgb(15 32 51 / .035); color: inherit; text-decoration: none; transition: border-color var(--hz-motion-fast) ease, box-shadow var(--hz-motion-fast) ease, transform var(--hz-motion-fast) ease; }
.riceops-exec-kpi::after { position: absolute; inset-block: 0; inset-inline-start: 0; width: 3px; background: transparent; content: ""; }
.riceops-exec-kpi:hover { z-index: 1; border-color: color-mix(in srgb, var(--hz-teal) 42%, var(--hz-border)); box-shadow: 0 6px 15px rgb(15 32 51 / .075); transform: translateY(-1px); }.riceops-exec-kpi:focus-visible { z-index: 2; outline: 0; box-shadow: var(--hz-focus), 0 6px 15px rgb(15 32 51 / .075); }
.riceops-exec-kpi--finance::after { background: var(--hz-teal); }.riceops-exec-kpi--sales::after { background: var(--hz-blue); }.riceops-exec-kpi--trips::after { background: var(--hz-success); }.riceops-exec-kpi--utilization::after { background: var(--hz-warning); }
.riceops-exec-kpi-head { display: flex; align-items: center; justify-content: space-between; gap: .5rem; }
.riceops-exec-kpi-icon { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 8px; background: var(--hz-surface-2); color: var(--hz-text-2); font-size: .9rem; }
.riceops-exec-kpi--finance .riceops-exec-kpi-icon { background: var(--hz-teal-soft); color: var(--hz-teal); }.riceops-exec-kpi--sales .riceops-exec-kpi-icon { background: var(--hz-info-soft); color: var(--hz-blue); }.riceops-exec-kpi--trips .riceops-exec-kpi-icon { background: var(--hz-success-soft); color: var(--hz-success); }.riceops-exec-kpi--utilization .riceops-exec-kpi-icon { background: var(--hz-warning-soft); color: var(--hz-warning); }
.riceops-exec-kpi-status { max-width: 62%; overflow: hidden; color: var(--hz-muted); font-size: .66rem; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.riceops-exec-kpi-label { overflow: hidden; color: var(--hz-text-2); font-size: .76rem; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.riceops-exec-kpi-value { overflow-wrap: anywhere; color: var(--hz-text); font-size: clamp(1.42rem, 2vw, 1.72rem); font-variant-numeric: tabular-nums; line-height: 1.05; letter-spacing: -.02em; }.riceops-exec-kpi-value small { color: var(--hz-muted); font-size: .72rem; font-weight: 800; }
.riceops-exec-kpi-context { display: block; overflow: hidden; color: var(--hz-muted); font-size: .69rem; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }

.riceops-exec-health { display: grid; grid-template-columns: 34px minmax(0, 1fr) auto; align-items: center; gap: .7rem; min-height: 70px; padding: .7rem .85rem; border: 1px solid var(--hz-border); border-radius: 10px; background: #fff; box-shadow: 0 1px 3px rgb(15 32 51 / .025); animation: riceops-exec-reveal var(--hz-motion) ease-out both; }
.riceops-exec-health--calm { border-inline-start: 3px solid var(--hz-success); background: #fff; }.riceops-exec-health--attention { border-inline-start: 3px solid var(--hz-warning); }
.riceops-exec-health-icon { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 9px; background: var(--hz-success-soft); color: var(--hz-success); font-size: .95rem; }.riceops-exec-health--attention .riceops-exec-health-icon { background: var(--hz-warning-soft); color: var(--hz-warning); }
.riceops-exec-health-copy { min-width: 0; }.riceops-exec-health-copy h2 { margin: 0; color: var(--hz-text); font-size: .89rem; line-height: 1.35; }.riceops-exec-health-copy p { margin: .2rem 0 0; color: var(--hz-text-2); font-size: .75rem; line-height: 1.4; }
.riceops-exec-health-link, .riceops-exec-section-link { display: inline-flex; align-items: center; justify-content: center; min-height: 32px; padding: .32rem .55rem; border: 1px solid var(--hz-border-strong); border-radius: 7px; background: #fff; color: var(--hz-teal); font-size: .72rem; font-weight: 850; text-decoration: none; white-space: nowrap; transition: border-color var(--hz-motion-fast) ease, background var(--hz-motion-fast) ease; }.riceops-exec-health-link:hover, .riceops-exec-section-link:hover { border-color: var(--hz-teal); background: var(--hz-teal-soft); color: var(--hz-teal); }
.riceops-exec-health-issues { display: flex; flex-wrap: wrap; gap: .35rem; margin-top: .35rem; }.riceops-exec-health-issue { display: inline-flex; align-items: center; gap: .35rem; min-width: 0; padding: .2rem .4rem; border-radius: 6px; background: var(--hz-surface-2); color: var(--hz-text); font-size: .69rem; text-decoration: none; }.riceops-exec-health-issue strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.riceops-exec-health-issue span { display: none; color: var(--hz-muted); }.riceops-exec-health-issue em { color: var(--hz-teal); font-style: normal; font-weight: 800; }.riceops-exec-health-issue.tone-critical { background: var(--hz-danger-soft); }.riceops-exec-health-issue.tone-warning { background: var(--hz-warning-soft); }.riceops-exec-health-issue.tone-info { background: var(--hz-info-soft); }

.riceops-exec-analytics-section { min-width: 0; padding: .9rem; border: 1px solid var(--hz-border); border-radius: 10px; background: #fff; box-shadow: 0 2px 6px rgb(15 32 51 / .03); }
.riceops-exec-owner-dashboard .riceops-exec-section-head { align-items: flex-start; margin: 0 0 .8rem; }.riceops-exec-owner-dashboard .riceops-exec-section-head h2 { margin: 0; color: var(--hz-text); font-size: 1.125rem; }.riceops-exec-owner-dashboard .riceops-exec-section-head p { margin: .2rem 0 0; color: var(--hz-muted); font-size: .73rem; }

@keyframes riceops-exec-reveal { from { opacity: 0; transform: translateY(-3px); } to { opacity: 1; transform: translateY(0); } }

/* Shared shell calibration: navigation becomes compact product navigation. */
.riceops-nav-section > summary { min-height: 38px; padding: .48rem .55rem; font-size: .76rem; letter-spacing: 0; }.riceops-nav-section-title { display: inline-flex; align-items: center; gap: .5rem; min-width: 0; }.riceops-nav-section-title > .riceops-ui-icon { width: 16px; color: #88a4b9; text-align: center; }.riceops-nav-section-title > span:last-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.riceops-nav-section > summary .riceops-nav-section-title::before, .riceops-nav-section > summary .riceops-nav-section-title > span:last-child::before { display: none !important; content: "" !important; }.riceops-nav-section > summary .riceops-nav-chevron::before { display: block; color: #88a4b9; font-family: inherit !important; font-size: .68rem; content: "⌄" !important; transition: transform var(--hz-motion-fast) ease; }.riceops-nav-section[open] > summary .riceops-nav-chevron::before { transform: rotate(180deg); }
.riceops-nav-section ul { gap: .12rem; padding: .05rem 0 .35rem; }.riceops-nav-section a { position: relative; min-height: 38px; gap: .55rem; padding: .45rem .55rem; border: 1px solid transparent; border-radius: 7px; font-size: .8rem; font-weight: 650; }.riceops-nav-section a:hover { background: rgb(255 255 255 / .06); }.riceops-nav-section a.active { border-color: rgb(95 211 199 / .24); background: rgb(37 174 158 / .16); color: #fff !important; box-shadow: none; }.riceops-nav-section a.active::before { position: absolute; inset-block: .45rem; inset-inline-start: 0; width: 2px; border-radius: 2px; background: #62ded0; content: ""; }.riceops-nav-icon { display: grid; place-items: center; width: 17px; height: 17px; flex: 0 0 17px; color: #98b1c2; font-size: .75rem; }.riceops-nav-section a.active .riceops-nav-icon { color: #6be0d3; }.riceops-nav-dot { display: none; }
.riceops-header { box-shadow: 0 1px 0 rgb(255 255 255 / .09), 0 3px 12px rgb(5 16 27 / .12); }.riceops-quick-search input { height: 38px; border-radius: 7px; font-size: .78rem; }.riceops-icon-button, .riceops-profile-btn, .riceops-attention-bell-btn { min-width: 38px; height: 38px; border-radius: 8px; }.riceops-brand-mark { width: 30px; height: 30px; flex-basis: 30px; border-radius: 8px; }

@media (max-width: 1024px) { .riceops-exec-kpi-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 700px) { .riceops-exec-owner-header { align-items: flex-start; }.riceops-exec-owner-header .riceops-exec-view-options { width: 100%; }.riceops-exec-kpi-strip { gap: .5rem; }.riceops-exec-kpi { min-height: 116px; padding: .68rem; }.riceops-exec-health { grid-template-columns: 32px minmax(0, 1fr); }.riceops-exec-health-link { grid-column: 1 / -1; width: 100%; }.riceops-exec-health-issues { display: grid; }.riceops-exec-health-issue { justify-content: space-between; }.riceops-exec-health-issue span { display: none; }.riceops-exec-analytics-section { padding: .75rem; }.riceops-exec-owner-dashboard .riceops-exec-section-head { gap: .55rem; }.riceops-exec-section-link { min-height: 36px; } }

/* Executive product polish: priority, connected flow and compact empty data. */
.riceops-exec-kpi { box-shadow: 0 2px 7px rgb(15 32 51 / .04); transition: border-color var(--hz-motion-fast) ease, box-shadow var(--hz-motion-fast) ease, transform var(--hz-motion-fast) ease, background var(--hz-motion-fast) ease; }
.riceops-exec-kpi.is-primary { border-color: color-mix(in srgb, var(--hz-success) 38%, var(--hz-border)); box-shadow: 0 4px 12px rgb(15 32 51 / .065); }.riceops-exec-kpi.is-primary .riceops-exec-kpi-icon { box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--hz-success) 24%, transparent); }.riceops-exec-kpi.is-primary .riceops-exec-kpi-value { color: color-mix(in srgb, var(--hz-success) 82%, var(--hz-text)); }
.riceops-exec-kpi.is-quiet { border-color: color-mix(in srgb, var(--hz-border) 82%, #fff); background: #fdfefe; box-shadow: 0 1px 3px rgb(15 32 51 / .022); }.riceops-exec-kpi.is-quiet::after { background: #d9e1e6; }.riceops-exec-kpi.is-quiet .riceops-exec-kpi-icon { background: #f1f5f7; color: #afbec8; }.riceops-exec-kpi.is-quiet .riceops-exec-kpi-value, .riceops-exec-kpi.is-quiet .riceops-exec-kpi-label { color: var(--hz-text-2); }
.riceops-exec-analytics-section { box-shadow: 0 3px 10px rgb(15 32 51 / .04); }
.riceops-nav-section a { transition: background var(--hz-motion-fast) ease, border-color var(--hz-motion-fast) ease, color var(--hz-motion-fast) ease; }.riceops-nav-icon { transition: color var(--hz-motion-fast) ease; }
@media (max-width: 700px) { .riceops-exec-kpi-status { max-width: 72%; font-size: .64rem; }.riceops-exec-kpi-context { display: none; } }

/* Executive analytical list: trend, distribution, then one actionable table. */
.riceops-exec-analytics-hybrid { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(250px, .8fr); gap: .75rem; }.riceops-exec-trend-panel, .riceops-exec-status-panel, .riceops-exec-action-queue { min-width: 0; padding: .82rem; border: 1px solid var(--hz-border); border-radius: 9px; background: var(--hz-surface-2); }.riceops-exec-trend-panel, .riceops-exec-status-panel { transition: border-color var(--hz-motion-fast) ease, box-shadow var(--hz-motion-fast) ease, transform var(--hz-motion-fast) ease; }.riceops-exec-trend-panel:hover, .riceops-exec-status-panel:hover { border-color: color-mix(in srgb, var(--hz-teal) 26%, var(--hz-border)); box-shadow: 0 4px 11px rgb(15 32 51 / .045); transform: translateY(-1px); }.riceops-exec-analytics-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: .5rem; margin-bottom: .62rem; }.riceops-exec-analytics-card-head > div:first-child { display: grid; gap: .14rem; min-width: 0; }.riceops-exec-analytics-card-head span { display: inline-flex; align-items: center; gap: .35rem; color: var(--hz-text); font-size: .76rem; font-weight: 850; }.riceops-exec-analytics-card-head span .riceops-ui-icon { color: var(--hz-teal); }.riceops-exec-analytics-card-head small { color: var(--hz-muted); font-size: .66rem; line-height: 1.35; }.riceops-exec-analytics-card-head > a { display: grid; place-items: center; flex: 0 0 auto; width: 28px; height: 28px; border: 1px solid var(--hz-border); border-radius: 7px; background: #fff; color: var(--hz-teal); text-decoration: none; transition: background var(--hz-motion-fast) ease, border-color var(--hz-motion-fast) ease; }.riceops-exec-analytics-card-head > a:hover { border-color: var(--hz-teal); background: var(--hz-teal-soft); }.riceops-exec-analytics-card-head > a:focus-visible { outline: 0; box-shadow: var(--hz-focus); }
.riceops-exec-chart-switcher { display: inline-flex; flex: 0 0 auto; gap: .18rem; padding: .16rem; border: 1px solid var(--hz-border); border-radius: 7px; background: #fff; }.riceops-exec-chart-switcher button { min-height: 28px; padding: .22rem .46rem; border: 0; border-radius: 5px; background: transparent; color: var(--hz-muted); font: inherit; font-size: .64rem; font-weight: 800; cursor: pointer; transition: color var(--hz-motion-fast) ease, background var(--hz-motion-fast) ease; }.riceops-exec-chart-switcher button:hover { color: var(--hz-teal); }.riceops-exec-chart-switcher button.is-active { background: var(--hz-teal-soft); color: var(--hz-teal); }.riceops-exec-chart-switcher button:focus-visible { outline: 0; box-shadow: var(--hz-focus); }
.riceops-exec-trend-chart { min-height: 186px; padding: .45rem .55rem .3rem; border: 1px solid var(--hz-border); border-radius: 8px; background: #fff; }.riceops-exec-trend-chart svg { display: block; width: 100%; height: 154px; overflow: visible; }.riceops-exec-trend-grid { stroke: #e6edf0; stroke-width: 1; stroke-dasharray: 2 4; }.riceops-exec-trend-line { fill: none; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; transition: opacity var(--hz-motion-fast) ease; animation: riceops-chart-draw .44s ease-out both; }.riceops-exec-trend-line.is-total { stroke: var(--hz-blue); }.riceops-exec-trend-line.is-completed { stroke: var(--hz-success); }.riceops-exec-trend-panel[data-riceops-trend-series="total"] .riceops-exec-trend-line.is-completed, .riceops-exec-trend-panel[data-riceops-trend-series="completed"] .riceops-exec-trend-line.is-total { opacity: .14; }.riceops-exec-trend-labels { display: flex; justify-content: space-between; gap: .5rem; color: var(--hz-muted); font-size: .61rem; font-variant-numeric: tabular-nums; }.riceops-exec-chart-empty { display: flex; align-items: center; gap: .55rem; min-height: 152px; padding: .75rem; border: 1px dashed var(--hz-border-strong); border-radius: 8px; background: #fff; color: var(--hz-muted); font-size: .74rem; }.riceops-exec-chart-empty .riceops-ui-icon { color: var(--hz-teal); }
.riceops-exec-trend-summary { display: flex; flex-wrap: wrap; gap: .45rem .8rem; margin-top: .6rem; color: var(--hz-muted); font-size: .68rem; }.riceops-exec-trend-summary b { color: var(--hz-text); font-size: .78rem; font-variant-numeric: tabular-nums; }.riceops-exec-flow-chart { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); align-items: end; gap: .45rem; min-height: 126px; padding: .6rem .7rem .45rem; border: 1px solid var(--hz-border); border-radius: 8px; background: #fff; }.riceops-exec-flow-bar { display: grid; grid-template-rows: auto 64px auto; align-items: end; min-width: 0; gap: .26rem; border-radius: 5px; color: inherit; text-decoration: none; transition: background var(--hz-motion-fast) ease; }.riceops-exec-flow-bar:hover { background: var(--hz-surface-2); }.riceops-exec-flow-bar:focus-visible { outline: 0; box-shadow: var(--hz-focus); }.riceops-exec-flow-bar-value { color: var(--hz-text); font-size: .78rem; font-weight: 850; font-variant-numeric: tabular-nums; }.riceops-exec-flow-bar-column { display: flex; align-items: end; height: 64px; border-bottom: 1px solid var(--hz-border); }.riceops-exec-flow-bar-column i { display: block; width: 100%; height: var(--riceops-flow-bar); min-height: 5px; border-radius: 4px 4px 1px 1px; background: #aebdc6; transition: height .18s ease, opacity var(--hz-motion-fast) ease, transform var(--hz-motion-fast) ease; }.riceops-exec-flow-bar:hover .riceops-exec-flow-bar-column i { opacity: .84; transform: translateY(-1px); }.riceops-exec-flow-bar.tone-info .riceops-exec-flow-bar-column i, .riceops-exec-flow-bar.tone-primary .riceops-exec-flow-bar-column i { background: var(--hz-blue); }.riceops-exec-flow-bar.tone-warning .riceops-exec-flow-bar-column i { background: var(--hz-warning); }.riceops-exec-flow-bar.tone-success .riceops-exec-flow-bar-column i { background: var(--hz-success); }.riceops-exec-flow-bar-label { overflow: hidden; color: var(--hz-muted); font-size: .62rem; font-weight: 750; line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; }
.riceops-exec-completion-strip { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: .6rem; margin-top: .7rem; padding: .58rem; border: 1px solid var(--hz-border); border-radius: 8px; background: #fff; }.riceops-exec-completion-strip > div:nth-child(2) { display: grid; gap: .16rem; }.riceops-exec-completion-strip > div:nth-child(2) strong { color: var(--hz-text); font-size: .77rem; }.riceops-exec-completion-strip p { margin: 0; color: var(--hz-muted); font-size: .66rem; line-height: 1.35; }.riceops-exec-completion-strip > a { color: var(--hz-teal); font-size: .68rem; font-weight: 800; text-decoration: none; white-space: nowrap; }.riceops-exec-donut { position: relative; display: grid; place-items: center; width: 64px; height: 64px; }.riceops-exec-donut svg { width: 64px; height: 64px; transform: rotate(-90deg); }.riceops-exec-donut circle { fill: none; stroke-width: 10; }.riceops-exec-donut-track { stroke: #dfe8eb; }.riceops-exec-donut-value { stroke: var(--hz-success); stroke-linecap: round; transition: stroke-dasharray .18s ease; }.riceops-exec-donut > span { position: absolute; display: grid; justify-items: center; line-height: 1; }.riceops-exec-donut strong { color: var(--hz-text); font-size: .9rem; font-variant-numeric: tabular-nums; }.riceops-exec-donut small { margin-top: .16rem; color: var(--hz-muted); font-size: .54rem; font-weight: 800; }
.riceops-exec-action-queue { margin-top: .75rem; background: #fff; }.riceops-exec-action-table-wrap { overflow-x: auto; }.riceops-exec-action-table { width: 100%; border-collapse: collapse; font-size: .72rem; }.riceops-exec-action-table th { padding: .45rem .55rem; border-bottom: 1px solid var(--hz-border); color: var(--hz-muted); font-size: .64rem; font-weight: 850; text-align: start; white-space: nowrap; }.riceops-exec-action-table td { padding: .55rem; border-bottom: 1px solid var(--hz-border); color: var(--hz-text-2); vertical-align: middle; }.riceops-exec-action-table tbody tr:last-child td { border-bottom: 0; }.riceops-exec-action-table tbody tr { transition: background var(--hz-motion-fast) ease; }.riceops-exec-action-table tbody tr:hover { background: var(--hz-teal-soft); }.riceops-exec-trip-ref { display: block; color: var(--hz-text); font-weight: 850; text-decoration: none; }.riceops-exec-trip-ref:hover { color: var(--hz-teal); }.riceops-exec-action-table td small { display: block; margin-top: .13rem; color: var(--hz-muted); font-size: .62rem; }.riceops-exec-table-progress { display: block; width: 74px; height: 4px; margin-top: .25rem; overflow: hidden; border-radius: 99px; background: var(--hz-border); }.riceops-exec-table-progress i { display: block; width: var(--riceops-table-progress); height: 100%; border-radius: inherit; background: var(--hz-teal); transition: width .18s ease; }.riceops-exec-queue-empty { display: flex; align-items: center; gap: .55rem; min-height: 54px; padding: .65rem; border: 1px dashed var(--hz-border-strong); border-radius: 8px; background: var(--hz-surface-2); color: var(--hz-muted); font-size: .72rem; }.riceops-exec-queue-empty .riceops-ui-icon { color: var(--hz-teal); }.riceops-exec-queue-empty a { margin-inline-start: auto; color: var(--hz-teal); font-weight: 800; text-decoration: none; white-space: nowrap; }
@keyframes riceops-chart-draw { from { stroke-dasharray: 700; stroke-dashoffset: 700; } to { stroke-dasharray: 700; stroke-dashoffset: 0; } } @keyframes riceops-exec-insight-in { from { opacity: .55; transform: translateY(-2px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 980px) { .riceops-exec-analytics-hybrid { grid-template-columns: 1fr; }.riceops-exec-status-panel { min-height: 0; } }
@media (max-width: 700px) { .riceops-exec-analytics-card-head { gap: .4rem; }.riceops-exec-chart-switcher button { padding-inline: .35rem; }.riceops-exec-trend-chart { min-height: 152px; }.riceops-exec-trend-chart svg { height: 124px; }.riceops-exec-flow-chart { gap: .35rem; min-height: 112px; padding-inline: .55rem; }.riceops-exec-flow-bar { grid-template-rows: auto 54px auto; }.riceops-exec-flow-bar-column { height: 54px; }.riceops-exec-flow-bar-label { font-size: .58rem; }.riceops-exec-completion-strip p { display: none; }.riceops-exec-donut, .riceops-exec-donut svg { width: 58px; height: 58px; }.riceops-exec-queue-empty { align-items: flex-start; }.riceops-exec-queue-empty a { align-self: center; } }
@media (max-width: 767px) { .riceops-exec-action-table-wrap { overflow: visible; }.riceops-exec-action-table[data-horizon-responsive="true"] { font-size: .72rem; }.riceops-exec-action-table[data-horizon-responsive="true"] .riceops-exec-table-progress { width: min(100%, 180px); }.riceops-exec-action-table[data-horizon-responsive="true"] td:last-child .riceops-table-action { justify-self: end; } }
@media (prefers-reduced-motion: reduce) { .riceops-exec-trend-line, .riceops-exec-flow-bar-column i, .riceops-exec-table-progress i { animation: none; transition: none; } }

/* Distribution trip drill-in: one selected record, not a duplicated trip surface. */
.riceops-trip-detail { margin: 0 0 1rem; padding: 1rem; border: 1px solid var(--hz-border); border-inline-start: 3px solid var(--hz-teal); border-radius: 10px; background: #fff; box-shadow: 0 5px 16px rgb(15 32 51 / .05); animation: riceops-exec-insight-in var(--hz-motion-fast) ease-out both; }
.riceops-trip-detail-head { display: flex; align-items: flex-start; justify-content: space-between; gap: .9rem; padding-bottom: .8rem; border-bottom: 1px solid var(--hz-border); }.riceops-trip-detail-head h2 { display: flex; align-items: center; gap: .45rem; margin: .14rem 0 0; color: var(--hz-text); font-size: 1.05rem; }.riceops-trip-detail-head h2 .riceops-ui-icon { color: var(--hz-teal); }.riceops-trip-detail-head p { margin: .26rem 0 0; color: var(--hz-muted); font-size: .72rem; }.riceops-trip-detail-head-actions { display: flex; align-items: center; flex-wrap: wrap; justify-content: flex-end; gap: .42rem; }.riceops-trip-detail-status { display: inline-flex; align-items: center; gap: .32rem; min-height: 30px; padding: .28rem .55rem; border: 1px solid color-mix(in srgb, var(--hz-blue) 24%, var(--hz-border)); border-radius: 999px; background: var(--hz-info-soft); color: var(--hz-blue); font-size: .71rem; font-weight: 850; }.riceops-trip-detail-status.status-closed, .riceops-trip-detail-status.status-completed { border-color: color-mix(in srgb, var(--hz-success) 28%, transparent); background: var(--hz-success-soft); color: var(--hz-success); }.riceops-trip-detail-status.status-draft { border-color: var(--hz-border); background: var(--hz-surface-2); color: var(--hz-text-2); }.riceops-trip-detail-close { display: inline-flex; align-items: center; min-height: 30px; padding: .28rem .55rem; border: 1px solid var(--hz-border-strong); border-radius: 7px; color: var(--hz-text-2); font-size: .72rem; font-weight: 800; text-decoration: none; transition: border-color var(--hz-motion-fast) ease, color var(--hz-motion-fast) ease; }.riceops-trip-detail-close:hover { border-color: var(--hz-teal); color: var(--hz-teal); }.riceops-trip-detail-close:focus-visible { outline: 0; box-shadow: var(--hz-focus); }
.riceops-trip-journey { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .38rem; margin: .8rem 0 0; padding: 0; list-style: none; }.riceops-trip-journey li { position: relative; display: grid; grid-template-columns: 22px minmax(0, 1fr); align-items: center; gap: .35rem; min-height: 38px; min-width: 0; color: var(--hz-muted); }.riceops-trip-journey li:not(:last-child)::after { position: absolute; inset-inline-start: calc(100% - .1rem); inset-block-start: 11px; width: .38rem; height: 1px; background: var(--hz-border-strong); content: ""; }.riceops-trip-journey li > span { display: grid; place-items: center; width: 22px; height: 22px; border: 1px solid var(--hz-border-strong); border-radius: 50%; background: #fff; color: var(--hz-muted); font-size: .65rem; }.riceops-trip-journey small { overflow: hidden; font-size: .66rem; font-weight: 750; text-overflow: ellipsis; white-space: nowrap; }.riceops-trip-journey li.is-complete, .riceops-trip-journey li.is-current { color: var(--hz-text); }.riceops-trip-journey li.is-complete > span { border-color: var(--hz-teal); background: var(--hz-teal); color: #fff; }.riceops-trip-journey li.is-complete::after { background: var(--hz-teal); }.riceops-trip-journey li.is-current > span { border-color: var(--hz-teal); background: var(--hz-teal-soft); color: var(--hz-teal); box-shadow: 0 0 0 3px color-mix(in srgb, var(--hz-teal) 12%, transparent); }
.riceops-trip-detail-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .5rem; margin-top: .8rem; }.riceops-trip-detail-grid > div { display: grid; gap: .22rem; min-width: 0; padding: .56rem .62rem; border: 1px solid var(--hz-border); border-radius: 7px; background: var(--hz-surface-2); }.riceops-trip-detail-grid span { color: var(--hz-muted); font-size: .66rem; font-weight: 750; }.riceops-trip-detail-grid strong { overflow: hidden; color: var(--hz-text); font-size: .78rem; text-overflow: ellipsis; white-space: nowrap; }
.riceops-trip-detail-actions { display: flex; flex-wrap: wrap; gap: .45rem; margin-top: .8rem; }.riceops-trip-detail-actions a, .riceops-table-detail-link { display: inline-flex; align-items: center; justify-content: center; gap: .35rem; min-height: 32px; padding: .3rem .55rem; border: 1px solid var(--hz-border-strong); border-radius: 7px; background: #fff; color: var(--hz-teal); font-size: .72rem; font-weight: 800; text-decoration: none; transition: border-color var(--hz-motion-fast) ease, background var(--hz-motion-fast) ease, transform var(--hz-motion-fast) ease; }.riceops-trip-detail-actions a:hover, .riceops-table-detail-link:hover { border-color: var(--hz-teal); background: var(--hz-teal-soft); transform: translateY(-1px); }.riceops-trip-detail-actions a:focus-visible, .riceops-table-detail-link:focus-visible { outline: 0; box-shadow: var(--hz-focus); }.riceops-table-action-col { width: 1%; white-space: nowrap; }.mode-trips .riceops-table tbody tr { transition: background var(--hz-motion-fast) ease; }.mode-trips .riceops-table tbody tr:hover { background: color-mix(in srgb, var(--hz-teal-soft) 52%, #fff); }
@media (max-width: 900px) { .riceops-trip-detail-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.riceops-trip-journey { grid-template-columns: repeat(3, minmax(0, 1fr)); }.riceops-trip-journey li:nth-child(3)::after { display: none; } }
@media (max-width: 540px) { .riceops-trip-detail { padding: .75rem; }.riceops-trip-detail-head { display: grid; }.riceops-trip-detail-head-actions { justify-content: flex-start; }.riceops-trip-detail-grid { grid-template-columns: 1fr; }.riceops-trip-journey { grid-template-columns: repeat(2, minmax(0, 1fr)); }.riceops-trip-journey li::after { display: none; }.riceops-trip-detail-actions { display: grid; grid-template-columns: 1fr; }.riceops-trip-detail-actions a { justify-content: flex-start; }.riceops-table-detail-link span { display: none; }.riceops-table-detail-link { min-width: 32px; padding-inline: .35rem; } }

/* Profitability drill-in: an operational trend and one selected record. */
.riceops-profitability-header-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .45rem; }.riceops-profitability-insight, .riceops-profitability-detail { margin: 0 0 1rem; padding: .85rem .9rem; border: 1px solid var(--hz-border); border-radius: 10px; background: #fff; box-shadow: 0 3px 10px rgb(15 32 51 / .035); }.riceops-profitability-insight-head, .riceops-profitability-detail-head { display: flex; align-items: flex-start; justify-content: space-between; gap: .75rem; }.riceops-profitability-insight-head h2, .riceops-profitability-detail-head h2 { display: flex; align-items: center; gap: .4rem; margin: .12rem 0 0; color: var(--hz-text); font-size: 1rem; }.riceops-profitability-insight-head > span { color: var(--hz-muted); font-size: .7rem; font-weight: 750; }.riceops-profitability-detail-head > a { color: var(--hz-teal); font-size: .72rem; font-weight: 800; text-decoration: none; }.riceops-profitability-detail-head > a:focus-visible { outline: 0; box-shadow: var(--hz-focus); }
.riceops-profitability-bars { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); align-items: end; gap: .45rem; min-height: 126px; margin-top: .65rem; padding: .6rem .65rem .45rem; border: 1px solid var(--hz-border); border-radius: 8px; background: var(--hz-surface-2); }.riceops-profitability-bars > a { display: grid; grid-template-rows: auto 66px auto; align-items: end; min-width: 0; gap: .26rem; color: var(--hz-text); text-align: center; text-decoration: none; transition: background var(--hz-motion-fast) ease, transform var(--hz-motion-fast) ease; }.riceops-profitability-bars > a:hover { border-radius: 6px; background: #fff; transform: translateY(-1px); }.riceops-profitability-bars > a:focus-visible { outline: 0; box-shadow: var(--hz-focus); }.riceops-profitability-bars strong { font-size: .75rem; font-variant-numeric: tabular-nums; }.riceops-profitability-bars > a > span { display: flex; align-items: end; height: 66px; border-bottom: 1px solid var(--hz-border-strong); }.riceops-profitability-bars i { display: block; width: 100%; height: var(--riceops-profit-bar); min-height: 6px; border-radius: 4px 4px 1px 1px; background: var(--hz-success); transition: height .18s ease, opacity var(--hz-motion-fast) ease; }.riceops-profitability-bars .is-negative i { background: var(--hz-danger); }.riceops-profitability-bars small { overflow: hidden; color: var(--hz-muted); font-size: .61rem; font-weight: 750; text-overflow: ellipsis; white-space: nowrap; }
.riceops-profitability-empty { display: flex; align-items: center; gap: .65rem; min-height: 58px; margin-top: .55rem; padding: .65rem; border: 1px dashed var(--hz-border-strong); border-radius: 8px; background: var(--hz-surface-2); }.riceops-profitability-empty > span { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 7px; background: #fff; color: var(--hz-teal); }.riceops-profitability-empty > div { min-width: 0; }.riceops-profitability-empty strong { color: var(--hz-text); font-size: .78rem; }.riceops-profitability-empty p { margin: .16rem 0 0; color: var(--hz-muted); font-size: .71rem; }.riceops-profitability-empty a { margin-inline-start: auto; color: var(--hz-teal); font-size: .72rem; font-weight: 800; text-decoration: none; white-space: nowrap; }
.riceops-profitability-detail { border-inline-start: 3px solid var(--hz-teal); animation: riceops-exec-insight-in var(--hz-motion-fast) ease-out both; }.riceops-profitability-detail-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .5rem; margin-top: .75rem; }.riceops-profitability-detail-grid > div { display: grid; gap: .2rem; padding: .5rem .6rem; border: 1px solid var(--hz-border); border-radius: 7px; background: var(--hz-surface-2); }.riceops-profitability-detail-grid span { color: var(--hz-muted); font-size: .66rem; font-weight: 750; }.riceops-profitability-detail-grid strong { color: var(--hz-text); font-size: .8rem; font-variant-numeric: tabular-nums; }.riceops-profitability-detail-grid strong.is-positive { color: var(--hz-success); }.riceops-profitability-detail-grid strong.is-negative { color: var(--hz-danger); }.riceops-profitability-detail-actions { display: flex; gap: .45rem; margin-top: .75rem; }.riceops-profitability-detail-actions a { display: inline-flex; align-items: center; gap: .35rem; min-height: 32px; padding: .3rem .55rem; border: 1px solid var(--hz-border-strong); border-radius: 7px; background: #fff; color: var(--hz-teal); font-size: .72rem; font-weight: 800; text-decoration: none; }.riceops-profitability-detail-actions a:hover { border-color: var(--hz-teal); background: var(--hz-teal-soft); }.riceops-profitability-detail-actions a:focus-visible { outline: 0; box-shadow: var(--hz-focus); }
.riceops-profitability-report .riceops-table tbody tr { transition: background var(--hz-motion-fast) ease; }.riceops-profitability-report .riceops-table tbody tr:hover { background: color-mix(in srgb, var(--hz-teal-soft) 52%, #fff); }.riceops-table-empty { padding: 1rem !important; text-align: center; }.riceops-table-empty p { margin: .25rem 0 .55rem; color: var(--hz-muted); font-size: .74rem; }
@media (max-width: 700px) { .riceops-profitability-header-actions { width: 100%; justify-content: flex-start; }.riceops-profitability-bars { gap: .32rem; min-height: 112px; padding-inline: .5rem; }.riceops-profitability-bars > a { grid-template-rows: auto 54px auto; }.riceops-profitability-bars > a > span { height: 54px; }.riceops-profitability-bars small { font-size: .56rem; }.riceops-profitability-detail-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.riceops-profitability-empty { align-items: flex-start; }.riceops-profitability-empty p { display: none; }.riceops-profitability-empty a { align-self: center; } }
@media (prefers-reduced-motion: reduce) { .riceops-profitability-detail { animation: none; }.riceops-profitability-bars > a, .riceops-profitability-bars i { transition: none; } }

/* Shared operational action bar: route-level actions, not duplicate screen blocks. */
.riceops-app .riceops-operational-action-bar { display: flex; align-items: center; justify-content: space-between; gap: .7rem; min-height: 48px; margin: 0 0 1rem; padding: .45rem .55rem .45rem .7rem; border: 1px solid var(--hz-border); border-inline-start: 3px solid var(--hz-teal); border-radius: 9px; background: var(--hz-surface); box-shadow: 0 2px 7px rgb(15 32 51 / .035); }
.riceops-app .riceops-operational-action-label { flex: 0 0 auto; color: var(--hz-text-2); font-size: .72rem; font-weight: 850; white-space: nowrap; }
.riceops-app .riceops-operational-action-list { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-start; gap: .36rem; }
.riceops-app .riceops-operational-action { display: inline-flex; align-items: center; justify-content: center; gap: .36rem; min-height: 32px; padding: .32rem .58rem; border: 1px solid var(--hz-border-strong); border-radius: 7px; background: #fff; color: var(--hz-text-2); font-size: .72rem; font-weight: 800; line-height: 1.2; text-decoration: none; transition: border-color var(--hz-motion-fast) ease, background var(--hz-motion-fast) ease, color var(--hz-motion-fast) ease, transform var(--hz-motion-fast) ease, box-shadow var(--hz-motion-fast) ease; }
.riceops-app .riceops-operational-action .riceops-ui-icon { color: var(--hz-teal); font-size: .76rem; }.riceops-app .riceops-operational-action:hover { border-color: color-mix(in srgb, var(--hz-teal) 48%, var(--hz-border)); background: var(--hz-teal-soft); color: var(--hz-teal); transform: translateY(-1px); box-shadow: 0 2px 5px rgb(15 32 51 / .05); }.riceops-app .riceops-operational-action:focus-visible { outline: 0; box-shadow: var(--hz-focus); }
.riceops-app .riceops-operational-action-primary { border-color: var(--hz-teal); background: var(--hz-teal); color: #fff; }.riceops-app .riceops-operational-action-primary .riceops-ui-icon { color: #d9fffa; }.riceops-app .riceops-operational-action-primary:hover { border-color: #08796e; background: #08796e; color: #fff; }
@media (max-width: 680px) { .riceops-app .riceops-operational-action-bar { align-items: flex-start; display: grid; padding: .58rem; }.riceops-app .riceops-operational-action-list { width: 100%; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }.riceops-app .riceops-operational-action { min-height: 38px; padding-inline: .45rem; text-align: center; }.riceops-app .riceops-operational-action span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } }
@media (max-width: 390px) { .riceops-app .riceops-operational-action-list { grid-template-columns: 1fr; }.riceops-app .riceops-operational-action { justify-content: flex-start; padding-inline: .65rem; } }
@media (prefers-reduced-motion: reduce) { .riceops-app .riceops-operational-action { transition: none; }.riceops-app .riceops-operational-action:hover { transform: none; } }

/* Shared domain analytics: replaces detached KPI-card grids with one actionable picture. */
.riceops-visual-metrics { min-width: 0; margin: 0 0 1rem; padding: 1rem; border: 1px solid var(--hz-border); border-radius: 10px; background: var(--hz-surface); box-shadow: 0 3px 12px rgb(15 32 51 / .045); }
.riceops-visual-metrics-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; margin-bottom: .9rem; }
.riceops-visual-metrics-head > div { min-width: 0; }
.riceops-section-eyebrow { display: block; margin-bottom: .16rem; color: var(--hz-teal); font-size: .68rem; font-weight: 850; letter-spacing: .025em; }
.riceops-visual-metrics-head h3 { margin: 0; color: var(--hz-text); font-size: 1.125rem; line-height: 1.35; }
.riceops-visual-metrics-head p { margin: .22rem 0 0; color: var(--hz-muted); font-size: .76rem; line-height: 1.55; }
.riceops-visual-live { display: inline-flex; align-items: center; gap: .38rem; min-height: 28px; padding: .25rem .48rem; border: 1px solid var(--hz-border); border-radius: 7px; background: var(--hz-surface-2); color: var(--hz-text-2); font-size: .67rem; font-weight: 800; white-space: nowrap; }
.riceops-visual-live i { width: 7px; height: 7px; border-radius: 50%; background: var(--hz-success); box-shadow: 0 0 0 3px var(--hz-success-soft); }
.riceops-visual-metrics-layout { display: grid; grid-template-columns: minmax(0, 1fr) 248px; gap: .75rem; min-width: 0; }
.riceops-status-flow { display: grid; grid-template-columns: repeat(auto-fit, minmax(142px, 1fr)); align-content: center; gap: 0; min-width: 0; min-height: 190px; padding: .75rem; border: 1px solid var(--hz-border); border-radius: 9px; background: var(--hz-surface-2); }
.riceops-status-state { position: relative; display: grid; grid-template-columns: 34px minmax(0, 1fr); align-items: center; gap: .58rem; min-width: 0; min-height: 86px; padding: .68rem .72rem; border-inline-start: 1px solid var(--hz-border); color: inherit; text-decoration: none; transition: background var(--hz-motion-fast) ease, transform var(--hz-motion-fast) ease, box-shadow var(--hz-motion-fast) ease; }
.riceops-status-state:first-child { border-inline-start: 0; }
.riceops-status-state:hover { z-index: 1; border-radius: 8px; background: #fff; transform: translateY(-1px); box-shadow: 0 5px 14px rgb(15 32 51 / .07); }
.riceops-status-state:focus-visible { z-index: 2; border-radius: 8px; outline: 0; box-shadow: var(--hz-focus); }
.riceops-status-state-marker { display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid color-mix(in srgb, var(--hz-blue) 30%, var(--hz-border)); border-radius: 9px; background: var(--hz-info-soft); }
.riceops-status-state-marker i { width: 9px; height: 9px; border-radius: 50%; background: var(--hz-blue); box-shadow: 0 0 0 4px rgb(37 99 235 / .1); }
.riceops-status-state-copy { display: grid; gap: .18rem; min-width: 0; }
.riceops-status-state-copy small { overflow: hidden; color: var(--hz-text-2); font-size: .67rem; font-weight: 750; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.riceops-status-state-copy strong { color: var(--hz-text); font-size: 1.12rem; font-variant-numeric: tabular-nums; line-height: 1.1; }
.riceops-status-state-progress { position: absolute; inset-inline: .72rem; bottom: .55rem; height: 3px; overflow: hidden; border-radius: 99px; background: var(--hz-border); }
.riceops-status-state-progress i { display: block; width: var(--riceops-state-progress); height: 100%; border-radius: inherit; background: var(--hz-blue); transform-origin: right; animation: riceops-status-progress-reveal var(--hz-motion-panel) ease-out both; }
.riceops-status-state.tone-success .riceops-status-state-marker { border-color: color-mix(in srgb, var(--hz-success) 30%, var(--hz-border)); background: var(--hz-success-soft); }.riceops-status-state.tone-success .riceops-status-state-marker i, .riceops-status-state.tone-success .riceops-status-state-progress i { background: var(--hz-success); }
.riceops-status-state.tone-warning .riceops-status-state-marker { border-color: color-mix(in srgb, var(--hz-warning) 30%, var(--hz-border)); background: var(--hz-warning-soft); }.riceops-status-state.tone-warning .riceops-status-state-marker i, .riceops-status-state.tone-warning .riceops-status-state-progress i { background: var(--hz-warning); }
.riceops-status-state.tone-danger .riceops-status-state-marker { border-color: color-mix(in srgb, var(--hz-danger) 30%, var(--hz-border)); background: var(--hz-danger-soft); }.riceops-status-state.tone-danger .riceops-status-state-marker i, .riceops-status-state.tone-danger .riceops-status-state-progress i { background: var(--hz-danger); }
.riceops-status-state.tone-quiet .riceops-status-state-marker { border-color: var(--hz-border); background: #fff; }.riceops-status-state.tone-quiet .riceops-status-state-marker i, .riceops-status-state.tone-quiet .riceops-status-state-progress i { background: #8da0ad; }
.riceops-status-state.is-zero { opacity: .76; }.riceops-status-state.is-zero .riceops-status-state-progress i { width: 0; animation: none; }
.riceops-visual-donut-panel { display: grid; grid-template-rows: auto 1fr; gap: .65rem; align-content: start; padding: .75rem; border: 1px solid var(--hz-border); border-radius: 9px; background: #fff; }
.riceops-visual-donut { position: relative; width: 132px; height: 132px; margin: 0 auto; }
.riceops-visual-donut svg { width: 100%; height: 100%; transform: rotate(-90deg); }
.riceops-visual-donut circle { fill: none; stroke-width: 9; }
.riceops-visual-donut-track { stroke: #e4eaee; }
.riceops-visual-donut-value { stroke: var(--hz-warning); stroke-linecap: round; transition: stroke-dasharray var(--hz-motion-panel) ease; }
.riceops-visual-donut > span { position: absolute; inset: 0; display: grid; place-content: center; text-align: center; }
.riceops-visual-donut > span strong { color: var(--hz-text); font-size: 1.42rem; font-variant-numeric: tabular-nums; line-height: 1; }
.riceops-visual-donut > span small { margin-top: .25rem; color: var(--hz-muted); font-size: .63rem; font-weight: 750; }
.riceops-visual-donut-copy { display: grid; align-content: start; gap: .18rem; padding-top: .55rem; border-top: 1px solid var(--hz-border); text-align: center; }
.riceops-visual-donut-copy span { color: var(--hz-text-2); font-size: .7rem; font-weight: 750; }
.riceops-visual-donut-copy strong { color: var(--hz-text); font-size: 1.12rem; font-variant-numeric: tabular-nums; }
.riceops-visual-donut-copy small { color: var(--hz-muted); font-size: .62rem; line-height: 1.45; }
@keyframes riceops-status-progress-reveal { from { opacity: .35; transform: scaleX(.08); } to { opacity: 1; transform: scaleX(1); } }
@media (max-width: 1024px) { .riceops-visual-metrics-layout { grid-template-columns: minmax(0, 1fr) 210px; }.riceops-status-flow { grid-template-columns: repeat(2, minmax(0, 1fr)); }.riceops-status-state:nth-child(odd) { border-inline-start: 0; }.riceops-status-state:nth-child(n + 3) { border-top: 1px solid var(--hz-border); } }
@media (max-width: 700px) { .riceops-visual-metrics { padding: .75rem; }.riceops-visual-metrics-head { gap: .6rem; }.riceops-visual-metrics-head h3 { font-size: 1rem; }.riceops-visual-metrics-head p { display: none; }.riceops-visual-live { min-height: 26px; padding-inline: .4rem; }.riceops-visual-metrics-layout { grid-template-columns: 1fr; }.riceops-status-flow { grid-template-columns: 1fr; min-height: 0; padding: .4rem; }.riceops-status-state { min-height: 68px; border-inline-start: 0; border-top: 1px solid var(--hz-border); }.riceops-status-state:first-child { border-top: 0; }.riceops-visual-donut-panel { grid-template-columns: 106px minmax(0, 1fr); grid-template-rows: 1fr; align-items: center; }.riceops-visual-donut { width: 100px; height: 100px; }.riceops-visual-donut-copy { align-content: center; padding: 0  .65rem 0 0; border-top: 0; border-inline-start: 1px solid var(--hz-border); text-align: start; }.riceops-visual-donut-copy small { display: none; } }
@media (prefers-reduced-motion: reduce) { .riceops-status-state, .riceops-status-state-progress i, .riceops-visual-donut-value { animation: none; transition: none; }.riceops-status-state:hover { transform: none; } }
.riceops-pod-upload input[type="file"]{min-height:44px;padding:8px;border:1px solid var(--hz-border,#cbd5e1);border-radius:8px;background:#fff}
.riceops-pod-upload small{display:block;margin-top:6px;color:var(--hz-text-muted,#64748b);font-size:12px}
.riceops-signature-field canvas{display:block;width:100%;max-width:720px;height:180px;margin:6px 0 10px;border:1px solid var(--hz-border,#cbd5e1);border-radius:8px;background:#fff;touch-action:none;box-shadow:inset 0 1px 2px rgba(15,23,42,.05)}
.riceops-toast{position:fixed;inset-inline-start:24px;bottom:24px;z-index:10000;max-width:min(420px,calc(100vw - 32px));padding:11px 14px;border:1px solid #a7f3d0;border-radius:8px;background:#ecfdf5;color:#065f46;box-shadow:0 8px 24px rgba(15,23,42,.12);font-size:13px;opacity:0;transform:translateY(8px);transition:opacity 160ms ease,transform 160ms ease}
.riceops-toast.is-visible{opacity:1;transform:translateY(0)}.riceops-toast.is-error{border-color:#fecaca;background:#fef2f2;color:#991b1b}
@media(max-width:600px){.riceops-signature-field canvas{height:150px}.riceops-toast{inset-inline:16px;bottom:16px}}
@media(prefers-reduced-motion:reduce){.riceops-toast{transition:none}}
