/* BabuMosshaii Partner Portal — shared design system */
:root {
  --bm-ink: #163534; --bm-ink-strong: #0b2928; --bm-ink-soft: #315755;
  --bm-coral: #ef8f7f; --bm-coral-dark: #dc7565; --bm-coral-soft: #fff0ec;
  --bm-canvas: #f5f7f6; --bm-surface: #fff; --bm-surface-muted: #f8faf9;
  --bm-border: #dfe7e4; --bm-text: #1f2f2e; --bm-muted: #687a78;
  --bm-success: #23845f; --bm-warning: #b7791f; --bm-danger: #c94f55;
  --bm-radius-sm: 8px; --bm-radius: 12px; --bm-radius-lg: 18px;
  --bm-shadow-sm: 0 1px 2px rgba(11,41,40,.05), 0 4px 12px rgba(11,41,40,.04);
  --bm-shadow: 0 12px 34px rgba(11,41,40,.08); --bm-focus: 0 0 0 3px rgba(239,143,127,.22);
  --bm-sidebar: 252px; --bm-sidebar-compact: 82px;
}
*,*::before,*::after{box-sizing:border-box} html{scroll-behavior:smooth}
body{min-height:100vh;margin:0;background:var(--bm-canvas);color:var(--bm-text);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,h5,h6{color:var(--bm-ink-strong);font-weight:700;letter-spacing:-.025em}
a{color:var(--bm-ink);text-underline-offset:3px} a:hover{color:var(--bm-coral-dark)}
::selection{background:var(--bm-coral-soft);color:var(--bm-ink-strong)}

/* Application shell */
.layout-wrapper{display:block;min-height:100vh}
.sidebar{position:fixed;inset:0 auto 0 0;z-index:1040;width:var(--bm-sidebar);height:100vh;padding:14px 12px;overflow-x:hidden;overflow-y:auto;color:#e8f1ef;background:linear-gradient(180deg,#143d3b 0%,#0c2928 100%);border-right:1px solid rgba(255,255,255,.08);box-shadow:12px 0 35px rgba(5,30,29,.12);transition:width .22s ease}
.sidebar-header{min-height:70px;padding:12px 12px 14px;display:flex;align-items:center;justify-content:space-between;gap:8px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);border-radius:var(--bm-radius)}
.sidebar-id{min-width:0}.sidebar-id .fw-bold{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.toggle-btn,#toggle-btn{position:static;flex:0 0 34px;width:34px;height:34px;padding:0;display:inline-grid;place-items:center;color:#fff;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.12);border-radius:9px}
.toggle-btn:hover,#toggle-btn:hover{background:var(--bm-coral);color:var(--bm-ink-strong)}
.sidebar-menu{display:flex;flex-direction:column;gap:3px;padding:12px 0}
.menu-section{padding:16px 12px 6px;color:#89a5a1;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.menu-item{position:relative;min-height:44px;padding:10px 12px;display:flex;align-items:center;gap:12px;color:#c9d9d6;text-decoration:none;font-size:14px;font-weight:550;border:1px solid transparent;border-radius:10px;transition:background .16s ease,color .16s ease,transform .16s ease}
.menu-item i{flex:0 0 20px;margin:0;color:#98b7b2;font-size:18px;text-align:center}.menu-item:hover{color:#fff;background:rgba(255,255,255,.075);transform:translateX(2px)}.menu-item:hover i{color:var(--bm-coral)}
.menu-item.active{color:#fff;background:linear-gradient(100deg,rgba(239,143,127,.24),rgba(239,143,127,.1));border-color:rgba(239,143,127,.25);box-shadow:inset 3px 0 0 var(--bm-coral)}.menu-item.active i{color:#ffb3a6}.menu-item.text-danger{color:#ffaaa8!important}.menu-item.text-danger:hover{background:rgba(201,79,85,.14)}
.sidebar.collapsed{width:var(--bm-sidebar-compact)}.sidebar.collapsed .sidebar-id,.sidebar.collapsed .label,.sidebar.collapsed .menu-section{display:none}.sidebar.collapsed .sidebar-header,.sidebar.collapsed .menu-item{justify-content:center}.sidebar.collapsed .menu-item{padding-inline:8px}
.layout-main{min-width:0;min-height:100vh;margin-left:var(--bm-sidebar);display:flex;flex-direction:column;transition:margin-left .22s ease}.sidebar.collapsed+.layout-main{margin-left:var(--bm-sidebar-compact)}
.topbar{position:sticky;top:0;z-index:1020;min-height:68px;margin:0;padding:10px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px;background:rgba(255,255,255,.92);border-bottom:1px solid var(--bm-border);box-shadow:0 4px 18px rgba(11,41,40,.04);backdrop-filter:blur(14px)}
.welcome-text{color:var(--bm-muted);font-size:14px;white-space:nowrap}.welcome-text strong{color:var(--bm-ink)}.topbar-right{display:flex;align-items:center;justify-content:flex-end;gap:6px}
.top-pill{margin:0;padding:7px 11px;display:inline-flex;align-items:center;gap:6px;color:var(--bm-muted);background:transparent;border:1px solid transparent;border-radius:9px;text-decoration:none;font-size:13px;font-weight:600}.top-pill:hover{color:var(--bm-ink);background:var(--bm-surface-muted);border-color:var(--bm-border)}.top-pill.active{color:var(--bm-ink-strong);background:var(--bm-coral-soft);border-color:#f7d4cc}
.notification-trigger,.profile-btn{width:38px;height:38px;display:inline-grid;place-items:center;color:var(--bm-ink);background:var(--bm-surface-muted);border:1px solid var(--bm-border);border-radius:10px;text-decoration:none}.profile-btn::after{display:none}
.notification-badge{position:absolute;top:-5px;right:-5px;min-width:18px;height:18px;padding:0 4px;display:grid;place-items:center;color:#fff;background:var(--bm-danger);border:2px solid #fff;border-radius:99px;font-size:9px;font-weight:700}
.main-content{flex:1;min-width:0;margin:0;padding:28px}.main-content>.container-fluid,.main-content>.container{max-width:1480px;margin-inline:auto}.dashboard-bg{min-height:100%;background:transparent!important}

/* Page rhythm and surfaces */
.page-title{margin:0 0 22px;color:var(--bm-ink-strong);font-size:clamp(1.35rem,2vw,1.8rem);font-weight:750}.section-heading{margin-bottom:12px;color:var(--bm-ink);font-size:14px;font-weight:700;letter-spacing:.01em}.section-spacing,.form-section{margin-bottom:26px}.text-muted{color:var(--bm-muted)!important}
.card,.card-custom,.dashboard-card,.kpi-card,.hall-card,.premium-plan-card,.mini-stat-card,.premium-table-card,.premium-booking-card,.premium-form-card,.empty-upgrade-card,.service-card{background:var(--bm-surface);border:1px solid var(--bm-border);border-radius:var(--bm-radius-lg);box-shadow:var(--bm-shadow-sm)}
.card,.card-custom,.dashboard-card,.kpi-card,.hall-card,.premium-plan-card,.premium-booking-card,.service-card{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.card-custom:hover,.dashboard-card:hover,.kpi-card:hover,.hall-card:hover,.premium-plan-card:hover,.premium-booking-card:hover,.service-card:hover{transform:translateY(-2px);border-color:#cbd9d5;box-shadow:var(--bm-shadow)}
.card-header,.card-header-custom{padding:15px 18px;color:var(--bm-ink-strong);background:var(--bm-surface-muted);border-bottom:1px solid var(--bm-border);border-radius:var(--bm-radius-lg) var(--bm-radius-lg) 0 0;font-weight:700}
.kpi-card{min-height:110px;padding:20px}.kpi-icon,.dashboard-card .icon-box{width:46px;height:46px;display:grid;place-items:center;color:var(--bm-ink);background:var(--bm-coral-soft);border-radius:13px;font-size:22px}.kpi-label{color:var(--bm-muted);font-size:12px;font-weight:650;letter-spacing:.035em;text-transform:uppercase}.kpi-value{color:var(--bm-ink-strong);font-size:1.55rem;font-weight:760}
.premium-form-card,.premium-plan-card{padding:clamp(20px,3vw,30px)}.service-card{background:var(--bm-surface-muted)}

/* Forms and actions */
.form-label,label{color:var(--bm-ink-soft);font-size:13px;font-weight:650}.form-control,.form-select,.form-control-custom,.service-input,.search-input,.input-group-text{min-height:42px;border-color:var(--bm-border);border-radius:var(--bm-radius-sm);background-color:#fff;color:var(--bm-text)}
.form-control,.form-select,.form-control-custom,.service-input,.search-input{padding:9px 12px}.input-group>.input-group-text{color:var(--bm-muted);background:var(--bm-surface-muted)}
.form-control:focus,.form-select:focus,.form-control-custom:focus,.service-input:focus,.search-input:focus{border-color:var(--bm-coral);box-shadow:var(--bm-focus)}.form-control::placeholder{color:#98a7a4}.form-check-input:checked{background-color:var(--bm-ink);border-color:var(--bm-ink)}.form-check-input:focus{border-color:var(--bm-coral);box-shadow:var(--bm-focus)}.search-input{border-radius:10px}
.btn{min-height:40px;padding:8px 15px;border-radius:9px;font-size:14px;font-weight:650;transition:transform .16s ease,box-shadow .16s ease,background .16s ease}.btn:hover{transform:translateY(-1px)}.btn:focus-visible{box-shadow:var(--bm-focus)}
.btn-primary,.btn-primary-custom,.btn-custom{color:#fff;background:var(--bm-ink);border:1px solid var(--bm-ink)}.btn-primary:hover,.btn-primary-custom:hover,.btn-custom:hover{color:#fff;background:var(--bm-ink-strong);border-color:var(--bm-ink-strong);box-shadow:0 8px 18px rgba(11,41,40,.18)}
.btn-outline-custom,.btn-outline-primary{color:var(--bm-ink);background:#fff;border-color:#aac0bc}.btn-outline-custom:hover,.btn-outline-primary:hover{color:var(--bm-ink-strong);background:var(--bm-coral-soft);border-color:var(--bm-coral)}.btn-danger{background:var(--bm-danger);border-color:var(--bm-danger)}.btn-success{background:var(--bm-success);border-color:var(--bm-success)}

/* Tables */
.table-responsive{border:1px solid var(--bm-border);border-radius:var(--bm-radius);background:#fff}.table,.modern-table,.table-custom{margin-bottom:0;vertical-align:middle}.table>:not(caption)>*>*{padding:13px 14px;border-bottom-color:#e9efed}
.table thead th,.modern-table thead th,.table-custom thead th{color:var(--bm-muted);background:var(--bm-surface-muted);border-bottom:1px solid var(--bm-border);font-size:11px;font-weight:750;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}.table tbody tr:hover,.modern-table tbody tr:hover,.table-custom tbody tr:hover{background:#fffaf8}

/* Feedback and menus */
.badge,.badge-custom,.status-pill,.plan-code,.plan-status,.upcoming-badge{padding:5px 9px;border-radius:999px;font-size:11px;font-weight:700}.badge-custom,.plan-code{color:var(--bm-coral-dark);background:var(--bm-coral-soft)}.status-pill.confirmed,.plan-status{color:#176246;background:#e4f5ed}.status-pill.pending{color:#8a5b15;background:#fff5dc}.status-pill.cancelled{color:#9f3941;background:#feecee}
.alert{border-width:1px;border-radius:var(--bm-radius)}.dropdown-menu,.notification-dropdown{padding:7px;background:#fff;border:1px solid var(--bm-border);border-radius:12px;box-shadow:var(--bm-shadow)}.dropdown-item{padding:9px 11px;border-radius:8px;font-size:14px}.dropdown-item:hover{color:var(--bm-ink);background:var(--bm-surface-muted)}.notification-dropdown{width:min(340px,calc(100vw - 28px));opacity:1;visibility:visible}.notification-item{padding:12px;border-bottom:1px solid #edf1f0}.notification-item.unseen{background:var(--bm-coral-soft)}
.modal-content{border:1px solid var(--bm-border);border-radius:var(--bm-radius-lg);box-shadow:var(--bm-shadow)}.modal-header,.modal-footer{border-color:var(--bm-border)}.toast{border:1px solid var(--bm-border);border-radius:var(--bm-radius);box-shadow:var(--bm-shadow)}

/* Authentication and public pages */
.hero-section{background:var(--bm-canvas)}.left-overlay{background:linear-gradient(145deg,rgba(11,41,40,.96),rgba(20,61,59,.92));color:#fff}.left-overlay h1{color:#fff;font-size:clamp(2rem,4vw,3.4rem);line-height:1.08}.left-overlay p,.left-overlay li{color:#dce9e6}.right-panel{background:radial-gradient(circle at 80% 10%,#ffeae5 0,transparent 32%),var(--bm-canvas)}
.form-card{max-width:440px;padding:clamp(24px,4vw,34px);background:rgba(255,255,255,.96);border:1px solid var(--bm-border);border-radius:22px;box-shadow:var(--bm-shadow)}.brand-title{color:var(--bm-ink-strong)!important;letter-spacing:-.03em}.contact-float .contact-toggle{background:var(--bm-ink);color:#fff}.contact-box{border:1px solid var(--bm-border);border-radius:var(--bm-radius);box-shadow:var(--bm-shadow)}
.empty-state,.empty-table{padding:clamp(38px,7vw,72px) 20px;color:var(--bm-muted);text-align:center}#loader-overlay{background:rgba(245,247,246,.84);backdrop-filter:blur(4px)}.loader{border-top-color:var(--bm-coral)!important}

@media(max-width:1100px){.top-pill{width:38px;justify-content:center;font-size:0}.top-pill i{font-size:15px}}
@media(max-width:768px){:root{--bm-sidebar:76px}.sidebar{width:var(--bm-sidebar);padding-inline:9px}.sidebar .sidebar-id,.sidebar .label,.sidebar .menu-section{display:none}.sidebar .sidebar-header,.sidebar .menu-item{justify-content:center}.sidebar .menu-item{padding-inline:8px}.layout-main,.sidebar.collapsed+.layout-main{margin-left:var(--bm-sidebar)}.topbar{min-height:62px;padding:9px 14px}.welcome-text{max-width:150px;overflow:hidden;text-overflow:ellipsis}.main-content{padding:18px 14px}.premium-form-card,.premium-plan-card{padding:18px}}
@media(max-width:520px){.welcome-text{display:none}.topbar{justify-content:flex-end}.topbar-right{width:100%;justify-content:space-between}.main-content{padding:14px 10px}.form-card{margin:16px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
