textarea.form-control.codebox{tab-size:4}
.fc-debugbar{position:fixed;left:0;right:0;bottom:0;z-index:9999;background:#111827;color:#e5e7eb;padding:7px 14px;border-top:1px solid #374151;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.fc-debugbar strong{color:#fff}.fc-main{padding-bottom:34px}.fc-card-icon{width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;background:#eef2ff}.fc-module-badge{font-size:.75rem}
.fc-package-manifest{max-height:260px;overflow:auto;background:#111827;color:#e5e7eb;border-radius:.75rem;padding:1rem;font-size:.82rem}

/* FrameCore RC1 Build 165.3 - restore the proven compact typography on top of the native OneUI runtime. */
:root,
[data-bs-theme="light"],
[data-bs-theme="dark"] {
  --bs-body-font-size: .875rem;
  --bs-body-font-weight: 300;
  --bs-body-line-height: 1.4;

  --fc-h1-font-size: 1.35rem;
  --fc-h2-font-size: 1.22rem;
  --fc-h3-font-size: 1.12rem;
  --fc-h4-font-size: 1.02rem;
  --fc-h5-font-size: .95rem;
  --fc-h6-font-size: .875rem;
}

html,
body {
  font-size: var(--bs-body-font-size);
  font-weight: var(--bs-body-font-weight);
  line-height: var(--bs-body-line-height);
}

h1, .h1 { font-size: var(--fc-h1-font-size); }
h2, .h2 { font-size: var(--fc-h2-font-size); }
h3, .h3 { font-size: var(--fc-h3-font-size); }
h4, .h4 { font-size: var(--fc-h4-font-size); }
h5, .h5 { font-size: var(--fc-h5-font-size); }
h6, .h6 { font-size: var(--fc-h6-font-size); }

h1, .h1,
h2, .h2,
h3, .h3,
h4, .h4,
h5, .h5,
h6, .h6,
.card-title,
.block-title,
.content-heading,
.page-heading {
  font-weight: 500;
  line-height: 1.25;
}

.card-header,
.card-footer,
.card-body,
.block-header,
.block-content {
  font-size: var(--bs-body-font-size);
}

.content-heading,
.page-heading,
.block-title,
.card-header h1,
.card-header h2,
.card-header h3,
.card-header h4,
.card-header h5,
.card-header h6,
.card-body h1,
.card-body h2,
.card-body h3,
.card-body h4,
.card-body h5,
.card-body h6 {
  font-size: var(--fc-h5-font-size);
}

.table,
.form-control,
.form-select,
.btn,
.dropdown-menu,
.nav-link,
.list-group-item,
.input-group-text,
.badge,
.form-check-label,
.modal-body,
.modal-title,
.alert,
.breadcrumb,
.pagination,
.accordion-button,
.accordion-body {
  font-size: var(--bs-body-font-size);
}

.form-label {
  font-size: .82rem;
  margin-bottom: .25rem;
  font-weight: 400;
}

input[type="file"].form-control,
.form-control[type="file"],
.input-group > input[type="file"].form-control,
.input-group > .form-control[type="file"] {
  font-size: .84rem;
  line-height: 1.3;
  padding: .26rem .48rem;
  min-height: 2rem;
}

input[type="file"].form-control::file-selector-button,
.form-control[type="file"]::file-selector-button,
.input-group > input[type="file"].form-control::file-selector-button,
.input-group > .form-control[type="file"]::file-selector-button {
  font-size: .84rem;
  line-height: 1.3;
  padding: .26rem .48rem;
  margin: -.26rem .48rem -.26rem -.48rem;
}

.input-group > .btn,
.input-group > .input-group-text {
  font-size: .84rem;
  line-height: 1.3;
  padding: .26rem .58rem;
  min-height: 2rem;
}

.btn {
  font-weight: 400;
  line-height: 1.3;
  padding: .32rem .62rem;
}

.btn-sm,
.btn-group-sm > .btn {
  font-size: .80rem;
  padding: .22rem .45rem;
}

small,
.small,
.text-muted,
.form-text {
  font-size: .78rem;
}

.card-body { padding: .9rem 1rem; }
.card-header,
.card-footer { padding: .65rem 1rem; }
.card-header .card-title,
.card-body .card-title { margin-bottom: .35rem; }

.nav-tabs .nav-link,
.nav-pills .nav-link {
  padding: .42rem .7rem;
}

.table > :not(caption) > * > * {
  padding: .42rem .55rem;
}

.badge,
.nav-tabs .badge,
.nav-pills .badge,
.btn .badge,
.fc-module-badge {
  font-size: .70rem;
  font-weight: 500;
  line-height: 1.05;
  padding: .22em .45em;
}

.badge.rounded-pill {
  padding-right: .5em;
  padding-left: .5em;
}

.card .badge,
.table .badge {
  font-size: .68rem;
}

/* OneUI native shell additions: keep navigation and header controls on the same compact scale. */
.nav-main-link,
.nav-main-heading,
#page-header .btn,
#sidebar .btn,
#side-overlay .btn,
.content-header,
.block-options-item {
  font-size: var(--bs-body-font-size);
}


/* FrameCore RC1 Build 165.4 - native OneUI spacing compatibility.
 * OneUI intentionally uses 1px bottom padding in .content and .block-content,
 * expecting the last child margin to create the visual bottom space. FrameCore
 * components do not consistently follow that convention, so lower edges were
 * clipped or visually compressed. Keep the vendor layer untouched and provide
 * explicit, compact spacing in the protected FrameCore layer. */
#main-container > .content {
  padding-bottom: 1rem;
}

.block-content:not(.block-content-full) {
  padding-bottom: 1rem;
}

.block-content.block-content-sm:not(.block-content-full) {
  padding-bottom: .625rem;
}

.block-content > :last-child,
.block-content > form:last-child > :last-child,
.block-content > .row:last-child,
.block-content > .table-responsive:last-child {
  margin-bottom: 0;
}

.fc-page-header {
  margin-bottom: .85rem;
}

.fc-callout,
.fc-filterbar {
  margin-bottom: .85rem;
}

.fc-stat .block-content {
  min-height: 4.75rem;
  padding-top: .85rem;
  padding-bottom: .85rem;
}

.fc-stat .fc-stat-icon {
  flex: 0 0 auto;
  margin-left: .75rem;
}

/* Keep a sidebar-header mini-toggle visually collapsed after it is clicked.
 * Without this guard the OneUI hover-expand rule wins immediately because the
 * pointer is still above #sidebar. The guard is removed on mouseleave. */
@media (min-width: 992px) {
  #page-container.sidebar-mini.sidebar-o.fc-sidebar-mini-click-lock #sidebar,
  #page-container.sidebar-mini.sidebar-o.fc-sidebar-mini-click-lock #sidebar:hover {
    transform: translateX(-190px) translateY(0) translateZ(0) !important;
  }

  #page-container.sidebar-mini.sidebar-o.fc-sidebar-mini-click-lock #sidebar .content-header,
  #page-container.sidebar-mini.sidebar-o.fc-sidebar-mini-click-lock #sidebar .content-side,
  #page-container.sidebar-mini.sidebar-o.fc-sidebar-mini-click-lock #sidebar:hover .content-header,
  #page-container.sidebar-mini.sidebar-o.fc-sidebar-mini-click-lock #sidebar:hover .content-side {
    width: 250px;
    transform: translateX(190px) translateY(0) translateZ(0) !important;
  }
}

