@font-face{font-family:Manrope;src:url('../fonts/Manrope-ExtraLight.ttf') format('truetype');font-weight:200;font-style:normal;font-display:swap}
@font-face{font-family:Manrope;src:url('../fonts/Manrope-Light.ttf') format('truetype');font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:Manrope;src:url('../fonts/Manrope-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Manrope;src:url('../fonts/Manrope-Medium.ttf') format('truetype');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:Manrope;src:url('../fonts/Manrope-SemiBold.ttf') format('truetype');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:Manrope;src:url('../fonts/Manrope-Bold.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:Manrope;src:url('../fonts/Manrope-ExtraBold.ttf') format('truetype');font-weight:800;font-style:normal;font-display:swap}
:root{--pf-green:#1F4D3A;--pf-orange:#D97706;--pf-bg:#F7F7F5;--pf-text:#222222;--pf-muted:#5f6460;--pf-border:rgba(34,34,34,.08);--pf-white:#fff}
*{box-sizing:border-box}body{margin:0;background:var(--pf-bg);color:var(--pf-text);font-family:Manrope,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.pf-shell{display:grid;grid-template-columns:200px 1fr;min-height:100vh}.pf-sidebar{background:var(--pf-green);color:#fff;padding:22px 18px}.pf-brand{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none;font-weight:800;font-size:20px;margin-bottom:28px}.pf-brand img{width:34px;height:34px}.pf-nav{display:grid;gap:8px}.pf-nav a{color:#fff;text-decoration:none;padding:12px 14px;border-radius:10px;background:rgba(255,255,255,.10)}.pf-nav a:hover{background:rgba(255,255,255,.16)}.pf-main{padding:32px 40px}.pf-topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:34px}.pf-topbar a{color:var(--pf-green);font-weight:700;text-decoration:none}.pf-topbar-right{display:flex;gap:14px;align-items:center}.pf-card{background:var(--pf-white);border:1px solid var(--pf-border);border-radius:20px;padding:28px;box-shadow:0 8px 24px rgba(0,0,0,.035)}.pf-hero{display:grid;grid-template-columns:92px 1fr;gap:28px;align-items:center;margin-bottom:18px}.pf-logo-card{background:#f4f4f1;border-radius:18px;width:84px;height:84px;display:grid;place-items:center}.pf-logo-card img{max-width:62px;max-height:62px}.pf-kicker{color:var(--pf-orange);font-weight:800;margin:0 0 8px}h1{font-size:44px;line-height:1.05;margin:0 0 14px}h2{font-size:22px;margin:0 0 14px}p{color:#343a36;line-height:1.55}.pf-actions{display:flex;gap:12px;margin-top:22px}.pf-button-primary,.pf-button-secondary{display:inline-flex;align-items:center;justify-content:center;border-radius:10px;padding:12px 18px;font-weight:800;text-decoration:none;border:1px solid transparent;cursor:pointer;font-family:inherit}.pf-button-primary{background:var(--pf-orange);color:#fff}.pf-button-secondary{background:#fff;color:var(--pf-green);border-color:var(--pf-border)}.pf-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.pf-auth-card{max-width:460px;margin:48px auto}.pf-form{display:grid;gap:16px}.pf-form label{display:grid;gap:8px;font-weight:700}.pf-form input{border:1px solid var(--pf-border);border-radius:12px;padding:13px 14px;font:inherit;background:#fff}.pf-alert{background:#fff3e6;border:1px solid #f0c08a;color:#7a3d00;padding:12px 14px;border-radius:12px;margin:14px 0}.pf-inline-form{display:inline}.pf-link-button{border:0;background:transparent;color:var(--pf-green);font:inherit;font-weight:800;cursor:pointer;padding:0}@media(max-width:900px){.pf-shell{grid-template-columns:1fr}.pf-sidebar{position:static}.pf-main{padding:22px}.pf-grid-3{grid-template-columns:1fr}.pf-hero{grid-template-columns:1fr}h1{font-size:34px}}
.pf-stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:24px 0}.pf-stat{background:#f7f7f5;border:1px solid var(--pf-border);border-radius:16px;padding:18px}.pf-stat strong{display:block;font-size:34px;line-height:1;color:var(--pf-green);margin-bottom:8px}.pf-stat span{color:var(--pf-muted);font-weight:700}.pf-section-gap{margin-top:22px}.pf-table{width:100%;border-collapse:collapse;margin-top:12px}.pf-table th,.pf-table td{text-align:left;border-bottom:1px solid var(--pf-border);padding:12px}.pf-table th{color:var(--pf-muted);font-size:13px}.pf-alert-success{background:#edf7f1;border-color:#b8ddc8;color:#1F4D3A}@media(max-width:900px){.pf-stats-grid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.pf-stats-grid{grid-template-columns:1fr}}

.pf-page-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 24px;
    margin-bottom: 24px;
}

.pf-page-head h1 {
    margin: 0 0 8px;
    font-size: 32px;
    line-height: 1.1;
}

.pf-page-head p {
    margin: 0;
    color: rgba(34, 34, 34, 0.68);
}

.pf-kicker {
    margin: 0 0 8px !important;
    color: var(--pf-orange) !important;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-size: 12px;
}

.pf-form-card {
    max-width: 860px;
}

.pf-form {
    display: grid;
    gap: 18px;
}

.pf-form label {
    display: grid;
    gap: 8px;
    font-weight: 700;
}

.pf-form input,
.pf-form select {
    width: 100%;
    box-sizing: border-box;
    border: 1px solid rgba(34, 34, 34, 0.16);
    border-radius: 12px;
    padding: 12px 14px;
    font: inherit;
    background: #fff;
    color: var(--pf-text);
}

.pf-form input:focus,
.pf-form select:focus {
    outline: 3px solid rgba(217, 119, 6, 0.18);
    border-color: var(--pf-orange);
}

.pf-form small {
    color: rgba(34, 34, 34, 0.58);
    font-weight: 500;
}

.pf-grid-2 {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.pf-actions {
    display: flex;
    gap: 12px;
    align-items: center;
    flex-wrap: wrap;
    padding-top: 6px;
}

.pf-button-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(34, 34, 34, 0.14);
    border-radius: 12px;
    padding: 10px 16px;
    font-weight: 800;
    text-decoration: none;
    color: var(--pf-text);
    background: #fff;
}

.pf-alert {
    max-width: 860px;
    border-radius: 14px;
    padding: 12px 14px;
    margin-bottom: 16px;
    font-weight: 700;
}

.pf-alert-error {
    background: #fff1f2;
    color: #9f1239;
    border: 1px solid rgba(159, 18, 57, 0.18);
}

.pf-alert-success {
    background: #ecfdf5;
    color: #065f46;
    border: 1px solid rgba(6, 95, 70, 0.18);
}

@media (max-width: 760px) {
    .pf-grid-2 {
        grid-template-columns: 1fr;
    }

    .pf-page-head h1 {
        font-size: 26px;
    }
}


.pf-hours-list {
    display: grid;
    gap: 12px;
}

.pf-hours-row {
    display: grid;
    grid-template-columns: 130px 1fr 1fr 150px;
    gap: 14px;
    align-items: center;
    padding: 14px;
    border: 1px solid rgba(34, 34, 34, 0.10);
    border-radius: 16px;
    background: #fbfbf9;
}

.pf-hours-row strong {
    color: var(--pf-green);
}

.pf-check-label {
    display: flex !important;
    grid-template-columns: none !important;
    align-items: center;
    gap: 10px !important;
    padding-top: 22px;
}

.pf-check-label input {
    width: auto !important;
}

@media (max-width: 860px) {
    .pf-hours-row {
        grid-template-columns: 1fr;
    }

    .pf-check-label {
        padding-top: 0;
    }
}

.pf-area-list {
    display: grid;
    gap: 12px;
}

.pf-area-row {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) 140px 120px 120px;
    gap: 14px;
    align-items: end;
    padding: 14px;
    border: 1px solid rgba(34, 34, 34, 0.10);
    border-radius: 16px;
    background: #fbfbf9;
}

.pf-area-row label {
    display: grid;
    gap: 8px;
    font-weight: 700;
}

.pf-area-row input[type="text"],
.pf-area-row input[type="number"] {
    width: 100%;
    border: 1px solid rgba(34, 34, 34, 0.16);
    border-radius: 12px;
    padding: 12px 14px;
    font: inherit;
    background: #fff;
    color: var(--pf-text);
}

.pf-area-active {
    padding-top: 0;
    padding-bottom: 11px;
}

.pf-area-actions {
    display: flex;
    justify-content: flex-end;
}

@media (max-width: 900px) {
    .pf-area-row {
        grid-template-columns: 1fr;
        align-items: stretch;
    }

    .pf-area-actions {
        justify-content: flex-start;
    }
}

.pf-table-form-grid {
    align-items: end;
}

.pf-check-stack {
    display: flex;
    gap: 18px;
    align-items: center;
    flex-wrap: wrap;
}

.pf-check-stack .pf-check-label {
    padding-top: 0;
}

.pf-table-list {
    display: grid;
    gap: 12px;
}

.pf-table-row-edit {
    display: grid;
    grid-template-columns: 110px minmax(150px, 1fr) 85px 85px 85px 85px minmax(170px, 1fr) 120px;
    gap: 12px;
    align-items: end;
    padding: 14px;
    border: 1px solid rgba(34, 34, 34, 0.10);
    border-radius: 16px;
    background: #fbfbf9;
}

.pf-table-row-edit label {
    display: grid;
    gap: 8px;
    font-weight: 700;
}

.pf-table-row-edit input[type="text"],
.pf-table-row-edit input[type="number"],
.pf-table-row-edit select {
    width: 100%;
    border: 1px solid rgba(34, 34, 34, 0.16);
    border-radius: 12px;
    padding: 12px 14px;
    font: inherit;
    background: #fff;
    color: var(--pf-text);
}

.pf-table-checks {
    align-content: center;
    padding-bottom: 7px;
}

.pf-table-actions {
    display: flex;
    justify-content: flex-end;
}

@media (max-width: 1180px) {
    .pf-table-row-edit {
        grid-template-columns: 1fr 1fr 1fr;
    }

    .pf-table-actions {
        justify-content: flex-start;
    }
}

@media (max-width: 760px) {
    .pf-table-row-edit {
        grid-template-columns: 1fr;
        align-items: stretch;
    }
}

/* Placefox Dayplan Shell v0.2.0b */
.pf-dayplan-shell {
    margin: -10px -12px 0;
}

.pf-dayplan-hero {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 24px;
    padding: 26px;
    border-radius: 26px;
    background: linear-gradient(135deg, rgba(31, 77, 58, 0.96), rgba(31, 77, 58, 0.84));
    color: #fff;
    box-shadow: 0 18px 48px rgba(31, 77, 58, 0.18);
}

.pf-dayplan-hero .pf-kicker,
.pf-dayplan-hero p {
    color: rgba(255, 255, 255, 0.76) !important;
}

.pf-dayplan-hero h1 {
    margin: 0 0 8px;
    color: #fff;
    font-size: clamp(30px, 4vw, 48px);
}

.pf-dayplan-datebar {
    display: flex;
    gap: 10px;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.pf-dayplan-datebar a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 10px 14px;
    border-radius: 999px;
    color: #fff;
    text-decoration: none;
    font-weight: 800;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.16);
}

.pf-dayplan-datebar a:hover {
    background: rgba(255, 255, 255, 0.18);
}

.pf-dayplan-datebar .pf-dayplan-today {
    background: var(--pf-orange);
    border-color: rgba(255, 255, 255, 0.18);
}

.pf-dayplan-metrics {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin: 18px 0;
}

.pf-dayplan-metrics > div {
    min-height: 92px;
    padding: 18px;
    border-radius: 22px;
    background: #fff;
    border: 1px solid rgba(34, 34, 34, 0.08);
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.035);
}

