@font-face {
  font-family:FVText;
  src:url('assets/font-14ec9d09dad8.otf');
  font-weight:400;
  font-display:swap
}

@font-face {
  font-family:FVText;
  src:url('assets/font-97e5eff6dd20.otf');
  font-weight:700;
  font-display:swap
}

@font-face {
  font-family:FVDisplay;
  src:url('assets/font-2a22a6c5fd36.ttf');
  font-display:swap
}

@font-face {
  font-family:FVLatin;
  src:url('assets/font-f26fe203a4ca.otf');
  font-display:swap
}

@font-face {
  font-family:FVLatinDisplay;
  src:url('assets/font-888fb7039279.otf');
  font-display:swap
}

html[data-design-kit="fv-portal"] {
  --fv-canvas:#faf9f6;
  --fv-surface:#fff;
  --fv-ink:#242424;
  --fv-muted:#66645f;
  --fv-accent:#d00045;
  --fv-soft:#f1efea;
  --fv-border:#dedbd5;
  --fv-font:FVText,"PingFang SC",sans-serif;
  --fv-display:FVDisplay,FVText,serif;
  --fv-kit-marker:fv-portal-1-0-0;
  background:var(--fv-canvas);
  color:var(--fv-ink);
  font-family:var(--fv-font)
}

html[data-design-kit="fv-portal"]:is([lang=en],[lang=it]) {
  --fv-font:FVLatin,FVText,sans-serif;
  --fv-display:FVLatinDisplay,Georgia,serif
}

html[data-design-kit="fv-portal"] body {
  margin:0;
  background:var(--fv-canvas);
  font-family:var(--fv-font);
  --background:40 29% 97%;
  --foreground:0 0% 14%;
  --primary:340 100% 41%;
  --primary-foreground:0 0% 100%;
  --border:40 12% 85%;
  --radius:0.375rem;
  --lq-chat-primary:#d00045;
  --lq-chat-primary-hover:#af003a;
  --lq-chat-primary-soft:#fff3f6;
  --lq-chat-brand-gradient:linear-gradient(120deg,#d00045,#a80038);
  --lq-chat-user-bubble:#f1efea;
  --lq-chat-user-bubble-text:#242424;
  --lq-florentia-display-zh:var(--fv-display);
  --lq-florentia-display-en:var(--fv-display);
  --font-ui:var(--fv-font);
  --font-display:var(--fv-display)
}

html[data-design-kit="fv-portal"] body[data-theme="florentia"] {
  font-family:var(--fv-font)
}

html[data-design-kit="fv-portal"] :focus-visible {
  outline:2px solid var(--fv-accent);
  outline-offset:3px
}

.fv-surface {
  background:var(--fv-canvas);
  color:var(--fv-ink);
  font-family:var(--fv-font);
  min-height:100vh;
  line-height:1.6
}

.fv-surface * {
  box-sizing:border-box
}
.fv-surface button,.fv-surface input,.fv-surface textarea,.fv-surface select {
  font:inherit
}

.fv-container {
  max-width:1200px;
  margin:auto;
  padding:32px 40px
}
.fv-topbar {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  min-height:88px;
  border-bottom:1px solid var(--fv-border);
  padding:16px 40px
}
.fv-logo {
  width:124px;
  height:auto;
  object-fit:contain
}
.fv-brand {
  display:flex;
  align-items:center;
  gap:24px
}
.fv-brand span {
  font-size:14px;
  border-left:1px solid var(--fv-border);
  padding-left:24px
}
.fv-row {
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap
}
.fv-between {
  justify-content:space-between
}
.fv-muted {
  color:var(--fv-muted);
  font-size:14px
}
.fv-heading {
  font-family:var(--fv-display);
  font-size:32px;
  font-weight:400;
  margin:0 0 12px
}
.fv-hero {
  display:grid;
  grid-template-columns:2fr 3fr;
  min-height:280px;
  background:var(--fv-soft);
  border-radius:6px;
  overflow:hidden
}
.fv-hero-copy {
  padding:32px 36px;
  display:flex;
  flex-direction:column;
  justify-content:center
}
.fv-hero-copy p {
  margin:8px 0;
  color:var(--fv-muted)
}
.fv-hero-photo {
  width:100%;
  height:100%;
  min-height:280px;
  object-fit:cover
}
.fv-grid {
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(190px,1fr));
  gap:16px;
  margin:24px 0
}
.fv-card {
  border:1px solid var(--fv-border);
  border-radius:6px;
  background:var(--fv-surface);
  padding:24px;
  min-width:0
}
.fv-entry {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:16px;
  text-align:left;
  min-height:210px;
  background:var(--fv-soft);
  cursor:pointer;
  color:var(--fv-ink);
  transition:background 160ms,border-color 160ms
}
.fv-entry:hover:not(:disabled) {
  border-color:var(--fv-accent);
  background:var(--fv-canvas)
}
.fv-entry:disabled {
  cursor:not-allowed;
  opacity:.55
}
.fv-entry strong {
  font-size:18px
}
.fv-entry .fv-action {
  margin-top:auto;
  align-self:flex-end;
  font-size:13px;
  color:var(--fv-muted)
}
.fv-button {
  border:1px solid var(--fv-border);
  background:var(--fv-surface);
  border-radius:4px;
  padding:9px 18px;
  min-height:44px;
  color:var(--fv-ink);
  cursor:pointer
}
.fv-button[data-primary=true] {
  background:var(--fv-accent);
  color:white;
  border-color:var(--fv-accent)
}
.fv-button:disabled {
  opacity:.5;
  cursor:not-allowed
}
.fv-badge {
  display:inline-flex;
  align-items:center;
  border-radius:3px;
  padding:3px 8px;
  font-size:12px;
  background:var(--fv-soft);
  color:var(--fv-muted)
}
.fv-badge[data-tone=error] {
  color:#b4234d;
  background:#fff3f6
}
.fv-notice {
  border:1px solid var(--fv-border);
  background:#fbf6eb;
  border-radius:6px;
  padding:16px;
  margin:16px 0
}
.fv-field {
  display:flex;
  flex-direction:column;
  gap:8px;
  font-size:14px
}
.fv-field input,.fv-field textarea,.fv-field select {
  border:1px solid var(--fv-border);
  border-radius:4px;
  padding:12px;
  background:white;
  color:var(--fv-ink);
  min-width:0
}
.fv-list {
  display:flex;
  flex-direction:column;
  gap:0
}
.fv-list-row {
  padding:16px 0;
  border-bottom:1px solid var(--fv-border)
}
.fv-cover {
  height:132px;
  background:var(--fv-soft);
  border-radius:4px;
  display:grid;
  place-items:center;
  font-family:var(--fv-display);
  font-size:24px
}
.fv-split {
  display:grid;
  grid-template-columns:240px 1fr;
  gap:24px
}
.fv-chat {
  display:grid;
  grid-template-columns:220px 1fr;
  min-height:560px
}
.fv-chat aside {
  background:var(--fv-soft);
  padding:24px
}
.fv-chat main {
  padding:32px;
  display:flex;
  flex-direction:column;
  gap:24px
}
.fv-message {
  padding:18px 22px;
  border-radius:6px;
  max-width:85%;
  white-space:pre-wrap
}
.fv-message[data-role=user] {
  background:var(--fv-soft);
  align-self:flex-end
}
.fv-compose {
  margin-top:auto;
  border:1px solid var(--fv-border);
  border-radius:6px;
  padding:18px;
  background:white
}
.fv-compose textarea {
  width:100%;
  border:0;
  resize:vertical;
  background:transparent;
  min-height:64px
}
.fv-table-scroll {
  overflow:auto
}
.fv-table {
  width:100%;
  border-collapse:collapse;
  text-align:left;
  font-size:14px
}
.fv-table th,.fv-table td {
  padding:12px;
  border-bottom:1px solid var(--fv-border);
  white-space:nowrap
}
.fv-steps {
  counter-reset:step;
  display:flex;
  gap:16px;
  flex-wrap:wrap
}
.fv-step {
  display:flex;
  gap:8px;
  align-items:center
}
.fv-step:before {
  counter-increment:step;
  content:counter(step);
  background:var(--fv-soft);
  width:28px;
  height:28px;
  border-radius:50%;
  text-align:center
}
.fv-empty {
  text-align:center;
  padding:48px 24px;
  border:1px dashed var(--fv-border);
  border-radius:6px
}
.fv-skeleton {
  height:16px;
  background:var(--fv-soft);
  border-radius:3px;
  margin:12px 0
}
.fv-footer {
  border-top:1px solid var(--fv-border);
  padding:24px 0;
  margin-top:24px;
  font-size:12px;
  color:var(--fv-muted)
}
.fv-section {
  margin:32px 0
}
.fv-metric {
  font-family:var(--fv-display);
  font-size:36px
}
.fv-progress {
  height:6px;
  background:var(--fv-soft);
  border-radius:3px;
  overflow:hidden
}
.fv-progress span {
  display:block;
  background:var(--fv-accent);
  height:100%
}
.fv-source {
  font-size:12px;
  color:var(--fv-muted);
  border-left:2px solid var(--fv-accent);
  padding-left:12px
}
.fv-gallery-label {
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:var(--fv-muted)
}

