:root{--navy:#082f4f;--gold:#d3a238;--cream:#f7f3e8;--white:#fff;--muted:#6c7680;--danger:#b42318;--ok:#147a4a;--line:#d9e1e8}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--cream);color:#10293d}header{background:var(--navy);color:#fff;padding:18px 20px}.wrap{max-width:1050px;margin:auto;padding:20px}.card{background:#fff;border-radius:18px;padding:20px;box-shadow:0 8px 26px #00000012;margin-bottom:18px}h1,h2,h3{margin-top:0}button,.btn{border:0;border-radius:10px;padding:11px 16px;font-weight:700;cursor:pointer;background:var(--gold);color:#0e2638;text-decoration:none;display:inline-block}.btn.secondary,button.secondary{background:#edf2f6}.danger{color:var(--danger)}.ok{color:var(--ok)}input,select,textarea{width:100%;padding:11px;border:1px solid var(--line);border-radius:10px;font:inherit;background:#fff}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.field label{display:block;font-weight:700;margin:0 0 5px}.actions{display:flex;gap:8px;flex-wrap:wrap}.hidden{display:none!important}.module{border:1px solid var(--line);padding:15px;border-radius:14px;margin:10px 0}.pill{display:inline-block;padding:4px 9px;border-radius:999px;background:#edf2f6;font-size:12px}.notice{padding:12px;border-radius:10px;background:#fff4d7}.error{background:#fee4e2;color:#7a271a;padding:10px;border-radius:10px}.success{background:#dcfae6;color:#05603a;padding:10px;border-radius:10px}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:9px;border-bottom:1px solid var(--line);font-size:14px}.topbar{display:flex;justify-content:space-between;gap:12px;align-items:center}@media(max-width:720px){.grid,.grid3{grid-template-columns:1fr}.wrap{padding:12px}.card{padding:15px}table{display:block;overflow:auto}}
.subtle{font-size:13px;color:var(--muted);margin-top:3px}header .subtle{color:#c7d5e0}.dashboard-intro{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:4px 0 18px;padding:4px}.dashboard-intro h1{margin:0}.dashboard-intro p{margin:5px 0;color:var(--muted)}.statrow{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px}.stat{border:1px solid var(--line);border-radius:14px;padding:15px;background:#fbfcfd}.stat b{display:block;font-size:27px;color:var(--navy)}.stat span{font-size:13px;color:var(--muted)}.attendance-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.attendance-item{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:13px;padding:12px;cursor:pointer}.attendance-item input,.checkall input{width:auto}.attendance-item span:nth-child(2){flex:1}.attendance-item small{display:block;color:var(--muted);margin-top:3px}.okbg{background:#dcfae6;color:#05603a}.footer-actions{margin-top:18px}.checkall{font-weight:700;font-size:14px}@media(max-width:720px){.attendance-list,.statrow{grid-template-columns:1fr}.dashboard-intro{align-items:flex-start;flex-direction:column}.dashboard-intro .btn{width:100%;text-align:center}}
.app-shell{background:#f5f7fa}.sidebar{position:fixed;inset:0 auto 0 0;width:245px;background:linear-gradient(180deg,#062b4a,#041f37);color:#fff;padding:22px 14px;display:flex;flex-direction:column;z-index:10}.brand{display:flex;gap:12px;align-items:center;padding:4px 8px 20px}.brand img{width:52px}.brand small{display:block;color:#d9e4ec;margin-top:5px}.sidebar nav{display:grid;gap:5px}.sidebar nav a,.ghost{color:#fff;text-decoration:none;padding:11px 13px;border-radius:10px;background:transparent;border:0;text-align:left}.sidebar nav a.active,.sidebar nav a:hover{background:#ffffff18}.sidebar-bottom{margin-top:auto}.mainpane{margin-left:245px;min-height:100vh}.app-header{background:#fff;border-bottom:1px solid var(--line);padding:20px 28px;display:flex;justify-content:space-between;align-items:center}.app-header h1{margin:0}.app-header p{margin:4px 0 0;color:var(--muted)}.content{padding:24px 28px;max-width:1300px}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.kpis article{background:#fff;border:1px solid #e7ebef;border-radius:16px;padding:18px;box-shadow:0 4px 16px #0000000a}.kpis b{font-size:30px;color:var(--navy);display:block}.kpis span{color:var(--muted);font-size:14px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px}.empty-state{border:1px dashed #cbd5df;border-radius:14px;padding:18px;background:#fafcfe;color:var(--muted)}.section-head{display:flex;justify-content:space-between;gap:14px;align-items:center}.section-head input{max-width:320px}.table-wrap{overflow:auto}.check-card{display:flex;align-items:flex-start;gap:10px;border:1px solid var(--line);padding:12px;border-radius:12px;margin:8px 0}.check-card input{width:auto;margin-top:3px}.check-card span{display:grid;gap:3px}.check-card small,.list-row small{display:block;color:var(--muted);margin-top:3px}.list-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 0;border-bottom:1px solid var(--line)}.material-card{display:flex;justify-content:space-between;gap:18px;align-items:center;border:1px solid var(--line);border-radius:14px;padding:16px;margin:10px 0}.material-card h3{margin:8px 0 5px}.admin-chip{font-weight:700;color:var(--navy)}@media(max-width:900px){.sidebar{position:static;width:auto}.mainpane{margin-left:0}.kpis,.grid2{grid-template-columns:1fr 1fr}.app-shell{display:block}}@media(max-width:600px){.kpis,.grid2{grid-template-columns:1fr}.app-header{padding:16px;align-items:flex-start;gap:10px;flex-direction:column}.content{padding:14px}.material-card,.section-head{align-items:flex-start;flex-direction:column}.sidebar nav{grid-template-columns:1fr 1fr}.sidebar-bottom{margin-top:12px}}

.form-section{margin-top:24px;padding-top:18px;border-top:1px solid var(--line)}.study-module{display:flex;justify-content:space-between;align-items:center;gap:18px}.study-meta{display:flex;gap:14px;flex-wrap:wrap;color:var(--muted);font-size:13px;margin:10px 0}.course-intro{border-top:5px solid var(--gold)}.course-intro h1{margin:10px 0}.study-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:18px}.study-facts span{border:1px solid var(--line);border-radius:12px;padding:12px;background:#fafcfe}.study-facts b{display:block;font-size:18px;color:var(--navy)}.progressbar{height:12px;background:#e7edf2;border-radius:999px;overflow:hidden;margin-top:14px}.progressbar span{display:block;height:100%;background:var(--gold);transition:.25s}.progress-ring{width:64px;height:64px;border-radius:50%;border:7px solid #edf2f6;display:grid;place-items:center;color:var(--navy)}.week-grid{display:grid;gap:14px}.week-card{border:1px solid var(--line);border-radius:15px;padding:16px;background:#fff}.week-card.locked{opacity:.65;background:#f5f7f9}.week-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.lesson-list{display:grid;gap:8px;margin-top:12px}.lesson-row{display:flex;align-items:center;gap:12px;border-top:1px solid #edf1f4;padding:11px 0}.lesson-row>div{flex:1}.lesson-row small{display:block;color:var(--muted);margin-top:2px}.lesson-dot{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#edf2f6;font-weight:800;color:var(--navy)}.lesson-dot.done{background:#dcfae6;color:#05603a}@media(max-width:720px){.study-module,.week-head,.lesson-row{align-items:flex-start;flex-direction:column}.study-facts{grid-template-columns:1fr 1fr}.lesson-row button{width:100%}}


/* V2.3 — interfaz visual de estudio */
body.study-ui{min-height:100vh;background:
radial-gradient(circle at 75% 12%,#7048a955 0,transparent 26%),
radial-gradient(circle at 90% 35%,#e49b3950 0,transparent 22%),
linear-gradient(135deg,#031b48 0%,#082d72 46%,#261b68 100%);color:#f7f9ff}
.study-ui:before{content:"";position:fixed;inset:0;pointer-events:none;background:
linear-gradient(120deg,transparent 0 48%,#32c7ff12 49% 51%,transparent 52%),
radial-gradient(circle at 35% 15%,#00c6ff20,transparent 28%)}
.study-shell{display:grid;grid-template-columns:225px 1fr;min-height:100vh}
.study-side{padding:24px 16px;border-right:1px solid #65b9ff55;background:#031c46cc;backdrop-filter:blur(18px);display:flex;flex-direction:column}
.study-brand{text-align:center;padding:10px 5px 24px}.study-brand img{width:74px;filter:drop-shadow(0 0 14px #ffc44188)}.study-brand strong{display:block;font-size:18px;line-height:1.1}.study-brand small{display:block;margin-top:8px;color:#cbd8ef}
.study-nav{display:grid;gap:5px}.study-nav a{color:#eef5ff;text-decoration:none;padding:11px 14px;border-radius:14px}.study-nav a:hover,.study-nav a.active{background:linear-gradient(90deg,#f6bd3860,#ffffff16);box-shadow:inset 0 0 0 1px #ffd76c88,0 0 18px #f6bd3830}
.study-logout{margin-top:auto}.study-main{min-width:0}.study-top{height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 28px;border-bottom:1px solid #ffffff22;background:#061d4b88;backdrop-filter:blur(16px)}
.study-search{max-width:390px;width:48%;background:#071d4eaa!important;color:#fff!important;border-color:#4b84c777!important}.study-search::placeholder{color:#aebedc}
.study-user{font-weight:700}.study-content{padding:26px 30px 30px;max-width:1500px}
.study-hero{position:relative;overflow:hidden;border:1px solid #6abaff44;border-radius:22px;padding:28px;margin-bottom:18px;background:
radial-gradient(circle at 82% 35%,#ffd47766 0,transparent 18%),
linear-gradient(115deg,#052866ee 0%,#092f76d8 52%,#5b39709c 100%);box-shadow:0 18px 45px #00000028}
.study-hero:after{content:"✝  📖";position:absolute;right:6%;top:20%;font-size:72px;opacity:.28;filter:drop-shadow(0 0 20px #ffd777)}
.study-hero h1{font-size:34px;margin-bottom:7px}.study-hero .verse{max-width:690px;color:#eef3ff;line-height:1.55}.study-hero .ref{color:#5be0ff;font-weight:700}
.glass{background:linear-gradient(145deg,#0c3977b8,#34276aa0);border:1px solid #79bfff55;border-radius:20px;box-shadow:0 14px 35px #00000025,inset 0 1px #ffffff18;backdrop-filter:blur(16px)}
.study-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.study-kpi{padding:18px;display:flex;gap:15px;align-items:center}.study-kpi .ico{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;font-size:28px;background:#147ef0;box-shadow:0 0 22px #39a2ff55}.study-kpi:nth-child(2) .ico{background:#31a95c}.study-kpi:nth-child(3) .ico{background:#8d47db}.study-kpi:nth-child(4) .ico{background:#416fe5}.study-kpi b{display:block;font-size:28px}.study-kpi span{color:#d5e1f6;font-size:13px}
.study-grid{display:grid;grid-template-columns:1.05fr 1.25fr .9fr;gap:16px}.study-panel{padding:18px}.study-panel h2{font-size:17px;margin-bottom:14px}.study-panel p{color:#d3def1}.study-panel .empty-state{background:#071e4f70;border-color:#74a9e266;color:#cbd8ef}
.study-steps{display:grid;gap:10px;margin-top:14px}.study-step{display:flex;gap:10px;align-items:flex-start;padding:9px;border-radius:12px;background:#ffffff08}.study-step i{font-style:normal;color:#64df8d}
.study-stack{display:grid;gap:16px}.quickbar{margin-top:16px;padding:12px;display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.quickbar a{color:#fff;text-decoration:none;padding:12px;border-radius:14px;background:#ffffff0b;text-align:center}.quickbar b{display:block;margin-top:5px}.study-footer{text-align:center;padding:16px;color:#9fb1d2;border-top:1px solid #ffffff18}
.study-ui .btn,.study-ui button{background:linear-gradient(135deg,#ffd15a,#f0a722);color:#10264c}.study-ui .btn.secondary,.study-ui button.secondary{background:#ffffff10;color:#fff;border:1px solid #80aee266}
@media(max-width:1000px){.study-shell{grid-template-columns:1fr}.study-side{position:relative}.study-nav{grid-template-columns:repeat(3,1fr)}.study-grid{grid-template-columns:1fr 1fr}.study-kpis{grid-template-columns:1fr 1fr}.quickbar{grid-template-columns:repeat(3,1fr)}}
@media(max-width:650px){.study-content{padding:14px}.study-top{padding:0 14px}.study-search{width:62%}.study-nav{grid-template-columns:1fr 1fr}.study-grid,.study-kpis{grid-template-columns:1fr}.quickbar{grid-template-columns:1fr 1fr}.study-hero h1{font-size:27px}.study-hero:after{font-size:44px;top:10px}.study-side{padding-bottom:12px}}
