/* FILIPA UI — LibreChat theme v=filipa-lc26 */
:root {
  --filipa-green: #8bd30f;
  --filipa-green-dark: #6fb00c;
  --filipa-green-soft: rgba(139, 211, 15, 0.16);
  --filipa-bg: #ffffff;
  --filipa-surface: #ffffff;
  --filipa-sidebar: #ffffff;
  --filipa-text: #1a1d21;
  --filipa-muted: #6b7280;
  --filipa-border: #e8e8ea;
  --filipa-border-strong: #d1d5db;
  --filipa-radius: 14px;
  --filipa-radius-sm: 10px;
  --filipa-radius-lg: 22px;
  --filipa-shadow: 0 8px 28px rgba(17, 24, 39, 0.08);
  --filipa-shadow-sm: 0 2px 10px rgba(17, 24, 39, 0.05);
  --g-gray-20: #ffffff;
  --g-gray-0: #ffffff;
  --text-primary: #1a1d21;
  --text-secondary: #6b7280;
  --border-light: #e8e8ea;
  --border-medium: #d1d5db;
  --surface-primary: #ffffff;
  --surface-secondary: #ffffff;
  --brand-purple: #8bd30f;
  --brand-purple-hover: #6fb00c;
}

html, body, #root {
  background: #fff !important;
  color: var(--filipa-text) !important;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, sans-serif !important;
}

html.dark, .dark { color-scheme: light !important; }

/* ===== Login ===== */
/* ===== Login — Omniventus-like, no gray boxes ===== */
body:has(form[action*="login"]),
body.filipa-auth, html.filipa-auth, html.filipa-auth body {
  background: #ffffff !important;
}
html.filipa-auth #root,
body.filipa-auth #root,
body.filipa-auth #root > div,
body.filipa-auth main,
body.filipa-auth [class*="Auth"],
body.filipa-auth [class*="Login"],
body.filipa-auth [class*="auth"],
body.filipa-auth [class*="login"] {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
}
.filipa-auth-wrap {
  min-height: 100vh; display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:22px; padding:32px 20px; background: #ffffff !important;
}
.filipa-auth-brand { display:flex; flex-direction:column; align-items:center; gap:12px; text-align:center; }
.filipa-auth-brand img,
.filipa-auth-brand img.filipa-auth-logo {
  width:88px !important; height:88px !important; object-fit:contain !important;
  object-position:center center !important; border-radius:20px !important;
  box-shadow: 0 8px 28px rgba(0,0,0,.06) !important;
  display:block !important; margin:0 auto !important; padding:10px !important;
  background:#fff !important;
}
.filipa-auth-brand h1 {
  margin:0; font-size:1.45rem; font-weight:700; letter-spacing:-0.03em; color:#111;
}
.filipa-auth-brand p {
  margin:0; font-size:.92rem; color:#6b7280; font-weight:500;
}
/* Form is NOT a gray card — open layout */
.filipa-auth-card,
body.filipa-auth form,
html.filipa-auth form {
  width:min(380px,100%) !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 8px 0 0 !important;
  outline: none !important;
}
body.filipa-auth form > div,
html.filipa-auth form > div,
.filipa-auth-card > div {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}
.filipa-auth-card input,
.filipa-auth-card input[type="email"],
.filipa-auth-card input[type="password"],
.filipa-auth-card input[type="text"],
body.filipa-auth input[type="email"],
body.filipa-auth input[type="password"],
body.filipa-auth input[type="text"],
html.filipa-auth input[type="email"],
html.filipa-auth input[type="password"],
html.filipa-auth input[type="text"] {
  background: #fafafa !important;
  color: #111 !important;
  border: 1px solid #ececec !important;
  border-radius: 14px !important;
  padding: 15px 16px !important;
  box-shadow: none !important;
}
.filipa-auth-card input:focus,
body.filipa-auth input:focus,
html.filipa-auth input:focus {
  outline: none !important;
  background: #fff !important;
  border-color: var(--filipa-green) !important;
  box-shadow: 0 0 0 3px rgba(139,211,15,.18) !important;
}
.filipa-auth-card button[type="submit"],
body.filipa-auth button[type="submit"],
html.filipa-auth button[type="submit"] {
  background: var(--filipa-green) !important;
  color: #111 !important;
  border: none !important;
  border-radius: 9999px !important;
  font-weight: 700 !important;
  padding: 13px 18px !important;
  width: 100% !important;
  margin-top: 8px !important;
  box-shadow: 0 6px 18px rgba(139,211,15,.28) !important;
}
.filipa-auth-card button[type="submit"]:hover,
body.filipa-auth button[type="submit"]:hover {
  background: var(--filipa-green-dark) !important;
}
/* Kill leftover gray panels around LibreChat login */
body.filipa-auth form [class*="bg-"],
html.filipa-auth form [class*="bg-"],
body.filipa-auth form [class*="gray"],
html.filipa-auth form [class*="gray"],
body.filipa-auth [class*="card"],
html.filipa-auth [class*="card"] {
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
}

