/* App extras — Gül palette */
.preview-page, .manage-page, .admin-page, .admin-login { background: #FFF5F7; min-height: 100vh; }
.preview-wrap, .manage-wrap, .admin-wrap { padding: 2rem 1rem 4rem; }
/* legacy preview grid kept for compatibility; studio styles in preview-studio.css */
.preview-grid { display: grid; gap: 1.5rem; grid-template-columns: 1.2fr .8fr; }
@media (max-width: 900px) { .preview-grid { grid-template-columns: 1fr; } }
.preview-form-card, .preview-hint-card, .admin-card, .login-card {
  background: #fff; border-radius: 24px; padding: 1.5rem; box-shadow: 0 10px 30px rgba(61,42,48,.08);
}
.login-card { max-width: 420px; margin: 10vh auto; }
.field { display: flex; flex-direction: column; gap: .35rem; margin-bottom: 1rem; font-weight: 600; }
.field input, .field textarea, .field select {
  border: 1px solid #f0d8de; border-radius: 14px; padding: .75rem .9rem; font: inherit; background: #fffafb;
}
.muted { color: #7A6068; }
.price-tag { font-weight: 700; color: #D06B80; }
.copy-row { display: flex; gap: .5rem; margin: .5rem 0 1rem; align-items: center; flex-wrap: wrap; }
.copy-row input { flex: 1; min-width: 220px; border: 1px solid #f0d8de; border-radius: 12px; padding: .65rem .8rem; }
.hidden { display: none !important; }
.result-box { margin-top: 1rem; padding: 1rem; border-radius: 18px; background: #eef8f6; border: 1px solid #cfe8e4; }
.stat-row { display: grid; grid-template-columns: repeat(4, 1fr); gap: .75rem; margin: 1rem 0 1.5rem; }
@media (max-width: 700px) { .stat-row { grid-template-columns: 1fr 1fr; } }
.stat-box { background: #fff; border-radius: 18px; padding: 1rem; text-align: center; box-shadow: 0 6px 18px rgba(61,42,48,.06); }
.stat-box b { display: block; font-size: 1.6rem; }
.stat-box.yes b { color: #5A9A94; }
.stat-box.no b { color: #D06B80; }
.table-wrap { overflow: auto; background: #fff; border-radius: 18px; box-shadow: 0 6px 18px rgba(61,42,48,.06); }
table { width: 100%; border-collapse: collapse; }
th, td { padding: .85rem 1rem; border-bottom: 1px solid #f5e4e8; text-align: left; font-size: .95rem; }
.alert { padding: .8rem 1rem; border-radius: 12px; margin-bottom: 1rem; }
.alert.ok { background: #e9f7f4; color: #3f7a72; }
.alert.err { background: #fdecef; color: #b4234a; }
.admin-nav { background: #fff; border-bottom: 1px solid #f5e4e8; margin-bottom: 1rem; }
.admin-form { display: grid; grid-template-columns: 1fr 1fr; gap: .5rem 1rem; }
.admin-form .field:nth-child(n+7) { grid-column: 1 / -1; }
@media (max-width: 800px) { .admin-form { grid-template-columns: 1fr; } }
.row-actions { display: flex; gap: .35rem; align-items: center; }
.mini-card {
  margin-top: 1rem; border-radius: 22px; padding: 2rem 1rem; text-align: center;
  background: linear-gradient(160deg, #ffe8ee, #fff6f0); min-height: 220px;
  display: flex; flex-direction: column; justify-content: center; gap: .5rem;
}
.frame-name { font-size: 1.4rem; font-weight: 800; }
.frame-deco { font-size: 2rem; }
.frame-sub { letter-spacing: .08em; text-transform: uppercase; font-size: .8rem; color: #7A6068; }
