.mbbs-app{max-width:1180px;margin:0 auto;padding:14px 14px 90px;font-family:Arial,sans-serif;color:#1f2937}.mbbs-header{background:#111827;color:#fff;border-radius:18px;padding:18px;margin-bottom:12px}.mbbs-header h2{margin:0;font-size:24px}.mbbs-header p{margin:4px 0 0;color:#d1d5db}.mbbs-menu{position:sticky;top:0;z-index:10;background:#fff;margin:12px 0;padding:8px;border-radius:16px;display:flex;gap:8px;overflow:auto;box-shadow:0 8px 24px rgba(0,0,0,.08)}.mbbs-menu a,.mbbs-btn{background:#2563eb;color:#fff!important;text-decoration:none;border:0;border-radius:12px;padding:10px 14px;cursor:pointer;white-space:nowrap;display:inline-block;font-weight:600}.mbbs-btn.small{padding:7px 10px;font-size:13px}.mbbs-btn.danger{background:#dc2626}.mbbs-card{background:#fff;border-radius:18px;padding:16px;margin:12px 0;box-shadow:0 8px 28px rgba(0,0,0,.08);border:1px solid #eef2f7}.mbbs-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.mbbs-card span{display:block;color:#6b7280}.mbbs-card b{font-size:24px}.mbbs-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.mbbs-full{grid-column:1/-1}.mbbs-form label,.mbbs-grid label{display:flex;flex-direction:column;gap:6px;font-weight:600}.mbbs-app input,.mbbs-app select,.mbbs-app textarea{padding:11px;border:1px solid #d1d5db;border-radius:12px;width:100%;background:#fff}.mbbs-table-wrap{overflow:auto} .mbbs-app table{width:100%;border-collapse:collapse;min-width:820px}.mbbs-app th,.mbbs-app td{text-align:left;padding:10px;border-bottom:1px solid #e5e7eb;vertical-align:top}.mbbs-app th{background:#f3f4f6}.mbbs-flash{padding:12px;border-radius:12px;margin:10px 0}.mbbs-flash.success{background:#dcfce7;color:#14532d}.mbbs-flash.error{background:#fee2e2;color:#7f1d1d}.mbbs-muted{color:#6b7280}.mbbs-filters{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.mbbs-filters input,.mbbs-filters select{max-width:260px}.mbbs-inline,.mbbs-inline-form{display:inline-flex;gap:6px;align-items:center;margin:0}.mbbs-inline-form input,.mbbs-inline-form select{min-width:110px}.mbbs-form.compact{max-width:420px}.mbbs-form.compact label{display:block;margin:9px 0}@media(max-width:760px){.mbbs-cards,.mbbs-grid{grid-template-columns:1fr}.mbbs-header h2{font-size:20px}.mbbs-menu.employee{position:fixed;left:0;right:0;bottom:0;top:auto;margin:0;border-radius:18px 18px 0 0}.mbbs-app.employee-app{padding-bottom:105px}.mbbs-filters input,.mbbs-filters select{max-width:none}.mbbs-inline-form{display:grid;grid-template-columns:1fr;gap:6px}.mbbs-app th,.mbbs-app td{padding:8px}.mbbs-card{padding:12px}}


/* WordPress dashboard additions introduced in 1.1.0 */
.mbbs-wp-admin .mbbs-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px;margin:18px 0}
.mbbs-wp-admin .mbbs-card{background:#fff;border:1px solid #dcdcde;border-radius:10px;padding:18px;margin:16px 0;box-shadow:0 1px 2px rgba(0,0,0,.04)}
.mbbs-wp-admin .mbbs-card span{display:block;color:#646970;margin-bottom:8px}
.mbbs-wp-admin .mbbs-card b{font-size:25px;line-height:1.2}
.mbbs-wp-admin h1 small{font-size:13px;color:#646970;font-weight:400}

/* Version 1.2.0: backend shortcode page generator */
.mbbs-wp-admin .mbbs-shortcode-generator td { vertical-align: middle; }
.mbbs-wp-admin .mbbs-shortcode-generator form { margin: 0; }
.mbbs-wp-admin .mbbs-shortcode-generator input[type="text"] { max-width: 320px; }
@media (max-width: 782px) {
  .mbbs-wp-admin .mbbs-shortcode-generator form { align-items: flex-start !important; }
  .mbbs-wp-admin .mbbs-shortcode-generator input[type="text"] { width: 100%; max-width: none; }
}

/* Version 1.3.0: monthly attendance calendars */
.mbbs-attendance-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;flex-wrap:wrap}
.mbbs-attendance-toolbar h3{margin:0 0 5px}
.mbbs-attendance-help{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.mbbs-attendance-modes{display:flex;gap:7px;flex-wrap:wrap}
.mbbs-mode{border:1px solid #cbd5e1;background:#f8fafc;color:#334155;border-radius:10px;padding:8px 11px;cursor:pointer;font-weight:700}
.mbbs-mode.active{outline:3px solid rgba(37,99,235,.18);border-color:#2563eb;background:#dbeafe;color:#1d4ed8}
.mbbs-attendance-legend{display:flex;gap:8px 13px;flex-wrap:wrap;width:100%;padding-top:4px;font-size:13px}
.mbbs-attendance-legend span,.mbbs-attendance-summary span{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:5px 9px;font-weight:700}
.mbbs-employee-calendar{background:#fff;border:1px solid #e2e8f0;border-radius:18px;margin:14px 0;overflow:hidden;box-shadow:0 5px 18px rgba(15,23,42,.06)}
.mbbs-employee-calendar.is-locked{border-color:#f59e0b;background:#fffbeb}
.mbbs-employee-calendar-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid #e2e8f0;flex-wrap:wrap}
.mbbs-employee-identity{display:flex;align-items:center;gap:11px}
.mbbs-employee-identity img,.mbbs-avatar-placeholder{width:48px;height:48px;border-radius:50%;object-fit:cover;border:2px solid #e2e8f0}
.mbbs-avatar-placeholder{display:grid;place-items:center;background:#e0e7ff;color:#3730a3;font-weight:800}
.mbbs-employee-identity h4{margin:0;font-size:17px}.mbbs-employee-identity p{margin:3px 0 0;color:#64748b;font-size:13px}
.mbbs-attendance-summary{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.mbbs-attendance-summary.employee-summary{margin-bottom:14px}
.mbbs-attendance-summary b,.mbbs-attendance-legend b{font-size:13px;line-height:1}
.mbbs-lock-badge{background:#fef3c7;color:#92400e!important}
.mbbs-weekdays,.mbbs-month-grid{display:grid;grid-template-columns:repeat(7,minmax(38px,1fr));gap:6px;padding:8px 12px}
.mbbs-weekdays{background:#f8fafc;color:#64748b;text-align:center;font-size:11px;font-weight:800;text-transform:uppercase;border-bottom:1px solid #e2e8f0}
.mbbs-month-grid{padding-bottom:14px}
.mbbs-day-spacer{min-height:56px}
.mbbs-day-cell{min-width:0;border-radius:12px;border:1px solid transparent;overflow:hidden}
.mbbs-day-button{width:100%;min-height:58px;border:0;border-radius:11px;padding:5px;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;align-items:center;background:transparent;color:inherit;cursor:pointer;text-align:left}
.mbbs-day-button:not(:disabled):hover{box-shadow:inset 0 0 0 2px rgba(37,99,235,.35);transform:translateY(-1px)}
.mbbs-day-number{font-size:14px;font-weight:800}.mbbs-day-week{font-size:9px;opacity:.7;text-align:right}.mbbs-day-button b{grid-column:1/-1;text-align:center;font-size:12px}
.mbbs-day-button:disabled{cursor:not-allowed;opacity:.65}.mbbs-day-button.employee-day{cursor:default}
.mbbs-day-cell.is-today{box-shadow:0 0 0 3px rgba(37,99,235,.25)}
.status-present{background:#dcfce7!important;color:#166534!important;border-color:#86efac!important}
.status-absent{background:#fee2e2!important;color:#991b1b!important;border-color:#fca5a5!important}
.status-half{background:#fef3c7!important;color:#92400e!important;border-color:#fcd34d!important}
.status-paid_leave{background:#dbeafe!important;color:#1e40af!important;border-color:#93c5fd!important}
.status-unpaid_leave{background:#f3e8ff!important;color:#6b21a8!important;border-color:#d8b4fe!important}
.status-disabled{background:#f1f5f9!important;color:#94a3b8!important;border-color:#e2e8f0!important}
.mbbs-sticky-save{position:sticky;bottom:12px;z-index:7;display:flex;justify-content:space-between;align-items:center;gap:12px;background:#111827;color:#fff;border-radius:14px;padding:11px 14px;margin-top:15px;box-shadow:0 8px 25px rgba(15,23,42,.28)}
.mbbs-sticky-save span{color:#d1d5db}
@media(max-width:760px){
  .mbbs-attendance-toolbar{align-items:stretch}.mbbs-attendance-toolbar .mbbs-filters{width:100%}
  .mbbs-attendance-toolbar .mbbs-filters input[type="month"]{flex:1;min-width:130px}
  .mbbs-employee-calendar-head{align-items:flex-start}.mbbs-attendance-summary{width:100%}
  .mbbs-weekdays,.mbbs-month-grid{gap:4px;padding-left:7px;padding-right:7px;grid-template-columns:repeat(7,minmax(34px,1fr))}
  .mbbs-day-button{min-height:53px;padding:4px}.mbbs-day-number{font-size:13px}.mbbs-day-week{display:none}
  .mbbs-day-button b{font-size:11px}.mbbs-day-spacer{min-height:52px}
  .mbbs-sticky-save{bottom:78px;flex-direction:column;align-items:stretch;text-align:center}
}