form:has(input[type="password"]) button[type="submit"],
button[type="submit"].btn-primary, .btn-primary {
  background:var(--filipa-green) !important; color:#111 !important; border:none !important;
  border-radius:9999px !important; font-weight:600 !important;
}

/* ===== Sidebar — flat white, no gray boxes ===== */
nav, aside, [class*="Nav"], [class*="Sidebar"], [class*="side-panel"],
div[class*="nav"], .nav, #chat-history {
  background:#fff !important;
  border-right:1px solid var(--filipa-border) !important;
  color:var(--filipa-text) !important;
}

/* Kill light gray rectangular panels everywhere in app shell */
body.filipa-app .bg-gray-50,
body.filipa-app .bg-gray-100,
body.filipa-app .bg-surface-secondary,
body.filipa-app .bg-surface-tertiary,
body.filipa-app [class*="bg-gray-50"],
body.filipa-app [class*="bg-gray-100"],
body.filipa-app [class*="bg-surface-secondary"] {
  background: transparent !important;
  background-color: transparent !important;
}

/* Main canvas — pure white, no boxed panels */
main, [role="main"] {
  background: #fff !important;
}

/* Welcome / empty state — no gray card behind text */
body.filipa-app main > div,
body.filipa-app [class*="Landing"],
body.filipa-app [class*="Empty"],
body.filipa-app [class*="center"] {
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
}

/* Composer wrapper — remove outer gray rectangle */
body.filipa-app form.w-full,
body.filipa-app [class*="ChatForm"],
body.filipa-app [class*="InputRow"],
body.filipa-app .absolute.bottom-0,
body.filipa-app div:has(> form textarea),
body.filipa-app div:has(> textarea[placeholder]) {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

/* Only the actual textarea/input shell is a soft white card */
form.w-full textarea,
textarea[placeholder],
div[class*="Textarea"] textarea {
  background: #fff !important;
  border: 1px solid var(--filipa-border) !important;
  border-radius: var(--filipa-radius-lg) !important;
  box-shadow: var(--filipa-shadow-sm) !important;
  color: var(--filipa-text) !important;
  padding: 14px 16px !important;
}
form.w-full textarea:focus,
textarea[placeholder]:focus {
  border-color: var(--filipa-border-strong) !important;
  box-shadow: var(--filipa-shadow) !important;
  outline: none !important;
}

/* Kill double/overlapping borders on composer */
body.filipa-app form.w-full > div,
body.filipa-app form.w-full [class*="rounded"] {
  border: none !important;
  box-shadow: none !important;
  background: transparent !important;
  outline: none !important;
}
body.filipa-app form.w-full textarea {
  border: 1px solid var(--filipa-border) !important;
  box-shadow: var(--filipa-shadow-sm) !important;
  background: #fff !important;
}

/* Conversation rows */
#chat-history a, #chat-history button, [class*="Conversation"] {
  border-radius: var(--filipa-radius-sm) !important;
  color: var(--filipa-text) !important;
  background: transparent !important;
}
#chat-history a:hover, #chat-history button:hover { background: #f5f5f5 !important; }
#chat-history a.bg-gray-200, #chat-history [aria-selected="true"], #chat-history .active {
  background: var(--filipa-green-soft) !important;
}

/* ===== Layering — stop overlapping windows ===== */
[role="menu"], [role="listbox"], [data-headlessui-state],
[class*="Popover"], [class*="Dropdown"], [class*="Menu"],
div[class*="menu"], .headlessui-menu-items {
  z-index: 10050 !important;
  position: relative;
}
[role="dialog"], [data-radix-popper-content-wrapper],
[data-headlessui-portal], .fixed.inset-0 {
  z-index: 10040 !important;
}
/* Profile / user menu above Admin Settings */
body.filipa-app [role="menu"],
body.filipa-app div[class*="MenuItems"],
body.filipa-app div[class*="popover"] {
  z-index: 10100 !important;
  background: #fff !important;
  border: 1px solid var(--filipa-border) !important;
  box-shadow: var(--filipa-shadow) !important;
}
/* When any menu/dialog open, push Admin Settings under */
body.filipa-menu-open a[href*="admin"],
body.filipa-menu-open button:has(svg):has(+ *),
body.filipa-menu-open [class*="Admin"] {
  z-index: 1 !important;
  pointer-events: none;
  opacity: 0.35;
}

/* Agent Marketplace — hidden for non-admin (JS toggles .filipa-is-admin) */
body.filipa-app:not(.filipa-is-admin) a[href*="agents"],
body.filipa-app:not(.filipa-is-admin) a[href*="marketplace"],
body.filipa-app:not(.filipa-is-admin) button:has(+ *),
body.filipa-app:not(.filipa-is-admin) [data-testid*="agent"],
body.filipa-app:not(.filipa-is-admin) .filipa-hide-marketplace {
  /* specific rules below */
}
/* marketplace open for all users (lc26) */


