.prize-admin-page { padding: 50px; }
.prize-page-title { display: flex; justify-content: space-between; margin-bottom: 20px; }
.prize-page-title h1 { color: #161616; font-size: 1.6em; margin: 8px 0; }
.prize-page-title p, .prize-page-title a { color: #666; font-size: .88em; }
.prize-create-form, .prize-cart-card { background: #fff; border-radius: 10px; box-shadow: 0 3px 12px rgba(15, 23, 42, .06); padding: 20px; }
.prize-create-form { display: grid; grid-template-columns: 2fr 1fr; gap: 14px; margin-bottom: 22px; }
.prize-create-form .full, .cart-update-form .full { grid-column: 1 / -1; }
.prize-create-form label, .cart-update-form label { display: block; font-size: .82em; font-weight: 600; margin-bottom: 6px; }
.prize-create-form input, .prize-create-form select, .prize-create-form textarea, .cart-update-form input, .cart-update-form select, .cart-update-form textarea { border: 1px solid #d7d7d7; border-radius: 7px; padding: 10px; width: 100%; }
.prize-create-form button, .cart-update-form button { background: #0d6efd; border: 0; border-radius: 7px; color: #fff; font-weight: 600; padding: 11px 16px; width: max-content; }
.campaign-prize-grid, .prize-cart-list { display: grid; gap: 14px; }
.campaign-prize-card { align-items: center; background: #fff; border-radius: 10px; display: grid; gap: 14px; grid-template-columns: 80px 1fr auto; padding: 14px; }
.campaign-prize-image, .prize-cart-item-image { align-items: center; background: #f1f5f9; border-radius: 8px; color: #64748b; display: flex; justify-content: center; overflow: hidden; }
.campaign-prize-image { height: 70px; width: 80px; }
.campaign-prize-image img, .prize-cart-item-image img { height: 100%; object-fit: cover; width: 100%; }
.campaign-prize-info h2, .prize-cart-card h2 { font-size: 1em; margin: 0 0 4px; }
.campaign-prize-info p { color: #666; font-size: .82em; margin: 0 0 5px; }
.campaign-prize-info span { color: #0d6efd; font-size: .78em; font-weight: 600; }
.campaign-prize-card .danger { background: #dc3545; border: 0; border-radius: 6px; color: #fff; padding: 8px 11px; }
.campaign-prize-card .danger:disabled { background: #aaa; }
.prize-message { border-radius: 7px; margin-bottom: 15px; padding: 11px; }
.prize-message.success { background: #d1e7dd; color: #0f5132; }
.prize-message.error { background: #f8d7da; color: #842029; }
.prize-cart-card header, .public-prize-cart header { align-items: center; border-bottom: 1px solid #eee; display: flex; justify-content: space-between; margin-bottom: 14px; padding-bottom: 12px; }
.prize-cart-card header p, .public-prize-cart header p { color: #666; font-size: .8em; margin: 3px 0 0; }
.cart-status, .public-prize-cart header > span { background: #e8f1ff; border-radius: 20px; color: #0d6efd; font-size: .78em; font-weight: 600; padding: 7px 10px; }
.cart-address { color: #555; font-size: .82em; }
.prize-cart-items { display: grid; gap: 9px; margin: 14px 0; }
.prize-cart-item { align-items: center; background: #f8fafc; border-radius: 8px; display: flex; gap: 10px; padding: 8px; }
.prize-cart-item-image { height: 50px; min-width: 55px; width: 55px; }
.prize-cart-item strong, .prize-cart-item small { display: block; }
.prize-cart-item strong { font-size: .88em; }
.prize-cart-item small { color: #64748b; font-size: .75em; margin-top: 3px; }
.cart-update-form { border-top: 1px solid #eee; display: grid; gap: 12px; grid-template-columns: 1fr 1fr; padding-top: 15px; }
.prize-empty { background: #fff; border-radius: 8px; color: #666; padding: 20px; text-align: center; }
.public-prizes-container { min-height: 400px; }
.public-prize-cart { background: #fff; border-radius: 10px; box-shadow: 0 4px 12px rgba(15, 23, 42, .08); margin-bottom: 14px; padding: 16px; }
.public-prize-cart h2 { font-size: 1em; }
.public-tracking { background: #eef8f2; border-radius: 7px; color: #198754; font-size: .85em; padding: 10px; }
.public-cart-notes { color: #555; font-size: .82em; margin-top: 10px; }
.prize-product-actions { display: grid; gap: 18px; grid-template-columns: 1fr 1fr; }
.prize-create-form h2 { font-size: 1.05em; margin: 0; }
.prize-create-form h2 + p { color: #666; font-size: .8em; margin: 5px 0 0; }
.prize-assignment-form { border: 2px solid #dbeafe; }
.product-catalog-grid { display: grid; gap: 15px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.product-catalog-card { background: #fff; border-radius: 10px; box-shadow: 0 3px 12px rgba(15, 23, 42, .06); display: grid; gap: 14px; grid-template-columns: 110px 1fr auto; padding: 14px; }
.product-catalog-image { align-items: center; background: #f1f5f9; border-radius: 8px; color: #64748b; display: flex; font-size: 2em; height: 110px; justify-content: center; overflow: hidden; width: 110px; }
.product-catalog-image img { height: 100%; object-fit: cover; width: 100%; }
.product-catalog-card > form:not(.product-delete-form) { display: grid; gap: 7px; }
.product-catalog-card label { color: #555; font-size: .74em; font-weight: 600; }
.product-catalog-card input, .product-catalog-card select, .product-catalog-card textarea { border: 1px solid #d7d7d7; border-radius: 6px; font-size: .82em; padding: 8px; width: 100%; }
.product-catalog-card button { background: #0d6efd; border: 0; border-radius: 6px; color: #fff; padding: 9px 12px; }
.product-delete-form button { background: #dc3545; }
.inventory-status { border-radius: 20px; display: inline-block; font-size: .7em; font-weight: 700; margin-top: 6px; padding: 4px 8px; }
.inventory-status.in-stock { background: #d1e7dd; color: #0f5132; }
.inventory-status.waiting { background: #fff3cd; color: #856404; }
.collapsible-card { overflow: hidden; padding: 0; }
.collapsible-card > summary { align-items: center; cursor: pointer; display: flex; justify-content: space-between; list-style: none; padding: 17px 20px; }
.collapsible-card > summary::-webkit-details-marker { display: none; }
.collapsible-card > summary h2 { margin: 0; }
.collapsible-card > summary .bi-chevron-down { color: #64748b; transition: transform .2s ease; }
.collapsible-card[open] > summary .bi-chevron-down { transform: rotate(180deg); }
.collapsible-card[open] > summary { border-bottom: 1px solid #eee; }
.collapsible-card-content { padding: 18px 20px 20px; }
.collapsible-summary-status { align-items: center; display: flex; gap: 12px; }
.prize-cart-item-info { flex: 1; min-width: 0; }
.cart-delete-item-form button { background: #fee2e2; border: 0; border-radius: 7px; color: #dc3545; padding: 8px 10px; }
.cart-delete-form { border-top: 1px solid #eee; margin-top: 16px; padding-top: 14px; }
.cart-delete-form button { background: #dc3545; border: 0; border-radius: 7px; color: #fff; padding: 10px 14px; }
.prize-assignment-form .btn-assign-product { grid-column: 1 / -1; min-height: 44px; width: 100%; }
.product-catalog-card { display: block; padding: 0; }
.product-catalog-card > summary { display: grid; gap: 14px; grid-template-columns: 70px 1fr auto; }
.product-catalog-card > summary .product-catalog-image { height: 70px; width: 70px; }
.product-summary-info { align-items: flex-start; display: flex; flex-direction: column; justify-content: center; min-width: 0; }
.product-summary-info strong { font-size: .95em; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; width: 100%; }
.product-summary-info small { color: #64748b; font-size: .72em; margin-top: 5px; }
.product-catalog-content { padding: 16px 20px 20px; }
.product-catalog-content > form:not(.product-delete-form) { display: grid; gap: 7px; }
.product-catalog-content .product-delete-form { border-top: 1px solid #eee; margin-top: 14px; padding-top: 14px; }
.product-catalog-content .product-delete-form button { width: 100%; }
.product-card-actions { border-top: 1px solid #eee; display: flex; gap: 10px; margin-top: 14px; padding-top: 14px; }
.product-card-actions > button, .product-card-actions > form { flex: 1; margin: 0; }
.product-card-actions > button, .product-card-actions > form button { height: 100%; width: 100%; }
.product-card-actions .product-delete-form { border: 0; margin: 0; padding: 0; }
.item-status-form { align-items: center; display: flex; gap: 5px; margin-top: 7px; max-width: 290px; }
.item-status-form select { background: #fff; border: 1px solid #d7d7d7; border-radius: 6px; color: #555; font-size: .74em; padding: 7px; width: 100%; }
.item-status-form button { background: #0d6efd; border: 0; border-radius: 6px; color: #fff; height: 32px; min-width: 34px; }
@media (max-width: 600px) {
    .prize-admin-page { padding: 20px 10px; }
    .prize-create-form, .cart-update-form { grid-template-columns: 1fr; }
    .campaign-prize-card { grid-template-columns: 65px 1fr auto; }
    .campaign-prize-image { height: 60px; width: 65px; }
    .public-prizes-container { padding: 0 10px; }
    .prize-product-actions, .product-catalog-grid { grid-template-columns: 1fr; }
    .collapsible-card > summary { padding: 14px; }
    .collapsible-card-content, .product-catalog-content { padding: 14px; }
    .product-catalog-card > summary { grid-template-columns: 58px 1fr auto; }
    .product-catalog-card > summary .product-catalog-image { height: 58px; width: 58px; }
}
