.mbh-wrap, .mbh-form-wrap { max-width: 1100px; }
.mbh-cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:16px; margin:20px 0; }
.mbh-card, .mbh-panel, .mbh-form-wrap form { background:#fff; border-radius:14px; box-shadow:0 6px 20px rgba(0,0,0,.06); padding:20px; }
.mbh-card-value { font-size:30px; font-weight:700; margin-bottom:6px; }
.mbh-panel { margin:20px 0; }
.mbh-calendar { width:100%; border-collapse:collapse; }
.mbh-calendar th, .mbh-calendar td { border:1px solid #dcdcde; padding:10px; vertical-align:top; min-height:100px; }
.mbh-event { background:#f0f6ff; border-left:4px solid #2271b1; padding:6px 8px; margin-top:6px; border-radius:6px; font-size:12px; }
.mbh-form-wrap { background:#f7f7fb; border-radius:16px; padding:24px; }
.mbh-form-wrap h2 { margin-top:0; }
.mbh-form-wrap input[type=text], .mbh-form-wrap input[type=email], .mbh-form-wrap input[type=date], .mbh-form-wrap input[type=datetime-local], .mbh-form-wrap textarea, .mbh-form-wrap select { width:100%; max-width:640px; padding:10px 12px; border:1px solid #c3c4c7; border-radius:10px; }
.mbh-form-wrap button { background:#2271b1; color:#fff; border:0; border-radius:10px; padding:10px 16px; cursor:pointer; margin-right:8px; }
.mbh-status { display:inline-block; margin-left:10px; font-weight:600; }
.mbh-status.ok { color:#0a7a37; }
.mbh-status.bad { color:#b32d2e; }
.mbh-notice { background:#ecf9ec; border-left:4px solid #0a7a37; padding:10px 12px; margin-bottom:16px; }
.mbh-check-builder-table input, .mbh-check-builder-table select { width:100%; }
.mbh-check-builder-table td, .mbh-check-builder-table th { vertical-align:middle; }

.mbh-calendar-nav { display:flex; align-items:center; justify-content:space-between; gap:16px; margin:10px 0 14px; }
.mbh-calendar-nav-title { flex:1; text-align:center; font-size:20px; }
.mbh-calendar-nav-prev, .mbh-calendar-nav-next { min-width:120px; }
.mbh-calendar-nav-next { text-align:right; }

.mbh-calendar td.mbh-past-day { background:#f1f1f1; color:#777; }
.mbh-calendar-past { margin-top:8px; font-size:12px; color:#777; font-weight:600; text-transform:uppercase; letter-spacing:.04em; }
.mbh-calendar td.mbh-past-day .mbh-calendar-book, .mbh-calendar td.mbh-past-day .mbh-event, .mbh-calendar td.mbh-past-day .mbh-availability, .mbh-calendar td.mbh-past-day .mbh-calendar-full { display:none; }


.mbh-portal-shell{display:grid;grid-template-columns:280px 1fr;gap:24px;align-items:start;max-width:1400px;margin:0 auto;padding:24px;}
.mbh-portal-sidebar{position:sticky;top:24px;background:linear-gradient(180deg,#123a66 0%,#0f2d4d 100%);color:#fff;border-radius:22px;padding:24px;min-height:70vh;box-shadow:0 10px 30px rgba(13,36,64,.24);}
.mbh-portal-brand h2{margin:0 0 6px 0;color:#fff;}
.mbh-portal-brand p{margin:0 0 20px 0;color:rgba(255,255,255,.78);font-size:13px;}
.mbh-portal-nav{display:flex;flex-direction:column;gap:8px;}
.mbh-portal-nav-link{display:block;padding:11px 14px;border-radius:12px;color:#eaf3ff;text-decoration:none;font-weight:600;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03);}
.mbh-portal-nav-link:hover,.mbh-portal-nav-link.is-active{background:#fff;color:#123a66;}
.mbh-portal-sidebar-footer{margin-top:20px;padding-top:18px;border-top:1px solid rgba(255,255,255,.12);}
.mbh-button-secondary{display:inline-block;background:#fff;color:#123a66 !important;border-radius:10px;padding:10px 14px;text-decoration:none;font-weight:700;}
.mbh-portal-main{min-width:0;}
.mbh-portal-main-inner{background:#f7f7fb;border-radius:22px;padding:8px;}
.mbh-portal-hero{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;background:#fff;border-radius:18px;padding:22px;box-shadow:0 6px 20px rgba(0,0,0,.06);margin-bottom:18px;}
.mbh-portal-hero h1{margin:0 0 10px 0;font-size:30px;}
.mbh-portal-admin-wrap > h1:first-child{margin-top:0;}
.mbh-portal-admin-wrap .notice{margin:10px 0 16px 0;}
.mbh-portal-admin-wrap .form-table th{width:220px;}
.mbh-portal-admin-wrap .widefat{background:#fff;border-radius:12px;overflow:hidden;}
@media (max-width: 980px){.mbh-portal-shell{grid-template-columns:1fr;}.mbh-portal-sidebar{position:static;min-height:auto;}.mbh-portal-nav{flex-direction:row;flex-wrap:wrap;}}

.mbh-notice-strong { background:#eef8ff; border-left:6px solid #2271b1; padding:16px 18px; font-weight:700; font-size:16px; }
.mbh-form-wrap .description { margin-top:6px; display:block; }
