/* Projects Manager. Portal look: sharp corners, white cards, green with black text, red for danger. */
.pa { font-family: Inter, Arial, sans-serif; color: #1c1e1a; display: flex; flex-direction: column; gap: 14px; }
.pa *, .pa-backdrop * { box-sizing: border-box; }
.pa-view, .pa-detail { display: flex; flex-direction: column; gap: 14px; }
.pa-loading { margin: 0; padding: 32px 0; color: #57534e; }
.pa-status:empty { display: none; }
.pa-msg { margin: 0; padding: 12px 14px; font-size: 14px; background: #fff; border: 1px solid #e7e5e4; }
.pa-msg[hidden] { display: none; }
.pa-msg-ok { border-color: #cfe3b3; background: #eef6e3; color: #2f4d12; }
.pa-msg-error { border-color: #f0cfcb; background: #fbeceb; color: #8a2a22; }
.pa-bar { display: flex; gap: 12px; flex-wrap: wrap; align-items: center; }
.pa-tabs { display: flex; gap: 8px; }
.pa-tab { display: inline-flex; align-items: center; gap: 8px; height: 40px; padding: 0 14px; border: 1px solid #d6d3d1; background: #fff; font: inherit; font-size: 14px; color: #1c1e1a; cursor: pointer; border-radius: 0; }
.pa-tab.is-on { background: #1c1e1a; border-color: #1c1e1a; color: #fff; }
.pa-tab-count { font-size: 12px; font-weight: 600; padding: 1px 6px; background: #f5f5f4; color: #1c1e1a; }
.pa-tab.is-on .pa-tab-count { background: #8cc63e; }
.pa-search { flex: 1 1 280px; }
.pa-count { margin: 0; font-size: 14px; font-weight: 600; }
.pa-input { height: 48px; width: 100%; padding: 0 10px; border: 1px solid #d6d3d1; background: #fff; font: inherit; font-size: 14px; color: #1c1e1a; border-radius: 0; margin: 0; }
.pa-input:focus { outline: 2px solid #1c1e1a; outline-offset: -1px; border-color: #1c1e1a; }
.pa-input:disabled { background: #fafaf9; color: #57534e; }
.pa-textarea { height: auto; padding: 8px 10px; resize: vertical; line-height: 1.5; }
.pa-qty { width: 80px; }
.pa-table { background: #fff; border: 1px solid #e7e5e4; }
.pa-row { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr) 120px; gap: 16px; align-items: center; padding: 12px 16px; border-bottom: 1px solid #e7e5e4; font-size: 14px; }
.pa-row:last-child { border-bottom: 0; }
.pa-head { background: transparent; font-size: 13px; font-weight: 600; color: #57534e; }
.pa-cell { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.pa-name { font-weight: 600; color: #1c1e1a; text-decoration: none; overflow-wrap: anywhere; }
.pa-name:hover { text-decoration: underline; }
.pa-strong { font-weight: 600; overflow-wrap: anywhere; }
.pa-small { font-size: 13px; }
.pa-sub { font-size: 13px; color: #57534e; overflow-wrap: anywhere; }
.pa-clip { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pa-empty { margin: 0; padding: 24px 16px; color: #57534e; }
.pa-back { align-self: flex-start; font-size: 14px; color: #1c1e1a; text-decoration: underline; }
.pa-grid { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(260px, 0.8fr); gap: 16px; align-items: start; }
.pa-main, .pa-side { display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.pa-card { background: #fff; border: 1px solid #e7e5e4; padding: 18px 20px; display: flex; flex-direction: column; gap: 12px; }
.pa-h3 { margin: 0; font-size: 15px; font-weight: 700; }
.pa-field { display: flex; flex-direction: column; gap: 6px; margin: 0; }
.pa-label-text { font-size: 13px; font-weight: 600; color: #57534e; }
.pa-owner { display: flex; flex-direction: column; gap: 4px; font-size: 14px; }
.pa-badge { align-self: flex-start; padding: 3px 8px; font-size: 12px; font-weight: 600; background: #f5f5f4; color: #57534e; }
.pa-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.pa-actions-left { justify-content: flex-start; }
.pa-btn { display: inline-flex; align-items: center; justify-content: center; height: 48px; padding: 0 16px; border: 1px solid #1c1e1a; background: #fff; color: #1c1e1a; font: inherit; font-size: 14px; font-weight: 600; cursor: pointer; border-radius: 0; }
.pa-btn[hidden] { display: none; }
.pa-btn:hover { background: #f5f5f4; }
.pa-btn-primary { background: #111; border-color: #111; color: #fff; }
.pa-btn-primary:hover { background: #2b2b2b; }
.pa-btn-danger { background: #8a2a22; border-color: #8a2a22; color: #fff; }
.pa-btn-danger-outline { border-color: #8a2a22; color: #8a2a22; }
.pa-btn-danger-outline:hover { background: #fbeceb; }
.pa-btn:disabled { opacity: 0.55; cursor: default; }
.pa-link { background: none; border: 0; padding: 0; font: inherit; font-size: 13px; color: #1c1e1a; text-decoration: underline; cursor: pointer; }
.pa-danger { color: #8a2a22; justify-self: end; }
.pa-btn:focus-visible, .pa-link:focus-visible, .pa-tab:focus-visible, .pa-name:focus-visible, .pa-back:focus-visible { outline: 2px solid #1c1e1a; outline-offset: 2px; }
.pa-items { display: flex; flex-direction: column; }
.pa-item { display: grid; grid-template-columns: minmax(0, 1.5fr) 90px minmax(0, 1fr) 70px; gap: 14px; align-items: start; padding: 12px 0; border-bottom: 1px solid #e7e5e4; }
.pa-item:last-child { border-bottom: 0; }
.pa-item-product { display: flex; gap: 12px; min-width: 0; }
.pa-thumb { width: 60px; height: 60px; flex: 0 0 60px; object-fit: contain; border: 1px solid #e7e5e4; background: #fff; }
.pa-thumb-empty { display: flex; align-items: center; justify-content: center; background: #f5f5f4; color: #8a8d84; }
.pa-backdrop { position: fixed; inset: 0; z-index: 1000; background: rgba(28, 30, 26, 0.45); display: flex; align-items: center; justify-content: center; padding: 16px; font-family: Inter, Arial, sans-serif; color: #1c1e1a; }
.pa-dialog { background: #fff; width: 100%; max-width: 480px; padding: 24px; display: flex; flex-direction: column; gap: 14px; }
.pa-dialog-title { margin: 0; font-family: Lora, Georgia, serif; font-weight: 600; font-size: 21px; overflow-wrap: anywhere; }
.pa-text { margin: 0; font-size: 15px; line-height: 1.5; }
@media (max-width: 991px) { .pa-grid { grid-template-columns: 1fr; } .pa-side { order: -1; } }
@media (max-width: 767px) { .pa-row { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } .pa-hide-sm { display: none; } .pa-item { grid-template-columns: 1fr; } .pa-danger { justify-self: start; } }
@media print {
  body * { visibility: hidden !important; }
  .pa-detail, .pa-detail * { visibility: visible !important; }
  .pa-detail { position: absolute; left: 0; top: 0; width: 100%; }
  .pa-actions, .pa-danger, .pa-back { display: none !important; }
}
