/* EMII v5.9 Source CSS — Theme refinements and final polish */
.emii-app[data-theme="dark"] {
  --emii-bg: #050506;
  --emii-surface: rgba(28,28,30,.86);
  --emii-solid: #1c1c1e;
  --emii-text: #f5f5f7;
  --emii-muted: #a1a1aa;
  --emii-line: rgba(235,235,245,.16);
  background: radial-gradient(circle at 10% 0%, rgba(0,122,255,.22), transparent 28%),
    radial-gradient(circle at 94% 6%, rgba(175,82,222,.18), transparent 28%),
    #000;
  color-scheme: dark;
  --emii-bg-rgb: 5,5,6;
  --emii-surface-strong: rgba(36,36,38,.96);
  --emii-surface-soft: rgba(28,28,30,.72);
  --emii-elevated: rgba(44,44,46,.96);
  --emii-field-bg: rgba(58,58,60,.72);
  --emii-hover: rgba(10,132,255,.14);
  --emii-pressed: rgba(255,255,255,.08);
  --emii-text-rgb: 245,245,247;
  --emii-muted-2: #c7c7cc;
  --emii-inverted: #050506;
  --emii-line-strong: rgba(235,235,245,.26);
  --emii-blue: #0a84ff;
  --emii-green: #30d158;
  --emii-red: #ff453a;
  --emii-orange: #ff9f0a;
  --emii-purple: #bf5af2;
  --emii-yellow: #ffd60a;
  --emii-blue-soft: rgba(10,132,255,.18);
  --emii-green-soft: rgba(48,209,88,.18);
  --emii-red-soft: rgba(255,69,58,.18);
  --emii-orange-soft: rgba(255,159,10,.18);
  --emii-purple-soft: rgba(191,90,242,.18);
  --emii-gray-soft: rgba(142,142,147,.22);
  --emii-shadow: 0 18px 52px rgba(0,0,0,.42);
  --emii-soft-shadow: 0 10px 30px rgba(0,0,0,.28);
  --emii-modal-shadow: 0 26px 76px rgba(0,0,0,.58);
}

.emii-app .emii-segment {
  border-color: var(--emii-line);
}

.emii-app .emii-tabs {
  border-color: var(--emii-line);
}

.emii-app .emii-jsonbox {
  border-color: var(--emii-line);
}

.emii-app .emii-input::placeholder {
  color: var(--emii-muted);
}

.emii-app .emii-textarea::placeholder {
  color: var(--emii-muted);
}

.emii-app .emii-search input::placeholder {
  color: var(--emii-muted);
}

.emii-app .emii-icon-btn {
  color: var(--emii-text);
  background: var(--emii-gray-soft);
}

.emii-app .emii-btn-gray {
  color: var(--emii-text);
  background: var(--emii-gray-soft);
}

.emii-app .emii-page-btn {
  color: var(--emii-text);
  background: var(--emii-gray-soft);
}

.emii-app .emii-jdp-nav {
  color: var(--emii-text);
  background: var(--emii-gray-soft);
}

.emii-app .emii-date-input button {
  color: var(--emii-text);
  background: var(--emii-gray-soft);
}

.emii-app .emii-suggest-item:hover {
  background: var(--emii-blue-soft);
  color: var(--emii-blue);
}

.emii-app .emii-suggest-item.is-active {
  background: var(--emii-blue-soft);
  color: var(--emii-blue);
}

.emii-app .emii-tab-btn {
  color: var(--emii-text);
}

.emii-app .emii-segment button {
  color: var(--emii-text);
}

.emii-app .emii-tab-btn.is-active {
  background: var(--emii-elevated);
  color: var(--emii-blue);
}

.emii-app .emii-segment button.is-active {
  background: var(--emii-elevated);
  color: var(--emii-blue);
}

.emii-app .emii-suggest {
  background: var(--emii-surface-strong);
  border-color: var(--emii-line);
  color: var(--emii-text);
}

.emii-app .emii-jdp-popover {
  background: var(--emii-surface-strong);
  border-color: var(--emii-line);
  color: var(--emii-text);
}

.emii-app .emii-jdp-title select {
  background: var(--emii-field-bg);
  color: var(--emii-text);
}

.emii-app .emii-jdp-day {
  color: var(--emii-text);
}

.emii-app .emii-jdp-day.is-muted {
  color: color-mix(in srgb, var(--emii-muted) 62%, transparent);
}

