/* AIDLINE Datumswähler – Farben über Variablen, damit Team-Bereich (dunkel/hell) und Website dasselbe Skript nutzen */
.dp-wrap{ position:relative; }
.dp-wrap .dp-native{ position:absolute !important; opacity:0; width:0 !important; height:0 !important; padding:0 !important; margin:0 !important; border:0 !important; pointer-events:none; }
.dp-wrap .dp-input{ padding-right:44px !important; }
.dp-btn{ position:absolute; right:6px; top:50%; transform:translateY(-50%); width:32px; height:32px; border:0; border-radius:8px; background:transparent; color:var(--dp-muted,#8A8A8E); cursor:pointer; display:flex; align-items:center; justify-content:center; }
.dp-btn:hover{ background:var(--dp-hover,rgba(0,0,0,.06)); color:var(--dp-accent,#CA2B2F); }
.dp-btn svg{ width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.dp-shake{ animation:dpshake .35s; } @keyframes dpshake{ 0%,100%{ transform:none; } 25%{ transform:translateX(-4px); } 75%{ transform:translateX(4px); } }

.dp-pop{ position:absolute; z-index:60; top:calc(100% + 6px); left:0; width:300px; padding:12px; border-radius:14px; background:var(--dp-bg,#fff); color:var(--dp-text,#111); border:1px solid var(--dp-border,rgba(0,0,0,.12)); box-shadow:0 18px 50px rgba(0,0,0,.28); font-family:'Archivo',system-ui,sans-serif; font-size:13px; }
.dp-pop.up{ top:auto; bottom:calc(100% + 6px); }
.dp-head{ display:flex; align-items:center; gap:6px; margin-bottom:8px; }
.dp-title{ flex:1; display:flex; gap:6px; }
.dp-title select, .dp-title input{ font:inherit; font-weight:600; color:var(--dp-text,#111); background:var(--dp-field,rgba(0,0,0,.04)); border:1px solid var(--dp-border,rgba(0,0,0,.12)); border-radius:8px; padding:6px 8px; min-width:0; }
.dp-title select{ flex:1; } .dp-title input{ width:76px; text-align:center; -moz-appearance:textfield; }
.dp-title input::-webkit-outer-spin-button, .dp-title input::-webkit-inner-spin-button{ -webkit-appearance:none; }
.dp-nav{ width:32px; height:32px; border:1px solid var(--dp-border,rgba(0,0,0,.12)); border-radius:8px; background:transparent; color:var(--dp-text,#111); font-size:18px; line-height:1; cursor:pointer; }
.dp-nav:hover{ border-color:var(--dp-accent,#CA2B2F); color:var(--dp-accent,#CA2B2F); }
.dp-grid{ display:grid; grid-template-columns:repeat(7,1fr); gap:2px; }
.dp-dow{ font-family:'JetBrains Mono',monospace; font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:var(--dp-muted,#8A8A8E); text-align:center; padding:6px 0 4px; }
.dp-dow.we{ color:var(--dp-accent,#CA2B2F); opacity:.8; }
.dp-day{ height:36px; border:0; border-radius:9px; background:transparent; color:var(--dp-text,#111); font:inherit; font-weight:600; cursor:pointer; position:relative; }
.dp-day.we{ color:var(--dp-we,#B1262B); } .dp-day.other{ opacity:.32; }
.dp-day:hover{ background:var(--dp-hover,rgba(0,0,0,.06)); }
.dp-day.today::after{ content:""; position:absolute; left:50%; bottom:5px; width:4px; height:4px; border-radius:50%; background:var(--dp-accent,#CA2B2F); transform:translateX(-50%); }
.dp-day.sel{ background:var(--dp-accent,#CA2B2F); color:#fff; } .dp-day.sel::after{ background:#fff; }
.dp-time{ display:flex; align-items:center; gap:8px; margin-top:10px; padding-top:10px; border-top:1px solid var(--dp-border,rgba(0,0,0,.12)); }
.dp-lbl{ font-family:'JetBrains Mono',monospace; font-size:10px; letter-spacing:.12em; text-transform:uppercase; color:var(--dp-muted,#8A8A8E); margin-right:auto; }
.dp-time select{ font:inherit; font-weight:600; color:var(--dp-text,#111); background:var(--dp-field,rgba(0,0,0,.04)); border:1px solid var(--dp-border,rgba(0,0,0,.12)); border-radius:8px; padding:6px 8px; }
.dp-colon{ font-weight:700; color:var(--dp-muted,#8A8A8E); }
.dp-foot{ display:flex; align-items:center; gap:10px; margin-top:10px; padding-top:10px; border-top:1px solid var(--dp-border,rgba(0,0,0,.12)); }
.dp-foot span{ flex:1; }
.dp-link{ background:none; border:0; padding:4px 2px; font:inherit; font-size:12.5px; font-weight:600; color:var(--dp-muted,#8A8A8E); cursor:pointer; }
.dp-link:hover{ color:var(--dp-accent,#CA2B2F); }
.dp-ok{ font:inherit; font-size:12.5px; font-weight:700; color:#fff; background:var(--dp-accent,#CA2B2F); border:0; border-radius:100px; padding:7px 14px; cursor:pointer; }
.dp-ok:hover{ filter:brightness(1.08); }
@media (max-width:420px){ .dp-pop{ width:min(300px, calc(100vw - 40px)); } }
