/* BJJ Nürnberg: verde #2a9030, amarelo #fec400, derivados dos logos. */
:root{--paper:#f4f6f1;--ink:#182e24;--muted:#57675e;--line:#dbe2d8;--accent:#236f29;--accent-soft:#e8f2e5;--green:#236f29;--green-soft:#e8f2e5;--blue:#365e78;--blue-soft:#edf3f7;--gold:#fec400;--deep:#123e2d;--radius:14px;--font:"Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,Arial,sans-serif}
body{background:var(--paper)}
button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #2a9030;outline-offset:3px}
button svg{pointer-events:none}
.topbar{background:#fff;border-bottom:1px solid var(--line)}
.topbar-inner{max-width:1280px;padding:20px 36px;gap:24px;min-height:92px}
.brand{display:flex;align-items:center;gap:22px;text-decoration:none;color:var(--ink)}
.brand-logo{width:116px;height:auto;display:block}
.brand-sub{display:flex;flex-direction:column;gap:3px;padding-left:22px;color:var(--muted);font-size:12px;line-height:1.4}
.brand-sub strong{font-size:12px;letter-spacing:1.1px;font-weight:700;color:var(--deep)}
.brand-sub>span{font-size:12px}
.resources{gap:8px}.quiet-button{font-size:13px;padding:0 13px;gap:8px;color:var(--muted)}
.quiet-button:hover{background:var(--green-soft);color:var(--accent)}
.quiet-button svg{width:18px;height:18px}
.shell{max-width:1280px;padding:28px 36px 0}
.academy-hero{position:relative;isolation:isolate;overflow:hidden;background:var(--deep);border-radius:20px;padding:34px 40px;min-height:290px;display:flex;align-items:center;justify-content:space-between;gap:24px;color:white}
.academy-hero:after{content:"";position:absolute;bottom:0;left:0;right:0;height:5px;background:linear-gradient(90deg,#fec400 0 25%,#2a9030 25% 100%)}
.hero-copy{position:relative;z-index:1;max-width:650px}
.hero-eyebrow{display:flex;align-items:center;gap:8px;font-size:10px;font-weight:700;letter-spacing:1.7px;color:#d5e9ce;margin-bottom:16px}
.live-dot{height:7px;width:7px;background:var(--gold);border-radius:50%;flex-shrink:0}
.academy-hero h1{font-size:42px;font-weight:700;letter-spacing:-1.5px;line-height:1.14}
.academy-hero h1 span{color:#fec400}
.hero-copy>p{font-size:14px;line-height:1.6;margin-top:15px;color:#d9e6d8;max-width:420px}
.hero-facts{display:flex;gap:16px;flex-wrap:wrap;margin-top:23px;font-size:11px;color:#e3ebdd}
.hero-facts>span+span{border-left:1px solid #64846b;padding-left:16px}
.hero-emblem{z-index:1;display:flex;align-items:center;flex-direction:column;flex-shrink:0;margin-right:34px;width:235px}
.hero-emblem img{width:216px;height:168px;object-fit:contain;background:#fff;border-radius:50%;padding:15px 12px}
.hero-emblem>span{font-size:9px;font-weight:700;letter-spacing:1.5px;margin-top:19px;color:#d9e6d8;white-space:nowrap}
.hero-year{position:absolute;z-index:0;font-size:210px;line-height:1;font-weight:900;letter-spacing:-18px;color:#ffffff05;right:-2px;bottom:-13px;user-select:none}
.planning{margin-top:32px}.planning-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px}
.planning-heading .eyebrow,.notes-heading .eyebrow{font-size:10px;font-weight:700;letter-spacing:1.6px;color:var(--accent)}
.planning-heading h2{font-size:24px;font-weight:700;letter-spacing:-.7px;margin-top:4px}
.text-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:12px;font-weight:600;min-height:44px;color:var(--accent);padding:6px 0;text-underline-offset:4px}
.text-button:hover{text-decoration:underline}.text-button svg{width:16px;height:16px}
.week-toolbar{display:flex;align-items:stretch;justify-content:space-between;gap:16px}
.week-nav{position:static;max-width:440px;width:440px;display:grid;grid-template-columns:46px minmax(0,1fr) 46px;gap:7px}
.nav-arrow{min-height:64px;border-radius:10px}.nav-arrow:hover:not(:disabled),.week-picker:hover{border-color:var(--accent);background:#fafff5}
.week-picker{border-radius:10px;padding:10px 16px}.week-range{font-size:20px;font-weight:700;letter-spacing:-.4px}.week-meta{font-size:11px}
.lesson-actions{display:flex;gap:9px;align-items:center}.outline-button{display:flex;align-items:center;justify-content:center;gap:7px;min-height:44px;border:1px solid var(--line);background:#fff;border-radius:9px;padding:9px 13px;font-size:12px;font-weight:600}
.outline-button:hover{border-color:var(--accent);background:var(--green-soft)}.outline-button svg{width:16px;height:16px}
.week-overview{padding:24px 0 21px;gap:20px}.week-overview h2{font-size:28px;font-weight:700;letter-spacing:-.8px;line-height:1.2}
.cycle-kicker{font-size:12px;margin-bottom:9px;gap:9px}.badge{border-radius:5px;padding:4px 8px;font-size:11px}.badge.attack{color:#236f29;background:#e8f2e5}.badge.defense{color:#365e78;background:#eaf1f7}
.week-overview .subtitle{font-size:12px;line-height:1.6}.cycle-progress{gap:10px}.progress-step{font-size:11px;min-width:63px}.progress-step .step-bar{height:5px;background:#dce2d6}.progress-step.complete .step-bar{background:#83b778}.progress-step.current .step-bar{background:var(--accent)}
.filters{margin:22px 0 17px;gap:24px}.field-label{font-size:10px;font-weight:700;letter-spacing:1px;margin-bottom:9px;text-transform:uppercase}
.segmented{max-width:660px;border:1px solid var(--line);background:#e9eee4;border-radius:10px;padding:4px;gap:4px}.segmented button{min-height:51px;border-radius:7px;padding:6px 16px;font-size:13px;font-weight:600}.segmented button span{font-size:11px;color:var(--muted)}
.segmented button[aria-pressed=true]{background:white;box-shadow:0 1px 4px #17352012;color:var(--accent)}
.select-wrap select{background:white;border-radius:10px;font-size:12px;min-height:61px;padding-left:15px}.level-filter{min-width:210px}
.safety-line{background:#edf2e8;border-radius:9px;padding:9px 12px;font-size:11px;gap:9px;color:#435f42;margin-bottom:21px}.safety-line svg{width:17px;height:17px}.safety-line button{font-size:11px;color:#31592f;min-height:30px;margin-left:auto;white-space:nowrap}
.day-switch{display:flex;position:static;gap:8px;padding:0;margin:4px 0 16px;align-items:stretch;max-width:650px;background:none}
.day-switch button{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;text-align:left;border:1px solid var(--line);background:#fff;border-radius:10px;min-height:57px;padding:9px 18px;font-size:13px;font-weight:700;flex:1}
.day-switch button span{display:block;font-size:10px;font-weight:400;margin:3px 0 0;line-height:1.4}
.day-switch button[aria-pressed=true]{background:var(--deep);border-color:var(--deep);color:#fff}.day-switch button[aria-pressed=true] span{color:#dde9da}
.day-switch #jump-tech{flex:0 0 86px;align-items:center;text-align:center;padding:8px}.day-switch #jump-tech svg{width:19px;height:19px}.day-switch #jump-tech[hidden]{display:none}
.sessions{gap:20px}.session{border-radius:14px;overflow:hidden;background:white;border:1px solid var(--line);box-shadow:0 3px 14px #102e1a03}
.session-head{background:#fff;padding:21px 22px;border-bottom:1px solid var(--line);border-top:4px solid #c6d3c1}
.sessions[data-day=friday] .session[data-session=friday] .session-head,.sessions[data-day=saturday] .session[data-session=saturday] .session-head{border-top-color:var(--accent)}
.day-caption{font-size:10px;letter-spacing:1.2px;color:var(--accent);font-weight:700}.day-title h2{font-size:22px;font-weight:700}.day-title span{font-size:12px}.session-hours{font-size:13px;font-weight:600}.session-hours span{font-size:11px;font-weight:400}
.session-intro{background:#f9fbf7}.session-focus{font-size:11px}.session-intro p{font-size:12px;color:var(--muted)}.time{font-size:11px;color:var(--muted);font-weight:600}.block-title{font-size:13px}.duration{font-size:11px}
.tech-index{background:var(--green-soft);color:var(--accent);font-size:11px;border-radius:6px;height:30px;display:flex;align-items:center;justify-content:center}.tech-title strong{font-size:14px}.tech-title small{font-size:11px}.technique[open]>summary{background:#f0f5eb}.lesson-footer{background:#faf7e8;border-top:1px solid #eee6c9}.lesson-footer strong{color:#725600}
.instructor-notes{margin-top:24px;padding:24px;background:white;border:1px solid var(--line);border-radius:14px}.notes-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px}.notes-heading h2{font-size:20px;font-weight:700;letter-spacing:-.5px;margin-top:5px}.notes-context{font-size:11px;line-height:1.5;color:var(--accent);background:var(--green-soft);border-radius:6px;padding:7px 10px;text-align:right;flex-shrink:0}
.instructor-notes>label{font-size:12px;font-weight:600;display:block;margin-bottom:8px}.instructor-notes textarea{width:100%;resize:vertical;min-height:98px;max-height:480px;border:1px solid var(--line);border-radius:9px;padding:13px 15px;font:400 13px/1.7 var(--font);color:var(--ink);background:#fcfdfb}.instructor-notes textarea::placeholder{color:#74816f}.notes-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:8px}.notes-footer p{font-size:11px;color:var(--muted);line-height:1.5}.notes-footer button{white-space:nowrap}
.level-guide>details{border-radius:12px;background:transparent}.footer{display:flex;align-items:center;gap:24px;padding:28px 0 30px;margin-top:25px}.footer>img{width:125px;height:auto;object-fit:contain;flex-shrink:0}.footer>div{flex:1}.footer strong{font-size:12px}.footer span,.footer p{font-size:11px;line-height:1.7}.footer p{flex-shrink:0}
dialog{border-radius:16px}dialog::backdrop{background:#102c22a6;backdrop-filter:blur(3px)}.modal-head{background:#fbfcf8;border-bottom:1px solid var(--line)}.modal-head h2{font-weight:700}.week-option[aria-current=true]{background:var(--green-soft);border-radius:8px}.searchbar{background:#fff}.annual-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.month-card{border:1px solid var(--line);border-radius:10px;text-align:left;padding:16px;display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-height:150px;background:#fff}.month-card:hover{border-color:var(--accent);background:#f7fbf3}.month-card strong{font-size:16px}.month-card .month-number{font-size:10px;letter-spacing:1px;color:var(--accent);font-weight:700}.month-card small{font-size:11px;color:var(--muted);line-height:1.5}.month-card .month-value{font-size:10px;color:#6e5918;background:#fff7d6;padding:3px 6px;border-radius:4px}.annual-legend{display:flex;gap:16px;flex-wrap:wrap;margin:16px 0;font-size:12px;color:var(--muted)}
.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:50;background:var(--deep);color:#fff;border:1px solid #719275;border-radius:10px;padding:13px 20px;font-size:13px;max-width:calc(100vw - 32px);box-shadow:0 6px 25px #102c2233}.toast[hidden]{display:none}.print-context{display:none}.share-field{width:100%;font:400 12px/1.5 var(--font);padding:12px;border:1px solid var(--line);border-radius:8px;overflow-wrap:anywhere}
@media(max-width:1050px){.topbar-inner{padding:18px 24px}.shell{padding:24px 24px 0}.brand-sub{display:none}.hero-emblem{margin-right:0;width:190px}.hero-emblem img{width:180px;height:145px}.hero-emblem>span{font-size:8px;letter-spacing:1px}.academy-hero h1{font-size:36px}.academy-hero{padding:28px}.week-overview{display:block}.cycle-progress{margin-top:20px;max-width:370px}.progress-step{flex:1}.lesson-actions{flex-direction:column;justify-content:center}.outline-button{min-height:32px;padding:6px 12px;width:100%;font-size:11px}.week-nav{width:390px}.footer{gap:16px}.footer>img{width:105px}}
@media(max-width:767px){.topbar-inner{padding:15px 16px;min-height:75px;gap:10px}.brand-logo{width:93px}.resources{gap:3px}.quiet-button{font-size:9px;padding:4px 8px;gap:5px;min-height:43px}.quiet-button svg{width:17px;height:17px}.shell{padding:16px 16px 0}.academy-hero{padding:25px 23px;min-height:257px;border-radius:14px;display:block}.hero-eyebrow{font-size:8px;letter-spacing:1.05px;margin-bottom:18px;max-width:230px}.academy-hero h1{font-size:31px;letter-spacing:-1px;max-width:360px;position:relative;z-index:2}.hero-copy>p{font-size:12px;max-width:260px;margin-top:13px}.hero-emblem{display:none}.hero-facts{font-size:9px;gap:12px;margin-top:21px}.hero-facts>span+span{padding-left:12px}.hero-year{font-size:140px;letter-spacing:-10px;bottom:-6px}.planning{margin-top:27px}.planning-heading{align-items:flex-start;gap:9px;margin-bottom:15px}.planning-heading h2{font-size:21px}.planning-heading .eyebrow,.notes-heading .eyebrow{font-size:9px;letter-spacing:1.1px}.planning-heading .text-button{font-size:10px;max-width:112px;line-height:1.5;gap:4px;text-align:right;justify-content:flex-end;min-height:44px}.planning-heading .text-button svg{flex-shrink:0;width:14px}.week-toolbar{display:block}.week-nav{width:100%;max-width:none;grid-template-columns:43px minmax(0,1fr) 43px}.nav-arrow{min-height:61px}.week-range{font-size:18px}.week-meta{font-size:10px}.lesson-actions{flex-direction:row;gap:8px;margin-top:10px}.outline-button{min-height:40px;flex:1;font-size:11px;padding:8px;gap:6px}.week-overview{padding:22px 0 20px}.week-overview h2{font-size:25px}.week-overview .subtitle{display:block;font-size:11px;margin-top:8px}.cycle-progress{margin-top:18px;max-width:none;gap:10px}.progress-step{font-size:10px;min-width:0}.cycle-kicker{font-size:11px}.filters{margin:20px 0 13px}.field-label{font-size:9px}.segmented button{min-height:50px;font-size:12px;padding:6px 7px}.segmented button span{font-size:10px}.level-filter{margin-top:15px;min-width:0;gap:10px}.level-filter .field-label{margin-bottom:0}.select-wrap select{min-height:44px;font-size:12px}.safety-line{font-size:10px;padding:8px 10px;gap:7px;margin-bottom:14px;align-items:center}.safety-line button{font-size:10px;min-height:38px}.safety-line svg{flex-shrink:0}.day-switch{position:sticky;top:0;z-index:5;padding:8px 0 12px;margin:0 0 2px;background:var(--paper);max-width:none}.day-switch button{padding:9px 12px;font-size:13px;min-height:55px}.day-switch button span{font-size:9px}.day-switch #jump-tech{flex-basis:64px}.day-switch #jump-tech span{font-size:9px}.sessions{display:block}.session-head{padding:18px 16px}.day-title h2{font-size:21px}.day-title span{font-size:11px}.day-caption{font-size:9px}.session-hours{font-size:12px}.session-hours span{font-size:10px}.session-focus{font-size:10px}.tech-title strong{font-size:13px}.tech-title small{font-size:10px}.technique>summary{min-height:77px}.instructor-notes{padding:18px 16px;margin-top:18px}.notes-heading{align-items:flex-start;gap:8px;margin-bottom:16px}.notes-heading h2{font-size:18px;max-width:200px}.notes-context{font-size:10px;padding:6px 8px;max-width:118px}.instructor-notes textarea{font-size:16px;min-height:116px}.notes-footer{align-items:flex-start}.notes-footer p{font-size:10px;padding-top:8px;max-width:190px}.notes-footer button{font-size:10px;min-height:38px}.footer{display:flex;flex-wrap:wrap;gap:15px;padding:24px 0}.footer>img{width:94px}.footer strong{font-size:11px}.footer span{font-size:10px}.footer p{width:100%;font-size:10px;text-align:left;margin:0;border-top:1px solid var(--line);padding-top:12px}.annual-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.month-card{padding:13px;min-height:143px}.month-card strong{font-size:15px}.modal-head h2{font-size:19px}.toast{bottom:16px;font-size:12px}}
@media(max-width:359px){.quiet-button{padding:4px 5px;font-size:8px}.brand-logo{width:80px}.academy-hero{padding:24px 19px}.academy-hero h1{font-size:28px}.hero-facts{font-size:8px}.notes-heading{flex-direction:column}.notes-context{text-align:left;max-width:100%}.notes-footer{flex-direction:column;gap:2px}.notes-footer p{max-width:none}.day-switch button{padding:8px}.planning-heading h2{font-size:19px}}
@media print{
  @page{size:A4;margin:15mm}
  :root{--ink:#111;--muted:#444;--line:#ccc;--paper:#fff}
  html,body{background:#fff!important;font-size:10pt;scroll-padding:0}
  .shell{max-width:none;padding:0}.topbar-inner{padding:0 0 12px;min-height:0}.brand-logo{width:100px}.brand-sub{display:flex}.topbar{border-bottom:1px solid #bbb;margin-bottom:12px}
  .resources,.academy-hero,.planning-heading,.week-toolbar,.filters,.day-switch,.safety-line button,.instructor-notes,.level-guide,.footer,.skip,.toast,dialog,.tech-visual,.zoom-label,.tech-note .visual-available{display:none!important}
  .planning{margin:0}.week-overview{padding:0 0 12px;display:block}.week-overview h2{font-size:18pt}.week-overview .subtitle{display:none}.cycle-progress{max-width:340px;margin-top:12px}.safety-line{margin:10px 0;padding:8px;border:1px solid #ccc;font-size:9pt}
  .print-context{display:block;font-size:9pt;margin:10px 0}.sessions{display:block}.sessions[data-day=friday] .session[data-session=saturday],.sessions[data-day=saturday] .session[data-session=friday]{display:none!important}
  .session{box-shadow:none;border:0;border-radius:0;overflow:visible}.session-head{border:0;border-bottom:1px solid #ccc;padding:10px 0;background:#fff!important;break-inside:avoid}.session-intro,.lesson-footer{background:#fff!important;padding:10px 0}.timeline{padding:0}.timeline-row{break-inside:avoid;padding:12px 0;grid-template-columns:43px minmax(0,1fr)}.tech-row{break-inside:auto}.techniques{margin:0}.technique{break-inside:avoid}.technique>summary{min-height:0;padding:10px 0}.tech-body{padding:0 0 12px 0}.tech-body p,.small-copy{font-size:9pt!important}.tech-title strong{font-size:11pt}.block-title{font-size:10pt}.tech-index{background:#fff;border:1px solid #bbb;height:25px}.chevron,.technique>summary>svg{display:none}
  .print-notes{white-space:pre-wrap;border-top:1px solid #bbb;margin-top:16px;padding-top:12px;font-size:9pt;break-inside:avoid}.print-notes h3{font-size:11pt;margin-bottom:6px}
}