.emii-app .emii-jdp-footer {
  background: color-mix(in srgb, var(--emii-field-bg) 72%, transparent);
  border-color: var(--emii-line);
}

.emii-app .emii-switch-track {
  background: color-mix(in srgb, var(--emii-muted) 32%, transparent);
}

.emii-app .emii-radio-dot {
  border-color: var(--emii-line-strong);
  background: var(--emii-elevated);
}

.emii-app .emii-tag {
  background: var(--emii-gray-soft);
  color: var(--emii-text);
}

.emii-app .emii-tag-blue {
  background: var(--emii-blue-soft);
  color: var(--emii-blue);
}

.emii-app .emii-tag-green {
  background: var(--emii-green-soft);
  color: var(--emii-green);
}

.emii-app .emii-tag-orange {
  background: var(--emii-orange-soft);
  color: var(--emii-orange);
}

.emii-app .emii-tag-red {
  background: var(--emii-red-soft);
  color: var(--emii-red);
}

.emii-app .emii-tag-purple {
  background: var(--emii-purple-soft);
  color: var(--emii-purple);
}

.emii-app .emii-pill-blue {
  background: var(--emii-blue-soft);
  color: var(--emii-blue);
}

.emii-app .emii-pill-green {
  background: var(--emii-green-soft);
  color: var(--emii-green);
}

.emii-app .emii-pill-red {
  background: var(--emii-red-soft);
  color: var(--emii-red);
}

.emii-app .emii-pill-orange {
  background: var(--emii-orange-soft);
  color: var(--emii-orange);
}

.emii-app .emii-pill-gray {
  background: var(--emii-gray-soft);
  color: var(--emii-muted-2);
}

.emii-app .emii-alert-info {
  background: var(--emii-blue-soft);
  color: var(--emii-blue);
}

.emii-app .emii-alert-success {
  background: var(--emii-green-soft);
  color: var(--emii-green);
}

.emii-app .emii-alert-warning {
  background: var(--emii-orange-soft);
  color: var(--emii-orange);
}

.emii-app .emii-alert-danger {
  background: var(--emii-red-soft);
  color: var(--emii-red);
}

.emii-app .emii-detail-page {
  background: radial-gradient(circle at 10% 0%, color-mix(in srgb, var(--emii-blue) 14%, transparent), transparent 28%),
    radial-gradient(circle at 90% 8%, color-mix(in srgb, var(--emii-purple) 12%, transparent), transparent 30%),
    var(--emii-bg);
}

.emii-app .emii-detail-header {
  background: linear-gradient(to bottom, var(--emii-bg) 70%, rgba(var(--emii-bg-rgb),0));
}

.emii-app .emii-overlay {
  background: rgba(0,0,0,.32);
}

.emii-app[data-theme="dark"] .emii-overlay {
  background: rgba(0,0,0,.56);
}

.emii-token-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.emii-token-card {
  border-radius: 18px;
  background: var(--emii-field-bg);
  border: 1px solid var(--emii-line);
  padding: 10px;
}

.emii-token-swatch {
  height: 42px;
  border-radius: 14px;
  margin-bottom: 8px;
  border: 1px solid var(--emii-line);
}

.emii-token-card strong {
  display: block;
  font-size: 12px;
  font-weight: 950;
}

.emii-token-card span {
  display: block;
  margin-top: 4px;
  color: var(--emii-muted);
  font-size: 10px;
  direction: ltr;
  text-align: right;
}

.emii-showcase-note {
  border-radius: 18px;
  background: var(--emii-blue-soft);
  color: var(--emii-blue);
  padding: 12px 13px;
  font-size: 13px;
  line-height: 1.8;
  font-weight: 850;
}

