/* Premium authenticated student dashboard — BudemPrávnik.sk */
.jp-shell{--jp-ink:#173449;--jp-deep:#11293d;--jp-gold:#c8a575;--jp-muted:#667780;--jp-line:#dfd6c8;--jp-paper:#fdfbf7;min-height:72vh;padding:0 0 90px;background:#f5f1ea;color:var(--jp-ink)}
.jp-shell *{box-sizing:border-box}
.jp-shell .wrap{max-width:1220px}
.jp-kicker{font-size:10px;letter-spacing:.18em;font-weight:800;color:#dcb783}
.jp-kicker span{color:#96abb9;padding:0 7px}
.jp-head{background:linear-gradient(116deg,#0e2638,#193c52);color:#f9f2e8;padding:76px 0 78px;overflow:hidden;position:relative}
.jp-head:after{content:"§";position:absolute;right:-15px;top:0;font:450px/1 Georgia,serif;opacity:.025;pointer-events:none}
.jp-head-grid{display:flex;justify-content:space-between;align-items:end;gap:65px;margin-top:36px;position:relative}
.jp-head-grid>div:first-child{max-width:690px}
.jp-step{color:#e0bd86;font-size:11px;letter-spacing:.12em;font-weight:800}
.jp-head h1,.jp-welcome h1,.jp-setting-head h1{font:400 clamp(55px,6vw,81px)/1.08 Georgia,serif;letter-spacing:-.06em;margin:20px 0 23px}
.jp-head h1 em,.jp-welcome h1 em,.jp-setting-head h1 em{color:#e4c18a}
.jp-head p,.jp-welcome p{color:#c4d5de;font-size:15px;line-height:1.8;max-width:610px}
.jp-head-link{display:inline-flex;justify-content:space-between;min-width:230px;margin-top:18px;padding-bottom:11px;border-bottom:1px solid #b4956c;text-decoration:none;color:#f6e7d0;font-size:13px}
.jp-head-link span{color:#edcb96}
.jp-head-stats{display:flex;align-items:end;gap:28px;padding-bottom:15px}
.jp-head-stats>div{min-width:115px;border-left:1px solid #506579;padding-left:17px}
.jp-head-stats strong{display:block;font:400 35px/1.2 Georgia,serif;color:#e7c590}
.jp-head-stats span{display:block;max-width:100px;margin-top:10px;color:#c0d0d6;font-size:11px;line-height:1.5}
.jp-content{padding-top:51px}
.jp-main-grid{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(290px,.8fr);gap:45px}
.jp-section-label{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:0 0 20px;color:#9b7951;font-size:10px;font-weight:800;letter-spacing:.13em}
.jp-section-label a,.jp-section-label small{color:#476071;font-size:11px;letter-spacing:0;text-decoration:none;font-weight:600}
.jp-exam{padding:32px 37px 34px;background:#fffcf7;border:1px solid #dfd5c5;box-shadow:7px 8px 0 rgba(37,56,68,.035);margin:0 0 46px}
.jp-exam-top{display:flex;align-items:center;justify-content:space-between;color:#af8855;font-size:10px;font-weight:800;letter-spacing:.12em}
.jp-exam-mark{font:400 36px Georgia,serif}
.jp-exam h2{font:400 clamp(32px,3.5vw,49px)/1.18 Georgia,serif;letter-spacing:-.045em;color:#19394c;margin:14px 0 12px}
.jp-exam-deadline{font-size:13px;color:#a17d4c;margin:0 0 26px}
.jp-meter-text{display:flex;justify-content:space-between;font-size:12px;color:#617682;margin-bottom:12px}
.jp-meter-text strong{color:#344d59}
.jp-bar{width:100%;height:8px;background:#e7e0d5;border-radius:99px;overflow:hidden}
.jp-bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#9b7850,#d5b482)}
.jp-meter small{display:block;margin-top:10px;font-size:11px;color:#7b8991}
.jp-exam-actions{display:flex;flex-wrap:wrap;gap:11px;margin-top:30px}
.jp-button,.jp-next-button{border:1px solid #173649;background:#173649;color:#fff!important;text-decoration:none!important;font-weight:750;font-size:12px;padding:15px 20px;min-height:47px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;border-radius:2px}
.jp-button:hover,.jp-next-button:hover{background:#32576b;border-color:#32576b}
.jp-outline{border:1px solid #c2b5a1;color:#315063!important;text-decoration:none!important;padding:14px 18px;font-size:12px;font-weight:720;display:inline-flex;align-items:center;justify-content:center}
.jp-next{background:#f9f4ec;border:1px solid #e2d9ca;padding:30px 36px;position:relative;overflow:hidden;margin:0 0 45px}
.jp-next-index{font-size:10px;font-weight:800;letter-spacing:.1em;color:#9f7e54;display:flex;align-items:center;justify-content:space-between}
.jp-next-index span{font:400 30px Georgia,serif}
.jp-next h3{font:400 clamp(27px,3vw,40px)/1.2 Georgia,serif;letter-spacing:-.045em;margin:25px 0 8px}
.jp-next p{font-size:13px;line-height:1.8;color:#5f717c;max-width:490px}
.jp-next-button{margin-top:18px;gap:65px}
.jp-subjects{border-top:1px solid #d6cbba;margin-bottom:36px}
.jp-subjects>a{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:17px 14px 17px 0;border-bottom:1px solid #ded5c9;text-decoration:none;color:#294959!important}
.jp-subjects>a:hover{background:#efe9df}
.jp-subjects strong{display:block;font-size:13px;font-weight:700}
.jp-subjects small{display:block;font-size:11px;color:#84919a;margin-top:6px}
.jp-subjects>a>span{color:#b19465}
.jp-aside{padding-top:1px}
.jp-aside-label{margin-bottom:20px;font-size:10px;font-weight:800;letter-spacing:.13em;color:#9b7951}
.jp-widget{border:1px solid #ded4c5;background:#fffcf8;padding:25px;margin:0 0 16px}
.jp-widget>span,.jp-widget-top{font-size:10px;color:#90734c;letter-spacing:.1em;font-weight:800}
.jp-widget-top{display:flex;justify-content:space-between}
.jp-widget-number{display:block;font:400 71px/1.2 Georgia,serif;letter-spacing:-.06em;color:#244658;margin:15px 0 0}
.jp-widget p{font-size:12px;color:#71818c;line-height:1.8}
.jp-widget a{font-size:12px;font-weight:750;color:#725735}
.jp-widget button{font-size:11px;color:#375466;padding:0;background:none;border:0;cursor:pointer}
.jp-streak{background:#19384b;color:white;border-color:#19384b}
.jp-streak>span{color:#dfbb84}
.jp-streak>div{display:flex;align-items:baseline;gap:8px;margin-top:12px}
.jp-streak>div strong{font:400 50px Georgia,serif;color:#e3c18b}
.jp-streak>div span{font-size:12px;color:#c1d1d6}
.jp-streak p{color:#bccbd4}
.jp-streak a{color:#dfc391}
.jp-cloud>strong{display:block;padding:17px 0 0;font-size:12px}
.jp-recent>div{border-top:1px solid #e6e0d5;margin-top:15px;padding-top:13px}
.jp-recent>div strong{display:block;font-size:12px;color:#345165}
.jp-recent>div small{display:block;margin-top:5px;font-size:11px;color:#8c8174}
.jp-tool-label{margin-top:29px}
.jp-shortcuts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.jp-shortcut{min-height:191px;background:#fffdfa;border:1px solid #e0d7c9;padding:23px;display:flex;flex-direction:column;text-decoration:none!important;color:#1c3b4f!important}
.jp-shortcut:hover{border-color:#b99561;transform:translateY(-2px);transition:transform .15s}
.jp-shortcut-number{font-size:10px;color:#ae8b5f}
.jp-shortcut strong{font:400 26px/1.15 Georgia,serif;margin-top:23px;letter-spacing:-.04em}
.jp-shortcut small{font-size:11px;color:#768791;line-height:1.5;margin-top:9px}
.jp-shortcut-arrow{color:#a88052;margin-top:auto;text-align:right}
.jp-disclaimer{color:#8b8579;font-size:11px;line-height:1.85;margin-top:35px;max-width:950px}
.jp-toast,.jp-feedback{font-size:12px;color:#926b39}
.jp-toast{background:#f6ebd6;padding:15px 18px}
.jp-onboarding .jp-welcome{background:linear-gradient(110deg,#0e2638,#1c3d52);padding:72px max(25px,calc((100vw - 1200px)/2));color:#fff; margin:0 calc(50% - 50vw);overflow:hidden}
.jp-welcome-grid{display:flex;justify-content:space-between;gap:45px;align-items:center;margin-top:29px}
.jp-welcome-grid>div:first-child{max-width:760px}
.jp-welcome-mark{font:400 280px/1 Georgia,serif;color:#d9b985;opacity:.12;pointer-events:none}
.jp-setup{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(230px,.85fr);gap:46px;padding:65px 0}
.jp-setup h2,.jp-setting-card h2{font:400 41px/1.13 Georgia,serif;letter-spacing:-.05em;color:#183749}
.jp-setup p,.jp-setting-card>p{font-size:13px;color:#73808a;line-height:1.85}
.jp-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:30px 0}
.jp-fields label{display:block;color:#375264;font-size:12px;font-weight:700}
.jp-fields label small{font-size:10px;font-weight:500;color:#9d988e;margin-left:5px}
.jp-fields select,.jp-fields input{display:block;width:100%;background:#fffcf8;color:#26475a;border:1px solid #d5cbbd;min-height:47px;padding:10px 12px;margin-top:9px;font:400 12px Inter,Arial,sans-serif;border-radius:2px}
.jp-fields input:focus-visible,.jp-fields select:focus-visible,.jp-favs input:focus-visible{outline:2px solid #bf9c65;outline-offset:3px}
.jp-buttons{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.jp-linkbutton{background:none;border:0;color:#6b6456;font-size:12px;text-decoration:underline;cursor:pointer}
.jp-setup-aside{background:#fcfaf4;border:1px solid #dfd5c6;padding:29px;align-self:start;margin-top:19px}
.jp-setup-aside>span{font-size:10px;color:#9f7d50;font-weight:800;letter-spacing:.13em}
.jp-setup-aside ol{list-style:none;padding:0;counter-reset:journey}
.jp-setup-aside li{border-top:1px solid #ded6cb;margin:20px 0;padding-top:15px}
.jp-setup-aside b{display:block;font-size:13px;color:#314e60}
.jp-setup-aside small{display:block;font-size:11px;color:#7d8990;line-height:1.6;margin-top:7px}
.jp-setting-head{padding:51px 0 10px}
.jp-setting-head>a{display:block;color:#456070;font-size:12px;text-decoration:none;margin-bottom:27px}
.jp-setting-head .jp-kicker{color:#9d7a4c}
.jp-setting-head h1{font-size:clamp(38px,5vw,68px);color:#183749}
.jp-setting-head h1 em{color:#aa824e}
.jp-setting-head p{color:#627784;line-height:1.8;max-width:720px}
.jp-setting-card{border:1px solid #ded5c9;background:#fffdfa;padding:35px;margin:30px 0 0}
.jp-setting-card h2{margin-top:0}
.jp-favs-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 15px}
.jp-favs-grid label{font-size:12px;line-height:1.55;padding:12px;border:1px solid #e6e0d4}
.jp-favs-grid input{accent-color:#a7814c}
@media(max-width:1090px){.jp-head-grid{display:block}.jp-head-stats{margin-top:36px}.jp-main-grid{gap:23px}.jp-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr))}.jp-favs-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:750px){.jp-head{padding:58px 0}.jp-main-grid,.jp-setup{grid-template-columns:1fr}.jp-aside{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.jp-aside-label{grid-column:1/-1;margin:0}.jp-widget{margin:0}.jp-content{padding-top:35px}.jp-setup{padding:35px 0}.jp-welcome-mark{font-size:150px}.jp-welcome h1{font-size:57px}}
@media(max-width:520px){.jp-head h1,.jp-welcome h1{font-size:51px}.jp-head-stats{gap:9px}.jp-head-stats>div{min-width:0;flex:1;padding-left:10px}.jp-head-stats strong{font-size:29px}.jp-head-stats span{font-size:10px}.jp-main-grid{display:block}.jp-aside{display:block}.jp-aside-label{margin:25px 0 15px}.jp-widget{margin-bottom:13px}.jp-exam{padding:25px 20px}.jp-exam h2{font-size:36px}.jp-exam-actions{display:grid}.jp-next{padding:26px 20px}.jp-shortcuts{grid-template-columns:1fr}.jp-shortcut{min-height:160px}.jp-shortcut strong{margin-top:15px}.jp-fields{grid-template-columns:1fr}.jp-welcome-mark{display:none}.jp-setting-card{padding:24px 17px}.jp-favs-grid{grid-template-columns:1fr}.jp-setup-aside{margin-top:0}.jp-setting-head{padding-top:30px}}
@media(prefers-reduced-motion:reduce){.jp-shell *{transition:none!important}}


/* Právnická liga — always-visible standings and earned-badge roadmap */
.jp-league-label{margin-bottom:14px}
.jp-league-dashboard{margin:0 0 48px;border:1px solid #28465a;border-top:4px solid #c3a06a;background:#142f43;color:#fff;box-shadow:0 16px 40px #18344914;overflow:hidden}
.jp-league-top{display:flex;justify-content:space-between;align-items:center;gap:26px;padding:30px 34px 27px;border-bottom:1px solid #415b69}
.jp-league-kicker{font:800 10px Arial,sans-serif;letter-spacing:.18em;color:#e2bd7e}
.jp-league-top h2{font:400 clamp(29px,3.6vw,46px)/1.12 Georgia,serif;letter-spacing:-.045em;color:#fff;margin:11px 0}
.jp-league-top p{font:13px/1.7 Arial,sans-serif;color:#d0dbe0;margin:0;max-width:660px}
.jp-league-score{text-align:right;min-width:130px;display:flex;flex-direction:column}
.jp-league-score strong{font:400 47px/1.1 Georgia,serif;color:#efd2a0;font-variant-numeric:tabular-nums}
.jp-league-score span{color:#fff;font:700 12px Arial,sans-serif;margin:3px 0 8px}
.jp-league-score small{color:#b2c1cc;font:11px Arial,sans-serif}
.jp-league-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);gap:14px;padding:17px}
.jp-league-ranking,.jp-league-awards{background:#fffcf5;color:#1e3c4d;min-width:0;padding:20px 22px 22px;border:1px solid #d8c9ae}
.jp-league-card-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px;padding-bottom:12px;border-bottom:1px solid #e3ded4}
.jp-league-card-head strong{font:400 24px Georgia,serif;color:#17384c}
.jp-league-card-head span{font:700 10px Arial,sans-serif;letter-spacing:.04em;color:#997b51}
.jp-league-ranking table{border-collapse:collapse;width:100%;font:12px/1.5 Arial,sans-serif}
.jp-league-ranking th{text-align:left;color:#89755e;font:800 10px Arial,sans-serif;padding:14px 4px 8px}
.jp-league-ranking td{padding:11px 4px;border-top:1px solid #e9e4da}
.jp-league-ranking td:first-child{display:flex;align-items:center;gap:11px}
.jp-league-ranking th:nth-child(n+2),.jp-league-ranking td:nth-child(n+2){text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.jp-league-ranking .jp-league-empty td{display:table-cell;text-align:left;padding:23px 8px}
.jp-league-empty b,.jp-league-empty span{display:block}
.jp-league-empty b{font-size:12px;color:#2c4657}
.jp-league-empty span{font-size:11px;color:#72848a;line-height:1.6;margin-top:6px}
.jp-league-place{font:800 10px Arial,sans-serif;color:#b58e5b;border:1px solid #d8c5a2;background:#fcf4e5;padding:7px;min-width:29px;text-align:center}
.jp-league-badge-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:15px 0 10px}
.jp-league-badge-item{border:1px solid #e8dfcf;background:#fff;min-width:0;padding:10px;display:flex;flex-direction:column;align-items:flex-start;gap:7px}
.jp-league-badge-item{align-items:center;text-align:center}
.jp-league-badge-item .lra-badge{width:100%;padding:0;white-space:normal;gap:4px}
.jp-league-badge-item .lra-medal-shell{width:63px;height:63px}
.jp-league-badge-item .lra-badge-copy strong{font-size:11px}
.jp-league-badge-item small{text-wrap:balance}
.jp-league-badge-item small{font:10px/1.5 Arial,sans-serif;color:#6e7c83}
.jp-league-awards>p{color:#71818a;font:11px/1.6 Arial,sans-serif;margin:5px 0 9px}
.jp-league-innerlink{display:inline-block;color:#8c673b;font:800 11px/1.6 Arial,sans-serif;text-decoration:none;border-bottom:1px solid #d7c29a;margin-top:12px;padding-bottom:3px}
.jp-league-mainlink{display:flex;justify-content:space-between;gap:15px;align-items:center;color:#f5dfb4;background:#203e51;text-decoration:none;padding:16px 30px;border-top:1px solid #516676;font:700 12px Arial,sans-serif}
.jp-league-mainlink span{font-size:20px}
.jp-quick-fields{grid-template-columns:repeat(3,minmax(0,1fr))}
.jp-onboarding-league{padding:40px 0 5px}
.jp-onboarding-league .jp-league-dashboard{margin-bottom:10px}
@media(max-width:900px){.jp-league-grid{grid-template-columns:1fr}.jp-quick-fields{grid-template-columns:1fr}}
@media(max-width:600px){.jp-league-top{padding:24px 19px;align-items:flex-start;flex-direction:column;gap:13px}.jp-league-score{text-align:left;min-width:0;display:flex;flex-direction:row;align-items:baseline;gap:9px;flex-wrap:wrap}.jp-league-score strong{font-size:35px}.jp-league-score small{flex-basis:100%}.jp-league-grid{padding:10px;gap:10px}.jp-league-ranking,.jp-league-awards{padding:17px 13px}.jp-league-badge-grid{grid-template-columns:1fr 1fr;gap:7px}.jp-league-badge-item{padding:8px}.jp-league-card-head strong{font-size:20px}.jp-league-card-head span{font-size:9px}.jp-league-mainlink{padding:16px 20px}.jp-league-label{align-items:flex-start}}
