.admin-body,.admin-app{background:radial-gradient(circle at 0 0,rgba(139,92,246,.28),transparent 36%),radial-gradient(circle at 100% 0,rgba(0,229,255,.20),transparent 34%),#050711;color:#f4f7ff}.login-card{width:min(440px,calc(100% - 34px));margin:10vh auto;padding:34px;border:1px solid rgba(255,255,255,.13);border-radius:32px;background:rgba(255,255,255,.08);backdrop-filter:blur(18px);box-shadow:0 30px 100px rgba(0,0,0,.28)}.login-card h1{font-size:2.5rem;margin:0;letter-spacing:-.08em}.login-card p,.login-card small{color:#a9b2c7}.login-card form{display:grid;gap:15px;margin-top:24px}.login-card label{display:grid;gap:8px;font-weight:800;color:#cfd7ea}.login-card input,.admin-app input,.admin-app textarea,.admin-app select{width:100%;border:1px solid rgba(255,255,255,.14);border-radius:15px;background:rgba(0,0,0,.28);color:#fff;padding:12px 13px;outline:none}.login-card button,.admin-app button{background:linear-gradient(135deg,#8b5cf6,#00e5ff);color:white}.alert{border:1px solid rgba(255,70,70,.4);border-radius:14px;padding:12px;background:rgba(255,70,70,.12);margin-top:15px}.admin-app{display:grid;grid-template-columns:310px 1fr;min-height:100vh}.admin-sidebar{position:sticky;top:0;height:100vh;padding:22px;border-right:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.055);backdrop-filter:blur(18px);display:flex;flex-direction:column;gap:12px}.admin-brand{font-size:1.35rem;font-weight:950;letter-spacing:-.05em;margin-bottom:12px}.admin-brand span{color:#00e5ff}.admin-sidebar a,.admin-sidebar button{display:block;text-align:center;padding:12px;border-radius:16px;background:rgba(255,255,255,.07);font-weight:800}.admin-main{min-width:0;display:grid;grid-template-rows:auto 1fr auto}.admin-main header{display:flex;justify-content:space-between;align-items:end;gap:20px;padding:24px 30px;border-bottom:1px solid rgba(255,255,255,.1)}.admin-main h1{margin:0;font-size:2.4rem;letter-spacing:-.07em}.tabs{display:flex;gap:8px;flex-wrap:wrap}.tabs button{background:rgba(255,255,255,.08)}.tabs button.active{background:linear-gradient(135deg,#8b5cf6,#00e5ff)}.tab-panel{display:none;min-height:0}.tab-panel.active{display:block}.admin-workspace{display:grid;grid-template-columns:360px 1fr;gap:18px;padding:18px;min-height:calc(100vh - 142px)}.visual-list,.visual-editor{border:1px solid rgba(255,255,255,.1);border-radius:24px;background:rgba(255,255,255,.055);padding:16px;min-width:0}.visual-toolbar{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}.visual-toolbar button{background:rgba(255,255,255,.08);font-size:.88rem;padding:10px}.section-list{display:grid;gap:10px;max-height:calc(100vh - 250px);overflow:auto;padding-right:4px}.section-item{border:1px solid rgba(255,255,255,.1);border-radius:18px;background:rgba(0,0,0,.18);padding:12px;cursor:grab}.section-item.active{border-color:#00e5ff;box-shadow:0 0 0 2px rgba(0,229,255,.12)}.section-item strong{display:block}.section-item span{color:#a9b2c7;font-size:.86rem}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field-grid label,.visual-editor label{display:grid;gap:8px;color:#cfd7ea;font-weight:800;margin-bottom:12px}.wide{grid-column:1/-1}.mini-actions{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.mini-actions button{background:rgba(255,255,255,.08)}#jsonTab{height:calc(100vh - 142px);padding:18px}#editor{height:100%;border:1px solid rgba(255,255,255,.12);border-radius:24px;overflow:hidden}.fallback-editor{height:100%;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}#previewTab{height:calc(100vh - 142px);padding:18px}#previewFrame{width:100%;height:100%;border:1px solid rgba(255,255,255,.12);border-radius:24px;background:white}#status{padding:14px 24px;border-top:1px solid rgba(255,255,255,.1);color:#a9b2c7}.hint{color:#a9b2c7;line-height:1.6}.pill{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;background:rgba(0,229,255,.12);color:#8df4ff;font-size:.75rem;font-weight:900}@media(max-width:980px){.admin-app{grid-template-columns:1fr}.admin-sidebar{position:relative;height:auto}.admin-workspace{grid-template-columns:1fr}.admin-main header{align-items:start;flex-direction:column}}

/* Sprint 2.7: visual editing for JSON collections */
.collection-editor-head {
  margin-bottom: 18px;
  padding: 18px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 22px;
  background: linear-gradient(135deg, rgba(139,92,246,.13), rgba(0,229,255,.06));
}
.collection-editor-head h2 { margin: 4px 0 6px; }
.visual-editor .field-grid input::placeholder,
.visual-editor .field-grid textarea::placeholder { color: rgba(169,178,199,.58); }

/* Sprint 4 */
.admin-card{border:1px solid rgba(255,255,255,.14);border-radius:28px;background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.035));box-shadow:0 28px 100px rgba(0,0,0,.28);padding:24px;min-height:72vh;overflow:auto}.admin-card h2{margin:0 0 8px}.history-preview{white-space:pre-wrap;max-height:42vh;overflow:auto;margin-top:18px;padding:18px;border-radius:18px;background:rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.10);color:#dbeafe}.asset-toolbar{display:grid;grid-template-columns:220px 1fr auto auto;gap:12px;align-items:end;margin:18px 0}.asset-roots{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:12px 0 18px}.asset-root{padding:14px;border-radius:18px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.10)}.asset-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px}.asset-card{padding:16px;border-radius:20px;background:linear-gradient(145deg,rgba(139,92,246,.15),rgba(0,229,255,.06));border:1px solid rgba(255,255,255,.12)}.asset-card strong{display:block;word-break:break-word}.asset-card code{display:block;margin:10px 0;color:#9ee7ff;word-break:break-all}.seo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.seo-grid article{padding:18px;border-radius:20px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.10)}@media(max-width:900px){.asset-toolbar{grid-template-columns:1fr}.tabs{flex-wrap:wrap}}