@media(max-width:899px) {
  .fv-container {
  padding:24px
}
.fv-topbar {
  padding:16px 24px
}
.fv-hero {
  grid-template-columns:1fr
}
.fv-hero-photo {
  max-height:230px;
  min-height:180px
}
.fv-split {
  grid-template-columns:1fr
}
.fv-chat {
  grid-template-columns:1fr
}
.fv-chat aside {
  display:none
}

}

@media(max-width:599px) {
  .fv-container {
  padding:16px
}
.fv-topbar {
  padding:12px 16px;
  gap:12px
}
.fv-brand span {
  display:none
}
.fv-grid {
  grid-template-columns:1fr
}
.fv-hero-copy {
  padding:24px
}
.fv-heading {
  font-size:28px
}
.fv-chat main {
  padding:18px
}
.fv-message {
  max-width:100%
}
.fv-card {
  padding:18px
}

}

@media(prefers-reduced-motion:reduce) {
  .fv-surface * {
  transition:none!important;
  animation:none!important
}

}


html[data-design-kit="fv-portal"] body:not(:has(#root)) {
  --primary:#d00045;
  --primary2:#af003a;
  --border:#dedbd5;
  --app-font-sans:var(--fv-font);
  --app-font-display-zh:var(--fv-display);
  --app-font-display-en:var(--fv-display)
}

.fv-button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px
}
.fv-surface svg {
  flex-shrink:0
}

