/* ParkAtlas P1 Patch 55 – systemweite UI/UX Modernisierung
   Reine Darstellungs-/Bedienebene. Keine Buchungs-, Preis- oder Kapazitätslogik. */
:root{
  --pa55-navy:#071d36;
  --pa55-navy-soft:#0c3358;
  --pa55-teal:#0aa5a5;
  --pa55-teal-2:#13bbb2;
  --pa55-bg:#f3f7fa;
  --pa55-card:#ffffff;
  --pa55-line:#dce7ed;
  --pa55-line-strong:#cbdbe4;
  --pa55-muted:#65798b;
  --pa55-focus:rgba(10,165,165,.18);
  --pa55-shadow:0 16px 44px rgba(7,29,54,.075);
  --pa55-shadow-hover:0 20px 54px rgba(7,29,54,.11);
}
.pa-ui55 *{box-sizing:border-box}

/* Einheitliche Karten – nur bekannte App-Komponenten, nicht ungezielt jedes Element */
.pa-ui55 .pa-wf-card,
.pa-ui55 .pa29-staff-card,
.pa-ui55 .pa29-role-card,
.pa-ui55 .pw013-parking-card,
.pa-ui55 .pw030-quick-card{
  border-color:var(--pa55-line);
  box-shadow:var(--pa55-shadow);
}
.pa-ui55 .pa-wf-card{border-radius:24px;padding:20px;background:linear-gradient(180deg,#fff 0%,#fdfefe 100%)}
.pa-ui55 .pa-wf-card>h2:first-child{font-size:21px;letter-spacing:-.02em;color:var(--pa55-navy);margin-bottom:14px}
.pa-ui55 .pa-wf-grid{gap:18px}
.pa-ui55 .pa-wf-page{gap:20px}
.pa-ui55 .pa-wf-hero{padding:8px 4px 2px;align-items:center}
.pa-ui55 .pa-wf-hero h1{font-size:clamp(30px,3.2vw,44px);letter-spacing:-.035em;line-height:1.05;color:var(--pa55-navy)}
.pa-ui55 .pa-wf-hero p{font-size:14px;line-height:1.65;color:#6b7f91}
.pa-ui55 .eyebrow{letter-spacing:.14em;font-size:10px;font-weight:950}

/* Buttons – klare Hierarchie, gleiche Höhe und Focuszustände */
.pa-ui55 .btn{
  min-height:44px;
  border-radius:14px;
  padding:10px 16px;
  border:1px solid transparent;
  font-weight:900;
  letter-spacing:-.01em;
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease;
}
.pa-ui55 .btn:not(.secondary):not(.danger):not(.pa-wf-btn-danger):not(.pa-wf-btn-warn){
  background:linear-gradient(135deg,var(--pa55-teal),#0798b3);
  box-shadow:0 10px 24px rgba(8,157,170,.19);
}
.pa-ui55 .btn:not([disabled]):hover{transform:translateY(-1px)}
.pa-ui55 .btn:not(.secondary):not([disabled]):hover{box-shadow:0 14px 30px rgba(8,157,170,.25)}
.pa-ui55 .btn.secondary{background:#f8fbfd;color:#0b5278;border-color:#d6e4eb;box-shadow:none}
.pa-ui55 .btn.secondary:hover{background:#fff;border-color:#bcd2de;box-shadow:0 8px 18px rgba(7,29,54,.06)}
.pa-ui55 .btn:focus-visible,.pa-ui55 button:focus-visible,.pa-ui55 a:focus-visible{outline:3px solid var(--pa55-focus);outline-offset:2px}

/* Einheitliche Formularfelder */
.pa-ui55 .input,
.pa-ui55 .field input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
.pa-ui55 .field select,
.pa-ui55 .field textarea{
  min-height:48px;
  border:1px solid var(--pa55-line-strong);
  border-radius:14px;
  background:#fff;
  color:#102a43;
  font:inherit;
  font-weight:700;
  box-shadow:0 1px 0 rgba(7,29,54,.02);
  transition:border-color .16s ease,box-shadow .16s ease,background .16s ease;
}
.pa-ui55 textarea.input,.pa-ui55 .field textarea{min-height:110px;padding-top:12px;padding-bottom:12px;resize:vertical}
.pa-ui55 .input:hover,.pa-ui55 .field input:hover,.pa-ui55 .field select:hover,.pa-ui55 .field textarea:hover{border-color:#b7ccd8}
.pa-ui55 .input:focus,.pa-ui55 .field input:focus,.pa-ui55 .field select:focus,.pa-ui55 .field textarea:focus{
  outline:none;
  border-color:var(--pa55-teal);
  box-shadow:0 0 0 4px var(--pa55-focus);
}
.pa-ui55 .field>label,.pa-ui55 label>span:first-child{font-weight:850;color:#263f55}
.pa-ui55 select.input,.pa-ui55 .field select{
  appearance:none;
  padding-right:42px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23566f82' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 13px center;
  background-size:17px;
}
.pa-ui55 input[type="time"].input{font-variant-numeric:tabular-nums}

/* An/Aus-Schalter: nur Konfigurations-Checkboxen, keine Mehrfachauswahl */
.pa-ui55 .pa-wf-toggle-card>label>input[type="checkbox"],
.pa-ui55 .pw013-toggle>input[type="checkbox"],
.pa-ui55 .pa-comm-enable-row>input[type="checkbox"]{
  appearance:none!important;
  -webkit-appearance:none!important;
  width:50px!important;
  min-width:50px!important;
  height:28px!important;
  min-height:28px!important;
  margin:0!important;
  border:1px solid #ccd8df!important;
  border-radius:999px!important;
  background-color:#dfe6ea!important;
  background-image:radial-gradient(circle at 14px 50%,#fff 0 9px,transparent 9.7px)!important;
  background-repeat:no-repeat!important;
  box-shadow:inset 0 1px 3px rgba(7,29,54,.08),0 1px 2px rgba(7,29,54,.05)!important;
  cursor:pointer;
  transition:background-color .18s ease,background-image .18s ease,border-color .18s ease,box-shadow .18s ease;
  flex:0 0 50px;
}
.pa-ui55 .pa-wf-toggle-card>label>input[type="checkbox"]:checked,
.pa-ui55 .pw013-toggle>input[type="checkbox"]:checked,
.pa-ui55 .pa-comm-enable-row>input[type="checkbox"]:checked{
  background-color:var(--pa55-teal)!important;
  border-color:var(--pa55-teal)!important;
  background-image:radial-gradient(circle at calc(100% - 14px) 50%,#fff 0 9px,transparent 9.7px)!important;
  box-shadow:inset 0 1px 3px rgba(0,87,92,.12),0 0 0 3px rgba(10,165,165,.08)!important;
}
.pa-ui55 .pa-wf-toggle-card>label>input[type="checkbox"]:focus-visible,
.pa-ui55 .pw013-toggle>input[type="checkbox"]:focus-visible,
.pa-ui55 .pa-comm-enable-row>input[type="checkbox"]:focus-visible{outline:3px solid var(--pa55-focus);outline-offset:3px}
.pa-ui55 .pa-wf-toggle-card>label{display:flex;align-items:center;gap:12px;cursor:pointer;font-weight:900;line-height:1.25}
.pa-ui55 .pa-wf-toggle-card{padding:16px;border-radius:18px;background:#f8fbfc;border-color:#dde8ed;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}
.pa-ui55 .pa-wf-toggle-card:has(input:checked){border-color:#b9dfdd;background:linear-gradient(145deg,#f5fffd,#f8fcff);box-shadow:0 8px 22px rgba(10,165,165,.07)}
.pa-ui55 .pa-wf-toggle-card .pa-wf-mini{margin:9px 0 0 62px;line-height:1.5}
.pa-ui55 .pw013-toggle{align-items:center!important;gap:13px!important}
.pa-ui55 .pa-comm-enable-row{display:flex!important;align-items:center!important;gap:12px!important}

/* Toggle als absendbarer Statusbutton, z. B. Shuttle aktiv/inaktiv */
.pa-state-switch{
  appearance:none;border:0;background:transparent;padding:0;display:inline-flex;align-items:center;gap:8px;cursor:pointer;color:#587083;font:inherit;font-size:11px;font-weight:900
}
.pa-state-switch .pa-state-track{width:44px;height:25px;border-radius:999px;background:#dce4e9;box-shadow:inset 0 0 0 1px #ccd8df;position:relative;transition:.18s ease}
.pa-state-switch .pa-state-track:after{content:"";position:absolute;width:19px;height:19px;border-radius:50%;background:#fff;top:3px;left:3px;box-shadow:0 2px 6px rgba(7,29,54,.22);transition:.18s ease}
.pa-state-switch.is-on .pa-state-track{background:var(--pa55-teal);box-shadow:inset 0 0 0 1px var(--pa55-teal)}
.pa-state-switch.is-on .pa-state-track:after{transform:translateX(19px)}
.pa-state-switch.is-on .pa-state-label{color:#08756f}

/* Workforce: kompakter und leichter scanbar */
.pa-ui55 .pa-wf-kpis{gap:12px}
.pa-ui55 .pa-wf-kpi{border-radius:18px;border-color:#e0e9ee;padding:15px;background:linear-gradient(180deg,#fff,#fbfdfe);box-shadow:0 7px 20px rgba(7,29,54,.035)}
.pa-ui55 .pa-wf-kpi span{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.035em;color:#738596}
.pa-ui55 .pa-wf-kpi strong{font-size:26px;letter-spacing:-.035em}
.pa-ui55 .pa-wf-table{border-collapse:separate;border-spacing:0;min-width:760px}
.pa-ui55 .pa-wf-table th{padding:11px 12px;background:#f5f8fa;border-top:1px solid #e5edf1;border-bottom:1px solid #dce6ec}
.pa-ui55 .pa-wf-table th:first-child{border-left:1px solid #e5edf1;border-radius:12px 0 0 12px}
.pa-ui55 .pa-wf-table th:last-child{border-right:1px solid #e5edf1;border-radius:0 12px 12px 0}
.pa-ui55 .pa-wf-table td{padding:13px 12px;border-bottom:1px solid #edf2f5;vertical-align:middle}
.pa-ui55 .pa-wf-table tbody tr{transition:background .14s ease}
.pa-ui55 .pa-wf-table tbody tr:hover{background:#f9fcfd}
.pa-ui55 .pa-wf-fleet-row{border-radius:16px;padding:13px 14px;background:#fbfdfe;border-color:#e0e9ee}
.pa-ui55 .pa-wf-day{border-radius:20px;border-color:#e0e9ee;box-shadow:0 5px 18px rgba(7,29,54,.035)}
.pa-ui55 .pa-wf-day.is-today{border-color:#71cfcb;box-shadow:0 0 0 3px rgba(10,165,165,.09),0 8px 22px rgba(7,29,54,.05)}
.pa-ui55 .pa-wf-shift{border-radius:14px;background:#f5fafc}
.pa-ui55 .pa-wf-note,.pa-ui55 .notice,.pa-ui55 .success,.pa-ui55 .error{border-radius:16px}

/* Moderner ParkAtlas Date-/Month-Picker */
.pa-date-shell{position:relative;display:block;width:100%}
.pa-date-native{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;left:8px!important;bottom:5px!important;margin:0!important;padding:0!important;border:0!important}
.pa-date-trigger{
  width:100%;min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:10px 12px 10px 14px;border:1px solid var(--pa55-line-strong);border-radius:14px;background:#fff;color:#102a43;
  font:inherit;font-weight:800;text-align:left;cursor:pointer;transition:.16s ease;box-shadow:0 1px 0 rgba(7,29,54,.02)
}
.pa-date-trigger:hover{border-color:#aec7d3;background:#fff}
.pa-date-trigger:focus,.pa-date-trigger:focus-visible,.pa-date-shell.is-open .pa-date-trigger{outline:none;border-color:var(--pa55-teal);box-shadow:0 0 0 4px var(--pa55-focus)}
.pa-date-trigger.is-placeholder .pa-date-value{color:#7a8d9d;font-weight:700}
.pa-date-icon{width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;border-radius:10px;background:#eef8f8;color:#078985}
.pa-date-icon svg{width:17px;height:17px}
.pa-date-popover{
  position:absolute;z-index:5000;top:calc(100% + 8px);left:0;width:min(330px,calc(100vw - 34px));
  padding:14px;border:1px solid #d6e4ea;border-radius:20px;background:rgba(255,255,255,.985);backdrop-filter:blur(14px);
  box-shadow:0 24px 64px rgba(7,29,54,.18);transform-origin:top left;animation:pa55Pop .14s ease-out
}
.pa-date-popover[hidden]{display:none!important}
@keyframes pa55Pop{from{opacity:0;transform:translateY(-5px) scale(.985)}to{opacity:1;transform:none}}
.pa-date-head{display:grid;grid-template-columns:38px 1fr 38px;align-items:center;gap:8px;margin-bottom:12px}
.pa-date-title{text-align:center;color:var(--pa55-navy);font-weight:950;font-size:14px;text-transform:capitalize}
.pa-date-nav{width:38px;height:38px;border:1px solid #e0e9ee;border-radius:11px;background:#f8fbfc;color:#25485f;display:grid;place-items:center;cursor:pointer;font-size:20px;line-height:1}
.pa-date-nav:hover{background:#eef8f8;border-color:#c8e2e1;color:#078985}
.pa-date-weekdays,.pa-date-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.pa-date-weekdays{margin-bottom:5px}.pa-date-weekdays span{text-align:center;color:#8393a1;font-size:9px;font-weight:950;text-transform:uppercase;padding:4px 0}
.pa-date-day{aspect-ratio:1/1;min-width:34px;border:0;border-radius:11px;background:transparent;color:#294154;font:inherit;font-size:12px;font-weight:800;cursor:pointer;display:grid;place-items:center;position:relative}
.pa-date-day:hover:not([disabled]){background:#eaf8f7;color:#087d79}
.pa-date-day.is-outside{color:#aab6bf;font-weight:650}
.pa-date-day.is-today:after{content:"";position:absolute;bottom:4px;width:4px;height:4px;border-radius:50%;background:var(--pa55-teal)}
.pa-date-day.is-selected{background:linear-gradient(135deg,var(--pa55-teal),#0b90ae)!important;color:#fff!important;box-shadow:0 7px 16px rgba(8,151,163,.23)}
.pa-date-day.is-selected:after{background:#fff}
.pa-date-day[disabled]{opacity:.28;cursor:not-allowed}
.pa-date-actions{display:flex;justify-content:space-between;gap:8px;margin-top:11px;padding-top:10px;border-top:1px solid #edf1f4}
.pa-date-action{border:0;border-radius:10px;background:#f4f8fa;color:#476174;padding:8px 10px;font:inherit;font-size:11px;font-weight:900;cursor:pointer}
.pa-date-action:hover{background:#eaf6f5;color:#087a76}.pa-date-action.is-clear{background:transparent;color:#8a5d5d}
.pa-month-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
.pa-month-option{min-height:42px;border:1px solid #e2eaef;border-radius:12px;background:#f9fbfc;color:#314d61;font:inherit;font-size:12px;font-weight:850;cursor:pointer}
.pa-month-option:hover{border-color:#b9dad8;background:#f2fbfa;color:#087c78}
.pa-month-option.is-selected{border-color:var(--pa55-teal);background:#e8f8f6;color:#08756f;box-shadow:0 0 0 2px rgba(10,165,165,.08)}
.pa-date-shell.is-invalid .pa-date-trigger{border-color:#d95c5c;box-shadow:0 0 0 4px rgba(217,92,92,.10)}

/* Kleine Status-/Toolbar-Verfeinerungen */
.pa-ui55 .pa-wf-toolbar{align-items:center}
.pa-ui55 .pa-wf-toolbar form{align-items:end}
.pa-ui55 .pa-wf-actions .btn{margin:0}
.pa-ui55 .pa-wf-type{padding:6px 9px;border-radius:999px}

@media(max-width:760px){
  .pa-ui55 .pa-wf-card{padding:16px;border-radius:20px}
  .pa-ui55 .pa-wf-hero h1{font-size:30px}
  .pa-date-popover{position:fixed;left:16px!important;right:16px!important;top:auto!important;bottom:16px;width:auto;max-width:none;border-radius:22px}
  .pa-date-day{min-width:32px}
  .pa-ui55 .pa-wf-toggle-card .pa-wf-mini{margin-left:0}
}
@media(prefers-reduced-motion:reduce){.pa-ui55 *,.pa-date-popover{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Weitere echte An/Aus-Einstellungen in älteren Partnermodulen */
.pa-ui55 .check-card:not(.icon-check-card)>input[type="checkbox"],
.pa-ui55 .pw011-break-toggle>input[type="checkbox"]{
  appearance:none!important;-webkit-appearance:none!important;width:50px!important;min-width:50px!important;height:28px!important;min-height:28px!important;margin:0 4px 0 0!important;border:1px solid #ccd8df!important;border-radius:999px!important;background-color:#dfe6ea!important;background-image:radial-gradient(circle at 14px 50%,#fff 0 9px,transparent 9.7px)!important;background-repeat:no-repeat!important;box-shadow:inset 0 1px 3px rgba(7,29,54,.08),0 1px 2px rgba(7,29,54,.05)!important;cursor:pointer;transition:.18s ease;flex:0 0 50px
}
.pa-ui55 .check-card:not(.icon-check-card)>input[type="checkbox"]:checked,
.pa-ui55 .pw011-break-toggle>input[type="checkbox"]:checked{
  background-color:var(--pa55-teal)!important;border-color:var(--pa55-teal)!important;background-image:radial-gradient(circle at calc(100% - 14px) 50%,#fff 0 9px,transparent 9.7px)!important
}
.pa-ui55 .check-card:not(.icon-check-card){display:flex!important;align-items:center!important;gap:9px!important}
.pa-ui55 .pw011-break-toggle{gap:9px!important}
