 :root{--bg:#f2f5f8;--card:#fff;--text:#111827;--muted:#667085;--line:#dde3ea;--accent:#d90429;--gold:#f5b301}*{box-sizing:border-box}body{margin:0;font-family:system-ui,sans-serif;background:var(--bg);color:var(--text)}a{color:inherit;text-decoration:none}header{display:flex;justify-content:space-between;align-items:center;padding:18px max(20px,calc((100% - 1200px)/2));background:#0f172a;color:#fff}.brand{font-weight:900;letter-spacing:.12em}nav{display:flex;gap:12px;align-items:center;flex-wrap:wrap}nav form{margin:0}nav button{border:0;background:none;color:#fff}main{max-width:1200px;margin:auto;padding:24px 20px 60px}.card{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:22px;margin-bottom:14px;box-shadow:0 12px 34px #1720330b}.hero{background:linear-gradient(135deg,#fff,#fff0f2)}.hero h1{font-size:clamp(2.2rem,5vw,4.4rem);line-height:1;margin:12px 0}.pill{background:var(--accent);color:#fff;padding:6px 10px;border-radius:999px;font-weight:800}.filters{display:grid;grid-template-columns:2fr 1fr;gap:10px}.filters input,.filters select,.form input,.form textarea,.form select,.status-row input,.status-row select{width:100%;padding:12px;border:1px solid var(--line);border-radius:12px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.pass{position:relative}.meta{display:flex;justify-content:space-between;color:var(--muted);font-size:.82rem}.star-form{position:absolute;right:10px;bottom:10px;z-index:2}.star{border:0;background:none;font-size:2rem;color:#98a2b3}.star.selected{color:var(--gold)}.star.big{font-size:3.5rem}.status{display:inline-block;padding:5px 9px;border-radius:999px;background:#eef2f6;font-size:.72rem;font-weight:900;text-transform:uppercase}.status.open{background:#dcfce7;color:#166534}.status.closed{background:#fee2e2;color:#991b1b}.status.restricted{background:#fef3c7;color:#92400e}.columns{display:grid;grid-template-columns:1fr 1fr;gap:14px}.detail,.profile{display:flex;justify-content:space-between;align-items:center;gap:20px}.form{display:grid;gap:12px}.primary{display:inline-block;background:var(--accent);color:#fff;border:0;border-radius:12px;padding:12px 16px;font-weight:800}.danger{color:#b42318}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:14px}.rating-grid,.stats,.admin-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.rating-grid>div,.stats .card{text-align:center;padding:15px;border:1px solid var(--line);border-radius:15px}.rating-grid b,.stats b,.admin-stats b{display:block;font-size:2rem}.review,.route{border-top:1px solid var(--line);padding:14px 0}.checkgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.achievement-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.achievement{padding:18px;border:1px solid var(--line);border-radius:18px;opacity:.6}.achievement.done{opacity:1;border-color:#087f5b;background:#effaf5}.achievement>span{font-size:2rem}.traffic-light{background:#222;width:90px;border-radius:25px;padding:12px;display:grid;gap:8px}.traffic-light i{width:66px;height:66px;border-radius:50%;opacity:.15}.traffic-light .red{background:#ef4444}.traffic-light .yellow{background:#f59e0b}.traffic-light .green{background:#22c55e}.traffic-light i.active{opacity:1;box-shadow:0 0 20px currentColor}#map{height:72vh;border-radius:18px}.legend{margin-bottom:12px}.dot{display:inline-block;width:12px;height:12px;border-radius:50%;margin-left:10px}.dot.open{background:#22c55e}.dot.closed{background:#ef4444}.dot.restricted{background:#f59e0b}.dot.unknown{background:#94a3b8}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{padding:10px;border-bottom:1px solid var(--line);text-align:left}td form{display:inline}.status-row{display:grid;grid-template-columns:1.1fr .7fr 1.2fr 1fr 1fr 1fr 1fr auto;gap:7px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line)}.narrow{max-width:560px;margin:35px auto}.messages{max-width:1200px;margin:15px auto;padding:0 20px}.messages>div{padding:12px;border-radius:12px;background:#e7f5ff}.messages .error{background:#fff0f0}.messages .success{background:#e9f9ef}@media(max-width:900px){.grid,.gallery,.achievement-grid{grid-template-columns:repeat(2,1fr)}.columns{grid-template-columns:1fr}.rating-grid,.stats,.admin-stats{grid-template-columns:repeat(2,1fr)}.status-row{grid-template-columns:1fr 1fr}.checkgrid{grid-template-columns:1fr 1fr}}@media(max-width:560px){header,.detail,.profile{flex-direction:column;align-items:flex-start}.grid,.gallery,.achievement-grid,.filters,.rating-grid,.stats,.admin-stats,.checkgrid{grid-template-columns:1fr}.status-row{grid-template-columns:1fr}}
.eyebrow{font-size:.75rem;font-weight:900;letter-spacing:.12em;color:var(--accent)}
.section-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:20px}
.section-heading.compact{align-items:center}.section-heading h1,.section-heading h2{margin:.25rem 0}.section-heading p,.muted{color:var(--muted)}
.tour-counter{text-align:center;border:1px solid var(--line);border-radius:16px;padding:12px 20px}.tour-counter b{display:block;font-size:2rem}.tour-counter span{color:var(--muted)}
.tour-settings{display:grid;grid-template-columns:2fr 1fr;gap:18px;align-items:end}.switch-row{display:flex;gap:10px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:12px}.switch-row input{width:auto}
.tour-planner-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.tour-panel{border:1px solid var(--line);border-radius:18px;padding:16px;min-height:420px}.pass-picker{display:grid;gap:8px;max-height:420px;overflow:auto;margin-top:12px}.pass-choice{display:flex;justify-content:space-between;align-items:center;text-align:left;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff;cursor:pointer}.pass-choice:hover{border-color:var(--accent)}.pass-choice.chosen{opacity:.45}.pass-choice span{display:grid}.pass-choice small{color:var(--muted)}
.selected-passes{display:grid;gap:8px;min-height:260px}.selected-pass{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff;cursor:grab}.selected-pass.dragging{opacity:.45}.drag-handle{color:var(--muted)}.remove-pass{border:0;background:#fee2e2;color:#991b1b;border-radius:999px;width:30px;height:30px;font-size:1.2rem}.empty-state{padding:40px;text-align:center;color:var(--muted);border:2px dashed var(--line);border-radius:14px}.tour-estimate{display:grid;grid-template-columns:1fr auto;gap:4px;margin-top:16px;padding:14px;background:#f8fafc;border-radius:14px}.tour-estimate small{grid-column:2}.wide{width:100%}
.route-card{display:flex;justify-content:space-between;gap:20px;align-items:center}.route-meta{display:flex;gap:8px;flex-wrap:wrap}.route-meta span{background:#eef2f6;padding:5px 9px;border-radius:999px;font-size:.8rem}.route-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.secondary{display:inline-block;background:#eef2f6;color:var(--text);border:1px solid var(--line);border-radius:10px;padding:10px 13px;font-weight:700}.danger-button{background:#fee2e2;color:#991b1b;border:1px solid #fecaca;border-radius:10px;padding:10px 13px;font-weight:700}
.api-badge{padding:9px 12px;border-radius:999px;font-weight:800}.api-badge.ok{background:#dcfce7;color:#166534}.api-badge.warn{background:#fef3c7;color:#92400e}.admin-stat{position:relative;overflow:hidden}.admin-stat:after{content:"";position:absolute;inset:auto -20px -35px auto;width:90px;height:90px;border-radius:50%;background:#f1f5f9}
.admin-tools{display:flex;gap:8px}.admin-tools input,.admin-tools select{padding:10px;border:1px solid var(--line);border-radius:10px}.admin-table td{vertical-align:top}.table-sub{display:block;color:var(--muted);margin-top:3px}.role-badge,.user-status{display:inline-block;padding:4px 8px;border-radius:999px;font-size:.75rem;font-weight:800}.role-badge.admin{background:#ede9fe;color:#5b21b6}.role-badge.user{background:#eef2f6}.user-status.active{background:#dcfce7;color:#166534}.user-status.blocked{background:#fee2e2;color:#991b1b}
.admin-actions{position:relative}.admin-actions summary{cursor:pointer;font-weight:800}.action-menu{position:absolute;right:0;z-index:20;width:360px;padding:14px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 18px 50px #0f172a2b}.inline-edit{display:grid;gap:8px;padding-bottom:12px;margin-bottom:12px;border-bottom:1px solid var(--line)}.inline-edit label{display:grid;gap:4px;font-size:.8rem}.inline-edit input{padding:9px;border:1px solid var(--line);border-radius:9px}.button-row{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}
@media(max-width:900px){.tour-planner-grid,.tour-settings{grid-template-columns:1fr}.route-card,.section-heading{flex-direction:column}.admin-tools{width:100%;flex-direction:column}.action-menu{position:fixed;left:20px;right:20px;top:15vh;width:auto;max-height:70vh;overflow:auto}}

.site-footer{max-width:1180px;margin:auto;padding:25px 20px 40px;border-top:1px solid var(--line);color:var(--muted);display:flex;justify-content:space-between;gap:20px}.site-footer nav{display:flex;gap:12px;flex-wrap:wrap}.hp-field{position:absolute!important;left:-9999px!important}.alert-settings{display:grid;gap:7px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}.profile-avatar{width:110px;height:110px;border-radius:50%;object-fit:cover}.achievement-admin-form{display:grid;grid-template-columns:1fr 2fr .6fr 1fr .6fr .6fr 2fr auto;gap:8px;margin-bottom:15px}.achievement-admin-form input{padding:9px;border:1px solid var(--line);border-radius:9px}.legal-page{max-width:900px;margin:auto}.legal-text{line-height:1.65}@media(max-width:900px){.achievement-admin-form{grid-template-columns:1fr 1fr}.site-footer{flex-direction:column}}


/* PassAtlas V4.2.1 – Tourenplaner */
.route-builder-v421{padding:28px}
.route-head,.admin-v421-header,.admin-users-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}
.route-head h1,.admin-v421-header h1{margin:.2rem 0;font-size:2rem}
.route-head p,.admin-v421-header p,.admin-users-heading p{color:var(--muted);margin:.4rem 0}
.route-kicker{font-size:.75rem;font-weight:900;letter-spacing:.11em;color:var(--accent)}
.route-selection-count{min-width:110px;text-align:center;padding:12px 18px;border:1px solid var(--line);border-radius:16px;background:#fff}
.route-selection-count b{display:block;font-size:2rem}.route-selection-count span{color:var(--muted);font-size:.85rem}
.route-top-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:12px}.route-top-grid label{display:grid;gap:7px;font-weight:700}
.route-options{display:flex;gap:10px;flex-wrap:wrap}.option-pill{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:999px;padding:9px 14px;background:#fff;cursor:pointer}.option-pill input{width:auto}
.pass-select-section{margin-top:10px;padding-top:10px}.pass-select-title h2{margin-bottom:.25rem}.pass-select-title p{color:var(--muted);margin-top:0}
.route-search-wrap{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:14px;padding:0 14px;margin:14px 0 18px;background:#fff}.route-search-wrap span{font-size:1.4rem;color:#64748b}.route-search-wrap input{border:0!important;outline:0;padding:14px 0!important;background:transparent!important}
.pass-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.pass-select-card{position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:15px 16px;border:1px solid var(--line);border-radius:15px;background:#fff;cursor:pointer;transition:.16s ease;min-height:72px}
.pass-select-card:hover{border-color:#f59aaa;transform:translateY(-1px);box-shadow:0 6px 18px #11182710}
.pass-select-card.selected{border-color:var(--accent);background:#fff5f7;box-shadow:0 0 0 2px #d9042912}
.pass-checkbox{position:absolute;opacity:0;pointer-events:none}
.pass-card-icon{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#fff0f3;color:var(--accent);font-size:1.15rem}
.pass-card-main{display:grid;gap:3px}.pass-card-main b{font-size:1rem}.pass-card-main small{color:var(--muted)}
.fake-check{width:25px;height:25px;border:2px solid #a8afb9;border-radius:7px;color:transparent;display:grid;place-items:center;font-weight:900}
.pass-select-card.selected .fake-check{background:var(--accent);border-color:var(--accent);color:#fff}
.route-save-btn{width:100%;font-size:1rem;margin-top:18px;padding:15px}
.route-help{text-align:center;color:var(--muted);font-size:.85rem}
.saved-routes-v421{display:grid;gap:12px}.saved-route-card{display:flex;justify-content:space-between;gap:20px;align-items:center;border:1px solid var(--line);border-radius:16px;padding:18px}.saved-route-card h3{margin:.1rem 0 .5rem}.saved-route-path{color:var(--muted)}.saved-route-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.empty-panel{padding:35px;text-align:center;border:2px dashed var(--line);border-radius:16px;color:var(--muted)}

/* PassAtlas V4.2.1 – Admin */
.admin-v421-header{margin-bottom:16px}.api-badge{padding:9px 13px;border-radius:999px;font-size:.8rem;font-weight:800}.api-badge.ok{background:#dcfce7;color:#166534}.api-badge.warn{background:#fef3c7;color:#92400e}
.admin-stats-v421{grid-template-columns:repeat(3,1fr)}
.admin-stat-v421{display:flex;align-items:center;gap:13px;margin:0}.admin-stat-icon{width:44px;height:44px;border-radius:13px;background:#f6f7fa;display:grid;place-items:center;font-size:1.25rem}.admin-stat-v421 small{display:block;color:var(--muted)}.admin-stat-v421 b{display:block;font-size:1.65rem}
.admin-users-card{overflow:visible}.admin-users-heading{align-items:center}.admin-user-tools{display:flex;gap:8px}.admin-user-tools input,.admin-user-tools select{padding:11px;border:1px solid var(--line);border-radius:11px;background:#fff}
.admin-user-list{display:grid;gap:10px;margin-top:18px}.admin-user-row{border:1px solid var(--line);border-radius:16px;background:#fff;overflow:hidden}
.admin-user-summary{display:grid;grid-template-columns:auto minmax(180px,1.5fr) .6fr .7fr .6fr .7fr auto;gap:16px;align-items:center;padding:14px 16px}
.admin-avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#eef2ff;color:#4f46e5;font-weight:900}.admin-user-identity{display:grid}.admin-user-identity span,.admin-user-fact span,.admin-user-fact small{color:var(--muted);font-size:.82rem}.admin-user-fact{display:grid;gap:3px}.admin-user-fact b{font-size:.95rem}
.admin-expand-btn{border:1px solid var(--line);background:#fff;border-radius:10px;padding:9px 12px;font-weight:800;cursor:pointer}.admin-expand-btn:hover{background:#f8fafc}
.admin-user-details{border-top:1px solid var(--line);background:#fafbfc;padding:16px}.admin-detail-info{display:flex;gap:30px;margin-bottom:14px}.admin-detail-info div{display:grid}.admin-detail-info small{color:var(--muted)}
.admin-edit-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.admin-mini-form{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px;display:grid;gap:9px}.admin-mini-form h4{margin:0}.admin-mini-form label{display:grid;gap:5px;font-size:.85rem}.admin-mini-form input{padding:10px;border:1px solid var(--line);border-radius:9px}.admin-action-grid{display:flex;flex-wrap:wrap;gap:8px}.danger-zone{border-color:#fecaca;background:#fffafa}.danger-zone p{color:var(--muted);font-size:.85rem;margin:.1rem 0}
.status-admin-list{display:grid;gap:10px}.status-card-v421{border:1px solid var(--line);border-radius:15px;padding:14px;display:grid;gap:12px}.status-card-title{display:flex;justify-content:space-between;align-items:center}.status-card-fields{display:grid;grid-template-columns:.8fr 1.4fr 1fr .9fr 1fr 1.2fr;gap:8px}.status-card-fields label{display:grid;gap:5px;font-size:.78rem;color:var(--muted)}.status-card-fields input,.status-card-fields select{padding:10px;border:1px solid var(--line);border-radius:9px;color:var(--text);background:#fff}.admin-log-line{border-bottom:1px solid var(--line);padding:8px 0}

@media(max-width:1050px){
  .pass-card-grid{grid-template-columns:repeat(2,1fr)}
  .route-top-grid{grid-template-columns:1fr 1fr}
  .admin-user-summary{grid-template-columns:auto 1.5fr .5fr .6fr auto}
  .admin-user-summary .admin-user-fact:nth-of-type(3),.admin-user-summary .admin-user-fact:nth-of-type(4){display:none}
  .status-card-fields{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:760px){
  .route-head,.admin-v421-header,.admin-users-heading,.saved-route-card{flex-direction:column}
  .route-top-grid,.pass-card-grid,.admin-edit-grid,.status-card-fields{grid-template-columns:1fr}
  .admin-stats-v421{grid-template-columns:repeat(2,1fr)}
  .admin-user-tools{width:100%;flex-direction:column}
  .admin-user-summary{grid-template-columns:auto 1fr auto}
  .admin-user-summary .admin-user-fact{display:none}
  .saved-route-actions{width:100%}
}
@media(max-width:480px){
  .admin-stats-v421{grid-template-columns:1fr}
}


/* PassAtlas V4.2.2 – stable route selection cards */
.route-builder-v422{padding:28px}
.route-pass-panel{margin-top:8px}
.route-pass-heading h2{margin-bottom:.25rem}
.route-pass-heading p{margin-top:0;color:var(--muted)}
.route-pass-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.route-pass-card{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  min-height:72px;
  padding:14px 16px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:15px;
  cursor:pointer;
  transition:border-color .15s ease,background .15s ease,box-shadow .15s ease,transform .15s ease
}
.route-pass-card:hover{border-color:#f2a1af;box-shadow:0 7px 20px #11182710;transform:translateY(-1px)}
.route-pass-card.selected{border-color:var(--accent);background:#fff5f7;box-shadow:0 0 0 2px #d9042912}
.route-pass-icon{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#fff0f3;color:var(--accent)}
.route-pass-info{display:grid;gap:3px;min-width:0}.route-pass-info b{overflow:hidden;text-overflow:ellipsis}.route-pass-info small{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.route-pass-checkbox{width:20px!important;height:20px!important;accent-color:var(--accent);cursor:pointer}
@media(max-width:900px){.route-pass-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.route-pass-grid{grid-template-columns:1fr}}


/* PassAtlas V4.2.4 – Wetter */
#weather{display:grid;gap:16px}
.weather-current{
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:16px;
  padding:18px;
  border:1px solid var(--line);
  border-radius:18px;
  background:linear-gradient(135deg,#ffffff,#f8fafc);
}
.weather-current-icon{
  width:62px;
  height:62px;
  display:grid;
  place-items:center;
  border-radius:18px;
  background:#eef4ff;
  font-size:2rem;
}
.weather-current-main{display:grid;gap:2px}
.weather-current-main>span{color:var(--muted);font-size:.82rem}
.weather-current-main strong{font-size:2rem;line-height:1}
.weather-current-main small{color:var(--muted);margin-top:3px}
.weather-current-meta{
  display:grid;
  gap:6px;
  min-width:125px;
  color:#475569;
  font-size:.87rem;
}
.weather-days{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:9px;
}
.weather-day-card{
  padding:13px;
  border:1px solid var(--line);
  border-radius:15px;
  background:#fff;
  transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease;
}
.weather-day-card:hover{
  transform:translateY(-2px);
  box-shadow:0 8px 22px #11182710;
  border-color:#cbd5e1;
}
.weather-day-top{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:10px;
}
.weather-day-top>b{text-transform:capitalize}
.weather-icon{font-size:1.35rem}
.weather-temp-range{
  display:flex;
  align-items:baseline;
  gap:5px;
  margin-bottom:8px;
}
.weather-temp-range strong{font-size:1.35rem}
.weather-temp-range span{color:var(--muted)}
.weather-rain{
  color:#64748b;
  font-size:.82rem;
}
.weather-source{
  text-align:right;
  color:var(--muted);
  font-size:.75rem;
}
.weather-error{
  padding:15px;
  border-radius:13px;
  background:#fff7ed;
  color:#9a3412;
}
@media(max-width:900px){
  .weather-days{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:620px){
  .weather-current{grid-template-columns:auto 1fr}
  .weather-current-meta{grid-column:1/-1;grid-template-columns:repeat(3,1fr);min-width:0}
  .weather-days{grid-template-columns:repeat(2,1fr)}
}


/* PassAtlas V4.2.5 – Wetter kompakt */
#weather{
  display:block;
}
.weather-current-compact{
  display:grid;
  gap:6px;
  margin-bottom:18px;
}
.weather-current-compact strong{
  font-size:1.5rem;
}
.weather-current-compact span{
  color:var(--muted);
  font-size:.92rem;
}
.weather-compact-list{
  display:grid;
  gap:0;
  border-top:1px solid var(--line);
}
.weather-compact-day{
  display:grid;
  grid-template-columns:52px 1fr auto;
  align-items:center;
  gap:12px;
  padding:12px 0;
  border-bottom:1px solid var(--line);
}
.weather-compact-day b{
  font-size:.95rem;
}
.weather-compact-day span{
  font-size:.95rem;
}
.weather-compact-day span:last-child{
  color:var(--muted);
  min-width:46px;
  text-align:right;
}
.weather-source{
  margin-top:10px;
  text-align:left;
  color:var(--muted);
  font-size:.75rem;
}
