/* public/assets/ideas.css
   Scoped styles: ONLY inside .ideas-ui
   Breakpoints:
   - Mobile: <=720px (base)
   - Tablet: 721–900px
   - Desktop: >=901px
*/

.ideas-ui{
  --ui-bg: #f6f7fb;
  --ui-surface: #ffffff;
  --ui-surface-2: #fbfcff;

  --ui-text: #0f172a;
  --ui-muted: rgba(15,23,42,.68);
  --ui-faint: rgba(15,23,42,.52);

  --ui-border: rgba(16,24,40,.10);
  --ui-border-soft: rgba(16,24,40,.08);

  --ui-primary: var(--theme-color, #0088cc);
  --ui-primary-ink: #ffffff;

  --ui-ok: #16a34a;
  --ui-warn: #f59e0b;
  --ui-danger: #dc2626;

  --ui-radius: 16px;
  --ui-radius-sm: 14px;

  --ui-shadow-soft: 0 6px 16px rgba(16,24,40,.08);
  --ui-shadow: 0 12px 30px rgba(16,24,40,.12);

  --ui-gap-1: 8px;
  --ui-gap-2: 12px;
  --ui-gap-3: 16px;
  --ui-gap-4: 20px;

  --ui-pad-1: 10px;
  --ui-pad-2: 12px;
  --ui-pad-3: 16px;
  --ui-pad-4: 20px;

  color: var(--ui-text);
  overflow-x: hidden;
}

.ideas-ui, .ideas-ui *{ box-sizing: border-box; }
.ideas-ui img{ max-width:100%; height:auto; display:block; }
.ideas-ui a{ color:inherit; text-decoration:none; }
.ideas-ui a:hover{ text-decoration:none; }

.ideas-ui :where(h1,h2,h3,h4){ margin:0; line-height:1.15; letter-spacing:-.01em; }
.ideas-ui :where(p, ul, ol){ margin:0; padding:0; }
.ideas-ui :where(ul, ol){ list-style:none; }
.ideas-ui :where(.muted){ color: var(--ui-muted); }
.ideas-ui :where(.ui-break){
  min-width:0;
  overflow-wrap:anywhere;
  word-break: break-word;
}

/* Page shell */
.ideas-ui .ideas-page{
  padding: 10px 0;
}
@media (min-width:721px){
  .ideas-ui .ideas-page{ padding: 14px 0; }
}
@media (min-width:901px){
  .ideas-ui .ideas-page{ padding: 16px 0; }
}

/* Header */
.ideas-ui .ideas-header{
  display:flex;
  align-items:flex-start;
  justify-content: space-between;
  gap: var(--ui-gap-3);
  margin-bottom: var(--ui-gap-3);
}
.ideas-ui .ideas-title{
  font-weight: 1000;
  font-size: 1.25rem;
}
.ideas-ui .ideas-subtitle{
  margin-top: 6px;
  color: var(--ui-muted);
  line-height: 1.35;
}
.ideas-ui .ideas-actions{
  display:flex;
  gap: var(--ui-gap-2);
  flex-wrap: wrap;
  align-items:center;
  justify-content:flex-end;
}
@media (max-width:720px){
  .ideas-ui .ideas-header{
    flex-direction: column;
    align-items: stretch;
  }
  .ideas-ui .ideas-actions{
    justify-content: flex-start;
  }
}

/* Card (scoped alias to keep existing markup) */
.ideas-ui .card{
  background: var(--ui-surface);
  border: 1px solid var(--ui-border);
  border-radius: var(--ui-radius);
  box-shadow: var(--ui-shadow-soft);
  overflow:hidden;
  min-width:0;
}
.ideas-ui .form-card{
  padding: var(--ui-pad-3);
}
.ideas-ui .idea-view{
  padding: var(--ui-pad-3);
}
.ideas-ui .card.empty{
  padding: var(--ui-pad-3);
  color: var(--ui-muted);
  text-align:center;
  border-style: dashed;
  background: rgba(255,255,255,.75);
}

/* Alerts */
.ideas-ui .alert{
  border: 1px solid rgba(15,23,42,.12);
  background: rgba(15,23,42,.04);
  border-radius: 14px;
  padding: 12px 14px;
  margin-bottom: 14px;
  color: rgba(15,23,42,.88);
}
.ideas-ui .alert-title{ font-weight: 900; margin-bottom: 6px; }
.ideas-ui .alert ul{ display:grid; gap: 6px; }
.ideas-ui .alert li{ color: rgba(15,23,42,.85); }

.ideas-ui .alert-success{
  border-color: rgba(16,185,129,.25);
  background: rgba(16,185,129,.10);
  color: rgba(6,95,70,.95);
}
.ideas-ui .alert-danger{
  border-color: rgba(220,38,38,.22);
  background: rgba(220,38,38,.08);
  color: rgba(153,27,27,.95);
}

/* Buttons (existing classes) */
.ideas-ui :where(.btn-primary, .btn-ghost, .btn-like){
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap: 8px;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid transparent;
  font-weight: 900;
  font-size: .95rem;
  line-height: 1;
  cursor:pointer;
  user-select:none;
  min-height: 40px;
  white-space: nowrap;
}

.ideas-ui .btn-primary{
  background: var(--ui-primary);
  color: var(--ui-primary-ink);
  box-shadow: 0 10px 18px rgba(0,136,204,.18);
}
.ideas-ui .btn-ghost{
  background: rgba(15,23,42,.06);
  border-color: rgba(15,23,42,.08);
  color: var(--ui-text);
}
.ideas-ui .btn-ghost:hover{
  background: rgba(15,23,42,.08);
}
.ideas-ui .btn-primary:hover{
  filter: brightness(1.02);
}

.ideas-ui .btn-like{
  background: rgba(15,23,42,.06);
  border-color: rgba(15,23,42,.10);
  color: var(--ui-text);
}
.ideas-ui .btn-like.liked{
  border-color: rgba(0,136,204,.35);
  background: rgba(0,136,204,.12);
}
.ideas-ui .btn-like.disabled,
.ideas-ui .btn-like:disabled{
  opacity:.55;
  cursor:not-allowed;
}

/* Forms */
.ideas-ui .idea-form{ display:grid; gap: var(--ui-gap-3); }
.ideas-ui .field{ display:grid; gap: 8px; }
.ideas-ui .field label{ font-weight: 900; font-size: .92rem; }
.ideas-ui .hint{ font-size: .85rem; color: var(--ui-muted); }

.ideas-ui :where(input[type="text"], textarea, select){
  width:100%;
  border: 1px solid rgba(15,23,42,.14);
  background:#fff;
  border-radius: 14px;
  padding: 10px 12px;
  font-size: 16px; /* iOS no-zoom */
  outline:none;
  min-height: 40px;
}
.ideas-ui textarea{
  min-height: 140px;
  resize: vertical;
  line-height: 1.45;
}
.ideas-ui :where(input, textarea, select):focus{
  border-color: rgba(0,136,204,.40);
  box-shadow: 0 0 0 4px rgba(0,136,204,.12);
}

.ideas-ui .form-actions{
  display:flex;
  gap: var(--ui-gap-2);
  flex-wrap: wrap;
  align-items:center;
}
@media (max-width:720px){
  .ideas-ui .form-actions{
    display:grid;
    grid-template-columns: 1fr;
  }
  .ideas-ui .form-actions :where(a,button){ width:100%; }
}

/* Filters */
.ideas-ui .ideas-filters{
  padding: var(--ui-pad-3);
  margin-bottom: var(--ui-gap-3);
}
.ideas-ui .ideas-filters-row{
  display:grid;
  grid-template-columns: 1fr;
  gap: var(--ui-gap-2);
  align-items:end;
}
.ideas-ui .field-btn{ display:flex; align-items:end; }
@media (min-width:721px){
  .ideas-ui .ideas-filters-row{
    grid-template-columns: 1fr 1fr auto;
  }
}

/* Ideas grid */
.ideas-ui .ideas-grid{
  display:grid;
  grid-template-columns: 1fr;
  gap: var(--ui-gap-3);
  align-items: stretch;
}
@media (min-width:721px){
  .ideas-ui .ideas-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width:901px){
  .ideas-ui .ideas-grid{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

.ideas-ui .idea-card{
  display:flex;
  flex-direction: column;
  height: 100%;
  padding: var(--ui-pad-3);
  min-width:0;
}
.ideas-ui .idea-card:hover{
  box-shadow: var(--ui-shadow);
  transform: translateY(-1px);
  transition: box-shadow .15s ease, transform .15s ease;
}

.ideas-ui .idea-top{
  display:flex;
  align-items:flex-start;
  justify-content: space-between;
  gap: 12px;
  min-width:0;
}
.ideas-ui .idea-likes{
  white-space: nowrap;
  color: rgba(15,23,42,.82);
  font-weight: 900;
}
.ideas-ui .idea-name{
  margin-top: 10px;
  font-weight: 1000;
  font-size: 1.03rem;
  line-height: 1.15;
  overflow-wrap:anywhere;
  word-break: break-word;
}
.ideas-ui .idea-meta{
  margin-top: 8px;
  display:flex;
  gap: 8px;
  flex-wrap: wrap;
  color: var(--ui-muted);
  font-size: .9rem;
}
.ideas-ui .idea-preview{
  margin-top: 10px;
  color: var(--ui-muted);
  line-height: 1.45;
  overflow-wrap:anywhere;
  word-break: break-word;
}

/* Status badge */
.ideas-ui .idea-status{
  display:inline-flex;
  align-items:center;
  gap: 8px;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid rgba(15,23,42,.12);
  background: rgba(15,23,42,.05);
  font-weight: 1000;
  font-size: .85rem;
  line-height: 1;
  white-space: nowrap;
}

.ideas-ui .status-moderation{
  border-color: rgba(100,116,139,.28);
  background: rgba(100,116,139,.12);
  color: rgba(30,41,59,.92);
}
.ideas-ui .status-voting{
  border-color: rgba(0,136,204,.30);
  background: rgba(0,136,204,.12);
  color: rgba(2,132,199,.95);
}
.ideas-ui .status-development{
  border-color: rgba(245,158,11,.30);
  background: rgba(245,158,11,.12);
  color: rgba(120,53,15,.95);
}
.ideas-ui .status-done{
  border-color: rgba(16,185,129,.28);
  background: rgba(16,185,129,.10);
  color: rgba(6,95,70,.95);
}
.ideas-ui .status-rejected{
  border-color: rgba(220,38,38,.22);
  background: rgba(220,38,38,.08);
  color: rgba(153,27,27,.95);
}

/* Show page blocks */
.ideas-ui .idea-likebox{
  display:flex;
  gap: 10px;
  flex-wrap: wrap;
  align-items:center;
  justify-content:flex-end;
}
@media (max-width:720px){
  .ideas-ui .idea-likebox{
    justify-content:flex-start;
  }
}

.ideas-ui .idea-body{
  margin-top: 14px;
  color: rgba(15,23,42,.86);
  line-height: 1.55;
  overflow-wrap:anywhere;
  word-break: break-word;
}

.ideas-ui .reject-reason{
  margin-top: 14px;
  border: 1px solid rgba(220,38,38,.20);
  background: rgba(220,38,38,.06);
  border-radius: 14px;
  padding: 12px 14px;
}
.ideas-ui .reject-title{
  font-weight: 1000;
  color: rgba(153,27,27,.95);
}
.ideas-ui .reject-text{
  margin-top: 8px;
  color: rgba(153,27,27,.90);
  line-height: 1.45;
  overflow-wrap:anywhere;
  word-break: break-word;
}

.ideas-ui .review-meta{
  margin-top: 12px;
  color: var(--ui-muted);
  font-size: .9rem;
}

/* Pagination wrapper */
.ideas-ui .pagination-wrap{
  margin-top: var(--ui-gap-3);
}