/* Side panel marketplace drawer for non-admin */
body.filipa-app:not(.filipa-is-admin) aside:has(h1),
body.filipa-app:not(.filipa-is-admin) [class*="SidePanel"] {
  /* keep side panel but marketplace content hidden via JS class */
}

a[href*="librechat.ai"], a[href*="github.com/danny-avila"], footer a[href*="librechat"] {
  display: none !important;
}

/* ===== Bottom dock ===== */
#filipa-dock {
  position: fixed; left:50%; bottom:14px; transform:translateX(-50%);
  z-index: 99999; display:flex; align-items:center; gap:4px;
  padding:8px 10px; background:rgba(255,255,255,0.96);
  border:1px solid var(--filipa-border); border-radius:9999px;
  box-shadow:var(--filipa-shadow); backdrop-filter:blur(10px);
}
#filipa-dock a {
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:3px; min-width:64px; padding:8px 10px; border-radius:9999px;
  text-decoration:none; color:var(--filipa-muted); font-size:11px; font-weight:600; line-height:1.1;
}
#filipa-dock a svg {
  width:20px; height:20px; stroke:currentColor; fill:none; stroke-width:1.8;
  stroke-linecap:round; stroke-linejoin:round;
}
#filipa-dock a:hover, #filipa-dock a.active {
  background:var(--filipa-green-soft); color:var(--filipa-text);
}
#filipa-dock a.active svg { stroke:var(--filipa-green-dark); }

body.filipa-app main, body.filipa-app #root { padding-bottom: 88px; }
#loading-container, .loading { background:#fff !important; }

/* Soft cards/dialogs */
.rounded-2xl, .rounded-xl, [role="dialog"], .modal {
  border-radius: var(--filipa-radius) !important;
  border-color: var(--filipa-border) !important;
  box-shadow: var(--filipa-shadow) !important;
  background: #fff !important;
}