.pf-dayplan-metrics strong {
    display: block;
    margin-bottom: 8px;
    font-size: 30px;
    line-height: 1;
    color: var(--pf-green);
}

.pf-dayplan-metrics span {
    color: rgba(34, 34, 34, 0.62);
    font-weight: 800;
}

.pf-dayplan-workspace {
    padding: 18px;
    border-radius: 28px;
    background: #ebece7;
    border: 1px solid rgba(34, 34, 34, 0.08);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.42);
}

.pf-dayplan-timeline {
    display: grid;
    grid-template-columns: repeat(12, minmax(72px, 1fr));
    gap: 8px;
    overflow-x: auto;
    padding: 8px 6px 18px;
}

.pf-dayplan-timeline span {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    min-height: 34px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.68);
    color: rgba(34, 34, 34, 0.70);
    font-size: 13px;
    font-weight: 900;
    white-space: nowrap;
}

.pf-dayplan-area {
    margin-top: 16px;
    padding: 18px;
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.74);
    border: 1px solid rgba(34, 34, 34, 0.07);
}

.pf-dayplan-area-muted {
    background: rgba(255, 255, 255, 0.48);
}

.pf-dayplan-area-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 18px;
    margin-bottom: 16px;
}

.pf-dayplan-area-head span {
    display: block;
    margin-bottom: 4px;
    color: var(--pf-orange);
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

.pf-dayplan-area-head h2 {
    margin: 0;
    font-size: 24px;
    color: var(--pf-green);
}

.pf-dayplan-area-head strong {
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(31, 77, 58, 0.10);
    color: var(--pf-green);
    font-size: 13px;
}

.pf-dayplan-table-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 16px;
}

.pf-dayplan-table-card {
    position: relative;
    min-height: 252px;
    overflow: hidden;
    border-radius: 26px;
    padding: 16px;
    background: #fff;
    border: 1px solid rgba(34, 34, 34, 0.08);
    box-shadow: 0 14px 34px rgba(0, 0, 0, 0.06);
    cursor: pointer;
    transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}

.pf-dayplan-table-card:hover,
.pf-dayplan-table-card:focus {
    transform: translateY(-2px);
    border-color: rgba(31, 77, 58, 0.24);
    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.09);
    outline: none;
}

.pf-dayplan-table-card::before {
    content: '';
    position: absolute;
    inset: 10px;
    border-radius: 22px;
    border: 1px solid rgba(31, 77, 58, 0.08);
    pointer-events: none;
}

.pf-table-card-top,
.pf-table-card-body {
    position: relative;
    z-index: 1;
}

.pf-table-card-top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 12px;
}

.pf-table-card-top strong {
    color: var(--pf-text);
    font-size: 19px;
}

.pf-table-card-top span {
    flex: 0 0 auto;
    padding: 6px 9px;
    border-radius: 999px;
    background: rgba(217, 119, 6, 0.11);
    color: #9a4b00;
    font-size: 12px;
    font-weight: 900;
}

.pf-table-card-body {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
}

.pf-table-card-body small {
    color: rgba(34, 34, 34, 0.56);
    font-weight: 800;
}

.pf-table-status {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-weight: 900;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.pf-table-status::before {
    content: '';
    width: 9px;
    height: 9px;
    border-radius: 999px;
    background: currentColor;
}

.pf-table-status-free {
    color: var(--pf-green);
}


.pf-dayplan-empty,
.pf-dayplan-area-empty {
    padding: 22px;
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.72);
    border: 1px dashed rgba(34, 34, 34, 0.18);
}

.pf-dayplan-empty h2 {
    margin: 0 0 8px;
    color: var(--pf-green);
}

@media (max-width: 980px) {
    .pf-dayplan-hero {
        display: grid;
    }

    .pf-dayplan-datebar {
        justify-content: flex-start;
    }

    .pf-dayplan-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 620px) {
    .pf-dayplan-shell {
        margin: 0;
    }

    .pf-dayplan-metrics {
        grid-template-columns: 1fr;
    }

    .pf-dayplan-workspace {
        padding: 12px;
        border-radius: 22px;
    }

    .pf-dayplan-area {
        padding: 14px;
    }
}

.pf-dayplan-area-filter {
    display: flex;
    gap: 10px;
    overflow-x: auto;
    padding: 4px 6px 14px;
    margin-bottom: 4px;
}

.pf-dayplan-area-filter a {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    min-height: 40px;
    padding: 9px 14px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.72);
    color: rgba(34, 34, 34, 0.70);
    border: 1px solid rgba(34, 34, 34, 0.08);
    font-weight: 900;
    text-decoration: none;
}

.pf-dayplan-area-filter a.is-active {
    background: var(--pf-green);
    color: #fff;
    border-color: var(--pf-green);
}

.pf-dayplan-status-legend {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
    padding: 8px 6px 14px;
}

.pf-dayplan-status-legend .pf-table-status {
    padding: 7px 10px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.62);
    font-size: 12px;
}

.pf-table-visual {
    position: relative;
    z-index: 1;
    display: grid;
    place-items: center;
    min-height: 112px;
    margin: 4px 0 14px;
}

.pf-table-chair-ring {
    position: relative;
    width: 126px;
    height: 102px;
}

.pf-table-chair-ring i {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 18px;
    height: 18px;
    margin: -9px 0 0 -9px;
    border-radius: 999px;
    background: rgba(31, 77, 58, 0.16);
    border: 2px solid rgba(31, 77, 58, 0.20);
    transform: rotate(calc((360deg / var(--n)) * (var(--i) - 1))) translate(58px) rotate(calc((-360deg / var(--n)) * (var(--i) - 1)));
}

.pf-table-shape {
    position: absolute;
    inset: 22px 25px;
    display: grid;
    place-items: center;
    border-radius: 22px;
    background: #f8f7f2;
    border: 3px solid rgba(31, 77, 58, 0.86);
    color: var(--pf-green);
    font-size: 28px;
    font-weight: 900;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.8), 0 10px 18px rgba(31,77,58,.10);
}

.pf-table-card-next {
    position: relative;
    z-index: 1;
    margin-top: 12px;
    padding: 10px 12px;
    border-radius: 16px;
    background: rgba(31, 77, 58, 0.06);
    color: rgba(34, 34, 34, 0.62);
    font-size: 12px;
    font-weight: 800;
}

.pf-table-status-soon {
    color: #b45309;
}

.pf-table-status-busy {
    color: #9f1239;
}

.pf-table-status-blocked {
    color: #52525b;
}

.pf-dayplan-table-card-free .pf-table-card-next {
    background: rgba(31, 77, 58, 0.06);
}

@media (max-width: 620px) {
    .pf-dayplan-table-grid {
        grid-template-columns: 1fr;
    }

    .pf-dayplan-table-card {
        min-height: 230px;
    }
}

/* Placefox Dayplan Detail Panel v0.2.0c */
.pf-dayplan-board {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 340px;
    gap: 18px;
    align-items: start;
}

.pf-dayplan-board-main {
    min-width: 0;
}

.pf-dayplan-table-card.is-selected {
    border-color: rgba(217, 119, 6, 0.72);
    box-shadow: 0 18px 46px rgba(217, 119, 6, 0.14);
}

