:root{font-family:Inter,system-ui,-apple-system,Arial,sans-serif;color:#e9edf1;background:#101114}*{box-sizing:border-box}body{margin:0;background:#101114;color:#e9edf1}a{color:#dbb66c;text-decoration:none}.shell{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:100vh}aside{background:#17191d;border-right:1px solid #33363a;padding:25px 17px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:20px}nav{display:grid;gap:5px;overflow:auto}nav a{padding:12px 13px;color:#c7c9cd;border-radius:10px;font-size:14px}nav a:hover{background:#302c23;color:#f0c67b}.brand{display:flex;align-items:center;gap:10px;color:#edc77d}.brand strong{font-size:14px}.brand small{display:block;color:#a0a2a7;font-size:11px;margin-top:3px}aside form{margin-top:auto}main{padding:30px;max-width:1550px;width:100%;margin:auto}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;gap:15px}header h1{font-size:30px;margin:6px 0}header p,.panel p{color:#a6abb2;font-size:13px;line-height:1.6}.eyebrow{font-size:10px;letter-spacing:1.5px;color:#d5ae63;font-weight:700}.tag{font-size:11px;background:#302b21;color:#e9c482;border:1px solid #665236;border-radius:50px;padding:5px 10px;white-space:nowrap}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px}.stats article,.panel{background:#1b1e23;border:1px solid #34373e;border-radius:16px;padding:20px}.stats span,.stats small{display:block;color:#a6abb2;font-size:12px}.stats strong{display:block;font-size:32px;margin:8px 0;color:#f1d093}.columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:18px 0}.panel h2{font-size:18px;margin:0 0 12px}.panel h3{font-size:15px}.section-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.panel form{display:grid;gap:10px;margin-top:15px}label{display:grid;gap:5px;color:#cbd0d6;font-size:12px}input,select,textarea{width:100%;padding:11px 12px;border:1px solid #454850;border-radius:9px;background:#111318;color:#f4f4f4;font:inherit;font-size:13px}textarea{min-height:75px}button{border:0;border-radius:9px;padding:11px 15px;background:#cda65d;color:#131313;font-weight:700;cursor:pointer}button:hover{filter:brightness(1.1)}button.secondary{background:#31343a;color:#eee}.buttons{display:flex;gap:10px;flex-wrap:wrap}.mini-list{margin-top:14px;display:grid;gap:7px}.mini-list>div{display:flex;justify-content:space-between;gap:12px;padding:11px;background:#22262b;border-radius:9px;align-items:center;font-size:12px}.mini-list small{color:#a8adb4}.music-card{background:#24252b;border:1px solid #4e4331;border-radius:12px;padding:16px}.music-card h3{margin:9px 0}.success,.error{padding:13px;border-radius:10px;margin:15px 0;font-size:13px}.success{background:#183e2a;color:#b8f1c6}.error{background:#4c2327;color:#ffccd0}details{border-top:1px solid #373a40;margin-top:16px;padding-top:13px}summary{cursor:pointer;color:#e8c179;font-size:13px}.people{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:12px}.person{padding:14px;background:#25282e;border-radius:12px}.person small{display:block;color:#a6abb2}.role-options{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0}.role-options label{display:flex;align-items:center;gap:5px}.role-options input{width:auto}.inline{display:flex!important;align-items:center}.inline select{width:auto}footer{text-align:center;color:#81848b;font-size:11px;padding:25px}.auth{min-height:100vh;display:grid;place-items:center;padding:20px}.login-card{width:min(440px,100%);text-align:center;background:#1b1e23;border:1px solid #3d3830;border-radius:22px;padding:35px}.login-card h1{color:#edc77d;margin-bottom:3px}.login-card p,.login-card small{color:#aeb3bb}.login-card form{display:grid;gap:16px;text-align:left;margin:24px 0}.login-card button{width:100%}@media(max-width:900px){.shell{display:block}aside{position:relative;height:auto;padding:12px;gap:10px}nav{display:flex;overflow:auto;white-space:nowrap}nav a{padding:10px}aside form{position:absolute;right:12px;top:8px}aside form button{padding:8px;font-size:11px}main{padding:15px}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.columns{grid-template-columns:1fr}header{align-items:flex-start}header h1{font-size:24px}}@media(max-width:420px){.stats article,.panel{padding:14px}.brand strong{font-size:12px}.tag{font-size:9px}header>.tag{display:none}}

/* Diseño institucional SSP Yucatán v2 */
:root{--gold:#f4cc36;--gold-soft:#f3d46a;--gold-dark:#c79d27}body{background:#0b0d10;background-image:radial-gradient(ellipse at 90% 0%,rgba(244,204,54,.055),transparent 42%)}aside{background:linear-gradient(180deg,#111316,#0b0d10);border-right:1px solid #3b3421}.brand{color:var(--gold);padding-bottom:14px;border-bottom:1px solid #2e2b21}.brand img{object-fit:contain;width:60px;height:60px;filter:drop-shadow(0 3px 9px rgba(244,204,54,.13))}.brand strong{font-size:15px;letter-spacing:.4px}.brand small{color:#a7a8ad}nav a{transition:background .18s,color .18s}nav a:first-child{background:linear-gradient(90deg,#f5d75e,#c99c2b);color:#111;font-weight:800}nav a:hover{background:#322c1b;color:#ffe68b}.stats article,.panel{background:linear-gradient(140deg,#1b1f24,#15171b);border-color:#30343b;box-shadow:0 9px 24px rgba(0,0,0,.12)}.stats strong{color:#f4d75c}.stats article{border-top:2px solid #63522b}.panel h2{color:#f4f4f5}.tag{background:#30291b;border-color:#6e5824;color:#f4d75c}.eyebrow{color:#eac34b}.music-card{background:linear-gradient(125deg,#2b261a,#1d2026);border-color:#6e592d}button{background:linear-gradient(100deg,#f8d96a,#d7a72e);color:#14120d}button.secondary{background:#30343b;color:#f2f2f2}.login-card{background:linear-gradient(145deg,#1d2025,#121417);border-color:#665226;box-shadow:0 24px 90px rgba(0,0,0,.4)}.login-card img{width:125px;height:125px;object-fit:contain;filter:drop-shadow(0 8px 22px rgba(244,204,54,.16))}.login-card h1{color:#f2d14f;letter-spacing:1.2px}.new-user-link{display:inline-block;background:#34301e;border:1px solid #7a6428;padding:9px 13px;border-radius:10px;color:#f6d55c}.panel:target{outline:1px solid #826c34}input:focus,textarea:focus,select:focus{outline:1px solid #d5af3e;border-color:#d5af3e}

nav a.active{background:#332d20;color:#f3ce71;border-left:3px solid #e9c34b}.module-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}.module-cards a{padding:22px 16px;border-radius:12px;background:#22252a;border:1px solid #494234;font-weight:600}.module-cards a:hover{background:#342e22}.panel{margin-bottom:18px}@media(max-width:800px){aside{position:relative;height:auto}nav{grid-template-columns:repeat(2,minmax(0,1fr))}nav a{font-size:12px;padding:9px}.shell{display:block}}
