:root {
  color-scheme: dark;
  --paper: #0d0e12;
  --white: #16171d;
  --ink: #f5f6f8;
  --muted: #9297a3;
  --line: #262930;
  --lime: #b4f34a;
  --lime-dark: #b4f34a;
  --red: #ff5d65;
  --blue: #19242b;
  --mono: 'JetBrains Mono', 'Courier New', monospace;
  --sans: 'Inter', 'Segoe UI', sans-serif;
  --display: 'Inter', 'Segoe UI', sans-serif;
}

* { box-sizing: border-box; }
html { background: var(--paper); scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); font-family: var(--sans); font-size: 15px; line-height: 1.5; }
button, input, textarea, select { font: inherit; }
button { color: inherit; }
.site-frame { max-width: 1440px; margin: 0 auto; padding: 0 64px; }
.topbar { height: 82px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); }
.brand { display: inline-flex; align-items: center; gap: 13px; color: inherit; text-decoration: none; }
.brand-mark { position: relative; width: 31px; height: 31px; display: grid; place-items: center; gap: 2px; padding: 5px; border-radius: 50%; background: var(--lime); transform: rotate(-28deg); }
.brand-mark span { width: 17px; height: 4px; display: block; border: 1px solid var(--ink); border-radius: 4px; }
.brand-mark span:nth-child(2) { width: 12px; }
.brand-name { font: 700 15px var(--display); letter-spacing: 0; }
.brand-name span { font-weight: 400; }
.brand-divider { height: 21px; width: 1px; background: var(--line); margin: 0 4px; }
.brand-caption, .topbar-label { font: 500 10px var(--mono); letter-spacing: 0; }
.topbar-right { display: flex; align-items: center; gap: 10px; }
.status-dot { width: 7px; height: 7px; border-radius: 50%; background: #70a334; box-shadow: 0 0 0 3px #70a33420; }
.avatar-button { display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid var(--line); border-radius: 50%; background: transparent; margin-left: 15px; cursor: pointer; font-size: 16px; }
.intro-row { display: flex; justify-content: space-between; align-items: flex-end; padding: 69px 0 45px; }
.eyebrow { display: flex; align-items: center; gap: 9px; margin: 0 0 16px; font: 500 10px var(--mono); letter-spacing: 0; color: var(--muted); }
.eyebrow-line { width: 20px; height: 1px; background: var(--lime-dark); }
h1, h2, p { margin-top: 0; }
h1 { margin: 0; font: 500 56px/1.04 var(--display); letter-spacing: 0; }
h1 span { color: #7f9d45; }
.intro-note { display: flex; gap: 15px; align-items: flex-start; padding-bottom: 6px; }
.note-index { color: var(--lime-dark); font: 500 10px var(--mono); white-space: nowrap; }
.intro-note p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.7; }
.view-tabs { display: flex; align-items: center; gap: 31px; height: 58px; border-bottom: 1px solid var(--line); }
.view-tab { position: relative; height: 100%; display: flex; align-items: center; gap: 8px; padding: 0; border: 0; background: none; color: var(--muted); font-size: 13px; cursor: pointer; }
.view-tab::after { position: absolute; content: ''; left: 0; right: 0; bottom: -1px; height: 2px; background: transparent; }
.view-tab.is-active { color: var(--ink); font-weight: 600; }
.view-tab.is-active::after { background: var(--lime-dark); }
.tab-count { color: #989b91; font: 10px var(--mono); }
.nav-count { min-width: 20px; height: 20px; display: inline-grid; place-items: center; padding: 0 5px; border-radius: 10px; background: #e8e9e1; font: 10px var(--mono); }
.view-panel { padding: 34px 0 0; animation: reveal 260ms ease both; }
.is-hidden { display: none !important; }
.request-layout { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(280px, .78fr); gap: 56px; align-items: stretch; }
.request-form { padding: 9px 0 34px; }
.section-heading, .list-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; margin-bottom: 29px; }
.section-heading .eyebrow, .list-heading .eyebrow { margin-bottom: 8px; }
h2 { margin: 0; font: 500 24px/1.2 var(--display); letter-spacing: 0; }
.required-note { padding-bottom: 3px; color: var(--muted); font: 10px var(--mono); }
.choice-field { margin: 0 0 25px; padding: 0; border: 0; }
.choice-field legend, .field-label { display: block; margin-bottom: 9px; color: #454941; font-size: 12px; font-weight: 600; }
.choice-row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.choice-option { min-height: 69px; display: flex; align-items: center; gap: 11px; padding: 11px 13px; border: 1px solid var(--line); border-radius: 4px; background: #ffffff76; cursor: pointer; transition: border-color 140ms ease, background 140ms ease; }
.choice-option.is-selected { border-color: #789742; background: #eff5e1; }
.choice-option input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.choice-option:focus-within { outline: 2px solid #728f3f; outline-offset: 2px; }
.choice-option strong, .choice-option small { display: block; }
.choice-option strong { font-size: 12px; font-weight: 600; }
.choice-option small { margin-top: 3px; color: var(--muted); font-size: 11px; }
.choice-icon { flex: 0 0 31px; width: 31px; height: 31px; display: grid; place-items: center; border-radius: 50%; background: #e5edda; color: var(--lime-dark); }
.model-icon { align-content: center; gap: 2px; }
.model-icon i { width: 13px; height: 3px; display: block; border: 1px solid #63841e; border-radius: 4px; }
.model-icon i:nth-child(2) { width: 9px; }
.custom-icon { font-size: 20px; font-weight: 400; }
.field-grid, .dialog-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 14px; }
.field { display: block; min-width: 0; }
.field-wide { grid-column: 1 / -1; }
.field-label b { color: var(--lime-dark); }
.field input, .field textarea, .field select, .select-field select, .search-field input { width: 100%; border: 1px solid #d4d6cc; border-radius: 3px; outline: none; background: var(--white); color: var(--ink); transition: border-color 140ms ease, box-shadow 140ms ease; }
.field input, .field select { height: 43px; padding: 0 12px; }
.field textarea { min-height: 105px; padding: 11px 12px; line-height: 1.55; resize: vertical; }
.field input::placeholder, .field textarea::placeholder, .search-field input::placeholder { color: #a1a49a; }
.field input:focus, .field textarea:focus, .field select:focus, .select-field select:focus, .search-field input:focus { border-color: #7d974d; box-shadow: 0 0 0 3px #b8d17e35; }
.field-hint { color: var(--muted); font-size: 10px; }
.field-bottom { display: flex; justify-content: space-between; gap: 10px; padding-top: 6px; }
.character-count { color: #8d9186; font: 10px var(--mono); white-space: nowrap; }
.field-error { display: block; min-height: 0; color: var(--red); font-size: 11px; }
.field-error:not(:empty) { padding-top: 5px; }
.form-footer { display: flex; justify-content: space-between; align-items: center; gap: 15px; margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--line); }
.form-footer p { margin: 0; color: var(--muted); font-size: 10px; }
.tiny-lock { padding-right: 4px; color: #81984e; font-size: 8px; }
.button { min-height: 41px; display: inline-flex; align-items: center; justify-content: center; gap: 15px; padding: 0 16px; border: 1px solid transparent; border-radius: 3px; cursor: pointer; font-size: 12px; font-weight: 600; transition: transform 120ms ease, background 120ms ease, border-color 120ms ease; }
.button:hover { transform: translateY(-1px); }
.button:disabled { opacity: .55; cursor: wait; transform: none; }
.button-dark { color: #fff; background: var(--ink); }
.button-dark:hover { background: #41463c; }
.button-outline { border-color: #c7c9bf; background: transparent; }
.button-outline:hover { border-color: var(--ink); background: #ffffff80; }
.button-danger { border-color: #e7c7c1; color: #9f3829; background: #fff9f7; }
.button-danger:hover { background: #fff0ed; }
.form-message { min-height: 18px; margin: 12px 0 0; color: var(--red); font-size: 12px; }
.form-message.is-success { color: #55762a; }
.brief-aside { min-height: 496px; display: flex; flex-direction: column; padding: 15px 18px 19px; background: #e8e9df; overflow: hidden; }
.aside-topline, .aside-caption, .aside-index { display: flex; justify-content: space-between; color: #72786a; font: 9px var(--mono); }
.object-stage { position: relative; flex: 1; min-height: 290px; display: grid; place-items: center; margin: 12px 0 3px; background-image: linear-gradient(#7e8a7020 1px, transparent 1px), linear-gradient(90deg, #7e8a7020 1px, transparent 1px); background-size: 24px 24px; background-position: center; overflow: hidden; }
.object-stage::after { position: absolute; content: ''; inset: 0; background: radial-gradient(ellipse at center, transparent 15%, #e8e9df 82%); pointer-events: none; }
.object-shadow { position: absolute; width: 170px; height: 31px; bottom: 63px; left: 50%; border-radius: 50%; background: #4a51414d; filter: blur(8px); transform: translateX(-50%) rotate(-10deg); }
.spool { position: relative; z-index: 1; width: 152px; height: 164px; transform: rotate(-9deg) skewY(-3deg); filter: drop-shadow(12px 16px 8px #42473530); }
.spool-body { position: absolute; top: 27px; left: 19px; width: 114px; height: 116px; display: flex; flex-direction: column; justify-content: center; gap: 1px; overflow: hidden; border: 1px solid #839d45; border-radius: 44% / 12%; background: repeating-linear-gradient(0deg, #b2d458 0 4px, #c8e873 4px 7px); }
.spool-thread { width: 100%; height: 4px; flex: 0 0 4px; border-top: 1px solid #8faa43; border-radius: 50%; }
.spool-rim { position: absolute; z-index: 2; left: 0; width: 152px; height: 35px; border: 8px solid #819b45; border-radius: 50%; background: linear-gradient(90deg, #a9c954, #d2e987 44%, #a5c24e); }
.spool-rim-top { top: 8px; }
.spool-rim-bottom { bottom: 8px; }
.spool-core { position: absolute; z-index: 3; left: 55px; top: 15px; width: 44px; height: 137px; border: 8px solid #8ca84c; border-radius: 50% / 7%; background: #e7efcf; box-shadow: inset 5px 0 8px #576c2833; }
.spool-hole { position: absolute; z-index: 4; left: 63px; top: 17px; width: 28px; height: 20px; border-radius: 50%; background: #657e35; box-shadow: inset 0 4px 3px #26321d80; }
.stage-axis { position: absolute; z-index: 0; opacity: .5; }
.axis-horizontal { width: 230px; height: 1px; top: 50%; left: 50%; background: #94a081; transform: translate(-50%, 14px) rotate(-24deg); }
.axis-vertical { width: 1px; height: 214px; left: 50%; top: 50%; background: #94a081; transform: translate(48px, -50%); }
.stage-coordinate { position: absolute; z-index: 2; color: #768366; font: 9px var(--mono); }
.coordinate-a { left: 18px; top: 47%; }
.coordinate-b { right: 17px; bottom: 29%; }
.stage-crosshair { position: absolute; z-index: 1; width: 5px; height: 5px; border: 1px solid #81916f; border-radius: 50%; }
.crosshair-a { left: 24%; top: 22%; }
.crosshair-b { right: 23%; bottom: 21%; }
.aside-caption { color: #656d5c; }
.aside-rule { height: 1px; margin: 15px 0; background: #cdd0c3; }
.aside-bottom { position: relative; min-height: 83px; }
.aside-index { justify-content: flex-start; }
.aside-bottom p { margin: 8px 0 0; font: 500 20px/1.2 var(--display); }
.aside-asterisk { position: absolute; right: 1px; bottom: 0; color: #718741; font-size: 30px; }
.list-heading { margin: 8px 0 24px; }
.list-heading h2 { font-size: 28px; }
.request-list { border-top: 1px solid var(--line); }
.request-row { display: grid; grid-template-columns: minmax(0, 1fr) 170px 110px; gap: 20px; align-items: center; padding: 19px 0; border-bottom: 1px solid var(--line); animation: reveal 180ms ease both; }
.request-main { min-width: 0; }
.request-meta { display: flex; align-items: center; gap: 9px; margin-bottom: 6px; color: var(--muted); font: 9px var(--mono); }
.request-main h3 { margin: 0 0 4px; font: 500 16px var(--display); overflow-wrap: anywhere; }
.request-main p { max-width: 680px; margin: 0; color: #6f736b; font-size: 12px; line-height: 1.6; white-space: pre-line; }
.request-side { color: #686e62; font-size: 11px; }
.request-side span { display: block; margin-top: 4px; color: #92968b; font: 9px var(--mono); }
.request-actions { display: flex; justify-content: flex-end; align-items: center; gap: 7px; }
.status-pill { display: inline-flex; align-items: center; width: max-content; max-width: 100%; min-height: 25px; padding: 3px 8px; border: 1px solid #d7d9cf; border-radius: 2px; color: #62675e; background: #f8f8f2; font-size: 10px; white-space: nowrap; }
.status-pill[data-status="In Progress"] { border-color: #bdd1dd; color: #315c6c; background: #eaf2f5; }
.status-pill[data-status="Waiting for Clarification"] { border-color: #e4d6a6; color: #75642b; background: #f7f0d9; }
.status-pill[data-status="Completed"] { border-color: #bfd6a7; color: #537635; background: #edf4e5; }
.status-pill[data-status="Declined"] { border-color: #e1c4bd; color: #9c4e40; background: #f8ebe7; }
.overdue-mark { color: var(--red); font-weight: 600; }
.overdue-mark::before { content: '●'; padding-right: 5px; font-size: 8px; }
.empty-state { padding: 51px 20px; color: var(--muted); text-align: center; }
.empty-state strong { display: block; margin-bottom: 6px; color: var(--ink); font: 500 20px var(--display); }
.search-field { width: min(290px, 42vw); height: 40px; display: flex; align-items: center; gap: 9px; padding-left: 11px; border: 1px solid #d4d6cc; border-radius: 3px; background: var(--white); }
.search-field > span { color: #787e70; font-size: 21px; }
.search-field input { height: 37px; padding: 0 10px 0 0; border: 0; background: transparent; font-size: 12px; box-shadow: none !important; }
.admin-controls { display: flex; align-items: center; gap: 9px; margin: 2px 0 18px; }
.select-field select { height: 36px; min-width: 143px; padding: 0 29px 0 10px; font-size: 11px; }
.sort-button { width: 36px; height: 36px; border: 1px solid #d4d6cc; border-radius: 3px; background: transparent; cursor: pointer; font-size: 17px; }
.result-count { margin-left: auto; color: var(--muted); font: 10px var(--mono); }
.admin-list .request-row { grid-template-columns: minmax(0, 1fr) 155px 120px; }
.admin-list .request-actions { gap: 6px; }
.icon-action { width: 32px; height: 32px; display: grid; place-items: center; border: 1px solid #d8dad1; border-radius: 3px; background: transparent; cursor: pointer; font-size: 14px; }
.icon-action:hover { border-color: #8e9f70; background: #f0f3e9; }
.icon-action.delete:hover { border-color: #d9a39a; color: #a44536; background: #fbefec; }
.page-footer { display: flex; justify-content: space-between; gap: 16px; margin-top: 58px; padding: 17px 0 22px; border-top: 1px solid var(--line); color: #878b80; font: 9px var(--mono); }
.edit-dialog { width: min(700px, calc(100% - 28px)); max-height: min(90vh, 830px); padding: 25px; border: 1px solid #d6d8ce; border-radius: 5px; background: var(--paper); color: var(--ink); box-shadow: 0 20px 80px #24291f35; overflow: auto; }
.edit-dialog::backdrop { background: #20231f72; backdrop-filter: blur(3px); }
.dialog-heading { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 22px; }
.dialog-heading .eyebrow { margin-bottom: 7px; }
.dialog-heading h2 { font-size: 24px; }
.dialog-close { width: 34px; height: 34px; border: 1px solid var(--line); border-radius: 50%; background: transparent; cursor: pointer; font-size: 22px; line-height: 1; }
.dialog-actions { display: flex; align-items: center; gap: 8px; margin-top: 18px; padding-top: 17px; border-top: 1px solid var(--line); }
.dialog-actions > span { flex: 1; }
.dialog-actions .button { min-height: 38px; padding: 0 12px; font-size: 11px; }
.dialog-message { min-height: 17px; margin: 7px 0 0; color: var(--red); font-size: 11px; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

@keyframes reveal { from { opacity: 0; transform: translateY(5px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 940px) {
  .site-frame { padding: 0 34px; }
  .request-layout { grid-template-columns: minmax(0, 1fr) minmax(250px, .72fr); gap: 30px; }
  .brief-aside { min-height: 485px; }
  .request-row, .admin-list .request-row { grid-template-columns: minmax(0, 1fr) 135px 104px; gap: 12px; }
}
@media (max-width: 700px) {
  .site-frame { padding: 0 20px; }
  .topbar { height: 69px; }
  .brand { gap: 9px; }
  .brand-caption { font-size: 9px; }
  .topbar-label { font-size: 9px; }
  .avatar-button { margin-left: 3px; }
  .intro-row { padding: 49px 0 32px; }
  h1 { font-size: 44px; }
  .intro-note { display: none; }
  .view-tabs { gap: 22px; overflow-x: auto; }
  .view-tab { flex: 0 0 auto; font-size: 12px; }
  .view-panel { padding-top: 26px; }
  .request-layout { display: flex; flex-direction: column; gap: 25px; }
  .request-form { padding-top: 0; }
  .brief-aside { min-height: 365px; order: 2; }
  .object-stage { min-height: 225px; }
  .spool { transform: scale(.85) rotate(-9deg) skewY(-3deg); }
  .object-shadow { bottom: 42px; }
  .section-heading { margin-bottom: 24px; }
  .section-heading h2 { font-size: 21px; }
  .choice-row { gap: 7px; }
  .choice-option { min-height: 66px; padding: 9px; gap: 8px; }
  .choice-icon { flex-basis: 28px; width: 28px; height: 28px; }
  .choice-option strong { font-size: 11px; }
  .choice-option small { font-size: 10px; }
  .field-grid, .dialog-fields { gap: 13px 10px; }
  .field-grid .field:not(.field-wide) { grid-column: span 1; }
  .field input, .field select { height: 42px; }
  .form-footer { align-items: flex-start; }
  .form-footer p { max-width: 175px; line-height: 1.6; }
  .list-heading { align-items: flex-start; }
  .list-heading h2 { font-size: 24px; }
  .list-heading .button { min-height: 37px; padding: 0 10px; white-space: nowrap; font-size: 11px; }
  .request-row, .admin-list .request-row { grid-template-columns: minmax(0, 1fr) auto; gap: 10px; }
  .request-side { grid-column: 1; }
  .request-actions { grid-column: 2; grid-row: 1 / span 2; }
  .admin-heading { flex-direction: column; align-items: stretch; }
  .search-field { width: 100%; }
  .admin-controls { flex-wrap: wrap; }
  .select-field { flex: 1 1 42%; min-width: 0; }
  .select-field select { width: 100%; min-width: 0; }
  .result-count { flex: 1; text-align: right; }
  .page-footer { flex-wrap: wrap; margin-top: 42px; font-size: 8px; }
  .page-footer span:nth-child(2) { order: 3; width: 100%; }
  .edit-dialog { padding: 19px 16px; }
  .dialog-actions { flex-wrap: wrap; }
  .dialog-actions > span { display: none; }
  .button-danger { margin-right: auto; }
}
@media (max-width: 380px) {
  .site-frame { padding: 0 15px; }
  .brand-divider, .brand-caption { display: none; }
  .topbar-label { font-size: 8px; }
  .view-tabs { gap: 16px; }
  .tab-count { display: none; }
  .choice-option { gap: 6px; }
  .choice-option strong { font-size: 10px; }
  .choice-option small { font-size: 9px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

html, body { min-height: 100%; background: var(--paper); color: var(--ink); }
body, button, input, textarea, select { font-family: var(--sans); }
  body { background: var(--paper); }
.brand-caption, .topbar-label, .eyebrow, .required-note, .page-footer { font-family: var(--sans); }
button, input, textarea, select { color: var(--ink); }
button { min-height: 44px; }
.site-frame { max-width: 1000px; padding: 0 32px; }
.topbar { height: 76px; border-color: var(--line); }
.brand-mark { background: var(--lime); }
.brand-mark span { border-color: #0d0e12; }
.brand-name, .brand-caption, .topbar-label, .eyebrow, .required-note, .request-meta, .request-side span, .character-count, .page-footer, .note-index { font-family: var(--mono); }
.brand-divider { background: var(--line); }
.topbar-label, .brand-caption { color: var(--muted); }
.status-dot { background: var(--lime); box-shadow: 0 0 0 3px #b4f34220; }
.avatar-button { width: 44px; height: 44px; margin-left: 12px; border-color: var(--line); background: var(--white); color: var(--ink); }
.intro-row { justify-content: center; padding: 54px 0 33px; }
.intro-row > div:first-child { width: min(100%, 790px); }
.eyebrow { margin-bottom: 11px; color: var(--muted); }
.eyebrow-line { background: var(--lime); }
h1, h2, h3 { color: var(--ink); font-family: var(--sans); letter-spacing: 0; }
h1 { font-size: 44px; font-weight: 600; line-height: 1.07; }
h1 span { color: var(--lime); }
h2 { font-size: 22px; font-weight: 600; }
.view-tabs { width: min(100%, 790px); height: 56px; gap: 28px; margin: 0 auto; border-bottom-color: var(--line); }
.view-tab { min-height: 55px; color: var(--muted); font-family: var(--sans); font-size: 13px; font-weight: 500; }
.view-tab::after { height: 2px; background: transparent; box-shadow: none; transition: background 140ms ease, box-shadow 140ms ease; }
.view-tab.is-active { color: var(--ink); }
.view-tab.is-active::after { background: var(--lime); box-shadow: 0 0 10px #b4f34a80; }
.view-panel { padding: 28px 0 0; }
.request-layout { display: grid; grid-template-columns: minmax(0, 790px); justify-content: center; gap: 0; }
.request-form { padding: 25px; border: 1px solid var(--line); border-radius: 8px; background: var(--white); box-shadow: 0 18px 65px #0000001c; }
.section-heading, .list-heading { align-items: center; margin-bottom: 23px; }
.section-heading .eyebrow, .list-heading .eyebrow { margin-bottom: 7px; }
.required-note { color: var(--muted); }
.choice-field { margin-bottom: 22px; }
.choice-field legend, .field-label { color: #e5e7eb; font-family: var(--sans); font-size: 13px; font-weight: 500; }
.choice-row { gap: 12px; }
.choice-option { position: relative; min-height: 82px; gap: 13px; padding: 13px 42px 13px 14px; border: 2px solid var(--line); border-radius: 6px; background: #0d0e12; }
.choice-option.is-selected { border: 2px solid var(--lime); background: #b4f34a14; box-shadow: inset 0 0 24px #b4f34a12, 0 0 0 1px #b4f34a24; }
.choice-option.is-selected::after { position: absolute; top: 9px; right: 10px; width: 20px; height: 20px; display: grid; place-items: center; border-radius: 50%; background: var(--lime); color: #11140d; content: '✓'; font-size: 12px; font-weight: 700; }
.choice-option:focus-within { outline: 2px solid var(--lime); outline-offset: 3px; }
.choice-option strong { color: var(--ink); font-size: 13px; font-weight: 600; }
.choice-option small { color: var(--muted); font-size: 11px; }
.choice-icon { background: #b4f34a1a; color: var(--lime); }
.model-icon i { border-color: var(--lime); }
.field-grid { gap: 17px 14px; }
.field-label { margin-bottom: 7px; }
.field-label b { color: var(--lime); }
.field input, .field textarea, .field select, .select-field select, .search-field, .search-field input {
  border-color: var(--line); background: #0d0e12; color: var(--ink);
}
.field input, .field select { height: 48px; padding: 0 13px; border-radius: 5px; }
.field textarea { min-height: 56px; padding: 12px 13px; border-radius: 5px; line-height: 1.6; }
.field textarea[data-autogrow], .thread-form textarea { overflow: hidden; resize: none; }
.field input::placeholder, .field textarea::placeholder, .search-field input::placeholder { color: #717784; }
.field input:focus, .field textarea:focus, .field select:focus, .select-field select:focus, .search-field input:focus {
  border-color: var(--lime); box-shadow: 0 0 0 3px #b4f34a24;
}
.field-hint { display: block; margin-top: 4px; color: var(--muted); font-size: 11px; }
.field-bottom { padding-top: 8px; }
.character-count { color: var(--muted); }
.field-error, .form-message, .inline-edit-error, .thread-error { color: var(--red); }
.form-footer { margin-top: 22px; padding-top: 19px; border-color: var(--line); }
.form-footer p { color: var(--muted); font-size: 11px; }
.tiny-lock { color: var(--lime); }
.button { min-height: 46px; padding: 0 17px; border-radius: 5px; font-family: var(--sans); font-size: 13px; }
.button-primary { border: 1px solid var(--lime); background: var(--lime); color: #12150e; }
.button-primary:hover { background: #c5ff69; }
.button-dark { border-color: var(--lime); background: var(--lime); color: #12150e; }
.button-dark:hover { background: #c5ff69; }
.button-outline { border-color: var(--line); background: #16171d; color: var(--ink); }
.button-outline:hover { border-color: var(--lime); background: #1c1e24; }
.button-danger { border-color: #522c32; background: #211519; color: #ff8187; }
.button-danger:hover { background: #321c21; }
.form-message.is-success { color: var(--lime); }
.list-heading { width: 100%; margin-top: 4px; }
.list-heading h2 { font-size: 24px; }
.search-field { width: min(300px, 45vw); height: 44px; gap: 10px; border-radius: 5px; }
.search-field > span { color: var(--muted); }
.search-field input { height: 42px; border: 0; font-size: 13px; }
.admin-controls { margin-bottom: 14px; }
.select-field select { min-height: 44px; border-radius: 5px; background-color: #16171d; font-size: 12px; }
.sort-button { min-width: 44px; min-height: 44px; border-color: var(--line); background: #16171d; }
.result-count { color: var(--muted); font-family: var(--mono); }
.request-list { display: grid; gap: 11px; border: 0; }
.request-row, .admin-list .request-row {
  display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; padding: 18px;
  border: 1px solid var(--line); border-radius: 8px; background: var(--white); animation: reveal 180ms ease both;
}
.request-card-heading { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 20px; align-items: start; }
.request-main h3 { margin-bottom: 7px; font-family: var(--sans); font-size: 16px; font-weight: 600; }
.request-main p { max-width: 720px; color: #b0b4bf; font-family: var(--sans); font-size: 13px; line-height: 1.65; }
.request-meta { flex-wrap: wrap; color: var(--muted); }
.request-card-tools { display: grid; justify-items: end; gap: 12px; }
.request-side { color: #d0d3d9; font-size: 12px; text-align: right; }
.request-side span { color: var(--muted); }
.request-actions { flex-wrap: wrap; align-items: center; }
.status-pill { min-height: 34px; padding: 4px 10px; border: 1px solid #333740; border-radius: 5px; background: #202229; color: #d4d7de; font-family: var(--sans); font-size: 11px; font-weight: 500; white-space: nowrap; }
.status-pill[data-status="In Progress"] { border-color: #355867; background: #15252d; color: #8edaff; }
.status-pill[data-status="Waiting for Clarification"] { border-color: #79343b; background: #2b171b; color: #ff7b82; }
.status-pill[data-status="Completed"] { border-color: #4e682e; background: #1c2915; color: var(--lime); }
.status-pill[data-status="Declined"] { border-color: #5b3932; background: #281a17; color: #ef9b7e; }
.status-trigger { display: inline-flex; align-items: center; gap: 8px; cursor: pointer; }
.status-control { display: grid; justify-items: end; gap: 7px; }
.status-picker select { min-height: 44px; width: 235px; padding: 0 12px; border: 1px solid var(--lime); border-radius: 5px; background: #0d0e12; color: var(--ink); }
.overdue-mark { color: var(--red); font-weight: 600; }
.overdue-mark::before { color: var(--red); }
.icon-action { min-width: 44px; width: 44px; min-height: 44px; border-color: var(--line); border-radius: 5px; background: #111217; color: #c7cbd3; }
.icon-action:hover { border-color: var(--lime); background: #1a2013; color: var(--lime); }
.icon-action.delete:hover { border-color: #79343b; background: #2b171b; color: #ff7b82; }
.conversation-block { margin-top: 15px; border-top: 1px solid var(--line); }
.conversation-toggle { min-height: 46px; display: flex; align-items: center; gap: 10px; padding: 0; border: 0; background: transparent; color: #c4c8d1; cursor: pointer; font-size: 12px; font-weight: 500; }
.conversation-toggle:hover, .conversation-toggle.needs-reply { color: var(--red); }
.conversation-count { min-width: 22px; height: 22px; display: inline-grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; color: var(--muted); font: 10px var(--mono); }
.reply-needed { color: var(--red); font-size: 11px; font-weight: 600; }
.conversation-panel { padding: 12px 0 1px; border-top: 1px solid var(--line); }
.thread-messages { display: grid; gap: 9px; max-height: 340px; overflow: auto; padding: 2px 2px 13px; }
.thread-message { max-width: min(88%, 610px); padding: 11px 13px; border: 1px solid var(--line); border-radius: 7px; background: #101116; }
.thread-message.from-requester { justify-self: end; border-color: #354421; background: #172012; }
.thread-message.from-studio { justify-self: start; }
.thread-message-meta { display: flex; align-items: center; gap: 9px; margin-bottom: 5px; color: var(--muted); font-size: 11px; }
.thread-message.from-studio .thread-message-meta strong { color: var(--red); }
.thread-message-meta time { font: 10px var(--mono); }
.thread-message p { margin: 0; color: #e4e6eb; font-size: 13px; line-height: 1.55; white-space: pre-wrap; overflow-wrap: anywhere; }
.thread-empty { margin: 0; padding: 8px 0 12px; color: var(--muted); font-size: 12px; }
.thread-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; align-items: end; padding-top: 10px; border-top: 1px solid var(--line); }
.thread-form textarea { min-height: 48px; max-height: 180px; padding: 12px; border: 1px solid var(--line); border-radius: 5px; background: #0d0e12; line-height: 1.5; }
.thread-form textarea:focus { border-color: var(--lime); outline: none; box-shadow: 0 0 0 3px #b4f34a24; }
.thread-error, .inline-edit-error { min-height: 0; margin: 0; font-size: 11px; }
.inline-edit { display: grid; grid-template-columns: 1fr 1fr; gap: 13px; margin-top: 15px; padding: 16px; border: 1px solid var(--line); border-radius: 6px; background: #101116; }
.inline-edit-actions { grid-column: 1 / -1; display: flex; justify-content: flex-end; gap: 9px; }
.inline-edit .field textarea { min-height: 52px; }
.empty-state { border: 1px dashed var(--line); border-radius: 8px; color: var(--muted); }
.empty-state strong { color: var(--ink); font-family: var(--sans); }
.page-footer { margin-top: 48px; border-color: var(--line); color: var(--muted); }
.sr-only { color: var(--ink); }
:focus-visible { outline: 2px solid var(--lime); outline-offset: 3px; }

@media (max-width: 700px) {
  .site-frame { padding: 0 16px; }
  .topbar { height: 68px; }
  .intro-row { padding: 39px 0 27px; }
  h1 { font-size: 36px; }
  .view-tabs { width: 100%; justify-content: space-between; gap: 16px; }
  .view-tab { flex: 0 0 auto; font-size: 12px; }
  .request-form { padding: 18px 14px; }
  .section-heading { align-items: flex-start; gap: 10px; }
  .section-heading h2 { font-size: 19px; }
  .required-note { padding-top: 3px; font-size: 9px; }
  .choice-row { grid-template-columns: 1fr; gap: 9px; }
  .choice-option { min-height: 72px; }
  .field-grid { grid-template-columns: 1fr; gap: 14px; }
  .field-grid .field:not(.field-wide) { grid-column: 1; }
  .form-footer { align-items: flex-start; }
  .form-footer p { max-width: 185px; }
  .list-heading { align-items: flex-start; }
  .list-heading h2 { font-size: 21px; }
  .list-heading .button { padding: 0 11px; white-space: nowrap; }
  .search-field { width: 100%; }
  .admin-heading { flex-direction: column; align-items: stretch; }
  .admin-controls { flex-wrap: wrap; }
  .select-field { flex: 1 1 40%; min-width: 0; }
  .select-field select { width: 100%; min-width: 0; }
  .request-row, .admin-list .request-row { padding: 14px; }
  .request-card-heading { grid-template-columns: 1fr; gap: 13px; }
  .request-card-tools { grid-template-columns: minmax(0, 1fr) auto; justify-items: start; align-items: center; }
  .request-side { text-align: left; }
  .request-actions { justify-content: flex-start; }
  .status-control { justify-items: start; }
  .status-picker select { width: 100%; }
  .inline-edit { grid-template-columns: 1fr; padding: 12px; }
  .inline-edit .field-wide, .inline-edit-actions { grid-column: 1; }
  .thread-form { grid-template-columns: minmax(0, 1fr); }
  .thread-form .button { justify-self: end; }
  .page-footer { flex-wrap: wrap; gap: 8px 15px; margin-top: 34px; }
  .page-footer span:nth-child(2) { order: 3; width: 100%; }
}
@media (max-width: 380px) {
  .site-frame { padding: 0 12px; }
  .brand-divider, .brand-caption { display: none; }
  .topbar-label { font-size: 9px; }
  .view-tabs { gap: 10px; }
  .view-tab { font-size: 11px; }
  .tab-count { display: none; }
  .form-footer { flex-direction: column; }
  .form-footer .button { width: 100%; }
}
