/* Dirección visual aprobada: presentación solamente. Conserva rutas, permisos y reproductor. */
@font-face{font-family:KindomyFredoka;src:url('assets/fonts/Fredoka-600.ttf') format('truetype');font-weight:600;font-display:swap}
:root{--kp-ink:#31423d;--kp-brown:#654638;--kp-sage:#d8e8dd;--kp-coral:#f28f76;--kp-cream:#fff9ed;--kp-shadow:0 14px 28px #76604c1c,0 4px 8px #76604c14}
body.private,body.private.kit-app{background:#fffaf1;color:var(--kp-ink)}
body.private h1,body.private h2,body.private h3,.access-page h1,.access-page h2{font-family:KindomyFredoka,Poppins,sans-serif;font-weight:600;letter-spacing:-.025em}
body.private p{color:#776e61}
body.private #header{height:92px;background:#fffaf4;border-bottom:1px solid #f0e4d6;box-shadow:0 2px 9px #a0876820}
body.private .header-inner{padding:0 31px}
body.private .demo-ribbon{background:#fff1df;color:#8d725c}
body.private #layout{grid-template-columns:245px minmax(0,1fr)}
body.private #sidebar{min-height:calc(100vh - 122px);padding:30px 15px;background:linear-gradient(160deg,#d9e9df,#d7e6df 60%,#e6ead9);border-right:1px solid #c5d8ca}
body.private .sidebar-profile{display:grid;justify-items:center;text-align:center;margin:0 8px 27px;padding:9px 8px 22px;border-bottom:1px solid #bdd2c5}
body.private .sidebar-profile .profile-avatar{height:115px;width:115px;border-radius:31px;background:radial-gradient(circle at 50% 32%,#fffdf0,#afd1bb);box-shadow:inset 0 2px 8px #fff9,0 7px 0 #acc3b6,0 10px 15px #4c756a2c;overflow:hidden;margin-bottom:13px}
body.private .sidebar-profile .profile-avatar .art{height:100%;width:100%}
body.private .sidebar-profile .pastel-sidebar-mascot{display:block;height:140px;width:auto;max-width:none;margin:-5px auto 0;filter:drop-shadow(0 4px 4px #5e806846)}
body.private .sidebar-profile strong{font:600 18px KindomyFredoka,Poppins,sans-serif;color:#3f5747}
body.private .sidebar-profile small{font-size:10px;color:#688176}
body.private .sidebar-label{margin:0 14px 15px;letter-spacing:.17em;color:#688479;font-size:9px}
body.private .side-nav{gap:7px}
body.private .side-nav a{border-radius:17px;color:#46685d;font-size:12px;font-weight:600;min-height:48px;padding:10px 14px}
body.private .side-nav a:hover{background:#f5fff2}
body.private .side-nav a.active,body.private .side-nav a[aria-current=page]{background:#fffbf1;color:#315f54;box-shadow:0 5px 0 #a5bcae,0 8px 13px #45665622}
body.private .sidebar-bottom{margin-top:28px;border-top:1px solid #bdd2c5}
body.private .sidebar-bottom a{border-radius:12px;color:#4e786d}
body.private #main{max-width:1290px;padding:29px 34px 50px;background:radial-gradient(circle at 70% 0,#fff7e9,#fffaf2 57%,#fef9f0)}
body.private .page-intro{margin-bottom:21px}
body.private .page-intro .eyebrow,body.private .eyebrow{color:#9d7666;letter-spacing:.15em}
body.private .page-intro h1{font-size:33px;color:#533f35}
body.private .page-intro p:last-child{font-size:12px}
body.private #main:has(.bridge-stats)>.page-intro{padding:30px 36px;min-height:189px;display:flex;flex-direction:column;justify-content:center;border:2px solid white;border-radius:26px;background:linear-gradient(112deg,#d6e8df,#c6dfd7 62%,#f5e4d8);box-shadow:0 7px 0 #d0d7c5,var(--kp-shadow)}
body.private #main:has(.bridge-stats)>.page-intro h1{font-size:39px;color:#40594d}
body.private #main:has(#catalog)>.page-intro{padding:25px 30px;border:2px solid white;border-radius:24px;background:linear-gradient(105deg,#fce4d6,#fff4e8);box-shadow:0 6px 0 #ead7c8,0 12px 21px #76604c14}
body.private .btn.primary,body.private .btn.secondary,.access-page .btn.primary,.access-page .btn.secondary{border-radius:15px;border:2px solid white;outline:1px dashed #fff9;outline-offset:-6px;box-shadow:0 5px 0 #bda38d,0 10px 13px #8a645324;min-height:44px;font-weight:600}
body.private .btn.primary,.access-page .btn.primary{background:#f18f76;color:white}
body.private .btn.secondary,.access-page .btn.secondary{background:#5bb2ad;color:white}
body.private .btn:hover,.access-page .btn:hover{transform:translateY(-2px);box-shadow:0 7px 0 #bda38d,0 12px 15px #8a645329}
.pastel-home-hero{position:relative;overflow:hidden;min-height:248px;padding:30px 38px;border:2px solid #fff9;border-radius:27px;background:radial-gradient(circle at 72% 52%,#ffe1c6,#ffcfba 42%,#f8bfae 85%);box-shadow:0 8px 0 #dec0ac,var(--kp-shadow)}
.pastel-home-hero:before{content:'';position:absolute;width:310px;height:310px;border:1px solid #fff8;border-radius:50%;right:110px;top:-93px}
.pastel-home-hero>div{position:relative;z-index:2;max-width:570px}
.pastel-kicker{color:#a56559;font-size:10px;font-weight:600;letter-spacing:.13em}
.pastel-home-hero h2{font-size:40px;line-height:1.05;color:#664539;margin:10px 0}
.pastel-home-hero h2 em{font-style:normal;color:#af6659}
.pastel-home-hero p{max-width:370px;font-size:12px;color:#72564d;line-height:1.65}
.pastel-home-hero .btn{margin-top:17px;position:relative;z-index:2}
.pastel-home-hero>img{position:absolute;height:365px;right:48px;bottom:-119px;filter:drop-shadow(0 8px 9px #9f665c55)}
.pastel-hero-note{position:absolute;right:21px;top:20px;background:#fff4e8;padding:7px 12px;border:1px dashed #d6a886;border-radius:13px;color:#97725d;font:600 15px KindomyFredoka,Poppins,sans-serif;transform:rotate(5deg);box-shadow:0 5px 5px #845e4a2a}
.pastel-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:27px 0}
.pastel-metric{display:block;min-width:0;height:160px;padding:16px;border:2px solid #fff9;border-radius:23px;box-shadow:0 6px 0 #dccfc2,var(--kp-shadow);position:relative;overflow:hidden}
.pastel-metric:after{content:'';position:absolute;right:-28px;top:-31px;width:95px;height:95px;border-radius:50%;background:#fff5}
.pastel-metric.mint{background:#dcebe2}.pastel-metric.peach{background:#fbd6c9}.pastel-metric.butter{background:#fce7b9}.pastel-metric.lilac{background:#e3d9ec}
.pastel-metric>span{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#fff9e9;box-shadow:0 4px 0 #ab9f8688;color:#438f82;position:relative;z-index:1}
.pastel-metric.peach>span{color:#e77c66}.pastel-metric.butter>span{color:#d59e32}.pastel-metric.lilac>span{color:#997db4}
.pastel-metric .icon{width:22px;height:22px}.pastel-metric small{display:block;font-size:11px;font-weight:600;margin-top:10px}.pastel-metric strong{display:block;font:600 27px KindomyFredoka,Poppins,sans-serif;white-space:nowrap;color:#4a3e36}.pastel-metric strong em{font:600 11px Poppins,sans-serif;font-style:normal}.pastel-metric p{font-size:10px;margin-top:3px}
.pastel-feature-grid{display:grid;grid-template-columns:1fr .86fr;gap:18px;margin:24px 0}
.pastel-feature{min-width:0;padding:22px;border:1px solid #efe3d1;border-radius:25px;background:#fff7ea;box-shadow:0 7px 0 #eadbca,0 12px 19px #79634f17}
.pastel-feature h2{font-size:23px;color:#493b34;margin:4px 0 15px}.pastel-feature>p:not(.eyebrow){font-size:11px}
.pastel-feature .btn{margin-top:14px;font-size:11px}
.pastel-song-list{display:grid;gap:8px}.pastel-song-list a{display:flex;align-items:center;gap:11px;border:1px solid #f0decd;background:#fce9da;border-radius:14px;padding:8px 12px;min-height:48px}.pastel-song-list a span{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#e2eee2;color:#5baba0}.pastel-song-list a strong{font:600 13px KindomyFredoka,Poppins,sans-serif;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pastel-song-list a .icon{color:#65aa9f;width:17px}
.pastel-story-art{height:145px;border-radius:17px;background:radial-gradient(circle at 50% 35%,#edf3e4,#c4dbc6);display:flex;align-items:center;justify-content:center;gap:20px;color:#76ada0}.pastel-story-art .icon{width:60px;height:60px;filter:drop-shadow(0 5px 2px #688d744d)}.pastel-story-art span{font:600 19px KindomyFredoka,Poppins,sans-serif;color:#4c6d5b;max-width:170px}
.pastel-activity-invite{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:22px 26px;border-radius:24px;background:#d9e9df;box-shadow:0 6px 0 #bed3c2;margin:29px 0}.pastel-activity-invite h2{font-size:23px;margin:5px 0}.pastel-activity-invite p{font-size:11px}.pastel-activity-invite .btn{flex:none}
body.private .soft-panel,body.private .account-card,body.private .admin-order,body.private .state-panel,body.private .story-card,body.private .track-card,body.private .kit-module-card{border:1px solid #efe3d1;border-radius:23px;background:#fff8ed;box-shadow:0 6px 0 #eadbca,0 12px 19px #79634f17}
body.private .track-card.selected{border-color:#81beb1;background:#ecf5ed}
body.private .player-shell{background:#e0eee8;border-color:#b9d9cc;box-shadow:0 10px 28px #526b6060}
body.private .player-play{background:#f18f76;box-shadow:0 3px 0 #b66e5b;color:white}
body.private .music-playlist-heading,body.private .library-note,body.private .sync-wait{border-radius:20px;background:#f8ebdd;border-color:#ecdac4}
body.private .admin-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
body.private .stat{min-height:137px;border:2px solid #fff9;border-radius:21px;box-shadow:0 6px 0 #dccfc2,var(--kp-shadow);background:#dcebe2;padding:20px;position:relative;overflow:hidden}
body.private .stat:nth-child(4n+2){background:#fbd6c9}body.private .stat:nth-child(4n+3){background:#fce7b9}body.private .stat:nth-child(4n){background:#e3d9ec}
body.private .stat:before{content:'✦';position:absolute;right:12px;top:0;font-size:42px;color:#fff7}
body.private .stat span{position:relative;font-weight:600;font-size:12px;color:#6d6256}.private .stat strong{position:relative;font:600 33px KindomyFredoka,Poppins,sans-serif;color:#4b4037}
body.private .bridge-sections details,body.private .table-wrap{border-radius:19px;background:#fff8ed;border:1px solid #ecddca;box-shadow:0 4px 0 #eadbca}
body.private .bridge-sections summary{color:#5b6e60}
body.private .admin-toolbar{margin-bottom:19px}
body.private #footer{background:#fffaf1}
body.public{background:#fffaf1;color:#4b4037}
body.public #header{background:#fffaf4;border-bottom:1px solid #f0e4d6}
body.public #main{background:radial-gradient(circle at 80% 0,#fff2e4,#fffaf2 60%)}
body.public .public-hero{border-radius:29px;border:2px solid #fff;background:linear-gradient(115deg,#d9ece6,#d2e8e0 48%,#f9ded0);box-shadow:0 8px 0 #d5ddd0,var(--kp-shadow);padding:38px}
body.public .public-hero h1,body.public .page-intro h1{font-family:KindomyFredoka,Poppins,sans-serif;letter-spacing:-.035em;color:#3f554d}
body.public .public-hero h1 em{color:#e4816d}
body.public .floating-note{border-radius:15px;background:#fff8e6;box-shadow:0 5px 0 #dbc4ab}
body.public .track-card,body.public .story-card{border:2px solid #fff;border-radius:24px;background:#fff8ed;box-shadow:0 6px 0 #eadbca,0 12px 19px #79634f17;overflow:hidden}
body.public .track-card h3,body.public .story-card h3{font-family:KindomyFredoka,Poppins,sans-serif;color:#4a3e36}
body.public .track-card:nth-child(4n+1){background:#e1efe6}body.public .track-card:nth-child(4n+2){background:#fbe0d3}body.public .track-card:nth-child(4n+3){background:#fbeabc}body.public .track-card:nth-child(4n){background:#e9e0ee}
body.public .story-card:nth-child(3n+1){background:#e1efe6}body.public .story-card:nth-child(3n+2){background:#fbe0d3}body.public .story-card:nth-child(3n){background:#fbeabc}
body.public .player-shell{background:#e0eee8;border-color:#b9d9cc;box-shadow:0 10px 28px #526b6060}
body.public .player-play{background:#f18f76;color:#fff;box-shadow:0 3px 0 #b66e5b}
body.public .btn.primary,body.public .btn.secondary{border-radius:15px;border:2px solid white;outline:1px dashed #fff9;outline-offset:-6px;box-shadow:0 5px 0 #bda38d,0 10px 13px #8a645324;min-height:44px;font-weight:600}
body.public .btn.primary{background:#f18f76;color:#fff}body.public .btn.secondary{background:#5bb2ad;color:#fff}
.access-page{background:radial-gradient(circle at 12% 10%,#cab2de,#b59dcc 67%,#a589bf)}
.access-page #header{background:transparent}.access-page #main{background:transparent}
.access-page .access-story h1{color:#51405f}.access-page .access-story h1 em{color:#f09a81}
.access-page .access-story,.access-page .access-lead,.access-page .access-bottom{color:#fffaf6}.access-page .access-top-link{color:#fffaf6}
.access-page .access-form-card{background:#fff8ef;border:2px solid #ffffffa9;border-radius:35px;box-shadow:0 10px 0 #8e79a7,0 25px 45px #5d497540}
.access-page .access-form-card h2{text-align:center;color:#7d5b95}.access-page .access-form-card>p{text-align:center}.access-page .access-welcome{justify-content:center;color:#a9859f}
.pastel-login-dinos{height:150px;position:relative;overflow:hidden;margin:10px auto -4px;background:radial-gradient(ellipse at 50% 110%,#f5d8c3,transparent 65%)}
.pastel-login-dinos img{position:absolute;height:185px;bottom:-69px;max-width:49%;object-fit:contain;filter:drop-shadow(0 5px 4px #74596944)}
.pastel-login-dinos img:first-child{left:13%;transform:rotate(-4deg)}.pastel-login-dinos img:last-child{right:12%;transform:rotate(4deg)}
.access-page .access-input{border-radius:18px;background:#fffcf8;box-shadow:0 4px 0 #ead6c9}.access-page .access-submit{background:#f18f76}
@media(max-width:1100px){body.private #layout{grid-template-columns:210px minmax(0,1fr)}body.private #main{padding:25px 23px 45px}.pastel-home-hero>img{right:5px}.pastel-metric{padding:13px}.pastel-metric strong{font-size:23px}}
@media(max-width:850px){body.private #layout{display:block}body.private #sidebar{min-height:0}body.private #main{padding:24px 20px 42px}.pastel-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.pastel-feature-grid{grid-template-columns:1fr}.pastel-home-hero>img{opacity:.9}.pastel-home-hero>div{max-width:60%}}
@media(max-width:700px){body.private #header{height:76px}body.private .header-inner{padding:0 17px}body.private #sidebar{top:106px}body.private #main{padding:19px 14px 37px}.pastel-home-hero{min-height:329px;padding:24px 19px}.pastel-home-hero>div{max-width:100%}.pastel-home-hero h2{font-size:33px;max-width:245px}.pastel-home-hero p{max-width:250px}.pastel-home-hero>img{height:240px;right:-25px;bottom:-71px}.pastel-hero-note{right:7px;top:8px;font-size:11px}.pastel-metrics{gap:10px}.pastel-metric{height:144px;padding:12px}.pastel-metric strong{font-size:25px}.pastel-metric strong em{font-size:10px}.pastel-feature{padding:18px}.pastel-activity-invite{display:block}.pastel-activity-invite .btn{margin-top:14px}body.private .admin-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.access-page .access-form-card{padding:27px 20px}.pastel-login-dinos{height:120px}.pastel-login-dinos img{height:150px;bottom:-54px}}
@media(max-width:420px){.pastel-home-hero h2{font-size:30px}.pastel-home-hero p{max-width:222px}.pastel-metric strong{font-size:22px}.pastel-metric strong em{font-size:9px}}
