.akm-pt {
    --akm-pt-green: #174f3a;
    --akm-pt-green-dark: #103a2a;
    --akm-pt-light: #f3f7f5;
    --akm-pt-border: #d9e3de;
    --akm-pt-text: #1d2521;
    --akm-pt-muted: #65716b;
    --akm-pt-free: #167443;
    --akm-pt-free-bg: #e5f5ec;
    --akm-pt-full: #686e6b;
    --akm-pt-full-bg: #eef0ef;
    color: var(--akm-pt-text);
    font: inherit;
    margin: 28px 0;
}
.akm-pt * { box-sizing: border-box; }
.akm-pt__hero {
    background: linear-gradient(135deg, var(--akm-pt-green-dark), var(--akm-pt-green));
    color: #fff;
    border-radius: 14px;
    padding: clamp(24px, 4vw, 42px);
    margin-bottom: 20px;
}
.akm-pt__eyebrow {
    margin: 0 0 7px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    font-size: .79rem;
    opacity: .84;
}
.akm-pt__hero h2 { color:#fff; margin:0 0 10px; font-size:clamp(1.65rem,3vw,2.35rem); line-height:1.15; }
.akm-pt__hero > p:not(.akm-pt__eyebrow):not(.akm-pt__updated) { max-width:760px; margin:0; font-size:1.04rem; }
.akm-pt__updated { display:flex; gap:8px; flex-wrap:wrap; align-items:center; margin:20px 0 0; font-size:.88rem; opacity:.92; }
.akm-pt__notice {
    display:flex;
    gap:15px;
    align-items:flex-start;
    padding:18px 20px;
    border:1px solid var(--akm-pt-border);
    background:var(--akm-pt-light);
    border-radius:10px;
    margin:18px 0;
}
.akm-pt__notice--pause { background:#fff7df; border-color:#ead79d; }
.akm-pt__notice--warning { background:#fff3f0; border-color:#e9c4bb; }
.akm-pt__notice-icon {
    width:28px; height:28px; min-width:28px; border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    background:var(--akm-pt-green); color:#fff; font-weight:800;
}
.akm-pt__notice--pause .akm-pt__notice-icon { background:#9d7610; }
.akm-pt__notice--warning .akm-pt__notice-icon { background:#a84631; }
.akm-pt__notice h3, .akm-pt__planning h3, .akm-pt__info-card h3 { margin:0 0 5px; font-size:1.14rem; }
.akm-pt__notice p, .akm-pt__planning p, .akm-pt__info-card p { margin:0 0 8px; }
.akm-pt__notice p:last-child, .akm-pt__planning p:last-child, .akm-pt__info-card p:last-child { margin-bottom:0; }
.akm-pt__planning { padding:22px; border:1px solid var(--akm-pt-border); border-radius:10px; margin:18px 0; }
.akm-pt__weeks { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:10px; margin-top:15px; }
.akm-pt__week { display:flex; gap:12px; align-items:flex-start; padding:13px 14px; border-radius:8px; background:var(--akm-pt-light); }
.akm-pt__week span { white-space:nowrap; font-weight:800; color:var(--akm-pt-green); }
.akm-pt__filters {
    display:grid;
    grid-template-columns:minmax(220px,1.4fr) repeat(2,minmax(180px,1fr));
    gap:12px;
    padding:16px;
    background:var(--akm-pt-light);
    border:1px solid var(--akm-pt-border);
    border-radius:10px;
    margin-top:24px;
}
.akm-pt__filters label { display:flex; flex-direction:column; gap:6px; font-size:.82rem; font-weight:700; color:var(--akm-pt-muted); }
.akm-pt__filters input, .akm-pt__filters select {
    width:100%; min-height:44px; border:1px solid #bdc9c3; border-radius:7px; background:#fff; color:var(--akm-pt-text); padding:8px 11px; font:inherit;
}
.akm-pt__filters input:focus, .akm-pt__filters select:focus { outline:2px solid rgba(23,79,58,.22); border-color:var(--akm-pt-green); }
.akm-pt__result-count { margin:12px 0 8px; color:var(--akm-pt-muted); font-size:.9rem; }
.akm-pt__table-wrap { overflow-x:auto; border:1px solid var(--akm-pt-border); border-radius:10px; }
.akm-pt__table { width:100%; border-collapse:collapse; margin:0; min-width:760px; background:#fff; }
.akm-pt__table th { text-align:left; background:var(--akm-pt-green); color:#fff; padding:13px 14px; font-size:.86rem; }
.akm-pt__table td { padding:14px; border-bottom:1px solid #e7ece9; vertical-align:middle; }
.akm-pt__table tbody tr:last-child td { border-bottom:0; }
.akm-pt__table tbody tr:hover { background:#fafcfb; }
.akm-pt__table td:first-child { white-space:nowrap; }
.akm-pt__table td:first-child span { color:var(--akm-pt-muted); font-size:.9rem; }
.akm-pt__status { display:inline-flex; align-items:center; justify-content:center; min-width:72px; padding:5px 10px; border-radius:999px; font-weight:800; font-size:.82rem; }
.akm-pt__status--frei { color:var(--akm-pt-free); background:var(--akm-pt-free-bg); }
.akm-pt__status--belegt { color:var(--akm-pt-full); background:var(--akm-pt-full-bg); }
.akm-pt__empty-filter { padding:28px; text-align:center; color:var(--akm-pt-muted); }
.akm-pt__info-card { display:grid; grid-template-columns:1fr auto; gap:24px; align-items:center; margin-top:22px; padding:24px; background:var(--akm-pt-light); border-radius:12px; border-left:5px solid var(--akm-pt-green); }
.akm-pt__actions { display:flex; flex-direction:column; gap:9px; min-width:245px; }
.akm-pt__button { display:inline-flex; justify-content:center; align-items:center; text-align:center; min-height:44px; padding:10px 18px; border-radius:7px; text-decoration:none !important; font-weight:800; transition:transform .15s ease,box-shadow .15s ease,background .15s ease; }
.akm-pt__button:hover { transform:translateY(-1px); box-shadow:0 4px 10px rgba(0,0,0,.1); }
.akm-pt__button--primary { background:var(--akm-pt-green); color:#fff !important; }
.akm-pt__button--primary:hover { background:var(--akm-pt-green-dark); }
.akm-pt__button--secondary { background:#fff; color:var(--akm-pt-green) !important; border:1px solid var(--akm-pt-green); }
.akm-pt__disclaimer { color:var(--akm-pt-muted); font-size:.82rem; line-height:1.55; margin:15px 2px 0; }
@media (max-width: 820px) {
    .akm-pt__filters { grid-template-columns:1fr; }
    .akm-pt__info-card { grid-template-columns:1fr; }
    .akm-pt__actions { min-width:0; }
}
@media (max-width: 680px) {
    .akm-pt__table-wrap { overflow:visible; border:0; }
    .akm-pt__table { min-width:0; display:block; background:transparent; }
    .akm-pt__table thead { display:none; }
    .akm-pt__table tbody { display:grid; gap:12px; }
    .akm-pt__table tr { display:block; background:#fff; border:1px solid var(--akm-pt-border); border-radius:10px; padding:7px 14px; }
    .akm-pt__table td { display:grid; grid-template-columns:125px 1fr; gap:10px; padding:10px 0; border-bottom:1px solid #edf0ee; }
    .akm-pt__table td::before { content:attr(data-label); font-size:.79rem; font-weight:800; color:var(--akm-pt-muted); }
    .akm-pt__table td:last-child { border-bottom:0; }
    .akm-pt__table tbody tr:hover { background:#fff; }
}
