:root { --admin-bg:#eef3f7; --admin-panel:#fff; --admin-border:#d7e0e7; --admin-danger:#9c2f2f; --admin-success:#2f6f49; }
.admin-body { background:var(--admin-bg); color:var(--ink); min-height:100vh; }
.admin-header { background:var(--cream); border-bottom:1px solid var(--line); position:sticky; top:0; z-index:20; }
.admin-header-inner { width:min(1240px, calc(100% - 1.5rem)); margin:auto; min-height:68px; display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.admin-brand img { width:190px; height:auto; display:block; }
.admin-header-title { display:flex; align-items:baseline; gap:.55rem; }
.admin-header-title strong { font-size:1.05rem; }
.admin-header-title span { color:var(--muted); font-size:.84rem; }
.admin-main { width:min(1240px, calc(100% - 1.5rem)); margin:0 auto; padding:1.25rem 0 3rem; }
.admin-lock { min-height:calc(100vh - 120px); display:grid; place-items:center; padding:1.5rem 0; }
.admin-lock-card { width:min(520px,100%); padding:clamp(1.25rem,4vw,2rem); background:#fff; border:1px solid var(--admin-border); border-radius:1.3rem; box-shadow:0 18px 50px rgba(20,32,51,.1); }
.admin-lock-icon { width:82px; height:82px; margin-bottom:1rem; }
.admin-lock-card h1 { margin:.25rem 0 .65rem; }
.admin-muted { color:var(--muted); }
.admin-security-note { margin-top:1rem; padding:.85rem 1rem; background:#f6f8fa; border:1px solid var(--admin-border); border-radius:.8rem; font-size:.9rem; color:#405064; }
.admin-field { display:grid; gap:.38rem; margin:.9rem 0; min-width:0; }
.admin-field > span { font-weight:800; font-size:.9rem; }
.admin-field input,.admin-field textarea,.admin-field select { width:100%; border:1px solid #bcc9d3; border-radius:.75rem; padding:.72rem .78rem; background:#fff; color:var(--ink); font:inherit; }
.admin-field textarea { resize:vertical; }
.admin-field small { color:var(--muted); }
.admin-form-state { min-height:1.3rem; color:var(--muted); font-size:.9rem; }
.admin-shell { display:block; }
.admin-toolbar { display:flex; align-items:flex-end; justify-content:space-between; gap:1rem; padding:.7rem 0 1rem; }
.admin-toolbar h1 { margin:.2rem 0 0; font-size:clamp(2rem,5vw,3.3rem); }
.admin-toolbar-actions { display:flex; align-items:center; gap:.65rem; flex-wrap:wrap; justify-content:flex-end; }
.admin-draft-pill { display:inline-flex; min-height:38px; align-items:center; padding:.45rem .7rem; border-radius:999px; background:#fff; border:1px solid var(--admin-border); font-size:.86rem; font-weight:800; }
.button.compact { padding:.55rem .78rem; min-height:38px; }
.admin-tabs { display:flex; gap:.4rem; overflow-x:auto; padding:.5rem 0 1rem; -webkit-overflow-scrolling:touch; }
.admin-tab { flex:0 0 auto; border:1px solid var(--admin-border); background:#fff; border-radius:999px; padding:.62rem .85rem; color:var(--ink); font:inherit; font-weight:800; cursor:pointer; }
.admin-tab.active { background:var(--blue-deep); color:#fff; border-color:var(--blue-deep); }
.admin-view { display:block; }
.admin-stat-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.8rem; margin-bottom:1rem; }
.admin-stat { background:#fff; border:1px solid var(--admin-border); border-radius:1rem; padding:1rem; }
.admin-stat span { display:block; color:var(--muted); font-size:.84rem; }
.admin-stat strong { display:block; margin-top:.25rem; font-size:1.65rem; }
.admin-two-col { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin-bottom:1rem; }
.admin-panel { background:#fff; border:1px solid var(--admin-border); border-radius:1rem; padding:1rem; margin-bottom:1rem; box-shadow:0 4px 18px rgba(20,32,51,.035); }
.admin-panel h2,.admin-panel h3 { margin-top:0; }
.admin-panel-head { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; }
.admin-panel-head h2 { margin:0 0 .25rem; }
.admin-panel-head p { margin:0; color:var(--muted); }
.admin-page-head { margin:0 0 1rem; }
.admin-action-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.7rem; }
.admin-action { text-align:left; border:1px solid var(--admin-border); border-radius:.9rem; background:#f9fbfc; padding:.9rem; color:var(--ink); cursor:pointer; font:inherit; }
.admin-action:hover { border-color:rgba(11,75,143,.45); background:#f3f8fc; }
.admin-action strong,.admin-action span { display:block; }
.admin-action span { color:var(--muted); margin-top:.25rem; font-size:.88rem; line-height:1.35; }
.admin-action.emphasis { background:var(--blue-soft); border-color:rgba(11,75,143,.25); }
.admin-status-list { margin:0; }
.admin-status-list div { display:flex; justify-content:space-between; gap:1rem; padding:.62rem 0; border-bottom:1px solid #edf1f4; }
.admin-status-list div:last-child { border-bottom:0; }
.admin-status-list dt { color:var(--muted); }
.admin-status-list dd { margin:0; text-align:right; font-weight:800; }
.admin-mini-projects { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.7rem; margin-top:.9rem; }
.admin-mini-project { border:1px solid var(--admin-border); border-radius:.85rem; padding:.75rem; display:flex; align-items:center; gap:.65rem; min-width:0; }
.admin-mini-project img { width:42px; height:42px; border-radius:.6rem; object-fit:contain; background:#fff; }
.admin-mini-project span { min-width:0; }
.admin-mini-project strong { display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.admin-mini-project small { color:var(--muted); }
.admin-inline-actions { display:flex; gap:.6rem; flex-wrap:wrap; }
.admin-project-list { display:grid; gap:.75rem; }
.admin-project-row { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:.85rem; align-items:center; background:#fff; border:1px solid var(--admin-border); border-radius:1rem; padding:.8rem; }
.admin-project-row img { width:64px; height:64px; object-fit:contain; border-radius:.8rem; background:#fff; }
.admin-project-row h3 { margin:0 0 .2rem; }
.admin-project-meta { display:flex; gap:.4rem; flex-wrap:wrap; }
.admin-chip { display:inline-flex; border-radius:999px; padding:.25rem .5rem; background:#edf3f7; font-size:.75rem; font-weight:800; color:#415063; }
.admin-chip.on { background:#e6f3ea; color:#2f6f49; }
.admin-row-actions { display:flex; gap:.45rem; flex-wrap:wrap; justify-content:flex-end; }
.admin-small-button { border:1px solid var(--admin-border); border-radius:.7rem; background:#fff; padding:.5rem .65rem; font:inherit; font-size:.84rem; font-weight:800; cursor:pointer; color:var(--ink); }
.admin-small-button:hover { border-color:rgba(11,75,143,.45); }
.admin-small-button.danger { color:var(--admin-danger); }
.admin-rule-banner { background:#fff; border:1px solid var(--admin-border); border-left:4px solid var(--blue); border-radius:.6rem .9rem .9rem .6rem; padding:.8rem 1rem; margin-bottom:1rem; }
.admin-promoted-list,.admin-available-list { display:grid; gap:.65rem; }
.admin-promoted-item { background:#fff; border:1px solid var(--admin-border); border-radius:.9rem; padding:.7rem; display:grid; grid-template-columns:auto auto minmax(0,1fr) auto; align-items:center; gap:.7rem; }
.admin-promoted-item.dragging { opacity:.55; }
.admin-drag-handle { cursor:grab; color:var(--muted); font-size:1.15rem; }
.admin-promoted-item img,.admin-available-item img { width:48px; height:48px; border-radius:.7rem; object-fit:contain; }
.admin-promoted-item strong,.admin-available-item strong { display:block; }
.admin-promoted-item small,.admin-available-item small { color:var(--muted); }
.admin-order-actions { display:flex; gap:.3rem; }
.admin-order-actions button { width:38px; height:38px; border:1px solid var(--admin-border); background:#fff; border-radius:.6rem; cursor:pointer; }
.admin-available-item { background:#fff; border:1px solid var(--admin-border); border-radius:.9rem; padding:.7rem; display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:.7rem; }
.admin-subhead { margin:1.4rem 0 .65rem; }
.admin-content-form { max-width:920px; }
.locked-panel { background:#f7f9fb; }
.admin-lock-row { display:flex; justify-content:space-between; align-items:center; gap:1rem; }
.admin-lock-badge { border:1px solid #bcc9d3; border-radius:999px; padding:.25rem .55rem; font-size:.75rem; font-weight:800; color:#536273; }
.admin-form-actions { display:flex; align-items:center; gap:1rem; flex-wrap:wrap; }
.admin-stack-actions { display:grid; gap:.55rem; }
.admin-build-progress { margin-top:1rem; }
.admin-progress-track { height:10px; background:#e8edf1; border-radius:999px; overflow:hidden; }
.admin-progress-track span { display:block; width:0; height:100%; background:var(--blue); transition:width .2s ease; }
.button.danger,.button.danger-outline { border-color:var(--admin-danger); }
.button.danger { background:var(--admin-danger); color:#fff; }
.button.danger-outline { background:#fff; color:var(--admin-danger); }
.admin-dialog { border:0; border-radius:1rem; padding:0; width:min(920px,calc(100% - 1rem)); max-height:92vh; box-shadow:0 24px 90px rgba(0,0,0,.35); }
.admin-dialog.small { width:min(580px,calc(100% - 1rem)); }
.admin-dialog::backdrop { background:rgba(8,20,34,.7); }
.admin-dialog-shell { display:grid; grid-template-rows:auto minmax(0,1fr) auto; max-height:92vh; }
.admin-dialog-head { display:flex; justify-content:space-between; align-items:flex-start; gap:1rem; padding:1rem 1rem .7rem; border-bottom:1px solid var(--admin-border); }
.admin-dialog-head h2 { margin:.15rem 0 0; }
.admin-dialog-scroll { overflow:auto; padding:1rem; }
.admin-dialog-actions { padding:.8rem 1rem; border-top:1px solid var(--admin-border); display:flex; justify-content:flex-end; align-items:center; gap:.6rem; flex-wrap:wrap; background:#fbfcfd; }
.admin-dialog-actions .admin-form-state { margin-right:auto; }
.admin-dialog details { border:1px solid var(--admin-border); border-radius:.9rem; margin-bottom:.7rem; overflow:hidden; background:#fff; }
.admin-dialog summary { cursor:pointer; padding:.85rem 1rem; font-weight:900; background:#f7f9fb; }
.admin-detail-body { padding:.25rem 1rem 1rem; }
.admin-form-grid { display:grid; gap:.7rem; }
.admin-form-grid.two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.admin-form-grid.three { grid-template-columns:repeat(3,minmax(0,1fr)); align-items:end; }
.admin-toggle { display:flex; gap:.55rem; align-items:center; min-height:44px; font-weight:800; }
.admin-toggle input,.admin-check input { width:20px; height:20px; accent-color:var(--blue); }
.admin-check { display:flex; gap:.4rem; align-items:center; margin:.25rem 0; }
.admin-icon-picker { display:grid; grid-template-columns:88px minmax(0,1fr); gap:.8rem; align-items:start; }
.admin-icon-picker img { width:88px; height:88px; border-radius:1rem; border:1px solid var(--admin-border); object-fit:contain; background:#fff; }
.admin-icon-picker input[type=file] { margin-top:.5rem; }
.admin-impact-list { padding-left:1.2rem; }
@media (max-width:900px) { .admin-stat-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .admin-mini-projects { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:680px) {
  .admin-main,.admin-header-inner { width:min(100% - .8rem,1240px); }
  .admin-brand img { width:160px; }
  .admin-toolbar { align-items:flex-start; }
  .admin-toolbar-actions { justify-content:flex-start; }
  .admin-stat-grid,.admin-two-col,.admin-action-grid,.admin-mini-projects { grid-template-columns:1fr; }
  .admin-project-row { grid-template-columns:auto minmax(0,1fr); }
  .admin-row-actions { grid-column:1 / -1; justify-content:flex-start; }
  .admin-promoted-item { grid-template-columns:auto auto minmax(0,1fr); }
  .admin-promoted-item .admin-order-actions { grid-column:1 / -1; }
  .admin-available-item { grid-template-columns:auto minmax(0,1fr); }
  .admin-available-item > button { grid-column:1 / -1; }
  .admin-form-grid.two,.admin-form-grid.three { grid-template-columns:1fr; }
  .admin-icon-picker { grid-template-columns:72px minmax(0,1fr); }
  .admin-icon-picker img { width:72px; height:72px; }
  .admin-dialog-actions .button { flex:1 1 auto; }
}
@media (prefers-reduced-motion:reduce) { .admin-progress-track span { transition:none; } }

/* v0.5.0 Admin access + Full Display Card editor */
.admin-text-button { border:0; background:transparent; color:var(--blue-deep); font:inherit; font-weight:800; padding:.55rem .2rem; cursor:pointer; text-decoration:underline; text-underline-offset:3px; }
.admin-security-questions { margin-top:.35rem; padding-top:.35rem; border-top:1px solid var(--admin-border); }
.admin-recovery-head h2 { margin:.2rem 0 .35rem; }
.admin-recovery-head p { margin:.2rem 0 .7rem; }
.full-display-dialog { width:min(1180px,calc(100% - 1rem)); }
.admin-dialog-subcopy { margin:.25rem 0 0; color:var(--muted); font-size:.88rem; }
.full-display-editor { display:grid; grid-template-columns:minmax(280px,360px) minmax(0,1fr); gap:1rem; align-items:start; }
.admin-full-preview-panel { position:sticky; top:0; align-self:start; background:#f7f9fb; border:1px solid var(--admin-border); border-radius:1rem; padding:.8rem; }
.admin-preview-heading { display:flex; align-items:center; justify-content:space-between; gap:.7rem; margin-bottom:.65rem; font-size:.82rem; }
.admin-preview-heading span { color:var(--muted); text-transform:uppercase; letter-spacing:.08em; font-weight:900; }
.admin-preview-heading strong { color:var(--blue-deep); }
.admin-full-card { background:#fff; border:1px solid var(--admin-border); border-radius:1rem; padding:.9rem; box-shadow:0 6px 22px rgba(20,32,51,.06); overflow:hidden; }
.admin-full-card-top { display:flex; align-items:flex-start; justify-content:space-between; gap:.7rem; }
.admin-full-card-top > img { width:72px; height:72px; object-fit:contain; border-radius:.85rem; background:#fff; border:1px solid #edf1f4; }
.admin-full-card-top > div { display:flex; gap:.35rem; flex-wrap:wrap; justify-content:flex-end; }
.admin-full-card h3 { margin:.85rem 0 .35rem; font-size:1.35rem; }
.admin-full-card p { margin:0; color:var(--muted); line-height:1.45; }
.admin-full-preview-media { display:block; width:100%; aspect-ratio:16/10; object-fit:cover; border-radius:.8rem; margin:.75rem 0 0; background:#edf2f6; }
.admin-full-preview-media.video { display:grid; place-items:center; color:var(--muted); font-weight:900; }
.admin-preview-buttons { display:flex; gap:.4rem; flex-wrap:wrap; margin-top:.85rem; }
.admin-preview-button { display:inline-flex; align-items:center; min-height:34px; padding:.38rem .6rem; border:1px solid var(--admin-border); border-radius:.65rem; font-size:.78rem; font-weight:900; background:#fff; }
.admin-preview-button.primary { background:var(--blue-deep); color:#fff; border-color:var(--blue-deep); }
.admin-full-editor-fields { min-width:0; }
.admin-feature-control { display:grid; grid-template-columns:auto minmax(150px,220px) minmax(0,1fr); align-items:end; gap:.7rem; border-top:1px solid #edf1f4; margin-top:.5rem; padding-top:.55rem; }
.compact-field { margin:.35rem 0; }
.admin-promo-manager { display:grid; gap:.5rem; margin:.75rem 0 .45rem; }
.admin-promo-item { display:grid; grid-template-columns:64px minmax(0,1fr) auto; gap:.6rem; align-items:center; border:1px solid var(--admin-border); border-radius:.8rem; padding:.5rem; background:#f9fbfc; }
.admin-promo-item img,.admin-promo-video-mark { width:64px; height:50px; object-fit:cover; border-radius:.55rem; background:#e9eef2; }
.admin-promo-video-mark { display:grid; place-items:center; font-size:.72rem; font-weight:900; color:var(--muted); }
.admin-promo-item strong,.admin-promo-item small { display:block; min-width:0; }
.admin-promo-item small { color:var(--muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:360px; }
.admin-promo-item-actions { display:flex; gap:.35rem; flex-wrap:wrap; justify-content:flex-end; }
.admin-promo-item-actions button { border:1px solid var(--admin-border); background:#fff; border-radius:.55rem; padding:.4rem .5rem; font:inherit; font-size:.75rem; font-weight:800; cursor:pointer; }
@media (max-width:900px){
  .full-display-editor { grid-template-columns:1fr; }
  .admin-full-preview-panel { position:relative; top:auto; }
  .admin-feature-control { grid-template-columns:1fr 1fr; }
  .admin-feature-control > p { grid-column:1/-1; }
}
@media (max-width:680px){
  .admin-feature-control { grid-template-columns:1fr; }
  .admin-feature-control > p { grid-column:auto; }
  .admin-promo-item { grid-template-columns:54px minmax(0,1fr); }
  .admin-promo-item img,.admin-promo-video-mark { width:54px; height:46px; }
  .admin-promo-item-actions { grid-column:1/-1; justify-content:flex-start; }
}