/* Build 064 - project file versioning */
.fc-compare-box{max-height:68vh;overflow:auto;background:#0f172a;color:#e5e7eb;font-size:.78rem;line-height:1.45;padding:1rem;}
.fc-compare-line{display:block;white-space:pre-wrap;border-bottom:1px solid rgba(255,255,255,.04);}
.fc-file-row .btn .badge{font-size:.62rem;vertical-align:middle;}

/* FrameCore RC1 Build 065 - editor-like side-by-side diff */
.fc-diff-toolbar{display:flex;gap:.5rem;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-bottom:.75rem;}
.fc-diff-legend{display:flex;gap:.5rem;flex-wrap:wrap;font-size:.78rem;color:#64748b;}
.fc-diff-legend span{display:inline-flex;align-items:center;gap:.35rem;padding:.18rem .45rem;border:1px solid var(--bs-border-color);border-radius:.4rem;background:var(--bs-body-bg);}
.fc-diff-legend i{width:.65rem;height:.65rem;border-radius:.2rem;display:inline-block;}
.fc-diff-legend .add{background:#dcfce7;border:1px solid #86efac;}
.fc-diff-legend .del{background:#fee2e2;border:1px solid #fecaca;}
.fc-diff-legend .chg{background:#fef3c7;border:1px solid #fde68a;}
.fc-diff-wrap{border:1px solid var(--bs-border-color);border-radius:.75rem;overflow:hidden;background:var(--bs-body-bg);}
.fc-diff-head{display:grid;grid-template-columns:1fr 1fr;background:var(--bs-tertiary-bg);border-bottom:1px solid var(--bs-border-color);font-weight:600;font-size:.82rem;}
.fc-diff-head>div{padding:.55rem .75rem;}
.fc-diff-head>div+div{border-left:1px solid var(--bs-border-color);}
.fc-diff-table{width:100%;border-collapse:collapse;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:.78rem;line-height:1.45;}
.fc-diff-table td{vertical-align:top;padding:0;border-bottom:1px solid rgba(148,163,184,.18);}
.fc-diff-table tr:last-child td{border-bottom:0;}
.fc-diff-cell{display:grid;grid-template-columns:3.8rem 1.4rem minmax(0,1fr);min-height:1.7rem;}
.fc-diff-left{border-right:1px solid var(--bs-border-color);}
.fc-diff-ln{color:#94a3b8;text-align:right;padding:.18rem .55rem;background:rgba(148,163,184,.08);user-select:none;}
.fc-diff-mark{text-align:center;font-weight:700;padding:.18rem .25rem;user-select:none;}
.fc-diff-code{white-space:pre-wrap;word-break:break-word;padding:.18rem .55rem;}
.fc-diff-equal .fc-diff-mark{color:#94a3b8;}
.fc-diff-add{background:#ecfdf5;}
.fc-diff-add .fc-diff-ln,.fc-diff-add .fc-diff-mark{background:#dcfce7;color:#15803d;}
.fc-diff-del{background:#fff1f2;}
.fc-diff-del .fc-diff-ln,.fc-diff-del .fc-diff-mark{background:#fee2e2;color:#b91c1c;}
.fc-diff-change{background:#fffbeb;}
.fc-diff-change .fc-diff-ln,.fc-diff-change .fc-diff-mark{background:#fef3c7;color:#b45309;}
.fc-diff-empty{background:repeating-linear-gradient(135deg, rgba(148,163,184,.06), rgba(148,163,184,.06) 6px, transparent 6px, transparent 12px);}
.fc-diff-summary{font-size:.8rem;color:#64748b;}
.dark .fc-diff-add{background:rgba(22,101,52,.22);}
.dark .fc-diff-add .fc-diff-ln,.dark .fc-diff-add .fc-diff-mark{background:rgba(34,197,94,.16);color:#86efac;}
.dark .fc-diff-del{background:rgba(127,29,29,.24);}
.dark .fc-diff-del .fc-diff-ln,.dark .fc-diff-del .fc-diff-mark{background:rgba(239,68,68,.16);color:#fecaca;}
.dark .fc-diff-change{background:rgba(120,53,15,.22);}
.dark .fc-diff-change .fc-diff-ln,.dark .fc-diff-change .fc-diff-mark{background:rgba(245,158,11,.16);color:#fcd34d;}

/* FrameCore RC1 Build 119 - Component Library Foundation */
.fc-page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1rem;}
.fc-page-header h1{font-size:1.35rem;margin:0;line-height:1.2;}
.fc-page-subtitle{color:var(--bs-secondary-color);font-size:.86rem;margin-top:.25rem;max-width:70rem;}
.fc-actions{display:flex;gap:.45rem;align-items:center;flex-wrap:wrap;}
.fc-stat .block-content{min-height:5rem;}
.fc-stat-mini{border:1px solid var(--bs-border-color);border-radius:.75rem;padding:.75rem;background:var(--bs-body-bg);height:100%;}
.fc-stat-mini .fc-stat-value{font-size:1.25rem;font-weight:700;line-height:1.1;}
.fc-stat-mini .fc-stat-label{color:var(--bs-secondary-color);font-size:.78rem;margin-top:.2rem;}
.fc-component-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem;}
.fc-component-tile{border:1px solid var(--bs-border-color);border-radius:.75rem;padding:.85rem;background:var(--bs-body-bg);height:100%;}
.fc-component-tile h4{font-size:.95rem;margin:0 0 .3rem 0;}
.fc-component-tile p{font-size:.8rem;color:var(--bs-secondary-color);margin-bottom:.55rem;}
.fc-callout{border:1px solid var(--bs-border-color);border-left-width:.28rem;border-radius:.75rem;padding:.85rem;background:var(--bs-body-bg);}
.fc-callout-info{border-left-color:var(--bs-info);}
.fc-callout-success{border-left-color:var(--bs-success);}
.fc-callout-warning{border-left-color:var(--bs-warning);}
.fc-callout-danger{border-left-color:var(--bs-danger);}
.fc-empty-state{text-align:center;border:1px dashed var(--bs-border-color);border-radius:.85rem;padding:2rem 1rem;background:var(--bs-tertiary-bg);}
.fc-empty-state .fc-empty-icon{font-size:2rem;color:var(--bs-secondary-color);margin-bottom:.5rem;}
.fc-settings-row{display:grid;grid-template-columns:minmax(170px,260px) minmax(0,1fr);gap:1rem;align-items:start;border-bottom:1px solid var(--bs-border-color);padding:.85rem 0;}
.fc-settings-row:last-child{border-bottom:0;}
.fc-settings-row .fc-settings-label{font-weight:600;}
.fc-settings-row .fc-settings-help{color:var(--bs-secondary-color);font-size:.78rem;margin-top:.2rem;}
.fc-copybox{border:1px solid var(--bs-border-color);border-radius:.75rem;background:var(--bs-tertiary-bg);padding:.85rem;max-height:28rem;overflow:auto;font-size:.78rem;line-height:1.45;white-space:pre-wrap;word-break:break-word;}
.fc-codeblock{border:1px solid var(--bs-border-color);border-radius:.75rem;background:#0f172a;color:#e5e7eb;padding:.85rem;overflow:auto;font-size:.78rem;line-height:1.45;}
.fc-definition-list{display:grid;grid-template-columns:minmax(150px,220px) minmax(0,1fr);gap:.35rem .9rem;margin:0;}
.fc-definition-list dt{font-weight:600;color:var(--bs-secondary-color);}
.fc-definition-list dd{margin:0;min-width:0;word-break:break-word;}
.fc-compact-table th,.fc-compact-table td{vertical-align:middle;}
.fc-compact-table code{white-space:normal;word-break:break-word;}
.fc-filterbar{display:flex;gap:.5rem;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-bottom:.75rem;}
.fc-component-snippet{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:.78rem;}
@media (max-width: 767.98px){.fc-settings-row{grid-template-columns:1fr;gap:.35rem}.fc-page-header{display:block}.fc-actions{margin-top:.75rem}.fc-definition-list{grid-template-columns:1fr}}

/* FrameCore RC1 Build 120 - Component Library UX polish */
.fc-component-workspace .block-content{overflow:visible}
.fc-clean-tabs{gap:.35rem;border-bottom:1px solid rgba(0,0,0,.08);padding-bottom:.75rem}
.fc-clean-tabs .nav-link{border-radius:.5rem;color:#4b5563;padding:.45rem .75rem;font-weight:500}
.fc-clean-tabs .nav-link.active{background:#111827;color:#fff;box-shadow:none}
.fc-component-tab-content{padding-top:1rem}
.fc-component-summary-card,.fc-pattern-card{background:#fff;border:1px solid rgba(0,0,0,.075);border-radius:.9rem;padding:1rem;height:100%;box-shadow:0 .25rem 1rem rgba(0,0,0,.03)}
.fc-component-chip-row{display:flex;flex-wrap:wrap;gap:.35rem}
.fc-component-chip{display:inline-flex;align-items:center;border:1px solid rgba(0,0,0,.08);border-radius:999px;padding:.18rem .55rem;font-size:.76rem;background:#f8fafc;color:#374151}
.fc-component-category-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.75rem}
.fc-component-category-head h3,.fc-pattern-card h3{font-size:1rem;margin:0;font-weight:700}
.fc-component-list{border:1px solid rgba(0,0,0,.075);border-radius:.75rem;overflow:hidden;background:#fff}
.fc-component-row{display:grid;grid-template-columns:minmax(190px,1.15fr) minmax(260px,1.3fr) minmax(170px,.8fr);gap:1rem;align-items:center;padding:.75rem 1rem;border-bottom:1px solid rgba(0,0,0,.06)}
.fc-component-row:last-child{border-bottom:0}
.fc-component-row:nth-child(odd){background:#fbfcfe}
.fc-component-name{display:flex;flex-direction:column;gap:.15rem}
.fc-component-name span{font-size:.78rem;color:#6b7280}
.fc-component-row code{white-space:normal;word-break:break-word;color:#b91c1c;background:#fff5f5;border:1px solid #fee2e2;border-radius:.35rem;padding:.18rem .35rem;font-size:.78rem}
.fc-flat-copy{border:1px solid rgba(0,0,0,.075);border-radius:.9rem;background:#fff;overflow:hidden;height:100%}
.fc-flat-copy-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1rem;border-bottom:1px solid rgba(0,0,0,.06)}
.fc-flat-copy .fc-copybox{margin:0;border-radius:0;max-height:380px}
.fc-component-note{background:#f8fafc;border:1px dashed rgba(0,0,0,.16);border-radius:.75rem;padding:.75rem 1rem;color:#4b5563;font-size:.82rem}
@media (max-width: 991.98px){.fc-component-row{grid-template-columns:1fr}.fc-clean-tabs{overflow-x:auto;flex-wrap:nowrap}.fc-clean-tabs .nav-link{white-space:nowrap}}

/* FrameCore RC1 Build 121 - Component Library gallery polish */
.fc-component-workspace .nav-pills .nav-link{border-radius:.5rem;padding:.5rem .85rem}
.fc-component-tab-content{padding-top:1rem}.fc-component-overview-grid,.fc-preview-grid,.fc-pattern-grid{display:grid;gap:1rem}.fc-component-overview-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.fc-preview-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.fc-pattern-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.fc-component-summary-card,.fc-preview-card,.fc-pattern-card{border:1px solid rgba(0,0,0,.08);border-radius:.75rem;background:#fff;padding:1rem}.fc-component-summary-head,.fc-section-title,.fc-preview-card-head,.fc-pattern-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.fc-section-title{margin:1.25rem 0 .75rem}.fc-section-title h3,.fc-component-summary-head h3,.fc-pattern-card h3{font-size:1rem;margin:0;font-weight:700}.fc-component-chip-row{display:flex;flex-wrap:wrap;gap:.4rem .45rem;align-items:center}.fc-component-chip{display:inline-flex;align-items:center;white-space:nowrap;border:1px solid rgba(0,0,0,.08);background:#f8f9fa;border-radius:999px;padding:.25rem .55rem;font-size:.78rem;line-height:1.1;color:#374151}.fc-preview-card-body{padding-top:.75rem}.fc-preview-card-body .content{max-width:100%}.fc-component-category{margin-bottom:1.5rem}.fc-component-table-wrap{overflow:auto;border:1px solid rgba(0,0,0,.08);border-radius:.75rem}.fc-component-table{margin:0;min-width:780px}.fc-component-table code{white-space:normal;word-break:break-word;color:#d63384}.fc-pattern-card code{white-space:normal;word-break:break-word;color:#6c757d}.fc-dev-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1rem}.fc-dev-grid .fc-component-note{grid-column:1/-1}.fc-component-note{border:1px solid rgba(0,0,0,.08);border-radius:.75rem;background:#f8f9fa;padding:.85rem 1rem;color:#6c757d}.fc-flat-copy{border:1px solid rgba(0,0,0,.08);border-radius:.75rem;overflow:hidden;background:#fff}.fc-flat-copy-head{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1rem;border-bottom:1px solid rgba(0,0,0,.08)}.fc-flat-copy .fc-copybox{border-radius:0;margin:0}.fc-copybox{white-space:pre-wrap;word-break:break-word}.fc-preview-card .block{box-shadow:none;margin-bottom:0}.fc-preview-card .block .block-content{padding:1rem}.fc-preview-card .fc-stat-grid{margin:0}.fc-preview-card .form-control,.fc-preview-card .form-select{font-size:.875rem}
@media (max-width:768px){.fc-component-table{min-width:640px}.fc-preview-grid,.fc-pattern-grid{grid-template-columns:1fr}}

/* Build 122 - Component Library final UI cleanup */
.fc-component-page .fc-page-header { margin-bottom: 1rem; }
.fc-component-page .fc-page-header h1 { font-size: 1.35rem; font-weight: 700; }
.fc-component-page .fc-page-subtitle { font-size: .875rem; color: var(--bs-secondary-color); }
.fc-component-page .nav-pills .nav-link { border-radius: .5rem; padding: .48rem .85rem; }
.fc-component-page .block-content { overflow: visible; }
.fc-component-page .badge { vertical-align: middle; }
.fc-component-page .fc-component-preview-box { overflow: visible; }
.fc-component-page .fc-component-preview-box > .fc-page-header { margin-bottom: .75rem; }
.fc-component-page .fc-component-preview-box .block { box-shadow: none; margin-bottom: 0; }
.fc-component-page .fc-component-preview-box .fc-stat { margin-bottom: 0; }
.fc-component-page .fc-component-preview-box .fc-filterbar { margin-bottom: 0; }
.fc-component-page .fc-component-preview-box .fc-copybox,
.fc-component-page .fc-component-preview-box .fc-codeblock { max-height: 16rem; }
.fc-component-page .fc-component-table { table-layout: fixed; }
.fc-component-page .fc-component-table th,
.fc-component-page .fc-component-table td { white-space: normal; word-break: normal; overflow-wrap: anywhere; }
.fc-component-page .fc-component-table .fc-inline-code { color: #d63384; background: transparent; padding: 0; white-space: normal; overflow-wrap: anywhere; }
.fc-component-page code { white-space: normal; overflow-wrap: anywhere; }
.fc-component-page pre { white-space: pre-wrap; word-break: break-word; }
@media (max-width: 767.98px) {
  .fc-component-page .nav-pills { overflow-x: auto; flex-wrap: nowrap; padding-bottom: .25rem; }
  .fc-component-page .nav-pills .nav-link { white-space: nowrap; }
  .fc-component-page .fc-component-table { min-width: 760px; }
}


/* Build 127 - Component Library CopyBox readability fix */
.fc-copybox {
  background: #0f172a;
  color: #e5e7eb;
  border-color: rgba(255,255,255,.10);
}
.fc-copybox code,
.fc-copybox pre {
  color: inherit;
}
.fc-component-page .fc-copybox {
  background: #0f172a;
  color: #e5e7eb;
}

/* Build 161.1 - UI Studio workspace metric cards */
.uis-workspace-stats .uis-stat-link { color: inherit; }
.uis-workspace-stats .uis-stat-link .fc-stat { height: 100%; margin-bottom: 0; transition: transform .15s ease, box-shadow .15s ease; }
.uis-workspace-stats .uis-stat-link:hover .fc-stat,
.uis-workspace-stats .uis-stat-link:focus .fc-stat { transform: translateY(-2px); box-shadow: 0 .375rem 1.5rem rgba(0,0,0,.08); }
.uis-workspace-stats .fc-stat .block-content { min-height: 112px; }

/* FrameCore RC1 Build 166 - UI Contract 1.0 */
.fc-module-nav{margin-bottom:1rem;border-bottom:1px solid var(--bs-border-color);overflow:hidden}
.fc-module-nav-track{display:flex;align-items:center;gap:.25rem;overflow-x:auto;padding:.125rem 0 .65rem;scrollbar-width:thin}
.fc-module-nav-link{display:inline-flex;align-items:center;flex:0 0 auto;gap:.2rem;padding:.46rem .72rem;border:1px solid transparent;border-radius:.5rem;color:var(--bs-body-color);font-size:.86rem;font-weight:600;text-decoration:none;white-space:nowrap}
.fc-module-nav-link:hover{background:var(--bs-tertiary-bg);color:var(--bs-primary)}
.fc-module-nav-link.active{background:var(--bs-primary);border-color:var(--bs-primary);color:#fff;box-shadow:0 .25rem .75rem rgba(var(--bs-primary-rgb),.15)}
.fc-section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin:0 0 .85rem}
.fc-section-title{font-size:1rem;font-weight:700;letter-spacing:.02em;margin:0}
.fc-section-subtitle{font-size:.82rem;color:var(--bs-secondary-color);margin-top:.2rem}
.fc-section-actions{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}
.fc-info-list{margin:0}
.fc-info-row{display:grid;grid-template-columns:minmax(145px,220px) minmax(0,1fr);gap:.8rem;padding:.55rem 0;border-bottom:1px solid var(--bs-border-color)}
.fc-info-row:last-child{border-bottom:0}
.fc-info-row dt{font-weight:600;color:var(--bs-secondary-color)}
.fc-info-row dd{margin:0;min-width:0;overflow-wrap:anywhere}
.fc-form-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding-top:1rem;margin-top:1rem;border-top:1px solid var(--bs-border-color)}
.fc-form-actions-meta{color:var(--bs-secondary-color);font-size:.8rem}
.fc-module-tabs.nav-tabs,.fc-module-tabs .nav-tabs{gap:.25rem;border-bottom:1px solid var(--bs-border-color);padding-bottom:.55rem;margin-bottom:1rem}
.fc-module-tabs .nav-link,.nav-tabs.fc-module-tabs .nav-link{border:0;border-radius:.5rem;padding:.46rem .72rem;color:var(--bs-body-color);font-weight:600;font-size:.86rem}
.fc-module-tabs .nav-link:hover,.nav-tabs.fc-module-tabs .nav-link:hover{background:var(--bs-tertiary-bg);color:var(--bs-primary)}
.fc-module-tabs .nav-link.active,.nav-tabs.fc-module-tabs .nav-link.active{background:var(--bs-primary);color:#fff}
.fc-contract-panel>.block-content{padding-top:1rem}
.fc-contract-page>.fc-page-header:first-child{margin-top:0}
.settings-vertical-tabs .nav-link{border:1px solid transparent;border-radius:.5rem;color:var(--bs-body-color);font-size:.86rem;font-weight:600;padding:.5rem .65rem}
.settings-vertical-tabs .nav-link:hover{background:var(--bs-tertiary-bg);color:var(--bs-primary)}
.settings-vertical-tabs .nav-link.active{background:var(--bs-primary);border-color:var(--bs-primary);color:#fff}
.settings-vertical-tabs .tab-content{min-height:32rem}
.uis-doc-layout{display:grid;grid-template-columns:minmax(230px,300px) minmax(0,1fr);gap:1rem;align-items:start}
.uis-doc-tree{position:sticky;top:5rem;max-height:calc(100vh - 7rem);overflow:auto;border:1px solid var(--bs-border-color);border-radius:.65rem;background:var(--bs-body-bg)}
.uis-doc-tree-group+.uis-doc-tree-group{border-top:1px solid var(--bs-border-color)}
.uis-doc-tree-root{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.7rem .8rem;font-weight:700;color:var(--bs-body-color);text-decoration:none}
.uis-doc-tree-root:hover{background:var(--bs-tertiary-bg);color:var(--bs-primary)}
.uis-doc-tree-children{padding:0 .55rem .55rem}
.uis-doc-tree-link{display:block;padding:.34rem .5rem;border-radius:.35rem;color:var(--bs-secondary-color);text-decoration:none;font-size:.8rem;line-height:1.35}
.uis-doc-tree-link:hover,.uis-doc-tree-link.active{background:var(--bs-primary-bg-subtle);color:var(--bs-primary)}
.uis-doc-tree-link.depth-2{padding-left:1.25rem;font-size:.76rem}
.uis-doc-article{min-width:0}
.uis-doc-article .block-content{font-size:.9rem;line-height:1.65}
.uis-doc-article .block-content h3,.uis-doc-article .block-content h4,.uis-doc-article .block-content h5{scroll-margin-top:5rem}
.uis-doc-article .block-content table{margin:1rem 0}
.uis-doc-article .block-content pre{white-space:pre-wrap;word-break:break-word}
.uis-doc-breadcrumbs{display:flex;gap:.35rem;align-items:center;flex-wrap:wrap;color:var(--bs-secondary-color);font-size:.78rem;margin-bottom:.65rem}
.uis-doc-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem}
.uis-doc-index{display:grid;gap:.75rem}
.uis-doc-index-card{border:1px solid var(--bs-border-color);border-radius:.65rem;background:var(--bs-body-bg);padding:.85rem}
.uis-doc-index-card h3{font-size:.95rem;margin:0 0 .3rem}
.uis-doc-index-links{display:flex;flex-wrap:wrap;gap:.35rem}
.uis-doc-index-links a{font-size:.78rem;text-decoration:none;background:var(--bs-tertiary-bg);border-radius:.4rem;padding:.3rem .5rem}
@media(max-width:991.98px){.uis-doc-layout{grid-template-columns:1fr}.uis-doc-tree{position:static;max-height:none}.fc-info-row{grid-template-columns:1fr;gap:.15rem}.settings-vertical-tabs .tab-content{min-height:0}}
@media(max-width:575.98px){.fc-module-nav-link{padding:.42rem .58rem}.fc-section-header{display:block}.fc-section-actions{margin-top:.65rem}.fc-form-actions{display:block}.fc-form-actions>div:last-child{margin-top:.65rem;justify-content:flex-start!important}}

/* Build 166 UI Contract finishing rules */
.fc-settings-field{border:1px solid var(--bs-border-color);border-radius:.65rem;padding:.85rem;background:var(--bs-tertiary-bg)}
.fc-contract-tab-content{min-height:24rem}
.codebox{min-height:62vh;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:.8rem;line-height:1.5}
.fc-contract-panel .table{margin-bottom:0}
.fc-contract-panel .block-header{min-height:3rem}
.uis-doc-rendered img{max-width:100%;height:auto}
.uis-doc-rendered ul,.uis-doc-rendered ol{padding-left:1.35rem}
.uis-doc-rendered .alert{margin:1rem 0}

/* Build 167 functional UI recovery */
.fc-audit-context{max-height:260px;overflow:auto;padding:.75rem;border:1px solid var(--bs-border-color);border-radius:.375rem;background:var(--bs-tertiary-bg);white-space:pre-wrap;word-break:break-word}
.fc-table-compact td,.fc-table-compact th{vertical-align:top}
#pm-tabs{flex-wrap:wrap;gap:.25rem;border-bottom:0}
#pm-tabs .nav-link{border-radius:.375rem;border:1px solid transparent}
#pm-tabs .nav-link.active{border-color:var(--bs-border-color);background:var(--bs-body-bg)}
#pm-installed .table td,#pm-history .table td,#pm-snapshots .table td{vertical-align:middle}
.modal-content,.block,.fc-contract-panel{border-radius:.5rem}
@media(max-width:767.98px){
 .fc-table-compact{min-width:760px}
 #pm-tabs .nav-item{flex:1 1 auto}
 #pm-tabs .nav-link{width:100%}
}

/* FrameCore RC1 Build 168 — platform UI contract consolidation */
.fc-page-header + .row,
.fc-page-header + .fc-filterbar,
.fc-page-header + .block,
.fc-page-header + form { margin-top: var(--bs-gutter-y, 1rem); }
.fc-filterbar { gap: 1rem; margin-bottom: 1rem; }
.fc-contract-panel { overflow: hidden; }
.fc-contract-panel > .block-content { min-width: 0; }
.fc-compact-table { margin-bottom: 0; }
.fc-compact-table th,
.fc-compact-table td { vertical-align: middle; }
.fc-audit-context { max-width: 100%; overflow: auto; white-space: pre-wrap; overflow-wrap: anywhere; }
#pm-tabs { overflow-x: auto; overflow-y: hidden; flex-wrap: nowrap; }
#pm-tabs .nav-link { white-space: nowrap; }
@media (max-width: 767.98px) {
  .fc-page-header { align-items: flex-start; }
  .fc-page-header .fc-actions { width: 100%; }
  .fc-filterbar > div { width: 100%; }
  .fc-filterbar .form-control,
  .fc-filterbar .form-select { min-width: 0; width: 100%; }
  .pm-actions { min-width: 11rem; }
}


/* FrameCore RC1 Build 169 — Package Manager tab recovery */
#pm-tabs.nav-tabs {
  background: transparent;
}
#pm-tabs .nav-link.active,
#pm-tabs .nav-link.active:hover,
#pm-tabs .nav-link.active:focus {
  color: #fff !important;
  background: var(--bs-primary) !important;
  border-color: var(--bs-primary) !important;
}
#pm-tabs .nav-link.active .badge {
  color: var(--bs-primary) !important;
  background: #fff !important;
}
#pm-tabs .nav-link:not(.active) {
  color: var(--bs-body-color);
  background: transparent;
}
#pm-tabs + .tab-content > .tab-pane {
  width: 100%;
}


/* FrameCore RC1 Build 170 - shared widget spacing and UI Studio Library recovery */
.fc-stat-grid{margin-bottom:1rem}
.fc-stat-grid>.col-sm-6,.fc-stat-grid>[class*="col-"]{display:flex}
.fc-stat-grid .fc-stat{width:100%;min-width:0}
.fc-stat-grid + .block,.fc-stat-grid + .fc-contract-panel,.fc-stat-grid + .row{margin-top:0}
.uis-library-grid{align-items:stretch}
.uis-library-card{color:var(--bs-body-color);overflow:hidden}
.uis-library-card .block-content{color:var(--bs-body-color);min-height:100%}
.uis-library-card-title{color:var(--bs-body-color)!important;font-weight:600!important;overflow-wrap:anywhere}
.uis-library-card-category,.uis-library-card-description,.uis-library-card-relations{visibility:visible;opacity:1}
.uis-library-card-description{line-height:1.45;overflow-wrap:anywhere}
@media(max-width:767.98px){.fc-stat-grid{margin-bottom:.85rem}.uis-library-grid{grid-template-columns:1fr}}

/* FrameCore RC1 Build 174 — Package Manager module manager polish */
.pm-module-manager.fc-contract-panel{overflow:visible}
.pm-module-manager-header{align-items:flex-start;gap:1rem;min-height:4rem}
.pm-module-manager-header .block-title{font-size:1rem;letter-spacing:.015em}
.pm-module-toolbar{background:var(--bs-body-bg)}
.pm-module-table-wrap{overflow:visible}
.pm-module-table{--pm-module-row-pad:.85rem}
.pm-module-table thead th{padding:.7rem var(--pm-module-row-pad);font-size:.72rem;letter-spacing:.045em;text-transform:uppercase;color:var(--bs-secondary-color);background:var(--bs-tertiary-bg);border-bottom-width:1px;white-space:nowrap}
.pm-module-table tbody td{padding:var(--pm-module-row-pad);border-color:var(--bs-border-color);vertical-align:middle}
.pm-module-table tbody tr{transition:background-color .15s ease}
.pm-module-table tbody tr:hover{background:rgba(var(--bs-primary-rgb),.035)}
.pm-module-table .pm-module-col-main{min-width:25rem;width:42%}
.pm-module-row-core{background:rgba(var(--bs-secondary-rgb),.025)}
.pm-module-identity{display:flex;align-items:flex-start;gap:.75rem;min-width:0}
.pm-module-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 2.35rem;width:2.35rem;height:2.35rem;border-radius:.65rem;background:var(--bs-primary-bg-subtle);color:var(--bs-primary);font-size:.95rem}
.pm-module-row-core .pm-module-icon{background:var(--bs-tertiary-bg);color:var(--bs-secondary-color)}
.pm-module-copy{min-width:0}
.pm-module-name{font-size:.92rem;color:var(--bs-emphasis-color);line-height:1.25}
.pm-module-slug{display:inline-block;margin-top:.15rem;padding:.12rem .35rem;border-radius:.3rem;background:var(--bs-tertiary-bg);color:var(--bs-secondary-color);font-family:var(--bs-font-monospace);font-size:.7rem;line-height:1.25;overflow-wrap:anywhere}
.pm-module-description{max-width:48rem;margin-top:.35rem;color:var(--bs-secondary-color);font-size:.76rem;line-height:1.42;overflow-wrap:anywhere}
.pm-module-protected{background:var(--bs-tertiary-bg);color:var(--bs-secondary-color);border:1px solid var(--bs-border-color)}
.pm-module-version{display:inline-flex;align-items:center;min-height:1.65rem;padding:.2rem .45rem;border:1px solid var(--bs-border-color);border-radius:.4rem;background:var(--bs-body-bg);font-family:var(--bs-font-monospace);font-size:.75rem;color:var(--bs-emphasis-color)}
.pm-module-metric{display:inline-flex;align-items:center;gap:.35rem;color:var(--bs-secondary-color);font-size:.75rem;white-space:nowrap}
.pm-module-metric i{color:var(--bs-primary)}
.pm-module-metric strong{color:var(--bs-emphasis-color);font-size:.82rem}
.pm-module-backup,.pm-module-locked{display:inline-flex;align-items:center;gap:.5rem;min-width:9rem;color:var(--bs-secondary-color)}
.pm-module-backup>i,.pm-module-locked>i{font-size:.9rem}
.pm-module-backup span,.pm-module-locked span{display:flex;flex-direction:column;line-height:1.2}
.pm-module-backup strong,.pm-module-locked strong{font-size:.75rem;color:var(--bs-emphasis-color);font-weight:600}
.pm-module-backup small,.pm-module-locked small{margin-top:.12rem;font-size:.66rem;color:var(--bs-secondary-color);white-space:nowrap}
.pm-module-backup.is-ok>i{color:var(--bs-success)}
.pm-module-backup.is-info>i{color:var(--bs-info)}
.pm-module-backup.is-danger>i{color:var(--bs-danger)}
.pm-module-backup.is-muted>i,.pm-module-locked>i{color:var(--bs-secondary-color)}
.pm-module-actions{display:flex;align-items:center;justify-content:flex-end;gap:.35rem;white-space:nowrap}
.pm-module-actions form{margin:0}
.pm-module-action-menu{min-width:13rem;padding:.35rem}
.pm-module-action-menu form{margin:0}
.pm-module-action-menu .dropdown-item{display:flex;align-items:center;gap:.55rem;width:100%;border:0;border-radius:.35rem;background:transparent;padding:.48rem .6rem;font-size:.78rem;text-align:left}
.pm-module-action-menu .dropdown-item i{width:1rem;text-align:center;color:var(--bs-secondary-color)}
.pm-module-action-menu .dropdown-item.text-danger i{color:var(--bs-danger)}
.pm-module-action-menu .dropdown-item:hover{background:var(--bs-tertiary-bg)}
.pm-module-action-menu .dropdown-item.disabled{opacity:.5}
.pm-module-locked{justify-content:flex-end;min-width:10.5rem}
@media(max-width:1199.98px){
 .pm-module-table-wrap{overflow:visible}
 .pm-module-table,.pm-module-table tbody,.pm-module-table tr,.pm-module-table td{display:block;width:100%}
 .pm-module-table thead{display:none}
 .pm-module-table tbody{padding:.75rem}
 .pm-module-table tbody tr[data-module-row]{margin-bottom:.75rem;border:1px solid var(--bs-border-color);border-radius:.65rem;background:var(--bs-body-bg);overflow:hidden;box-shadow:0 .125rem .35rem rgba(0,0,0,.035)}
 .pm-module-table tbody tr[data-module-row]:last-of-type{margin-bottom:0}
 .pm-module-table tbody td{display:grid;grid-template-columns:minmax(8.5rem,34%) minmax(0,1fr);gap:.75rem;padding:.65rem .8rem;border-bottom:1px solid var(--bs-border-color)}
 .pm-module-table tbody td:last-child{border-bottom:0}
 .pm-module-table tbody td::before{content:attr(data-label);font-size:.68rem;font-weight:700;letter-spacing:.035em;text-transform:uppercase;color:var(--bs-secondary-color)}
 .pm-module-table tbody td[data-label="Modul"]{display:block;padding:.85rem}
 .pm-module-table tbody td[data-label="Modul"]::before{display:none}
 .pm-module-actions-cell{text-align:left!important}
 .pm-module-actions,.pm-module-locked{justify-content:flex-start}
}
@media(max-width:575.98px){
 .pm-module-manager-header{display:block}
 .pm-module-manager-header>div:last-child{margin-top:.65rem}
 .pm-module-table tbody{padding:.5rem}
 .pm-module-table tbody td{grid-template-columns:1fr;gap:.35rem}
 .pm-module-actions{align-items:stretch;flex-direction:column}
 .pm-module-actions>form,.pm-module-actions>.dropdown,.pm-module-actions .btn{width:100%}
 .pm-module-action-menu{width:100%;min-width:0}
 .pm-module-identity{gap:.6rem}
 .pm-module-icon{flex-basis:2.1rem;width:2.1rem;height:2.1rem}
 .pm-module-description{font-size:.74rem}
}

/* FrameCore RC1 Build 178 - Project Code Editor Core */
#main-container > .content.fc-editor-content-full {
  max-width: none !important;
  width: 100% !important;
  padding-left: 1rem;
  padding-right: 1rem;
}
.fc-code-editor-page {
  --fc-editor-bg: #1e1e1e;
  --fc-editor-panel: #181818;
  --fc-editor-panel-2: #202020;
  --fc-editor-border: rgba(255,255,255,.1);
  --fc-editor-text: #d7d7d7;
  --fc-editor-muted: #939393;
  --fc-editor-accent: var(--bs-primary);
  --fc-editor-explorer-width: 292px;
  margin-bottom: 1rem;
}
.fc-editor-shell {
  overflow: hidden;
  border: 1px solid var(--bs-border-color);
  box-shadow: 0 .4rem 1.4rem rgba(0,0,0,.07);
}
.fc-editor-commandbar {
  min-height: 48px;
  display: flex;
  align-items: center;
  gap: .55rem;
  padding: .45rem .6rem;
  background: var(--bs-body-bg);
  border-bottom: 1px solid var(--bs-border-color);
}
.fc-editor-commandbar-group {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  min-width: 0;
}
.fc-editor-commandbar-spacer { flex: 1 1 auto; }
.fc-editor-workspace {
  display: flex;
  min-height: 620px;
  height: clamp(620px, calc(100vh - 245px), 980px);
  background: var(--fc-editor-bg);
  color: var(--fc-editor-text);
  position: relative;
  overflow: hidden;
}
.fc-editor-explorer {
  flex: 0 0 var(--fc-editor-explorer-width);
  width: var(--fc-editor-explorer-width);
  min-width: 210px;
  max-width: 520px;
  display: grid;
  grid-template-rows: auto auto minmax(0,1fr) auto;
  position: relative;
  background: var(--fc-editor-panel);
  border-right: 1px solid var(--fc-editor-border);
  color: var(--fc-editor-text);
  transition: margin-left .18s ease, opacity .18s ease;
}
.fc-editor-explorer.is-collapsed {
  margin-left: calc(var(--fc-editor-explorer-width) * -1);
  opacity: 0;
  pointer-events: none;
}
.fc-editor-explorer-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  min-height: 58px;
  padding: .65rem .7rem .55rem .85rem;
  border-bottom: 1px solid var(--fc-editor-border);
}
.fc-editor-explorer-head > div:first-child { min-width: 0; }
.fc-editor-eyebrow {
  font-size: .64rem;
  letter-spacing: .12em;
  color: var(--fc-editor-muted);
  font-weight: 700;
  margin-bottom: .08rem;
}
.fc-editor-explorer .btn-alt-secondary {
  color: #c8c8c8;
  background: transparent;
  border-color: transparent;
}
.fc-editor-explorer .btn-alt-secondary:hover,
.fc-editor-explorer .btn-alt-secondary:focus {
  color: #fff;
  background: rgba(255,255,255,.1);
}
.fc-editor-explorer-search {
  padding: .55rem .65rem;
  border-bottom: 1px solid var(--fc-editor-border);
}
.fc-editor-explorer-search .form-control,
.fc-editor-explorer-search .input-group-text,
.fc-editor-explorer-search .btn {
  color: #ddd;
  background: #252526;
  border-color: rgba(255,255,255,.12);
}
.fc-editor-explorer-search .form-control::placeholder { color: #888; }
.fc-editor-explorer-search .form-control:focus {
  border-color: var(--fc-editor-accent);
  box-shadow: 0 0 0 1px var(--fc-editor-accent);
}
.fc-editor-tree {
  min-height: 0;
  overflow: auto;
  padding: .35rem 0 .65rem;
  scrollbar-color: #555 transparent;
  scrollbar-width: thin;
  user-select: none;
}
.fc-editor-tree-loading,
.fc-editor-tree-empty {
  color: var(--fc-editor-muted);
  font-size: .78rem;
  padding: 1rem;
}
.fc-editor-tree-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.fc-editor-tree-list .fc-editor-tree-list { margin: 0; }
.fc-editor-tree-node { min-width: max-content; }
.fc-editor-tree-row {
  min-height: 27px;
  display: flex;
  align-items: center;
  gap: .32rem;
  padding-right: .55rem;
  color: #c9c9c9;
  font-size: .79rem;
  cursor: default;
  white-space: nowrap;
  border-left: 2px solid transparent;
}
.fc-editor-tree-row:hover { background: rgba(255,255,255,.055); }
.fc-editor-tree-row.is-selected {
  background: rgba(var(--bs-primary-rgb), .22);
  color: #fff;
  border-left-color: var(--fc-editor-accent);
}
.fc-editor-tree-row.is-open > .fc-editor-tree-chevron { transform: rotate(90deg); }
.fc-editor-tree-chevron {
  width: 14px;
  height: 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #8b8b8b;
  font-size: .62rem;
  transition: transform .12s ease;
  flex: 0 0 14px;
}
.fc-editor-tree-chevron.is-placeholder { visibility: hidden; }
.fc-editor-tree-icon {
  width: 17px;
  text-align: center;
  flex: 0 0 17px;
  color: #a6a6a6;
}
.fc-editor-tree-icon.fc-icon-folder { color: #d7ba7d; }
.fc-editor-tree-icon.fc-icon-php { color: #8993be; }
.fc-editor-tree-icon.fc-icon-js { color: #dcdcaa; }
.fc-editor-tree-icon.fc-icon-css { color: #4fc1ff; }
.fc-editor-tree-icon.fc-icon-html { color: #e37933; }
.fc-editor-tree-icon.fc-icon-json { color: #dcdcaa; }
.fc-editor-tree-icon.fc-icon-md { color: #519aba; }
.fc-editor-tree-label {
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 330px;
}
.fc-editor-tree-badge {
  font-size: .58rem;
  color: #9cdcfe;
  margin-left: auto;
  padding-left: .4rem;
}
.fc-editor-tree-children[hidden] { display: none !important; }
.fc-editor-explorer-foot {
  min-height: 29px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .5rem;
  padding: .25rem .7rem;
  color: var(--fc-editor-muted);
  font-size: .67rem;
  border-top: 1px solid var(--fc-editor-border);
  background: #191919;
}
.fc-editor-resizer {
  position: absolute;
  top: 0;
  right: -3px;
  bottom: 0;
  width: 6px;
  cursor: col-resize;
  z-index: 8;
}
.fc-editor-resizer:hover,
.fc-editor-resizer.is-active { background: var(--fc-editor-accent); }
.fc-editor-stage {
  min-width: 0;
  flex: 1 1 auto;
  display: grid;
  grid-template-rows: 38px minmax(0,1fr) 24px;
  background: var(--fc-editor-bg);
}
.fc-editor-tabs {
  display: flex;
  min-width: 0;
  overflow: hidden;
  background: var(--fc-editor-panel);
  border-bottom: 1px solid var(--fc-editor-border);
}
.fc-editor-tabs-scroll {
  min-width: 0;
  flex: 1 1 auto;
  display: flex;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: thin;
}
.fc-editor-tabs-empty {
  min-width: 0;
  flex: 1 1 auto;
  color: var(--fc-editor-muted);
  font-size: .75rem;
  display: flex;
  align-items: center;
  padding: 0 .85rem;
}
.fc-editor-tab {
  flex: 0 0 auto;
  min-width: 135px;
  max-width: 260px;
  height: 38px;
  display: flex;
  align-items: center;
  gap: .45rem;
  padding: 0 .48rem 0 .72rem;
  border-right: 1px solid var(--fc-editor-border);
  border-top: 1px solid transparent;
  background: #242424;
  color: #a9a9a9;
  cursor: default;
  font-size: .76rem;
}
.fc-editor-tab:hover { color: #eee; background: #292929; }
.fc-editor-tab.is-active {
  color: #fff;
  background: var(--fc-editor-bg);
  border-top-color: var(--fc-editor-accent);
}
.fc-editor-tab-icon { width: 14px; text-align: center; }
.fc-editor-tab-label {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: 1 1 auto;
}
.fc-editor-tab-dirty {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #ddd;
  flex: 0 0 8px;
}
.fc-editor-tab:not(.is-dirty) .fc-editor-tab-dirty { display: none; }
.fc-editor-tab-close {
  width: 20px;
  height: 20px;
  border: 0;
  background: transparent;
  color: inherit;
  border-radius: 3px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  opacity: .25;
}
.fc-editor-tab:hover .fc-editor-tab-close,
.fc-editor-tab.is-active .fc-editor-tab-close { opacity: .8; }
.fc-editor-tab-close:hover { background: rgba(255,255,255,.12); opacity: 1; }
.fc-editor-tabs-actions {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  padding: 0 .35rem;
  background: #1b1b1b;
  border-left: 1px solid var(--fc-editor-border);
}
.fc-editor-tabs-actions .btn {
  background: transparent;
  border: 0;
  color: #aaa;
}
.fc-editor-tabs-actions .btn:hover { color: #fff; background: rgba(255,255,255,.08); }
.fc-editor-canvas-wrap {
  position: relative;
  min-height: 0;
  overflow: hidden;
}
.fc-editor-canvas {
  position: absolute;
  inset: 0;
  visibility: hidden;
}
.fc-editor-canvas.is-visible { visibility: visible; }
.fc-editor-welcome {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 2rem;
  text-align: center;
  color: #d4d4d4;
  background: radial-gradient(circle at 50% 40%, rgba(var(--bs-primary-rgb),.09), transparent 43%), var(--fc-editor-bg);
}
.fc-editor-welcome.is-hidden { display: none; }
.fc-editor-welcome-icon {
  width: 72px;
  height: 72px;
  border-radius: 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(var(--bs-primary-rgb),.16);
  color: #8db8ff;
  font-size: 2rem;
  margin-bottom: 1.25rem;
}
.fc-editor-shortcuts {
  width: min(460px,100%);
  display: grid;
  gap: .65rem;
  text-align: left;
}
.fc-editor-shortcuts > div {
  display: grid;
  grid-template-columns: 130px 1fr;
  align-items: center;
  gap: 1rem;
  color: #aaa;
  font-size: .78rem;
}
.fc-editor-shortcuts kbd {
  background: #2d2d2d;
  color: #ddd;
  border: 1px solid #4a4a4a;
  box-shadow: 0 1px 0 #000;
}
.fc-editor-loading {
  position: absolute;
  inset: 0;
  z-index: 15;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(20,20,20,.78);
  color: #fff;
}
.fc-editor-statusbar {
  min-width: 0;
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  gap: .5rem;
  background: var(--fc-editor-accent);
  color: #fff;
  font-size: .66rem;
  overflow: hidden;
}
.fc-editor-status-left,
.fc-editor-status-right {
  display: flex;
  align-items: stretch;
  min-width: 0;
}
.fc-editor-status-left > span,
.fc-editor-status-button {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 0 .48rem;
  white-space: nowrap;
}
.fc-editor-status-button {
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
}
.fc-editor-status-button:hover:not(:disabled) { background: rgba(255,255,255,.15); }
.fc-editor-status-button:disabled { opacity: .85; }
.fc-code-editor-page.is-fullscreen {
  position: fixed;
  inset: 0;
  z-index: 1085;
  margin: 0;
  background: var(--bs-body-bg);
}
.fc-code-editor-page.is-fullscreen .fc-editor-shell {
  height: 100%;
  border: 0;
  border-radius: 0 !important;
}
.fc-code-editor-page.is-fullscreen .fc-editor-workspace {
  height: calc(100vh - 48px);
  min-height: 0;
}
.fc-code-editor-page.is-fullscreen .fc-editor-commandbar { border-radius: 0; }
body.fc-editor-fullscreen-lock { overflow: hidden !important; }
.fc-editor-quick-results { min-height: 220px; max-height: 58vh; overflow-y: auto; }
.fc-editor-quick-item {
  display: grid;
  grid-template-columns: 22px minmax(0,1fr) auto;
  align-items: center;
  gap: .6rem;
  padding: .55rem .85rem;
  cursor: default;
}
.fc-editor-quick-item.is-active { background: rgba(var(--bs-primary-rgb),.12); }
.fc-editor-quick-name { font-weight: 600; }
.fc-editor-quick-path { font-size: .7rem; color: var(--bs-secondary-color); overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.fc-editor-quick-meta { font-size: .68rem; color: var(--bs-secondary-color); }
.fc-editor-toast-success { background: var(--bs-success); color: #fff; }
.fc-editor-toast-danger { background: var(--bs-danger); color: #fff; }
.fc-editor-toast-warning { background: var(--bs-warning); color: #111; }
.fc-editor-toast-info { background: var(--bs-primary); color: #fff; }

@media (max-width: 991.98px) {
  #main-container > .content.fc-editor-content-full { padding-left: .55rem; padding-right: .55rem; }
  .fc-editor-workspace { height: calc(100vh - 220px); min-height: 560px; }
  .fc-editor-explorer { --fc-editor-explorer-width: 260px; }
  .fc-editor-commandbar { overflow-x: auto; }
  .fc-editor-commandbar-spacer { min-width: .25rem; }
}
@media (max-width: 767.98px) {
  .fc-editor-commandbar { min-height: 44px; padding: .35rem; }
  .fc-editor-workspace { height: calc(100vh - 185px); min-height: 500px; }
  .fc-editor-explorer {
    position: absolute;
    z-index: 25;
    inset: 0 auto 0 0;
    width: min(88vw,330px);
    max-width: 88vw;
    box-shadow: .8rem 0 2rem rgba(0,0,0,.35);
  }
  .fc-editor-explorer.is-collapsed { margin-left: min(-88vw,-330px); }
  .fc-editor-resizer { display: none; }
  .fc-editor-status-right .fc-editor-status-button:nth-child(2),
  .fc-editor-status-right .fc-editor-status-button:nth-child(3),
  .fc-editor-status-right .fc-editor-status-button:nth-child(4) { display:none; }
  .fc-editor-tab { min-width: 118px; max-width: 190px; }
  .fc-editor-shortcuts > div { grid-template-columns: 105px 1fr; }
}

/* FrameCore RC1 Build 180 - Editor Split, Compare and Versions */
.fc-code-editor-page { --fc-editor-split-ratio: 50%; }
.fc-editor-stage {
  grid-template-rows: minmax(0,1fr) 24px;
}
.fc-editor-groups {
  position: relative;
  min-width: 0;
  min-height: 0;
  display: flex;
  overflow: hidden;
  background: var(--fc-editor-bg);
}
.fc-editor-group {
  position: relative;
  min-width: 0;
  min-height: 0;
  flex: 1 1 auto;
  display: grid;
  grid-template-rows: 38px minmax(0,1fr);
  overflow: hidden;
  background: var(--fc-editor-bg);
  box-shadow: inset 0 0 0 1px transparent;
}
.fc-editor-group.is-active {
  box-shadow: inset 0 0 0 1px rgba(var(--bs-primary-rgb),.48);
}
.fc-editor-groups[data-split="vertical"] .fc-editor-group:first-child {
  flex: 0 0 var(--fc-editor-split-ratio);
}
.fc-editor-groups[data-split="vertical"] .fc-editor-group:last-of-type {
  flex: 1 1 auto;
}
.fc-editor-groups[data-split="horizontal"] {
  flex-direction: column;
}
.fc-editor-groups[data-split="horizontal"] .fc-editor-group:first-child {
  flex: 0 0 var(--fc-editor-split-ratio);
}
.fc-editor-groups[data-split="horizontal"] .fc-editor-group:last-of-type {
  flex: 1 1 auto;
}
.fc-editor-group-splitter {
  flex: 0 0 5px;
  position: relative;
  z-index: 12;
  background: #111;
  border-left: 1px solid var(--fc-editor-border);
  border-right: 1px solid var(--fc-editor-border);
  cursor: col-resize;
}
.fc-editor-group-splitter::after {
  content: "";
  position: absolute;
  inset: 0 -3px;
}
.fc-editor-groups[data-split="horizontal"] .fc-editor-group-splitter {
  flex-basis: 5px;
  width: 100%;
  border-left: 0;
  border-right: 0;
  border-top: 1px solid var(--fc-editor-border);
  border-bottom: 1px solid var(--fc-editor-border);
  cursor: row-resize;
}
.fc-editor-groups[data-split="horizontal"] .fc-editor-group-splitter::after {
  inset: -3px 0;
}
.fc-editor-group-splitter:hover,
.fc-editor-group-splitter:active { background: var(--fc-editor-accent); }
.fc-editor-status-group {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 0 .48rem;
  background: rgba(0,0,0,.12);
  white-space: nowrap;
}
.fc-editor-versions-panel {
  flex: 0 0 0;
  width: 0;
  min-width: 0;
  overflow: hidden;
  display: grid;
  grid-template-rows: auto auto minmax(0,1fr);
  color: var(--fc-editor-text);
  background: var(--fc-editor-panel);
  border-left: 0 solid var(--fc-editor-border);
  transition: flex-basis .18s ease, width .18s ease, border-width .18s ease;
}
.fc-editor-versions-panel.is-open {
  flex-basis: 350px;
  width: 350px;
  border-left-width: 1px;
}
.fc-editor-versions-head {
  min-height: 58px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  padding: .65rem .7rem .55rem .85rem;
  border-bottom: 1px solid var(--fc-editor-border);
}
.fc-editor-versions-head .btn-alt-secondary {
  color: #c8c8c8;
  background: transparent;
  border-color: transparent;
}
.fc-editor-versions-head .btn-alt-secondary:hover { color:#fff; background:rgba(255,255,255,.1); }
.fc-editor-versions-toolbar {
  padding: .6rem .7rem;
  border-bottom: 1px solid var(--fc-editor-border);
}
.fc-editor-versions-list {
  min-height: 0;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: #555 transparent;
}
.fc-editor-version-item {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: .6rem;
  align-items: start;
  padding: .72rem .7rem .72rem .85rem;
  border-bottom: 1px solid var(--fc-editor-border);
  background: transparent;
}
.fc-editor-version-item:hover { background: rgba(255,255,255,.035); }
.fc-editor-version-main { min-width: 0; }
.fc-editor-version-reason {
  color: #e5e5e5;
  font-size: .78rem;
  line-height: 1.3;
  overflow: hidden;
  text-overflow: ellipsis;
}
.fc-editor-version-meta {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem .6rem;
  margin-top: .22rem;
  color: var(--fc-editor-muted);
  font-size: .66rem;
}
.fc-editor-version-id {
  display: block;
  margin-top: .25rem;
  color: #9cdcfe;
  font-size: .62rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.fc-editor-version-actions {
  display: flex;
  align-items: center;
  gap: .22rem;
}
.fc-editor-version-actions .btn { padding: .25rem .42rem; }
.fc-editor-diff-modal .modal-content { background: var(--fc-editor-bg, #1e1e1e); }
.fc-editor-diff-header {
  min-height: 56px;
  background: var(--bs-body-bg);
  border-bottom: 1px solid var(--bs-border-color);
}
.fc-editor-diff-select { width: min(31vw, 420px); }
.fc-editor-diff-canvas { position:absolute; inset:0; }
.fc-editor-diff-modal .modal-body { min-height: 0; background:#1e1e1e; }
.fc-editor-diff-modal .fc-editor-loading { z-index: 30; }

@media (max-width: 1199.98px) {
  .fc-editor-versions-panel.is-open { flex-basis: 310px; width: 310px; }
  .fc-editor-diff-select { width: min(27vw,330px); }
}
@media (max-width: 991.98px) {
  .fc-editor-versions-panel {
    position: absolute;
    z-index: 32;
    inset: 0 0 0 auto;
    height: 100%;
    box-shadow: -1rem 0 2rem rgba(0,0,0,.35);
  }
  .fc-editor-versions-panel.is-open { width: min(86vw,360px); flex-basis: min(86vw,360px); }
  .fc-editor-diff-header { align-items:flex-start; flex-wrap:wrap; }
  .fc-editor-diff-header > .d-flex:first-child { width:100%; flex-wrap:wrap; }
  .fc-editor-diff-select { width: calc(50% - 1.5rem); }
}
@media (max-width: 767.98px) {
  .fc-editor-groups[data-split="vertical"] { flex-direction: column; }
  .fc-editor-groups[data-split="vertical"] .fc-editor-group:first-child { flex-basis: var(--fc-editor-split-ratio); }
  .fc-editor-groups[data-split="vertical"] .fc-editor-group-splitter {
    flex-basis: 5px;
    width: 100%;
    border-left: 0;
    border-right: 0;
    border-top: 1px solid var(--fc-editor-border);
    border-bottom: 1px solid var(--fc-editor-border);
    cursor: row-resize;
  }
  .fc-editor-group { grid-template-rows: 34px minmax(0,1fr); }
  .fc-editor-tabs, .fc-editor-tab { height:34px; }
  .fc-editor-diff-select { width:100%; }
  .fc-editor-diff-header > .d-flex:last-child { width:100%; margin-left:0 !important; }
}

/* FrameCore RC1 Build 181 - Editor Code Intelligence */
.fc-editor-intelligence-panel {
  flex: 0 0 0;
  width: 0;
  min-width: 0;
  overflow: hidden;
  display: grid;
  grid-template-rows: auto auto minmax(0,1fr) auto;
  color: var(--fc-editor-text);
  background: var(--fc-editor-panel);
  border-left: 0 solid var(--fc-editor-border);
  transition: flex-basis .18s ease, width .18s ease, border-width .18s ease;
}
.fc-editor-intelligence-panel.is-open {
  flex-basis: 360px;
  width: 360px;
  border-left-width: 1px;
}
.fc-editor-intelligence-head {
  min-height: 58px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  padding: .65rem .7rem .55rem .85rem;
  border-bottom: 1px solid var(--fc-editor-border);
}
.fc-editor-intelligence-head .btn-alt-secondary {
  color: #c8c8c8;
  background: transparent;
  border-color: transparent;
}
.fc-editor-intelligence-head .btn-alt-secondary:hover { color:#fff; background:rgba(255,255,255,.1); }
.fc-editor-intelligence-tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-bottom: 1px solid var(--fc-editor-border);
}
.fc-editor-intelligence-tab {
  min-height: 38px;
  border: 0;
  border-bottom: 2px solid transparent;
  color: var(--fc-editor-muted);
  background: transparent;
  font-size: .72rem;
  font-weight: 600;
}
.fc-editor-intelligence-tab:hover { color: var(--fc-editor-text); background: rgba(255,255,255,.035); }
.fc-editor-intelligence-tab.active { color: #fff; border-bottom-color: var(--fc-editor-accent); background: rgba(var(--bs-primary-rgb),.12); }
.fc-editor-intelligence-body { min-height: 0; overflow: hidden; }
.fc-editor-intelligence-view {
  display: none;
  height: 100%;
  min-height: 0;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: #555 transparent;
}
.fc-editor-intelligence-view.is-active { display: block; }
.fc-editor-intelligence-row {
  width: 100%;
  display: grid;
  grid-template-columns: 18px minmax(0,1fr) auto;
  align-items: start;
  gap: .55rem;
  padding: .55rem .7rem .55rem .85rem;
  border: 0;
  border-bottom: 1px solid var(--fc-editor-border);
  color: var(--fc-editor-text);
  background: transparent;
  text-align: left;
}
.fc-editor-intelligence-row:hover { background: rgba(255,255,255,.045); }
.fc-editor-intelligence-row > i { margin-top: .18rem; color: #9cdcfe; }
.fc-editor-intelligence-row-main { min-width: 0; display: flex; flex-direction: column; }
.fc-editor-intelligence-row-main strong {
  overflow: hidden;
  color: #e8e8e8;
  font-size: .75rem;
  font-weight: 600;
  line-height: 1.3;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.fc-editor-intelligence-row-main small {
  overflow: hidden;
  margin-top: .12rem;
  color: var(--fc-editor-muted);
  font-size: .64rem;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.fc-editor-problem-row .fc-editor-intelligence-row-main strong { white-space: normal; }
.fc-editor-intelligence-line { color: var(--fc-editor-muted); font-size: .63rem; white-space: nowrap; }
.fc-editor-intelligence-foot {
  min-height: 28px;
  padding: .36rem .75rem;
  border-top: 1px solid var(--fc-editor-border);
  color: var(--fc-editor-muted);
  font-size: .62rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
#fcEditorProblemsBadge { font-size: .58rem; padding: .18rem .3rem; }

@media (max-width: 1199.98px) {
  .fc-editor-intelligence-panel.is-open { flex-basis: 320px; width: 320px; }
}
@media (max-width: 991.98px) {
  .fc-editor-intelligence-panel {
    position: absolute;
    z-index: 33;
    inset: 0 0 0 auto;
    height: 100%;
    box-shadow: -1rem 0 2rem rgba(0,0,0,.35);
  }
  .fc-editor-intelligence-panel.is-open { width: min(88vw,380px); flex-basis: min(88vw,380px); }
}

/* FrameCore RC1 Build 182 - Editor Search and Code Tools */
.fc-editor-tools-menu {
  width: 285px;
  max-height: min(70vh, 560px);
  overflow-y: auto;
  --bs-dropdown-bg: #202020;
  --bs-dropdown-link-color: #ddd;
  --bs-dropdown-link-hover-bg: rgba(255,255,255,.08);
  --bs-dropdown-link-hover-color: #fff;
}
.fc-editor-tools-menu .dropdown-header { color: #8f8f8f; font-size: .65rem; letter-spacing: .08em; }
.fc-editor-tools-menu .dropdown-item { font-size: .73rem; }
.fc-editor-tools-menu .dropdown-item i { width: 18px; text-align: center; }

.fc-editor-search-panel {
  flex: 0 0 0;
  width: 0;
  min-width: 0;
  overflow: hidden;
  display: grid;
  grid-template-rows: auto auto auto minmax(0,1fr);
  color: var(--fc-editor-text);
  background: var(--fc-editor-panel);
  border-left: 0 solid var(--fc-editor-border);
  transition: flex-basis .18s ease, width .18s ease, border-width .18s ease;
}
.fc-editor-search-panel.is-open {
  flex-basis: 390px;
  width: 390px;
  border-left-width: 1px;
}
.fc-editor-search-head {
  min-height: 58px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  padding: .65rem .7rem .55rem .85rem;
  border-bottom: 1px solid var(--fc-editor-border);
}
.fc-editor-search-head .btn-alt-secondary { color:#c8c8c8; background:transparent; border-color:transparent; }
.fc-editor-search-head .btn-alt-secondary:hover { color:#fff; background:rgba(255,255,255,.1); }
.fc-editor-search-form {
  display: grid;
  gap: .48rem;
  padding: .7rem .75rem;
  border-bottom: 1px solid var(--fc-editor-border);
}
.fc-editor-search-form .form-control,
.fc-editor-search-form .input-group-text,
.fc-editor-search-form .btn-alt-secondary {
  color: #ddd;
  background: #252525;
  border-color: #3b3b3b;
}
.fc-editor-search-form .form-control::placeholder { color:#858585; }
.fc-editor-search-form .form-control:focus { border-color:var(--fc-editor-accent); box-shadow:0 0 0 1px var(--fc-editor-accent); }
.fc-editor-search-form .btn-alt-secondary.active { color:#fff; background:rgba(var(--bs-primary-rgb),.45); border-color:var(--fc-editor-accent); }
.fc-editor-search-scope summary { cursor:pointer; color:var(--fc-editor-muted); font-size:.68rem; user-select:none; }
.fc-editor-search-summary {
  min-height: 30px;
  padding: .42rem .75rem;
  color: var(--fc-editor-muted);
  border-bottom: 1px solid var(--fc-editor-border);
  font-size: .65rem;
}
.fc-editor-search-results { min-height:0; overflow-y:auto; scrollbar-width:thin; scrollbar-color:#555 transparent; }
.fc-editor-search-group { border-bottom:1px solid var(--fc-editor-border); }
.fc-editor-search-file,
.fc-editor-search-hit {
  width:100%;
  border:0;
  color:var(--fc-editor-text);
  background:transparent;
  text-align:left;
}
.fc-editor-search-file {
  display:grid;
  grid-template-columns:18px minmax(0,1fr) auto;
  gap:.5rem;
  align-items:center;
  padding:.55rem .72rem;
  font-size:.72rem;
  font-weight:600;
  background:rgba(255,255,255,.025);
}
.fc-editor-search-file span:not(.badge) { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.fc-editor-search-hit {
  display:grid;
  grid-template-columns:48px minmax(0,1fr);
  gap:.45rem;
  padding:.42rem .72rem .42rem 1rem;
  border-top:1px solid rgba(255,255,255,.045);
}
.fc-editor-search-file:hover,
.fc-editor-search-hit:hover { background:rgba(255,255,255,.055); }
.fc-editor-search-location { color:#9cdcfe; font-size:.63rem; }
.fc-editor-search-preview { overflow:hidden; color:#d4d4d4; font-size:.65rem; text-overflow:ellipsis; white-space:nowrap; }

.fc-editor-replace-modal .modal-content,
.fc-editor-tool-modal .modal-content { background:var(--fc-editor-bg,#1e1e1e); color:var(--fc-editor-text,#ddd); }
.fc-editor-replace-header,
.fc-editor-tool-header { min-height:64px; border-bottom-color:var(--fc-editor-border,rgba(255,255,255,.1)); }
.fc-editor-replace-modal .modal-body { min-height:0; position:relative; }
.fc-editor-replace-files {
  flex:0 0 320px;
  width:320px;
  min-width:0;
  overflow-y:auto;
  background:var(--fc-editor-panel,#181818);
  border-right:1px solid var(--fc-editor-border,rgba(255,255,255,.1));
}
.fc-editor-replace-file {
  width:100%;
  display:grid;
  grid-template-columns:18px minmax(0,1fr) auto;
  gap:.55rem;
  align-items:start;
  padding:.65rem .75rem;
  border:0;
  border-bottom:1px solid var(--fc-editor-border,rgba(255,255,255,.1));
  color:var(--fc-editor-text,#ddd);
  background:transparent;
  text-align:left;
}
.fc-editor-replace-file:hover { background:rgba(255,255,255,.05); }
.fc-editor-replace-file.active { background:rgba(var(--bs-primary-rgb),.2); box-shadow:inset 3px 0 var(--fc-editor-accent); }
.fc-editor-replace-file span { display:flex; min-width:0; flex-direction:column; }
.fc-editor-replace-file strong { overflow:hidden; font-size:.72rem; text-overflow:ellipsis; white-space:nowrap; }
.fc-editor-replace-file small { color:var(--fc-editor-muted); font-size:.62rem; }
.fc-editor-replace-diff,
.fc-editor-tool-diff { flex:1 1 auto; min-width:0; height:100%; }
.fc-editor-tool-modal .modal-body { min-height:0; background:#1e1e1e; }

@media (max-width: 1199.98px) {
  .fc-editor-search-panel.is-open { flex-basis:340px; width:340px; }
  .fc-editor-replace-files { flex-basis:270px; width:270px; }
}
@media (max-width: 991.98px) {
  .fc-editor-search-panel {
    position:absolute;
    z-index:34;
    inset:0 0 0 auto;
    height:100%;
    box-shadow:-1rem 0 2rem rgba(0,0,0,.35);
  }
  .fc-editor-search-panel.is-open { width:min(92vw,410px); flex-basis:min(92vw,410px); }
  .fc-editor-replace-modal .modal-body { flex-direction:column; }
  .fc-editor-replace-files { flex:0 0 170px; width:100%; border-right:0; border-bottom:1px solid var(--fc-editor-border); }
  .fc-editor-replace-diff { min-height:0; }
}


/* FrameCore RC1 Build 183 - Editor Toolbar and Preview UX */
.fc-editor-commandbar {
  position: relative;
  z-index: 45;
  overflow: visible;
}
.fc-editor-commandbar .dropdown { position: relative; }
.fc-editor-tools-menu {
  z-index: 1095;
  width: 19rem;
  min-width: 19rem;
  max-height: min(72vh, 36rem);
  padding: .45rem;
  overflow-y: auto;
  color: var(--bs-body-color) !important;
  background: var(--bs-body-bg) !important;
  border: 1px solid var(--bs-border-color) !important;
  border-radius: var(--bs-border-radius-lg);
  box-shadow: 0 1rem 2.5rem rgba(15,23,42,.22);
  scrollbar-width: thin;
}
.fc-editor-tools-menu .dropdown-header {
  padding: .55rem .65rem .35rem;
  color: var(--bs-secondary-color) !important;
  font-size: .66rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.fc-editor-tools-menu .dropdown-divider {
  margin: .35rem 0;
  border-top-color: var(--bs-border-color);
  opacity: 1;
}
.fc-editor-tools-menu .dropdown-item {
  display: flex;
  align-items: center;
  min-height: 2rem;
  padding: .4rem .65rem;
  color: var(--bs-body-color) !important;
  background: transparent !important;
  border-radius: .35rem;
  font-size: .74rem;
  line-height: 1.25;
  opacity: 1 !important;
}
.fc-editor-tools-menu .dropdown-item i {
  flex: 0 0 1.2rem;
  width: 1.2rem;
  color: var(--bs-secondary-color) !important;
  text-align: center;
}
.fc-editor-tools-menu .dropdown-item:hover,
.fc-editor-tools-menu .dropdown-item:focus {
  color: var(--bs-emphasis-color) !important;
  background: var(--bs-tertiary-bg) !important;
}
.fc-editor-tools-menu .dropdown-item:hover i,
.fc-editor-tools-menu .dropdown-item:focus i {
  color: var(--bs-primary) !important;
}
.fc-editor-tools-menu .dropdown-item:active {
  color: #fff !important;
  background: var(--bs-primary) !important;
}
.fc-editor-tools-menu .dropdown-item:active i { color: #fff !important; }

.fc-editor-layout-icon {
  display: inline-grid;
  width: 1rem;
  height: .82rem;
  gap: .12rem;
  vertical-align: -.08rem;
}
.fc-editor-layout-icon > span {
  display: block;
  min-width: 0;
  min-height: 0;
  border: 1.5px solid currentColor;
  border-radius: .08rem;
}
.fc-editor-layout-icon-vertical { grid-template-columns: 1fr 1fr; }
.fc-editor-layout-icon-horizontal { grid-template-rows: 1fr 1fr; }
.fc-editor-layout-icon-single { display: block; }
.fc-editor-layout-icon-single > span { width: 100%; height: 100%; }

.fc-editor-tool-header .btn-alt-secondary {
  color: var(--bs-body-color);
  background: var(--bs-tertiary-bg);
  border-color: var(--bs-border-color);
}
.fc-editor-tool-header .btn-alt-secondary:hover,
.fc-editor-tool-header .btn-alt-secondary:focus {
  color: var(--bs-emphasis-color);
  background: var(--bs-secondary-bg);
  border-color: var(--bs-border-color);
}
.fc-editor-tool-header .modal-title,
.fc-editor-tool-header .small { max-width: min(58vw, 60rem); }
.fc-editor-tool-modal .modal-header { background: var(--bs-body-bg); color: var(--bs-body-color); }
.fc-editor-tool-modal .btn-close { filter: none; }

@media (max-width: 991.98px) {
  .fc-editor-commandbar {
    flex-wrap: wrap;
    overflow: visible;
  }
  .fc-editor-tools-menu {
    width: min(92vw, 20rem);
    min-width: min(92vw, 20rem);
    max-height: 60vh;
  }
  .fc-editor-tool-header {
    align-items: flex-start;
    flex-wrap: wrap;
  }
  .fc-editor-tool-header > .d-flex:last-child {
    width: 100%;
    margin-left: 0 !important;
    justify-content: flex-end;
  }
}


/* FrameCore RC1 Build 184 - Compact Editor Toolbar Contract */
.fc-editor-commandbar {
  min-height: 42px;
  gap: .32rem;
  padding: .3rem .42rem;
}
.fc-editor-commandbar-group { gap: .2rem; }
.fc-editor-commandbar-group + .fc-editor-commandbar-group,
.fc-editor-commandbar-spacer + .fc-editor-commandbar-group {
  margin-left: .08rem;
  padding-left: .38rem;
  border-left: 1px solid var(--bs-border-color);
}
.fc-editor-commandbar .btn {
  position: relative;
  flex: 0 0 34px;
  width: 34px;
  min-width: 34px;
  height: 34px;
  min-height: 34px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: .38rem;
  font-size: 0;
  line-height: 1;
  white-space: nowrap;
}
.fc-editor-commandbar .btn > i {
  margin: 0 !important;
  font-size: .86rem;
  line-height: 1;
}
.fc-editor-commandbar .btn > span:not(.badge):not(.fc-editor-layout-icon) {
  display: none !important;
}
.fc-editor-commandbar .fc-editor-layout-icon {
  margin: 0;
}
.fc-editor-commandbar .dropdown > .btn {
  flex-basis: 38px;
  width: 38px;
  min-width: 38px;
  padding-right: 4px;
}
#fcEditorCodeTools::after {
  position: absolute;
  right: 4px;
  bottom: 5px;
  margin: 0;
  border-top-width: .22rem;
  border-right-width: .18rem;
  border-left-width: .18rem;
}
#fcEditorProblemsBadge {
  position: absolute;
  z-index: 2;
  top: -4px;
  right: -4px;
  min-width: 16px;
  height: 16px;
  padding: 0 4px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 2px solid var(--bs-body-bg);
  border-radius: 999px;
  font-size: .52rem;
  line-height: 1;
}
#fcEditorProblemsBadge.d-none { display: none !important; }
.fc-editor-commandbar .btn:focus-visible {
  outline: 2px solid rgba(var(--bs-primary-rgb), .45);
  outline-offset: 1px;
}
@media (max-width: 991.98px) {
  .fc-editor-commandbar {
    gap: .24rem;
    padding: .28rem .32rem;
  }
  .fc-editor-commandbar-group { gap: .16rem; }
}

/* FrameCore RC1 Build 186 – Professional Editor Suite */
.fc-editor-preview-panel{display:none;min-width:0;width:min(42vw,680px);background:var(--bs-body-bg);border-left:1px solid var(--bs-border-color);flex:0 0 min(42vw,680px);flex-direction:column;overflow:hidden}.fc-editor-preview-panel.is-open{display:flex}.fc-editor-preview-head{min-height:52px;padding:.65rem .75rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem;border-bottom:1px solid var(--bs-border-color);background:var(--bs-tertiary-bg)}.fc-editor-preview-body{position:relative;flex:1;min-height:0;background:#fff}.fc-editor-preview-body iframe{display:block;width:100%;height:100%;border:0;background:#fff}.fc-editor-preview-empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;color:var(--bs-secondary-color);background:var(--bs-body-bg)}.fc-editor-preview-empty i{font-size:2.5rem}.fc-editor-preview-foot{padding:.35rem .7rem;font-size:.72rem;color:var(--bs-secondary-color);border-top:1px solid var(--bs-border-color);background:var(--bs-tertiary-bg)}.fc-code-editor-page.is-preview-open .fc-editor-stage{min-width:320px}.fc-code-editor-page.is-preview-open .fc-editor-workspace{display:flex}.fc-code-editor-page.is-preview-open .fc-editor-commandbar{position:relative;z-index:4}
.fc-editor-context-menu{position:fixed;z-index:1095;display:none;min-width:220px;padding:.35rem;background:var(--bs-body-bg);border:1px solid var(--bs-border-color);border-radius:.65rem;box-shadow:0 .8rem 2.4rem rgba(0,0,0,.22)}.fc-editor-context-menu.is-open{display:block}.fc-editor-context-menu button{display:flex;align-items:center;gap:.65rem;width:100%;padding:.48rem .65rem;border:0;border-radius:.4rem;background:transparent;color:var(--bs-body-color);font-size:.82rem;text-align:left}.fc-editor-context-menu button:hover{background:var(--bs-tertiary-bg)}.fc-editor-context-menu button i{width:1rem;text-align:center}.fc-editor-context-separator{height:1px;margin:.3rem;background:var(--bs-border-color)}.fc-editor-tree-row[draggable=true]{cursor:default}.fc-editor-tree-row.is-drop-target{outline:2px solid var(--bs-primary);outline-offset:-2px;background:rgba(var(--bs-primary-rgb),.14)!important}
.fc-editor-command-modal-content{max-height:min(72vh,680px)}.fc-editor-command-modal-content .list-group-item{min-height:46px}.fc-editor-command-modal-content .list-group-item kbd{font-size:.68rem}.fc-editor-snippet-list{max-height:430px;overflow:auto;border:1px solid var(--bs-border-color);border-radius:.5rem}.fc-editor-snippet-preview{height:360px;overflow:auto;margin:0;padding:1rem;background:#111827;color:#e5e7eb;border-radius:.65rem;font-size:.78rem;white-space:pre-wrap}.fc-editor-commandbar .btn#fcEditorCommandPalette,.fc-editor-commandbar .btn#fcEditorSnippets,.fc-editor-commandbar .btn#fcEditorLivePreview,.fc-editor-commandbar .btn#fcEditorCreateTask,.fc-editor-commandbar .btn#fcEditorSettings{width:34px;min-width:34px;height:34px;padding:0;display:inline-flex;align-items:center;justify-content:center}.fc-editor-commandbar .btn#fcEditorLivePreview.active,.fc-editor-preview-head .btn.active{color:#fff;background:var(--bs-primary);border-color:var(--bs-primary)}
.fc-editor-recovery-code{max-height:180px;overflow:auto;font-family:var(--bs-font-monospace);font-size:.75rem;background:var(--bs-tertiary-bg);padding:.65rem;border-radius:.5rem}.fc-code-editor-page .modal .form-check.form-switch{padding-top:.45rem}.fc-code-editor-page .modal .form-check-input{margin-top:.15rem}.fc-editor-explorer .fc-editor-tree-row.is-selected{position:relative}.fc-editor-explorer .fc-editor-tree-row.is-selected:after{content:"";position:absolute;right:0;top:20%;bottom:20%;width:2px;border-radius:2px;background:var(--bs-primary)}
@media(max-width:1399px){.fc-editor-preview-panel{width:46vw;flex-basis:46vw}.fc-code-editor-page.is-preview-open .fc-editor-explorer{display:none}.fc-code-editor-page.is-preview-open .fc-editor-explorer+.fc-editor-stage{border-left:0}}
@media(max-width:991px){.fc-editor-preview-panel{position:absolute;inset:0 0 0 auto;width:min(92vw,720px);z-index:8;box-shadow:-1rem 0 2rem rgba(0,0,0,.22)}.fc-editor-workspace{position:relative}.fc-editor-commandbar{overflow-x:auto;flex-wrap:nowrap}.fc-editor-context-menu{min-width:200px}}
@media(max-width:575px){.fc-editor-preview-panel{width:100%}.fc-editor-snippet-preview{height:260px}.fc-editor-context-menu{left:.5rem!important;right:.5rem!important;width:auto;top:auto!important;bottom:.5rem}}

/* FrameCore RC1 Build 188 – Project Workspace UX and tab drag contract */
.fc-editor-statusbar {
  background: #191919;
  color: #c8c8c8;
  border-top: 1px solid var(--fc-editor-border);
}
.fc-editor-status-group { color: #9cdcfe; }
.fc-editor-status-button:hover:not(:disabled) { background: rgba(255,255,255,.08); color: #fff; }
.fc-editor-tab[draggable="true"] { cursor: grab; }
.fc-editor-tab[draggable="true"]:active { cursor: grabbing; }
.fc-editor-tab.is-tab-dragging { opacity: .42; }
.fc-editor-tab.is-drop-before { box-shadow: inset 2px 0 0 var(--fc-editor-accent); }
.fc-editor-tab.is-drop-after { box-shadow: inset -2px 0 0 var(--fc-editor-accent); }
.fc-editor-tabs-scroll.is-tab-drop-empty {
  outline: 2px dashed rgba(var(--bs-primary-rgb),.55);
  outline-offset: -4px;
  background: rgba(var(--bs-primary-rgb),.08);
}
.fc-editor-commandbar .fc-editor-tooltip-wrap {
  position: relative;
  display: inline-flex;
  flex: 0 0 34px;
  width: 34px;
  height: 34px;
}
.fc-editor-tooltip-wrap::before,
.fc-editor-tooltip-wrap::after {
  position: absolute;
  z-index: 1120;
  left: 50%;
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
  transition: opacity .12s ease, transform .12s ease, visibility .12s ease;
}
.fc-editor-tooltip-wrap::before {
  content: "";
  top: calc(100% + 3px);
  transform: translate(-50%, -3px);
  border: 5px solid transparent;
  border-bottom-color: #111827;
}
.fc-editor-tooltip-wrap::after {
  content: attr(data-tooltip);
  top: calc(100% + 13px);
  transform: translate(-50%, -3px);
  width: max-content;
  max-width: 280px;
  padding: .38rem .55rem;
  border-radius: .35rem;
  background: #111827;
  color: #f9fafb;
  box-shadow: 0 .45rem 1.2rem rgba(0,0,0,.28);
  font-size: .68rem;
  font-weight: 500;
  line-height: 1.25;
  white-space: normal;
  text-align: center;
}
.fc-editor-tooltip-wrap:hover::before,
.fc-editor-tooltip-wrap:hover::after,
.fc-editor-tooltip-wrap:focus-within::before,
.fc-editor-tooltip-wrap:focus-within::after {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, 0);
}


/* FrameCore shell contract: no full-screen OneUI page loader. */
#page-loader,
#page-loader.show {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* FrameCore RC1 Build 197 - Project Overview & Workspace Cleanup */
.fc-project-overview-hero{overflow:hidden;background:var(--bs-body-bg);border:1px solid var(--bs-border-color)}
.fc-project-progress-card{width:min(100%,320px);padding:1rem 1.1rem;border:1px solid var(--bs-border-color);border-radius:.85rem;background:var(--bs-body-bg);box-shadow:0 .35rem 1.1rem rgba(0,0,0,.035);flex:0 0 auto}
.fc-project-progress-card .progress{height:.5rem;border-radius:999px;background:var(--bs-tertiary-bg)}
.fc-project-overview-grid>.col-xl-4,.fc-project-overview-grid>.col-xl-5,.fc-project-overview-grid>.col-xl-7,.fc-project-overview-grid>.col-xl-8{min-width:0}
.fc-project-milestone{display:block;padding:.9rem 1rem;border:1px solid var(--bs-border-color);border-radius:.8rem;background:var(--bs-body-bg);transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}
.fc-project-milestone:hover{border-color:rgba(var(--bs-primary-rgb),.3);box-shadow:0 .4rem 1rem rgba(0,0,0,.05);transform:translateY(-1px)}
.fc-project-milestone .progress{height:.38rem;border-radius:999px}
.fc-project-empty{display:flex;align-items:center;justify-content:center;gap:1rem;min-height:110px;padding:1rem;border:1px dashed var(--bs-border-color);border-radius:.8rem;background:var(--bs-tertiary-bg);color:var(--bs-secondary-color)}
.fc-project-empty>i{font-size:1.7rem;opacity:.7}
.fc-project-file-icon{width:2.35rem;height:2.35rem;border-radius:.7rem;display:flex;align-items:center;justify-content:center;background:rgba(var(--bs-primary-rgb),.1);color:var(--bs-primary);flex:0 0 auto}
.fc-project-avatar{width:2.35rem;height:2.35rem;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(var(--bs-primary-rgb),.13);color:var(--bs-primary);font-size:.75rem;font-weight:700;flex:0 0 auto}
.fc-project-details dt{color:var(--bs-secondary-color);font-weight:500}.fc-project-details dd{margin-bottom:.65rem;overflow-wrap:anywhere}
.fc-project-action-menu form .dropdown-item{width:100%;text-align:left;border:0;background:transparent}.fc-project-action-menu form .dropdown-item:hover,.fc-project-action-menu form .dropdown-item:focus{background:var(--bs-dropdown-link-hover-bg);color:var(--bs-dropdown-link-hover-color)}
.fc-project-action-menu{min-width:230px}
@media(max-width:991.98px){.fc-project-progress-card{width:100%}.fc-project-overview-hero .block-content{padding:1rem}.fc-project-overview-grid .block{height:auto!important}.fc-project-action-menu{min-width:210px}}
@media(max-width:575.98px){.fc-project-overview-grid .list-group-item{padding:.8rem!important}.fc-project-file-icon{display:none}.fc-project-overview-grid .small.text-end{font-size:.7rem}.fc-page-header .fc-actions>.dropdown{width:auto}}


/* FrameCore RC1 Build 199 – Task Board Compact Workflow */
.fc-task-tools .block-header{padding:.7rem .9rem}.fc-task-tools .block-content{padding:.85rem .9rem}.fc-task-filterbar{display:grid;grid-template-columns:minmax(220px,1fr) auto minmax(150px,190px) minmax(145px,175px) minmax(145px,175px) 34px;gap:.5rem;align-items:center}.fc-task-search-wrap{position:relative;min-width:0}.fc-task-search-wrap>i{position:absolute;left:.65rem;top:50%;transform:translateY(-50%);color:var(--bs-secondary-color);font-size:.75rem;pointer-events:none}.fc-task-search-wrap .form-control{padding-left:1.9rem}.fc-task-create-panel{padding:.9rem;border:1px solid var(--bs-border-color);border-radius:.75rem;background:var(--bs-tertiary-bg)}.fc-task-create-panel .form-label{font-size:.72rem;margin-bottom:.22rem;color:var(--bs-secondary-color)}.fc-kanban-wrap{overflow-x:auto;padding-bottom:.7rem}.fc-kanban-board{display:grid;grid-template-columns:repeat(3,minmax(270px,1fr));gap:.75rem;align-items:start;min-width:880px}.fc-kanban-column{display:flex;flex-direction:column;min-height:300px;border:1px solid var(--bs-border-color);border-radius:.85rem;background:rgba(var(--bs-tertiary-bg-rgb),.52);overflow:hidden}.fc-kanban-column-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.62rem .72rem;border-bottom:1px solid var(--bs-border-color);background:var(--bs-body-bg)}.fc-task-column-icon{width:1.75rem;height:1.75rem;display:inline-flex;align-items:center;justify-content:center;border-radius:.5rem;background:rgba(var(--bs-primary-rgb),.09);color:var(--bs-primary);font-size:.72rem}.fc-kanban-tasks{min-height:180px;padding:.55rem;flex:1}.fc-kanban-tasks.drag-over{outline:2px dashed rgba(var(--bs-primary-rgb),.35);outline-offset:-5px;border-radius:.65rem;background:rgba(var(--bs-primary-rgb),.04)}.fc-task-card{margin-bottom:.48rem;padding:.56rem .58rem;border:1px solid var(--bs-border-color);border-radius:.68rem;background:var(--bs-body-bg);box-shadow:0 .18rem .55rem rgba(0,0,0,.025);transition:border-color .15s ease,box-shadow .15s ease,opacity .15s ease}.fc-task-card:hover{border-color:rgba(var(--bs-primary-rgb),.24);box-shadow:0 .28rem .75rem rgba(0,0,0,.045)}.fc-task-card[hidden]{display:none!important}.fc-task-card.dragging{opacity:.42}.fc-task-card-main{display:flex;align-items:flex-start;gap:.48rem}.fc-task-check{display:flex;align-items:center;justify-content:center;padding-top:.08rem;flex:0 0 auto}.fc-task-check .form-check-input{width:1.02rem;height:1.02rem;margin:0;cursor:pointer}.fc-task-card-content{flex:1}.fc-task-title{font-size:.84rem;line-height:1.25;overflow-wrap:anywhere}.fc-task-card.is-complete .fc-task-title{text-decoration:line-through;color:var(--bs-secondary-color)}.fc-priority-badge{font-size:.58rem;line-height:1;padding:.28rem .38rem;flex:0 0 auto}.fc-task-meta{display:flex;align-items:center;gap:.52rem;flex-wrap:wrap;margin-top:.28rem;color:var(--bs-secondary-color);font-size:.68rem;line-height:1.25}.fc-task-meta span,.fc-task-meta a{display:inline-flex;align-items:center;gap:.22rem;min-width:0;color:inherit;text-decoration:none}.fc-task-meta a:hover{color:var(--bs-primary)}.fc-task-description{margin-top:.3rem;color:var(--bs-secondary-color);font-size:.71rem;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fc-task-drag-handle{display:inline-flex;align-items:center;justify-content:center;width:1.35rem;height:1.55rem;color:var(--bs-secondary-color);cursor:grab;flex:0 0 auto}.fc-task-drag-handle:active{cursor:grabbing}.fc-task-edit{margin:.38rem 0 0 1.5rem;padding-top:.36rem;border-top:1px solid var(--bs-border-color)}.fc-task-edit summary{font-size:.68rem;color:var(--bs-secondary-color);cursor:pointer;list-style:none}.fc-task-edit summary::-webkit-details-marker{display:none}.fc-task-edit[open] summary{color:var(--bs-primary)}.fc-task-quick-add{display:flex;gap:.35rem;padding:.5rem;border-top:1px solid var(--bs-border-color);background:var(--bs-body-bg)}.fc-task-quick-add .form-control{min-width:0}.fc-task-empty-state{display:none;align-items:center;justify-content:center;gap:.45rem;min-height:100px;color:var(--bs-secondary-color);font-size:.75rem}.fc-kanban-tasks.is-empty>.fc-task-empty-state{display:flex}.fc-task-due-overdue{border-left:3px solid var(--bs-danger)}.fc-task-due-today{border-left:3px solid var(--bs-warning)}.fc-task-due-soon{border-left:3px solid rgba(var(--bs-warning-rgb),.55)}.fc-task-due-overdue .fc-task-due-label{color:var(--bs-danger)}.fc-task-due-today .fc-task-due-label{color:var(--bs-warning-text-emphasis)}.fc-kanban-saving{position:fixed;right:1rem;bottom:1rem;z-index:1080;border-radius:2rem;padding:.48rem .78rem;background:var(--bs-dark);color:#fff;box-shadow:0 .4rem 1.2rem rgba(0,0,0,.16);font-size:.75rem}.fc-kanban-saving.is-error{background:var(--bs-danger)}.fc-task-mobile-switch{display:none;gap:.35rem;margin-bottom:.65rem;overflow-x:auto}.fc-task-mobile-switch .btn{white-space:nowrap}
@media(max-width:1199.98px){.fc-task-filterbar{grid-template-columns:minmax(220px,1fr) auto repeat(3,minmax(135px,1fr)) 34px}.fc-kanban-board{min-width:820px}}
@media(max-width:991.98px){.fc-task-filterbar{grid-template-columns:1fr 1fr 1fr}.fc-task-search-wrap{grid-column:span 2}.fc-task-filterbar #fcTaskFilterClear{justify-self:end}.fc-kanban-board{grid-template-columns:repeat(3,minmax(260px,1fr));min-width:800px}}
@media(max-width:767.98px){.fc-task-filterbar{grid-template-columns:1fr 1fr}.fc-task-search-wrap{grid-column:1/-1}.fc-task-filterbar #fcTaskMine{grid-column:1/-1}.fc-task-mobile-switch{display:flex}.fc-kanban-wrap{overflow:visible}.fc-kanban-board{display:block;min-width:0}.fc-kanban-column{display:none;min-height:260px}.fc-kanban-column.is-mobile-active{display:flex}.fc-task-description{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.fc-task-edit{margin-left:0}}
@media(max-width:479.98px){.fc-task-filterbar{grid-template-columns:1fr}.fc-task-search-wrap,.fc-task-filterbar #fcTaskMine{grid-column:auto}.fc-task-filterbar #fcTaskFilterClear{justify-self:stretch}.fc-task-filterbar #fcTaskFilterClear:after{content:' Szűrők törlése';font-family:inherit}.fc-task-card{padding:.52rem}.fc-task-meta{gap:.38rem}.fc-task-meta span,.fc-task-meta a{max-width:100%}}

/* Build 200 – Task Editor Polish & Connections Access */
.fc-task-card-actions{display:flex;align-items:center;gap:.15rem;flex:0 0 auto}
.fc-task-edit-button{width:1.75rem;height:1.75rem;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:.48rem;font-size:.68rem}
.fc-task-meta-action{display:inline-flex;align-items:center;gap:.22rem;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}
.fc-task-meta-action:hover{color:var(--bs-primary)}
.fc-task-editor-dialog{max-width:min(1180px,calc(100vw - 2rem))}
.fc-task-editor-modal .modal-content{min-height:min(760px,calc(100vh - 2rem));border-radius:1rem;overflow:hidden}
.fc-task-editor-modal .modal-header{padding:1rem 1.15rem;border-bottom:1px solid var(--bs-border-color)}
.fc-task-editor-layout{min-height:540px}
.fc-task-editor-main{padding:1.25rem 1.35rem;background:var(--bs-body-bg)}
.fc-task-editor-sidebar{padding:1.25rem;background:var(--bs-tertiary-bg);border-left:1px solid var(--bs-border-color)}
.fc-task-editor-description{min-height:410px;resize:vertical;line-height:1.5}
.fc-task-editor-footer{padding:.85rem 1.15rem;border-top:1px solid var(--bs-border-color);background:var(--bs-body-bg)}
@media(max-width:991.98px){.fc-task-editor-sidebar{border-left:0;border-top:1px solid var(--bs-border-color)}.fc-task-editor-layout{min-height:0}.fc-task-editor-description{min-height:300px}}
@media(max-width:767.98px){.fc-task-editor-modal .modal-content{min-height:100%;border-radius:0}.fc-task-editor-main,.fc-task-editor-sidebar{padding:1rem}.fc-task-editor-description{min-height:280px}.fc-task-editor-footer{position:sticky;bottom:0;z-index:2}}

/* Build 232: adaptive Project Workspace navigation contract */
.fc-project-workspace-nav .fc-module-nav-track{gap:.15rem}
.fc-project-workspace-nav .fc-module-nav-link{padding:.44rem .62rem;font-size:.82rem;white-space:nowrap}
.fc-project-workspace-nav .fc-module-nav-link .badge{font-size:.58rem;padding:.2rem .35rem}
.fc-project-nav-more{display:block;flex:0 0 auto;margin-left:auto}
.fc-project-nav-more>.fc-module-nav-link{border:0;background:transparent}
.fc-project-nav-menu{min-width:14rem}
.fc-project-nav-menu-adaptive,.fc-project-nav-menu-adaptive-divider{display:none}
@media(max-width:1399.98px){
 .fc-project-workspace-nav .fc-project-nav-link.is-adaptive{display:none}
 .fc-project-nav-menu-adaptive,.fc-project-nav-menu-adaptive-divider{display:block}
 .fc-project-nav-more>.is-adaptive-active{background:var(--bs-primary);border-color:var(--bs-primary);color:#fff;box-shadow:0 .25rem .75rem rgba(var(--bs-primary-rgb),.15)}
}
@media(max-width:767.98px){
 .fc-project-workspace-nav .fc-module-nav-link{padding:.42rem .55rem}
 .fc-project-nav-more{margin-left:.15rem}
}

/* Build 233: project navigation dropdown stacking recovery */
.fc-project-workspace-nav{
  position:relative;
  z-index:40;
  overflow:visible;
}
.fc-project-workspace-nav .fc-module-nav-track{
  position:relative;
  overflow:visible;
}
.fc-project-nav-more{
  position:relative;
  z-index:41;
}
.fc-project-nav-menu{
  z-index:1090;
  margin-top:.35rem;
}


/* Build 234: explicit More-menu active state; avoids Bootstrap/global .active collision */
/* Build 235: the More trigger has one stable geometry in normal, open and active states. */
.fc-project-nav-more>.fc-project-nav-more-toggle{
  appearance:none;
  min-height:0;
  margin:0;
  font:inherit;
  line-height:1.2;
  cursor:pointer;
  background:transparent!important;
  border-color:transparent!important;
  color:var(--bs-body-color)!important;
  box-shadow:none!important;
}
.fc-project-nav-more>.fc-project-nav-more-toggle:hover,
.fc-project-nav-more>.fc-project-nav-more-toggle:focus,
.fc-project-nav-more>.fc-project-nav-more-toggle.show{
  background:var(--bs-tertiary-bg)!important;
  border-color:transparent!important;
  color:var(--bs-primary)!important;
  box-shadow:none!important;
}
.fc-project-nav-more>.fc-project-nav-more-toggle.is-more-active,
.fc-project-nav-more>.fc-project-nav-more-toggle.is-more-active:hover,
.fc-project-nav-more>.fc-project-nav-more-toggle.is-more-active:focus,
.fc-project-nav-more>.fc-project-nav-more-toggle.is-more-active.show{
  background:var(--bs-primary)!important;
  border-color:var(--bs-primary)!important;
  color:#fff!important;
  box-shadow:0 .25rem .75rem rgba(var(--bs-primary-rgb),.15)!important;
}
/* Work tabs are visible on wide screens, therefore they must not activate More there. */
@media(min-width:1400px){
  .fc-project-nav-more>.fc-project-nav-more-toggle.is-adaptive-active,
  .fc-project-nav-more>.fc-project-nav-more-toggle.is-adaptive-active:hover,
  .fc-project-nav-more>.fc-project-nav-more-toggle.is-adaptive-active:focus,
  .fc-project-nav-more>.fc-project-nav-more-toggle.is-adaptive-active.show{
    background:transparent!important;
    border-color:transparent!important;
    color:var(--bs-body-color)!important;
    box-shadow:none!important;
  }
  .fc-project-nav-more>.fc-project-nav-more-toggle.is-adaptive-active:hover,
  .fc-project-nav-more>.fc-project-nav-more-toggle.is-adaptive-active:focus,
  .fc-project-nav-more>.fc-project-nav-more-toggle.is-adaptive-active.show{
    background:var(--bs-tertiary-bg)!important;
    color:var(--bs-primary)!important;
  }
}
/* Below 1400px the work tabs move into More, so More becomes their active tab. */
@media(max-width:1399.98px){
  .fc-project-nav-more>.fc-project-nav-more-toggle.is-adaptive-active,
  .fc-project-nav-more>.fc-project-nav-more-toggle.is-adaptive-active:hover,
  .fc-project-nav-more>.fc-project-nav-more-toggle.is-adaptive-active:focus,
  .fc-project-nav-more>.fc-project-nav-more-toggle.is-adaptive-active.show{
    background:var(--bs-primary)!important;
    border-color:var(--bs-primary)!important;
    color:#fff!important;
    box-shadow:0 .25rem .75rem rgba(var(--bs-primary-rgb),.15)!important;
  }
}

/* FrameCore RC1 Build 243 - Code Knowledge Engine */
.fc-editor-knowledge-panel{flex:0 0 0;width:0;min-width:0;overflow:hidden;display:grid;grid-template-rows:auto auto auto minmax(0,1fr);color:var(--fc-editor-text);background:var(--fc-editor-panel);border-left:0 solid var(--fc-editor-border);transition:flex-basis .18s ease,width .18s ease,border-width .18s ease}
.fc-editor-knowledge-panel.is-open{flex-basis:430px;width:430px;border-left-width:1px}
.fc-editor-knowledge-head{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.65rem .7rem .55rem .85rem;border-bottom:1px solid var(--fc-editor-border)}
.fc-editor-knowledge-head .btn-alt-secondary{color:#c8c8c8;background:transparent;border-color:transparent}.fc-editor-knowledge-head .btn-alt-secondary:hover{color:#fff;background:rgba(255,255,255,.1)}
.fc-editor-knowledge-search{padding:.75rem;border-bottom:1px solid var(--fc-editor-border);background:var(--fc-editor-panel-2)}
.fc-editor-knowledge-search .form-control,.fc-editor-knowledge-search .form-select,.fc-editor-knowledge-search .input-group-text{color:var(--fc-editor-text);background:#252526;border-color:var(--fc-editor-border)}
.fc-editor-knowledge-search textarea{resize:vertical;min-height:74px;max-height:170px}.fc-editor-knowledge-search .form-check-input{background-color:#252526;border-color:#666}.fc-editor-knowledge-search .form-check-label{color:#c8c8c8}.fc-editor-knowledge-filters summary{cursor:pointer;color:var(--fc-editor-muted);font-size:.72rem}.fc-editor-knowledge-source-checks{max-height:120px;overflow:auto;padding:.45rem;border:1px solid var(--fc-editor-border);border-radius:.35rem;background:#202020}
.fc-editor-knowledge-summary{padding:.45rem .75rem;border-bottom:1px solid var(--fc-editor-border);color:var(--fc-editor-muted);font-size:.68rem;line-height:1.35}
.fc-editor-knowledge-body{min-height:0;overflow:hidden}.fc-editor-knowledge-results,.fc-editor-knowledge-detail{height:100%;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#555 transparent}
.fc-editor-knowledge-result{display:block;width:100%;padding:.75rem;border:0;border-bottom:1px solid var(--fc-editor-border);color:var(--fc-editor-text);background:transparent;text-align:left}.fc-editor-knowledge-result:hover,.fc-editor-knowledge-result:focus{background:rgba(255,255,255,.05);outline:0}.fc-editor-knowledge-result strong{font-size:.78rem;line-height:1.3}.fc-editor-knowledge-result .small{font-size:.68rem;line-height:1.42}.fc-editor-knowledge-source-icon{width:1.75rem;height:1.75rem;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border-radius:.42rem;color:#9cdcfe;background:rgba(156,220,254,.09)}
.fc-editor-knowledge-detail-head{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;gap:.5rem;padding:.55rem .65rem;border-bottom:1px solid var(--fc-editor-border);background:var(--fc-editor-panel)}.fc-editor-knowledge-hu{padding:.7rem;border-left:3px solid var(--fc-editor-accent);border-radius:.25rem;color:#e5e5e5;background:rgba(var(--bs-primary-rgb),.1);font-size:.76rem;line-height:1.5}.fc-editor-knowledge-code{max-height:330px;margin:0;padding:.7rem;overflow:auto;border:1px solid var(--fc-editor-border);border-radius:.45rem;color:#dcdcdc;background:#111;font-size:.7rem;line-height:1.45;white-space:pre}.fc-editor-knowledge-example{margin-bottom:1rem}.fc-editor-knowledge-param{display:grid;grid-template-columns:minmax(90px,auto) minmax(0,1fr);gap:.55rem;padding:.35rem 0;border-bottom:1px solid var(--fc-editor-border);font-size:.69rem}.fc-editor-knowledge-param span{color:var(--fc-editor-muted)}.fc-editor-knowledge-meta{display:grid;gap:.3rem;padding:.65rem;border:1px solid var(--fc-editor-border);border-radius:.45rem;color:var(--fc-editor-muted);background:rgba(255,255,255,.025);font-size:.67rem}
.fc-editor-knowledge-sources-list{display:flex;flex-direction:column;gap:.75rem}.fc-editor-knowledge-source-row{display:flex;align-items:flex-start;gap:1rem;padding:1rem;border:1px solid var(--bs-border-color);border-radius:.65rem;background:var(--bs-body-bg)}.fc-editor-knowledge-source-row .progress{height:6px}.fc-editor-knowledge-source-row .progress-bar{font-size:0}
@media(max-width:1399.98px){.fc-editor-knowledge-panel.is-open{flex-basis:390px;width:390px}.fc-code-editor-page.is-knowledge-open .fc-editor-explorer{display:none}.fc-code-editor-page.is-knowledge-open .fc-editor-explorer+.fc-editor-stage{border-left:0}}
@media(max-width:991.98px){.fc-editor-knowledge-panel{position:absolute;z-index:34;inset:0 0 0 auto;height:100%;box-shadow:-1rem 0 2rem rgba(0,0,0,.35)}.fc-editor-knowledge-panel.is-open{width:min(94vw,460px);flex-basis:min(94vw,460px)}}
@media(max-width:575.98px){.fc-editor-knowledge-panel.is-open{width:100%;flex-basis:100%}.fc-editor-knowledge-source-row{flex-direction:column}.fc-editor-knowledge-source-row>div:last-child{width:100%}.fc-editor-knowledge-source-row>div:last-child .btn{width:100%}}

.fc-editor-knowledge-contract{display:grid;gap:.35rem;padding:.65rem;border-left:3px solid var(--bs-warning);border-radius:.35rem;color:var(--fc-editor-muted);background:rgba(255,193,7,.06);font-size:.68rem;line-height:1.4}
.fc-editor-knowledge-meta{margin-bottom:0}.fc-editor-knowledge-meta>div{display:grid;grid-template-columns:7.2rem minmax(0,1fr);gap:.55rem;align-items:start}.fc-editor-knowledge-meta dt{margin:0;color:#c8c8c8;font-weight:600}.fc-editor-knowledge-meta dd{margin:0;min-width:0;color:var(--fc-editor-muted)}.fc-editor-knowledge-meta a{color:#9cdcfe}
@media(max-width:575.98px){.fc-editor-knowledge-meta>div{grid-template-columns:1fr;gap:.08rem}}


/* FrameCore RC1 Build 294 — shared block header and DataTable contract */
.block-header{align-items:center}
.block-header>.block-title{display:flex;align-items:center;align-self:stretch;min-width:0;margin-top:0;margin-bottom:0;line-height:1.25}
.block-header>.block-title:first-child{flex:1 1 auto}
.block-header>.block-title+.badge,.block-header>.block-title+.btn,.block-header>.block-title+.dropdown{flex:0 0 auto}
.block-header>div>.block-title{line-height:1.25}
.fc-datatable-wrap{width:100%;overflow-x:auto}
.fc-datatable-wrap .table{width:100%!important;margin-bottom:0}
.fc-datatable-wrap .dt-container{width:100%}
.fc-datatable-wrap .dt-layout-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin:0;padding:.75rem 1rem}
.fc-datatable-wrap .dt-layout-row:first-child{border-bottom:1px solid var(--bs-border-color-translucent)}
.fc-datatable-wrap .dt-layout-row:last-child{border-top:1px solid var(--bs-border-color-translucent)}
.fc-datatable-wrap .dt-layout-cell{min-width:0}
.fc-datatable-wrap .dt-search label,.fc-datatable-wrap .dt-length label{display:flex;align-items:center;gap:.5rem;margin:0;color:var(--bs-secondary-color);font-size:.78rem}
.fc-datatable-wrap .dt-search input,.fc-datatable-wrap .dt-length select{margin:0}
.fc-datatable-wrap .dt-info{font-size:.78rem;color:var(--bs-secondary-color)}
.fc-datatable-wrap .pagination{margin:0}
@media(max-width:575.98px){.fc-datatable-wrap .dt-layout-row{align-items:stretch}.fc-datatable-wrap .dt-layout-cell{width:100%}.fc-datatable-wrap .dt-search label,.fc-datatable-wrap .dt-length label{justify-content:space-between}.fc-datatable-wrap .dt-search input{min-width:0;flex:1}}