/* ===== Filipa shell / popup panels (Disk / Lidé / Dashboard) ===== */
body.filipa-shell-open:not(.filipa-shell-popup-open) #root { visibility: hidden; }
body.filipa-shell-popup-open #root { visibility: visible; pointer-events: none; }
body.filipa-shell-popup-open #filipa-dock { pointer-events: auto; }
#filipa-shell {
  position: fixed; inset: 0; z-index: 99990;
  background: #fff; overflow: auto; padding: 24px 24px 110px;
}
#filipa-shell.filipa-shell-popup {
  background: transparent; overflow: hidden; padding: 0;
  display: flex; align-items: center; justify-content: center;
}
#filipa-shell .filipa-shell-backdrop {
  position: absolute; inset: 0; background: rgba(17,17,17,0.35);
  backdrop-filter: blur(2px);
}
#filipa-shell .filipa-shell-inner {
  max-width: 1100px; margin: 0 auto; position: relative;
}
#filipa-shell.filipa-shell-popup .filipa-shell-inner {
  position: relative; z-index: 1; width: min(920px, calc(100vw - 32px));
  max-height: calc(100vh - 120px); overflow: auto;
  margin: 0; background: #fff; border: 1px solid var(--filipa-border);
  border-radius: 20px; box-shadow: 0 20px 60px rgba(0,0,0,0.18);
  padding: 20px 20px 24px;
}
#filipa-shell .filipa-shell-close {
  position: absolute; right: 0; top: 0; width: 40px; height: 40px;
  border: none; background: transparent; font-size: 28px; line-height: 1;
  color: var(--filipa-muted); cursor: pointer; border-radius: 9999px;
}
#filipa-shell .filipa-shell-close:hover { background: var(--filipa-green-soft); color: var(--filipa-text); }
.filipa-shell-head { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; margin: 8px 40px 20px 0; }
.filipa-shell-head h1 { margin:0; font-size:28px; font-weight:700; color:var(--filipa-text); }
.filipa-badge {
  display:inline-flex; align-items:center; padding:6px 12px; border-radius:9999px;
  background:var(--filipa-green-soft); color:var(--filipa-green-dark); font-size:12px; font-weight:700; white-space:nowrap;
}
.filipa-muted { color: var(--filipa-muted); font-size: 14px; margin: 6px 0 0; }
.filipa-disk-path {
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size:13px;
  background:#f7f7f8; border:1px solid var(--filipa-border); border-radius:12px;
  padding:10px 14px; margin-bottom:14px; color:#444;
}
.filipa-disk-table-wrap {
  border:1px solid var(--filipa-border); border-radius:16px; overflow:auto; max-height:calc(100vh - 260px);
  background:#fff; box-shadow: var(--filipa-shadow);
}
.filipa-disk-table { width:100%; border-collapse:collapse; font-size:14px; }
.filipa-disk-table th {
  text-align:left; padding:12px 14px; background:#fafafa; border-bottom:1px solid var(--filipa-border);
  color:#666; font-weight:600; position:sticky; top:0;
}
.filipa-disk-table td { padding:10px 14px; border-bottom:1px solid #f0f0f0; color:var(--filipa-text); }
.filipa-disk-table tr:hover td { background: #f9fdf2; }
.filipa-disk-name { display:flex; align-items:center; gap:10px; font-weight:500; }
.filipa-disk-name svg { width:18px; height:18px; stroke:#8bd30f; fill:none; stroke-width:1.7; flex-shrink:0; }
.filipa-disk-size { text-align:right; color:#777; white-space:nowrap; }
.filipa-org-note {
  background:#f7f7f8; border:1px solid var(--filipa-border); border-radius:12px;
  padding:12px 14px; margin-bottom:16px; font-size:13px; color:#555;
}
.filipa-people-grid {
  display:grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap:12px;
}
.filipa-person-card {
  display:flex; align-items:center; gap:12px; padding:14px; border:1px solid var(--filipa-border);
  border-radius:16px; background:#fff; box-shadow: var(--filipa-shadow);
}
.filipa-avatar {
  width:44px; height:44px; border-radius:9999px; background:var(--filipa-green-soft);
  color:var(--filipa-green-dark); display:flex; align-items:center; justify-content:center;
  font-weight:700; font-size:13px; flex-shrink:0;
}
.filipa-tag {
  display:inline-block; margin-top:4px; font-size:11px; font-weight:700;
  color:var(--filipa-green-dark); background:var(--filipa-green-soft); padding:2px 8px; border-radius:9999px;
}
.filipa-btn-ghost {
  margin-left:auto; border:1px solid var(--filipa-border); background:#fff; color:var(--filipa-text);
  border-radius:9999px; padding:8px 12px; font-size:12px; font-weight:600; cursor:pointer;
}
.filipa-btn-ghost:hover { border-color: var(--filipa-green); background: var(--filipa-green-soft); }
.filipa-btn-primary {
  display:inline-flex; margin-top:14px; background: var(--filipa-green); color:#111; text-decoration:none;
  border-radius:9999px; padding:10px 16px; font-weight:700; font-size:14px;
}
.filipa-dash-grid { display:grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap:14px; }
.filipa-dash-card {
  border:1px solid var(--filipa-border); border-radius:16px; padding:18px 20px; background:#fff;
  box-shadow: var(--filipa-shadow);
}
.filipa-dash-card h2 { margin:0 0 8px; font-size:18px; }
.filipa-dash-card p, .filipa-dash-card li { color:#555; font-size:14px; line-height:1.5; }
.filipa-dash-tips ol { padding-left: 18px; margin: 8px 0 0; }

.filipa-people-search { margin: 0 0 14px; }
.filipa-people-search input {
  width: 100%; box-sizing: border-box; border: 1px solid var(--filipa-border);
  border-radius: 14px; padding: 12px 16px; font-size: 15px; background: #fff;
  color: var(--filipa-text); outline: none;
}
.filipa-people-search input:focus { border-color: var(--filipa-green); box-shadow: 0 0 0 3px var(--filipa-green-soft); }
.filipa-people-meta { font-size: 13px; color: #666; margin: 0 0 10px; font-weight: 600; }
.filipa-people-crumb {
  display: flex; align-items: center; gap: 8px; margin: 0 0 14px; font-size: 14px;
}
.filipa-linkish {
  border: 0; background: transparent; color: var(--filipa-green-dark); font-weight: 700;
  cursor: pointer; padding: 0; font-size: 14px;
}
.filipa-dept-grid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 12px;
}
.filipa-dept-folder {
  display: flex; align-items: center; gap: 12px; text-align: left;
  border: 1px solid var(--filipa-border); border-radius: 16px; padding: 14px 16px;
  background: #fff; box-shadow: var(--filipa-shadow); cursor: pointer;
}
.filipa-dept-folder:hover { border-color: var(--filipa-green); background: #fbfef3; }
.filipa-dept-akcionar {
  border-color: #d4d4d8; background: linear-gradient(180deg, #fff 0%, #f4f4f5 100%);
}
.filipa-dept-icon { width: 28px; height: 28px; color: var(--filipa-green-dark); flex-shrink: 0; }
.filipa-dept-icon svg { width: 28px; height: 28px; display: block; }
.filipa-dept-label { display: flex; flex-direction: column; gap: 2px; }
.filipa-dept-label strong { font-size: 15px; color: var(--filipa-text); }
.filipa-empty {
  padding: 28px; text-align: center; color: #666; border: 1px dashed var(--filipa-border);
  border-radius: 16px; background: #fafafa;
}

#filipa-oslovit-modal{position:fixed;inset:0;z-index:10050;display:flex;align-items:center;justify-content:center}
#filipa-oslovit-modal .filipa-modal-backdrop{position:absolute;inset:0;background:rgba(17,17,17,.35)}
#filipa-oslovit-modal .filipa-modal-card{position:relative;background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:22px 24px;width:min(420px,92vw);box-shadow:0 12px 40px rgba(0,0,0,.12)}
#filipa-oslovit-modal h2{margin:0 0 8px;font-size:1.15rem;color:#231f20}
#filipa-oslovit-modal .filipa-modal-actions{display:flex;flex-direction:column;gap:8px;margin:14px 0}
#filipa-oslovit-modal .filipa-btn-primary{display:inline-flex;justify-content:center;padding:12px 16px;border-radius:999px;background:#8bd30f;color:#111;text-decoration:none;font-weight:600}
#filipa-oslovit-modal .filipa-btn-ghost{display:inline-flex;justify-content:center;padding:10px 14px;border-radius:999px;border:1px solid #e5e7eb;background:transparent;color:#231f20;text-decoration:none}

/* dashboard widgets lc10 */
.filipa-dash-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;padding:8px 4px 24px}
.filipa-dash-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:16px 18px;box-shadow:0 1px 2px rgba(0,0,0,.04)}
.filipa-dash-wide{grid-column:1/-1}
.filipa-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}
.filipa-card-head h2,.filipa-dash-card h2{font-size:16px;margin:0 0 8px;color:#231f20}
.filipa-pill{background:#f0fdf4;color:#3f6212;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:600}
.filipa-dash-list{display:flex;flex-direction:column;gap:8px;max-height:320px;overflow:auto}
.filipa-dash-row{display:flex;flex-direction:column;gap:2px;padding:8px 10px;border-radius:12px;text-decoration:none;color:inherit;border:1px solid transparent}
.filipa-dash-row:hover{background:#f9fafb;border-color:#e5e7eb}
.filipa-dash-row.is-unread{background:#f7fee7;border-color:#d9f99d}
.filipa-dash-row .filipa-preview{font-size:12px;color:#6b7280;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.filipa-dash-actions{display:flex;flex-wrap:wrap;gap:8px}
.filipa-link{display:inline-block;margin-top:10px;color:#3f6212;font-weight:600;font-size:13px}
.filipa-avatar{position:relative;width:44px;height:44px;border-radius:50%;overflow:hidden;background:#e5e7eb;display:flex;align-items:center;justify-content:center;font-weight:700;color:#374151;flex-shrink:0}
.filipa-avatar-img{width:100%;height:100%;object-fit:cover}
.filipa-avatar-fallback{width:100%;height:100%;align-items:center;justify-content:center}

/* Teams chat pane in Lidé */
.filipa-people-layout{display:grid;grid-template-columns:1fr minmax(320px,400px);gap:16px;align-items:start}
@media(max-width:900px){.filipa-people-layout{grid-template-columns:1fr}}
.filipa-people-actions{display:flex;gap:8px;flex-wrap:wrap}
.filipa-chat-pane{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:14px;min-height:360px;display:flex;flex-direction:column;gap:10px}
.filipa-chat-empty{justify-content:center;align-items:center;text-align:center;color:#6b7280}
.filipa-chat-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}
.filipa-chat-msgs{flex:1;overflow:auto;max-height:420px;display:flex;flex-direction:column;gap:8px}
.filipa-chat-msg{background:#f7f7f8;border-radius:12px;padding:8px 10px}
.filipa-chat-msg-meta{font-size:12px;color:#6b7280;margin-bottom:4px}
.filipa-chat-msg-body{font-size:14px;color:#111;word-break:break-word}
.filipa-chat-compose{display:flex;gap:8px}
.filipa-chat-input{flex:1;border:1px solid #d1d5db;border-radius:12px;padding:10px 12px;font:inherit}
.filipa-chat-label{font-size:12px;color:#6b7280}
.filipa-chat-actions{display:flex;gap:8px;flex-wrap:wrap}


/* Disk F browser (ukázka) */
.filipa-disk-row { cursor: pointer; }
.filipa-disk-row:hover td { background: rgba(139,211,15,.12); }
.filipa-disk-row.is-folder td:first-child { font-weight: 600; }
.filipa-disk-ico { margin-right: 6px; }
.filipa-disk-crumb { padding: 8px 16px 0; display:flex; align-items:center; gap:10px; }
.filipa-disk-preview { margin: 12px 16px 20px; padding: 14px 16px; background:#fff; border:1px solid #e5e7eb; border-radius:14px; box-shadow:0 2px 10px rgba(0,0,0,.04); }
.filipa-disk-preview h3 { margin:0 0 8px; font-size:1rem; }
.filipa-disk-preview pre { white-space: pre-wrap; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size:13px; background:#f8fafc; padding:12px; border-radius:10px; }

/* Disk icons — grey flat SVG (not yellow emoji) */
.filipa-disk-ico { display:inline-flex; align-items:center; margin-right:8px; color:#6b7280; vertical-align:middle; }
.filipa-disk-ico svg { width:18px; height:18px; stroke:currentColor; fill:none; stroke-width:1.7; }
.filipa-disk-ico.is-note {
  width:18px; height:18px; border-radius:50%; border:1.5px solid #9ca3af; color:#6b7280;
  font-size:11px; font-weight:700; justify-content:center; line-height:1;
}
.filipa-disk-ico.is-up { color:#9ca3af; font-size:14px; }
.filipa-disk-name svg { stroke:#6b7280 !important; }

/* ===== Login lc17: no Software mark, centered AI, clean OR ===== */
/* Software/LibreChat mark only — not form icons (eye) / Microsoft */
body.filipa-auth #root > div > div > a > img,
body.filipa-auth #root > div > div > img,
body.filipa-auth #root > div > a > img,
body.filipa-auth a[href="/"] img,
body.filipa-auth img[alt*="Libre" i],
body.filipa-auth img[alt*="Software" i],
body.filipa-auth img[src*="librechat" i] {
  display: none !important;
}
body.filipa-auth #filipa-auth-brand img,
body.filipa-auth #filipa-auth-brand img.filipa-auth-logo {
  display: block !important;
}
body.filipa-auth #filipa-auth-brand img.filipa-auth-logo,
html.filipa-auth #filipa-auth-brand img.filipa-auth-logo {
  display: block !important;
  width: 88px !important;
  height: 88px !important;
  margin: 0 auto !important;
  object-fit: contain !important;
  object-position: center center !important;
  border-radius: 20px !important;
  background: #fff !important;
  box-shadow: 0 8px 24px rgba(0,0,0,.07) !important;
  padding: 10px !important;
}
.filipa-auth-logo-wrap {
  width: 88px;
  height: 88px;
  margin: 0 auto 4px;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.filipa-auth-brand {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 14px !important;
  text-align: center !important;
  width: 100% !important;
  margin: 0 auto 8px !important;
}
.filipa-auth-brand h1 {
  margin: 0 !important;
  text-align: center !important;
  width: 100% !important;
  font-size: 1.35rem !important;
  font-weight: 700 !important;
  color: #111 !important;
}
/* Hide Welcome back / Libre titles */
body.filipa-auth h1:not(.filipa-auth-brand h1),
body.filipa-auth h2 {
  /* keep form labels; hide page titles that aren't ours */
}
body.filipa-auth #root > div > div > h1,
body.filipa-auth #root > div > div > h2,
body.filipa-auth [class*="AuthLayout"] h1,
body.filipa-auth [class*="Login"] > h1,
body.filipa-auth [class*="Login"] > h2 {
  display: none !important;
}
/* OR / nebo — line must not strike through text */
.filipa-auth-or,
body.filipa-auth .filipa-auth-or,
body.filipa-auth span.filipa-auth-or {
  background: #ffffff !important;
  color: #6b7280 !important;
  padding: 0 14px !important;
  font-size: 0.8rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em !important;
  text-transform: lowercase !important;
  text-decoration: none !important;
  position: relative !important;
  z-index: 2 !important;
  line-height: 1 !important;
}
.filipa-auth-or-wrap,
body.filipa-auth .filipa-auth-or-wrap {
  background: #ffffff !important;
  position: relative !important;
  z-index: 2 !important;
}
/* LibreChat divider: white chip behind label */
body.filipa-auth .relative .bg-white,
body.filipa-auth .relative span,
html.filipa-auth .relative span {
  background: #ffffff !important;
  padding-left: 14px !important;
  padding-right: 14px !important;
  color: #6b7280 !important;
  text-decoration: none !important;
  z-index: 2 !important;
}
body.filipa-auth .relative > div.absolute,
html.filipa-auth .relative > div.absolute {
  z-index: 0 !important;
}
body.filipa-auth .relative > div.absolute .border-t,
body.filipa-auth .relative > div.absolute [class*="border"] {
  border-color: #e5e7eb !important;
}


/* Pulse / cases MVP */
.filipa-pulse { margin-bottom: 20px; }
.filipa-pulse-kpis { display: flex; gap: 10px; flex-wrap: wrap; margin: 12px 0; }
.filipa-kpi { background: #fff; border: 1px solid #e5e7eb; border-radius: 14px; padding: 14px 18px; min-width: 110px; }
.filipa-kpi b { display: block; font-size: 1.6rem; color: #231f20; }
.filipa-kpi.needs b { color: #b45309; }
.filipa-kpi.auto b { color: #4d7c0f; }
.filipa-kpi span { font-size: 12px; color: #6b7280; }
.filipa-case-card { background: #fff; border: 1px solid #e5e7eb; border-radius: 14px; padding: 14px 16px; margin: 8px 0; }
.filipa-case-card.needs { border-left: 3px solid #f59e0b; }
.filipa-case-card.auto { border-left: 3px solid #8bd30f; }
.filipa-case-top { display: flex; justify-content: space-between; gap: 8px; align-items: center; }
.filipa-case-actions { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 8px; }
.filipa-case-actions button { background: transparent; border: 1px solid #d1d5db; border-radius: 999px; padding: 6px 12px; cursor: pointer; font-size: 13px; }
.filipa-case-actions button:hover { border-color: #8bd30f; }


/* lc20: hide scrollbars in Filipa shell / popups */
.filipa-shell,
.filipa-shell-body,
.filipa-popup,
.filipa-modal,
.filipa-dash-list,
.filipa-people-main,
.filipa-chat-pane,
.filipa-disk-list {
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
}
.filipa-shell::-webkit-scrollbar,
.filipa-shell-body::-webkit-scrollbar,
.filipa-popup::-webkit-scrollbar,
.filipa-modal::-webkit-scrollbar,
.filipa-dash-list::-webkit-scrollbar,
.filipa-people-main::-webkit-scrollbar,
.filipa-chat-pane::-webkit-scrollbar,
.filipa-disk-list::-webkit-scrollbar {
  width: 0 !important;
  height: 0 !important;
  display: none !important;
}
.filipa-dash-grid { align-content: start; }
.filipa-dash-card.filipa-dash-wide { grid-column: 1 / -1; }
.filipa-mail-detail { margin-top: 10px; padding: 12px; border: 1px solid #e5e7eb; border-radius: 14px; background: #fff; }
.filipa-mail-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.filipa-fav-star { border: 0; background: transparent; cursor: pointer; font-size: 16px; }
.filipa-profile-box { margin-top: 10px; padding: 12px; border: 1px solid #e5e7eb; border-radius: 14px; background: #fff; }
.filipa-profile-box input { width: 100%; padding: 10px 12px; border: 1px solid #d1d5db; border-radius: 12px; }

/* lc20b: mail modal, calendar, favorites, no scrollbars */
.filipa-modal{position:fixed;inset:0;z-index:10050;background:rgba(17,17,17,.45);display:none;align-items:center;justify-content:center;padding:24px}
.filipa-modal-card{background:#fff;border:1px solid #e5e7eb;border-radius:20px;max-width:720px;width:100%;max-height:86vh;overflow:auto;padding:24px;position:relative;box-shadow:0 20px 50px rgba(0,0,0,.12)}
.filipa-modal-x{position:absolute;right:14px;top:10px;border:0;background:transparent;font-size:28px;line-height:1;cursor:pointer;color:#6b7280}
.filipa-mail-body{white-space:pre-wrap;background:#f9fafb;border-radius:12px;padding:14px;margin:12px 0;font-size:14px;line-height:1.45}
.filipa-reply-row{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 12px}
.filipa-reply-chip{border:1px solid #e5e7eb;background:#fff;border-radius:999px;padding:8px 12px;cursor:pointer;font-size:13px}
.filipa-reply-chip:hover{border-color:#8bd30f}
.filipa-cal-month{display:flex;flex-direction:column;gap:12px}
.filipa-cal-head{display:flex;justify-content:space-between;align-items:center;gap:12px}
.filipa-cal-day{border:1px solid #e5e7eb;border-radius:14px;padding:12px;background:#fff}
.filipa-cal-day-title{font-weight:700;margin-bottom:8px}
.filipa-cal-ev{display:block;padding:8px 10px;border-radius:10px;background:#f3f4f6;margin:4px 0;color:#231f20;text-decoration:none}
.filipa-cal-ev:hover{background:#eef8d6}
.filipa-fav-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 14px;padding:10px 12px;background:#f9fafb;border-radius:14px;border:1px solid #eee}
.filipa-fav-label{font-weight:700;margin-right:6px}
.filipa-fav-chip{border:1px solid #e5e7eb;background:#fff;border-radius:12px;padding:8px 10px;cursor:pointer;text-align:left;display:flex;flex-direction:column;gap:2px}
.filipa-fav-chip span{font-size:12px;color:#6b7280}
.filipa-profile-box{border:1px solid #e5e7eb;border-radius:16px;padding:16px;background:#fff;margin-top:12px}
.filipa-label{display:block;font-size:12px;font-weight:600;margin:10px 0 4px;color:#374151}
.filipa-input{width:100%;border:1px solid #e5e7eb;border-radius:12px;padding:12px 14px;font:inherit;background:#fff}
.filipa-dash-row{cursor:pointer}
.filipa-dash-row:hover{background:#f3f4f6}
.filipa-star{border:0;background:transparent;cursor:pointer;font-size:18px;line-height:1;color:#d1d5db}
.filipa-star.on{color:#8bd30f}
html,body,.filipa-shell,.filipa-shell-body,.filipa-popup,.filipa-modal,.filipa-modal-card,
.filipa-dash-list,.filipa-people-main,.filipa-chat-pane,.filipa-disk-list,.filipa-cal-month{
  scrollbar-width:none!important;-ms-overflow-style:none!important}
html::-webkit-scrollbar,body::-webkit-scrollbar,.filipa-shell::-webkit-scrollbar,
.filipa-shell-body::-webkit-scrollbar,.filipa-popup::-webkit-scrollbar,.filipa-modal::-webkit-scrollbar,
.filipa-modal-card::-webkit-scrollbar,.filipa-dash-list::-webkit-scrollbar,.filipa-people-main::-webkit-scrollbar,
.filipa-chat-pane::-webkit-scrollbar,.filipa-disk-list::-webkit-scrollbar,.filipa-cal-month::-webkit-scrollbar{
  width:0!important;height:0!important;display:none!important}


/* Dashboard page — left tabs (filipa-lc24) */
#filipa-shell:not(.filipa-shell-popup) {
  position: fixed; inset: 0 0 72px 0; z-index: 40;
  background: #f3f4f6; overflow: hidden;
}
#filipa-shell:not(.filipa-shell-popup) .filipa-shell-inner {
  height: 100%; max-width: none; margin: 0; border: 0; border-radius: 0;
  box-shadow: none; background: #f3f4f6;
}
#filipa-shell:not(.filipa-shell-popup) .filipa-shell-body {
  height: 100%; overflow: hidden; padding: 0;
}
.filipa-dash-layout {
  display: flex; height: 100%; min-height: 0;
}
.filipa-dash-nav {
  width: 200px; flex: 0 0 200px;
  background: #fff; border-right: 1px solid #e5e7eb;
  padding: 16px 10px; display: flex; flex-direction: column; gap: 4px;
  overflow-y: auto;
}
.filipa-dash-tab {
  text-align: left; border: 0; background: transparent;
  padding: 10px 12px; border-radius: 12px; cursor: pointer;
  font: inherit; color: #231f20; font-weight: 500;
}
.filipa-dash-tab:hover { background: #f3f4f6; }
.filipa-dash-tab.active {
  background: #eef8d6; color: #1a1a1a; font-weight: 600;
}
.filipa-dash-tab-add {
  margin-top: 8px; border: 1px dashed #d1d5db !important;
  text-align: center; font-size: 1.25rem; line-height: 1; color: #6b7280;
}
.filipa-dash-nav-sep {
  height: 1px; background: #e5e7eb; margin: 8px 4px;
}
.filipa-dash-main {
  flex: 1; min-width: 0; overflow: auto;
  padding: 16px 20px 28px;
}
@media (max-width: 720px) {
  .filipa-dash-layout { flex-direction: column; }
  .filipa-dash-nav {
    width: 100%; flex: 0 0 auto; flex-direction: row; flex-wrap: wrap;
    border-right: 0; border-bottom: 1px solid #e5e7eb;
  }
}


/* Agent chat — distinct shell (filipa-lc25) */
body.filipa-agent-mode {
  --filipa-agent-accent: #5b8def;
}
body.filipa-agent-mode #filipa-agent-bar {
  position: fixed; top: 0; left: 0; right: 0; z-index: 45;
  background: linear-gradient(180deg, #eef3ff 0%, #f8fafc 100%);
  border-bottom: 1px solid #dbe4f5;
  padding: 8px 16px; pointer-events: auto;
}
body.filipa-agent-mode #filipa-agent-bar .filipa-agent-bar-inner {
  display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
  max-width: 1100px; margin: 0 auto;
}
body.filipa-agent-mode .filipa-agent-badge {
  background: #5b8def; color: #fff; font-weight: 700; font-size: 12px;
  padding: 4px 10px; border-radius: 999px; letter-spacing: .02em;
}
body.filipa-agent-mode .filipa-agent-hint { color: #334155; font-size: 13px; flex: 1; }
body.filipa-agent-mode #root { padding-top: 52px; }
#filipa-agents-fab {
  position: fixed; right: 18px; bottom: 88px; z-index: 42;
  border: 1px solid #e5e7eb; background: #fff; color: #231f20;
  border-radius: 999px; padding: 10px 16px; font: inherit; font-weight: 600;
  box-shadow: 0 4px 14px rgba(0,0,0,.08); cursor: pointer;
}
#filipa-agents-fab:hover { border-color: #8bd30f; }
body.filipa-auth #filipa-agents-fab,
body.filipa-shell-open #filipa-agents-fab { display: none; }

.filipa-agent-out{margin:12px 0 20px}
.filipa-bars{display:flex;gap:10px;align-items:flex-end;height:110px;padding:8px 0}
.filipa-barcol{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:11px;color:#6b7280}
.filipa-barstack{display:flex;gap:2px;align-items:flex-end;height:80px}
.filipa-barstack i{display:block;width:8px;background:#8bd30f;border-radius:3px 3px 0 0}
.filipa-barstack i.o{background:#231f20}
.filipa-barstack i.p{background:#9ca3af}
.filipa-kpi{list-style:none;padding:0;margin:8px 0}
.filipa-kpi li{padding:8px 10px;border:1px solid #e5e7eb;border-radius:12px;margin:6px 0;background:#fff}
.filipa-mcp-box{margin-top:12px;padding:12px;border:1px solid #e5e7eb;border-radius:16px;background:#fafafa}
.filipa-btn{background:#8bd30f;border:0;border-radius:999px;padding:8px 14px;font-weight:600;cursor:pointer}
.filipa-btn.ghost{background:transparent;border:1px solid #d1d5db}
