@import "https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;700&family=Nunito+Sans:wght@400;600;700&display=swap";:root{--bg:#eaf6ff;--panel:#fff;--ink:#0f2d45;--muted:#4e6b82;--brand:#2a7fb9;--brand-soft:#d9ecfb;--grade-lehrbua:#2e8f5d;--grade-gsoi:#1f5ca3;--grade-moasta:#a52323;--grade-guru:#b68a2a;--danger:#b02f2f;--shadow:0 12px 28px #144a731f;--space-1:.5rem;--space-2:.8rem;--space-3:1rem;--space-4:1.25rem;--space-5:1.6rem}*{box-sizing:border-box}body{color:var(--ink);background:radial-gradient(circle at 100% 0, #58aee63d, transparent 30%), radial-gradient(circle at 0 100%, #2a7fb933, transparent 38%), var(--bg);min-height:100vh;margin:0;font-family:Nunito Sans,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}.app-shell{max-width:1280px;padding:var(--space-4);margin:0 auto}.hero{gap:var(--space-3);color:#fff;padding:var(--space-4) var(--space-5);box-shadow:var(--shadow);margin-bottom:var(--space-3);background:linear-gradient(130deg,#2a7fb9,#58aee6);border-radius:20px;grid-template-columns:auto 1fr auto;align-items:center;animation:.36s ease-out reveal;display:grid}.hero-brand{grid-column:1/span 2;align-items:center;gap:.9rem;display:flex}.hero-logo-white{object-fit:contain;filter:brightness(0)invert();flex:none;width:72px;height:72px}.hero h1{letter-spacing:.04em;text-transform:uppercase;margin:0;font-family:Barlow Condensed,sans-serif;font-size:clamp(1.8rem,3vw,2.8rem)}.hero p{color:#eaf6ff;margin:.4rem 0 0}.admin-access{justify-self:end}.admin-icon-btn{color:#fff;cursor:pointer;background:#fff3;border:1px solid #ffffff73;border-radius:999px;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.25rem;display:inline-flex}.admin-icon-btn:hover{background:#ffffff4d}.main-nav{margin:0 0 var(--space-3);gap:.7rem;display:flex}.main-nav button{color:var(--ink);box-shadow:var(--shadow);cursor:pointer;background:#fff;border:none;border-radius:999px;padding:.55rem 1rem}.main-nav button.active{background:var(--brand);color:#fff}.mode-badge{margin:0 0 var(--space-3);border-radius:999px;align-items:center;padding:.35rem .7rem;font-size:.82rem;font-weight:700;display:inline-flex}.mode-badge-readonly{color:#4e6b82;background:#eef3f8;border:1px solid #c6d7e5}.mode-badge-admin{color:#2e7b43;background:#dbf0de;border:1px solid #9ccb9d}.panel{background:var(--panel);box-shadow:var(--shadow);padding:var(--space-4);border-radius:16px}.panel h2{margin:0 0 var(--space-2)}.panel h3{margin:var(--space-3) 0 var(--space-1)}.panel p{margin:0 0 var(--space-2)}.climber-layout{gap:var(--space-3);grid-template-columns:280px 1fr;display:grid}.admin-layout{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.inline-form{margin-bottom:var(--space-3);flex-wrap:wrap;gap:.5rem;display:flex}input,select,textarea{border:1px solid #d4dccf;border-radius:10px;width:100%;padding:.55rem .65rem}textarea{resize:vertical;min-height:80px}button{background:var(--brand);color:#fff;cursor:pointer;border:none;border-radius:10px;padding:.55rem .85rem}.list-stack{gap:var(--space-1);flex-direction:column;max-height:62vh;padding-right:.2rem;display:flex;overflow:auto}.list-item{text-align:left;color:var(--ink);background:#f6f8f5;justify-content:space-between;align-items:center;display:flex}.grade-name{font-weight:700}.list-item.active{background:var(--brand-soft);border:1px solid #89b09a}.current-level{margin-bottom:var(--space-4);background:linear-gradient(135deg,#eef8ff,#d7ecfb);border:2px solid #86bbe2;border-radius:12px;flex-direction:column;gap:.2rem;padding:.9rem 1rem;display:flex;box-shadow:0 10px 22px #2a7fb92e}.current-level-label{text-transform:uppercase;letter-spacing:.06em;color:#356a90;font-size:.9rem;font-weight:700}.current-level-value{font-family:Barlow Condensed,sans-serif;font-size:clamp(1.8rem,3.5vw,2.5rem);line-height:1}.level-grid{gap:var(--space-3);margin-bottom:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.level-card{padding:var(--space-3);background:#f8faf8;border:1px solid #dbe5dc;border-radius:12px}.level-card h3{margin:0;font-family:Barlow Condensed,sans-serif;font-size:1.4rem}.level-card p{margin:.35rem 0}.joker-box{margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px dashed #cad6cc}.joker-toggle{align-items:center;gap:.45rem;margin-bottom:.45rem;display:flex}.joker-toggle input{width:auto}.row-actions{margin-top:var(--space-2);flex-wrap:wrap;gap:.5rem;display:flex}.icon-group{background:#f7fbff;border:1px solid #d5e3ee;border-radius:10px;align-items:center;gap:.35rem;padding:.25rem .4rem;display:inline-flex}.tool-hint{color:var(--muted);white-space:nowrap;margin-left:.25rem;font-size:.82rem}.export-icon-btn{color:var(--ink);background:0 0;border:1px solid #c8d8e6;padding:.45rem .55rem}.export-icon-btn:hover{background:0 0;border-color:#8eb5d1}.routes-table-wrap{margin-top:var(--space-3);overflow:auto}table{border-collapse:collapse;width:100%;min-width:700px}th,td{text-align:left;border-bottom:1px solid #e0e7e1;padding:.65rem .55rem}.sort-header-btn{all:unset;cursor:pointer;color:inherit;font-weight:700}.sort-header-btn:hover{text-decoration:underline}tr.missing{background:#fff4f4}.route-form{gap:var(--space-2);display:grid}.checkbox-grid{padding:var(--space-2);border:1px solid #dbe4db;border-radius:10px;gap:.45rem;display:grid}.checkbox-grid h3{margin:0 0 .3rem;font-size:1rem}.checkbox-grid label{align-items:center;gap:.4rem;display:flex}.checkbox-grid input{width:auto}.error-box{color:var(--danger);background:#ffecec;border:1px solid #f5bcbc;border-radius:10px;padding:.7rem}.success-box{color:#216a35;background:#e8f8ec;border:1px solid #9ed6ad;border-radius:10px;padding:.7rem}.field-hint{color:#b02f2f;margin:0;font-size:.82rem}.modal-backdrop{z-index:1000;background:#0a1f3073;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.modal-card{width:min(420px,100%);padding:var(--space-4);background:#fff;border-radius:14px;box-shadow:0 20px 40px #0a1f3040}.modal-card h3{margin:0 0 .8rem}@keyframes reveal{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (width<=980px){.app-shell{padding:var(--space-3)}.climber-layout,.admin-layout,.hero{grid-template-columns:1fr}.hero-brand{grid-column:auto}.admin-access{justify-self:start}}
