.ideas-page { --idea-ink:#17231b; --idea-green:#173b2a; display:grid; gap:24px; color:var(--idea-ink); }
.ideas-header { display:flex; align-items:end; justify-content:space-between; gap:24px; padding:8px 0 2px; }
.ideas-header h1 { margin:4px 0 5px; font-size:clamp(36px,5vw,58px); line-height:.98; letter-spacing:-.055em; }
.ideas-header p { margin:0; color:#68726b; }
.ideas-eyebrow { color:#4f785e; font-size:11px; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.idea-primary,.idea-secondary { min-height:44px; border:1px solid transparent; border-radius:10px; padding:10px 16px; font:inherit; font-weight:800; cursor:pointer; }
.idea-primary { background:var(--idea-green); color:#fff; box-shadow:0 8px 20px rgba(23,59,42,.16); }
.idea-secondary { border-color:#d3d9d4; background:#fff; color:#334139; }
.idea-primary:disabled { opacity:.58; cursor:wait; }
.ideas-workspace { min-width:0; display:grid; grid-template-columns:184px minmax(0,1fr); gap:22px; }
.idea-board-rail { min-width:0; align-self:start; display:grid; gap:4px; border:1px solid #dde2dd; border-radius:14px; background:#f1f3ef; padding:10px; }
.idea-board-title { display:flex; align-items:center; justify-content:space-between; padding:5px 7px 9px; color:#657168; font-size:12px; text-transform:uppercase; letter-spacing:.08em; }
.idea-board-title button,.idea-board-menu { border:0; border-radius:7px; background:transparent; color:#647068; font:inherit; cursor:pointer; }
.idea-board-title button { width:30px; height:30px; font-size:19px; }
.idea-board-link { min-width:0; width:100%; min-height:39px; display:flex; align-items:center; justify-content:space-between; gap:8px; border:0; border-radius:8px; background:transparent; padding:8px 9px; color:#58645c; font:inherit; font-size:13px; font-weight:720; text-align:left; cursor:pointer; }
.idea-board-link span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.idea-board-link b { color:#929b94; font-size:11px; }
.idea-board-link:hover { background:#fff; }
.idea-board-link.active { background:var(--idea-green); color:#fff; }
.idea-board-link.active b { color:#d0e4d6; }
.idea-board-list { display:grid; gap:3px; margin-top:5px; border-top:1px solid #dce1dc; padding-top:7px; }
.idea-board-row { min-width:0; display:grid; grid-template-columns:minmax(0,1fr) 28px; align-items:center; }
.idea-board-menu { height:31px; font-size:12px; }
.ideas-content { min-width:0; }
.ideas-filter-bar { display:grid; grid-template-columns:auto 180px 150px minmax(180px,1fr); gap:9px; align-items:center; margin-bottom:18px; border:1px solid #dde2df; border-radius:13px; background:#fff; padding:9px; box-shadow:0 8px 24px rgba(28,39,31,.035); }
.ideas-scope { display:flex; border-radius:9px; background:#edf0ed; padding:3px; }
.ideas-scope button { min-height:36px; border:0; border-radius:7px; background:transparent; padding:7px 11px; color:#657068; font:inherit; font-size:12px; font-weight:800; cursor:pointer; }
.ideas-scope button.active { background:#fff; color:#16241b; box-shadow:0 2px 7px rgba(20,32,23,.1); }
.ideas-filter-bar select,.ideas-filter-bar input { width:100%; min-height:42px; border:1px solid #d5dbd6; border-radius:9px; background:#fff; padding:8px 10px; color:#243029; font:inherit; font-size:13px; }
.ideas-results-meta { display:flex; justify-content:space-between; margin:0 2px 11px; color:#7b857e; font-size:12px; }
.ideas-results-meta strong { color:#39463e; }
.ideas-table { overflow-x:auto; overflow-y:hidden; border:1px solid #dce1dd; border-radius:14px; background:#fff; box-shadow:0 8px 28px rgba(26,38,29,.045); }
.ideas-table-head,.idea-row { display:grid; grid-template-columns:minmax(240px,2.2fr) 88px 88px minmax(110px,.9fr) 88px minmax(168px,1fr); gap:12px; align-items:center; }
.ideas-table-head { min-height:46px; background:#f1f3f1; padding:0 16px; color:#647168; font-size:10px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.idea-row { min-height:100px; border-top:1px solid #e8ece9; padding:14px 16px; color:#536058; font-size:12px; }
.idea-row:first-of-type { border-top:0; }
.idea-content-cell { min-width:0; display:grid; gap:6px; }
.idea-content-cell p { display:-webkit-box; margin:0; overflow:hidden; color:#202b24; font-size:14px; line-height:1.45; -webkit-line-clamp:3; -webkit-box-orient:vertical; }
.idea-content-cell>a { color:#4d745b; font-size:11px; font-weight:750; text-decoration:none; }
.idea-thumbnails { display:flex; gap:5px; align-items:center; }
.idea-thumbnails a,.idea-thumbnails img { width:42px; height:42px; display:block; border-radius:8px; object-fit:cover; }
.idea-thumbnails a { overflow:hidden; border:1px solid #dce2dd; }
.idea-thumbnails>span { height:42px; display:grid; place-items:center; border-radius:8px; background:#edf1ed; padding:0 10px; color:#607066; font-weight:800; }
.idea-pill { display:inline-flex; width:max-content; border-radius:999px; background:#edf2ee; padding:5px 8px; color:#4d705a; font-size:10px; font-weight:850; }
.idea-row [data-label="Source"] { display:grid; gap:6px; }
.idea-row small { color:#77827a; font-size:10px; font-weight:800; }
.idea-row .status-archived { color:#986e42; }
.idea-actions { display:flex; flex-wrap:wrap; gap:5px; }
.idea-actions button { border:1px solid #d7dcd8; border-radius:7px; background:#fff; padding:6px 8px; color:#4f5d54; font:inherit; font-size:10px; font-weight:780; cursor:pointer; }
.idea-actions button.danger { color:#a44a3e; }
.idea-actions span { color:#939b95; }
.ideas-empty,.ideas-loading { min-height:410px; display:grid; place-content:center; justify-items:center; color:#79837c; text-align:center; }
.ideas-empty>div { font-size:42px; color:#3c7653; }
.ideas-empty h2 { margin:8px 0 4px; color:#1e2b23; font-size:24px; }
.ideas-empty p { max-width:440px; margin:0 0 18px; line-height:1.5; }
.idea-alert { border:1px solid #e5bdb7; border-radius:10px; background:#fff4f2; padding:10px 13px; color:#963d31; font-size:13px; }
.idea-alert button { border:0; background:transparent; color:inherit; font-weight:800; text-decoration:underline; cursor:pointer; }
.idea-modal-backdrop { position:fixed; inset:0; z-index:1200; display:grid; place-items:center; overflow-y:auto; background:rgba(16,25,19,.62); padding:22px; backdrop-filter:blur(3px); }
.idea-modal { width:min(100%,780px); max-height:calc(100vh - 44px); overflow-y:auto; border-radius:18px; background:#fbfcfb; box-shadow:0 32px 90px rgba(9,19,12,.3); }
.idea-modal>header { position:sticky; top:0; z-index:2; display:flex; justify-content:space-between; gap:16px; border-bottom:1px solid #e2e6e3; background:#fff; padding:19px 22px 15px; }
.idea-modal header span { color:#538065; font-size:10px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.idea-modal h2 { margin:2px 0 0; font-size:25px; }
.idea-modal header button { width:38px; height:38px; border:1px solid #d9dedb; border-radius:50%; background:#fff; color:#516057; font-size:25px; cursor:pointer; }
.idea-modal form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; padding:19px 22px 22px; }
.idea-modal label { display:grid; gap:5px; color:#46534b; font-size:12px; font-weight:780; }
.idea-modal label b { color:#aa4337; }
.idea-modal input,.idea-modal select,.idea-modal textarea { width:100%; min-height:44px; border:1px solid #cfd6d1; border-radius:9px; background:#fff; padding:9px 11px; color:#1d2a22; font:inherit; font-size:14px; }
.idea-modal textarea { resize:vertical; }
.idea-modal label small { color:#879089; font-weight:500; }
.idea-field-wide,.idea-modal form>footer,.idea-form-status { grid-column:1/-1; }
.idea-upload { border:1px dashed #aebbb1; border-radius:11px; background:#f4f7f4; padding:14px; }
.idea-upload input { border:0; background:transparent; padding:6px 0; }
.idea-current-images { display:grid; gap:8px; border-radius:10px; background:#f0f3f0; padding:12px; }
.idea-current-images>span { color:#536158; font-size:11px; font-weight:850; }
.idea-current-images>div { display:flex; flex-wrap:wrap; gap:7px; }
.idea-current-images img { width:68px; height:68px; border-radius:9px; object-fit:cover; }
.idea-current-images label { display:flex; grid-template-columns:auto 1fr; align-items:center; }
.idea-current-images input { width:auto; min-height:0; }
.idea-form-status { min-height:18px; margin:-2px 0; color:#a43d31; font-size:12px; }
.idea-modal form>footer { display:flex; justify-content:flex-end; gap:8px; border-top:1px solid #e4e8e5; padding-top:15px; }
@media (max-width:1150px) { .ideas-table-head,.idea-row { grid-template-columns:minmax(240px,2fr) 105px 105px minmax(120px,.8fr) 95px; } .ideas-table-head span:last-child { display:none; } .idea-actions { grid-column:1/-1; } .ideas-filter-bar { grid-template-columns:repeat(2,minmax(0,1fr)); } .ideas-search { grid-column:1/-1; } }
@media (max-width:760px) {
  .ideas-header { align-items:start; }
  .ideas-header h1 { font-size:38px; }
  .ideas-workspace { grid-template-columns:1fr; gap:12px; }
  .idea-board-rail { display:flex; overflow-x:auto; }
  .idea-board-title { flex:0 0 auto; }
  .idea-board-list { display:contents; }
  .idea-board-row { flex:0 0 auto; display:flex; }
  .idea-board-link { width:auto; flex:0 0 auto; white-space:nowrap; }
  .ideas-table-head { display:none; }
  .idea-row { display:grid; grid-template-columns:1fr; gap:10px; }
  .idea-row>[data-label] { display:grid; grid-template-columns:84px 1fr; gap:8px; }
  .idea-row>[data-label]::before { content:attr(data-label); color:#879087; font-size:9px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
  .idea-content-cell { grid-template-columns:1fr!important; }
  .idea-modal-backdrop { align-items:end; padding:0; }
  .idea-modal { width:100%; max-height:94vh; border-radius:18px 18px 0 0; }
}
@media (max-width:520px) { .ideas-header { display:grid; } .ideas-header .idea-primary { width:100%; } .ideas-filter-bar,.idea-modal form { grid-template-columns:1fr; } .ideas-search,.idea-field-wide,.idea-modal form>footer,.idea-form-status { grid-column:auto; } .ideas-scope button { flex:1; } }