/* Existing office and knowledge controls retain their behavior and semantics. */
html[data-design-kit="fv-portal"][data-design-surface]:is([data-design-surface="office-suite"],[data-design-surface="knowledge"],[data-design-surface="aigc"]) body {
  --bg:var(--fv-canvas);
  --bg2:var(--fv-surface);
  --bg3:var(--fv-soft);
  --text:var(--fv-ink);
  --text2:var(--fv-muted);
  --cyan:var(--fv-accent);
  --blue:var(--fv-accent);
  --purple:var(--fv-accent);
  --page-gradient:var(--fv-canvas);
  --brand-gradient:linear-gradient(var(--fv-accent),var(--fv-accent));
  --color-surface-page:var(--fv-canvas);
  --color-surface-card:var(--fv-surface);
  --color-surface-control:var(--fv-surface);
  --color-text-primary:var(--fv-ink);
  --color-text-secondary:var(--fv-muted);
  --color-text-on-accent:#fff;
  --color-border-default:var(--fv-border);
  --nav-bg-scrolled:var(--fv-canvas);
  --card-shadow:transparent;
  background:var(--fv-canvas);
  font-family:var(--fv-font);
  font-size:16px;
  font-weight:400;
  line-height:1.6
}
html[data-design-kit="fv-portal"][data-design-surface]:is([data-design-surface="office-suite"],[data-design-surface="knowledge"],[data-design-surface="aigc"]) :is(.topbar,.panel,.hero-search,.stat,.deck-card,.detail-card,.drop-zone,dialog,.suite-tabs,.suite-tab,.button,.primary,.ghost,.library-button,input,select,textarea) {
  border-radius:6px;
  box-shadow:none
}
html[data-design-kit="fv-portal"][data-design-surface]:is([data-design-surface="office-suite"],[data-design-surface="knowledge"],[data-design-surface="aigc"]) .topbar {
  height:auto;
  min-height:76px!important;
  padding:10px 32px!important;
  background:var(--fv-canvas);
  gap:24px
}
html[data-design-kit="fv-portal"][data-design-surface]:is([data-design-surface="office-suite"],[data-design-surface="knowledge"],[data-design-surface="aigc"]) .fv-static-brand {
  gap:24px
}
html[data-design-kit="fv-portal"][data-design-surface]:is([data-design-surface="office-suite"],[data-design-surface="knowledge"],[data-design-surface="aigc"]) h1 {
  font-family:var(--fv-display);
  font-weight:400;
  letter-spacing:normal;
  line-height:1.35
}
html[data-design-kit="fv-portal"][data-design-surface]:is([data-design-surface="office-suite"],[data-design-surface="knowledge"],[data-design-surface="aigc"]) :is(h2,.deck-title) {
  font-family:var(--fv-font);
  font-size:17px;
  font-weight:700;
  letter-spacing:normal;
  line-height:1.6
}
html[data-design-kit="fv-portal"][data-design-surface]:is([data-design-surface="office-suite"],[data-design-surface="knowledge"],[data-design-surface="aigc"]) :is(button,input,select,textarea) {
  font-family:var(--fv-font)
}
html[data-design-kit="fv-portal"][lang="en"][data-design-surface]:is([data-design-surface="office-suite"],[data-design-surface="knowledge"],[data-design-surface="aigc"]) .topbar {
  font-family:"Segoe UI",Arial,sans-serif;
  font-size:14px;
  line-height:1.55
}
html[data-design-kit="fv-portal"][data-design-surface]:is([data-design-surface="office-suite"],[data-design-surface="knowledge"],[data-design-surface="aigc"]) .topbar :is(button,input,select,textarea) {
  font-family:inherit
}
html[data-design-kit="fv-portal"][data-design-surface="knowledge"] h1,
html[data-design-kit="fv-portal"][data-design-surface="office-suite"] .page-head h1 {
  font-size:38px
}
html[data-design-kit="fv-portal"][data-design-surface="knowledge"] .hero p,
html[data-design-kit="fv-portal"][data-design-surface="office-suite"] .page-desc {
  font-family:var(--fv-font);
  font-size:15px;
  font-weight:400;
  line-height:1.6
}
html[data-design-kit="fv-portal"][data-design-surface="office-suite"] .page-desc {
  max-width:760px
}
html[data-design-kit="fv-portal"][data-design-surface="office-suite"] .page-head h1 {
  line-height:1.3
}
html[data-design-kit="fv-portal"][data-design-surface="office-suite"] .suite-create-chat {
  display:inline-flex;
  align-self:center;
  min-height:44px;
  padding-inline:20px;
  background:var(--fv-accent);
  color:#fff;
  font-family:var(--fv-font);
  font-size:14px;
  font-weight:600;
  text-decoration:none
}
html[data-design-kit="fv-portal"][data-design-surface="office-suite"] .suite-create-chat:is(:hover,:focus-visible) {
  filter:brightness(.9);
}
html[data-design-kit="fv-portal"][data-design-surface="office-suite"] body:has(#empty-state:not(.hidden)) .suite-create-chat {
  display:none;
}
@media(max-width:720px) {
  html[data-design-kit="fv-portal"][data-design-surface="office-suite"] .suite-create-chat { align-self:flex-start; }
}
html[data-design-kit="fv-portal"][data-design-surface="office-suite"] .deck-title {
  line-height:1.5
}
html[data-design-kit="fv-portal"][data-design-surface="knowledge"] .hero {
  padding:28px;
  margin:16px 0 24px;
  background:var(--fv-soft);
  border-radius:6px
}
html[data-design-kit="fv-portal"][data-design-surface="knowledge"] h1 {
  font-size:38px
}
html[data-design-kit="fv-portal"][data-design-surface="knowledge"] :is(.filters,.section-head,.dialog-actions) {
  flex-wrap:wrap
}
html[data-design-kit="fv-portal"][data-design-surface="knowledge"] :is(.asset-main,.library-button,.member-option) {
  min-width:0;
  overflow-wrap:anywhere
}
html[data-design-kit="fv-portal"][data-design-surface="office-suite"] .suite-tabs {
  max-width:100%;
  overflow-x:auto
}

