/* Plushform · a quiet, practical desk for a tactile brand. [CX 2026-10-30] */
#pf-ops-app {
  --pf-cream: #f6f4eb;
  --pf-paper: #fffef9;
  --pf-ink: #193b30;
  --pf-green: #244c3d;
  --pf-muted: #657068;
  --pf-line: #e1e4d9;
  --pf-sage: #e8eee4;
  --pf-gold: #a77637;
  --pf-error: #9d3b31;
  color: var(--pf-ink);
  margin: 24px 24px 16px 2px;
  font-family: "Avenir Next", "PingFang SC", "Microsoft YaHei", sans-serif;
  font-size: 14px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
#pf-ops-app *, #pf-ops-app *::before, #pf-ops-app *::after { box-sizing: border-box; }
#pf-ops-app button, #pf-ops-app input, #pf-ops-app select, #pf-ops-app textarea { font: inherit; }
#pf-ops-app h2, #pf-ops-app h3, #pf-ops-app h4, #pf-ops-app p { margin: 0; }
#pf-ops-app h2 { font-family: "Iowan Old Style", "Songti SC", "Noto Serif SC", serif; color: var(--pf-ink); font-size: clamp(25px, 2.4vw, 36px); font-weight: 600; line-height: 1.4; letter-spacing: -.6px; }
#pf-ops-app h3 { color: var(--pf-ink); font-size: 17px; font-weight: 650; line-height: 1.5; margin-bottom: 8px; }
#pf-ops-app h4 { color: var(--pf-ink); font-size: 14px; margin: 24px 0 8px; }
#pf-ops-app strong { font-weight: 650; }
#pf-ops-app small { font-size: 12px; }
#pf-ops-app a { color: var(--pf-green); text-decoration-thickness: 1px; text-underline-offset: 3px; overflow-wrap: anywhere; }
#pf-ops-app a:hover { color: #10271e; }
#pf-ops-app button:focus-visible, #pf-ops-app a:focus-visible { outline: 3px solid #bf995d; outline-offset: 3px; box-shadow: none; }
#pf-ops-app hr { border: 0; border-top: 1px solid var(--pf-line); margin: 26px 0; }
#pf-ops-app .pf-shell { max-width: 1540px; margin: 0 auto; border: 1px solid var(--pf-line); border-radius: 16px; background: var(--pf-cream); overflow: hidden; box-shadow: 0 10px 40px #14332608; }
#pf-ops-app .pf-masthead { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 28px 36px; background: var(--pf-green); color: #fffdf0; }
#pf-ops-app .pf-brand { display: flex; align-items: center; gap: 12px; }
#pf-ops-app .pf-brand-mark { display: grid; place-items: center; width: 35px; height: 35px; color: var(--pf-green); background: #f2e6c7; border-radius: 12px 12px 4px 12px; font: italic 27px/1 "Iowan Old Style", Georgia, serif; }
#pf-ops-app .pf-brand-name { font-size: 20px; font-weight: 600; letter-spacing: 3px; }
#pf-ops-app .pf-brand-meta { display: grid; gap: 2px; text-align: right; }
#pf-ops-app .pf-brand-meta span { letter-spacing: 2px; font-size: 13px; }
#pf-ops-app .pf-brand-meta small { color: #d9e4d5; }
#pf-ops-app .pf-nav { display: flex; align-items: stretch; gap: 26px; padding: 0 36px; border-bottom: 1px solid var(--pf-line); background: var(--pf-paper); }
#pf-ops-app .pf-nav-item { appearance: none; display: block; position: relative; padding: 19px 2px 17px; background: none; border: 0; border-bottom: 3px solid transparent; color: var(--pf-muted); font-weight: 550; white-space: nowrap; cursor: pointer; }
#pf-ops-app .pf-nav-item[aria-current="page"] { border-bottom-color: var(--pf-green); color: var(--pf-green); font-weight: 700; }
#pf-ops-app .pf-nav-item:hover { color: var(--pf-green); }
#pf-ops-app .pf-main { min-height: 420px; padding: 32px 36px 40px; }
#pf-ops-app .pf-page { animation: pf-arrive .25s ease-out; }
#pf-ops-app .pf-page-heading { position: relative; margin-bottom: 26px; padding-right: 124px; }
#pf-ops-app .pf-page-heading > .pf-button { position: absolute; top: 20px; right: 0; }
#pf-ops-app .pf-page-heading > .pf-muted { margin-top: 9px; }
#pf-ops-app .pf-eyebrow { font-size: 11px; font-weight: 650; letter-spacing: 2.3px; color: var(--pf-gold); margin-bottom: 7px; }
#pf-ops-app .pf-muted { color: var(--pf-muted); font-size: 13px; }
#pf-ops-app .pf-help { display: block; color: var(--pf-muted); font-size: 12px; margin-top: 5px; line-height: 1.65; }
#pf-ops-app .pf-label { display: block; color: #344e40; font-size: 12px; font-weight: 600; margin-bottom: 7px; }
#pf-ops-app .pf-panel { background: var(--pf-paper); border: 1px solid var(--pf-line); border-radius: 10px; padding: 24px; min-width: 0; }
#pf-ops-app .pf-panel > .pf-muted { margin-top: -1px; margin-bottom: 20px; }
#pf-ops-app .pf-button { display: inline-flex; justify-content: center; align-items: center; min-height: 42px; padding: 9px 17px; border: 1px solid var(--pf-green); border-radius: 6px; background: var(--pf-green); color: #fffdf0; font-size: 13px; font-weight: 550; line-height: 1.6; text-decoration: none; cursor: pointer; transition: background .16s, border-color .16s, box-shadow .16s; }
#pf-ops-app .pf-button:hover { background: #17372b; border-color: #17372b; }
#pf-ops-app .pf-button--secondary { background: transparent; color: var(--pf-green); border-color: #c7cfc2; }
#pf-ops-app .pf-button--secondary:hover { background: var(--pf-sage); border-color: #a9b9a5; }
#pf-ops-app .pf-button:disabled { cursor: default; opacity: .55; }
#pf-ops-app .pf-button[aria-busy="true"] { cursor: progress; }
#pf-ops-app .pf-input { display: block; width: 100%; min-height: 42px; border: 1px solid #c5cec1; border-radius: 6px; padding: 9px 12px; color: var(--pf-ink); background: #fffefa; box-shadow: inset 0 1px 2px #193b3003; font-size: 13px; line-height: 1.6; }
#pf-ops-app select.pf-input { appearance: auto; padding-right: 24px; }
#pf-ops-app .pf-input:focus { outline: 0; border-color: var(--pf-green); box-shadow: 0 0 0 3px #244c3d16; }
#pf-ops-app .pf-input::placeholder { color: #858d83; opacity: 1; }
#pf-ops-app .pf-textarea { resize: vertical; min-height: 100px; }
#pf-ops-app .pf-field { margin-bottom: 18px; min-width: 0; }
#pf-ops-app .pf-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
#pf-ops-app .pf-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-bottom: 26px; }
#pf-ops-app .pf-metric { display: flex; flex-direction: column; align-items: flex-start; min-height: 174px; border: 1px solid var(--pf-line); border-radius: 10px; background: var(--pf-paper); padding: 22px; }
#pf-ops-app .pf-metric--accent { background: #e9edde; border-color: #d5dec7; }
#pf-ops-app .pf-metric-value { font-family: "Iowan Old Style", Georgia, serif; font-size: 48px; font-weight: 500; line-height: 1.2; letter-spacing: -1.8px; font-variant-numeric: lining-nums tabular-nums; }
#pf-ops-app .pf-metric .pf-button { margin-top: 10px; padding: 2px 0; min-height: 28px; border: 0; border-radius: 0; font-size: 12px; text-decoration: underline; text-underline-offset: 4px; }
#pf-ops-app .pf-overview-columns { display: grid; grid-template-columns: 1.25fr 1fr; gap: 22px; }
#pf-ops-app .pf-recent-list { margin-bottom: 22px; }
#pf-ops-app .pf-recent-row, #pf-ops-app .pf-health-row { display: flex; gap: 16px; align-items: center; padding: 15px 0; border-bottom: 1px solid var(--pf-line); }
#pf-ops-app .pf-recent-row { justify-content: space-between; }
#pf-ops-app .pf-recent-row small, #pf-ops-app .pf-health-row small { display: block; margin-top: 3px; overflow-wrap: anywhere; }
#pf-ops-app .pf-health-row:last-of-type { border-bottom: 0; }
#pf-ops-app .pf-health-row strong, #pf-ops-app .pf-recent-row strong { font-size: 13px; }
#pf-ops-app .pf-health-dot { display: grid; place-items: center; flex: 0 0 25px; width: 25px; height: 25px; font-size: 12px; border-radius: 50%; background: #f6ebd8; color: #805c23; }
#pf-ops-app .pf-health-dot.is-ready { background: #e7eee0; color: #315a38; }
#pf-ops-app .pf-health-row + .pf-button { margin-top: 18px; }
#pf-ops-app .pf-badge { display: inline-block; flex-shrink: 0; border-radius: 4px; padding: 3px 8px; font-size: 11px; white-space: nowrap; background: #e9eee6; color: #466248; }
#pf-ops-app .pf-badge--new { background: #f5ead4; color: #805519; }
#pf-ops-app .pf-badge--quoted { background: #e4ebef; color: #385e74; }
#pf-ops-app .pf-badge--won { background: #dcebd8; color: #2a6437; }
#pf-ops-app .pf-badge--closed { background: #ededE8; color: #697165; }
#pf-ops-app .pf-filter-bar { display: grid; grid-template-columns: minmax(0, 1fr) 180px auto; gap: 16px; align-items: end; margin: 0 0 22px; }
#pf-ops-app .pf-filter-bar .pf-field { margin: 0; }
#pf-ops-app .pf-inquiry-layout { display: grid; grid-template-columns: minmax(300px, .95fr) minmax(0, 1.05fr); gap: 22px; align-items: start; }
#pf-ops-app .pf-inquiry-card { padding: 18px 0; border-bottom: 1px solid var(--pf-line); }
#pf-ops-app .pf-inquiry-card:last-of-type { border-bottom: 0; }
#pf-ops-app .pf-row-between { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
#pf-ops-app .pf-row-between strong { overflow-wrap: anywhere; min-width: 0; }
#pf-ops-app .pf-inquiry-product { font-size: 14px; margin-top: 12px; margin-bottom: 3px; }
#pf-ops-app .pf-inquiry-card .pf-row-between:last-child { margin-top: 16px; }
#pf-ops-app .pf-inquiry-card .pf-button { min-height: 34px; font-size: 12px; padding: 5px 10px; }
#pf-ops-app .pf-pagination { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding-top: 20px; }
#pf-ops-app .pf-pagination .pf-button { padding: 6px 10px; min-height: 36px; }
#pf-ops-app .pf-details { display: grid; grid-template-columns: 104px minmax(0, 1fr); gap: 10px 16px; padding: 20px 0 18px; border-bottom: 1px solid var(--pf-line); margin: 8px 0 0; font-size: 13px; }
#pf-ops-app .pf-details dt { color: var(--pf-muted); }
#pf-ops-app .pf-details dd { margin: 0; overflow-wrap: anywhere; }
#pf-ops-app .pf-message { font-size: 13px; line-height: 1.8; white-space: pre-wrap; overflow-wrap: anywhere; }
#pf-ops-app .pf-history { list-style: none; padding: 0; margin: 16px 0 0 4px; }
#pf-ops-app .pf-history li { padding: 0 0 20px 17px; border-left: 1px solid #cad5c4; }
#pf-ops-app .pf-history li p { margin-top: 5px; }
#pf-ops-app .pf-inline-warning { color: #94672b; font-size: 12px; margin: 12px 0; background: #f9f0df; padding: 10px 12px; border-radius: 4px; overflow-wrap: anywhere; }
#pf-ops-app .pf-content-columns { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(270px, .8fr); gap: 22px; align-items: start; }
#pf-ops-app .pf-content-aside { display: grid; gap: 20px; }
#pf-ops-app .pf-draft-banner { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 18px; background: #ecefdf; padding: 15px 20px; border-left: 3px solid #77936a; margin-bottom: 24px; border-radius: 0 6px 6px 0; font-size: 12px; }
#pf-ops-app .pf-draft-banner span { color: #57634f; }
#pf-ops-app .pf-search-row { display: flex; align-items: center; gap: 10px; }
#pf-ops-app .pf-search-row .pf-input { min-width: 0; }
#pf-ops-app .pf-search-row .pf-button { white-space: nowrap; }
#pf-ops-app .pf-product-facts { position: relative; background: #f4f4eb; border: 1px dashed #d4d9ca; border-radius: 6px; padding: 15px; margin: -2px 0 22px; font-size: 13px; overflow-wrap: anywhere; }
#pf-ops-app .pf-product-facts p { margin-top: 4px; }
#pf-ops-app .pf-product-image { display: block; height: 90px; width: 90px; object-fit: contain; margin-top: 12px; border-radius: 6px; background: white; }
#pf-ops-app .pf-proposal:empty { display: none; }
#pf-ops-app .pf-keyword-list { display: grid; gap: 10px; margin: 18px 0 22px; max-height: 300px; overflow: auto; }
#pf-ops-app .pf-keyword-row .pf-button { font-size: 12px; padding: 6px 10px; min-height: 32px; text-align: left; justify-content: flex-start; max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
#pf-ops-app .pf-keyword-row small { display: block; margin-top: 3px; }
#pf-ops-app .pf-library-title { font-size: 13px; border-top: 1px solid var(--pf-line); padding: 12px 0; overflow-wrap: anywhere; }
#pf-ops-app .pf-library-title:first-of-type { border-top: 0; }
#pf-ops-app .pf-library-item { border-top: 1px solid var(--pf-line); padding: 12px 0; }
#pf-ops-app .pf-library-item small { display: block; margin-top: 5px; }
#pf-ops-app .pf-settings { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
#pf-ops-app .pf-settings .pf-panel > .pf-muted { min-height: 22px; }
#pf-ops-app .pf-settings-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
#pf-ops-app .pf-settings-actions .pf-help { flex-basis: 100%; }
#pf-ops-app .pf-alert { background: #eef1e5; border: 1px solid #d3dcc6; padding: 18px 20px; border-radius: 6px; font-size: 13px; margin: 20px 0 0; overflow-wrap: anywhere; }
#pf-ops-app .pf-alert p { margin-top: 6px; }
#pf-ops-app .pf-alert .pf-button { margin-top: 12px; }
#pf-ops-app .pf-alert--error { color: var(--pf-error); background: #fbefea; border-color: #ebcbc1; }
#pf-ops-app .pf-notice:empty { display: none; }
#pf-ops-app .pf-notice { margin: 22px 36px -9px; padding: 12px 17px; color: #315a38; background: #e4eddb; border: 1px solid #cad9bc; border-radius: 6px; font-size: 13px; overflow-wrap: anywhere; }
#pf-ops-app .pf-notice--error { color: var(--pf-error); background: #fbefea; border-color: #ebcbc1; }
#pf-ops-app .pf-empty { padding: 48px 16px; text-align: center; }
#pf-ops-app .pf-empty strong { display: block; font-size: 15px; color: #4d6250; }
#pf-ops-app .pf-empty p { max-width: 280px; margin: 8px auto 0; }
#pf-ops-app .pf-loading { display: flex; align-items: center; justify-content: center; gap: 12px; min-height: 180px; color: var(--pf-muted); font-size: 13px; }
#pf-ops-app .pf-loading::before { content: ""; display: inline-block; width: 18px; height: 18px; border: 2px solid #dce3d6; border-top-color: var(--pf-green); border-radius: 50%; animation: pf-turn .8s linear infinite; }
#pf-ops-app .pf-footer { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px 20px; margin: 0 36px; padding: 19px 0 22px; border-top: 1px solid var(--pf-line); color: #7c8477; font-size: 11px; }
@keyframes pf-arrive { from { transform: translateY(5px); opacity: 0; } to { transform: translateY(0); opacity: 1; } }
@keyframes pf-turn { to { transform: rotate(360deg); } }
@media (max-width: 1200px) {
  #pf-ops-app .pf-masthead { padding: 24px; }
  #pf-ops-app .pf-nav { padding: 0 24px; }
  #pf-ops-app .pf-main { padding: 28px 24px; }
  #pf-ops-app .pf-notice { margin-left: 24px; margin-right: 24px; }
  #pf-ops-app .pf-panel { padding: 20px; }
  #pf-ops-app .pf-metric { padding: 18px; }
  #pf-ops-app .pf-inquiry-layout, #pf-ops-app .pf-content-columns { grid-template-columns: minmax(0, 1fr); }
  #pf-ops-app .pf-content-aside { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #pf-ops-app .pf-inquiry-list { max-height: 640px; overflow: auto; }
  #pf-ops-app .pf-footer { margin-left: 24px; margin-right: 24px; }
}
@media (max-width: 782px) {
  #pf-ops-app { margin: 14px 12px 12px 0; }
  #pf-ops-app .pf-shell { border-radius: 10px; }
  #pf-ops-app .pf-masthead { padding: 22px 18px; }
  #pf-ops-app .pf-brand-name { font-size: 17px; letter-spacing: 2px; }
  #pf-ops-app .pf-brand-meta small { display: none; }
  #pf-ops-app .pf-nav { justify-content: space-between; gap: 12px; padding: 0 18px; }
  #pf-ops-app .pf-nav-item { font-size: 12px; padding-top: 16px; padding-bottom: 14px; }
  #pf-ops-app .pf-main { padding: 25px 18px 28px; }
  #pf-ops-app .pf-page-heading { padding-right: 0; }
  #pf-ops-app .pf-page-heading > .pf-button { position: static; margin-top: 14px; }
  #pf-ops-app .pf-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  #pf-ops-app .pf-metric { min-height: 155px; padding: 16px; }
  #pf-ops-app .pf-metric-value { font-size: 42px; }
  #pf-ops-app .pf-overview-columns, #pf-ops-app .pf-settings, #pf-ops-app .pf-content-aside { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  #pf-ops-app .pf-filter-bar { grid-template-columns: minmax(0, 1fr) auto; gap: 12px; }
  #pf-ops-app .pf-filter-bar > .pf-field:first-child { grid-column: 1 / -1; }
  #pf-ops-app .pf-panel { padding: 18px; }
  #pf-ops-app .pf-inquiry-list { max-height: 520px; }
  #pf-ops-app .pf-notice { margin: 16px 18px -5px; }
  #pf-ops-app .pf-footer { margin: 0 18px; }
}
@media (max-width: 420px) {
  #pf-ops-app .pf-brand-meta span { font-size: 11px; letter-spacing: 0; }
  #pf-ops-app .pf-brand-mark { width: 29px; height: 29px; }
  #pf-ops-app .pf-brand { gap: 9px; }
  #pf-ops-app .pf-nav { gap: 8px; padding: 0 14px; }
  #pf-ops-app .pf-main { padding-left: 14px; padding-right: 14px; }
  #pf-ops-app .pf-form-grid { grid-template-columns: minmax(0, 1fr); gap: 0; }
  #pf-ops-app .pf-details { grid-template-columns: 86px minmax(0, 1fr); gap: 10px; }
  #pf-ops-app .pf-search-row { flex-wrap: wrap; }
  #pf-ops-app .pf-settings-actions > .pf-button { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  #pf-ops-app .pf-page, #pf-ops-app .pf-loading::before { animation: none; }
  #pf-ops-app .pf-button { transition: none; }
}
/* Public quote additions inherit the storefront's type and color tokens. */
.pf-quote-consent { display: flex; align-items: flex-start; gap: 10px; width: 100%; font-size: 13px; line-height: 1.6; margin: 16px 0; color: #4a594d; }
.pf-quote-consent input[type="checkbox"] { flex: 0 0 auto; width: 17px; height: 17px; margin-top: 3px; accent-color: #244c3d; }
.pf-quote-feedback:not(:empty) { background: #f0f3e9; color: #244c3d; border: 1px solid #d9e2ce; border-radius: 6px; padding: 15px 17px; margin-top: 16px; font-size: 14px; line-height: 1.65; }
.pf-quote-feedback p { margin: 6px 0; }
.pf-quote-whatsapp { display: inline-flex; margin-top: 8px; font-weight: 600; color: #244c3d; text-decoration: underline; text-underline-offset: 3px; }

/* Preserve complete project briefs, including nested requirements, at any width. */
#pf-ops-app .pf-brief { margin: 14px 0; padding-left: 14px; border-left: 2px solid var(--pf-line); }
#pf-ops-app .pf-brief dt { margin-top: 15px; font-size: 12px; font-weight: 650; color: var(--pf-muted); overflow-wrap: anywhere; }
#pf-ops-app .pf-brief dt:first-child { margin-top: 0; }
#pf-ops-app .pf-brief dd { margin: 5px 0 0; min-width: 0; overflow-wrap: anywhere; }
#pf-ops-app .pf-brief-list { margin: 5px 0; padding-left: 18px; }
#pf-ops-app .pf-brief-list li { margin: 5px 0; }

#pf-ops-app .pf-library-list { max-height: 640px; overflow-y: auto; }
#pf-ops-app .pf-library-item-title { display: block; font-size: 13px; overflow-wrap: anywhere; }
#pf-ops-app .pf-library-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin-top: 10px; font-size: 12px; }
#pf-ops-app .pf-library-actions .pf-button { min-height: 32px; padding: 4px 9px; font-size: 12px; }
#pf-ops-app .pf-library-body { margin-top: 12px; padding: 12px; border: 1px solid var(--pf-line); border-radius: 5px; background: var(--pf-cream); white-space: pre-wrap; overflow-wrap: anywhere; font-size: 13px; line-height: 1.85; }
#pf-ops-app .pf-library-body[hidden] { display: none; }
