/* Marco común KACHU.PROMPTS. Puede convivir con los estilos propios de cada página. */
:root{--kp-bg:#0a0a0a;--kp-panel:#111;--kp-border:#2a2a2a;--kp-text:#eaeaea;--kp-muted:#999;--kp-pink:#ff3b82}
*{box-sizing:border-box}
html,body{max-width:100%;min-height:100%;margin:0;overflow-x:hidden;background:var(--kp-bg)}
body{color:var(--kp-text);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;min-height:100vh}
.kp-mobile-top{display:none;position:fixed;top:0;left:0;right:0;z-index:50;height:56px;min-height:56px;padding:6px 14px;background:var(--kp-bg);border-bottom:1px solid #1a1a1a;justify-content:space-between;align-items:center;gap:10px}
.kp-mobile-brand{display:flex;flex-direction:column;min-width:0;line-height:1.15}
.kp-mobile-logo{display:block;width:min(155px,calc(100vw - 90px));height:32px;object-fit:contain;object-position:left center}
.kp-mobile-brand span{font-size:11px;color:#777;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kp-hamb{width:36px;height:36px;flex:0 0 36px;background:#1a1a1a;border:1px solid #2a2a2a;border-radius:9px;display:grid;place-items:center;color:#fff;font-size:17px;cursor:pointer}
.kp-sidebar{width:260px;background:var(--kp-panel);border-right:1px solid var(--kp-border);position:fixed;left:0;top:0;bottom:0;z-index:40;transition:transform .3s ease;display:flex;flex-direction:column;overflow-y:auto}
.kp-logo{padding:20px 12px;border-bottom:1px solid #2a2a2a;display:flex;gap:8px;align-items:center}
.kp-logo-icon{width:40px;height:40px;flex:0 0 40px;display:grid;place-items:center}
.kp-logo-icon img{width:100%;height:100%;object-fit:contain;display:block}
.kp-logo-brand{min-width:0}
.kp-logo-wordmark{width:172px;max-width:100%;height:28px;object-fit:cover;object-position:center center;display:block}
.kp-logo span{font-size:10px;color:#777;display:block;margin-top:2px}
.kp-nav{padding:16px 12px;flex:1}
.kp-nav a{display:flex;gap:10px;padding:11px 14px;border-radius:10px;color:#999;text-decoration:none;font-size:13.5px;margin-bottom:4px;border:1px solid transparent;align-items:center}
.kp-nav a.active,.kp-nav a:hover{background:#1a1a1a;color:#fff;border-color:#2a2a2a}
.kp-nav a.kp-admin-link{color:#f2c66d;background:rgba(242,198,109,.08);border-color:rgba(242,198,109,.25)}
.kp-nav a.kp-admin-link:hover,.kp-nav a.kp-admin-link.active{color:#ffe2a0;background:rgba(242,198,109,.15)}
.kp-nav a.kp-logout{margin-top:20px;color:#ff6b6b}
.kp-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:35}
.kp-overlay.show{display:block}
.kp-main{margin-left:260px;min-height:100vh;width:calc(100% - 260px);display:flex;flex-direction:column}
.kp-content{width:100%;max-width:1500px;margin:0 auto;padding:20px;flex:1}
.kp-footer{margin-top:24px;padding:18px 20px;text-align:center;border-top:1px solid #1a1a1a;color:#666;font-size:11px}
.kp-footer a{display:inline-block;margin-top:5px;color:#999;text-decoration:none}
.kp-footer a:hover{color:#fff}
.kp-footer-links{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;margin-top:9px}
.kp-footer-links a{margin-top:0}
@media(max-width:1024px){
 .kp-mobile-top{display:flex}
 .kp-sidebar{top:56px;transform:translateX(-100%)}
 .kp-sidebar.open{transform:translateX(0)}
 .kp-overlay{top:56px}
 .kp-main{margin-left:0;width:100%;min-height:100vh;padding-top:56px}
 .kp-content{padding:12px}
}
@media(prefers-reduced-motion:reduce){.kp-sidebar{transition:none}}