/* Let the FV canvas carry the layout; reserve white for readable content and controls. */
html[data-design-kit="fv-portal"][data-design-surface="knowledge"] .library-panel {
  background:transparent;
  border:0;
  box-shadow:none;
  padding:8px 8px 8px 0;
}
html[data-design-kit="fv-portal"][data-design-surface="knowledge"] .library-panel .section-head {
  margin:0 0 14px;
  padding:0 10px;
}
html[data-design-kit="fv-portal"][data-design-surface="knowledge"] .library-panel .section-head .eyebrow { display:none; }
html[data-design-kit="fv-portal"][data-design-surface="knowledge"] .library-panel .section-head h2 {
  margin:0;
  font-size:20px;
  font-weight:700;
}
html[data-design-kit="fv-portal"][data-design-surface="knowledge"] .library-list { gap:6px; }
html[data-design-kit="fv-portal"][data-design-surface="knowledge"] .fv-library-item {
  display:flex;
  align-items:flex-start;
  gap:12px;
  min-height:78px;
  padding:14px;
  border:1px solid transparent;
  border-radius:8px;
  background:transparent;
  color:var(--fv-ink);
}
html[data-design-kit="fv-portal"][data-design-surface="knowledge"] .fv-library-item:hover {
  background:var(--fv-soft);
}
html[data-design-kit="fv-portal"][data-design-surface="knowledge"] .fv-library-item.active {
  border-color:var(--fv-border);
  background:var(--fv-canvas);
}
html[data-design-kit="fv-portal"][data-design-surface="knowledge"] .fv-library-icon {
  flex:0 0 22px;
  width:22px;
  height:22px;
  margin-top:2px;
  color:var(--fv-ink);
}
html[data-design-kit="fv-portal"][data-design-surface="knowledge"] .fv-library-icon svg { display:block;width:100%;height:100%; }
html[data-design-kit="fv-portal"][data-design-surface="knowledge"] .fv-library-copy {
  display:grid;
  gap:5px;
  min-width:0;
}
html[data-design-kit="fv-portal"][data-design-surface="knowledge"] .fv-library-copy strong {
  font-size:16px;
  line-height:1.35;
  font-weight:700;
}
html[data-design-kit="fv-portal"][data-design-surface="knowledge"] .fv-library-copy .fv-library-visibility {
  color:var(--fv-muted);
  font-size:13px;
  line-height:1.4;
}
html[data-design-kit="fv-portal"][data-design-surface="knowledge"] .fv-library-copy .fv-library-access {
  color:var(--fv-muted);
  font-size:12px;
  line-height:1.35;
}
html[data-design-kit="fv-portal"][data-design-surface="knowledge"] .fv-library-item.active :is(.fv-library-icon,.fv-library-copy strong) { color:var(--fv-accent); }
html[data-design-kit="fv-portal"][data-design-surface="knowledge"] .stats-grid {
  gap:0;
  overflow:hidden;
  border:1px solid var(--fv-border);
  border-radius:6px;
  background:var(--fv-soft);
}
html[data-design-kit="fv-portal"][data-design-surface="knowledge"] .stat {
  background:transparent;
  border:0;
  border-right:1px solid var(--fv-border);
  border-radius:0;
}
html[data-design-kit="fv-portal"][data-design-surface="knowledge"] .stat:last-child { border-right:0; }
html[data-design-kit="fv-portal"][data-design-surface="knowledge"] .upload-panel {
  background:color-mix(in srgb,var(--fv-soft) 50%,var(--fv-canvas));
}
html[data-design-kit="fv-portal"][data-design-surface="knowledge"] .drop-zone {
  background:var(--fv-canvas);
  border-color:var(--fv-border);
}
html[data-design-kit="fv-portal"][data-design-surface="knowledge"] .drop-zone:is(:hover,:focus-visible,.dragging) {
  border-color:var(--fv-accent);
}
html[data-design-kit="fv-portal"][data-design-surface="knowledge"] .library-button.active:not(.fv-library-item) {
  background:#fff3f6;
}
html[data-design-kit="fv-portal"][data-design-surface="knowledge"] :is(.scope-pill,.status.active) {
  background:var(--fv-soft);
  color:var(--fv-muted)!important;
}
html[data-design-kit="fv-portal"][data-design-surface="office-suite"] .suite-tabs {
  gap:20px;
  margin-bottom:20px;
  padding:0;
  border:0;
  border-bottom:1px solid var(--fv-border);
  border-radius:0;
  background:transparent;
  overflow-y:hidden;
  scrollbar-width:none;
}
html[data-design-kit="fv-portal"][data-design-surface="office-suite"] .suite-tabs::-webkit-scrollbar { display:none; }
html[data-design-kit="fv-portal"][data-design-surface="office-suite"] .suite-tab {
  position:relative;
  padding:4px 2px 10px;
  border-radius:0;
  background:transparent;
}
html[data-design-kit="fv-portal"][data-design-surface="office-suite"] .suite-tab.is-active {
  color:var(--fv-accent);
  background:transparent;
}
html[data-design-kit="fv-portal"][data-design-surface="office-suite"] .suite-tab.is-active::after {
  content:"";
  position:absolute;
  right:0;
  bottom:-1px;
  left:0;
  height:2px;
  background:var(--fv-accent);
}
html[data-design-kit="fv-portal"][data-design-surface="office-suite"] .deck-card {
  background:color-mix(in srgb,var(--fv-soft) 50%,var(--fv-canvas));
}
html[data-design-kit="fv-portal"][data-design-surface="office-suite"] .deck-status.is-ready {
  color:#296447;
  background:#e6f1e9;
}
html[data-design-kit="fv-portal"][data-design-surface="office-suite"] .deck-downloads {
  padding:10px 16px 16px;
}
html[data-design-kit="fv-portal"][data-design-surface="office-suite"] .download-button {
  background:var(--fv-canvas);
  border-color:var(--fv-border);
  color:var(--fv-ink);
  gap:6px;
}
html[data-design-kit="fv-portal"][data-design-surface="office-suite"] .download-button:is(:hover,:focus-visible) {
  border-color:var(--fv-accent);
  color:var(--fv-accent);
}
html[data-design-kit="fv-portal"][data-design-surface="office-suite"] .download-badge {
  background:var(--fv-soft);
  color:var(--fv-muted);
}
html[data-design-kit="fv-portal"][data-design-surface="office-suite"] .deck-delete {
  position:static;
  margin-left:auto;
  flex:none;
  width:32px;
  height:32px;
  color:var(--fv-muted);
  background:transparent;
  opacity:1;
}
html[data-design-kit="fv-portal"][data-design-surface="office-suite"] .deck-delete svg {
  width:18px;
  height:18px;
}
html[data-design-kit="fv-portal"][data-design-surface="office-suite"] .deck-delete:is(:hover,:focus-visible) {
  color:var(--fv-accent);
  background:#fff3f6;
}
@media(max-width:900px) {
  html[data-design-kit="fv-portal"][data-design-surface="knowledge"] .library-panel { padding:8px 0; }
}
@media(max-width:560px) {
  html[data-design-kit="fv-portal"][data-design-surface="knowledge"] .stat { border-right:0; border-bottom:1px solid var(--fv-border); }
  html[data-design-kit="fv-portal"][data-design-surface="knowledge"] .stat:last-child { border-bottom:0; }
}
@media(max-width:599px) {
  html[data-design-kit="fv-portal"][data-design-surface="knowledge"] .hero {
    padding:20px
  }
  html[data-design-kit="fv-portal"][data-design-surface]:is([data-design-surface="office-suite"],[data-design-surface="knowledge"],[data-design-surface="aigc"]) .topbar {
    flex-wrap:wrap;
    padding:12px 16px
  }
  html[data-design-kit="fv-portal"][data-design-surface="knowledge"] h1 {
    font-size:28px
  }
  html[data-design-kit="fv-portal"][data-design-surface="office-suite"] .page-head h1 {
    font-size:28px
  }
}
.fv-topbar > .fv-row {
  min-width:0;
  justify-content:flex-end
}
.fv-topbar > .fv-row > .fv-muted {
  max-width:200px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap
}

