@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500;600&family=Plus+Jakarta+Sans:wght@300;400;500;600&display=swap");
/* tokens/fonts.css */
/* Webfonts — Google Fonts substitutes (no binaries supplied). Inter is taken from the reference type card; Plus Jakarta Sans approximates the light geometric display face; JetBrains Mono carries terminal/data microtype. */
/* tokens/colors.css */
:root{
/* Teal — primary. Brand anchor #1C8779 ("Teal Green", RGB 28 135 121) */
--teal-50:#E6F7F4;--teal-100:#C2EDE5;--teal-200:#8FDDD0;--teal-300:#5CCBB8;--teal-400:#34B8A2;--teal-500:#23A08C;--teal-600:#1C8779;--teal-700:#156B60;--teal-800:#0F4F47;--teal-900:#0A3530;--teal-950:#061F1C;
/* Cyan — live signal / AI glow */
--cyan-200:#A5F3EC;--cyan-300:#6CEBDF;--cyan-400:#2FD9C9;--cyan-500:#14B8AA;
/* Blue + Violet — secondary accents (data series, AI agents, tinted KPI tiles) */
--blue-300:#93B4F7;--blue-400:#5B8DEF;--blue-500:#3B6FE0;--blue-800:#1A2D63;--blue-900:#111C3D;
--violet-300:#C2AEFB;--violet-400:#9B7BF5;--violet-500:#7C5CE6;--violet-800:#33266B;--violet-900:#1E1740;
/* Ink — neutrals, cool teal-black. #080F12 = "Deep Black", #CED1D2 = "Forest White" */
--ink-1000:#000000;--ink-950:#040809;--ink-900:#080F12;--ink-850:#0B1417;--ink-800:#0F1A1E;--ink-750:#132126;--ink-700:#18282D;--ink-600:#22363C;--ink-500:#364B51;--ink-400:#5B6D72;--ink-300:#899699;--ink-200:#AEB7B9;--ink-100:#CED1D2;--ink-50:#EEF1F1;--ink-0:#FFFFFF;
/* Semantic hues */
--green-300:#7EE8B0;--green-400:#3DD68C;--green-500:#1FB872;--green-900:#0C2F21;
--red-300:#FF9B9E;--red-400:#F2555A;--red-500:#D93A40;--red-900:#3A1416;
--amber-300:#FFD48A;--amber-400:#F5B544;--amber-500:#DB9A22;--amber-900:#3A2A0D;

/* ---- Semantic aliases ---- */
--bg-app:var(--ink-1000);
--bg-canvas:var(--ink-900);
--surface-1:var(--ink-850);
--surface-2:var(--ink-800);
--surface-3:var(--ink-750);
--surface-hover:rgba(206,209,210,0.04);
--surface-active:rgba(52,184,162,0.10);
--surface-glass:rgba(16,28,32,0.62);
--surface-glass-strong:rgba(20,36,40,0.82);
--surface-input:rgba(206,209,210,0.04);
--surface-overlay:rgba(2,5,6,0.72);

--text-1:var(--ink-50);
--text-2:var(--ink-100);
--text-3:var(--ink-300);
--text-4:var(--ink-400);
--text-inverse:var(--ink-900);
--text-accent:var(--teal-300);
--text-link:var(--teal-300);

--border-subtle:rgba(206,209,210,0.06);
--border-default:rgba(206,209,210,0.10);
--border-strong:rgba(206,209,210,0.18);
--border-accent:rgba(52,184,162,0.45);

--accent:var(--teal-600);
--accent-hover:var(--teal-500);
--accent-press:var(--teal-700);
--accent-fg:#FFFFFF;
--accent-soft:rgba(28,135,121,0.16);
--accent-glow:var(--cyan-400);

--positive:var(--green-400);--positive-soft:rgba(61,214,140,0.12);
--negative:var(--red-400);--negative-soft:rgba(242,85,90,0.12);
--warning:var(--amber-400);--warning-soft:rgba(245,181,68,0.12);
--info:var(--blue-400);--info-soft:rgba(91,141,239,0.14);
--ai:var(--violet-400);--ai-soft:rgba(155,123,245,0.14);

/* Data-viz series order */
--series-1:var(--teal-400);--series-2:var(--blue-400);--series-3:var(--violet-400);--series-4:var(--cyan-300);--series-5:var(--amber-400);--series-6:var(--ink-400);
}
/* tokens/typography.css */
:root{
--font-display:"Plus Jakarta Sans","Inter",system-ui,sans-serif;
--font-sans:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
--font-mono:"JetBrains Mono",ui-monospace,"SFMono-Regular",Menlo,monospace;

--fs-micro:10px;/* @kind font */--fs-xs:11px;/* @kind font */--fs-sm:12px;/* @kind font */--fs-base:13px;/* @kind font */--fs-md:14px;/* @kind font */--fs-lg:16px;/* @kind font */--fs-xl:18px;/* @kind font */--fs-2xl:24px;/* @kind font */--fs-3xl:32px;/* @kind font */--fs-4xl:44px;/* @kind font */--fs-5xl:64px;/* @kind font */
--fw-light:300;/* @kind font */--fw-regular:400;/* @kind font */--fw-medium:500;/* @kind font */--fw-semibold:600;/* @kind font */--fw-bold:700;/* @kind font */
--lh-tight:1.1;/* @kind font */--lh-snug:1.25;/* @kind font */--lh-normal:1.45;/* @kind font */--lh-relaxed:1.6;/* @kind font */
--tracking-display:-0.02em;/* @kind font */--tracking-tight:-0.01em;/* @kind font */--tracking-normal:0;/* @kind font */--tracking-caps:0.08em;/* @kind font */--tracking-mono:0.02em;/* @kind font */

/* Semantic type roles */
--type-hero:var(--fw-light) var(--fs-5xl)/var(--lh-tight) var(--font-display);/* @kind font */
--type-display:var(--fw-light) var(--fs-4xl)/var(--lh-tight) var(--font-display);/* @kind font */
--type-h1:var(--fw-regular) var(--fs-3xl)/var(--lh-snug) var(--font-display);/* @kind font */
--type-h2:var(--fw-semibold) var(--fs-2xl)/var(--lh-snug) var(--font-sans);/* @kind font */
--type-h3:var(--fw-semibold) var(--fs-xl)/var(--lh-snug) var(--font-sans);/* @kind font */
--type-title:var(--fw-semibold) var(--fs-lg)/var(--lh-snug) var(--font-sans);/* @kind font */
--type-body:var(--fw-regular) var(--fs-base)/var(--lh-normal) var(--font-sans);/* @kind font */
--type-body-lg:var(--fw-regular) var(--fs-md)/var(--lh-relaxed) var(--font-sans);/* @kind font */
--type-label:var(--fw-medium) var(--fs-sm)/var(--lh-snug) var(--font-sans);/* @kind font */
--type-caption:var(--fw-regular) var(--fs-xs)/var(--lh-normal) var(--font-sans);/* @kind font */
--type-overline:var(--fw-medium) var(--fs-micro)/1 var(--font-mono);/* @kind font */
--type-metric:var(--fw-semibold) var(--fs-2xl)/1 var(--font-sans);/* @kind font */
--type-metric-lg:var(--fw-light) var(--fs-4xl)/1 var(--font-display);/* @kind font */
--type-data:var(--fw-regular) var(--fs-sm)/var(--lh-snug) var(--font-mono);/* @kind font */
}
/* tokens/spacing.css */
:root{
--space-0:0;--space-px:1px;--space-0-5:2px;--space-1:4px;--space-1-5:6px;--space-2:8px;--space-2-5:10px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:28px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;

/* Radii */
--radius-xs:4px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-2xl:20px;--radius-3xl:28px;--radius-pill:999px;
--radius-control:var(--radius-md);--radius-card:var(--radius-lg);--radius-panel:var(--radius-xl);--radius-shell:var(--radius-2xl);

/* Control heights */
--h-xs:24px;/* @kind spacing */--h-sm:28px;/* @kind spacing */--h-md:34px;/* @kind spacing */--h-lg:40px;/* @kind spacing */--h-xl:48px;/* @kind spacing */

/* Layout grid (reference: 32 safe area · 16 gutter · 64 column · 316 sidebar @1920) */
--layout-safe:32px;/* @kind spacing */--layout-gutter:16px;/* @kind spacing */--layout-column:64px;/* @kind spacing */--layout-sidebar:256px;/* @kind spacing */--layout-sidebar-wide:316px;/* @kind spacing */--layout-sidebar-rail:72px;/* @kind spacing */--layout-topbar:60px;/* @kind spacing */--layout-max:1680px;/* @kind spacing */
}
/* tokens/effects.css */
:root{
/* Elevation — dark UI: depth from borders, inner highlights and black drop, never grey shadows */
--highlight-top:inset 0 1px 0 rgba(255,255,255,0.05);/* @kind shadow */
--shadow-1:0 1px 2px rgba(0,0,0,0.5);/* @kind shadow */
--shadow-2:0 8px 24px -12px rgba(0,0,0,0.7);/* @kind shadow */
--shadow-3:0 24px 64px -24px rgba(0,0,0,0.85);/* @kind shadow */
--shadow-panel:var(--highlight-top),0 0 0 1px var(--border-subtle),var(--shadow-2);/* @kind shadow */
--shadow-pop:var(--highlight-top),0 0 0 1px var(--border-default),var(--shadow-3);/* @kind shadow */
--glow-accent:0 0 0 1px rgba(52,184,162,0.35),0 0 24px -4px rgba(47,217,201,0.45);/* @kind shadow */
--glow-soft:0 0 32px -8px rgba(47,217,201,0.30);/* @kind shadow */
--focus-ring:0 0 0 2px var(--ink-900),0 0 0 4px rgba(52,184,162,0.65);/* @kind shadow */

/* Glass */
--blur-sm:8px;/* @kind other */--blur-md:16px;/* @kind other */--blur-lg:28px;/* @kind other */

/* Signature gradients */
--grad-teal-card:linear-gradient(160deg,rgba(35,160,140,0.42) 0%,rgba(15,79,71,0.28) 38%,rgba(8,15,18,0) 78%);/* @kind other */
--grad-teal-fill:linear-gradient(180deg,#1F9585 0%,#156B60 100%);/* @kind other */
--grad-blue-card:linear-gradient(160deg,rgba(59,111,224,0.30) 0%,rgba(17,28,61,0.20) 45%,rgba(8,15,18,0) 85%);/* @kind other */
--grad-violet-card:linear-gradient(160deg,rgba(124,92,230,0.32) 0%,rgba(30,23,64,0.22) 45%,rgba(8,15,18,0) 85%);/* @kind other */
--grad-panel:linear-gradient(180deg,rgba(206,209,210,0.035) 0%,rgba(206,209,210,0) 40%);/* @kind other */
--grad-glow-top:radial-gradient(120% 70% at 50% -10%,rgba(28,135,121,0.38) 0%,rgba(8,15,18,0) 60%);/* @kind other */
--grad-glow-corner:radial-gradient(80% 60% at 100% 0%,rgba(28,135,121,0.28) 0%,rgba(8,15,18,0) 70%);/* @kind other */
--grad-hatch:repeating-linear-gradient(135deg,rgba(206,209,210,0.07) 0 1px,transparent 1px 7px);/* @kind other */

/* Motion */
--ease-out:cubic-bezier(0.22,1,0.36,1);/* @kind other */--ease-in-out:cubic-bezier(0.65,0,0.35,1);/* @kind other */--ease-spring:cubic-bezier(0.34,1.4,0.64,1);/* @kind other */
--dur-instant:80ms;/* @kind other */--dur-fast:140ms;/* @kind other */--dur-base:220ms;/* @kind other */--dur-slow:380ms;/* @kind other */--dur-ambient:2400ms;/* @kind other */

--z-base:0;/* @kind other */--z-sticky:10;/* @kind other */--z-dropdown:40;/* @kind other */--z-overlay:80;/* @kind other */--z-modal:90;/* @kind other */--z-toast:100;/* @kind other */
}
/* tokens/base.css */
*,*::before,*::after{box-sizing:border-box}
html{color-scheme:dark}
body{margin:0;background:var(--bg-app);color:var(--text-2);font:var(--type-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
a{color:var(--text-link);text-decoration:none}
a:hover{color:var(--teal-200);text-decoration:underline;text-underline-offset:2px}
::selection{background:rgba(52,184,162,0.35);color:var(--ink-0)}
:focus-visible{outline:none;box-shadow:var(--focus-ring)}
@keyframes imob-pulse{0%{box-shadow:0 0 0 0 rgba(47,217,201,0.55)}70%{box-shadow:0 0 0 6px rgba(47,217,201,0)}100%{box-shadow:0 0 0 0 rgba(47,217,201,0)}}
@keyframes imob-shimmer{0%{background-position:-200% 0}100%{background-position:200% 0}}
@keyframes imob-rise{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes imob-spin{to{transform:rotate(360deg)}}
/* components/core/core.css */
.imob-icon{display:inline-block;vertical-align:middle}
.imob-spinner{width:14px;height:14px;border-radius:50%;border:1.5px solid currentColor;border-right-color:transparent;animation:imob-spin .7s linear infinite;flex-shrink:0}
/* Button */
.imob-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-sans);font-weight:var(--fw-medium);line-height:1;border:1px solid transparent;border-radius:var(--radius-control);cursor:pointer;white-space:nowrap;user-select:none;text-decoration:none;transition:background-color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),box-shadow var(--dur-base) var(--ease-out),transform var(--dur-instant) var(--ease-out)}
.imob-btn:active:not(:disabled){transform:scale(.98)}
.imob-btn:disabled{opacity:.42;cursor:not-allowed}
.imob-btn.is-loading{opacity:.8;cursor:progress}
.imob-btn--sm{height:var(--h-sm);padding:0 10px;font-size:var(--fs-sm);gap:6px}
.imob-btn--md{height:var(--h-md);padding:0 14px;font-size:var(--fs-base)}
.imob-btn--lg{height:var(--h-lg);padding:0 18px;font-size:var(--fs-md)}
.imob-btn--pill{border-radius:var(--radius-pill)}
.imob-btn--pill.imob-btn--md{padding:0 16px 0 12px}
.imob-btn--block{width:100%}
.imob-btn--primary{background:var(--accent);color:var(--accent-fg);box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 0 0 1px rgba(52,184,162,.25)}
.imob-btn--primary:hover:not(:disabled){background:var(--accent-hover);box-shadow:inset 0 1px 0 rgba(255,255,255,.2),var(--glow-accent)}
.imob-btn--primary:active:not(:disabled){background:var(--accent-press)}
.imob-btn--secondary{background:var(--surface-3);color:var(--text-1);border-color:var(--border-default);box-shadow:var(--highlight-top)}
.imob-btn--secondary:hover:not(:disabled){background:var(--ink-700);border-color:var(--border-strong)}
.imob-btn--outline{background:transparent;color:var(--text-1);border-color:var(--border-strong)}
.imob-btn--outline:hover:not(:disabled){background:var(--surface-hover);border-color:var(--border-accent)}
.imob-btn--ghost{background:transparent;color:var(--text-3)}
.imob-btn--ghost:hover:not(:disabled){background:var(--surface-hover);color:var(--text-1)}
.imob-btn--danger{background:var(--negative-soft);color:var(--red-300);border-color:rgba(242,85,90,.28)}
.imob-btn--danger:hover:not(:disabled){background:rgba(242,85,90,.2);border-color:rgba(242,85,90,.5)}
.imob-btn--ai{background:var(--ai-soft);color:var(--violet-300);border-color:rgba(155,123,245,.32)}
.imob-btn--ai:hover:not(:disabled){background:rgba(155,123,245,.22);border-color:rgba(155,123,245,.55);box-shadow:0 0 24px -6px rgba(155,123,245,.5)}
/* IconButton */
.imob-iconbtn{position:relative;display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:50%;cursor:pointer;color:var(--text-3);background:transparent;flex-shrink:0;transition:background-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),transform var(--dur-instant)}
.imob-iconbtn:active{transform:scale(.94)}
.imob-iconbtn--sm{width:var(--h-sm);height:var(--h-sm)}
.imob-iconbtn--md{width:var(--h-md);height:var(--h-md)}
.imob-iconbtn--lg{width:var(--h-lg);height:var(--h-lg)}
.imob-iconbtn--square{border-radius:var(--radius-md)}
.imob-iconbtn--ghost:hover{background:var(--surface-hover);color:var(--text-1)}
.imob-iconbtn--secondary{background:var(--surface-3);border-color:var(--border-default);color:var(--text-2);box-shadow:var(--highlight-top)}
.imob-iconbtn--secondary:hover{background:var(--ink-700);color:var(--text-1);border-color:var(--border-strong)}
.imob-iconbtn--outline{border-color:var(--border-strong);color:var(--text-2)}
.imob-iconbtn--outline:hover{border-color:var(--border-accent);color:var(--text-1)}
.imob-iconbtn--primary{background:var(--accent);color:#fff}
.imob-iconbtn--primary:hover{background:var(--accent-hover);box-shadow:var(--glow-accent)}
.imob-iconbtn.is-active{background:var(--surface-active);color:var(--teal-300);border-color:var(--border-accent)}
.imob-iconbtn__dot{position:absolute;top:6px;right:6px;width:7px;height:7px;border-radius:50%;background:var(--accent-glow);box-shadow:0 0 0 2px var(--surface-1);animation:imob-pulse var(--dur-ambient) var(--ease-out) infinite}
.imob-iconbtn__count{position:absolute;top:-3px;right:-3px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--accent);color:#fff;font:600 9px/16px var(--font-mono);text-align:center;box-shadow:0 0 0 2px var(--surface-1)}
/* Badge */
.imob-badge{display:inline-flex;align-items:center;gap:5px;border-radius:var(--radius-pill);font-family:var(--font-sans);font-weight:var(--fw-medium);white-space:nowrap;border:1px solid transparent;line-height:1}
.imob-badge--md{height:22px;padding:0 9px;font-size:var(--fs-xs)}
.imob-badge--sm{height:18px;padding:0 7px;font-size:var(--fs-micro);letter-spacing:.02em}
.imob-badge__dot{width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}
.imob-badge__dot.is-live{animation:imob-pulse var(--dur-ambient) var(--ease-out) infinite}
.imob-badge--neutral.imob-badge--soft{background:rgba(206,209,210,.07);color:var(--ink-200)}
.imob-badge--accent.imob-badge--soft{background:var(--accent-soft);color:var(--teal-300)}
.imob-badge--positive.imob-badge--soft{background:var(--positive-soft);color:var(--green-300)}
.imob-badge--negative.imob-badge--soft{background:var(--negative-soft);color:var(--red-300)}
.imob-badge--warning.imob-badge--soft{background:var(--warning-soft);color:var(--amber-300)}
.imob-badge--info.imob-badge--soft{background:var(--info-soft);color:var(--blue-300)}
.imob-badge--ai.imob-badge--soft{background:var(--ai-soft);color:var(--violet-300)}
.imob-badge--outline{background:transparent}
.imob-badge--neutral.imob-badge--outline{border-color:var(--border-strong);color:var(--ink-200)}
.imob-badge--accent.imob-badge--outline{border-color:rgba(52,184,162,.4);color:var(--teal-300)}
.imob-badge--positive.imob-badge--outline{border-color:rgba(61,214,140,.35);color:var(--green-300)}
.imob-badge--negative.imob-badge--outline{border-color:rgba(242,85,90,.35);color:var(--red-300)}
.imob-badge--warning.imob-badge--outline{border-color:rgba(245,181,68,.35);color:var(--amber-300)}
.imob-badge--info.imob-badge--outline{border-color:rgba(91,141,239,.4);color:var(--blue-300)}
.imob-badge--ai.imob-badge--outline{border-color:rgba(155,123,245,.4);color:var(--violet-300)}
.imob-badge--solid{color:#fff}
.imob-badge--neutral.imob-badge--solid{background:var(--ink-500)}
.imob-badge--accent.imob-badge--solid{background:var(--accent)}
.imob-badge--positive.imob-badge--solid{background:var(--green-500)}
.imob-badge--negative.imob-badge--solid{background:var(--red-500)}
.imob-badge--warning.imob-badge--solid{background:var(--amber-500);color:var(--ink-900)}
.imob-badge--info.imob-badge--solid{background:var(--blue-500)}
.imob-badge--ai.imob-badge--solid{background:var(--violet-500)}
/* Tag */
.imob-tag{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 12px;border-radius:var(--radius-pill);border:1px solid var(--border-default);background:var(--surface-input);color:var(--text-2);font:var(--fw-medium) var(--fs-sm)/1 var(--font-sans);white-space:nowrap;transition:all var(--dur-fast) var(--ease-out)}
.imob-tag.is-clickable{cursor:pointer}
.imob-tag.is-clickable:hover{border-color:var(--border-strong);color:var(--text-1);background:var(--surface-hover)}
.imob-tag.is-selected{border-color:var(--border-accent);background:var(--accent-soft);color:var(--teal-200)}
.imob-tag__count{font:var(--fw-medium) var(--fs-micro)/1 var(--font-mono);color:var(--text-4);padding:3px 5px;border-radius:var(--radius-pill);background:rgba(206,209,210,.06)}
.imob-tag.is-selected .imob-tag__count{color:var(--teal-200);background:rgba(52,184,162,.18)}
.imob-tag__remove{display:inline-flex;margin-right:-4px;padding:2px;border-radius:50%;color:var(--text-4);cursor:pointer}
.imob-tag__remove:hover{color:var(--text-1);background:var(--surface-hover)}
/* Avatar */
.imob-avatar{position:relative;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;font-family:var(--font-sans);font-weight:var(--fw-semibold);letter-spacing:.02em;flex-shrink:0;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.imob-avatar img{width:100%;height:100%;object-fit:cover;border-radius:inherit}
.imob-avatar--square{border-radius:var(--radius-md)}
.imob-avatar--ring{box-shadow:0 0 0 2px var(--ink-900),0 0 0 3.5px var(--teal-400)}
.imob-avatar--teal{background:linear-gradient(160deg,#1F7D70,#0F4F47);color:var(--teal-100)}
.imob-avatar--blue{background:linear-gradient(160deg,#2C4F9E,#1A2D63);color:var(--blue-300)}
.imob-avatar--violet{background:linear-gradient(160deg,#5A44AE,#33266B);color:var(--violet-300)}
.imob-avatar--cyan{background:linear-gradient(160deg,#137F79,#0A3E3B);color:var(--cyan-200)}
.imob-avatar--amber{background:linear-gradient(160deg,#7A5A1C,#3A2A0D);color:var(--amber-300)}
.imob-avatar__status{position:absolute;right:-1px;bottom:-1px;border-radius:50%;box-shadow:0 0 0 2px var(--ink-900)}
.imob-avatar__status.is-online{background:var(--green-400)}
.imob-avatar__status.is-away{background:var(--amber-400)}
.imob-avatar__status.is-busy{background:var(--red-400)}
.imob-avatar__status.is-offline{background:var(--ink-400)}
/* StatusDot */
.imob-dot{display:inline-block;border-radius:50%;flex-shrink:0}
.imob-dot--accent{background:var(--accent-glow)}
.imob-dot--positive{background:var(--positive)}
.imob-dot--negative{background:var(--negative)}
.imob-dot--warning{background:var(--warning)}
.imob-dot--info{background:var(--info)}
.imob-dot--ai{background:var(--ai)}
.imob-dot--neutral{background:var(--ink-400)}
.imob-dot.is-live{animation:imob-pulse var(--dur-ambient) var(--ease-out) infinite}
/* components/forms/forms.css */
.imob-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.imob-field__label{font:var(--type-label);color:var(--text-2)}
.imob-field__control{position:relative;display:flex;align-items:center;gap:8px;background:var(--surface-input);border:1px solid var(--border-default);border-radius:var(--radius-control);color:var(--text-1);transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out),background-color var(--dur-fast)}
.imob-field__control:hover{border-color:var(--border-strong)}
.imob-field__control:focus-within{border-color:var(--border-accent);box-shadow:0 0 0 3px rgba(28,135,121,.22);background:rgba(206,209,210,.05)}
.imob-field--sm .imob-field__control{height:var(--h-sm);padding:0 10px}
.imob-field--md .imob-field__control{height:var(--h-md);padding:0 12px}
.imob-field--lg .imob-field__control{height:var(--h-lg);padding:0 14px}
.imob-field.is-multiline .imob-field__control{height:auto;padding:10px 12px;align-items:flex-start}
.imob-field__control input,.imob-field__control textarea,.imob-field__control select{flex:1;min-width:0;height:100%;border:0;outline:0;background:transparent;color:inherit;font:var(--fw-regular) var(--fs-base)/1.4 var(--font-sans);padding:0}
.imob-field--sm .imob-field__control input,.imob-field--sm .imob-field__control select{font-size:var(--fs-sm)}
.imob-field__control textarea{resize:vertical;min-height:60px}
.imob-field__control input::placeholder,.imob-field__control textarea::placeholder{color:var(--text-4)}
.imob-field__control input:focus,.imob-field__control select:focus,.imob-field__control textarea:focus{box-shadow:none}
.imob-field__icon{color:var(--text-4)}
.imob-field__control:focus-within .imob-field__icon{color:var(--teal-300)}
.imob-field__suffix{font:var(--fw-medium) var(--fs-xs)/1 var(--font-mono);color:var(--text-4);padding:4px 6px;border-radius:var(--radius-xs);background:rgba(206,209,210,.06);white-space:nowrap}
.imob-field--select select{appearance:none;-webkit-appearance:none;cursor:pointer;padding-right:18px}
.imob-field--select select option{background:var(--ink-800);color:var(--text-1)}
.imob-field__chev{position:absolute;right:10px;color:var(--text-3);pointer-events:none}
.imob-field__hint{font:var(--type-caption);color:var(--text-3)}
.imob-field__hint.is-error{color:var(--red-300)}
.imob-field.has-error .imob-field__control{border-color:rgba(242,85,90,.55)}
.imob-field.has-error .imob-field__control:focus-within{box-shadow:0 0 0 3px rgba(242,85,90,.18)}
.imob-field.is-disabled{opacity:.45}
/* Checkbox / Radio */
.imob-check{position:relative;display:inline-flex;align-items:flex-start;gap:10px;cursor:pointer;color:var(--text-2);font:var(--type-body)}
.imob-check input{position:absolute;opacity:0;width:16px;height:16px;margin:0;cursor:inherit}
.imob-check__box{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;margin-top:1px;border-radius:5px;border:1px solid var(--border-strong);background:var(--surface-input);color:transparent;flex-shrink:0;transition:all var(--dur-fast) var(--ease-out)}
.imob-check:hover .imob-check__box{border-color:rgba(206,209,210,.32)}
.imob-check input:checked+.imob-check__box,.imob-check input:indeterminate+.imob-check__box{background:var(--accent);border-color:var(--teal-500);color:#fff;box-shadow:0 0 12px -2px rgba(47,217,201,.45)}
.imob-check input:focus-visible+.imob-check__box{box-shadow:var(--focus-ring)}
.imob-check--radio .imob-check__box{border-radius:50%}
.imob-check__pip{width:6px;height:6px;border-radius:50%;background:#fff;transform:scale(0);transition:transform var(--dur-fast) var(--ease-spring)}
.imob-check--radio input:checked+.imob-check__box .imob-check__pip{transform:scale(1)}
.imob-check__text{display:flex;flex-direction:column;gap:2px}
.imob-check__label{color:var(--text-1);font-weight:var(--fw-medium)}
.imob-check__desc{color:var(--text-3);font-size:var(--fs-sm)}
.imob-check.is-disabled,.imob-switch.is-disabled{opacity:.42;cursor:not-allowed}
/* Switch */
.imob-switch{position:relative;display:inline-flex;align-items:flex-start;gap:12px;cursor:pointer;font:var(--type-body)}
.imob-switch input{position:absolute;opacity:0;width:36px;height:20px;margin:0;cursor:inherit}
.imob-switch__track{position:relative;flex-shrink:0;border-radius:var(--radius-pill);background:var(--ink-600);border:1px solid var(--border-default);transition:background-color var(--dur-base) var(--ease-out),box-shadow var(--dur-base)}
.imob-switch--md .imob-switch__track{width:36px;height:20px}
.imob-switch--sm .imob-switch__track{width:28px;height:16px}
.imob-switch__thumb{position:absolute;top:2px;left:2px;border-radius:50%;background:var(--ink-200);box-shadow:0 1px 3px rgba(0,0,0,.5);transition:transform var(--dur-base) var(--ease-spring),background-color var(--dur-base)}
.imob-switch--md .imob-switch__thumb{width:14px;height:14px}
.imob-switch--sm .imob-switch__thumb{width:10px;height:10px}
.imob-switch input:checked+.imob-switch__track{background:var(--accent);border-color:var(--teal-500);box-shadow:0 0 14px -3px rgba(47,217,201,.55)}
.imob-switch input:checked+.imob-switch__track .imob-switch__thumb{background:#fff}
.imob-switch--md input:checked+.imob-switch__track .imob-switch__thumb{transform:translateX(16px)}
.imob-switch--sm input:checked+.imob-switch__track .imob-switch__thumb{transform:translateX(12px)}
.imob-switch input:focus-visible+.imob-switch__track{box-shadow:var(--focus-ring)}
/* Segmented */
.imob-seg{display:inline-flex;align-items:center;gap:2px;padding:3px;border-radius:var(--radius-pill);background:rgba(206,209,210,.04);border:1px solid var(--border-subtle)}
.imob-seg__item{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:0;background:transparent;color:var(--text-3);border-radius:var(--radius-pill);cursor:pointer;font:var(--fw-medium) var(--fs-xs)/1 var(--font-mono);letter-spacing:.02em;transition:all var(--dur-fast) var(--ease-out)}
.imob-seg--sm .imob-seg__item{height:22px;min-width:30px;padding:0 9px}
.imob-seg--md .imob-seg__item{height:28px;min-width:36px;padding:0 12px;font-size:var(--fs-sm)}
.imob-seg__item:hover{color:var(--text-1)}
.imob-seg__item.is-active{background:var(--accent);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 0 12px -3px rgba(47,217,201,.5)}
/* components/data/data.css */
.imob-delta{display:inline-flex;align-items:center;gap:3px;font:var(--fw-medium) var(--fs-xs)/1 var(--font-mono);letter-spacing:0;white-space:nowrap}
.imob-delta--positive{color:var(--green-400)}
.imob-delta--negative{color:var(--red-400)}
.imob-delta--neutral{color:var(--text-3)}
.imob-delta--chip{padding:4px 7px;border-radius:var(--radius-pill)}
.imob-delta--chip.imob-delta--positive{background:var(--positive-soft)}
.imob-delta--chip.imob-delta--negative{background:var(--negative-soft)}
.imob-delta--chip.imob-delta--neutral{background:rgba(206,209,210,.06)}
/* Progress */
.imob-progress{display:flex;flex-direction:column;gap:8px;min-width:0}
.imob-progress__head{display:flex;justify-content:space-between;align-items:baseline;font:var(--type-label);color:var(--text-2)}
.imob-progress__val{font:var(--fw-medium) var(--fs-xs)/1 var(--font-mono);color:var(--text-1)}
.imob-progress__track{position:relative;width:100%;border-radius:var(--radius-pill);background:rgba(206,209,210,.07);overflow:hidden}
.imob-progress--sm .imob-progress__track{height:3px}
.imob-progress--md .imob-progress__track{height:5px}
.imob-progress--lg .imob-progress__track{height:8px}
.imob-progress__fill{height:100%;border-radius:inherit;transition:width var(--dur-slow) var(--ease-out)}
.imob-progress--accent .imob-progress__fill{background:linear-gradient(90deg,var(--teal-600),var(--teal-400));box-shadow:0 0 10px rgba(47,217,201,.45)}
.imob-progress--positive .imob-progress__fill{background:var(--green-400)}
.imob-progress--negative .imob-progress__fill{background:var(--red-400)}
.imob-progress--warning .imob-progress__fill{background:var(--amber-400)}
.imob-progress--info .imob-progress__fill{background:var(--blue-400)}
.imob-progress--ai .imob-progress__fill{background:linear-gradient(90deg,var(--violet-500),var(--violet-300))}
/* Donut */
.imob-donut{position:relative;display:inline-block;flex-shrink:0}
.imob-donut__center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-align:center}
.imob-donut__value{font:var(--fw-semibold) var(--fs-xl)/1 var(--font-sans);color:var(--text-1);letter-spacing:var(--tracking-tight)}
.imob-donut__label{font:var(--type-overline);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--text-3)}
/* Bar / Area charts */
.imob-bars{display:flex;flex-direction:column;gap:8px;min-width:0}
.imob-bars__plot{display:flex;gap:10px;min-width:0}
.imob-bars__y{display:flex;flex-direction:column;justify-content:space-between;font:var(--fw-regular) var(--fs-micro)/1 var(--font-mono);color:var(--text-4);text-align:right;min-width:28px;margin:-5px 0}
.imob-bars__area{position:relative;flex:1;min-width:0}
.imob-bars__grid{position:absolute;left:0;right:0;border-top:1px dashed rgba(206,209,210,.07)}
.imob-bars__groups{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:space-around;gap:6px}
.imob-bars__group{position:relative;flex:1;max-width:44px;height:100%;display:flex;align-items:flex-end;justify-content:center;gap:3px;transition:opacity var(--dur-fast)}
.imob-bars__group.is-dim{opacity:.4}
.imob-bars__bar{flex:1;max-width:14px;min-height:2px;transition:height var(--dur-slow) var(--ease-out),filter var(--dur-fast)}
.imob-bars__group.is-on .imob-bars__bar:first-child{filter:drop-shadow(0 0 8px rgba(47,217,201,.55))}
.imob-bars__tip{position:absolute;bottom:calc(100% + 6px);left:50%;transform:translateX(-50%);z-index:5;padding:7px 9px;border-radius:var(--radius-md);background:var(--surface-glass-strong);backdrop-filter:blur(var(--blur-md));-webkit-backdrop-filter:blur(var(--blur-md));box-shadow:var(--shadow-pop);font:var(--fw-medium) var(--fs-xs)/1.5 var(--font-mono);color:var(--text-1);white-space:nowrap;pointer-events:none}
.imob-bars__tip i{display:inline-block;width:6px;height:6px;border-radius:2px;margin-right:6px;vertical-align:middle}
.imob-bars__x{display:flex;justify-content:space-around;padding-left:38px;font:var(--fw-regular) var(--fs-micro)/1 var(--font-mono);color:var(--text-4)}
.imob-bars__x span{flex:1;max-width:44px;text-align:center}
.imob-bars__legend{display:flex;gap:16px;padding-left:38px;font:var(--type-caption);color:var(--text-3)}
.imob-bars__legend i{display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:6px}
.imob-area .imob-bars__tip{bottom:auto;transform:translate(-50%,-100%)}
.imob-area__tiplabel{color:var(--text-3);font-size:var(--fs-micro);text-transform:uppercase;letter-spacing:.06em}
.imob-area__cursor{position:absolute;top:0;bottom:0;width:1px;background:linear-gradient(180deg,rgba(47,217,201,0),rgba(47,217,201,.5),rgba(47,217,201,0));pointer-events:none}
.imob-area__dot{position:absolute;width:9px;height:9px;margin:-4.5px 0 0 -4.5px;border-radius:50%;box-shadow:0 0 0 3px var(--ink-850),0 0 14px rgba(47,217,201,.7);pointer-events:none}
.imob-area__x{justify-content:space-between}
.imob-area__x span{flex:0 0 auto;max-width:none}
/* DataTable */
.imob-table{width:100%;overflow-x:auto}
.imob-table table{width:100%;border-collapse:collapse;font:var(--type-body);color:var(--text-2)}
.imob-table th{height:36px;padding:0 14px;font:var(--fw-medium) var(--fs-micro)/1 var(--font-mono);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--text-4);border-bottom:1px solid var(--border-default);white-space:nowrap;background:rgba(206,209,210,.015)}
.imob-table td{height:44px;padding:0 14px;border-bottom:1px solid var(--border-subtle);white-space:nowrap}
.imob-table--dense td{height:36px}
.imob-table td.is-mono{font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--text-1)}
.imob-table tbody tr{transition:background-color var(--dur-fast)}
.imob-table tbody tr:hover{background:var(--surface-hover)}
.imob-table tbody tr.is-clickable{cursor:pointer}
.imob-table tbody tr.is-selected{background:rgba(28,135,121,.08)}
.imob-table tbody tr.is-active{background:rgba(28,135,121,.14)}
.imob-table tbody tr:last-child td{border-bottom:0}
.imob-table__empty{text-align:center;color:var(--text-3);height:96px!important}
/* components/surfaces/surfaces.css */
.imob-card{position:relative;display:flex;flex-direction:column;min-width:0;border-radius:var(--radius-panel);background:var(--surface-1);box-shadow:var(--shadow-panel);color:var(--text-2);transition:box-shadow var(--dur-base) var(--ease-out),background-color var(--dur-base) var(--ease-out),transform var(--dur-base) var(--ease-out)}
.imob-card::before{content:"";position:absolute;inset:0;border-radius:inherit;background:var(--grad-panel);pointer-events:none}
.imob-card--glass{background:var(--surface-glass);backdrop-filter:blur(var(--blur-lg)) saturate(1.2);-webkit-backdrop-filter:blur(var(--blur-lg)) saturate(1.2)}
.imob-card--outline{background:transparent;box-shadow:0 0 0 1px var(--border-default)}
.imob-card--outline::before{display:none}
.imob-card--teal{background:var(--grad-teal-card),var(--surface-1);box-shadow:var(--highlight-top),0 0 0 1px rgba(52,184,162,.18),var(--shadow-2)}
.imob-card--blue{background:var(--grad-blue-card),var(--surface-1);box-shadow:var(--highlight-top),0 0 0 1px rgba(91,141,239,.16),var(--shadow-2)}
.imob-card--violet{background:var(--grad-violet-card),var(--surface-1);box-shadow:var(--highlight-top),0 0 0 1px rgba(155,123,245,.16),var(--shadow-2)}
.imob-card--glow::after{content:"";position:absolute;inset:-1px;border-radius:inherit;background:var(--grad-glow-corner);pointer-events:none;opacity:.9}
.imob-card.is-interactive{cursor:pointer}
.imob-card.is-interactive:hover{background-color:var(--surface-2);box-shadow:var(--highlight-top),0 0 0 1px var(--border-strong),var(--shadow-2)}
.imob-card.is-selected{box-shadow:var(--highlight-top),0 0 0 1px var(--border-accent),var(--glow-soft),var(--shadow-2)}
.imob-card--pad-sm{padding:14px}
.imob-card--pad-md{padding:20px}
.imob-card--pad-lg{padding:28px}
.imob-card--pad-none>.imob-card__head{padding:18px 20px 14px}
.imob-card--pad-none>.imob-card__foot{padding:12px 20px}
.imob-card__head{position:relative;z-index:1;display:flex;align-items:center;gap:10px;margin-bottom:16px;min-height:28px}
.imob-card--pad-none>.imob-card__head{margin-bottom:0}
.imob-card__icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-md);background:var(--surface-3);box-shadow:inset 0 0 0 1px var(--border-default);color:var(--text-2);flex-shrink:0}
.imob-card__titles{flex:1;min-width:0}
.imob-card__title{margin:0;font:var(--type-title);color:var(--text-1);letter-spacing:var(--tracking-tight)}
.imob-card__subtitle{margin:2px 0 0;font:var(--type-caption);color:var(--text-3)}
.imob-card__action{display:flex;align-items:center;gap:8px;flex-shrink:0}
.imob-card__body{position:relative;z-index:1;flex:1;min-width:0}
.imob-card__foot{position:relative;z-index:1;margin-top:16px;padding-top:14px;border-top:1px solid var(--border-subtle);display:flex;align-items:center;gap:8px}
/* StatCard */
.imob-stat{position:relative;display:flex;flex-direction:column;gap:10px;padding:16px;border-radius:var(--radius-lg);background:var(--surface-2);box-shadow:var(--highlight-top),0 0 0 1px var(--border-subtle);min-width:0;overflow:hidden;transition:box-shadow var(--dur-base) var(--ease-out),background-color var(--dur-base)}
.imob-stat--teal{background:var(--grad-teal-card),var(--surface-2);box-shadow:var(--highlight-top),0 0 0 1px rgba(52,184,162,.2)}
.imob-stat--blue{background:var(--grad-blue-card),var(--surface-2);box-shadow:var(--highlight-top),0 0 0 1px rgba(91,141,239,.16)}
.imob-stat--violet{background:var(--grad-violet-card),var(--surface-2);box-shadow:var(--highlight-top),0 0 0 1px rgba(155,123,245,.16)}
.imob-stat.is-interactive{cursor:pointer}
.imob-stat.is-interactive:hover{box-shadow:var(--highlight-top),0 0 0 1px var(--border-strong)}
.imob-stat.is-selected{box-shadow:var(--highlight-top),0 0 0 1px var(--border-accent),var(--glow-soft)}
.imob-stat__head{display:flex;align-items:center;gap:10px;min-width:0}
.imob-stat__icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-md);background:rgba(206,209,210,.05);box-shadow:inset 0 0 0 1px var(--border-default);color:var(--text-2);flex-shrink:0}
.imob-stat--teal .imob-stat__icon{color:var(--teal-200);background:rgba(52,184,162,.12)}
.imob-stat--blue .imob-stat__icon{color:var(--blue-300);background:rgba(91,141,239,.12)}
.imob-stat--violet .imob-stat__icon{color:var(--violet-300);background:rgba(155,123,245,.12)}
.imob-stat__label{font:var(--type-label);color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.imob-stat__value{font:var(--type-metric);color:var(--text-1);letter-spacing:var(--tracking-tight);white-space:nowrap}
.imob-stat--lg .imob-stat__value{font:var(--type-metric-lg);letter-spacing:var(--tracking-display)}
.imob-stat__unit{font-size:.6em;color:var(--text-3);margin-left:3px;font-weight:var(--fw-medium)}
.imob-stat__meta{display:flex;align-items:center;gap:8px;font:var(--type-caption);color:var(--text-3);margin-top:-4px}
.imob-stat__spark{margin-top:2px}
/* SectionLabel */
.imob-seclabel{display:inline-flex;align-items:center;gap:10px;color:var(--text-1)}
.imob-seclabel--dot{font:var(--fw-medium) var(--fs-md)/1.2 var(--font-sans)}
.imob-seclabel--overline{font:var(--type-overline);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--text-3)}
.imob-seclabel__ring{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:rgba(28,135,121,.22);box-shadow:inset 0 0 0 1px rgba(52,184,162,.45)}
.imob-seclabel__ring span{width:8px;height:8px;border-radius:50%;background:var(--teal-500);box-shadow:0 0 8px rgba(47,217,201,.6)}
.imob-seclabel__ring.is-live span{background:var(--cyan-400);animation:imob-pulse var(--dur-ambient) var(--ease-out) infinite}
/* components/navigation/navigation.css */
.imob-tabs{display:flex;align-items:center;min-width:0;overflow-x:auto;scrollbar-width:none}
.imob-tabs--underline{gap:22px;border-bottom:1px solid var(--border-default)}
.imob-tabs__item{position:relative;display:inline-flex;align-items:center;gap:8px;border:0;background:transparent;cursor:pointer;color:var(--text-3);font:var(--fw-medium) var(--fs-base)/1 var(--font-sans);white-space:nowrap;transition:color var(--dur-fast) var(--ease-out),background-color var(--dur-fast)}
.imob-tabs__item:disabled{opacity:.4;cursor:not-allowed}
.imob-tabs__item:hover:not(:disabled){color:var(--text-1)}
.imob-tabs--underline .imob-tabs__item{height:40px;padding:0 2px}
.imob-tabs--underline .imob-tabs__item.is-active{color:var(--text-1)}
.imob-tabs--underline .imob-tabs__item.is-active::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;border-radius:2px;background:var(--teal-400);box-shadow:0 0 10px rgba(47,217,201,.7)}
.imob-tabs--pill{gap:4px}
.imob-tabs--pill .imob-tabs__item{height:30px;padding:0 12px;border-radius:var(--radius-pill);font-size:var(--fs-sm)}
.imob-tabs--pill .imob-tabs__item.is-active{background:var(--surface-3);color:var(--text-1);box-shadow:var(--highlight-top),0 0 0 1px var(--border-default)}
.imob-tabs__count{font:var(--fw-medium) var(--fs-micro)/1 var(--font-mono);padding:3px 6px;border-radius:var(--radius-pill);background:rgba(206,209,210,.06);color:var(--text-3)}
.imob-tabs__item.is-active .imob-tabs__count{background:var(--accent-soft);color:var(--teal-200)}
/* NavItem */
.imob-nav__wrap{display:flex;flex-direction:column}
.imob-nav{position:relative;display:flex;align-items:center;gap:12px;width:100%;height:40px;padding:0 12px;border:0;border-radius:var(--radius-lg);background:transparent;color:var(--text-3);font:var(--fw-medium) var(--fs-base)/1 var(--font-sans);text-align:left;cursor:pointer;text-decoration:none;transition:background-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}
.imob-nav:hover{background:var(--surface-hover);color:var(--text-1);text-decoration:none}
.imob-nav.is-active{color:var(--text-1);background:linear-gradient(180deg,rgba(28,135,121,.22),rgba(28,135,121,.10));box-shadow:inset 0 1px 0 rgba(255,255,255,.06),inset 0 0 0 1px rgba(52,184,162,.28),0 6px 18px -10px rgba(47,217,201,.5)}
.imob-nav.is-active .imob-icon{color:var(--teal-300)}
.imob-nav.is-collapsed{justify-content:center;padding:0;width:44px;height:44px;margin:0 auto}
.imob-nav--sub{height:32px;padding-left:42px;gap:10px;font-size:var(--fs-sm);font-weight:var(--fw-regular)}
.imob-nav--sub.is-active{background:transparent;box-shadow:none;color:var(--teal-300)}
.imob-nav__bullet{position:absolute;left:21px;width:5px;height:5px;border-radius:50%;background:var(--ink-500)}
.imob-nav--sub.is-active .imob-nav__bullet{background:var(--teal-400);box-shadow:0 0 6px var(--cyan-400)}
.imob-nav__label{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.imob-nav__count{font:var(--fw-medium) var(--fs-micro)/1 var(--font-mono);min-width:20px;padding:4px 6px;text-align:center;border-radius:var(--radius-pill);background:rgba(206,209,210,.06);color:var(--text-2)}
.imob-nav.is-active .imob-nav__count{background:var(--accent);color:#fff}
.imob-nav__badge{font:var(--fw-semibold) 9px/1 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;padding:4px 6px;border-radius:var(--radius-pill);background:var(--ai-soft);color:var(--violet-300)}
.imob-nav__chev{color:var(--text-4);transition:transform var(--dur-base) var(--ease-out)}
.imob-nav__chev.is-open{transform:rotate(180deg)}
.imob-nav__pip{position:absolute;top:9px;right:9px;width:6px;height:6px;border-radius:50%;background:var(--cyan-400)}
.imob-nav__kids{display:flex;flex-direction:column;gap:2px;padding:4px 0}
/* components/feedback/feedback.css */
.imob-dialog{position:fixed;inset:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;padding:24px;background:var(--surface-overlay);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:imob-rise var(--dur-base) var(--ease-out)}
.imob-dialog__panel{max-width:100%;max-height:calc(100vh - 48px);overflow:auto;border-radius:var(--radius-2xl);background:var(--grad-glow-top),var(--surface-glass-strong);backdrop-filter:blur(var(--blur-lg));-webkit-backdrop-filter:blur(var(--blur-lg));box-shadow:var(--shadow-pop);padding:24px}
.imob-dialog__head{display:flex;align-items:flex-start;gap:14px}
.imob-dialog__icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-lg);flex-shrink:0}
.imob-dialog__icon.is-accent{background:var(--accent-soft);color:var(--teal-300);box-shadow:inset 0 0 0 1px rgba(52,184,162,.3)}
.imob-dialog__icon.is-negative{background:var(--negative-soft);color:var(--red-300);box-shadow:inset 0 0 0 1px rgba(242,85,90,.3)}
.imob-dialog__icon.is-warning{background:var(--warning-soft);color:var(--amber-300);box-shadow:inset 0 0 0 1px rgba(245,181,68,.3)}
.imob-dialog__icon.is-ai{background:var(--ai-soft);color:var(--violet-300);box-shadow:inset 0 0 0 1px rgba(155,123,245,.3)}
.imob-dialog__title{margin:0;font:var(--type-h3);color:var(--text-1);letter-spacing:var(--tracking-tight)}
.imob-dialog__desc{margin:6px 0 0;font:var(--type-body);color:var(--text-3);text-wrap:pretty}
.imob-dialog__close{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;margin:-4px -6px 0 0;border:0;border-radius:50%;background:transparent;color:var(--text-3);cursor:pointer}
.imob-dialog__close:hover{background:var(--surface-hover);color:var(--text-1)}
.imob-dialog__body{margin-top:20px;display:flex;flex-direction:column;gap:14px}
.imob-dialog__foot{display:flex;justify-content:flex-end;gap:8px;margin-top:24px}
/* Toast */
.imob-toast{display:flex;align-items:flex-start;gap:12px;width:360px;max-width:100%;padding:14px 14px 14px 16px;border-radius:var(--radius-xl);background:var(--surface-glass-strong);backdrop-filter:blur(var(--blur-md));-webkit-backdrop-filter:blur(var(--blur-md));box-shadow:var(--shadow-pop);animation:imob-rise var(--dur-base) var(--ease-out)}
.imob-toast__icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;flex-shrink:0;background:rgba(206,209,210,.06);color:var(--text-2)}
.imob-toast--positive .imob-toast__icon{background:var(--positive-soft);color:var(--green-300)}
.imob-toast--negative .imob-toast__icon{background:var(--negative-soft);color:var(--red-300)}
.imob-toast--warning .imob-toast__icon{background:var(--warning-soft);color:var(--amber-300)}
.imob-toast--info .imob-toast__icon{background:var(--info-soft);color:var(--blue-300)}
.imob-toast--ai .imob-toast__icon{background:var(--ai-soft);color:var(--violet-300);box-shadow:0 0 16px -4px rgba(155,123,245,.6)}
.imob-toast__body{flex:1;min-width:0;padding-top:5px}
.imob-toast__title{font:var(--fw-semibold) var(--fs-base)/1.3 var(--font-sans);color:var(--text-1)}
.imob-toast__desc{margin-top:3px;font:var(--type-caption);color:var(--text-3)}
.imob-toast__action{align-self:center}
.imob-toast__close{display:inline-flex;padding:4px;border:0;border-radius:50%;background:transparent;color:var(--text-4);cursor:pointer}
.imob-toast__close:hover{color:var(--text-1);background:var(--surface-hover)}
/* Tooltip */
.imob-tip{position:relative;display:inline-flex}
.imob-tip__bubble{position:absolute;z-index:var(--z-dropdown);padding:6px 9px;border-radius:var(--radius-md);background:var(--surface-glass-strong);backdrop-filter:blur(var(--blur-md));-webkit-backdrop-filter:blur(var(--blur-md));box-shadow:var(--shadow-pop);font:var(--fw-medium) var(--fs-xs)/1.35 var(--font-sans);color:var(--text-1);white-space:nowrap;pointer-events:none;animation:imob-rise var(--dur-fast) var(--ease-out)}
.imob-tip__bubble.is-top{bottom:calc(100% + 8px);left:50%;transform:translateX(-50%)}
.imob-tip__bubble.is-bottom{top:calc(100% + 8px);left:50%;transform:translateX(-50%)}
.imob-tip__bubble.is-left{right:calc(100% + 8px);top:50%;transform:translateY(-50%)}
.imob-tip__bubble.is-right{left:calc(100% + 8px);top:50%;transform:translateY(-50%)}
/* Skeleton */
.imob-skel{display:block;background:linear-gradient(90deg,rgba(206,209,210,.04) 0%,rgba(206,209,210,.10) 50%,rgba(206,209,210,.04) 100%);background-size:200% 100%;animation:imob-shimmer 1.6s linear infinite}
.imob-skel--ai{background:linear-gradient(90deg,rgba(155,123,245,.08) 0%,rgba(47,217,201,.22) 50%,rgba(155,123,245,.08) 100%);background-size:200% 100%}
/* components/ai/ai.css */
.imob-chat{display:flex;align-items:flex-end;gap:10px;max-width:78%}
.imob-chat.is-out{margin-left:auto;flex-direction:row}
.imob-chat__col{display:flex;flex-direction:column;gap:5px;min-width:0}
.imob-chat.is-out .imob-chat__col{align-items:flex-end}
.imob-chat__meta{display:flex;align-items:center;gap:8px;font:var(--fw-medium) var(--fs-xs)/1 var(--font-sans);color:var(--text-3)}
.imob-chat__time{font-family:var(--font-mono);font-size:var(--fs-micro);color:var(--text-4)}
.imob-chat__ai{display:inline-flex;align-items:center;gap:4px;color:var(--violet-300)}
.imob-chat__bubble{position:relative;padding:10px 14px;border-radius:14px;font:var(--type-body);color:var(--text-1);text-wrap:pretty;box-shadow:var(--highlight-top)}
.imob-chat.is-in .imob-chat__bubble{background:var(--surface-3);border-bottom-left-radius:4px;box-shadow:var(--highlight-top),0 0 0 1px var(--border-subtle)}
.imob-chat--agent .imob-chat__bubble{background:linear-gradient(160deg,rgba(28,135,121,.38),rgba(15,79,71,.32));border-bottom-right-radius:4px;box-shadow:var(--highlight-top),0 0 0 1px rgba(52,184,162,.22)}
.imob-chat--ai.is-in .imob-chat__bubble{border-bottom-left-radius:4px;border-bottom-right-radius:14px;background:linear-gradient(160deg,rgba(124,92,230,.26),rgba(51,38,107,.26));box-shadow:var(--highlight-top),0 0 0 1px rgba(155,123,245,.24)}
.imob-chat--ai .imob-chat__bubble{background:linear-gradient(160deg,rgba(124,92,230,.26),rgba(51,38,107,.26));border-bottom-right-radius:4px;box-shadow:var(--highlight-top),0 0 0 1px rgba(155,123,245,.24)}
.imob-chat__status{display:inline-flex;vertical-align:-2px;margin-left:8px;color:var(--text-4)}
.imob-chat__status.is-read{color:var(--cyan-400)}
.imob-chat__bot{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--ai-soft);color:var(--violet-300);box-shadow:inset 0 0 0 1px rgba(155,123,245,.3);flex-shrink:0}
.imob-chat-sys{display:flex;align-items:center;gap:12px;font:var(--type-overline);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--text-4)}
.imob-chat-sys::before,.imob-chat-sys::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--border-default),transparent)}
/* Composer */
.imob-composer{display:flex;flex-direction:column;gap:10px}
.imob-composer__bar{display:flex;align-items:center;gap:6px;height:48px;padding:0 6px 0 14px;border-radius:var(--radius-pill);background:var(--surface-glass);backdrop-filter:blur(var(--blur-md));-webkit-backdrop-filter:blur(var(--blur-md));box-shadow:var(--highlight-top),0 0 0 1px var(--border-default);transition:box-shadow var(--dur-base) var(--ease-out)}
.imob-composer__bar:focus-within{box-shadow:var(--highlight-top),0 0 0 1px var(--border-accent),0 0 28px -8px rgba(47,217,201,.45)}
.imob-composer__bar input{flex:1;min-width:0;height:100%;border:0;outline:0;background:transparent;color:var(--text-1);font:var(--type-body-lg)}
.imob-composer__bar input::placeholder{color:var(--text-4)}
.imob-composer__bar input:focus{box-shadow:none}
.imob-composer__spark{display:inline-flex;color:var(--violet-300)}
.imob-composer__tool{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:0;border-radius:50%;background:transparent;color:var(--text-3);cursor:pointer;transition:all var(--dur-fast)}
.imob-composer__tool:hover{background:var(--surface-hover);color:var(--text-1)}
.imob-composer__send{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:0;border-radius:50%;background:var(--accent);color:#fff;cursor:pointer;box-shadow:inset 0 1px 0 rgba(255,255,255,.18);transition:all var(--dur-fast) var(--ease-out)}
.imob-composer__send:hover:not(:disabled){background:var(--accent-hover);box-shadow:var(--glow-accent)}
.imob-composer__send:disabled{background:var(--ink-600);color:var(--text-4);cursor:default}
.imob-composer__sugs{display:flex;flex-wrap:wrap;gap:6px}
.imob-composer__sug{white-space:nowrap;display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 12px;border-radius:var(--radius-pill);border:1px solid rgba(155,123,245,.22);background:rgba(155,123,245,.07);color:var(--violet-300);font:var(--fw-medium) var(--fs-sm)/1 var(--font-sans);cursor:pointer;transition:all var(--dur-fast)}
.imob-composer__sug{max-width:100%;flex-shrink:0}.imob-composer__sugt{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.imob-composer__sug:hover{background:rgba(155,123,245,.16);border-color:rgba(155,123,245,.45);color:var(--ink-50)}
.imob-composer__thinking{display:flex;align-items:center;gap:10px;font:var(--fw-medium) var(--fs-sm)/1 var(--font-sans);color:var(--text-3)}
.imob-composer__orb{width:14px;height:14px;border-radius:50%;background:radial-gradient(circle at 35% 35%,var(--cyan-300),var(--violet-500) 70%);box-shadow:0 0 14px rgba(47,217,201,.6);animation:imob-pulse 1.6s var(--ease-out) infinite}
.imob-composer__dots{display:inline-flex;gap:3px}
.imob-composer__dots i{width:4px;height:4px;border-radius:50%;background:var(--text-3);animation:imob-blink 1.2s infinite}
.imob-composer__dots i:nth-child(2){animation-delay:.15s}
.imob-composer__dots i:nth-child(3){animation-delay:.3s}
@keyframes imob-blink{0%,80%,100%{opacity:.25}40%{opacity:1}}
/* AgentCard */
.imob-agent{position:relative;display:flex;flex-direction:column;gap:14px;padding:18px;border-radius:var(--radius-xl);background:var(--surface-1);box-shadow:var(--shadow-panel);min-width:0;transition:box-shadow var(--dur-base),opacity var(--dur-base)}
.imob-agent--violet.is-on{background:var(--grad-violet-card),var(--surface-1)}
.imob-agent--teal.is-on{background:var(--grad-teal-card),var(--surface-1)}
.imob-agent--blue.is-on{background:var(--grad-blue-card),var(--surface-1)}
.imob-agent.is-interactive{cursor:pointer}
.imob-agent.is-interactive:hover{box-shadow:var(--highlight-top),0 0 0 1px var(--border-strong),var(--shadow-2)}
.imob-agent__head{display:flex;align-items:center;gap:12px}
.imob-agent__icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:var(--radius-lg);flex-shrink:0;background:rgba(206,209,210,.05);color:var(--text-3);box-shadow:inset 0 0 0 1px var(--border-default)}
.imob-agent--violet.is-on .imob-agent__icon{background:var(--ai-soft);color:var(--violet-300);box-shadow:inset 0 0 0 1px rgba(155,123,245,.35),0 0 20px -6px rgba(155,123,245,.6)}
.imob-agent--teal.is-on .imob-agent__icon{background:var(--accent-soft);color:var(--teal-200);box-shadow:inset 0 0 0 1px rgba(52,184,162,.35),0 0 20px -6px rgba(47,217,201,.6)}
.imob-agent--blue.is-on .imob-agent__icon{background:var(--info-soft);color:var(--blue-300);box-shadow:inset 0 0 0 1px rgba(91,141,239,.35),0 0 20px -6px rgba(91,141,239,.6)}
.imob-agent__name{font:var(--type-title);color:var(--text-1)}
.imob-agent__role{margin-top:2px;font:var(--type-caption);color:var(--text-3)}
.imob-agent__desc{margin:0;font:var(--type-body);color:var(--text-3);text-wrap:pretty}
.imob-agent__metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(70px,1fr));gap:1px;border-radius:var(--radius-lg);overflow:hidden;background:var(--border-subtle);box-shadow:0 0 0 1px var(--border-subtle)}
.imob-agent__metrics>div{padding:10px 12px;background:rgba(8,15,18,.55)}
.imob-agent__mv{font:var(--fw-semibold) var(--fs-lg)/1.1 var(--font-sans);color:var(--text-1)}
.imob-agent__ml{margin-top:4px;font:var(--type-overline);letter-spacing:.06em;text-transform:uppercase;color:var(--text-4)}
.imob-agent__status{display:flex;align-items:center;gap:8px;font:var(--fw-medium) var(--fs-xs)/1 var(--font-mono);color:var(--text-3)}
.imob-agent.is-off{opacity:.78}
/* components/realestate/realestate.css */
.imob-prop{position:relative;display:flex;flex-direction:column;border-radius:var(--radius-xl);background:var(--surface-1);box-shadow:var(--shadow-panel);overflow:hidden;min-width:0;transition:box-shadow var(--dur-base) var(--ease-out),transform var(--dur-base) var(--ease-out)}
.imob-prop.is-interactive{cursor:pointer}
.imob-prop.is-interactive:hover{box-shadow:var(--highlight-top),0 0 0 1px var(--border-strong),var(--shadow-3);transform:translateY(-2px)}
.imob-prop.is-selected{box-shadow:var(--highlight-top),0 0 0 1px var(--border-accent),var(--glow-soft)}
.imob-prop__media{position:relative;aspect-ratio:16/10;background:var(--ink-800);overflow:hidden;margin:6px 6px 0;border-radius:var(--radius-lg)}
.imob-prop--horizontal{flex-direction:row}
.imob-prop--horizontal .imob-prop__media{aspect-ratio:auto;width:42%;min-height:150px;margin:6px 0 6px 6px;flex-shrink:0}
.imob-prop__media img{width:100%;height:100%;object-fit:cover;filter:saturate(.85) contrast(1.02)}
.imob-prop__ph{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:var(--grad-hatch),linear-gradient(160deg,var(--ink-750),var(--ink-850));color:var(--text-4);font:var(--type-overline);letter-spacing:var(--tracking-caps)}
.imob-prop__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.35) 0%,rgba(0,0,0,0) 30%,rgba(0,0,0,0) 60%,rgba(0,0,0,.55) 100%);pointer-events:none}
.imob-prop__top{position:absolute;top:10px;left:10px;right:10px;display:flex;justify-content:space-between;align-items:center}
.imob-prop__top .imob-badge{background:rgba(8,15,18,.62);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.imob-prop__fav{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:0;border-radius:50%;background:rgba(8,15,18,.55);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:var(--ink-100);cursor:pointer;transition:all var(--dur-fast)}
.imob-prop__fav:hover{background:rgba(8,15,18,.8)}
.imob-prop__fav.is-on{color:var(--red-400)}
.imob-prop__fav.is-on svg{fill:currentColor}
.imob-prop__match{position:absolute;left:10px;bottom:10px;display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 9px;border-radius:var(--radius-pill);background:rgba(51,38,107,.72);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:inset 0 0 0 1px rgba(155,123,245,.45);color:var(--violet-300);font:var(--fw-semibold) var(--fs-micro)/1 var(--font-mono);letter-spacing:.04em;text-transform:uppercase}
.imob-prop__body{display:flex;flex-direction:column;gap:6px;padding:14px 16px 16px;min-width:0}
.imob-prop__row{display:flex;justify-content:space-between;align-items:center}
.imob-prop__deal{font:var(--type-overline);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--teal-300)}
.imob-prop__code{font:var(--fw-regular) var(--fs-micro)/1 var(--font-mono);color:var(--text-4)}
.imob-prop__price{font:var(--fw-semibold) var(--fs-xl)/1.15 var(--font-sans);color:var(--text-1);letter-spacing:var(--tracking-tight)}
.imob-prop__title{font:var(--fw-medium) var(--fs-base)/1.35 var(--font-sans);color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.imob-prop__addr{display:flex;align-items:center;gap:5px;font:var(--type-caption);color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.imob-prop__specs{display:flex;flex-wrap:wrap;gap:12px;margin-top:6px;padding-top:10px;border-top:1px solid var(--border-subtle);font:var(--fw-medium) var(--fs-xs)/1 var(--font-mono);color:var(--text-2)}
.imob-prop__specs span{display:inline-flex;align-items:center;gap:5px}
.imob-prop__specs .imob-icon{color:var(--text-4)}
.imob-prop__tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px}
.imob-prop__tags span{padding:4px 8px;border-radius:var(--radius-pill);background:rgba(206,209,210,.05);font:var(--type-caption);color:var(--text-3)}
/* LeadCard */
.imob-lead{display:flex;flex-direction:column;gap:10px;padding:12px;border-radius:var(--radius-lg);background:var(--surface-2);box-shadow:var(--highlight-top),0 0 0 1px var(--border-subtle);min-width:0;transition:box-shadow var(--dur-base) var(--ease-out),transform var(--dur-base) var(--ease-out),background-color var(--dur-fast)}
.imob-lead.is-interactive{cursor:pointer}
.imob-lead.is-interactive:hover{background:var(--surface-3);box-shadow:var(--highlight-top),0 0 0 1px var(--border-default)}
.imob-lead.is-selected{box-shadow:var(--highlight-top),0 0 0 1px var(--border-accent),var(--glow-soft)}
.imob-lead.is-dragging{transform:rotate(-1.5deg) scale(1.02);box-shadow:var(--highlight-top),0 0 0 1px var(--border-accent),var(--shadow-3);background:var(--surface-3)}
.imob-lead__head{display:flex;align-items:center;gap:10px}
.imob-lead__name{display:flex;align-items:center;gap:5px;font:var(--fw-semibold) var(--fs-base)/1.2 var(--font-sans);color:var(--text-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.imob-lead__hot{color:var(--amber-400)}
.imob-lead__interest{margin-top:3px;font:var(--type-caption);color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.imob-lead__score{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:22px;padding:0 6px;border-radius:var(--radius-sm);font:var(--fw-semibold) var(--fs-xs)/1 var(--font-mono)}
.imob-lead__score.is-hi{background:var(--accent-soft);color:var(--teal-200);box-shadow:inset 0 0 0 1px rgba(52,184,162,.4),0 0 12px -4px rgba(47,217,201,.6)}
.imob-lead__score.is-mid{background:var(--warning-soft);color:var(--amber-300)}
.imob-lead__score.is-lo{background:rgba(206,209,210,.06);color:var(--text-3)}
.imob-lead__value{font:var(--fw-medium) var(--fs-sm)/1 var(--font-mono);color:var(--text-1)}
.imob-lead__ai{display:flex;align-items:flex-start;gap:6px;padding:7px 9px;border-radius:var(--radius-md);background:rgba(155,123,245,.08);box-shadow:inset 0 0 0 1px rgba(155,123,245,.16);color:var(--violet-300);font:var(--type-caption)}
.imob-lead__ai .imob-icon{margin-top:2px}
.imob-lead__tags{display:flex;flex-wrap:wrap;gap:4px}
.imob-lead__tags span{padding:3px 7px;border-radius:var(--radius-pill);background:rgba(206,209,210,.05);font:var(--fw-medium) var(--fs-micro)/1.2 var(--font-sans);color:var(--text-3)}
.imob-lead__foot{display:flex;align-items:center;gap:10px;padding-top:9px;border-top:1px solid var(--border-subtle);font:var(--fw-regular) var(--fs-micro)/1 var(--font-mono);color:var(--text-4)}
.imob-lead__src,.imob-lead__time{display:inline-flex;align-items:center;gap:4px}
.imob-lead__src{color:var(--text-3)}
.imob-lead__foot .imob-avatar{margin-left:auto}
