:root{
  --hx-primary:   #ff7a1a;
  --hx-primary-2: #ff5b00;
  --hx-gray-50:   #fbfbfd;
  --hx-border:    #e6e9ed;
  --hx-grad: linear-gradient(135deg,var(--hx-primary),var(--hx-primary-2));
  --hx-text:#0f172a; --hx-muted:#64748b; --hx-card:#fff;
}

/* Controls */
.submission-controls{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:20px}
.submission-controls input[type="search"]{flex:1;min-width:220px;padding:12px;border:1px solid var(--hx-border);border-radius:12px;background:#fff}
.submission-controls select{padding:12px;border:1px solid var(--hx-border);border-radius:12px;background:#fff;min-width:220px}

/* Tabs */
.submission-tabs{margin-bottom:20px;display:flex;flex-wrap:wrap;gap:12px;padding:10px;background:var(--hx-gray-50);border:1px solid var(--hx-border);border-radius:16px}
.tab-link{padding:10px 18px;border:none;border-radius:999px;background:#fff;color:var(--hx-muted);cursor:pointer;transition:all .15s;box-shadow:0 1px 0 rgba(17,24,39,.03)}
.tab-link:hover{transform:translateY(-2px);color:var(--hx-primary-2)}
.tab-link.active{color:#fff;background:var(--hx-grad);box-shadow:0 8px 20px rgba(255,122,26,.25)}

/* Grid */
.submission-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding:10px 0}
@media (min-width:1200px){.submission-grid{grid-template-columns:repeat(4,1fr)}}
@media (max-width:768px){.submission-grid{grid-template-columns:repeat(2,1fr);gap:16px}}
@media (max-width:520px){.submission-grid{grid-template-columns:1fr}}

.submission-card{background:var(--hx-card);border:1px solid var(--hx-border);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;text-align:center;box-shadow:0 4px 24px rgba(16,24,40,.06)}
.image-container{width:100%;height:220px;overflow:hidden;background:#f1f5f9;display:flex;align-items:flex-start;justify-content:center}
.image-container img{width:100%;height:100%;object-fit:cover;object-position:top;cursor:pointer;transition:transform .25s}
.image-container img:hover{transform:scale(1.03)}
.no-image{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:#94a3b8}

.submission-card h3{margin:16px 16px 8px;font-size:18px;font-weight:700;color:var(--hx-text)}

.admin-actions{display:flex;gap:10px;justify-content:center;margin:6px 16px 10px}
.pf-btn,.edit-btn,.delete-btn{padding:8px 12px;font-size:13px;border-radius:10px;border:1px solid var(--hx-border);background:#fff;cursor:pointer;transition:all .15s}
.edit-btn{color:var(--hx-primary-2);border-color:#ffd7bf}
.edit-btn:hover{background:rgba(255,122,26,.08)}
.delete-btn{color:#dc2626;border-color:#fecaca;background:#fff5f5}
.delete-btn:hover{background:#fee2e2}

.website-link{display:flex;align-items:center;gap:10px;margin:10px 16px 16px;padding:12px 14px;border:1px solid var(--hx-border);border-radius:12px;font-size:13px;color:#475569}
.website-link a{flex:1;color:inherit;text-decoration:none;word-break:break-all;text-align:left}
.copy-btn{padding:8px 10px;border:1px solid #ffd7bf;border-radius:10px;background:#fff;color:var(--hx-primary-2);cursor:pointer;position:relative}
.copy-btn:hover{background:rgba(255,122,26,.08)}
.copy-btn .tip{position:absolute;bottom:110%;right:0;background:#111827;color:#fff;font-size:11px;padding:4px 6px;border-radius:6px;opacity:0;transform:translateY(4px);transition:opacity .15s,transform .15s;white-space:nowrap}
.copy-btn .tip.show{opacity:1;transform:translateY(0)}

.submission-grid:empty::after{content:'';display:block;width:56px;height:56px;margin:40px auto;border:4px solid #f3f4f6;border-top:4px solid var(--hx-primary);border-radius:50%;animation:spin 1s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.no-items{text-align:center;color:#64748b;padding:40px}

/* Modal */
.pf-modal{display:none;position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:9999;justify-content:center;align-items:center}
.pf-modal.open{display:flex}
.pf-modal img{max-width:92%;max-height:82%;border-radius:12px;box-shadow:0 20px 40px rgba(0,0,0,.35)}

/* Dialog */
.pf-dialog{background:#fff;border-radius:16px;padding:20px;width:min(92vw,520px);box-shadow:0 20px 40px rgba(0,0,0,.25)}
.pf-dialog-title{margin:0 0 14px;font-size:18px;font-weight:700;color:var(--hx-text)}
.pf-label{display:block;font-size:13px;color:var(--hx-muted);margin:6px 0}
.pf-input{width:100%;padding:12px;border:1px solid var(--hx-border);border-radius:12px;background:#fff;margin-bottom:10px}
.pf-thumb-field{display:flex;gap:12px;align-items:center;margin:8px 0 14px}
#edit-thumb-preview{width:96px;height:72px;object-fit:cover;border:1px solid var(--hx-border);border-radius:8px;background:#f8fafc}
.pf-thumb-actions{display:flex;gap:8px}
.pf-btn-primary{color:#fff;background:var(--hx-grad);border:none}
.pf-btn-danger{color:#fff;background:#ef4444;border:none}
.pf-btn-light{color:var(--hx-primary-2);border-color:#ffd7bf}
.pf-btn-ghost{color:#64748b;background:#fff}
.pf-btn:hover{transform:translateY(-1px)}

/* Summary */
.pf-summary-panel{margin:8px 0 18px;padding:12px;border:1px solid var(--hx-border);background:#fafafb;border-radius:16px}
.pf-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;align-items:start}
@media(max-width:1200px){.pf-summary-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.pf-summary-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.pf-summary-grid{grid-template-columns:1fr}}

.pf-summary-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--hx-border);border-radius:12px;padding:12px 14px;box-shadow:0 2px 6px rgba(0,0,0,.03);text-align:left;font-size:13px;line-height:1.55}
.pf-summary-title{font-weight:700;font-size:14px;margin:0 0 8px;color:var(--hx-text);text-transform:uppercase;letter-spacing:.2px}
.pf-summary-title-lg{font-size:18px;text-align:center}
.pf-summary-list{margin:0}
.pf-line{margin:0 0 4px;color:#6b7280}
.pf-summary-actions{display:flex;justify-content:flex-end;margin-top:auto}
.pf-summary-copy{padding:4px 8px;font-size:12px;border-radius:8px;border:1px solid #ffd7bf;background:#fff;color:var(--hx-primary-2);cursor:pointer}
.pf-summary-copyall-wrap{text-align:center;margin-top:8px}
.pf-summary-copyall{appearance:none;background:none;border:none;color:var(--hx-primary-2);font-weight:600;cursor:pointer;font-size:15px}
.pf-summary-section{margin-bottom:10px}
.pf-stack-title{font-weight:700;font-size:13px;margin:6px 0;color:var(--hx-text)}