.pf-dayplan-table-card.is-selected::before {
    border-color: rgba(217, 119, 6, 0.26);
}

.pf-dayplan-detail {
    position: sticky;
    top: 18px;
    min-height: 420px;
    padding: 20px;
    border-radius: 26px;
    background: #fff;
    border: 1px solid rgba(34, 34, 34, 0.08);
    box-shadow: 0 16px 38px rgba(0, 0, 0, 0.07);
}

.pf-dayplan-detail-empty,
.pf-dayplan-detail-content {
    display: grid;
    gap: 16px;
}

.pf-dayplan-detail-empty span,
.pf-dayplan-detail-head span {
    color: var(--pf-orange);
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

.pf-dayplan-detail-empty h2,
.pf-dayplan-detail-head h2 {
    margin: 0;
    color: var(--pf-green);
    font-size: 28px;
}

.pf-dayplan-detail-head p {
    margin: 0;
    color: rgba(34, 34, 34, 0.64);
    font-weight: 800;
}

.pf-dayplan-detail-status {
    display: grid;
    gap: 8px;
    padding: 14px;
    border-radius: 18px;
    background: rgba(31, 77, 58, 0.06);
}

.pf-dayplan-detail-status small {
    color: rgba(34, 34, 34, 0.62);
    font-weight: 800;
}

.pf-dayplan-detail-actions {
    display: grid;
    gap: 10px;
}

.pf-dayplan-detail-actions button {
    width: 100%;
}

.pf-dayplan-detail-note {
    padding: 14px;
    border-radius: 18px;
    background: #f8f7f2;
    border: 1px solid rgba(34, 34, 34, 0.07);
}

.pf-dayplan-detail-note strong {
    color: var(--pf-green);
}

.pf-dayplan-detail-note p {
    margin: 6px 0 0;
    color: rgba(34, 34, 34, 0.64);
    font-size: 13px;
}

@media (max-width: 1120px) {
    .pf-dayplan-board {
        grid-template-columns: 1fr;
    }

    .pf-dayplan-detail {
        position: static;
        min-height: auto;
    }
}


/* Placefox Dayplan Drawer v0.2.0d */
.pf-dayplan-drawer-backdrop {
    position: fixed;
    inset: 0;
    z-index: 80;
    background: rgba(34, 34, 34, 0.26);
    backdrop-filter: blur(2px);
}

.pf-dayplan-drawer {
    position: fixed;
    z-index: 90;
    top: 0;
    right: 0;
    width: min(460px, calc(100vw - 22px));
    height: 100vh;
    padding: 24px;
    background: #fff;
    box-shadow: -24px 0 54px rgba(0, 0, 0, 0.16);
    transform: translateX(105%);
    transition: transform 180ms ease;
    overflow-y: auto;
}

.pf-dayplan-drawer.is-open {
    transform: translateX(0);
}

.pf-drawer-open {
    overflow: hidden;
}

.pf-dayplan-drawer-head {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    align-items: flex-start;
    padding-bottom: 18px;
    border-bottom: 1px solid rgba(34, 34, 34, 0.08);
}

.pf-dayplan-drawer-head span {
    color: var(--pf-orange);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.pf-dayplan-drawer-head h2 {
    margin: 5px 0 4px;
    color: var(--pf-green);
    font-size: 30px;
}

.pf-dayplan-drawer-head p {
    margin: 0;
    color: rgba(34, 34, 34, 0.62);
    font-weight: 800;
}

.pf-drawer-close {
    width: 42px;
    height: 42px;
    border: 0;
    border-radius: 999px;
    background: #f8f7f2;
    color: var(--pf-green);
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
}

.pf-dayplan-form {
    display: grid;
    gap: 16px;
    padding-top: 18px;
}

.pf-dayplan-form label {
    display: grid;
    gap: 7px;
}

.pf-dayplan-form label span {
    color: rgba(34, 34, 34, 0.66);
    font-size: 13px;
    font-weight: 900;
}

.pf-dayplan-form input,
.pf-dayplan-form select {
    width: 100%;
    min-height: 48px;
    border: 1px solid rgba(34, 34, 34, 0.12);
    border-radius: 15px;
    padding: 10px 12px;
    background: #fdfcf8;
    color: var(--pf-text);
    font: inherit;
    font-weight: 800;
}

.pf-form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.pf-drawer-summary {
    padding: 14px;
    border-radius: 18px;
    background: rgba(217, 119, 6, 0.08);
    border: 1px solid rgba(217, 119, 6, 0.14);
}

.pf-drawer-summary strong {
    color: var(--pf-orange);
}

.pf-drawer-summary p {
    margin: 6px 0 0;
    color: rgba(34, 34, 34, 0.64);
    font-size: 13px;
}

.pf-drawer-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding-top: 8px;
}

@media (max-width: 620px) {
    .pf-dayplan-drawer {
        width: 100vw;
        padding: 18px;
    }

    .pf-form-row,
    .pf-drawer-actions {
        grid-template-columns: 1fr;
        display: grid;
    }
}


/* Placefox Dayplan Drawer v0.2.0e */
.pf-drawer-context {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 12px;
    border-radius: 18px;
    background: rgba(31, 77, 58, 0.06);
    border: 1px solid rgba(31, 77, 58, 0.1);
}

.pf-drawer-context span {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 6px 10px;
    border-radius: 999px;
    background: #fff;
    color: var(--pf-green);
    font-size: 12px;
    font-weight: 900;
}

.pf-field-hint {
    color: rgba(31, 77, 58, 0.78);
    font-size: 12px;
    font-weight: 800;
}

.pf-field-hint.is-warning {
    color: #a15a00;
}

.pf-quick-durations {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 8px;
}

.pf-quick-durations button {
    min-height: 42px;
    border: 1px solid rgba(31, 77, 58, 0.14);
    border-radius: 14px;
    background: #fff;
    color: var(--pf-green);
    cursor: pointer;
    font-weight: 900;
}

.pf-quick-durations button::after {
    content: ' Min.';
    font-weight: 700;
    color: rgba(31, 77, 58, 0.62);
}

.pf-quick-durations button.is-active,
.pf-quick-durations button:hover {
    background: var(--pf-green);
    color: #fff;
}

.pf-quick-durations button.is-active::after,
.pf-quick-durations button:hover::after {
    color: rgba(255, 255, 255, 0.72);
}

.pf-drawer-summary.is-warning {
    background: rgba(217, 119, 6, 0.13);
    border-color: rgba(217, 119, 6, 0.28);
}


/* Placefox Dayplan lokale Vormerkungen v0.2.0f */
.pf-dayplan-draft-lane {
    margin: 16px 0 22px;
    padding: 16px;
    border: 1px solid rgba(217, 119, 6, 0.18);
    border-radius: 24px;
    background: rgba(217, 119, 6, 0.06);
}

.pf-dayplan-draft-lane-head {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: flex-start;
    margin-bottom: 12px;
}

.pf-dayplan-draft-lane-head span {
    color: var(--pf-orange);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.pf-dayplan-draft-lane-head h2 {
    margin: 4px 0 0;
    color: var(--pf-green);
    font-size: 20px;
}

.pf-dayplan-draft-lane-head strong {
    padding: 7px 10px;
    border-radius: 999px;
    background: #fff;
    color: var(--pf-green);
    font-size: 13px;
}

.pf-dayplan-draft-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 10px;
}

.pf-dayplan-draft-card {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 12px;
    border-radius: 18px;
    background: #fff;
    border: 1px solid rgba(31, 77, 58, 0.12);
    box-shadow: 0 10px 26px rgba(0, 0, 0, 0.04);
}

.pf-dayplan-draft-card span {
    color: var(--pf-orange);
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.pf-dayplan-draft-card strong {
    display: block;
    margin-top: 3px;
    color: var(--pf-green);
}

.pf-dayplan-draft-card p {
    margin: 5px 0 0;
    color: rgba(34, 34, 34, 0.66);
    font-size: 13px;
    font-weight: 800;
}

.pf-dayplan-draft-card button {
    width: 30px;
    height: 30px;
    border: 0;
    border-radius: 999px;
    background: #f8f7f2;
    color: var(--pf-green);
    cursor: pointer;
    font-size: 20px;
    line-height: 1;
}

.pf-dayplan-draft-card.is-warning {
    border-color: rgba(217, 119, 6, 0.36);
}

.pf-dayplan-draft-hint {
    margin: 12px 0 0;
    color: rgba(34, 34, 34, 0.58);
    font-size: 12px;
    font-weight: 800;
}

.pf-dayplan-table-card-soon {
    border-color: rgba(217, 119, 6, 0.34);
    background: linear-gradient(180deg, #fff 0%, rgba(217, 119, 6, 0.05) 100%);
}


/* Placefox Dayplan Belegungsindikator v0.2.0h */
.pf-table-reservation-stack {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 8px;
    margin-top: 10px;
}

.pf-table-mini-reservation {
    display: grid;
    grid-template-columns: auto auto;
    gap: 2px 8px;
    align-items: center;
    padding: 9px 10px;
    border-radius: 15px;
    background: rgba(217, 119, 6, 0.11);
    border: 1px solid rgba(217, 119, 6, 0.24);
}

.pf-table-mini-reservation span,
.pf-table-mini-reservation strong {
    color: #8a4200;
    font-size: 12px;
    font-weight: 900;
}

.pf-table-mini-reservation strong {
    text-align: right;
}

.pf-table-mini-reservation small {
    grid-column: 1 / -1;
    color: rgba(34, 34, 34, 0.66);
    font-size: 11px;
    font-weight: 800;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.pf-table-mini-reservation.is-warning {
    background: rgba(159, 18, 57, 0.08);
    border-color: rgba(159, 18, 57, 0.20);
}

.pf-table-mini-reservation.is-warning span,
.pf-table-mini-reservation.is-warning strong {
    color: #9f1239;
}


/* Placefox Dayplan Belegungsindikator v0.2.0h */
.pf-table-occupancy {
    position: relative;
    z-index: 1;
    margin-top: 10px;
    padding: 10px;
    border-radius: 16px;
    background: rgba(34, 34, 34, 0.035);
    border: 1px solid rgba(34, 34, 34, 0.06);
}

.pf-table-occupancy-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 8px;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.pf-table-occupancy-head span {
    color: rgba(34, 34, 34, 0.58);
}

.pf-table-occupancy-head strong {
    color: rgba(34, 34, 34, 0.44);
    font-size: 10px;
}

.pf-table-occupancy-bar {
    height: 9px;
    border-radius: 999px;
    overflow: hidden;
    background: rgba(34, 34, 34, 0.08);
}

.pf-table-occupancy-bar i {
    display: block;
    width: var(--pf-occupancy, 0%);
    height: 100%;
    border-radius: inherit;
    background: rgba(34, 34, 34, 0.22);
    transition: width 180ms ease;
}

.pf-table-occupancy-later .pf-table-occupancy-bar i,
.pf-table-occupancy-soon .pf-table-occupancy-bar i {
    background: var(--pf-orange);
}

.pf-table-occupancy-busy .pf-table-occupancy-bar i {
    background: var(--pf-green);
}

.pf-table-occupancy-critical .pf-table-occupancy-bar i {
    background: #C0392B;
}

.pf-dayplan-table-card-busy {
    border-color: rgba(31, 77, 58, 0.34);
    background: linear-gradient(180deg, #fff 0%, rgba(31, 77, 58, 0.055) 100%);
}

.pf-dayplan-table-card-critical {
    border-color: rgba(192, 57, 43, 0.34);
    background: linear-gradient(180deg, #fff 0%, rgba(192, 57, 43, 0.055) 100%);
}

.pf-table-more-reservations {
    position: relative;
    z-index: 1;
    margin-top: 8px;
    color: rgba(34, 34, 34, 0.56);
    font-size: 11px;
    font-weight: 900;
    text-align: center;
}

.pf-table-mini-reservation {
    grid-template-columns: 1fr auto;
}

.pf-table-mini-reservation small {
    display: none;
}

/* v0.3.0 Live Split View -------------------------------------------------- */
.pf-live-shell {
    --pf-live-panel: clamp(260px, 27vw, 340px);
}

.pf-live-hero {
    margin-bottom: 14px;
}

.pf-live-layout {
    display: grid;
    grid-template-columns: var(--pf-live-panel) minmax(0, 1fr);
    gap: 14px;
    align-items: start;
}

.pf-live-reservations,
.pf-live-floor {
    background: #fff;
    border: 1px solid #e5e2dc;
    border-radius: 22px;
    box-shadow: 0 10px 30px rgba(0,0,0,.04);
}

.pf-live-reservations {
    position: sticky;
    top: 14px;
    max-height: calc(100vh - 28px);
    overflow: auto;
    padding: 12px;
}

.pf-live-panel-head,
.pf-live-floor-top,
.pf-live-area-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.pf-live-panel-head {
    margin-bottom: 10px;
}

.pf-live-panel-head span,
.pf-live-area-head span,
.pf-live-search span {
    display: block;
    color: #777;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.pf-live-panel-head h2,
.pf-live-area-head h2 {
    margin: 0;
    font-size: 18px;
}

.pf-live-panel-head strong {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 34px;
    height: 34px;
    border-radius: 999px;
    color: #fff;
    background: #1F4D3A;
}

.pf-live-search {
    display: block;
    margin-bottom: 10px;
}

.pf-live-search input {
    width: 100%;
    border: 1px solid #dedbd3;
    border-radius: 14px;
    padding: 10px 12px;
    margin-top: 5px;
    font-size: 15px;
}

.pf-live-list {
    display: grid;
    gap: 6px;
}

.pf-live-empty {
    padding: 12px;
    border-radius: 16px;
    background: #F7F7F5;
    color: #666;
    font-size: 14px;
}

.pf-live-reservation {
    border: 1px solid #ebe7df;
    border-radius: 14px;
    overflow: hidden;
    background: #fff;
}

.pf-live-reservation.is-open {
    border-color: #D97706;
    box-shadow: 0 0 0 2px rgba(217,119,6,.12);
}

.pf-live-reservation-row {
    display: grid;
    grid-template-columns: 56px 38px 1fr 12px;
    align-items: center;
    gap: 8px;
    width: 100%;
    min-height: 38px;
    border: 0;
    background: transparent;
    padding: 7px 9px;
    text-align: left;
    cursor: pointer;
    color: #222;
}

.pf-live-reservation-row strong {
    font-size: 15px;
    font-variant-numeric: tabular-nums;
}

.pf-live-reservation-row span,
.pf-live-reservation-row em {
    font-size: 13px;
    font-style: normal;
    color: #555;
}

.pf-live-reservation-row i,
.pf-live-legend i {
    width: 9px;
    height: 9px;
    border-radius: 999px;
    border: 1px solid #D97706;
    background: linear-gradient(90deg, #D97706 50%, transparent 50%);
}

.pf-live-reservation.is-present .pf-live-reservation-row i,
.pf-live-reservation[data-status="present"] .pf-live-reservation-row i,
.pf-live-legend i.is-busy {
    border-color: #1F4D3A;
    background: #1F4D3A;
}

.pf-live-reservation.is-delayed .pf-live-reservation-row {
    background: #fff8ed;
}

.pf-live-reservation-details {
    padding: 8px 9px 10px;
    border-top: 1px solid #eee9df;
    background: #FCFBF8;
}

.pf-live-reservation-details h3 {
    margin: 0 0 2px;
    font-size: 16px;
}

.pf-live-reservation-details p {
    margin: 0 0 6px;
    color: #555;
    font-size: 13px;
}

.pf-live-note {
    padding: 6px 8px;
    border-radius: 10px;
    background: #fff3df;
}

.pf-live-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.pf-live-actions button {
    min-height: 32px;
    padding: 7px 9px;
    border-radius: 10px;
    font-size: 13px;
}

.pf-live-floor {
    padding: 12px;
    min-height: 62vh;
}

.pf-live-floor-top {
    margin-bottom: 12px;
}

.pf-live-floor-top .pf-dayplan-area-filter {
    margin: 0;
    flex-wrap: wrap;
}

.pf-live-legend {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    color: #666;
    font-size: 12px;
}

.pf-live-legend span {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.pf-live-legend i.is-free {
    border-color: #b9b9b2;
    background: #fff;
}

.pf-live-legend i.is-reserved {
    border-color: #D97706;
    background: linear-gradient(90deg, #D97706 50%, transparent 50%);
}

.pf-live-area + .pf-live-area {
    margin-top: 16px;
}

.pf-live-area-head {
    margin-bottom: 8px;
    padding: 0 2px;
}

.pf-live-table-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(86px, 1fr));
    gap: 9px;
}

.pf-live-table {
    min-height: 86px;
    border: 1px solid #e7e2d9;
    border-radius: 16px;
    background: #F7F7F5;
    color: #222;
    padding: 8px;
    cursor: pointer;
    display: grid;
    grid-template-rows: auto 1fr auto;
    gap: 5px;
    align-items: center;
    justify-items: center;
    transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease;
}

.pf-live-table:hover,
.pf-live-table:focus-visible {
    transform: translateY(-1px);
    border-color: #1F4D3A;
    box-shadow: 0 8px 18px rgba(31,77,58,.11);
    outline: none;
}

.pf-live-table.is-live-selected {
    border-color: #D97706;
    box-shadow: 0 0 0 3px rgba(217,119,6,.22), 0 10px 22px rgba(0,0,0,.08);
}

.pf-live-table.is-busy {
    background: #eef7f1;
}

.pf-live-table.is-reserved {
    background: #fff8ed;
}

.pf-live-table-number {
    font-weight: 800;
    font-size: 15px;
}

.pf-live-table-meta {
    font-size: 11px;
    color: #666;
}

.pf-live-chair-grid {
    display: grid;
    grid-template-columns: repeat(2, 13px);
    grid-auto-rows: 13px;
    justify-content: center;
    align-content: center;
    gap: 5px 10px;
    min-height: 34px;
}

.pf-live-chair-grid i {
    width: 12px;
    height: 12px;
    border-radius: 999px;
    border: 1px solid #a8a8a0;
    background: #fff;
}

.pf-live-chair-grid i.is-reserved {
    border-color: #D97706;
    background: linear-gradient(90deg, #D97706 50%, #fff 50%);
}

.pf-live-chair-grid i.is-busy {
    border-color: #1F4D3A;
    background: #1F4D3A;
}

@media (max-width: 980px) {
    .pf-live-layout {
        grid-template-columns: 1fr;
    }

    .pf-live-reservations {
        position: static;
        max-height: none;
    }
}

@media (max-width: 640px) {
    .pf-live-table-grid {
        grid-template-columns: repeat(auto-fill, minmax(74px, 1fr));
        gap: 7px;
    }

    .pf-live-table {
        min-height: 78px;
        border-radius: 14px;
        padding: 7px;
    }

    .pf-live-reservation-row {
        grid-template-columns: 52px 34px 1fr 10px;
    }
}

/* v0.3.1 Live Compact Shell ---------------------------------------------- */
body.pf-live-body {
    background: #F7F7F5;
    overflow-x: hidden;
}

.pf-shell-live {
    display: block;
    min-height: 100vh;
}

.pf-shell-live .pf-sidebar-drawer {
    position: fixed;
    inset: 0 auto 0 0;
    width: 230px;
    max-width: 82vw;
    z-index: 1200;
    transform: translateX(-105%);
    transition: transform .22s ease;
    box-shadow: 20px 0 50px rgba(0,0,0,.18);
}

body.pf-live-menu-open .pf-shell-live .pf-sidebar-drawer {
    transform: translateX(0);
}

.pf-live-menu-backdrop {
    position: fixed;
    inset: 0;
    z-index: 1100;
    background: rgba(0,0,0,.28);
    opacity: 0;
    pointer-events: none;
    transition: opacity .18s ease;
}

body.pf-live-menu-open .pf-live-menu-backdrop {
    opacity: 1;
    pointer-events: auto;
}

.pf-main-live {
    padding: 12px 16px 16px;
}

.pf-live-topbar {
    position: sticky;
    top: 0;
    z-index: 900;
    display: grid;
    grid-template-columns: auto minmax(120px, 1fr) auto;
    align-items: center;
    gap: 10px;
    min-height: 54px;
    margin: -12px -16px 10px;
    padding: 8px 16px;
    background: rgba(247,247,245,.94);
    border-bottom: 1px solid rgba(34,34,34,.08);
    backdrop-filter: blur(10px);
}

.pf-live-menu-button {
    width: 42px;
    height: 42px;
    border: 0;
    border-radius: 12px;
    background: #1F4D3A;
    color: #fff;
    font-size: 22px;
    font-weight: 800;
    cursor: pointer;
}

.pf-live-topbar-title {
    display: grid;
    gap: 1px;
    min-width: 0;
}

.pf-live-topbar-title strong {
    color: #1F4D3A;
    font-size: 16px;
    line-height: 1;
}

.pf-live-topbar-title small {
    color: #777;
    font-size: 11px;
}

.pf-live-topbar-actions {
    display: flex;
    gap: 8px;
    justify-content: flex-end;
}

.pf-live-action-button {
    min-height: 40px;
    border-radius: 12px;
    border: 1px solid transparent;
    padding: 0 14px;
    font: inherit;
    font-size: 14px;
    font-weight: 800;
    cursor: pointer;
    white-space: nowrap;
}

.pf-live-action-primary {
    background: #D97706;
    color: #fff;
}

.pf-live-action-secondary {
    background: #fff;
    color: #1F4D3A;
    border-color: #dedbd3;
}

.pf-live-compact-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 0 0 10px;
    padding: 10px 12px;
    border-radius: 18px;
    background: #1F4D3A;
    color: #fff;
}

.pf-live-compact-head strong {
    display: block;
    font-size: 20px;
    line-height: 1.1;
}

.pf-live-compact-head span {
    display: block;
    margin-top: 2px;
    color: rgba(255,255,255,.78);
    font-size: 13px;
}

.pf-live-compact-head .pf-dayplan-datebar {
    margin: 0;
    flex-wrap: nowrap;
}

.pf-live-compact-head .pf-dayplan-datebar a {
    min-height: 34px;
    padding: 8px 12px;
    border-radius: 999px;
    font-size: 13px;
}

.pf-live-shell {
    --pf-live-panel: clamp(250px, 24vw, 320px);
}

.pf-live-layout {
    gap: 10px;
}

.pf-live-reservations {
    top: 66px;
    max-height: calc(100vh - 82px);
    padding: 10px;
    border-radius: 18px;
}

.pf-live-floor {
    min-height: calc(100vh - 132px);
    padding: 10px;
    border-radius: 18px;
}

.pf-live-panel-head {
    margin-bottom: 8px;
}

.pf-live-panel-head h2,
.pf-live-area-head h2 {
    font-size: 16px;
}

.pf-live-search input {
    padding: 9px 10px;
    border-radius: 12px;
    font-size: 14px;
}

.pf-live-reservation-row {
    min-height: 34px;
    padding: 6px 8px;
}

.pf-live-table-grid {
    grid-template-columns: repeat(auto-fill, minmax(78px, 1fr));
    gap: 8px;
}

.pf-live-table {
    min-height: 78px;
    border-radius: 14px;
    padding: 7px;
}

.pf-live-chair-grid {
    gap: 4px 8px;
}

@media (max-width: 760px) {
    .pf-main-live {
        padding: 8px 10px 10px;
    }

    .pf-live-topbar {
        margin: -8px -10px 8px;
        padding: 7px 10px;
        grid-template-columns: auto 1fr;
    }

    .pf-live-topbar-title {
        display: none;
    }

    .pf-live-topbar-actions {
        justify-content: flex-end;
    }

    .pf-live-action-button {
        min-height: 38px;
        padding: 0 10px;
        font-size: 13px;
    }

    .pf-live-compact-head {
        padding: 8px 10px;
        border-radius: 14px;
    }

    .pf-live-compact-head strong {
        font-size: 17px;
    }

    .pf-live-compact-head span {
        font-size: 12px;
    }
}

/* v0.3.3 Live Teleprompter Flow ----------------------------------------- */
.pf-live-statusbar {
    position: sticky;
    top: 0;
    z-index: 900;
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 34px;
    margin: -12px -16px 8px;
    padding: 4px 10px;
    background: rgba(247,247,245,.96);
    border-bottom: 1px solid rgba(34,34,34,.08);
    backdrop-filter: blur(10px);
}

.pf-live-status-brand,
.pf-live-status-actions {
    display: flex;
    align-items: center;
    gap: 7px;
}

.pf-live-status-brand img {
    width: 20px;
    height: 20px;
}

.pf-live-status-brand strong {
    color: #1F4D3A;
    font-size: 13px;
    line-height: 1;
}

.pf-live-status-brand small {
    color: #777;
    font-size: 11px;
}

.pf-live-icon-button {
    width: 30px;
    height: 30px;
    border: 1px solid #dedbd3;
    border-radius: 10px;
    background: #fff;
    color: #1F4D3A;
    font-size: 16px;
    font-weight: 900;
    cursor: pointer;
}

.pf-live-action-stage {
    margin: 0 0 8px;
    padding: 8px;
    border: 1px solid #e5e2dc;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(0,0,0,.035);
}

.pf-live-action-default {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.pf-live-date-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 38px;
    padding: 0 8px 0 12px;
    border-radius: 13px;
    background: #F7F7F5;
    color: #222;
    font-weight: 800;
    font-size: 14px;
    white-space: nowrap;
}

.pf-live-date-chip button {
    width: 28px;
    height: 28px;
    border: 0;
    border-radius: 9px;
    background: #fff;
    cursor: pointer;
}

.pf-live-quick-actions {
    display: flex;
    gap: 8px;
    justify-content: flex-end;
    flex-wrap: wrap;
}

.pf-live-teleprompter {
    display: grid;
    gap: 8px;
}

.pf-live-prompt-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.pf-live-prompt-head strong {
    color: #1F4D3A;
    font-size: 14px;
}

.pf-live-prompt-head button {
    width: 30px;
    height: 30px;
    border: 0;
    border-radius: 10px;
    background: #F7F7F5;
    color: #222;
    font-size: 22px;
    line-height: 1;
    cursor: pointer;
}

.pf-live-prompt-body {
    display: grid;
    gap: 9px;
}

.pf-live-prompt-question {
    margin: 0;
    font-size: 18px;
    font-weight: 900;
    color: #222;
}

.pf-live-prompt-subline {
    margin: -5px 0 0;
    color: #666;
    font-size: 13px;
}

.pf-live-choice-row {
    display: flex;
    gap: 7px;
    flex-wrap: wrap;
}

.pf-live-choice {
    min-height: 38px;
    border: 1px solid #dedbd3;
    border-radius: 12px;
    padding: 0 13px;
    background: #fff;
    color: #222;
    font: inherit;
    font-size: 14px;
    font-weight: 850;
    cursor: pointer;
}

.pf-live-choice.is-selected,
.pf-live-choice:hover {
    border-color: #1F4D3A;
    background: #eef7f1;
    color: #1F4D3A;
}

.pf-live-choice.is-orange {
    border-color: #D97706;
    background: #fff8ed;
    color: #9a5204;
}

.pf-live-flow-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.pf-live-flow-field {
    display: grid;
    gap: 4px;
}

.pf-live-flow-field span {
    color: #666;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.pf-live-flow-field input,
.pf-live-flow-field textarea {
    width: 100%;
    border: 1px solid #dedbd3;
    border-radius: 12px;
    padding: 10px 11px;
    font: inherit;
    font-size: 14px;
}

.pf-live-flow-field textarea {
    min-height: 40px;
    resize: vertical;
}

.pf-live-flow-summary {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    align-items: center;
    padding: 8px 10px;
    border-radius: 12px;
    background: #F7F7F5;
    color: #444;
    font-size: 13px;
}

.pf-live-flow-summary strong {
    color: #1F4D3A;
}

.pf-live-flow-actions {
    display: flex;
    gap: 8px;
    justify-content: flex-end;
    flex-wrap: wrap;
}

.pf-live-flow-actions button {
    min-height: 38px;
}

.pf-main-live {
    padding-top: 12px;
}

.pf-live-reservations {
    top: 52px;
    max-height: calc(100vh - 68px);
}

.pf-live-floor {
    min-height: calc(100vh - 118px);
}

@media (max-width: 760px) {
    .pf-main-live {
        padding: 8px 8px 10px;
    }

    .pf-live-statusbar {
        margin: -8px -8px 6px;
        padding: 4px 8px;
    }

    .pf-live-action-stage {
        padding: 7px;
        border-radius: 14px;
    }

    .pf-live-action-default {
        align-items: stretch;
        gap: 7px;
    }

    .pf-live-date-chip {
        min-height: 36px;
        font-size: 13px;
        padding-left: 9px;
    }

    .pf-live-action-button {
        min-height: 36px;
        padding: 0 9px;
        font-size: 13px;
    }

    .pf-live-prompt-question {
        font-size: 16px;
    }

    .pf-live-choice {
        min-height: 36px;
        padding: 0 10px;
        font-size: 13px;
    }

    .pf-live-flow-grid {
        grid-template-columns: 1fr;
    }
}


/* v0.3.4 Live Actionbar Fix --------------------------------------------- */
.pf-live-prompt-question small {
    display: block;
    margin-top: 3px;
    color: #666;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.25;
}

/* v0.3.6 Live Wizard ------------------------------------------------------ */
.pf-live-teleprompter[hidden],
.pf-live-action-default[hidden] {
    display: none !important;
}

.pf-live-wizard-head {
    display: grid;
    grid-template-columns: minmax(90px, auto) 1fr minmax(90px, auto);
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
}

.pf-live-wizard-head strong {
    text-align: center;
    color: #1F4D3A;
    font-size: 15px;
    font-weight: 900;
}

.pf-live-wizard-back,
.pf-live-wizard-cancel {
    min-height: 34px;
    border: 1px solid #dedbd3;
    border-radius: 11px;
    padding: 0 11px;
    background: #fff;
    color: #222;
    font: inherit;
    font-size: 13px;
    font-weight: 850;
    cursor: pointer;
}

.pf-live-wizard-back:disabled {
    opacity: .35;
    cursor: default;
}

.pf-live-wizard-cancel {
    background: #F7F7F5;
}

.pf-live-wizard-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(180px, 260px);
    gap: 10px;
    align-items: start;
}

.pf-live-wizard-question {
    display: grid;
    gap: 9px;
    min-width: 0;
}

.pf-live-wizard-summary {
    display: grid;
    gap: 6px;
    padding: 8px;
    border-radius: 13px;
    background: #F7F7F5;
    border: 1px solid rgba(34,34,34,.06);
}

.pf-live-wizard-summary h3 {
    margin: 0 0 2px;
    color: #777;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.pf-live-summary-item {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 8px;
    width: 100%;
    min-height: 30px;
    border: 0;
    border-radius: 9px;
    padding: 5px 7px;
    background: #fff;
    color: #444;
    font: inherit;
    text-align: left;
}

.pf-live-summary-item:not(:disabled) {
    cursor: pointer;
}

.pf-live-summary-item:not(:disabled):hover {
    background: #eef7f1;
    color: #1F4D3A;
}

.pf-live-summary-item span {
    color: #777;
    font-size: 11px;
    font-weight: 800;
}

.pf-live-summary-item strong {
    color: #222;
    font-size: 12px;
    font-weight: 900;
    white-space: nowrap;
}

.pf-live-summary-item:disabled {
    opacity: .7;
}

@media (max-width: 760px) {
    .pf-live-wizard-head {
        grid-template-columns: auto 1fr auto;
        gap: 6px;
    }

    .pf-live-wizard-head strong {
        font-size: 13px;
    }

    .pf-live-wizard-back,
    .pf-live-wizard-cancel {
        min-height: 32px;
        padding: 0 8px;
        font-size: 12px;
    }

    .pf-live-wizard-grid {
        grid-template-columns: 1fr;
    }

    .pf-live-wizard-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .pf-live-wizard-summary h3 {
        grid-column: 1 / -1;
    }
}

/* v0.3.7 Live Wizard Compact Actions ------------------------------------- */
.pf-live-summary-actions {
    display: grid;
    gap: 7px;
    margin-top: 6px;
    padding-top: 8px;
    border-top: 1px solid rgba(34,34,34,.08);
}

.pf-live-summary-actions .pf-live-action-button {
    width: 100%;
    justify-content: center;
    min-height: 38px;
}

.pf-live-flow-field input.is-invalid,
.pf-live-flow-field textarea.is-invalid {
    border-color: #C0392B;
    box-shadow: 0 0 0 3px rgba(192,57,43,.12);
}

.pf-live-flow-field span {
    font-weight: 850;
}

@media (max-width: 760px) {
    .pf-live-summary-actions {
        grid-column: 1 / -1;
    }
}

/* v0.4.1 Hybrid Interaction + Tischwechsel ------------------------------ */
.pf-live-table-actions-card {
    display: grid;
    gap: 7px;
    padding: 9px;
    border: 1px solid rgba(217,119,6,.22);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 10px 24px rgba(0,0,0,.08);
}

.pf-live-table-actions-card strong {
    color: #1F4D3A;
    font-size: 13px;
}

.pf-live-table-actions-card span {
    color: #666;
    font-size: 12px;
    font-weight: 800;
}

.pf-live-table-actions-card button {
    min-height: 34px;
    border-radius: 10px;
    padding: 7px 9px;
    font-size: 13px;
}

.pf-live-table.is-live-blocked {
    background: #f1f0ea;
    border-color: #c9c4b9;
}

.pf-live-chair-grid i.is-blocked {
    border-color: #777;
    background: repeating-linear-gradient(45deg, #777 0 2px, #fff 2px 4px);
}

.pf-live-table.is-change-source {
    border-color: #D97706;
    box-shadow: 0 0 0 3px rgba(217,119,6,.22);
}

.pf-live-table.is-change-possible {
    border-color: rgba(31,77,58,.35);
    background: #eef7f1;
}

.pf-live-table.is-change-recommended {
    border-color: #D97706;
    box-shadow: 0 0 0 3px rgba(217,119,6,.18), 0 12px 24px rgba(0,0,0,.08);
}

.pf-live-table.is-change-target {
    border-color: #1F4D3A;
    box-shadow: 0 0 0 4px rgba(31,77,58,.2), 0 12px 24px rgba(0,0,0,.08);
}

.pf-live-table.is-change-disabled {
    opacity: .36;
    filter: grayscale(.8);
    cursor: not-allowed;
}

.pf-live-change-mode {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(180px, 260px);
    gap: 10px;
    align-items: start;
}

@media (max-width: 760px) {
    .pf-live-change-mode {
        grid-template-columns: 1fr;
    }
}

/* Public product landingpage: reserve.placefox.de
   Uses the same visual scale as the main Placefox landingpage. */
.pf-public-body{margin:0;background:#fff;padding:0;font-family:Manrope,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:#111827;letter-spacing:-.01em}.pf-public{--reserve:#16803e;--reserve-dark:#0f6c34;--ink:#111827;--muted:#536171;--line:#dfe6ee;min-height:100vh;max-width:none;margin:0;background:radial-gradient(circle at 76% 16%,rgba(22,128,62,.10),transparent 32rem),radial-gradient(circle at 19% 19%,rgba(22,128,62,.08),transparent 26rem),linear-gradient(180deg,#fff 0%,#fbfcfe 58%,#fff 100%);border-radius:0;overflow:hidden;box-shadow:none}.pf-public a{text-decoration:none;color:inherit}.pf-public-nav{height:82px;width:100%;display:flex;align-items:center;justify-content:space-between;padding:0 max(36px,calc((100% - 1360px)/2));border-bottom:1px solid rgba(15,23,42,.07);background:rgba(255,255,255,.82);backdrop-filter:blur(18px);position:sticky;top:0;z-index:50}.pf-public-brand{display:flex;align-items:center;gap:14px;color:#111827;font-size:31px;line-height:1;font-weight:800;letter-spacing:-.045em}.pf-public-brand img{width:42px;height:42px;display:block;flex:0 0 auto}.pf-public-brand b{color:var(--reserve);font-weight:800}.pf-public-nav nav{display:flex;align-items:center;gap:42px}.pf-public-nav nav a{color:#111827;font-weight:700;font-size:14px;letter-spacing:-.01em}.pf-public-nav nav a:hover{color:var(--reserve)}.pf-public-nav .pf-public-cta{background:var(--reserve-dark);color:#fff;border-radius:7px;padding:16px 26px;box-shadow:0 12px 26px rgba(15,108,52,.18);font-weight:800}.pf-public main{padding:0}.pf-public-hero{width:min(1360px,calc(100% - 72px));margin:0 auto;display:grid;grid-template-columns:1fr 1.15fr;align-items:center;gap:86px;min-height:520px;padding:66px 0 54px}.pf-public-kicker{margin:0 0 24px!important;color:var(--reserve)!important;text-transform:uppercase;letter-spacing:.11em;font-size:13px;font-weight:800}.pf-public-copy h1{font-size:64px;line-height:1.05;margin:0 0 25px;letter-spacing:-.055em;color:#111827;font-weight:800}.pf-public-lead{max-width:600px;font-size:19px;line-height:1.75;margin:0;color:var(--muted);font-weight:400}.pf-public-actions{display:flex;gap:16px;margin-top:34px}.pf-public-button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 28px;border-radius:7px;font-weight:800;font-size:14px;letter-spacing:-.01em}.pf-public-button-primary{background:var(--reserve-dark);color:#fff;box-shadow:0 14px 30px rgba(15,108,52,.18)}.pf-public-button-secondary{background:#fff;color:#17211b;border:1px solid rgba(15,108,52,.38)}.pf-product-shot{background:#fff;border:1px solid rgba(15,23,42,.10);border-radius:13px;box-shadow:0 30px 74px rgba(15,23,42,.12);overflow:hidden}.pf-shot-tableplan{height:344px;display:grid;grid-template-columns:126px 1fr 154px}.pf-shot-menu{border-right:1px solid rgba(15,23,42,.08);padding:20px 13px;display:grid;align-content:start;gap:13px;font-size:11px;color:#68736d}.pf-shot-menu strong{font-size:15px;color:#171b18;margin-bottom:13px;font-weight:800}.pf-shot-menu span{font-weight:700;padding:9px;border-radius:6px}.pf-shot-menu .active{background:#e9f6ee;color:var(--reserve-dark)}.pf-shot-main{padding:16px 16px 20px}.pf-shot-toolbar{height:36px;display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.pf-shot-toolbar button{height:26px;border:1px solid rgba(15,25,20,.12);background:#fff;border-radius:5px;padding:0 11px;font-size:10px;font-weight:800}.pf-floorplan{height:240px;position:relative;background:#fafafa;border-radius:5px}.pf-floorplan .t{position:absolute;display:grid;place-items:center;border-radius:5px;font-size:11px;font-weight:800;color:#29302b;box-shadow:0 8px 16px rgba(0,0,0,.04)}.pf-floorplan .gray{background:#e7e7e6}.pf-floorplan .green{background:#2f9155;color:#fff}.pf-floorplan .wide{width:88px}.pf-floorplan .tall{height:84px}.t1{left:55px;top:21px;width:60px;height:74px}.t2{left:170px;top:21px;width:60px;height:74px}.t3{left:286px;top:18px;width:64px;height:77px}.t4{left:55px;top:110px;width:42px;height:42px}.t5{left:156px;top:115px;height:34px}.t6{left:301px;top:110px;width:50px;height:48px}.t7{left:142px;top:173px;width:46px;height:40px}.t8{left:36px;top:190px;width:74px;height:34px}.t9{left:230px;top:176px;width:54px}.t10{left:334px;top:176px;width:38px}.pf-shot-reservations{border-left:1px solid rgba(15,25,20,.08);padding:20px 15px;display:grid;align-content:start;gap:14px;font-size:11px}.pf-shot-reservations strong{font-size:13px;margin-bottom:6px;font-weight:800}.pf-shot-reservations div{display:flex;gap:9px;line-height:1.35}.pf-shot-reservations b{color:var(--reserve-dark);font-weight:800}.pf-shot-reservations span{font-weight:700}.pf-shot-reservations small{font-weight:600;color:#7b837e}.pf-benefits{width:min(1360px,calc(100% - 72px));margin:0 auto;padding:40px 0 58px}.pf-benefits h2,.pf-industries h2{text-align:center;font-size:25px;line-height:1.2;margin:0 0 46px;letter-spacing:-.035em;font-weight:800;color:#111827}.pf-benefit-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0}.pf-benefit-grid article{padding:0 54px 0 30px;border-right:1px solid rgba(15,23,42,.10);min-height:130px}.pf-benefit-grid article:last-child{border-right:0}.pf-benefit-grid i,.pf-feature-list i{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:#f0fbf4;border:1px solid rgba(15,108,52,.16);color:var(--reserve);font-style:normal;font-size:21px;margin-bottom:18px}.pf-benefit-grid h3,.pf-feature-list h3{font-size:14px;margin:0 0 12px;font-weight:800;color:#111827}.pf-benefit-grid p,.pf-feature-list p{font-size:13px;line-height:1.75;margin:0;color:var(--muted);font-weight:400}.pf-feature-showcase{display:grid;grid-template-columns:.78fr 1.22fr;gap:82px;align-items:center;padding:70px max(36px,calc((100% - 1360px)/2)) 32px;background:linear-gradient(180deg,rgba(247,250,248,.86),rgba(255,255,255,.78))}.pf-feature-list h2{text-align:left;font-size:24px;line-height:1.2;margin:0 0 40px;letter-spacing:-.035em;font-weight:800}.pf-feature-list article{display:grid;grid-template-columns:48px 1fr;gap:18px;margin-bottom:32px}.pf-feature-list i{margin:0}.pf-calendar-shot{background:#fff;border:1px solid rgba(15,23,42,.10);border-radius:10px;box-shadow:0 26px 64px rgba(15,23,42,.11);padding:18px}.pf-cal-head{height:38px;display:flex;align-items:center;gap:12px;font-size:11px}.pf-cal-head strong{font-size:14px;margin-right:auto;font-weight:800}.pf-cal-head span{border:1px solid rgba(15,25,20,.10);border-radius:5px;padding:8px 13px;font-weight:800}.pf-cal-head button{border:0;background:var(--reserve-dark);color:#fff;border-radius:5px;padding:9px 15px;font-weight:800;font-size:11px}.pf-cal-grid{display:grid;grid-template-columns:58px repeat(5,1fr);grid-auto-rows:58px;border-top:1px solid rgba(15,25,20,.08);border-left:1px solid rgba(15,25,20,.08);position:relative}.pf-cal-grid>*{border-right:1px solid rgba(15,25,20,.08);border-bottom:1px solid rgba(15,25,20,.08);padding:10px;font-size:11px;color:#333}.pf-cal-grid b{text-align:center;font-size:12px;font-weight:800}.pf-cal-grid span{font-weight:800;color:#4f5a53}.pf-cal-grid em{font-style:normal}.pf-cal-grid .booking{border-radius:6px;background:#bfe6cc;color:#124322;font-weight:800;line-height:1.45;box-shadow:0 8px 16px rgba(0,0,0,.08)}.pf-cal-grid .booking.dark{background:#1f8749;color:#fff}.pf-cal-grid .booking.mid{background:#4ca86d;color:#fff}.pf-industries{width:min(1360px,calc(100% - 72px));margin:0 auto;padding:30px 0 54px}.pf-industries div{display:grid;grid-template-columns:repeat(5,1fr);gap:0}.pf-industries span{display:grid;place-items:center;gap:13px;min-height:86px;border-right:1px solid rgba(15,23,42,.10);font-size:26px;color:var(--reserve)}.pf-industries span:last-child{border-right:0}.pf-industries b{font-size:14px;color:#111827;font-weight:800}.pf-platform-strip{display:grid;grid-template-columns:1fr 1.2fr;gap:56px;align-items:center;background:linear-gradient(90deg,#f4fbf7,#effaf3);padding:48px max(36px,calc((100% - 1360px)/2)) 54px}.pf-platform-strip h2{font-size:24px;line-height:1.2;margin:0 0 14px;font-weight:800;letter-spacing:-.035em}.pf-platform-strip p{font-size:14px;line-height:1.75;margin:0 0 22px;color:var(--muted)}.pf-product-links{display:grid;grid-template-columns:1fr 1fr;gap:18px}.pf-product-links a{background:rgba(255,255,255,.88);border:1px solid rgba(15,23,42,.06);border-radius:10px;padding:24px;display:grid;grid-template-columns:44px 1fr 18px;grid-template-rows:auto auto;column-gap:16px;color:#151917;box-shadow:0 12px 30px rgba(0,0,0,.04)}.pf-product-links i{grid-row:1/3;width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:#e9f6ee;color:var(--reserve);font-style:normal}.pf-product-links strong{font-size:14px;font-weight:800}.pf-product-links span{font-size:12px;line-height:1.55;color:var(--muted)}.pf-product-links b{grid-row:1/3;grid-column:3;color:var(--reserve);align-self:center}@media(max-width:1000px){.pf-public-nav{height:auto;padding:18px 22px;align-items:flex-start}.pf-public-nav nav{gap:15px;flex-wrap:wrap;justify-content:flex-end}.pf-public-brand{font-size:24px}.pf-public-brand img{width:34px;height:34px}.pf-public-hero,.pf-feature-showcase,.pf-platform-strip{width:auto;grid-template-columns:1fr;padding:42px 22px;gap:36px}.pf-benefits,.pf-industries{width:auto;padding:36px 22px}.pf-benefit-grid,.pf-industries div,.pf-product-links{grid-template-columns:1fr 1fr}.pf-benefit-grid article{border-right:0;border-bottom:1px solid rgba(15,25,20,.10);padding:22px 10px}.pf-shot-tableplan{grid-template-columns:92px 1fr;height:340px}.pf-shot-reservations{display:none}.pf-public-copy h1{font-size:50px}}@media(max-width:640px){.pf-public-nav{display:grid;gap:16px}.pf-public-nav nav{justify-content:flex-start}.pf-public-copy h1{font-size:38px}.pf-public-lead{font-size:16px}.pf-benefit-grid,.pf-industries div,.pf-product-links{grid-template-columns:1fr}.pf-shot-tableplan{display:none}.pf-cal-grid{grid-template-columns:44px repeat(3,1fr);overflow:hidden}.pf-cal-grid>*:nth-child(6n),.pf-cal-grid>*:nth-child(6n-1){display:none}}


/* Placefox Reserve public landing v2 - aligned with Signage story style */
body.pf-public-body{background:#050b16;color:#fff}.pf-public-body .pf-reserve-landing{min-height:100vh;background:#050b16;color:#fff;font-family:Manrope,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;overflow:hidden}.pf-reserve-landing *{box-sizing:border-box}.pf-reserve-landing a{text-decoration:none;color:inherit}.reserve-nav{position:sticky;top:18px;z-index:50;width:min(1100px,calc(100% - 40px));height:64px;margin:18px auto 0;padding:0 14px 0 22px;border:1px solid rgba(255,255,255,.13);border-radius:24px;background:rgba(8,15,29,.78);backdrop-filter:blur(20px);box-shadow:0 24px 80px rgba(0,0,0,.32);display:flex;align-items:center;justify-content:space-between;gap:24px}.reserve-brand{display:flex;align-items:center;gap:10px;font-size:22px;font-weight:800;letter-spacing:-.04em}.reserve-brand img{width:30px;height:30px}.reserve-brand b{color:#53d882}.reserve-nav nav{display:flex;gap:28px;align-items:center;font-size:13px;font-weight:800;color:rgba(255,255,255,.78)}.reserve-nav nav a:hover{color:#53d882}.reserve-nav-actions{display:flex;gap:10px}.reserve-pill{height:40px;padding:0 20px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;font-weight:900;font-size:13px}.reserve-pill-primary{background:linear-gradient(135deg,#30b85f,#16803e);box-shadow:0 16px 34px rgba(22,128,62,.34)}.reserve-pill-ghost{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12)}.reserve-hero{width:min(1100px,calc(100% - 40px));min-height:calc(100vh - 90px);margin:0 auto;padding:120px 0 70px;display:grid;grid-template-columns:minmax(0,1fr) minmax(480px,1.12fr);align-items:center;gap:54px}.reserve-kicker{margin:0 0 26px!important;color:#a6ffc5!important;font-size:12px!important;letter-spacing:.19em!important;font-weight:900!important;text-transform:uppercase;display:flex;align-items:center;gap:10px}.reserve-kicker span{width:8px;height:8px;border-radius:50%;background:#53d882;box-shadow:0 0 0 7px rgba(83,216,130,.13)}.reserve-copy h1{margin:0 0 24px;font-size:clamp(54px,7vw,86px);line-height:.92;letter-spacing:-.085em;font-weight:900;color:#fff}.reserve-copy h1 em{font-style:normal;color:#7dffa8;text-shadow:0 0 32px rgba(83,216,130,.28)}.reserve-lead{max-width:520px;color:#a9b5c8;font-size:18px;line-height:1.65;margin:0 0 30px}.reserve-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.reserve-btn{height:48px;padding:0 22px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;font-size:14px;font-weight:900}.reserve-btn-primary{background:linear-gradient(135deg,#53d882,#16803e);color:#fff;box-shadow:0 16px 34px rgba(22,128,62,.32)}.reserve-btn-primary b{font-size:21px;margin-left:10px}.reserve-btn-ghost{background:rgba(255,255,255,.065);border:1px solid rgba(255,255,255,.13);color:#fff}.reserve-proof{display:grid;grid-template-columns:1fr 1fr;gap:12px 24px;margin-top:34px;padding-top:24px;border-top:1px solid rgba(255,255,255,.10);max-width:520px;color:#d4dbea;font-size:13px;font-weight:850}.reserve-device{position:relative;min-height:470px}.reserve-device:before{content:"";position:absolute;inset:-55px -70px;background:radial-gradient(circle at 50% 45%,rgba(83,216,130,.2),transparent 52%),radial-gradient(circle at 70% 25%,rgba(217,119,6,.10),transparent 44%);filter:blur(10px)}.reserve-monitor{position:relative;margin-top:25px;border-radius:16px;background:#151923;padding:14px 14px 28px;box-shadow:0 35px 100px rgba(0,0,0,.44);transform:perspective(1000px) rotateY(-7deg) rotateX(2deg);border:1px solid rgba(255,255,255,.15)}.reserve-monitor:after{content:"";position:absolute;left:20%;right:20%;bottom:-34px;height:35px;border-radius:0 0 28px 28px;background:linear-gradient(180deg,#2c313b,#0c111c);box-shadow:0 20px 35px rgba(0,0,0,.45)}.reserve-ui{height:410px;border-radius:8px;overflow:hidden;background:#f8fafc;color:#0f172a;display:grid;grid-template-columns:120px 1fr 180px}.reserve-ui aside{border-right:1px solid #e5eaf1;padding:18px 12px;font-size:10px;color:#7b8494}.reserve-ui aside strong{display:block;color:#12301e;font-weight:900;margin-bottom:18px}.reserve-ui aside span{display:block;padding:9px 10px;border-radius:9px;margin:4px 0}.reserve-ui aside .active{background:#e8f8ee;color:#16803e;font-weight:900}.reserve-ui section{padding:22px}.reserve-ui-top{position:relative;background:#fff;border:1px solid #e6ebf2;border-radius:14px;padding:16px 120px 16px 18px;margin-bottom:14px}.reserve-ui-top p{margin:0 0 4px!important;color:#16803e!important;font-size:10px!important;font-weight:900!important;letter-spacing:.12em}.reserve-ui-top h3{font-size:24px;margin:0;font-weight:900;letter-spacing:-.06em}.reserve-ui-top button{position:absolute;right:14px;top:14px;background:#101827;color:#fff;border:0;border-radius:8px;height:32px;padding:0 12px;font-size:10px;font-weight:900}.reserve-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}.reserve-stats b{background:#fff;border:1px solid #e6ebf2;border-radius:12px;padding:12px;font-size:23px;color:#16803e}.reserve-stats small{display:block;color:#7b8494;font-size:10px;margin-top:2px}.reserve-plan{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;background:#fff;border:1px solid #e6ebf2;border-radius:16px;padding:18px}.reserve-plan i{height:52px;border-radius:12px;background:#eef2f6;display:grid;place-items:center;font-style:normal;font-weight:900;color:#96a0af}.reserve-plan i.green{background:linear-gradient(135deg,#53d882,#16803e);color:#fff}.reserve-plan i.wide{grid-column:span 2}.reserve-list{border-left:1px solid #e5eaf1;background:#fff;padding:22px 14px}.reserve-list strong{font-size:14px}.reserve-list p{display:grid;grid-template-columns:46px 1fr;gap:8px;margin:12px 0;padding:10px;border-radius:12px;background:#f8fafc;color:#172033;font-size:11px!important;line-height:1.2!important}.reserve-list small{display:block;color:#7b8494;margin-top:3px}.reserve-strip,.reserve-story,.reserve-pricing,.reserve-faq{width:min(1100px,calc(100% - 40px));margin:0 auto}.reserve-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:0;padding:46px 0;border-top:1px solid rgba(255,255,255,.10);border-bottom:1px solid rgba(255,255,255,.10)}.reserve-strip article{padding:0 26px;border-left:1px solid rgba(255,255,255,.10)}.reserve-strip article:first-child{border-left:0}.reserve-strip i{width:34px;height:34px;border-radius:10px;background:rgba(83,216,130,.13);color:#53d882;display:grid;place-items:center;font-style:normal;font-weight:900;margin-bottom:16px}.reserve-strip h3,.reserve-story h2,.reserve-pricing h2,.reserve-faq h2{color:#fff;margin:0 0 12px;letter-spacing:-.055em}.reserve-strip h3{font-size:17px}.reserve-strip p,.reserve-story p,.reserve-pricing p,.reserve-faq p{color:#a9b5c8;line-height:1.65}.reserve-story{padding:84px 0;display:grid;grid-template-columns:.85fr 1.15fr;gap:40px;align-items:start}.reserve-story h2,.reserve-pricing h2,.reserve-faq h2{font-size:42px}.reserve-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.reserve-feature-grid article{background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.10);border-radius:22px;padding:24px}.reserve-feature-grid b{color:#53d882}.reserve-feature-grid h3{font-size:20px;margin:20px 0 10px;color:#fff}.reserve-pricing{margin-bottom:56px;padding:34px;border:1px solid rgba(255,255,255,.12);border-radius:28px;background:linear-gradient(135deg,rgba(83,216,130,.12),rgba(255,255,255,.045))}.reserve-faq{padding-bottom:80px}.reserve-faq details{border-top:1px solid rgba(255,255,255,.10);padding:20px 0}.reserve-faq summary{cursor:pointer;font-weight:900;color:#fff}.pf-error-page{padding:24px}.reserve-error-card{width:min(760px,calc(100% - 40px));margin:120px auto 0;padding:44px;border-radius:28px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);box-shadow:0 30px 90px rgba(0,0,0,.28)}.reserve-error-card h1{margin:0 0 12px;font-size:54px;letter-spacing:-.07em;color:#fff}.reserve-error-card p{color:#a9b5c8}@media(max-width:980px){.reserve-nav{top:10px;width:calc(100% - 20px);height:auto;min-height:64px;flex-wrap:wrap;padding:14px}.reserve-nav nav{order:3;width:100%;justify-content:center;gap:16px;flex-wrap:wrap}.reserve-nav-actions{display:none}.reserve-hero{grid-template-columns:1fr;padding-top:70px}.reserve-device{min-height:auto}.reserve-monitor{transform:none}.reserve-strip,.reserve-story,.reserve-feature-grid{grid-template-columns:1fr}.reserve-strip article{border-left:0;border-top:1px solid rgba(255,255,255,.10);padding:22px 0}.reserve-strip article:first-child{border-top:0}.reserve-ui{grid-template-columns:96px 1fr}.reserve-list{display:none}}@media(max-width:620px){.reserve-copy h1{font-size:52px}.reserve-proof{grid-template-columns:1fr}.reserve-ui{height:360px;grid-template-columns:1fr}.reserve-ui aside{display:none}.reserve-ui section{padding:14px}.reserve-plan i{height:42px}.reserve-story h2,.reserve-pricing h2,.reserve-faq h2{font-size:34px}}