/* Sprint 4.1 */
.login-site-link{display:inline-flex;margin:10px 0 18px;padding:10px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.18);color:var(--accent2);text-decoration:none;font-weight:800;background:rgba(255,255,255,.06)}
.login-site-link:hover{box-shadow:0 0 26px rgba(0,229,255,.25);transform:translateY(-1px)}
.seo-visual-note{padding:14px 16px;border:1px solid rgba(255,255,255,.12);border-radius:18px;background:rgba(255,255,255,.05);color:var(--muted);margin-bottom:14px}

/* Sprint 4.21 - editor visual real para cards/items internos */
.items-visual-editor {
  margin-top: 1.2rem;
  padding: 1rem;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 24px;
  background: rgba(255,255,255,.045);
}
.items-editor-head {
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:1rem;
  margin-bottom:1rem;
}
.items-editor-head h3 { margin:.15rem 0; }
.items-editor-head button,
.item-visual-card button {
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.08);
  color:inherit;
  border-radius:999px;
  padding:.55rem .85rem;
  cursor:pointer;
}
.items-editor-head button:hover,
.item-visual-card button:hover { background:rgba(255,255,255,.15); }
.items-editor-list { display:grid; gap:1rem; }
.item-visual-card {
  border:1px solid rgba(255,255,255,.12);
  border-radius:22px;
  background:rgba(5,9,20,.62);
  overflow:hidden;
}
.item-visual-card > header {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:1rem;
  padding:.85rem 1rem;
  border-bottom:1px solid rgba(255,255,255,.1);
}
.item-visual-card > header strong { font-size:1rem; }
.item-field-grid { padding:1rem; }
@media (max-width: 760px) {
  .items-editor-head,
  .item-visual-card > header { flex-direction:column; align-items:stretch; }
  .item-visual-card .mini-actions { display:grid; grid-template-columns:1fr 1fr; }
}
