:root {
  color-scheme: light;
  --fg: #1f2329; --bg: #f4f5f7; --card: #fff; --line: #d9dde3; --muted: #687080; --accent: #1068eb; --accent-fg: #fff;
  --success: #1b8a3a; --warning: #c47a00; --error: #d1242f; --info: #1068eb;
  --radius: 6px; --space-xs: 4px; --space-s: 8px; --space-base: 16px; --space-m: 24px; --space-l: 32px; --space-xl: 48px;
  --font: 15px/1.5 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}
* { box-sizing: border-box; }
body { margin: 0; font: var(--font); color: var(--fg); background: var(--bg); }
.app { min-height: 100vh; }
.screen { width: 100%; max-width: none; margin: 0; padding: var(--space-m) var(--space-base); display: flex; flex-direction: column; gap: var(--space-base); }
a { color: var(--accent); text-decoration: none; cursor: pointer; }
a:hover { text-decoration: underline; }
a.disabled { color: var(--muted); pointer-events: none; }
img { max-width: 100%; }

/* text */
.heading1, h1 { font-size: 2rem; font-weight: 700; margin: 0; }
.heading2, h2 { font-size: 1.6rem; font-weight: 700; margin: 0; }
.heading3, h3 { font-size: 1.35rem; font-weight: 650; margin: 0; }
.heading4, h4 { font-size: 1.15rem; font-weight: 650; margin: 0; }
.heading5, h5 { font-size: 1rem; font-weight: 650; margin: 0; }
.heading6, h6 { font-size: .9rem; font-weight: 650; margin: 0; }
.title { font-size: 1.5rem; font-weight: 650; }
.font-size-s { font-size: .85rem; } .font-size-base { font-size: 1rem; } .font-size-l { font-size: 1.25rem; }
.text-bold { font-weight: 700; } .text-italic { font-style: italic; } .text-ellipsis { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.text-align-left { text-align: left; } .text-align-center { text-align: center; } .text-align-right { text-align: right; }
.muted, .text-neutral-7 { color: var(--muted); }
.text-success { color: var(--success); } .text-warning { color: var(--warning); } .text-error { color: var(--error); }

/* layout */
.card { background: var(--card); border-radius: 10px; padding: var(--space-base); display: grid; gap: 10px; box-shadow: 0 1px 3px #0002; }
.row, .display-flex { display: flex; gap: var(--space-s); align-items: center; }
.flex-direction-column { flex-direction: column; align-items: stretch; }
.flex-wrap { flex-wrap: wrap; }
.align-items-center { align-items: center; } .align-items-flex-start { align-items: flex-start; }
.justify-content-space-between { justify-content: space-between; } .justify-content-center { justify-content: center; } .justify-content-flex-end { justify-content: flex-end; }
.flex1 { flex: 1; }
.columns { display: grid; gap: var(--space-base); grid-template-columns: repeat(auto-fit, minmax(0, 1fr)); }
.columns2 { display: grid; gap: var(--space-base); grid-template-columns: repeat(2, minmax(0, 1fr)); }
.columns3 { display: grid; gap: var(--space-base); grid-template-columns: repeat(3, minmax(0, 1fr)); }
.columns4 { display: grid; gap: var(--space-base); grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 640px) { .columns2, .columns3, .columns4 { grid-template-columns: 1fr; } }
.full-width { width: 100%; }
.gap-s { gap: var(--space-s); } .gap-base { gap: var(--space-base); } .gap-m { gap: var(--space-m); }
.margin-top-s { margin-top: var(--space-s); } .margin-top-base { margin-top: var(--space-base); } .margin-top-m { margin-top: var(--space-m); } .margin-top-l { margin-top: var(--space-l); }
.margin-bottom-s { margin-bottom: var(--space-s); } .margin-bottom-base { margin-bottom: var(--space-base); } .margin-bottom-m { margin-bottom: var(--space-m); }
.margin-left-s { margin-left: var(--space-s); } .margin-right-s { margin-right: var(--space-s); }
.padding-s { padding: var(--space-s); } .padding-base { padding: var(--space-base); } .padding-m { padding: var(--space-m); } .padding-l { padding: var(--space-l); }
.background-white { background: var(--card); } .border-radius-soft { border-radius: var(--radius); }
.hidden { display: none !important; }

/* layout blocks (header, title, actions, content) */
.layout { min-height: 100vh; display: flex; flex-direction: column; }
.layout .header { background: var(--card); border-bottom: 1px solid var(--line); }
.layout .header-content { width: 100%; max-width: none; margin: 0; padding: 10px var(--space-base); display: flex; align-items: center; gap: var(--space-m); }
.layout .app-name { font-weight: 700; font-size: 1.1rem; }
.layout .menu { display: flex; gap: var(--space-base); flex-wrap: wrap; }
.layout .main { flex: 1; width: 100%; max-width: none; margin: 0; padding: var(--space-m) var(--space-base); display: flex; flex-direction: column; gap: var(--space-base); }
.layout .content-top { display: flex; align-items: center; justify-content: space-between; gap: var(--space-base); flex-wrap: wrap; }
.layout .footer { color: var(--muted); font-size: .85rem; text-align: center; padding: var(--space-base); }
.screen:has(> .block > .layout) { max-width: none; padding: 0; }

/* buttons */
button, .btn { font: inherit; display: inline-flex; align-items: center; justify-content: center; gap: 6px; padding: 7px 14px; border-radius: var(--radius); border: 1px solid var(--line); background: var(--card); color: var(--fg); cursor: pointer; min-height: 36px; }
button:hover:not(:disabled), .btn:hover:not(:disabled) { filter: brightness(.97); }
button:disabled, .btn:disabled { opacity: .5; cursor: default; }
.btn-primary, .screen > button:not([class]) { background: var(--accent); border-color: var(--accent); color: var(--accent-fg); }
.btn-success { background: var(--success); border-color: var(--success); color: #fff; }
.btn-error { background: var(--error); border-color: var(--error); color: #fff; }
.btn-small { min-height: 28px; padding: 3px 10px; font-size: .85rem; }
.btn-large { min-height: 46px; padding: 10px 22px; font-size: 1.05rem; }
.btn-link { border-color: transparent; background: transparent; color: var(--accent); }

/* inputs */
input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]), textarea, select, .form-control {
  font: inherit; width: 100%; min-height: 36px; padding: 6px 10px; border-radius: var(--radius); border: 1px solid var(--line); background: var(--card); color: inherit;
}
.row > input:not([type=checkbox]):not([type=radio]), .row > select { flex: 1; width: auto; }
.row > label { font-weight: normal; }
.form > button, .form > .btn { align-self: flex-start; }
textarea { min-height: 80px; resize: vertical; }
input:focus, textarea:focus, select:focus { outline: 2px solid color-mix(in srgb, var(--accent) 45%, transparent); outline-offset: 0; border-color: var(--accent); }
input:disabled, textarea:disabled, select:disabled { opacity: .6; }
.not-valid, input.not-valid, select.not-valid, textarea.not-valid { border-color: var(--error) !important; }
.multi-select { position: relative; display: block; width: 100%; }
.multi-select-field { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; min-height: 38px; padding: 4px 30px 4px 8px; border: 1px solid var(--line); border-radius: 6px; background: var(--card); cursor: pointer; list-style: none; position: relative; }
.multi-select-field::-webkit-details-marker { display: none; }
.multi-select-field::after { content: ""; position: absolute; right: 12px; top: 50%; border: 5px solid transparent; border-top-color: currentColor; transform: translateY(-25%); opacity: .55; }
.multi-select[open] .multi-select-field { border-color: var(--accent); outline: 2px solid color-mix(in srgb, var(--accent) 45%, transparent); }
.multi-select.not-valid .multi-select-field { border-color: var(--error) !important; }
.multi-select.disabled .multi-select-field { opacity: .6; cursor: default; }
.multi-select-empty { color: var(--muted, #8a94a0); }
.multi-select-tag { display: inline-flex; align-items: center; gap: 4px; padding: 2px 4px 2px 8px; border-radius: 999px; background: color-mix(in srgb, var(--accent) 12%, transparent); color: var(--accent); font-size: .875em; }
.multi-select-remove { display: inline-flex; align-items: center; justify-content: center; width: 18px; height: 18px; padding: 0; border: 0; border-radius: 50%; background: transparent; color: inherit; cursor: pointer; font-size: 14px; line-height: 1; }
.multi-select-remove:hover { background: color-mix(in srgb, var(--accent) 20%, transparent); }
.multi-select-menu { position: absolute; z-index: 40; top: calc(100% + 4px); left: 0; right: 0; max-height: 260px; overflow: auto; padding: 4px; border: 1px solid var(--line); border-radius: 6px; background: var(--card); box-shadow: 0 6px 20px #0002; }
.multi-select-option { display: flex; align-items: center; gap: 8px; padding: 6px 8px; border-radius: 4px; cursor: pointer; font-weight: 400; }
.multi-select-option:hover { background: color-mix(in srgb, var(--accent) 8%, transparent); }
.validation-message { display: block; color: var(--error); font-size: .82rem; margin-top: 2px; }
.search-widget { position: relative; display: flex; align-items: center; width: 100%; }
.search-widget-icon { position: absolute; left: 11px; z-index: 1; color: var(--muted); pointer-events: none; }
.search-widget-input { padding-left: 36px !important; }
.search-widget.not-valid .search-widget-input { border-color: var(--error) !important; }
input[type=checkbox], input[type=radio] { width: 18px; height: 18px; accent-color: var(--accent); margin: 0; vertical-align: middle; }
label { font-weight: 600; font-size: .9rem; }
label.mandatory::after { content: " *"; color: var(--error); }
.form { display: flex; flex-direction: column; gap: 12px; }
.switch { position: relative; display: inline-block; width: 40px; height: 22px; font-weight: normal; vertical-align: middle; }
.switch input { opacity: 0; width: 0; height: 0; position: absolute; }
.switch-track { position: absolute; inset: 0; border-radius: 11px; background: var(--line); transition: background .15s; cursor: pointer; }
.switch-track::before { content: ""; position: absolute; left: 3px; top: 3px; width: 16px; height: 16px; border-radius: 50%; background: #fff; transition: transform .15s; box-shadow: 0 1px 2px #0004; }
.switch input:checked + .switch-track { background: var(--accent); }
.switch input:checked + .switch-track::before { transform: translateX(18px); }
.switch input:disabled + .switch-track { opacity: .5; cursor: default; }
.radio-group { display: flex; flex-wrap: wrap; gap: 6px 16px; align-items: center; }
.button-group { display: inline-flex; }
.button-group-item { border-radius: 0; margin-left: -1px; }
.button-group-item:first-child { border-radius: var(--radius) 0 0 var(--radius); margin-left: 0; }
.button-group-item:last-child { border-radius: 0 var(--radius) var(--radius) 0; }
.button-group-item.active { background: var(--accent); border-color: var(--accent); color: var(--accent-fg); position: relative; }
.upload { display: inline-flex; align-items: center; gap: 10px; font-weight: normal; cursor: pointer; }
.upload input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.upload-button { padding: 6px 12px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--card); }
.upload-name { color: var(--muted); font-size: .9rem; }
.upload.disabled { opacity: .6; cursor: default; }
.bulk-upload { display: flex; align-items: center; justify-content: center; gap: 12px; width: 100%; min-height: 104px; padding: 16px; border: 2px dashed var(--line); border-radius: var(--radius); background: color-mix(in srgb, var(--card) 88%, var(--accent) 12%); color: inherit; cursor: pointer; font-weight: normal; text-align: left; }
.bulk-upload:hover { border-color: var(--accent); background: color-mix(in srgb, var(--card) 82%, var(--accent) 18%); }
.bulk-upload input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.bulk-upload-icon { display: inline-grid; place-items: center; flex: 0 0 40px; width: 40px; height: 40px; border-radius: 50%; background: color-mix(in srgb, var(--accent) 12%, transparent); color: var(--accent); }
.bulk-upload-icon .icon { font-size: 21px; }
.bulk-upload-copy { display: grid; gap: 3px; }
.bulk-upload-title { font-weight: 600; }
.bulk-upload-help { color: var(--muted); font-size: .85rem; }
.bulk-upload.disabled { opacity: .6; cursor: default; }
.bulk-upload.not-valid { border-color: var(--error); }
.document-viewer { width: 100%; min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: var(--card); }
.document-viewer-frame { display: block; width: 100%; border: 0; background: #fff; }
.document-viewer-image { display: block; width: 100%; height: auto; max-height: 100%; object-fit: contain; background: #f3f4f6; }
.document-viewer-empty, .document-viewer-design { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; padding: 24px; color: var(--muted); background: color-mix(in srgb, var(--card) 88%, var(--line) 12%); text-align: center; }
.document-viewer-empty .icon, .document-viewer-design-icon { font-size: 36px; color: var(--accent); }
.document-viewer-empty a { color: var(--accent); font-weight: 600; }
.document-viewer-design strong { color: var(--fg); }
.document-viewer-design span { font-size: .85rem; }

/* lists and tables */
.list { display: flex; flex-direction: column; gap: 6px; }
.list-item { padding: 8px 12px; border-radius: var(--radius); background: var(--card); display: flex; align-items: center; gap: 10px; }
.list-item > :first-child { flex: 1; }
.list-item-action { display: flex; gap: 6px; margin-left: auto; }
.chart { width: 100%; min-width: 0; }
.chart-host { width: 100%; min-height: 160px; }
.map-widget { width: 100%; min-width: 0; border-radius: var(--radius); overflow: hidden; border: 1px solid var(--line); }
.map-host { width: 100%; min-height: 160px; background: color-mix(in srgb, var(--line) 35%, var(--card)); }

/* patterns: navigation */
.tabs { display: flex; flex-direction: column; }
.tabs-header { display: flex; gap: 2px; border-bottom: 1px solid var(--line); overflow-x: auto; }
.tabs-header-item { border: 0; border-bottom: 2px solid transparent; border-radius: 0; background: transparent; color: var(--muted); padding: 8px 14px; margin-bottom: -1px; white-space: nowrap; }
.tabs-header-item.active { color: var(--accent); border-bottom-color: var(--accent); font-weight: 600; }
.tabs-content { padding: var(--space-base) 0; display: flex; flex-direction: column; gap: var(--space-s); }
.accordion { display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: var(--radius); background: var(--card); overflow: hidden; }
.accordion-item + .accordion-item { border-top: 1px solid var(--line); }
.accordion-title { display: flex; align-items: center; justify-content: space-between; gap: var(--space-s); padding: 12px var(--space-base); cursor: pointer; font-weight: 600; list-style: none; }
.accordion-title::-webkit-details-marker { display: none; }
.accordion-chevron { transition: transform .15s; color: var(--muted); }
.accordion-item[open] .accordion-chevron { transform: rotate(180deg); }
.accordion-content { padding: 0 var(--space-base) var(--space-base); display: flex; flex-direction: column; gap: var(--space-s); }
.pagination { display: flex; align-items: center; justify-content: space-between; gap: var(--space-base); flex-wrap: wrap; }
.pagination-counter { color: var(--muted); font-size: .9rem; }
.pagination-pages { display: flex; align-items: center; gap: 4px; }
.pagination-pages button { min-width: 34px; min-height: 34px; padding: 0 8px; }
.pagination-page.active { background: var(--accent); border-color: var(--accent); color: var(--accent-fg); }
.pagination-gap { padding: 0 4px; color: var(--muted); }
.breadcrumbs ol { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 0; padding: 0; list-style: none; font-size: .9rem; }
.breadcrumbs-item { display: inline-flex; align-items: center; gap: 6px; color: var(--muted); }
.breadcrumbs-item + .breadcrumbs-item::before { content: "›"; color: var(--muted); }
.breadcrumbs-item:last-child { color: var(--fg); font-weight: 600; }
.wizard { display: flex; margin: 0; padding: 0; list-style: none; counter-reset: step; }
.wizard-step { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 6px; position: relative; text-align: center; color: var(--muted); font-size: .9rem; }
.wizard-step + .wizard-step::before { content: ""; position: absolute; top: 15px; right: 50%; width: 100%; height: 2px; background: var(--line); z-index: 0; }
.wizard-step.done::before, .wizard-step.active::before { background: var(--accent); }
.wizard-marker { position: relative; z-index: 1; display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 50%; border: 2px solid var(--line); background: var(--card); font-weight: 600; }
.wizard-step.done .wizard-marker { background: var(--accent); border-color: var(--accent); color: var(--accent-fg); }
.wizard-step.active { color: var(--fg); font-weight: 600; }
.wizard-step.active .wizard-marker { border-color: var(--accent); color: var(--accent); }
.sidebar-layer { position: fixed; inset: 0; z-index: 60; }
.sidebar-backdrop { position: absolute; inset: 0; background: #0006; }
.sidebar { position: absolute; top: 0; bottom: 0; max-width: 100%; background: var(--card); box-shadow: 0 0 24px #0004; padding: var(--space-m); display: flex; flex-direction: column; gap: var(--space-base); overflow-y: auto; outline: none; }
.sidebar-right { right: 0; } .sidebar-left { left: 0; }
.sidebar.inline { position: relative; box-shadow: none; border: 1px dashed var(--line); max-width: 100%; }

/* patterns: content */
.card-title { font-weight: 650; font-size: 1.05rem; }
.section { display: flex; flex-direction: column; gap: var(--space-s); }
.section-title { font-size: 1.25rem; padding-bottom: 6px; border-bottom: 1px solid var(--line); }
.columns-widget { display: grid; grid-template-columns: repeat(var(--columns, 2), minmax(0, 1fr)); align-items: start; }
@media (max-width: 640px) { .columns-widget { grid-template-columns: 1fr; } }
.gallery { display: grid; align-items: start; }
.alert { display: flex; align-items: flex-start; gap: 10px; padding: 12px var(--space-base); border-radius: var(--radius); border: 1px solid; --tone: var(--info); border-color: color-mix(in srgb, var(--tone) 40%, transparent); background: color-mix(in srgb, var(--tone) 10%, var(--card)); }
.alert-success { --tone: var(--success); } .alert-warning { --tone: var(--warning); } .alert-error { --tone: var(--error); }
.alert-icon { color: var(--tone); margin-top: 3px; }
.alert-body { flex: 1; display: flex; flex-direction: column; gap: 2px; }
.alert-close { border: 0; background: transparent; min-height: 0; padding: 0 4px; font-size: 1.2rem; line-height: 1; color: var(--muted); }
.progress-neutral, .timeline-neutral { --tone: var(--muted); } .progress-info, .timeline-info { --tone: var(--info); }
.progress-success, .timeline-success { --tone: var(--success); } .progress-warning, .timeline-warning { --tone: var(--warning); }
.progress-error, .timeline-error { --tone: var(--error); }
.tag-remove { border: 0; background: transparent; min-height: 0; padding: 0 0 0 2px; color: inherit; font-size: 1rem; line-height: 1; }
.progress-bar { display: flex; align-items: center; gap: 10px; width: 100%; --tone: var(--accent); }
.progress-bar .progress-track { flex: 1; height: 8px; border-radius: 4px; background: color-mix(in srgb, var(--line) 70%, transparent); overflow: hidden; }
.progress-bar .progress-fill { height: 100%; border-radius: 4px; background: var(--tone); transition: width .3s; }
.progress-value { font-size: .85rem; font-weight: 600; color: var(--muted); min-width: 3ch; }
.progress-circle { position: relative; display: inline-flex; align-self: flex-start; align-items: center; justify-content: center; width: 96px; height: 96px; --tone: var(--accent); }
.progress-circle svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.progress-circle circle { fill: none; stroke-width: 8; }
.progress-circle .progress-track { stroke: color-mix(in srgb, var(--line) 70%, transparent); }
.progress-circle .progress-fill { stroke: var(--tone); stroke-linecap: round; transition: stroke-dasharray .3s; }
.progress-circle .progress-value { color: var(--fg); font-size: 1rem; }
.tooltip-wrap { position: relative; display: inline-flex; width: fit-content; align-self: flex-start; }
.tooltip { position: absolute; z-index: 50; padding: 5px 9px; border-radius: 4px; background: #222; color: #fff; font-size: .8rem; font-weight: 400; white-space: nowrap; pointer-events: none; opacity: 0; transition: opacity .12s; }
.tooltip-wrap:hover > .tooltip, .tooltip-wrap:focus-within > .tooltip { opacity: 1; }
.tooltip-top > .tooltip { bottom: calc(100% + 6px); left: 50%; transform: translateX(-50%); }
.tooltip-bottom > .tooltip { top: calc(100% + 6px); left: 50%; transform: translateX(-50%); }
.tooltip-left > .tooltip { right: calc(100% + 6px); top: 50%; transform: translateY(-50%); }
.tooltip-right > .tooltip { left: calc(100% + 6px); top: 50%; transform: translateY(-50%); }
.carousel { position: relative; width: 100%; }
.carousel-viewport { overflow: hidden; border-radius: var(--radius); }
.carousel-track { display: flex; transition: transform .35s ease; }
.carousel-slide { flex: 0 0 100%; min-width: 0; padding: 0 52px; }
.carousel-slide:has(> img) { padding: 0; }
.carousel-slide > img { display: block; width: 100%; }
.carousel-previous, .carousel-next { position: absolute; top: 50%; transform: translateY(-50%); width: 36px; height: 36px; min-height: 0; padding: 0; border-radius: 50%; background: color-mix(in srgb, var(--card) 85%, transparent); box-shadow: 0 1px 4px #0003; }
.carousel-previous { left: 8px; } .carousel-next { right: 8px; }
.carousel-dots { display: flex; justify-content: center; gap: 6px; margin-top: 8px; }
.carousel-dot { width: 8px; height: 8px; min-height: 0; padding: 0; border: 0; border-radius: 50%; background: var(--line); }
.carousel-dot.active { background: var(--accent); }
.timeline { display: flex; flex-direction: column; }
.timeline-item { position: relative; display: flex; gap: 12px; padding-bottom: var(--space-base); --tone: var(--accent); }
.timeline-item::before { content: ""; position: absolute; left: 6px; top: 16px; bottom: 0; width: 2px; background: var(--line); }
.timeline-item:last-child::before { display: none; }
.timeline-dot { flex: none; width: 14px; height: 14px; margin-top: 4px; border-radius: 50%; background: var(--tone); box-shadow: 0 0 0 3px color-mix(in srgb, var(--tone) 20%, transparent); }
.timeline-body { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.timeline-time { color: var(--muted); font-size: .8rem; }

/* patterns: inputs */
.date-picker, .dropdown-search { position: relative; display: block; width: 100%; }
.date-picker-field, .dropdown-search-field { display: flex; align-items: center; gap: 8px; min-height: 36px; padding: 6px 30px 6px 10px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--card); cursor: pointer; list-style: none; position: relative; }
.date-picker-field::-webkit-details-marker, .dropdown-search-field::-webkit-details-marker { display: none; }
.dropdown-search-field::after { content: ""; position: absolute; right: 12px; top: 50%; border: 5px solid transparent; border-top-color: currentColor; transform: translateY(-25%); opacity: .55; }
.date-picker[open] .date-picker-field, .dropdown-search[open] .dropdown-search-field { border-color: var(--accent); outline: 2px solid color-mix(in srgb, var(--accent) 45%, transparent); }
.date-picker.not-valid .date-picker-field, .dropdown-search.not-valid .dropdown-search-field { border-color: var(--error) !important; }
.date-picker.disabled .date-picker-field, .dropdown-search.disabled .dropdown-search-field { opacity: .6; cursor: default; }
.date-picker-icon { color: var(--muted); }
.date-picker-empty, .dropdown-search-empty { color: var(--muted); }
.date-picker-calendar { position: absolute; z-index: 40; top: calc(100% + 4px); left: 0; width: 280px; padding: 10px; border: 1px solid var(--line); border-radius: 8px; background: var(--card); box-shadow: 0 6px 20px #0002; }
.date-picker-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 6px; font-weight: 600; }
.date-picker-header button { min-height: 30px; width: 30px; padding: 0; border: 0; background: transparent; }
.date-picker-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 2px; }
.date-picker-weekday { text-align: center; font-size: .75rem; color: var(--muted); padding: 4px 0; }
.date-picker-day { min-height: 34px; padding: 0; border: 0; border-radius: 6px; background: transparent; font-size: .9rem; }
.date-picker-day:hover:not(:disabled) { background: color-mix(in srgb, var(--accent) 10%, transparent); }
.date-picker-day.today { box-shadow: inset 0 0 0 1px var(--accent); }
.date-picker-day.in-range { background: color-mix(in srgb, var(--accent) 14%, transparent); border-radius: 0; }
.date-picker-day.selected { background: var(--accent); color: var(--accent-fg); }
.dropdown-search-menu { position: absolute; z-index: 40; top: calc(100% + 4px); left: 0; right: 0; padding: 6px; border: 1px solid var(--line); border-radius: 6px; background: var(--card); box-shadow: 0 6px 20px #0002; }
.dropdown-search-options { max-height: 240px; overflow: auto; margin-top: 6px; display: flex; flex-direction: column; }
.dropdown-search-option { justify-content: flex-start; min-height: 32px; border: 0; border-radius: 4px; background: transparent; text-align: left; }
.dropdown-search-option:hover, .dropdown-search-option.selected { background: color-mix(in srgb, var(--accent) 10%, transparent); }
.dropdown-search-option.selected { color: var(--accent); font-weight: 600; }
.dropdown-search-none { padding: 8px; color: var(--muted); font-size: .9rem; }
.range-slider { display: flex; align-items: center; gap: 12px; width: 100%; }
.range-slider-track { position: relative; flex: 1; height: 24px; }
.range-slider-track::before { content: ""; position: absolute; left: 0; right: 0; top: 10px; height: 4px; border-radius: 2px; background: linear-gradient(to right, var(--line) var(--from), var(--accent) var(--from), var(--accent) var(--to), var(--line) var(--to)); }
.range-slider input[type=range] { position: absolute; inset: 0; width: 100%; min-height: 0; margin: 0; padding: 0; border: 0; background: transparent; -webkit-appearance: none; appearance: none; pointer-events: none; outline: none; }
.range-slider input[type=range]::-webkit-slider-thumb { -webkit-appearance: none; pointer-events: auto; width: 18px; height: 18px; border-radius: 50%; background: var(--card); border: 2px solid var(--accent); cursor: pointer; }
.range-slider input[type=range]::-moz-range-thumb { pointer-events: auto; width: 14px; height: 14px; border-radius: 50%; background: var(--card); border: 2px solid var(--accent); cursor: pointer; }
.range-slider input[type=range]::-webkit-slider-runnable-track, .range-slider input[type=range]::-moz-range-track { background: transparent; }
.range-slider-value { min-width: 4ch; font-size: .9rem; font-weight: 600; color: var(--muted); text-align: right; }
.rating { display: inline-flex; gap: 2px; width: fit-content; align-self: flex-start; }
.rating-star { min-height: 0; padding: 0 1px; border: 0; background: transparent; font-size: 1.5rem; line-height: 1; color: var(--line); }
.rating-star.filled { color: #f5a623; }
.rating:not(.disabled):hover .rating-star { color: #f5a623; }
.rating:not(.disabled) .rating-star:hover ~ .rating-star { color: var(--line); }
.rating.disabled .rating-star:disabled { opacity: 1; cursor: default; }
table { width: 100%; border-collapse: collapse; background: var(--card); border-radius: 8px; overflow: hidden; }
.table-header th { text-align: left; font-weight: 650; font-size: .85rem; color: var(--muted); padding: 10px 12px; border-bottom: 1px solid var(--line); }
.table-header th.sortable { cursor: pointer; user-select: none; }
.table-header th.sorted-asc::after { content: " ▲"; font-size: .7em; }
.table-header th.sorted-desc::after { content: " ▼"; font-size: .7em; }
.table-row td { padding: 10px 12px; border-bottom: 1px solid var(--line); vertical-align: middle; }
.table-row:last-child td { border-bottom: 0; }
.table-row:hover td { background: color-mix(in srgb, var(--accent) 5%, transparent); }

/* overlays and messages */
.popup-backdrop { position: fixed; inset: 0; background: #0006; display: flex; align-items: center; justify-content: center; z-index: 100; padding: var(--space-base); }
.popup-dialog { background: var(--card); color: var(--fg); border-radius: 10px; padding: var(--space-m); min-width: min(420px, 100%); max-width: 640px; max-height: 90vh; overflow: auto; box-shadow: 0 10px 40px #0005; display: flex; flex-direction: column; gap: var(--space-base); }
.popover { position: absolute; z-index: 50; background: var(--card); border: 1px solid var(--line); border-radius: 8px; padding: var(--space-s) var(--space-base); box-shadow: 0 6px 20px #0003; }
.feedback-messages { position: fixed; top: 12px; left: 50%; transform: translateX(-50%); z-index: 200; display: flex; flex-direction: column; gap: 8px; width: min(560px, calc(100% - 24px)); }
.feedback-message { padding: 10px 14px; border-radius: 8px; color: #fff; box-shadow: 0 4px 14px #0003; cursor: pointer; }
.feedback-message-info { background: var(--info); } .feedback-message-success { background: var(--success); }
.feedback-message-warning { background: var(--warning); } .feedback-message-error { background: var(--error); }

/* icons and badges */
.icon { display: inline-flex; vertical-align: -0.15em; }
.iconify-glyph { display: inline-block; width: 1em; height: 1em; background: currentColor; -webkit-mask: var(--icon-url) center / contain no-repeat; mask: var(--icon-url) center / contain no-repeat; }
.icon-2x { font-size: 2em; } .icon-3x { font-size: 3em; } .icon-4x { font-size: 4em; }
.badge, .tag { display: inline-flex; align-items: center; gap: 4px; width: fit-content; align-self: flex-start; font-size: .78rem; font-weight: 650; line-height: 1.2; white-space: nowrap; --tone: var(--line); }
.badge { min-width: 20px; justify-content: center; padding: 2px 8px; border-radius: 10px; background: var(--tone); color: #fff; }
.badge:not([class*="badge-"]) { color: inherit; }
.tag { padding: 3px 8px; border-radius: 4px; background: color-mix(in srgb, var(--tone) 14%, transparent); color: var(--tone); }
.badge-primary, .tag-primary { --tone: var(--accent); } .badge-neutral, .tag-neutral { --tone: var(--muted); } .badge-info, .tag-info { --tone: var(--info); }
.badge-success, .tag-success { --tone: var(--success); } .badge-warning, .tag-warning { --tone: var(--warning); } .badge-error, .tag-error { --tone: var(--error); }

/* Theme */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap');
:root{--wine:#650026;--wine-dark:#45001a;--pink:#d6195f;--rose:#fff1f5;--ink:#24262d;--muted:#667085;--line:#e6e4e7;--surface:#f6f5f4;--green:#087a56;--green-bg:#e6f6ef;--orange:#a55b00;--orange-bg:#fff2df;--blue:#1668b2;--blue-bg:#eaf3fc;--red:#b4233e;--red-bg:#feecef}
*{box-sizing:border-box}body{margin:0;background:var(--surface);color:var(--ink);font-family:Poppins,Arial,sans-serif;font-size:14px}.app-shell{min-height:100vh}.app-header{position:sticky;top:0;z-index:20;background:var(--wine);color:#fff;box-shadow:0 2px 14px #3100122b}.header-inner{height:68px;max-width:1540px;margin:auto;padding:0 28px;display:flex;align-items:center;gap:36px}.brand{display:flex;align-items:center;gap:12px;min-width:245px}.brand-mark{width:36px;height:36px;border:1px solid #ffffff70;border-radius:4px;display:grid;place-items:center;font-size:12px;font-weight:700}.brand-copy{display:flex;flex-direction:column}.brand-name{font-size:13px;font-weight:600}.brand-product{font-size:10px;color:#ffffffb8}.navigation{display:flex;align-self:stretch;gap:4px}.nav-link{display:flex;align-items:center;gap:7px;padding:0 14px;color:#fff;font-size:11px;font-weight:600;border-bottom:3px solid transparent}.nav-link:hover{background:#ffffff0c;text-decoration:none;border-color:#ee7ca7}.nav-link svg{width:16px}.header-actions{margin-left:auto}.profile{display:flex;align-items:center;gap:9px}.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--wine);font-size:10px;font-weight:700}.profile-text{display:flex;flex-direction:column}.profile-name{font-size:10px;font-weight:600}.profile-role{font-size:8px;color:#ffffffa8}.page{max-width:1540px;margin:auto;padding:30px 34px 60px}.page-header{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:24px}.title-copy{display:flex;flex-direction:column}.eyebrow{font-size:10px;letter-spacing:.13em;color:var(--pink);font-weight:700}.page-title{font-size:30px;line-height:1.15;font-weight:700;color:var(--wine-dark);margin-top:4px}.page-subtitle{max-width:720px;margin-top:6px;color:var(--muted);font-size:12px;line-height:1.55}.btn{min-height:38px;padding:0 16px;border:1px solid transparent;border-radius:5px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font:inherit;font-size:10px;font-weight:600;cursor:pointer}.btn:hover{text-decoration:none}.btn svg{width:15px}.btn-primary{background:var(--wine);color:#fff}.btn-primary:hover{background:var(--wine-dark)}.btn-secondary{background:#fff;border-color:#d7d4d7;color:var(--wine)}.btn-small{min-height:32px;padding:0 11px}.btn-wide{width:100%;margin-top:14px}.btn:disabled{opacity:.45;cursor:not-allowed}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.stat-card{display:flex;align-items:center;gap:13px;background:#fff;border:1px solid var(--line);border-radius:8px;padding:17px 18px;box-shadow:0 3px 16px #31001208}.stat-icon{width:42px;height:42px;border-radius:8px;display:grid;place-items:center;background:#f7e6ed;color:var(--wine)}.stat-icon svg{width:20px}.stat-card.green .stat-icon{background:var(--green-bg);color:var(--green)}.stat-card.blue .stat-icon{background:var(--blue-bg);color:var(--blue)}.stat-card.orange .stat-icon{background:var(--orange-bg);color:var(--orange)}.stat-card.red .stat-icon{background:var(--red-bg);color:var(--red)}.stat-copy{display:flex;flex-direction:column}.stat-value{font-size:24px;line-height:1;font-weight:700}.stat-label{margin-top:5px;font-size:10px;font-weight:700}.stat-meta{margin-top:2px;font-size:8px;color:var(--muted)}.filter-panel{background:#fff;border:1px solid var(--line);border-radius:8px;padding:16px;margin-bottom:14px}.search-wrap{position:relative;display:flex;align-items:center}.search-wrap>svg{position:absolute;left:13px;width:17px;color:#78808e;z-index:1}.search-input{width:100%;height:43px;border:1px solid #d8d5d9;border-radius:5px;padding:0 14px 0 40px;font:inherit;font-size:11px}.filter-grid{display:grid;grid-template-columns:1.25fr repeat(5,minmax(145px,1fr));gap:9px;margin-top:11px;align-items:end}.field{display:grid;gap:5px}.field label{font-size:9px;font-weight:600;color:#535b69}.form-control{width:100%;min-height:39px;border:1px solid #d8d5d9;border-radius:5px;padding:8px 10px;background:#fff;color:var(--ink);font:inherit;font-size:10px}.textarea{min-height:95px;resize:vertical}.status-tabs{display:flex;height:39px;border:1px solid #d8d5d9;border-radius:5px;padding:3px;background:#f7f6f7}.status-tab{flex:1;border:0;border-radius:3px;background:transparent;font-size:9px;white-space:nowrap}.status-tab.active{background:var(--wine);color:#fff}.results-header{display:flex;justify-content:space-between;align-items:end;margin:18px 2px 9px}.results-copy{display:flex;align-items:baseline;gap:10px}.results-count{font-size:13px;font-weight:700;color:var(--wine)}.results-note{font-size:9px;color:var(--muted)}.table-wrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:8px}.prompt-table{width:100%;min-width:1180px;border-collapse:collapse}.prompt-table th{background:#f3f1f2;color:#555d68;font-size:8px;text-transform:uppercase;letter-spacing:.04em;text-align:left}.prompt-table th button{width:100%;padding:11px 12px;text-align:left;font:inherit;color:inherit;background:transparent;border:0;cursor:pointer}.prompt-table td{padding:13px 12px;border-top:1px solid var(--line);font-size:9px;line-height:1.45;vertical-align:middle}.prompt-table tr:hover td{background:#fffafb}.name-cell{width:245px}.description-cell{min-width:280px}.practice-cell,.type-cell,.stage-cell,.audience-cell{min-width:130px}.prompt-identity{display:flex;align-items:center;gap:10px}.source-mark{width:34px;height:34px;flex:none;border-radius:6px;display:grid;place-items:center;background:linear-gradient(145deg,var(--wine),#9a174b);color:#fff;font-size:9px;font-weight:700}.source-mark.large{width:52px;height:52px;font-size:14px}.prompt-copy{display:flex;flex-direction:column;min-width:0}.prompt-name{font-size:10px;font-weight:700;color:var(--wine);line-height:1.35}.prompt-code{font-size:8px;color:var(--muted);margin-top:2px}.description{color:#4c5360}.status-pill{display:inline-flex;padding:4px 8px;border-radius:20px;font-size:8px;font-weight:700;white-space:nowrap}.status-pill.pending{background:var(--orange-bg);color:var(--orange)}.status-pill.approved{background:var(--green-bg);color:var(--green)}.empty-state,.empty-comment{display:block;text-align:center;padding:28px;color:var(--muted);font-size:10px}.pagination{display:flex;justify-content:space-between;align-items:center;margin-top:12px}.page-size{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:9px}.page-size-options{display:flex;border:1px solid #d8d5d9;border-radius:4px;overflow:hidden}.page-size-options .button-group-item{border:0;border-right:1px solid #d8d5d9;background:#fff;padding:6px 9px;font-size:8px}.page-size-options .button-group-item:last-child{border-right:0}.page-size-options .active{background:var(--wine);color:#fff}.page-controls{display:flex;align-items:center;gap:10px}.page-status{font-size:9px;color:var(--muted)}.breadcrumb{display:flex;align-items:center;gap:6px;color:var(--wine);font-size:9px;font-weight:600;margin-bottom:12px}.breadcrumb svg{width:14px}.detail-heading{display:flex;align-items:center;gap:14px}.detail-title{font-size:26px}.guidance-banner{display:grid;grid-template-columns:30px 1fr;gap:11px;padding:15px 17px;margin-bottom:14px;border:1px solid #f2c6d5;border-left:4px solid var(--pink);border-radius:7px;background:var(--rose)}.guidance-banner>svg{width:20px;color:var(--wine)}.guidance-title{font-size:10px;font-weight:700;color:var(--wine)}.guidance-copy{font-size:9px;line-height:1.55;margin-top:3px;white-space:pre-wrap}.guidance-meta{font-size:8px;color:var(--muted);margin-top:6px}.detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:14px;align-items:start}.detail-main,.detail-aside{display:grid;gap:12px}.detail-aside{position:sticky;top:84px}.panel{background:#fff;border:1px solid var(--line);border-radius:8px;padding:19px;box-shadow:0 3px 15px #31001206}.section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.section-title{font-size:12px;font-weight:700;color:var(--wine)}.section-subtitle,.aside-copy{font-size:9px;line-height:1.5;color:var(--muted);margin-top:4px}.version-chip,.count-chip{padding:4px 7px;border-radius:4px;background:#f1eff0;color:var(--muted);font-size:8px}.prompt-text{display:block;padding:17px;border-radius:6px;background:#f8f7f7;color:#252932;font:10px/1.65 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:pre-wrap;max-height:700px;overflow:auto}.two-column{display:grid;grid-template-columns:1fr 1fr;gap:20px}.detail-section{display:grid;gap:6px}.section-label{font-size:8px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:700}.section-value{font-size:9px;line-height:1.55;white-space:pre-wrap}.fact-row{display:grid;grid-template-columns:90px 1fr;gap:10px;padding:8px 0;border-bottom:1px solid var(--line);font-size:8px}.fact-row>span:first-child{color:var(--muted)}.fact-row>span:last-child{font-weight:500;overflow-wrap:anywhere}.review-status-group{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:13px}.review-status-option{border:1px solid #d8d5d9;border-radius:4px;background:#fff;padding:8px;font-size:8px}.review-status-option.active{border-color:var(--wine);background:var(--rose);color:var(--wine);font-weight:700}.comment-list{display:grid;gap:8px}.comment{display:grid;gap:5px;padding:11px 13px;border-radius:6px;background:#f8f7f7}.comment-body{font-size:9px;line-height:1.5;white-space:pre-wrap}.comment-meta{font-size:7px;color:var(--muted)}.comment-composer{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:12px;align-items:end}.comment-composer textarea{min-height:68px}.add-grid{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:14px;align-items:start}.form-panel{padding:24px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid>.full,.form-actions{grid-column:1/-1}.form-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:8px}.add-aside{display:grid;gap:12px;position:sticky;top:84px}.checklist-panel{display:grid;gap:2px}.check-row{display:grid;grid-template-columns:34px 1fr;gap:10px;padding:13px 0;border-bottom:1px solid var(--line)}.check-icon{width:32px;height:32px;border-radius:6px;display:grid;place-items:center;background:var(--rose);color:var(--wine)}.check-icon svg{width:16px}.check-title{font-size:9px;font-weight:700}.check-copy{font-size:8px;line-height:1.45;color:var(--muted);margin-top:3px}.status-note{display:grid;grid-template-columns:24px 1fr;gap:9px;padding:14px;border-radius:7px;background:var(--orange-bg);color:var(--orange)}.status-note>svg{width:18px}.status-note .check-copy{color:#80521a}.governance-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.lifecycle-row{display:grid;grid-template-columns:38px 1fr;gap:12px;padding:15px 0;border-bottom:1px solid var(--line)}.lifecycle-number{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--wine);color:#fff;font-size:9px;font-weight:700}.lifecycle-title,.control-title{font-size:10px;font-weight:700}.lifecycle-copy,.control-copy{font-size:8px;line-height:1.5;color:var(--muted);margin-top:3px}.control-row{display:grid;grid-template-columns:22px 1fr;gap:9px;padding:14px 0;border-bottom:1px solid var(--line)}.control-row>svg{width:16px;color:var(--green)}
@media(max-width:1150px){.filter-grid{grid-template-columns:repeat(3,1fr)}.stats-grid{grid-template-columns:repeat(2,1fr)}.detail-grid{grid-template-columns:1fr}.detail-aside{position:static;grid-template-columns:repeat(2,1fr)}.add-grid{grid-template-columns:1fr}.add-aside{position:static;grid-template-columns:1fr 1fr}}
@media(max-width:760px){.header-inner{height:auto;min-height:62px;padding:10px 16px;flex-wrap:wrap;gap:8px}.brand{min-width:0}.profile{display:none}.navigation{order:3;width:100%;height:38px}.nav-link{padding:0 10px}.page{padding:20px 14px 40px}.page-header{align-items:flex-start;flex-direction:column}.page-title{font-size:25px}.stats-grid,.filter-grid,.form-grid,.governance-grid,.two-column{grid-template-columns:1fr}.detail-aside,.add-aside{grid-template-columns:1fr}.results-note{display:none}.pagination{align-items:flex-start;gap:14px;flex-direction:column}.page-controls{width:100%;justify-content:space-between}.comment-composer{grid-template-columns:1fr}.comment-composer .btn{width:100%}}

body{background:#fbf9f7;color:#190d12;font-size:14px}
.app-header{position:sticky;top:0;background:#4b172b;border-bottom:6px solid #ed2c64;box-shadow:none}
.header-inner{height:80px;max-width:1500px;padding:0 0;gap:0}
.brand{min-width:0;gap:0}
.brand-copy{border-left:5px solid #e52b67;padding-left:13px;gap:1px}
.brand-name{font-size:12px;line-height:1.2;font-weight:500;color:#f6eaf0}
.brand-product{font-family:Georgia,'Times New Roman',serif;font-size:26px;line-height:1.05;font-weight:700;color:#fff}
.navigation{display:none}
.header-tools{display:flex;align-items:center;gap:10px;margin-left:auto}
.header-tool{position:relative;width:46px;height:42px;min-height:42px;padding:0;display:grid;place-items:center;border:1px solid #d7c1c9;border-radius:9px;background:transparent;color:#fff;cursor:pointer}
.header-tool:hover{background:#ffffff12;text-decoration:none}
.header-tool svg{width:20px;height:20px;stroke-width:2.4}
.page{max-width:1500px;padding:24px 0 60px}
.page-header:has(.index-header-marker){display:none}
.index-header-marker{display:none}
.filter-panel{margin:0 0 18px;padding:14px;background:#fff;border:1px solid #e0d9d6;border-radius:13px;box-shadow:0 16px 30px #3a17201a}
.filter-search-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center}
.search-input.search-widget{width:100%;height:auto;padding:0;border:0;background:transparent}
.search-input .search-widget-icon{left:14px;color:#655c60}
.search-input .search-widget-input{width:100%;height:47px;padding:0 14px 0 42px!important;border:1px solid #ddd5d3;border-radius:9px;background:#fff;font-size:14px;color:#23151a}
.search-input .search-widget-input::placeholder{color:#655c60;opacity:1}
.reset-button{height:47px;min-width:64px;padding:0 15px;border:0;border-radius:9px;background:#4b172b;color:#fff;font:600 13px Poppins,Arial,sans-serif;cursor:pointer}
.reset-button:hover{background:#671c38}
.filter-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:12px}
.field{gap:6px}
.field label{font-size:13px;line-height:1.2;font-weight:700;color:#180b10}
.filter-grid .form-control{height:42px;min-height:42px;padding:0 12px;border:1px solid #ded6d3;border-radius:8px;background:#fff;font-size:13px;color:#1b1014}
.results-header{margin:18px 2px 11px}
.results-copy{gap:12px}
.results-count{font-size:14px;font-weight:700;color:#180b10}
.results-note{font-size:9px;color:#667085}
.table-wrap{border:1px solid #ddd6d3;border-radius:13px;background:#fff;box-shadow:0 10px 22px #38141e0b}
.prompt-table{min-width:1240px;table-layout:fixed;border-collapse:separate;border-spacing:0}
.prompt-table th{background:#4b172b;color:#fff;font-size:13px;font-weight:700;letter-spacing:0;text-transform:none}
.prompt-table th:first-child{border-radius:12px 0 0 0}
.prompt-table th:last-child{border-radius:0 12px 0 0}
.prompt-table th button{padding:13px 10px;color:#fff;font-weight:700}
.prompt-table th:nth-child(1),.prompt-table td:nth-child(1){width:22%}
.prompt-table th:nth-child(2),.prompt-table td:nth-child(2){width:29%}
.prompt-table th:nth-child(3),.prompt-table td:nth-child(3){width:10%}
.prompt-table th:nth-child(4),.prompt-table td:nth-child(4){width:14%}
.prompt-table th:nth-child(5),.prompt-table td:nth-child(5){width:14%}
.prompt-table th:nth-child(6),.prompt-table td:nth-child(6){width:11%}
.prompt-table td{padding:11px 10px;border-top:1px solid #e2dbd8;background:#fff;font-size:13px;line-height:1.45;vertical-align:top}
.prompt-table tbody tr:first-child td{border-top:0}
.prompt-table tr:hover td{background:#fffafb}
.name-cell{width:auto}
.description-cell,.type-cell,.stage-cell,.audience-cell{min-width:0}
.prompt-identity{display:grid;grid-template-columns:minmax(0,1fr) 25px;gap:10px;align-items:start}
.prompt-copy{min-width:0}
.prompt-name{font-size:13px;font-weight:700;line-height:1.4;color:#1c0e13}
.prompt-name:hover{color:#7c0735}
.prompt-code{margin-top:4px;font-size:11px;color:#857880}
.description{font-size:13px;line-height:1.5;color:#21161a}
.source-app{width:22px;height:22px;display:grid;place-items:center;border:1px solid #ebd6cd;border-radius:6px;background:#fff;color:#d64e2e;font:800 10px Arial,sans-serif;overflow:hidden}
.source-app svg{display:block;width:22px;height:22px}
.source-app.t{background:#f0efff;border-color:#d8d5f5;color:#5059bd}
.source-app.s{background:#eaf8f7;border-color:#cdeae7;color:#087b7b}
.source-app.w{background:#edf4ff;border-color:#d1def2;color:#185abd}
.source-app.ai{background:#f7e8ee;border-color:#ebccda;color:#7c0735}
.status-pill{padding:5px 10px;border-radius:20px;font-size:12px;line-height:1;font-weight:700}
.status-pill.pending{background:#fff0f0;color:#c62626}
.status-pill.approved{background:#e6f6ef;color:#087a56}
.pagination{margin-top:14px;padding-bottom:20px}
.page-size,.page-status{font-size:12px}
.page-size-options .button-group-item{padding:7px 11px;font-size:11px}
@media(max-width:1540px){.header-inner,.page{max-width:none;margin-left:24px;margin-right:24px}}
@media(max-width:900px){.header-inner{height:74px}.filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.page{margin-left:16px;margin-right:16px;padding-top:18px}.prompt-table{min-width:1100px}}
@media(max-width:620px){.brand-product{font-size:22px}.header-tool{width:40px;height:38px;min-height:38px}.filter-search-row{grid-template-columns:1fr}.reset-button{width:100%}.filter-grid{grid-template-columns:1fr}.results-note{display:none}}

:root{--reference-page:#f7f4f1;--reference-surface:#fff;--reference-surface-2:#faf7f5;--reference-text:#2f2027;--reference-muted:#73666c;--reference-border:#e5dedb;--reference-accent:#4b172b;--reference-pink:#ed2c64;--reference-soft:#f2edf0;--reference-shadow:0 12px 30px rgba(29,18,24,.10)}
html,body,#app,.app,.screen,.app-shell{width:100%;max-width:none;min-height:100%;margin:0}.screen{max-width:none!important;margin:0!important;padding:0!important;gap:0!important}.app-shell{background:var(--reference-page);color:var(--reference-text);font:13px/1.45 Poppins,'Segoe UI',Arial,sans-serif}
.app-header{position:sticky;inset:0 0 auto;z-index:50;width:100%;background:var(--reference-accent);border-bottom:6px solid var(--reference-pink);box-shadow:none}
.header-inner{width:calc(100% - 48px)!important;max-width:1500px!important;height:76px;margin:0 auto!important;padding:0!important;display:flex;align-items:center;gap:20px}
.brand{display:flex;align-items:center;min-width:0}.brand-copy{display:flex;border-left:5px solid var(--reference-pink);padding-left:13px;gap:0}.brand-name{font-size:12px;line-height:1.25;font-weight:500;color:#f6eaf0}.brand-product{margin-top:1px;font:700 25px/1.05 Georgia,'Times New Roman',serif;color:#fff}
.header-tools{margin-left:auto;display:flex;align-items:center;gap:9px}.header-tool{width:46px;height:42px;min-height:42px;padding:0;display:grid;place-items:center;border:1px solid rgba(255,255,255,.65);border-radius:9px;background:transparent;color:#fff}.header-tool:hover{background:var(--reference-pink);border-color:var(--reference-pink)}.header-tool svg{width:20px;height:20px}
.page{width:calc(100% - 48px)!important;max-width:1500px!important;margin:0 auto!important;padding:24px 0 42px!important}.page-header{display:none!important}
.filter-panel{margin:0 0 18px;padding:14px;background:var(--reference-surface);border:1px solid var(--reference-border);border-radius:12px;box-shadow:var(--reference-shadow)}
.filter-search-row{display:grid;grid-template-columns:minmax(280px,1fr) auto;gap:12px;align-items:center}.search-input.search-widget{width:100%;height:auto;padding:0;border:0;background:transparent}.search-input .search-widget-icon{left:14px;color:var(--reference-muted)}.search-input .search-widget-input{width:100%;height:46px;padding:0 14px 0 42px!important;border:1px solid var(--reference-border);border-radius:9px;background:#fff;color:var(--reference-text);font:inherit!important;font-size:13px!important}.search-input .search-widget-input::placeholder{color:var(--reference-muted);font:inherit}
.reset-button{height:46px;min-width:64px;padding:0 14px;border:1px solid var(--reference-accent);border-radius:9px;background:var(--reference-accent);color:#fff;font-weight:600}.reset-button:hover{background:var(--reference-pink);border-color:var(--reference-pink)}
.filter-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:12px}.filter-grid .field{display:block}.filter-grid .field label{display:block;margin:0 0 5px;color:var(--reference-text);font-size:13px;font-weight:600}.filter-grid .form-control{width:100%;height:40px;min-height:40px;padding:0 9px;border:1px solid var(--reference-border);border-radius:8px;background:#fff;color:var(--reference-text);font-size:13px}
.stage-filter-label{display:block;margin:0 0 5px;color:var(--reference-text);font-size:13px;font-weight:600}.stage-multi-select .multi-select-field{min-height:40px;padding:4px 30px 4px 9px;border-color:var(--reference-border);border-radius:8px;background:#fff;font-size:13px}.stage-multi-select .multi-select-menu{width:max(100%,280px);border-color:var(--reference-border);border-radius:9px;box-shadow:var(--reference-shadow)}.stage-multi-select .multi-select-option{font-size:12px}.stage-multi-select .multi-select-tag{background:var(--reference-soft);color:var(--reference-accent)}
.results-header{display:flex;margin:18px 0 10px}.results-copy{display:flex;align-items:center}.results-count{font-size:13px;font-weight:600;color:#160a10}.results-note{display:none}
.table-wrap{width:100%;overflow:hidden;background:#fff;border:1px solid var(--reference-border);border-radius:12px;box-shadow:0 12px 30px rgba(29,18,24,.10)}
.prompt-table{width:100%!important;min-width:0!important;table-layout:fixed;border-collapse:collapse}.prompt-table th{height:44px;padding:0 9px;background:#4b172b;color:#fff;text-align:left;vertical-align:middle;font-size:13px;font-weight:600;line-height:1.25;letter-spacing:0;text-transform:none}.prompt-table th:first-child{border-radius:11px 0 0}.prompt-table th:last-child{border-radius:0 11px 0 0}.prompt-table th.sorted-asc::after,.prompt-table th.sorted-desc::after{content:none}.prompt-table td{padding:11px 9px;border-top:1px solid var(--reference-border);background:#fff;color:#160a10;font-size:13px;line-height:1.45;vertical-align:top;white-space:normal;overflow-wrap:anywhere}.prompt-table tbody tr:first-child td{border-top:0}.prompt-table tr:hover td{background:var(--reference-soft)}
.prompt-table th:nth-child(1),.prompt-table td:nth-child(1){width:22%}.prompt-table th:nth-child(2),.prompt-table td:nth-child(2){width:29%}.prompt-table th:nth-child(3),.prompt-table td:nth-child(3){width:10%}.prompt-table th:nth-child(4),.prompt-table td:nth-child(4){width:14%}.prompt-table th:nth-child(5),.prompt-table td:nth-child(5){width:14%}.prompt-table th:nth-child(6),.prompt-table td:nth-child(6){width:11%}
.prompt-identity{display:grid;grid-template-columns:minmax(0,1fr) 25px;gap:10px;align-items:start}.prompt-copy{min-width:0}.prompt-name{display:block;width:100%;padding:0;border:0;background:transparent;color:#160a10;font:600 13px/1.4 Poppins,'Segoe UI',Arial,sans-serif;text-align:left;cursor:pointer}.prompt-name:hover{color:#7c0735;text-decoration:none}.prompt-code{display:block;margin-top:4px;color:var(--reference-muted);font-size:12px}.description{font-size:13px;color:#160a10}.source-app{width:23px;height:23px;border:1px solid var(--reference-border);border-radius:6px;background:var(--reference-surface-2)}.source-app svg{width:17px;height:17px}.status-pill{display:inline-block;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:600;line-height:1.25;white-space:normal}.status-pill.pending{background:#fff1f0;color:#a12622}.status-pill.approved{background:#e7f6ed;color:#17633a}
.pagination{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:13px;padding:0}.page-size{display:flex;align-items:center;gap:8px;color:var(--reference-muted);font-size:12px}.page-size-options{border:1px solid var(--reference-border);border-radius:7px;overflow:hidden}.page-size-options .button-group-item{padding:7px 10px;border:0;border-right:1px solid var(--reference-border);background:#fff;font-size:12px}.page-size-options .button-group-item:last-child{border-right:0}.page-size-options .active{background:var(--reference-accent);color:#fff}.page-controls{display:flex;align-items:center;gap:8px}.page-status{color:var(--reference-muted);font-size:12px}.page-controls .btn{min-height:36px;border-radius:7px;font-size:12px}
body:has(.popup-backdrop){overflow:hidden}.popup-backdrop{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:14px;background:rgba(8,5,7,.76)}
.reference-popup.popup-dialog{width:min(980px,calc(100vw - 28px));max-width:none;max-height:calc(100vh - 28px);padding:0;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--reference-border);border-radius:14px;background:var(--reference-surface);box-shadow:0 26px 80px rgba(0,0,0,.38);color:var(--reference-text)}
.reference-popup.settings-popup{width:min(940px,calc(100vw - 28px))}.reference-popup.prompt-form-popup{width:min(900px,calc(100vw - 28px))}
.modal-head{flex:0 0 auto;display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:17px 21px;background:var(--reference-accent);color:#fff;border-bottom:6px solid var(--reference-pink)}.modal-head-copy{min-width:0}.modal-title{display:block;margin:0;font:700 20px/1.15 Georgia,'Times New Roman',serif;color:#fff}.modal-subtitle{display:block;margin-top:4px;color:rgba(255,255,255,.84);font-size:13px;line-height:1.45}.modal-close{flex:0 0 36px;width:36px;height:36px;padding:0;border:1px solid rgba(255,255,255,.65);border-radius:8px;background:transparent;color:#fff;font-size:20px;line-height:1}.modal-close:hover{background:var(--reference-pink);border-color:var(--reference-pink)}
.modal-body{flex:1 1 auto;min-height:0;padding:19px 21px;overflow:auto;background:#fff}.modal-actions{flex:0 0 auto;display:flex;justify-content:flex-end;gap:9px;flex-wrap:wrap;padding:15px 21px 19px;border-top:1px solid var(--reference-border);background:#fff}.modal-button{min-height:40px;padding:0 14px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--reference-accent);border-radius:9px;font:600 13px/1 Poppins,'Segoe UI',Arial,sans-serif;text-decoration:none;cursor:pointer}.modal-button.primary{background:var(--reference-accent);color:#fff}.modal-button.primary:hover{background:var(--reference-pink);border-color:var(--reference-pink)}.modal-button.secondary{background:#fff;color:var(--reference-text);border-color:var(--reference-border)}.modal-button.secondary:hover{background:var(--reference-soft)}.modal-button.compact{min-height:38px;padding:0 13px}.modal-button:disabled{cursor:not-allowed;opacity:.5}
.detail-modal-head{padding-bottom:17px}.detail-heading-row{display:flex;gap:13px;align-items:flex-start;min-width:0}.modal-source-icon{flex:0 0 42px;width:42px;height:42px;display:grid;place-items:center;border-radius:10px;background:#fff;overflow:hidden}.modal-source-icon svg{width:28px;height:28px}.detail-header-copy{min-width:0}.detail-modal-title{font-size:21px}.source-line{display:flex;align-items:baseline;gap:4px;margin-top:7px;color:rgba(255,255,255,.8);font-size:12px;overflow-wrap:anywhere}.source-label{font-weight:600}.source-link{color:#fff;text-decoration:underline;text-underline-offset:2px}.source-link:hover{color:#ffd7e2}.modal-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px 22px}.modal-item.full{grid-column:1/-1}.modal-label,.form-field-label{display:block;margin-bottom:5px;color:var(--reference-muted);font-size:13px;font-weight:600}.modal-value{display:block;overflow-wrap:anywhere}.pre-wrap{white-space:pre-wrap}.modal-guidance,.modal-prompt-box{display:block;padding:14px;border:1px solid var(--reference-border);border-radius:10px;line-height:1.55;white-space:pre-wrap}.modal-guidance{background:#fff1f0}.guidance-version{display:block;margin-top:18px}.modal-prompt-box{max-height:none;overflow:visible;background:var(--reference-surface-2)}.modal-status-select{width:100%;max-width:210px;height:40px;padding:0 12px;border:1px solid var(--reference-border);border-radius:999px;background:#fff;color:var(--reference-text);font-weight:600}
.resource-upload-block{padding:14px;border:1px solid var(--reference-border);border-radius:10px;background:var(--reference-surface-2)}.resource-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.resource-help,.resource-manifest{display:block;margin-top:3px;color:var(--reference-muted);font-size:12px;white-space:pre-wrap}.bulk-resource-upload{min-height:112px;margin-top:12px;border-color:#cdbec4;border-radius:9px;background:#fff}.bulk-resource-upload:hover{border-color:var(--reference-pink);background:#fff7fa}.bulk-resource-upload .bulk-upload-icon{background:var(--reference-soft);color:var(--reference-accent)}.resource-list{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.resource-chip{display:inline-flex;align-items:center;gap:7px;padding:7px 9px;border:1px solid var(--reference-border);border-radius:8px;background:#fff}.resource-delete{padding:0;border:0;background:transparent;color:#a12622;font-size:17px;line-height:1}
.modal-comment-list{display:flex;flex-direction:column;gap:8px;max-height:210px;overflow:auto;margin-bottom:9px}.modal-comment{width:100%;padding:10px 12px;border:1px solid var(--reference-border);border-radius:10px;background:var(--reference-soft);white-space:pre-wrap}.comment-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:5px}.comment-date{color:var(--reference-muted);font-size:11px}.comment-delete{display:inline-flex;align-items:center;justify-content:center;flex:0 0 28px;width:28px;height:28px;padding:0;border:1px solid var(--reference-border);border-radius:7px;background:#fff;color:#a12622;font-size:14px}.comment-empty{display:block;color:var(--reference-muted)}.modal-comment-composer{display:flex;flex-direction:column;align-items:stretch;gap:8px}.modal-textarea{width:100%;min-height:76px;padding:10px 12px;border:1px solid var(--reference-border);border-radius:10px;background:#fff;color:var(--reference-text);resize:vertical}.modal-comment-composer .modal-button{align-self:flex-end}
.taxonomy-hint{display:block;margin:0 0 14px;color:var(--reference-muted)}.taxonomy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.taxonomy-card{padding:14px;border:1px solid var(--reference-border);border-radius:11px;background:var(--reference-surface-2)}.taxonomy-title{display:block;margin:0 0 10px;font-size:15px;font-weight:600}.taxonomy-list{display:flex;flex-direction:column;gap:7px}.taxonomy-row,.taxonomy-add{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px}.taxonomy-input{width:100%;height:38px;padding:0 10px;border:1px solid var(--reference-border);border-radius:8px;background:#fff;color:var(--reference-text)}.taxonomy-save{width:39px;min-height:38px;padding:0;border:1px solid var(--reference-border);border-radius:8px;background:#fff;color:var(--reference-text);font-size:16px}.taxonomy-add{margin-top:10px;padding-top:10px;border-top:1px solid var(--reference-border)}
.prompt-form-body{padding-bottom:24px}.modal-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 18px}.modal-form-grid>.field{display:flex;flex-direction:column;gap:6px}.modal-form-grid>.field.full,.modal-form-grid>.stage-field{grid-column:1/-1}.modal-form-grid .field label{font-size:13px;font-weight:600;color:var(--reference-muted)}.modal-form-grid .modal-control{width:100%;height:40px;min-height:40px;padding:8px 10px;border:1px solid var(--reference-border);border-radius:8px;background:#fff;color:var(--reference-text);font-size:13px}.modal-form-grid textarea.modal-control{height:auto;min-height:74px;resize:vertical}.modal-form-grid textarea.modal-control.large{min-height:190px}.modal-form-grid .not-valid{border-color:#b42318}.stage-field{display:block}.stage-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:8px;border:1px solid var(--reference-border);border-radius:9px}.stage-option{display:flex;align-items:center;gap:7px;padding:6px;border-radius:6px;font-size:12px}.stage-option:hover{background:var(--reference-soft)}.stage-option input{width:14px;height:14px;margin:0;accent-color:var(--reference-pink)}
.header-tools-slot{margin-left:auto;display:flex;align-items:center}.header-tools{margin-left:0}.header-tool>.icon{font-size:20px;line-height:1}.header-tool>.icon svg{width:1em;height:1em}.modal-close>.icon{font-size:18px}.taxonomy-save>.icon{font-size:17px}.resource-delete>.icon,.comment-delete>.icon{font-size:15px}
.pagination-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:13px;padding:0}.pagination-bar>.prompt-pagination{flex:1;justify-content:flex-end;margin:0}.prompt-pagination .pagination-counter{color:var(--reference-muted);font-size:12px}.prompt-pagination .pagination-pages button{border:1px solid var(--reference-border);border-radius:7px;background:#fff;color:var(--reference-text)}.prompt-pagination .pagination-page.active{border-color:var(--reference-accent);background:var(--reference-accent);color:#fff}.prompt-pagination .icon{font-size:14px}
.comment{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px}.comment-content{display:grid;gap:5px;min-width:0}
@media(max-width:1000px){.header-inner,.page{width:calc(100% - 28px)!important}.prompt-table th,.prompt-table td{font-size:11px}.status-pill{padding:4px 6px;font-size:10px}.filter-grid{gap:8px}.modal-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.header-inner,.page{width:calc(100% - 20px)!important}.header-inner{height:70px}.brand-product{font-size:21px}.header-tool{width:40px;height:38px;min-height:38px}.filter-search-row,.filter-grid,.taxonomy-grid,.modal-form-grid,.modal-detail-grid{grid-template-columns:1fr}.modal-item.full,.modal-form-grid>.field.full,.modal-form-grid>.stage-field{grid-column:auto}.table-wrap{overflow:visible;border:0;background:transparent;box-shadow:none}.prompt-table,.prompt-table tbody,.prompt-table tr,.prompt-table td{display:block;width:100%!important}.prompt-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.prompt-table tr{margin-bottom:12px;overflow:hidden;border:1px solid var(--reference-border);border-radius:10px;background:#fff;box-shadow:var(--reference-shadow)}.prompt-table td{display:grid;grid-template-columns:105px minmax(0,1fr);gap:10px;border-top:1px solid var(--reference-border)}.prompt-table td:before{font-weight:600;color:var(--reference-muted)}.prompt-table td:nth-child(1):before{content:'Prompt'}.prompt-table td:nth-child(2):before{content:'Description'}.prompt-table td:nth-child(3):before{content:'Prompt status'}.prompt-table td:nth-child(4):before{content:'Document type'}.prompt-table td:nth-child(5):before{content:'Matter stage'}.prompt-table td:nth-child(6):before{content:'Audience'}.prompt-table td:first-child{border-top:0}.stage-grid{grid-template-columns:1fr}.resource-head,.resource-controls{align-items:stretch;flex-direction:column}.pagination-bar{align-items:flex-start;flex-direction:column}.pagination-bar>.prompt-pagination{width:100%;justify-content:space-between}.modal-actions .modal-button{flex:1}.source-line{display:block}}