.fv-brand-fallback { display:none; font-family:var(--fv-display); }
.fv-logo[hidden] + .fv-brand-fallback { display:block; }
.fv-hero:has(.fv-hero-photo[hidden]) { grid-template-columns:1fr; }
@font-face {
  font-family:FVLatin;
  src:url('assets/font-e67ddf8c385e.otf');
  font-weight:700;
  font-display:swap
}

html[data-design-kit="fv-portal"][data-design-surface="knowledge"] .search-row button {
  flex-shrink:0;
  white-space:nowrap
}

/* Embedded administrative pages have their own document and theme tokens. */
html[data-design-kit="fv-portal"][data-design-surface="console-v2"] body {
  --bg:var(--fv-canvas);
  --bg2:var(--fv-surface);
  --bg3:var(--fv-soft);
  --text:var(--fv-ink);
  --text2:var(--fv-muted);
  --text3:var(--fv-muted);
  --border:var(--fv-border);
  --border-strong:var(--fv-muted);
  --panel-bg:var(--fv-surface);
  --card-bg:var(--fv-surface);
  --control-bg:var(--fv-surface);
  --control-bg-strong:var(--fv-soft);
  --cyan:var(--fv-accent);
  --blue:var(--fv-accent);
  --purple:var(--fv-accent);
  --brand-gradient:linear-gradient(var(--fv-accent),var(--fv-accent));
  --primary-text:#fff;
  --card-shadow:transparent;
  background:var(--fv-canvas);
  color:var(--fv-ink);
  font-family:var(--fv-font);
}
html[data-design-kit="fv-portal"][data-design-surface="console-v2"] :is(.card,.stat,.btn,input,select,.drawer,.modal-card) {
  border-radius:6px;
  box-shadow:none;
}

