.proposal-portal-page {
  --proposal-surface: var(--ege-surface, #fff);
  --proposal-soft: var(--ege-surface-soft, #f8fafc);
  --proposal-text: var(--ege-text, #172033);
  --proposal-muted: var(--ege-muted, #64748b);
  --proposal-border: var(--ege-border, #e1e7ef);
  background: var(--ege-bg, #f6f7fb);
  color: var(--proposal-text);
  min-height: 100vh;
}

/* Keep short proposal pages on the same full-height admin canvas. */
.proposal-portal-page .content {
  display: flex;
  flex-direction: column;
}

.proposal-portal-page #content {
  flex: 1 0 auto;
  width: 100%;
}

.proposal-main { padding: 8px 0 40px; }
.proposal-shell { margin: 0; max-width: 1180px; }
.proposal-shell--narrow { max-width: 860px; }

.proposal-page-head {
  align-items: flex-start;
  display: flex;
  gap: 22px;
  justify-content: space-between;
  margin-bottom: 24px;
}

.proposal-page-head h1 {
  color: var(--proposal-text);
  font-size: clamp(26px, 4vw, 38px);
  letter-spacing: -.035em;
  line-height: 1.08;
  margin: 5px 0 8px;
}

.proposal-page-head p { color: var(--proposal-muted); font-size: 15px; line-height: 1.55; margin: 0; }
.proposal-eyebrow,
.proposal-section-label {
  color: #946f00;
  font-size: 11px;
  font-weight: 950;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.proposal-button {
  align-items: center;
  border: 1px solid transparent;
  border-radius: 10px;
  cursor: pointer;
  display: inline-flex;
  flex: 0 0 auto;
  font-size: 13px;
  font-weight: 900;
  justify-content: center;
  min-height: 42px;
  padding: 10px 16px;
  text-decoration: none;
}

.proposal-button--primary { background: #e8b000; color: #111827; }
.proposal-button--primary:visited { color: #111827; }
.proposal-button--ghost { background: var(--proposal-surface); border-color: var(--proposal-border); color: var(--proposal-text); }
.proposal-button--ghost:visited { color: var(--proposal-text); }
.proposal-button:disabled { cursor: wait; opacity: .65; }

.proposal-ticket-list { display: grid; gap: 14px; }
.proposal-ticket-card {
  background: var(--proposal-surface);
  border: 1px solid var(--proposal-border);
  border-radius: 14px;
  box-shadow: 0 8px 28px rgba(15, 23, 42, .045);
  color: var(--proposal-text);
  display: block;
  padding: 20px 22px;
  text-decoration: none;
  transition: border-color .15s ease, transform .15s ease;
}
.proposal-ticket-card:visited { color: var(--proposal-text); }
.proposal-ticket-card:hover { border-color: #c8a229; transform: translateY(-1px); }
.proposal-ticket-card h2 { font-size: 18px; margin: 12px 0 10px; }
.proposal-ticket-topline,
.proposal-ticket-meta {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 9px 16px;
  justify-content: space-between;
}
.proposal-ticket-number { color: var(--proposal-muted); font-size: 12px; font-weight: 900; letter-spacing: .05em; }
.proposal-ticket-meta { color: var(--proposal-muted); font-size: 12px; justify-content: flex-start; }
.proposal-replied { color: #047857; font-weight: 850; }
.proposal-ticket-action { color: #8a6900; display: inline-block; font-size: 12px; font-weight: 900; margin-top: 16px; }

.proposal-status {
  border-radius: 999px;
  display: inline-flex;
  font-size: 11px;
  font-weight: 950;
  padding: 6px 10px;
}
.proposal-status--yeni { background: #eff6ff; color: #1d4ed8; }
.proposal-status--inceleniyor { background: #fff7ed; color: #c2410c; }
.proposal-status--cevaplandi { background: #ecfdf5; color: #047857; }
.proposal-status--kapatildi { background: #f1f5f9; color: #475569; }

.proposal-empty-state {
  background: var(--proposal-surface);
  border: 1px dashed #cbd5e1;
  border-radius: 16px;
  padding: 52px 24px;
  text-align: center;
}
.proposal-empty-icon { color: #b78b00; font-size: 36px; font-weight: 300; }
.proposal-empty-state h2 { margin: 12px 0 7px; }
.proposal-empty-state p { color: var(--proposal-muted); margin: 0 0 22px; }

.proposal-pagination { align-items: center; display: flex; gap: 14px; justify-content: center; margin-top: 22px; }
.proposal-pagination a { color: #8a6900; font-weight: 850; text-decoration: none; }

.proposal-form-card,
.proposal-detail-card,
.proposal-status-card,
.proposal-response-card {
  background: var(--proposal-surface);
  border: 1px solid var(--proposal-border);
  border-radius: 15px;
  box-shadow: 0 8px 28px rgba(15, 23, 42, .04);
}
.proposal-form-card,
.proposal-detail-card { padding: 25px; }
.proposal-identity { background: var(--proposal-soft); border: 1px solid var(--proposal-border); border-radius: 11px; margin-bottom: 22px; padding: 14px 16px; }
.proposal-identity span,
.proposal-identity strong,
.proposal-identity small { display: block; }
.proposal-identity span { color: var(--proposal-muted); font-size: 11px; font-weight: 900; text-transform: uppercase; }
.proposal-identity strong { font-size: 15px; margin-top: 4px; }
.proposal-identity small { color: var(--proposal-muted); margin-top: 3px; }

.proposal-form-grid { display: grid; gap: 17px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.proposal-field--wide { grid-column: 1 / -1; }
.proposal-field label { color: var(--proposal-text); display: block; font-size: 12px; font-weight: 900; margin-bottom: 6px; }
.proposal-field > small { color: var(--proposal-muted); display: block; font-size: 11px; margin-top: 5px; }
.proposal-field input,
.proposal-field select,
.proposal-field textarea {
  background: var(--proposal-surface);
  border: 1px solid #cfd8e4;
  border-radius: 9px;
  box-sizing: border-box;
  color: var(--proposal-text);
  font: inherit;
  min-height: 44px;
  padding: 10px 12px;
  width: 100%;
}
.proposal-field textarea { min-height: 100px; resize: vertical; }
.proposal-field input:focus,
.proposal-field select:focus,
.proposal-field textarea:focus { border-color: #b58a00; box-shadow: 0 0 0 3px rgba(232, 176, 0, .15); outline: 0; }
.proposal-field .errorlist,
.proposal-form > .errorlist { color: #b91c1c; font-size: 12px; margin: 6px 0 0; padding-left: 17px; }
.proposal-form-actions { align-items: center; border-top: 1px solid #e8edf3; display: flex; gap: 18px; justify-content: space-between; margin-top: 24px; padding-top: 20px; }
.proposal-form-actions p { color: var(--proposal-muted); font-size: 12px; line-height: 1.5; margin: 0; max-width: 520px; }

.proposal-status-card { align-items: center; display: flex; justify-content: space-between; margin-bottom: 14px; padding: 17px 20px; }
.proposal-status-card > div { align-items: center; display: flex; gap: 12px; }
.proposal-status-card > div > span { color: var(--proposal-muted); font-size: 12px; font-weight: 850; }
.proposal-status-card small { color: var(--proposal-muted); }
.proposal-response-card { border-left: 4px solid #cbd5e1; margin-bottom: 14px; padding: 20px; }
.proposal-response-card--answered { background: #f0fdf7; border-color: #34d399; }
.proposal-response-card p { line-height: 1.6; margin: 8px 0 0; }
.proposal-detail-card h2 { font-size: 19px; margin: 0 0 18px; }
.proposal-detail-grid { display: grid; gap: 18px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; }
.proposal-detail-grid div { border-bottom: 1px solid var(--proposal-border); padding-bottom: 13px; }
.proposal-detail-grid dt { color: var(--proposal-muted); font-size: 11px; font-weight: 900; margin-bottom: 5px; text-transform: uppercase; }
.proposal-detail-grid dd { line-height: 1.55; margin: 0; }
.proposal-detail-wide { grid-column: 1 / -1; }
.proposal-map-link { color: #8a6900; display: inline-block; font-size: 13px; font-weight: 900; margin-top: 20px; text-decoration: none; }

@media (max-width: 760px) {
  .proposal-main { padding: 8px 0 35px; }
  .proposal-page-head,
  .proposal-form-actions,
  .proposal-status-card { align-items: stretch; flex-direction: column; }
  .proposal-form-grid,
  .proposal-detail-grid { grid-template-columns: 1fr; }
  .proposal-field--wide,
  .proposal-detail-wide { grid-column: auto; }
  .proposal-form-card,
  .proposal-detail-card { padding: 19px; }
}
