.ibl-body{margin:0;background:#f4f1ed;color:#151515;font-family:Inter,Arial,sans-serif}.ibl-page{max-width:760px;margin:0 auto;padding:24px}.ibl-hero{text-align:center;padding:36px 16px}.ibl-avatar{width:86px;height:86px;border-radius:28px;background:#111;color:#fff;display:grid;place-items:center;font-size:42px;font-weight:700;margin:0 auto 18px;overflow:hidden}.ibl-avatar.has-logo{background:#fff}.ibl-avatar img{width:100%;height:100%;object-fit:cover;display:block}.ibl-hero h1{font-size:36px;margin:0 0 10px}.ibl-hero p{font-size:17px;color:#555;margin:0 auto 16px;max-width:560px}.ibl-meta{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.ibl-meta span{background:#fff;border-radius:999px;padding:8px 13px;box-shadow:0 8px 22px rgba(0,0,0,.06)}.ibl-card{background:#fff;border-radius:28px;padding:24px;box-shadow:0 20px 60px rgba(0,0,0,.08);margin-bottom:22px}.ibl-card h2{margin-top:0;font-size:26px}.ibl-card label{display:block;margin:18px 0 8px;font-weight:800}.ibl-services{display:grid;gap:10px}.ibl-service,.ibl-slot,.ibl-submit{border:0;cursor:pointer}.ibl-service{text-align:left;border-radius:18px;padding:16px;background:#f6f6f6;border:2px solid transparent}.ibl-service strong{display:block;font-size:17px}.ibl-service span{color:#666}.ibl-service.active,.ibl-slot.active{border-color:#111;background:#111;color:#fff}.ibl-service.active span{color:#ddd}.ibl-date,.ibl-form input,.ibl-form textarea{width:100%;box-sizing:border-box;border:1px solid #ddd;border-radius:16px;padding:14px 15px;font-size:16px;background:#fff}.ibl-slots{display:flex;flex-wrap:wrap;gap:8px;min-height:42px}.ibl-slot{border-radius:999px;padding:11px 16px;background:#f1f1f1;border:2px solid transparent;font-weight:700}.ibl-form{display:grid;gap:10px;margin-top:18px}.ibl-form textarea{min-height:92px;resize:vertical}.ibl-submit{border-radius:18px;padding:16px;background:#111;color:#fff;font-size:17px;font-weight:900}.ibl-submit:disabled{opacity:.55}.ibl-result{font-weight:800}.ibl-result.ok{color:#0a7a31}.ibl-result.error{color:#b00020}.ibl-admin .ibl-card{max-width:1100px}.ibl-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.ibl-status{display:inline-block;padding:5px 10px;border-radius:999px;font-weight:700}.ibl-status-new{background:#fff4cc;color:#8a6400}.ibl-status-confirmed{background:#dcfce7;color:#166534}.ibl-status-cancelled{background:#fee2e2;color:#991b1b}@media(max-width:520px){.ibl-page{padding:14px}.ibl-hero h1{font-size:30px}.ibl-card{padding:18px;border-radius:22px}}

.ibl-service-img {
    object-fit: cover;
    border-radius: 16px;
    display: block;
	aspect-ratio: 1/1;
	overflow: hidden;
	object-fit: cover;
	object-position: center;
}

.ibl-calendar{
    border:1px solid #eee;
    border-radius:22px;
    padding:16px;
    background:#fafafa;
}

.ibl-calendar-title{
    font-size:14px;
    font-weight:900;
    text-transform:uppercase;
    margin-bottom:14px;
    letter-spacing:.04em;
}

.ibl-calendar-nav{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin-bottom:14px;
}

.ibl-calendar-nav button{
    border:0;
    background:#fff;
    border-radius:999px;
    padding:9px 12px;
    cursor:pointer;
    font-weight:800;
}

.ibl-calendar-nav button:disabled{
    opacity:.35;
    cursor:not-allowed;
}

.ibl-cal-month{
    font-size:18px;
}

.ibl-cal-weekdays,
.ibl-cal-days{
    display:grid;
    grid-template-columns:repeat(7, 1fr);
    gap:6px;
}

.ibl-cal-weekdays span{
    text-align:center;
    font-size:12px;
    font-weight:900;
    color:#666;
    text-transform:uppercase;
}

.ibl-cal-day{
    min-height:54px;
    border:0;
    border-radius:16px;
    background:#fff;
    cursor:pointer;
    font-weight:900;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:2px;
}

.ibl-cal-day small{
    font-size:10px;
    color:#0a7a31;
}

.ibl-cal-day.other-month{
    opacity:.45;
}

.ibl-cal-day.disabled{
    opacity:.25;
    cursor:not-allowed;
}

.ibl-cal-day.today{
    border:2px solid #0a7a31;
}

.ibl-cal-day.active{
    background:#111;
    color:#fff;
}

.ibl-cal-day.active small{
    color:#fff;
}

@media(max-width:520px){
    .ibl-calendar{
        padding:12px;
    }

    .ibl-calendar-nav button{
        font-size:12px;
        padding:8px 9px;
    }

    .ibl-cal-day{
        min-height:46px;
        border-radius:13px;
    }
}