/* FV composer: show focus on the whole field, not the inner textarea. */
html[data-design-kit="fv-portal"] :is(.liquora-chat-composer,.liquora-home-composer) .bg-blue-50 {
  background:#fff3f6;
  color:var(--fv-accent);
}
html[data-design-kit="fv-portal"] :is(.liquora-chat-composer,.liquora-home-composer) .bg-blue-50 svg {
  color:var(--fv-accent);
}
html[data-design-kit="fv-portal"] .liquora-chat-themed [data-mode="v2"] {
  background:var(--fv-canvas)!important;
}
html[data-design-kit="fv-portal"] .liquora-chat-themed [data-liquora-thread-viewport] {
  background:transparent;
}
html[data-design-kit="fv-portal"] .liquora-chat-themed .liquora-thread-list-item[data-active="true"] {
  background:var(--fv-soft)!important;
  border-color:var(--fv-border)!important;
  box-shadow:none;
}
/* The reply reads as part of the page; only the user's message needs a quiet bubble. */
html[data-design-kit="fv-portal"] .liquora-chat-themed [data-liquora-message-id] > .bg-slate-50 {
  background:transparent!important;
  border:0;
  box-shadow:none!important;
  padding:2px 0;
}
html[data-design-kit="fv-portal"] .liquora-chat-themed .liquora-user-message-bubble {
  background:var(--fv-soft)!important;
  color:var(--fv-ink)!important;
  border:1px solid var(--fv-border);
  border-radius:16px 16px 5px 16px;
  box-shadow:none!important;
}
html[data-design-kit="fv-portal"] .liquora-chat-themed .liquora-user-message-bubble :is(.liquora-user-message-text,.text-white) {
  color:var(--fv-ink)!important;
}
html[data-design-kit="fv-portal"] .liquora-chat-themed .liquora-user-message-bubble button {
  color:var(--fv-ink)!important;
  background:transparent!important;
}
html[data-design-kit="fv-portal"] .liquora-chat-themed .liquora-user-message-bubble button:hover {
  background:var(--fv-canvas)!important;
}
html[data-design-kit="fv-portal"] .liquora-chat-themed .liquora-user-message-bubble .liquora-user-skill-pill {
  background:#fff3f6!important;
  border-color:color-mix(in srgb,var(--fv-accent) 20%,var(--fv-border))!important;
  color:var(--fv-accent)!important;
}
html[data-design-kit="fv-portal"] .liquora-chat-themed .liquora-user-message-bubble .liquora-user-skill-pill svg {
  color:var(--fv-accent)!important;
}
html[data-design-kit="fv-portal"] .liquora-chat-themed .liquora-user-message-bubble > .bg-white\/10 {
  background:#e9e5df;
  color:var(--fv-ink);
}
html[data-design-kit="fv-portal"] .liquora-chat-themed .liquora-user-message-bubble > .bg-white\/10 .bg-white\/10 {
  background:var(--fv-canvas);
  color:var(--fv-accent);
}
html[data-design-kit="fv-portal"] .liquora-chat-themed .liquora-user-message-bubble > .bg-white\/10 .text-sky-200 {
  color:var(--fv-accent);
}
html[data-design-kit="fv-portal"] .liquora-chat-themed .liquora-user-message-bubble > .bg-white\/10 .text-slate-300 {
  color:var(--fv-muted);
}
html[data-design-kit="fv-portal"] .liquora-chat-themed :has(> .liquora-chat-composer) {
  background-color:transparent!important;
  border-radius:0;
  padding-top:0;
  padding-bottom:0;
}
.fv-header-actions { display:flex; align-items:center; gap:20px; }
.fv-language-switch { display:flex; gap:4px; }
.fv-language-switch button,.fv-account-trigger { background:transparent; color:var(--fv-muted); border:0; border-radius:4px; min-height:40px; cursor:pointer; }
.fv-language-switch button { width:44px; position:relative; font-size:14px; }
.fv-language-switch button[aria-pressed=true] { color:var(--fv-ink); font-weight:600; }
.fv-language-switch button[aria-pressed=true]::after { content:''; position:absolute; left:12px; right:12px; bottom:3px; height:2px; background:var(--fv-accent); }
.fv-account-trigger { display:flex; align-items:center; gap:8px; padding:0 10px; color:var(--fv-ink); }
.fv-account-trigger span { max-width:140px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.fv-language-switch button:hover,.fv-account-trigger:hover { background:var(--fv-soft); }
html[data-design-kit="fv-portal"] .fv-account-menu { background:var(--fv-canvas); color:var(--fv-ink); border-color:var(--fv-border); min-width:180px; font-family:var(--fv-font); }
html[data-design-kit="fv-portal"] .fv-account-menu [role=menuitem] { min-height:40px; cursor:pointer; }
html[data-design-kit="fv-portal"] .fv-account-menu [role=menuitem]:focus { background:var(--fv-soft); color:var(--fv-ink); }
.fv-portal-home .fv-topbar { min-height:76px; padding:10px 32px; }
.fv-portal-home .fv-logo { width:100px; }
.fv-portal-home .fv-container { padding:20px 32px 12px; }
.fv-portal-home .fv-hero { min-height:0; }
.fv-portal-home .fv-hero-copy { padding:24px 30px; }
.fv-portal-home .fv-hero-copy > p:first-child { margin:0 0 16px; }
.fv-portal-home .fv-hero-photo { min-height:0; height:100%; }
.fv-portal-home .fv-grid { grid-template-columns:repeat(3,minmax(0,1fr)); margin:20px 0 0; }
.fv-portal-home .fv-entry { min-height:180px; padding:20px; gap:10px; }
.fv-portal-home .fv-footer { margin-top:20px; padding:12px 0; }
@media(min-width:900px) {
  .fv-portal-home .fv-hero { min-height:clamp(230px,30vh,280px); position:relative; }
  .fv-portal-home .fv-hero-copy { padding-block:28px; }
  .fv-portal-home .fv-hero-photo { position:absolute; inset:0 0 0 40%; width:60%; }
  .fv-portal-home .fv-heading { font-size:clamp(26px,2.4vw,32px); line-height:1.2; }
}
@media(max-width:899px) {
  .fv-portal-home .fv-hero-photo { height:180px; }
  .fv-portal-home .fv-grid { grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); }
}
@media(min-width:900px) and (max-height:700px) {
  .fv-portal-home .fv-container { padding-top:16px; padding-bottom:8px; }
  .fv-portal-home .fv-grid { margin-top:16px; }
  .fv-portal-home .fv-footer { margin-top:16px; padding-block:8px; }
}
@media(max-width:599px) {
  .fv-portal-home .fv-topbar { padding:10px 16px; flex-wrap:wrap; gap:8px; }
  .fv-header-actions { gap:8px; }
  .fv-account-trigger span { max-width:76px; }
  .fv-portal-home .fv-container { padding:16px; }
  .fv-portal-home .fv-hero-copy { padding:24px; }
  .fv-portal-home .fv-grid { grid-template-columns:1fr; }
}

html[data-design-kit="fv-portal"] .liquora-home-composer:focus-within,
html[data-design-kit="fv-portal"] .liquora-chat-composer:focus-within {
  border:1px solid var(--fv-accent) !important;
}
html[data-design-kit="fv-portal"] .liquora-home-composer textarea:focus-visible,
html[data-design-kit="fv-portal"] .liquora-chat-composer textarea:focus-visible {
  outline:none;
  box-shadow:none;
}
/* Keep the primary action independent of translated aria-labels. */
html[data-design-kit="fv-portal"] .liquora-home-composer [data-composer-action="send"]:not(:disabled),
html[data-design-kit="fv-portal"] .liquora-chat-themed .liquora-chat-composer button[type="submit"]:not(:disabled):not([aria-disabled="true"]) {
  background-color:var(--fv-accent) !important;
  color:#fff !important;
  border-radius:50%;
}
html[data-design-kit="fv-portal"] .liquora-chat-themed .liquora-chat-composer button[type="submit"]:not(:disabled):not([aria-disabled="true"]):hover {
  background-color:var(--lq-chat-primary-hover) !important;
  color:#fff !important;
}

