/* dashboard-apps.css — the dashboard's Apps tab (TRANSPORT-072 P1, OPERATIONS-220). The dashboard's own
   variables and the white-card look of its other screens; no new palette. */
.ap-card { background:#fff; border:1px solid rgba(0,0,0,.08); border-radius:14px; padding:14px 16px; margin:0 0 12px; text-align:left; }
.ap-k { font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; color:#94a3b8; margin:0 0 8px; }
.ap-opt { display:flex; gap:10px; align-items:flex-start; cursor:pointer; line-height:1.5; font-size:.92rem; color:var(--ink-primary,#17141B); }
.ap-opt input { width:20px; height:20px; margin:2px 0 0; flex:0 0 auto; accent-color:var(--accent-secondary,#3D4AAA); }
.ap-note { font-size:.75rem; color:#94a3b8; margin-top:6px; }
.ap-dim { font-size:.8rem; color:#6b7a8c; }
.ap-row { display:flex; gap:14px; align-items:flex-start; }
.ap-col { flex:1; min-width:0; }
.ap-face { width:64px; height:64px; border-radius:50%; overflow:hidden; flex:0 0 auto; background:rgba(0,0,0,.05);
  display:flex; align-items:center; justify-content:center; font-weight:700; font-size:1.4rem; color:var(--accent-secondary,#3D4AAA); }
.ap-face img { width:100%; height:100%; object-fit:cover; }
.ap-store input[type=text], .ap-store input:not([type]) , #ap-name, #ap-handle { width:100%; box-sizing:border-box; padding:9px 12px;
  border:1px solid rgba(0,0,0,.12); border-radius:10px; font:inherit; }
.ap-btns { display:flex; gap:8px; flex-wrap:wrap; margin-top:10px; }
.ap-btns .btn, .ap-dl { width:auto; padding:8px 14px; font-size:.85rem; text-decoration:none; }
.ap-off { opacity:.55; }
.ap-msg { font-size:.82rem; margin-top:10px; min-height:1em; color:var(--ink-muted,#6b7a8c); }
.ap-msg.error { color:var(--p-danger,#FF4444); }
.ap-msg.success { color:var(--accent-primary,#00bf63); }
.ap-app-head { display:flex; gap:10px; align-items:flex-start; }
.ap-name { font-size:1.02rem; }
.ap-app code { font-size:.75rem; background:rgba(0,0,0,.05); padding:1px 6px; border-radius:6px; overflow-wrap:anywhere; }
.ap-badge { flex:0 0 auto; font-size:.7rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; border-radius:999px;
  padding:3px 10px; color:var(--accent-secondary,#3D4AAA); border:1px solid var(--accent-secondary,#3D4AAA); }
.ap-vis { display:flex; gap:10px; align-items:center; flex-wrap:wrap; margin:10px 0 6px; }
.ap-vis select { font:inherit; font-size:.85rem; padding:6px 10px; border:1px solid rgba(0,0,0,.12); border-radius:10px; background:#fff; max-width:100%; }
.ap-rel { display:flex; gap:10px; align-items:center; padding:10px 0; border-top:1px solid rgba(0,0,0,.06); }
.ap-rel-main { flex:1; min-width:0; }
.ap-flash { outline:2px solid var(--accent-secondary,#3D4AAA); outline-offset:2px; }
.ap-badge.ap-live { color:#1d6b45; border-color:#1d6b45; }
.ap-badge.ap-bad { color:#b42318; border-color:#b42318; }
.ap-words { color:#7a2e0e; }
/* MANJI-042: Promote to the store (assets/dashboard-promote.js) */
.ap-promote { margin-top:10px; }
.ap-pform { display:flex; flex-direction:column; gap:10px; margin-top:10px; padding:12px; border:1px solid rgba(0,0,0,.08); border-radius:12px; background:rgba(0,0,0,.015); }
.ap-pform label { font-size:.8rem; color:#4a5568; display:flex; flex-direction:column; gap:4px; }
.ap-pform input[type=text], .ap-pform textarea, .ap-pform select { font:inherit; font-size:.9rem; padding:8px 10px; border:1px solid rgba(0,0,0,.14); border-radius:10px; background:#fff; width:100%; box-sizing:border-box; }
.ap-pform textarea { min-height:80px; resize:vertical; }
.ap-perms { display:grid; grid-template-columns:repeat(auto-fill,minmax(210px,1fr)); gap:6px 12px; }
.ap-perms label { flex-direction:row; align-items:center; gap:8px; color:#17141B; }
.ap-files { max-height:200px; overflow:auto; font:12px/1.5 ui-monospace,Menlo,monospace; background:#f5f5f4; border-radius:8px; padding:8px 10px; white-space:pre; }
.ap-find { color:#b42318; font-size:.85rem; }
.ap-pform .btn { width:auto; padding:9px 16px; }
.lp-grid { display:grid; grid-template-columns:minmax(0,1fr) 260px; gap:16px; }
@media (max-width:640px){ .lp-grid { grid-template-columns:1fr; } }
.lp-fields { display:flex; flex-direction:column; gap:10px; }
.lp-card { background:#0b0d1c; color:#eef0f6; border-radius:16px; padding:16px; display:flex; flex-direction:column; gap:10px; min-height:150px; }
.lp-top { display:flex; gap:12px; align-items:center; }
.lp-icon { width:48px; height:48px; border-radius:13px; background:#3D4AAA; overflow:hidden; display:flex; align-items:center; justify-content:center; font-size:22px; flex:none; }
.lp-nm { font-family:'EB Garamond',Georgia,serif; font-size:21px; line-height:1.1; }
.lp-by { font-size:.75rem; color:#9aa3b8; }
.lp-what { font-size:.85rem; color:#c4cad8; flex:1; }
.lp-foot { display:flex; justify-content:space-between; font-size:.7rem; letter-spacing:.06em; text-transform:uppercase; color:#9aa3b8; }
.lp-foot span { color:#7fe3b0; }
.lp-media { display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:10px; margin-bottom:8px; }
.lp-m { border:1px solid rgba(0,0,0,.1); border-radius:10px; padding:6px; display:flex; flex-direction:column; gap:6px; background:#fff; }
.lp-m img, .lp-m video, .lp-up { width:100%; height:90px; object-fit:cover; border-radius:6px; background:#111; color:#fff; font-size:.7rem; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.lp-m input { font-size:.75rem !important; padding:5px 7px !important; }
.lp-ctl { display:flex; gap:4px; } .lp-ctl button { flex:1; border:1px solid rgba(0,0,0,.12); background:#fff; border-radius:6px; cursor:pointer; padding:3px 0; }
.lp-bar { height:4px; background:rgba(0,0,0,.08); border-radius:2px; overflow:hidden; } .lp-bar span { display:block; height:100%; background:#3D4AAA; }
.lp-add { display:inline-block; cursor:pointer; }
