.jsp-academy{--ink:#211914;--brown:#5f3f29;--gold:#caa052;--soft:#f0dfb7;--cream:#fbf8f2;--paper:#fffdf9;--line:#e8dfd1;color:var(--ink);background:var(--cream);border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:0 22px 60px rgba(67,43,26,.13);font-family:Inter,system-ui,sans-serif;min-height:680px}.jsp-academy *{box-sizing:border-box}.jsp-shell{display:grid;grid-template-columns:220px 1fr}.jsp-side{background:var(--ink);color:#f9f3e8;padding:24px 18px;min-height:680px}.jsp-brand{font-family:Georgia,serif;color:var(--gold);font-size:20px;margin:0 0 28px}.jsp-brand small{display:block;color:#c9baaa;font:10px Inter,sans-serif;letter-spacing:.12em;text-transform:uppercase;margin-top:4px}.jsp-nav{display:grid;gap:7px}.jsp-nav button{border:0;background:transparent;color:#cfc2b6;padding:12px;border-radius:10px;text-align:start}.jsp-nav button[aria-current=true]{background:rgba(202,160,82,.16);color:#fff;box-shadow:inset 3px 0 var(--gold)}.jsp-main{padding:28px;min-width:0}.jsp-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.jsp-top h1{font:32px Georgia,serif;margin:0}.jsp-language{border:1px solid var(--line);background:var(--paper);border-radius:10px;padding:9px}.jsp-grid{display:grid;grid-template-columns:1.6fr .8fr;gap:18px}.jsp-card{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:19px;margin-bottom:14px}.jsp-hero{background:linear-gradient(125deg,#2b211b,#5d432f);color:#fff;padding:25px;min-height:210px}.jsp-hero h2{font:27px Georgia,serif;color:#fff}.jsp-hero p{color:#d8cec3}.jsp-btn{border:0;background:var(--gold);color:var(--ink);border-radius:10px;padding:11px 15px;font-weight:600;cursor:pointer}.jsp-btn.secondary{background:transparent;border:1px solid var(--gold);color:var(--brown)}.jsp-table{width:100%;border-collapse:collapse}.jsp-table th,.jsp-table td{text-align:start;border-bottom:1px solid var(--line);padding:10px;font-size:13px}.jsp-field{display:grid;gap:5px;margin-bottom:12px}.jsp-field input,.jsp-field select,.jsp-field textarea{border:1px solid var(--line);background:#fff;border-radius:9px;padding:10px;font:inherit}.jsp-progress{height:8px;background:#e9dfcf;border-radius:8px;overflow:hidden}.jsp-progress span{display:block;height:100%;background:var(--gold)}.jsp-status{color:#76592e;font-size:12px;text-transform:uppercase;letter-spacing:.08em}.jsp-alert{padding:12px;border-radius:10px;background:#f5ead6;margin:10px 0}.jsp-verify{max-width:720px;margin:40px auto;padding:32px;background:#fffdf9;border:1px solid #e8dfd1;border-radius:18px;text-align:center}.jsp-verify h1{font-family:Georgia,serif}.jsp-certificate{border:8px double #caa052;padding:35px;background:#fffdf9}.jsp-certificate .name{font:34px Georgia,serif;color:#5f3f29}.jsp-academy[dir=rtl] .jsp-shell{grid-template-columns:1fr 220px}.jsp-academy[dir=rtl] .jsp-side{grid-column:2}.jsp-academy[dir=rtl] .jsp-main{grid-column:1;grid-row:1}@media(max-width:760px){.jsp-shell,.jsp-academy[dir=rtl] .jsp-shell{grid-template-columns:1fr}.jsp-side,.jsp-academy[dir=rtl] .jsp-side{display:none}.jsp-main{padding:18px}.jsp-grid{grid-template-columns:1fr}.jsp-top{align-items:flex-start;gap:10px}.jsp-top h1{font-size:26px}}
.jsp-public-home{max-width:1120px;margin:32px auto;display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start;font-family:Inter,system-ui,sans-serif;color:#211914}.jsp-public-intro{padding:42px 20px}.jsp-public-intro h1{font:46px Georgia,serif;margin:12px 0 18px}.jsp-public-intro p{color:#746a62;font-size:17px;line-height:1.6}.jsp-login-link{display:inline-block;text-decoration:none;margin-top:14px}.jsp-registration{margin:0}.jsp-admin-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.jsp-admin-action{display:grid;gap:7px;padding:17px;background:#fffdf9;border:1px solid #e8dfd1;border-radius:14px;color:#211914;text-decoration:none}.jsp-admin-action:hover{border-color:#caa052;box-shadow:0 8px 22px rgba(67,43,26,.08)}.jsp-admin-action span{color:#746a62;font-size:12px}@media(max-width:760px){.jsp-public-home{grid-template-columns:1fr;margin:15px}.jsp-public-intro{padding:18px 4px}.jsp-public-intro h1{font-size:34px}.jsp-admin-actions{grid-template-columns:1fr 1fr}}