/* Employee portal entry feedback, shared with the FV demo. */
.fv-portal-home .fv-entry { position:relative; overflow:hidden; animation:fv-card-enter 420ms cubic-bezier(.22,.61,.36,1) backwards; animation-delay:calc(var(--fv-card-order,0) * 55ms); }
.fv-portal-home .fv-entry-icon { position:relative; isolation:isolate; display:grid; place-items:center; width:28px; height:28px; margin:8px 0; transition:color 180ms ease; }
.fv-portal-home .fv-office-suite-icon { display:block; width:var(--fv-office-icon-size,28px); height:var(--fv-office-icon-size,28px); }
.fv-portal-home .fv-entry-icon::before { content:''; position:absolute; inset:-8px; border-radius:50%; background:var(--fv-accent); opacity:0; z-index:-1; transition:opacity 180ms ease; }
.fv-portal-home .fv-entry:is(:hover,:focus-visible,:active):not(:disabled) { background:var(--fv-canvas); border-color:var(--fv-border); }
.fv-portal-home .fv-entry:is(:hover,:focus-visible,:active):not(:disabled) .fv-entry-icon { color:#fff; }
.fv-portal-home .fv-entry:is(:hover,:focus-visible,:active):not(:disabled) .fv-entry-icon::before { opacity:1; }
.fv-portal-home .fv-entry .fv-action { transition:color 180ms ease; }
.fv-portal-home .fv-entry .fv-action svg { transition:transform 180ms ease; }
.fv-portal-home .fv-entry:is(:hover,:focus-visible,:active):not(:disabled) .fv-action { color:var(--fv-accent); }
.fv-portal-home .fv-entry:is(:hover,:focus-visible,:active):not(:disabled) .fv-action svg { transform:translateX(3px); }
@keyframes fv-card-enter { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }
@media(prefers-reduced-motion:reduce) { .fv-portal-home .fv-entry,.fv-portal-home .fv-entry *,.fv-portal-home .fv-entry-icon::before { animation:none!important; transition:none!important; } }

/* FV employee guide has its own document layout and chapter navigation. */
html[data-design-kit="fv-portal"] .fv-guide { min-height:100vh; height:auto; overflow:visible; background:var(--fv-canvas); color:var(--fv-ink); font-family:var(--fv-font); }
.fv-guide-topbar { min-height:76px; padding:10px 32px; position:sticky; top:0; z-index:20; background:var(--fv-canvas); }
.fv-guide-topbar .fv-logo { width:100px; }
.fv-guide-brand-button { padding:0; border:0; background:transparent; cursor:pointer; text-align:left; }
.fv-guide-layout { display:grid; grid-template-columns:240px minmax(0,1fr); max-width:1280px; margin:auto; }
.fv-guide-sidebar { align-self:start; position:sticky; top:76px; padding:28px 20px 32px 32px; }
.fv-guide-container { min-width:0; width:min(100%,920px); margin:0; padding:32px 40px 72px; }
.fv-guide-back { display:inline-flex; align-items:center; gap:8px; padding:8px 0; border:0; background:transparent; color:var(--fv-muted); cursor:pointer; }
.fv-guide-back:hover { color:var(--fv-accent); }
.fv-guide-sidebar-title { margin:28px 0 14px; font-size:12px; font-weight:700; color:var(--fv-muted); letter-spacing:.08em; }
.fv-guide-intro { padding:36px 0 32px; border-bottom:1px solid var(--fv-border); }
.fv-guide-eyebrow { color:var(--fv-accent); font-size:11px; font-weight:700; letter-spacing:.13em; }
.fv-guide-intro h1 { margin:14px 0; font:400 clamp(34px,4vw,52px)/1.25 var(--fv-display); }
.fv-guide-intro p,.fv-guide-lead { color:var(--fv-muted); font-size:16px; line-height:1.7; }
.fv-guide-nav { display:flex; flex-direction:column; gap:4px; }
.fv-guide-nav a { display:flex; align-items:center; gap:12px; padding:10px 12px; border-radius:4px; color:var(--fv-muted); font-size:14px; text-decoration:none; }
.fv-guide-nav a span { color:var(--fv-accent); font-size:11px; font-weight:700; }
.fv-guide-nav a:hover,.fv-guide-nav a:focus-visible { color:var(--fv-accent); background:var(--fv-soft); }
.fv-guide-section { padding:44px 0; border-bottom:1px solid var(--fv-border); scroll-margin-top:92px; }
.fv-guide-section h2 { margin:12px 0 10px; font:400 clamp(28px,3vw,38px)/1.3 var(--fv-display); }
.fv-guide-section h3 { margin:28px 0 12px; font-size:18px; font-weight:700; }
.fv-guide-section :is(ol,ul) { margin:0; padding-left:24px; line-height:1.9; }
.fv-guide-section li { padding-left:6px; margin:5px 0; }
.fv-guide-section blockquote { margin:0; padding:20px 24px; border-left:2px solid var(--fv-accent); background:var(--fv-soft); line-height:1.85; white-space:pre-line; }
.fv-guide-image-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.fv-guide-image { display:block; width:100%; margin-top:20px; padding:0; overflow:hidden; border:1px solid var(--fv-border); border-radius:6px; background:var(--fv-surface); color:var(--fv-muted); text-align:left; cursor:zoom-in; }
.fv-guide-image img { display:block; width:100%; height:auto; max-height:280px; object-fit:contain; }
.fv-guide-image span { display:block; padding:8px 12px; font-size:12px; }
.fv-guide-image:hover { border-color:var(--fv-accent); }
.fv-guide-result { margin:18px 0 0; color:var(--fv-muted); line-height:1.8; }
.fv-guide-footer { padding-top:24px; color:var(--fv-muted); font-size:12px; }
.fv-guide-lightbox { position:fixed; z-index:2000; inset:0; display:grid; place-items:center; padding:56px 24px 24px; background:rgba(20,18,17,.85); }
.fv-guide-lightbox img { max-width:100%; max-height:100%; object-fit:contain; }
.fv-guide-lightbox button { position:absolute; top:16px; right:20px; border:0; background:transparent; color:white; cursor:pointer; }
@media(max-width:700px) {
  .fv-guide-topbar { padding:10px 16px; }
  .fv-guide-layout { display:block; }
  .fv-guide-sidebar { position:static; padding:16px 20px; border-bottom:1px solid var(--fv-border); }
  .fv-guide-sidebar-title { margin:10px 0; }
  .fv-guide-nav { flex-direction:row; overflow-x:auto; }
  .fv-guide-nav a { flex:none; }
  .fv-guide-container { padding:18px 20px 48px; }
  .fv-guide-image-grid { grid-template-columns:1fr; }
}
/* FV presentation builder: a single quiet surface with compact controls. */
html[data-design-kit="fv-portal"][data-design-surface="office-suite"] {
  #deck-builder { order:-2; margin:0 0 36px; }
  .deck-builder-heading { flex-direction:column; align-items:flex-start; gap:8px; margin-bottom:18px; }
  #deck-builder-title { font:400 clamp(26px,3vw,32px)/1.35 var(--fv-display); }
  .deck-builder-heading .eyebrow { display:none; }
  .deck-builder-heading p { max-width:none; margin:0; text-align:left; color:var(--fv-muted); font-size:14px; line-height:1.6; }
  .deck-builder-form { background:color-mix(in srgb,var(--fv-canvas) 60%,var(--fv-soft)); border:1px solid var(--fv-border); border-radius:12px; box-shadow:none; }
  .deck-builder-form:focus-within { border-color:var(--fv-accent); box-shadow:none; }
  #deck-topic { min-height:144px; padding:20px 22px; background:transparent; border:0; border-radius:12px 12px 0 0; font:400 16px/1.7 var(--fv-font); color:var(--fv-ink); }
  #deck-topic:focus { outline:none!important; box-shadow:none!important; }
  #deck-topic::placeholder { color:var(--fv-muted); opacity:1; }
  .builder-toolbar { flex-wrap:wrap; gap:10px; padding:12px 16px; border-top:1px solid var(--fv-border); }
  :is(.builder-field,.builder-control) { min-height:42px; background:transparent; border:1px solid transparent; border-radius:6px; color:var(--fv-ink); font-family:var(--fv-font); }
  .builder-field { gap:8px; padding:0 10px; }
  .builder-field > span { color:var(--fv-muted); font-size:13px; font-weight:400; }
  .builder-field select { min-height:36px; padding:4px; border:0; background:transparent; font:400 14px/1.4 var(--fv-font); color:var(--fv-ink); }
  .builder-field select:focus { outline:none!important; box-shadow:none!important; }
  :is(.builder-control:hover,.builder-field:hover) { background:var(--fv-soft); }
  :is(.builder-control:focus-visible,.builder-field:focus-within) { border-color:var(--fv-accent); outline:none!important; box-shadow:none!important; }
  .builder-control { font-size:14px; padding:0 10px; }
  .template-trigger { min-width:160px; }
  .template-trigger small { font:400 11px/1.4 var(--fv-font); color:var(--fv-muted); }
  .template-trigger strong { font:400 14px/1.4 var(--fv-font); }
  .template-panel { background:var(--fv-canvas); border:1px solid var(--fv-border); border-radius:10px; box-shadow:0 12px 30px rgba(36,36,36,.12); max-width:calc(100vw - 48px); }
  .template-option { background:transparent; border-color:var(--fv-border); color:var(--fv-ink); }
  .template-option.is-selected { border-color:var(--fv-accent); background:#fff3f6; }
  .attachment-chip { background:var(--fv-soft); border-color:var(--fv-border); color:var(--fv-ink); }
  .generate-deck { min-height:42px; border-radius:6px; background:var(--fv-accent); color:#fff; font:700 14px/1.4 var(--fv-font); }
  .generate-deck:disabled { background:var(--fv-border); color:var(--fv-muted); opacity:1; filter:none; }
  .generate-deck.is-generating:disabled { background:#fff3f6; color:var(--fv-accent); }
  .generation-status { background:var(--fv-soft); border-color:var(--fv-border); box-shadow:none; border-radius:0 0 12px 12px; }
  .generation-progress i { background:var(--fv-accent); }
  body:has(#tab-decks[aria-selected="true"]) :is(.suite-create-chat,#empty-state > a) { display:none; }
}
@media(max-width:700px) {
  html[data-design-kit="fv-portal"][data-design-surface="office-suite"] {
    .builder-toolbar { gap:6px; padding:10px; }
    #deck-topic { padding:16px; }
    .generate-deck { flex:1 0 100%; margin-left:0; }
    .template-panel { left:auto; right:0; }
  }
}

/* Put creation first; the existing localized page heading labels saved decks. */
html[data-design-kit="fv-portal"][data-design-surface="office-suite"] {
  main { display:flex; flex-direction:column; }
  main > .liquora-app-home-trail { order:-4; }
  main > .suite-tabs { order:-3; align-self:stretch; margin-bottom:28px; gap:28px; }
  .suite-tab { padding:8px 2px 12px; font-size:16px; }
  body:has(#tab-decks[aria-selected="true"]) {
    .page-head { order:-1; margin:0 0 18px; padding-top:24px; border-top:1px solid var(--fv-border); }
    .page-head :is(.eyebrow,.page-desc) { display:none; }
    .page-head h1 { margin:0; font:400 clamp(26px,3vw,32px)/1.35 var(--fv-display); letter-spacing:normal; }
  }
}