@media (max-width: 920px) {
  .emii-token-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.emii-app .emii-glass {
  background: var(--emii-surface);
  border-color: rgba(255,255,255,.58);
  color: var(--emii-text);
}

.emii-app .emii-kpi {
  background: var(--emii-surface);
  border-color: rgba(255,255,255,.58);
  color: var(--emii-text);
}

.emii-app .emii-settings-card {
  background: var(--emii-surface);
  border-color: rgba(255,255,255,.58);
  color: var(--emii-text);
}

.emii-app .emii-state-box {
  background: var(--emii-surface);
  border-color: rgba(255,255,255,.58);
  color: var(--emii-text);
}

.emii-app .emii-list {
  background: var(--emii-surface);
  border-color: rgba(255,255,255,.58);
  color: var(--emii-text);
}

.emii-app .emii-radio-card {
  background: var(--emii-surface);
  border-color: rgba(255,255,255,.58);
  color: var(--emii-text);
}

.emii-app .emii-detail-hero {
  background: var(--emii-surface);
  border-color: rgba(255,255,255,.58);
  color: var(--emii-text);
}

.emii-app .emii-modal {
  background: var(--emii-surface);
  border-color: rgba(255,255,255,.58);
  color: var(--emii-text);
}

.emii-app .emii-action-sheet {
  background: var(--emii-surface);
  border-color: rgba(255,255,255,.58);
  color: var(--emii-text);
}

.emii-app .emii-side-panel {
  background: var(--emii-surface);
  border-color: rgba(255,255,255,.58);
  color: var(--emii-text);
}

.emii-app[data-theme="dark"] .emii-glass {
  background: rgba(28,28,30,.86);
  border-color: rgba(255,255,255,.08);
}

.emii-app[data-theme="dark"] .emii-kpi {
  background: rgba(28,28,30,.86);
  border-color: rgba(255,255,255,.08);
}

.emii-app[data-theme="dark"] .emii-settings-card {
  background: rgba(28,28,30,.86);
  border-color: rgba(255,255,255,.08);
}

.emii-app[data-theme="dark"] .emii-state-box {
  background: rgba(28,28,30,.86);
  border-color: rgba(255,255,255,.08);
}

.emii-app[data-theme="dark"] .emii-list {
  background: rgba(28,28,30,.86);
  border-color: rgba(255,255,255,.08);
}

.emii-app[data-theme="dark"] .emii-modal {
  background: rgba(28,28,30,.86);
  border-color: rgba(255,255,255,.08);
}

.emii-app[data-theme="dark"] .emii-action-sheet {
  background: rgba(28,28,30,.86);
  border-color: rgba(255,255,255,.08);
}

.emii-app[data-theme="dark"] .emii-side-panel {
  background: rgba(28,28,30,.86);
  border-color: rgba(255,255,255,.08);
}

.emii-app[data-theme="dark"] .emii-detail-hero {
  background: rgba(28,28,30,.86);
  border-color: rgba(255,255,255,.08);
}

.emii-app[data-theme="dark"] .emii-radio-card {
  background: rgba(28,28,30,.86);
  border-color: rgba(255,255,255,.08);
}

.emii-app .emii-input {
  border-color: transparent;
  background: var(--emii-field-bg);
  color: var(--emii-text);
}

.emii-app .emii-select {
  border-color: transparent;
  background: var(--emii-field-bg);
  color: var(--emii-text);
}

.emii-app .emii-textarea {
  border-color: transparent;
  background: var(--emii-field-bg);
  color: var(--emii-text);
}

.emii-app .emii-search {
  border-color: transparent;
  background: var(--emii-field-bg);
  color: var(--emii-text);
}

.emii-app .emii-date-input {
  border-color: transparent;
  background: var(--emii-field-bg);
  color: var(--emii-text);
}

.emii-app .emii-data-box {
  border-color: transparent;
  background: var(--emii-field-bg);
  color: var(--emii-text);
}

.emii-app .emii-token-swatch {
  border-color: transparent;
}

.emii-app .emii-list-row {
  border-color: color-mix(in srgb, var(--emii-line) 55%, transparent);
}

.emii-app .emii-sheet-row {
  border-color: color-mix(in srgb, var(--emii-line) 55%, transparent);
}

.emii-app .emii-suggest-item {
  border-color: color-mix(in srgb, var(--emii-line) 55%, transparent);
}

.emii-app .emii-table {
  background: var(--emii-surface);
  border-color: transparent;
  color: var(--emii-text);
  box-shadow: var(--emii-soft-shadow);
}

.emii-app .emii-table th {
  background: var(--emii-field-bg);
  color: var(--emii-muted-2);
  border-color: var(--emii-line);
  border-bottom-color: color-mix(in srgb, var(--emii-line) 58%, transparent);
}

.emii-app .emii-table td {
  border-color: var(--emii-line);
  border-bottom-color: color-mix(in srgb, var(--emii-line) 58%, transparent);
}

.emii-app .emii-mobile-card-list {
  gap: 8px;
}

.emii-app .emii-mobile-row-card {
  background: color-mix(in srgb, var(--emii-surface) 84%, transparent);
  border-color: rgba(255,255,255,.58);
  color: var(--emii-text);
  border: 0;
  border-radius: 22px;
  box-shadow: 0 10px 28px rgba(0,0,0,.08);
  padding: 11px;
}

.emii-app[data-theme="dark"] .emii-mobile-row-card {
  background: rgba(28,28,30,.74);
  border-color: rgba(255,255,255,.08);
  box-shadow: 0 10px 28px rgba(0,0,0,.24);
}

.emii-app .emii-mobile-row-meta {
  grid-template-columns: 1fr 1fr;
  gap: 7px;
  margin: 9px 0;
}

.emii-app .emii-mobile-meta-box {
  border-color: transparent;
  background: color-mix(in srgb, var(--emii-field-bg) 72%, transparent);
  color: var(--emii-text);
  border: 0;
  border-radius: 16px;
  padding: 8px 9px;
}

.emii-app .emii-mobile-row-foot {
  padding-top: 8px;
  border-top: 1px solid color-mix(in srgb, var(--emii-line) 40%, transparent);
}

.emii-app .emii-action-bar {
  background: color-mix(in srgb, var(--emii-surface) 88%, transparent);
  border-color: rgba(255,255,255,.58);
  color: var(--emii-text);
  border: 0;
  box-shadow: 0 16px 42px rgba(0,0,0,.14);
}

.emii-app[data-theme="dark"] .emii-action-bar {
  background: rgba(28,28,30,.82);
  border-color: rgba(255,255,255,.08);
  box-shadow: 0 16px 42px rgba(0,0,0,.38);
}

.emii-app .emii-admin-header {
  background: var(--emii-surface-soft);
  border-color: rgba(255,255,255,.42);
  color: var(--emii-text);
}

.emii-app[data-theme="dark"] .emii-admin-header {
  border-color: rgba(255,255,255,.07);
}

.emii-app .emii-token-card {
  border-color: transparent;
  box-shadow: none;
  border: 0;
}

@media (max-width: 920px) {
  .emii-app .emii-table-scroll {
    margin-bottom: 10px;
  }

  .emii-app .emii-mobile-card-list {
    margin-top: 4px;
  }

  .emii-app .emii-mobile-row-card {
    padding: 10px;
  }
}

.emii-app .emii-sidebar {
  background: linear-gradient(180deg, rgba(255,255,255,.78), rgba(255,255,255,.54));
  border-color: rgba(255,255,255,.42);
  color: var(--emii-text);
  padding: 9px;
  border: 0;
  border-radius: 30px;
  box-shadow: 0 18px 48px rgba(0,0,0,.10),
    inset 0 1px 0 rgba(255,255,255,.62);
}

.emii-app[data-theme="dark"] .emii-sidebar {
  border-color: rgba(255,255,255,.07);
  background: linear-gradient(180deg, rgba(44,44,46,.72), rgba(28,28,30,.62));
  box-shadow: 0 18px 48px rgba(0,0,0,.38),
    inset 0 1px 0 rgba(255,255,255,.08);
}

.emii-app .emii-nav {
  color: color-mix(in srgb, var(--emii-text) 74%, var(--emii-muted));
  background: transparent;
  position: relative;
  min-height: 46px;
  border-radius: 19px;
  padding: 10px 11px;
  transition: transform .16s ease, background .16s ease, color .16s ease, box-shadow .16s ease;
}

.emii-app .emii-nav:hover {
  background: rgba(255,255,255,.55);
  color: var(--emii-blue);
  transform: translateY(-1px);
}

.emii-app[data-theme="dark"] .emii-nav:hover {
  background: rgba(255,255,255,.08);
}

.emii-app .emii-nav.is-active {
  background: linear-gradient(135deg, rgba(0,122,255,.16), rgba(88,86,214,.10));
  color: var(--emii-blue);
  box-shadow: 0 10px 24px rgba(0,122,255,.10),
    inset 0 1px 0 rgba(255,255,255,.50);
}

.emii-app[data-theme="dark"] .emii-nav.is-active {
  background: linear-gradient(135deg, rgba(10,132,255,.24), rgba(94,92,230,.14));
  box-shadow: 0 10px 24px rgba(0,0,0,.22),
    inset 0 1px 0 rgba(255,255,255,.08);
}

.emii-app .emii-nav.is-active::before {
  content: "";
  position: absolute;
  right: 7px;
  top: 50%;
  width: 4px;
  height: 22px;
  border-radius: 999px;
  background: linear-gradient(180deg, var(--emii-blue), #5856d6);
  transform: translateY(-50%);
  box-shadow: 0 8px 18px rgba(0,122,255,.28);
}

.emii-app .emii-nav b {
  width: 26px;
  height: 26px;
  border-radius: 11px;
  display: grid;
  place-items: center;
  font-size: 15px;
  background: rgba(120,120,128,.12);
}

.emii-app .emii-nav.is-active b {
  color: #fff;
  background: linear-gradient(135deg, var(--emii-blue), #5856d6);
  box-shadow: 0 8px 18px rgba(0,122,255,.20);
}












@media (max-width: 920px) {
  .emii-app .emii-action-bar {
    right: 10px;
    left: 10px;
    border-radius: 22px;
    bottom: 84px;
  }
}


/* Framework runtime contract */
.emii-app[data-emii-framework-ready="true"] {
  --emii-framework-layer-z: 9000;
  --emii-framework-overlay-z: 8000;
}

.emii-app [data-emii-page] {
  display: none;
}

.emii-app [data-emii-page].is-active {
  display: block;
}

.emii-app .emii-field.is-invalid .emii-input,
.emii-app .emii-field.is-invalid .emii-select,
.emii-app .emii-field.is-invalid .emii-textarea {
  border-color: color-mix(in srgb, var(--emii-red) 78%, var(--emii-line));
  box-shadow: 0 0 0 4px var(--emii-red-soft);
}

.emii-app .emii-field-error {
  color: var(--emii-red);
  font-size: 11px;
  font-weight: 800;
  margin-top: 6px;
}

.emii-app [data-emii-module][data-emii-state="loading"] {
  cursor: progress;
}

.emii-app [data-emii-module][data-emii-state="disabled"] {
  opacity: .56;
  pointer-events: none;
}

/* Demo/showcase utilities — keep demo HTML free of inline style attributes. */
.emii-app .emii-u-mt-10 { margin-top: 10px; }
.emii-app .emii-u-mt-12 { margin-top: 12px; }
.emii-app .emii-u-mt-14 { margin-top: 14px; }
.emii-app .emii-u-mt-16 { margin-top: 16px; }
.emii-app .emii-u-mb-12 { margin-bottom: 12px; }
.emii-app .emii-u-no-shadow { box-shadow: none; }
.emii-app .emii-u-flex-end { justify-content: flex-end; }
.emii-app .emii-u-w-full { width: 100%; }
.emii-app .emii-u-minh-130 { min-height: 130px; }
.emii-app .emii-u-muted-p { margin: 0; color: var(--emii-muted); font-size: 13px; line-height: 1.8; }
.emii-app .emii-u-text-red { color: var(--emii-red); }
.emii-app .emii-u-h-38 { height: 38%; }
.emii-app .emii-u-h-45 { height: 45%; }
.emii-app .emii-u-h-48 { height: 48%; }
.emii-app .emii-u-h-52 { height: 52%; }
.emii-app .emii-u-h-58 { height: 58%; }
.emii-app .emii-u-h-66 { height: 66%; }
.emii-app .emii-u-h-68 { height: 68%; }
.emii-app .emii-u-h-70 { height: 70%; }
.emii-app .emii-u-h-72 { height: 72%; }
.emii-app .emii-u-h-78 { height: 78%; }
.emii-app .emii-u-h-82 { height: 82%; }
.emii-app .emii-u-h-88 { height: 88%; }
.emii-app .emii-u-h-90 { height: 90%; }
.emii-app .emii-u-h-92 { height: 92%; }
.emii-app .emii-u-h-96 { height: 96%; }
.emii-app .emii-u-w-45 { width: 45%; }
.emii-app .emii-u-w-62 { width: 62%; }
.emii-app .emii-u-w-72 { width: 72%; }
.emii-app .emii-u-w-78 { width: 78%; }
.emii-app .emii-u-w-90 { width: 90%; }
.emii-app .emii-token-bg { background: var(--emii-bg); }
.emii-app .emii-token-surface { background: var(--emii-surface); }
.emii-app .emii-token-field-bg { background: var(--emii-field-bg); }
.emii-app .emii-token-text { background: var(--emii-text); }
.emii-app .emii-token-blue { background: var(--emii-blue); }
.emii-app .emii-token-green { background: var(--emii-green); }
.emii-app .emii-token-red { background: var(--emii-red); }
.emii-app .emii-token-orange { background: var(--emii-orange); }
