:root{--blue:#0b5ed7;--dark:#052b55;--soft:#f4f8ff}*{font-family:Inter,system-ui,Arial,sans-serif}body{background:#f7f9fc;color:#071e3d}.navbar{transition:.35s}.navbar.hide{transform:translateY(-100%)}.brand{font-weight:800;color:#0b5ed7}.hero{min-height:430px;background:linear-gradient(90deg,rgba(2,32,68,.95),rgba(2,32,68,.65)),url('https://images.unsplash.com/photo-1607860108855-64acf2078ed9?auto=format&fit=crop&w=1600&q=80') center/cover;border-radius:0 0 24px 24px;color:#fff}.service-card{border:1px solid #e2e8f0;border-radius:22px;box-shadow:0 10px 30px rgba(15,23,42,.08);background:#fff;overflow:hidden;height:100%;transition:.25s}.service-card:hover{transform:translateY(-4px)}.service-img{height:165px;object-fit:cover;width:100%}.facility-line{font-size:14px;color:#334155;margin-bottom:8px}.price{font-weight:900;color:#0b5ed7;font-size:24px}.promo-strip{background:linear-gradient(90deg,#082c5f,#0b5ed7);color:#fff;border-radius:18px}.facility-box{border:1px solid #e2e8f0;border-radius:18px;background:#fff;padding:22px;text-align:center;height:100%}.sidebar{min-height:100vh;background:linear-gradient(180deg,#062d5b,#021b3b);color:#fff;position:fixed;width:260px;left:0;top:0;padding:22px;z-index:10}.sidebar a{display:block;color:#dcecff;text-decoration:none;padding:13px 14px;border-radius:12px;margin:6px 0;font-weight:600}.sidebar a.active,.sidebar a:hover{background:#0b5ed7;color:#fff}.content{margin-left:260px;padding:28px}.dash-hero{background:linear-gradient(90deg,#0b5ed7,#1d7cff);color:#fff;border-radius:18px;padding:30px;overflow:hidden}.stat-card{border:0;border-radius:18px;box-shadow:0 8px 25px rgba(15,23,42,.08)}.mini-info{border:1px solid #e2e8f0;border-radius:18px;background:#fff;padding:18px;height:100%}.table-card,.form-card{background:#fff;border-radius:18px;box-shadow:0 8px 25px rgba(15,23,42,.08);padding:22px}.badge-soft{background:#eaf2ff;color:#0b5ed7}.btn-primary{background:#0b5ed7;border-color:#0b5ed7}.btn{border-radius:10px;font-weight:700}.login-page{min-height:100vh;display:grid;place-items:center;background:linear-gradient(120deg,#052b55,#0b5ed7)}.login-card{width:min(430px,92vw);background:#fff;border-radius:22px;padding:30px;box-shadow:0 20px 60px rgba(0,0,0,.2)}@media(max-width:900px){.sidebar{position:relative;width:100%;min-height:auto}.content{margin-left:0}.hero{border-radius:0}}
@media print{.no-print,.sidebar,.btn,form{display:none!important}.content{margin:0;padding:0}.table-card{box-shadow:none}}

.sidebar-toggle{position:fixed;top:16px;left:16px;z-index:999;background:#0b5ed7;color:#fff;border:0;border-radius:12px;width:44px;height:44px;font-size:22px;box-shadow:0 8px 24px rgba(15,23,42,.2)}
.sidebar-collapsed .sidebar{transform:translateX(-105%)}
.sidebar{transition:.3s ease}
.sidebar-collapsed .content{margin-left:0}
.content{transition:.3s ease}
.dashboard-top{padding-left:56px}
.used-promo{opacity:.55;filter:grayscale(.2)}
@media(max-width:900px){.sidebar{position:fixed;width:260px;min-height:100vh}.content{margin-left:0;padding-top:76px}.sidebar-toggle{display:block}.dashboard-top{padding-left:0}}

.service-card .p-3{min-height:330px}.service-facilities{min-height:120px}.service-group{border-radius:20px;padding:18px;background:#f8fbff;border:1px solid #e5eefc}.service-group.ganti_oli{background:#fffaf2;border-color:#ffe5b5}.service-group.paket{background:#f7f2ff;border-color:#ddccff}.service-card .btn{margin-top:auto}.swal2-popup{border-radius:22px!important}.swal2-confirm{background:#0b5ed7!important;border-radius:10px!important}.swal2-cancel{border-radius:10px!important}


/* FINAL CENTERED SERVICE CARD FIX */
.service-group .row{justify-content:center;}
.service-group [class*="col-"]{display:flex;}
.service-card{width:100%;}
.service-card .p-3{display:flex;flex-direction:column;min-height:350px;}
.service-card .btn{margin-top:auto;}
.service-facilities{flex-grow:1;}
@media (min-width: 992px){.service-group .col-lg-4{max-width:360px;}}

/* NOTIFICATION UI */
.notification-box{position:relative}.notif-btn{width:100%;background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.18);border-radius:12px;padding:11px 12px;text-align:left;font-weight:700}.notif-btn:hover{background:rgba(255,255,255,.15)}.notif-badge{float:right;background:#dc3545;color:#fff;border-radius:999px;font-size:12px;min-width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center}.notif-menu{width:340px;max-width:92vw;border-radius:16px;overflow:hidden}.notif-list{max-height:330px;overflow:auto}.notif-item{padding:12px 14px;border-bottom:1px solid #eef2f7;background:#fff}.notif-item.unread{background:#eef6ff;border-left:4px solid #0b5ed7}.notif-item:last-child{border-bottom:0}

/* TOP RIGHT NOTIFICATION REVISION */
.top-action-bar{position:fixed;top:16px;right:22px;z-index:1000;display:flex;align-items:center;gap:10px}.top-action-bar .notification-box{margin:0!important}.top-action-bar .notif-btn{width:46px;height:46px;border-radius:50%;padding:0;text-align:center;background:#fff;color:#0b5ed7;border:1px solid #dbe7ff;box-shadow:0 8px 24px rgba(15,23,42,.12);font-size:20px;position:relative}.top-action-bar .notif-btn .notif-label{display:none}.top-action-bar .notif-btn:hover{background:#f3f7ff}.top-action-bar .notif-badge{position:absolute;top:-6px;right:-6px;float:none;min-width:20px;height:20px;font-size:11px;border:2px solid #fff}.top-action-bar .notif-menu{margin-top:10px!important;right:0!important;left:auto!important}.top-action-bar .dropdown-menu[data-bs-popper]{right:0;left:auto}.content{padding-top:76px}@media(max-width:900px){.top-action-bar{top:16px;right:16px}.top-action-bar .notif-menu{width:310px}.content{padding-top:84px}}


.brand-logo{width:34px;height:34px;object-fit:contain;border-radius:8px;background:rgba(255,255,255,.15);padding:3px;}
.brand-logo-main{width:42px;height:42px;object-fit:contain;border-radius:10px;}
.login-logo{width:72px;height:72px;object-fit:contain;border-radius:18px;background:#eef6ff;padding:8px;}
.receipt-logo{width:70px;height:70px;object-fit:contain;}
.logo-preview-box{min-height:180px;border:2px dashed #d6e4ff;border-radius:20px;display:flex;align-items:center;justify-content:center;background:#f8fbff;}
.logo-preview-img{max-width:220px;max-height:150px;object-fit:contain;}
.brand-fallback{display:inline-flex;align-items:center;justify-content:center;}
