@import"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&display=swap";:root{--primary: #0284c7;--primary-hover: #0369a1;--primary-light: #e0f2fe;--accent: #f59e0b;--dark: #0f172a;--gray-50: #f8fafc;--gray-100: #f1f5f9;--gray-200: #e2e8f0;--gray-400: #94a3b8;--gray-600: #475569;--gray-800: #1e293b;--radius: 12px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:var(--gray-50);color:var(--gray-800);line-height:1.5;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}.container{max-width:1200px;margin:0 auto;padding:0 1.5rem}.header-wrapper{position:sticky;top:0;z-index:1000;width:100%}.top-bar{background:linear-gradient(90deg,#3b1e54,#5c2d91);color:#fff;padding:9px 0;font-size:12px;font-weight:500;border-bottom:1px solid rgba(255,255,255,.12)}.top-bar-inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px}.top-bar-location{display:flex;align-items:center;color:#fffffff2;font-weight:600;font-size:12px;letter-spacing:.2px}.top-bar-links{display:flex;align-items:center;gap:22px;flex-wrap:wrap}.top-bar-links a{color:#ffffffe0;text-decoration:none;font-weight:600;font-size:12px;display:inline-flex;align-items:center;transition:color .2s ease}.top-bar-links a:hover{color:#fbbf24}@media(max-width:768px){.container{padding:0 14px}.top-bar-location{display:none}.top-bar-links{justify-content:center;width:100%;gap:12px;font-size:11px}.top-bar-links a span{max-width:135px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}.main-header{background:#f5f6ff;box-shadow:0 14px 40px #00000014;padding:10px 0}.main-header .main-header-container{width:100%;max-width:1400px;margin:0 auto;padding:0 clamp(12px,2.5vw,26px)}.header-content{display:flex;align-items:center;justify-content:space-between;min-height:67px;padding:6px clamp(14px,2vw,24px);position:relative;background:#3b1e5414;border-radius:14px}.navbar-brand{display:flex;align-items:center;gap:8px;text-decoration:none!important;color:#3b1e54}.navbar-brand img{height:42px;width:auto;object-fit:contain}.brand-title{font-size:24px;font-weight:800;color:#3b1e54;letter-spacing:1px;margin-left:4px}.nav-menu{display:flex;list-style:none;margin:0;padding:6px;gap:8px;align-items:center;flex-wrap:wrap}.nav-menu>li{position:relative}.nav-menu>li>a,.nav-menu>li>button.nav-dropdown-trigger{color:#2a143d;padding:10px 16px;text-decoration:none;font-weight:700;font-size:14px;border-radius:8px;transition:transform .2s ease,background .25s ease,color .25s ease,box-shadow .25s ease;display:inline-flex;align-items:center;gap:8px;background:transparent;border:none;cursor:pointer;font-family:inherit;white-space:nowrap}.nav-menu>li>a:hover,.nav-menu>li>button.nav-dropdown-trigger:hover{background:#ffffff8c;color:#3b1e54;transform:translateY(-1px)}.nav-menu>li>a.active,.nav-menu>li.active>button.nav-dropdown-trigger{background:#fff;color:#3b1e54;box-shadow:0 8px 22px #3b1e541f}.nav-dropdown-menu{position:absolute;top:calc(100% + 6px);right:0;min-width:230px;background:#fff;border-radius:12px;padding:8px;list-style:none;box-shadow:0 16px 38px #2a143d2e;border:1px solid rgba(59,30,84,.1);z-index:1200;animation:spaPageEnter .2s cubic-bezier(.22,1,.36,1) both}.nav-dropdown-menu li a{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:8px;color:#2a143d;font-size:13.5px;font-weight:600;text-decoration:none;transition:background .18s ease,color .18s ease}.nav-dropdown-menu li a:hover,.nav-dropdown-menu li a.active{background:#3b1e5414;color:#3b1e54;font-weight:700}.mobile-menu-btn{display:none;background:#3b1e5414;border:1px solid rgba(59,30,84,.18);color:#3b1e54;border-radius:10px;padding:8px 10px;cursor:pointer}.phone-menu-drawer{display:none}@media(max-width:992px){.mobile-menu-btn{display:inline-flex;align-items:center;justify-content:center}.desktop-nav-menu{display:none!important}.header-content{flex-wrap:wrap}.phone-menu-drawer{display:block;width:100%;padding:16px 8px 14px;margin-top:10px;border-top:1px solid rgba(59,30,84,.1);animation:spaPageEnter .22s cubic-bezier(.22,1,.36,1) both}.phone-app-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px 12px;justify-items:center;align-items:start}.phone-app-link-reset{background:transparent;border:none;padding:0;margin:0;text-decoration:none!important;cursor:pointer;width:100%;display:flex;justify-content:center;font-family:inherit}.phone-app-tile{display:flex;flex-direction:column;align-items:center;gap:8px;width:100%;max-width:96px;padding:6px 4px;border-radius:16px;transition:transform .2s cubic-bezier(.34,1.56,.64,1);position:relative}.phone-app-tile:hover,.phone-app-tile:active{transform:translateY(-3px) scale(1.04)}.phone-app-icon-squircle{width:58px;height:58px;border-radius:18px;display:flex;align-items:center;justify-content:center;position:relative;overflow:visible;transition:transform .2s ease,box-shadow .2s ease}.phone-app-icon-gloss{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:18px;background:linear-gradient(180deg,#ffffff52,#fff0 55%);pointer-events:none}.phone-app-folder-badge{position:absolute;top:-5px;right:-5px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#f59e0b;color:#fff;font-size:10px;font-weight:800;display:flex;align-items:center;justify-content:center;border:2px solid #f2eef7;box-shadow:0 2px 6px #0003;z-index:3}.phone-app-label{font-size:12px;font-weight:700;color:#2a143d;text-align:center;line-height:1.25;word-break:break-word}.phone-app-tile.is-active .phone-app-label{color:#3b1e54;font-weight:800}.phone-app-active-dot{width:6px;height:6px;border-radius:999px;background:#3b1e54;margin-top:-3px}.phone-folder-sheet{margin-top:16px;background:#ffffffd9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(59,30,84,.12);border-radius:20px;padding:14px 12px 16px;box-shadow:0 12px 28px #2a143d1a;animation:spaPageEnter .2s cubic-bezier(.22,1,.36,1) both}.phone-folder-header{display:flex;align-items:center;justify-content:space-between;padding:0 6px 10px;margin-bottom:12px;border-bottom:1px solid rgba(59,30,84,.08);font-size:12.5px;font-weight:800;color:#3b1e54;text-transform:uppercase;letter-spacing:.5px}.phone-folder-close{background:#3b1e5414;border:none;color:#3b1e54;font-size:11px;font-weight:700;padding:4px 10px;border-radius:999px;cursor:pointer}}@media(max-width:480px){.phone-app-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 8px}.phone-app-icon-squircle{width:54px;height:54px;border-radius:16px}.phone-app-icon-gloss{border-radius:16px}}.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border-radius:var(--radius);font-weight:600;font-size:.9rem;cursor:pointer;transition:all .2s ease;border:none}.btn-primary{background-color:var(--primary);color:#fff}.btn-primary:hover{background-color:var(--primary-hover);box-shadow:0 4px 12px #0284c740}.btn-outline{border:1.5px solid var(--gray-200);background:#fff;color:var(--gray-800)}.btn-outline:hover{border-color:var(--primary);color:var(--primary)}.hero{position:relative;padding:5rem 0 3.5rem;background:linear-gradient(135deg,#f0f9ff,#fff,#fef3c7);border-bottom:1px solid var(--gray-200)}.hero-content{text-align:center;max-width:800px;margin:0 auto}.badge{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;background:var(--primary-light);color:var(--primary);border-radius:9999px;font-size:.8rem;font-weight:700;text-transform:uppercase;margin-bottom:1.25rem}.hero h2{font-size:2.75rem;font-weight:800;line-height:1.15;color:var(--dark);margin-bottom:1.25rem;letter-spacing:-.03em}.hero h2 span{color:var(--primary)}.hero p{font-size:1.125rem;color:var(--gray-600);margin-bottom:2rem}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:3.5rem}.stat-card{background:#fff;padding:1.5rem;border-radius:var(--radius);border:1px solid var(--gray-200);box-shadow:0 2px 4px #00000005;text-align:center}.stat-number{font-size:2.25rem;font-weight:800;color:var(--primary);line-height:1;margin-bottom:6px}.stat-label{font-size:.875rem;color:var(--gray-600);font-weight:500}.section{padding:4.5rem 0}.section-title{text-align:center;max-width:600px;margin:0 auto 3rem}.section-title h3{font-size:2rem;font-weight:800;color:var(--dark);margin-bottom:.5rem}.section-title p{color:var(--gray-600);font-size:1rem}.rooms-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.75rem}.room-card{background:#fff;border-radius:var(--radius);border:1px solid var(--gray-200);overflow:hidden;transition:transform .2s ease,box-shadow .2s ease;display:flex;flex-direction:column}.room-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px -10px #0000001a}.room-thumb{height:200px;background-color:var(--gray-100);position:relative;overflow:hidden}.room-thumb img{width:100%;height:100%;object-fit:cover}.room-tag{position:absolute;top:12px;left:12px;padding:4px 10px;border-radius:6px;font-size:.75rem;font-weight:700;background:#ffffffe6;color:var(--dark)}.room-body{padding:1.5rem;flex:1;display:flex;flex-direction:column}.room-body h4{font-size:1.25rem;font-weight:700;color:var(--dark);margin-bottom:4px}.room-location{font-size:.85rem;color:var(--gray-400);margin-bottom:1rem}.room-meta{display:flex;align-items:center;justify-content:space-between;padding-top:1rem;border-top:1px solid var(--gray-100);margin-top:auto}.room-price{font-size:.95rem;font-weight:700;color:var(--primary)}.footer{background:var(--dark);color:#fff;padding:1.25rem 0;margin-top:3rem}.footer-bottom{text-align:center;font-size:.85rem;color:var(--gray-400)}@media(max-width:768px){.hero h2{font-size:2rem}.navbar-menu{display:none}.stats-grid,.footer-grid{grid-template-columns:1fr}}@keyframes spaPageEnter{0%{opacity:0;transform:translateY(18px) scale(.992);filter:blur(2px)}60%{opacity:1;filter:blur(0)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}@keyframes spaStaggerUp{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@keyframes spaTopProgressBar{0%{width:0%;opacity:1}65%{width:85%;opacity:1}to{width:100%;opacity:0}}.spa-route-progress{position:fixed;top:0;left:0;height:3px;background:linear-gradient(90deg,#fbbf24,#7c3aed,#3b1e54);z-index:9999;pointer-events:none;box-shadow:0 0 10px #fbbf24b3;animation:spaTopProgressBar .55s cubic-bezier(.22,1,.36,1) forwards}.spa-page-transition{animation:spaPageEnter .48s cubic-bezier(.22,1,.36,1) both;will-change:opacity,transform}.spa-page-transition .hero{animation:spaStaggerUp .5s cubic-bezier(.22,1,.36,1) .04s both}.spa-page-transition .stats-grid,.spa-page-transition .section-header{animation:spaStaggerUp .55s cubic-bezier(.22,1,.36,1) .1s both}.spa-page-transition .room-grid{animation:spaStaggerUp .6s cubic-bezier(.22,1,.36,1) .15s both}.spa-page-transition .room-card,.spa-page-transition .stat-card{transition:transform .28s cubic-bezier(.22,1,.36,1),box-shadow .28s ease}@keyframes spaSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes spaSpinReverse{0%{transform:rotate(360deg)}to{transform:rotate(0)}}@keyframes spaLoaderFadeOut{0%{opacity:1;transform:scale(1)}70%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95);pointer-events:none}}.spa-spin-icon{animation:spaSpin .85s linear infinite}.spa-corner-loader{position:fixed;top:46px;right:20px;z-index:9998;display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:999px;background:linear-gradient(135deg,#3b1e54,#5c2d91);color:#fbbf24;font-size:12px;font-weight:700;box-shadow:0 8px 20px #3b1e5447;border:1px solid rgba(251,191,36,.35);pointer-events:none;animation:spaLoaderFadeOut .45s cubic-bezier(.22,1,.36,1) forwards}.spa-center-loader-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9997;display:flex;align-items:center;justify-content:center;background:#ffffff59;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);pointer-events:none;animation:spaLoaderFadeOut .42s cubic-bezier(.22,1,.36,1) forwards}.spa-center-loader-card{display:flex;flex-direction:column;align-items:center;gap:10px;padding:20px 28px;border-radius:20px;background:#ffffffeb;box-shadow:0 16px 40px #3b1e5429;border:1px solid rgba(92,45,145,.12)}.spa-loader-ring-wrapper{position:relative;width:54px;height:54px;display:flex;align-items:center;justify-content:center}.spa-loader-ring-outer{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:3px solid rgba(92,45,145,.14);border-top-color:#5c2d91;border-right-color:#fbbf24;animation:spaSpin .9s cubic-bezier(.5,.1,.5,.9) infinite}.spa-loader-ring-inner{position:absolute;top:7px;right:7px;bottom:7px;left:7px;border-radius:50%;border:2.5px solid rgba(251,191,36,.18);border-bottom-color:#f59e0b;animation:spaSpinReverse 1.1s linear infinite}.spa-loader-core-icon{color:#5c2d91}.spa-loader-text{font-size:11px;font-weight:800;letter-spacing:1.5px;color:#3b1e54;text-transform:uppercase}.spa-section-loader{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:3.5rem 1.5rem;text-align:center}.spa-section-loader-text{color:var(--gray-600);font-size:.95rem;font-weight:600;margin:0}@media(prefers-reduced-motion:reduce){.spa-page-transition,.spa-page-transition .hero,.spa-page-transition .stats-grid,.spa-page-transition .section-header,.spa-page-transition .room-grid,.spa-route-progress,.spa-spin-icon,.spa-loader-ring-outer,.spa-loader-ring-inner{animation:none!important}}.av-day-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;background:#0f172a8c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:16px;animation:spaPageEnter .28s cubic-bezier(.22,1,.36,1) both}.av-day-modal-dialog{width:96vw;max-width:1380px;max-height:92vh;background:#f8fafc;border-radius:16px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 24px 60px #0f172a52;border:1px solid rgba(255,255,255,.2)}.av-day-panel{background:#f8fafc;border-radius:16px;overflow:hidden;border:1px solid #e2e8f0;box-shadow:0 12px 32px #0f172a14;display:flex;flex-direction:column}.av-modal-header{background:linear-gradient(135deg,#3b1e54,#5c2d91);color:#fff;padding:16px 22px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.av-modal-title-wrap{display:flex;flex-direction:column;gap:3px}.av-modal-title{margin:0;font-weight:800;font-size:19px;color:#fff;letter-spacing:.2px;display:flex;align-items:center;gap:8px}.av-modal-subtitle{font-size:12.5px;font-weight:500;color:#ffffffe0}.av-modal-controls{display:flex;align-items:center;gap:12px}.av-modal-nav{display:flex;align-items:center;gap:6px;background:#ffffff24;padding:4px 8px;border-radius:10px}.av-modal-date-input{height:32px;border-radius:6px;border:1px solid rgba(255,255,255,.3);background:#fff;color:#0f172a;font-weight:700;font-size:12px;padding:0 10px;text-align:center;cursor:pointer}.av-modal-nav-btn{width:32px;height:32px;border-radius:6px;border:1px solid rgba(255,255,255,.3);background:#fff3;color:#fff;font-weight:800;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .15s}.av-modal-nav-btn:hover{background:#ffffff59}.av-modal-today-btn{height:32px;padding:0 12px;border-radius:6px;border:1px solid rgba(255,255,255,.4);background:#fff3;color:#fff;font-weight:700;font-size:11.5px;cursor:pointer;transition:background .15s}.av-modal-today-btn:hover{background:#ffffff59}.av-modal-close{width:34px;height:34px;border-radius:8px;border:none;background:transparent;color:#ffffffe6;font-size:22px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .15s}.av-modal-close:hover{background:#ffffff2e;color:#fff}.av-modal-body{padding:16px 20px;flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:14px;overflow:hidden}.av-filterbar{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:12px 16px;box-shadow:0 1px 3px #0f172a0a}.av-filter-row{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-end}.av-fg{display:flex;flex-direction:column;gap:5px;min-width:0}.av-fg.fg-gedung{flex:1 1 200px}.av-fg.fg-kategori{flex:1 1 180px}.av-fg.fg-ruang{flex:2 1 280px}.av-fg label{font-size:11px;font-weight:800;color:#475569;letter-spacing:.5px;text-transform:uppercase;padding-left:2px}.av-fg select,.av-fg input{height:38px;border-radius:8px;border:1px solid #cbd5e1;background:#fff;font-size:13px;font-weight:500;padding:6px 12px;color:#0f172a;width:100%;outline:none}.av-fg select:focus,.av-fg input:focus{border-color:#3b1e54;box-shadow:0 0 0 3px #3b1e541f}.av-filter-actions{display:flex;align-items:center;gap:8px}.av-btn-ghost{background:#fff;color:#475569;border:1px solid #cbd5e1;font-weight:700;padding:0 16px;cursor:pointer;height:38px;border-radius:8px;font-size:13px;display:inline-flex;align-items:center;gap:6px;transition:all .15s ease}.av-btn-ghost:hover{background:#f8fafc;border-color:#94a3b8}.av-btn-primary{background:#3b1e54;color:#fff;border:1px solid #3b1e54;font-weight:700;padding:0 18px;cursor:pointer;height:38px;border-radius:8px;font-size:13px;box-shadow:0 3px 8px #3b1e5433;display:inline-flex;align-items:center;gap:6px;transition:all .18s ease}.av-btn-primary:hover{background:#5c2d91;border-color:#5c2d91}.av-tl-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;display:flex;flex-direction:column;flex:1 1 auto;min-height:0;overflow:hidden}.av-tl-head{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid #e2e8f0;background:#fff;flex-wrap:wrap;gap:10px}.av-tl-head h4{margin:0;font-size:14px;font-weight:800;color:#0f172a;display:flex;align-items:center;gap:6px}.av-tl-badge-range{display:inline-block;background:#f1f5f9;color:#475569;font-weight:700;font-size:11px;padding:3px 8px;border-radius:6px;margin-left:6px;border:1px solid #e2e8f0}.av-tl-legend{display:flex;gap:14px;flex-wrap:wrap;align-items:center}.av-tl-legend-item{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:600;color:#475569}.av-tl-legend-swatch{display:inline-block;width:18px;height:12px;border-radius:4px;border:1px solid rgba(0,0,0,.08)}.sw-tersedia{background:#f0fdf4}.sw-kuliah{background:#dbeafe}.sw-booking{background:#ecfccb}.av-tl-scroll{flex:1 1 auto;min-height:0;max-height:58vh;overflow-y:auto;overflow-x:auto;background:#fff}.av-timeline{border-collapse:separate;border-spacing:0;width:100%;min-width:980px;table-layout:fixed}.av-timeline thead th{position:sticky;top:0;z-index:10;background:#3b1e54!important;color:#fff;font-size:11.5px;font-weight:700;padding:10px 4px;text-align:center;letter-spacing:.2px;border-right:1px solid rgba(255,255,255,.15);border-bottom:2px solid #2a143d;vertical-align:middle}.av-timeline thead th.tl-col-room{position:sticky;top:0;left:0;z-index:25;width:230px;min-width:230px;max-width:230px;text-align:left;padding-left:14px;background:#2a143d!important;font-size:12px;font-weight:800;letter-spacing:.3px}.av-timeline tbody td{border-top:1px solid #e2e8f0;border-right:1px dashed #e2e8f0;vertical-align:top;padding:0;background:#f0fdf4;height:60px;transition:background .15s ease}.tl-group-row{background:#f1f5f9}.tl-group-cell{padding:6px 12px!important;background:#f1f5f9!important;border-top:2px solid #e2e8f0!important;border-bottom:1px solid #e2e8f0!important;border-right:none!important;height:34px!important;vertical-align:middle!important}.tl-group-label{position:sticky;left:12px;display:inline-flex;align-items:center;gap:8px;font-weight:800;font-size:11.5px;color:#1e293b}.tl-group-pill{background:#e2e8f0;color:#475569;font-size:10px;font-weight:700;padding:1px 7px;border-radius:999px}td.tl-room-cell{position:sticky;left:0;z-index:5;background:#fff!important;border-right:1px solid #e2e8f0!important;padding:8px 12px!important;width:230px;min-width:230px;max-width:230px;vertical-align:middle!important;cursor:pointer}td.tl-room-cell:hover{background:#faf5ff!important}.tl-room-name{font-weight:800;font-size:12.5px;color:#0f172a;line-height:1.2}.tl-room-meta{margin-top:3px;font-size:10.5px;color:#3b1e54;font-weight:800}.tl-room-avail-chip{margin-top:6px;display:inline-flex;align-items:center;gap:5px;font-size:9.5px;font-weight:800;padding:2px 8px;border-radius:999px}.chip-full-free{background:#dcfce7;color:#166534}.chip-partial{background:#fef3c7;color:#92400e}.chip-full-used{background:#fee2e2;color:#991b1b}td.tl-track-cell{position:relative;padding:4px 0!important;height:60px}.tl-ruler{position:relative;width:100%;height:100%;min-height:52px}.tl-ruler .tl-hour-sep{position:absolute;top:0;bottom:0;width:1px;background:#e2e8f0;pointer-events:none}.tl-ev-span{position:absolute;top:2px;bottom:2px;border-radius:6px;padding:3px 7px;font-size:9.5px;line-height:1.25;overflow:hidden;border-left:3px solid;cursor:pointer;box-shadow:0 1px 3px #0f172a1a;transition:all .15s ease;z-index:2}.tl-ev-span:hover{z-index:6;box-shadow:0 4px 12px #0f172a38;transform:translateY(-1px)}.tl-ev-span.ev-kuliah{background:#dbeafe;border-left-color:#1f6feb;color:#1e3a8a}.tl-ev-span.ev-booking{background:#ecfccb;border-left-color:#5f784d;color:#365314}.tl-ev-span-title{font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:26px}.tl-ev-span-time{font-size:9px;font-weight:700;opacity:.9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}.tl-ev-span-sub{font-size:8.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:.82;margin-top:1px}.tl-ev-span-tag{position:absolute;top:2px;right:3px;font-size:7.5px;font-weight:900;padding:1px 4px;border-radius:3px;color:#fff;letter-spacing:.3px}.tl-ev-span.ev-kuliah .tl-ev-span-tag{background:#1f6feb}.tl-ev-span.ev-booking .tl-ev-span-tag{background:#5f784d}.av-modal-footer{background:#fff;border-top:1px solid #e2e8f0;padding:12px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.home-stats-row{display:grid;grid-template-columns:repeat(3,1fr);text-align:center;align-items:center}.home-stat-item{padding:0 15px;transition:transform .2s ease}.home-stat-item:hover{transform:translateY(-2px)}.home-stat-item-middle{border-left:1px solid #eeeeee;border-right:1px solid #eeeeee}@media(max-width:767px){.home-stats-row{grid-template-columns:1fr;gap:16px}.home-stat-item-middle{border-left:none;border-right:none;border-top:1px solid #eeeeee;border-bottom:1px solid #eeeeee;padding:14px 0}}.home-room-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}@media(max-width:991px){.home-room-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.home-room-grid{grid-template-columns:1fr}}.home-room-col{display:flex}.home-room-card{background:#fff;border-radius:15px;overflow:hidden;box-shadow:0 5px 15px #0000000d;transition:all .3s ease;border:1px solid #f0f0f0;display:flex;flex-direction:column;width:100%}.home-room-card:hover{transform:translateY(-8px);box-shadow:0 15px 35px #3b1e5426}.home-room-img{height:200px;background-size:cover;background-position:center;position:relative}.home-room-info{padding:20px;display:flex;flex-direction:column;flex:1 1 auto}.home-room-name{font-size:18px;font-weight:700;color:#3b1e54;margin-bottom:10px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.3;min-height:calc(18px * 1.3 * 2)}.home-room-location{font-size:13px;color:#666;margin-bottom:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-room-specs{border-top:1px solid #f0f0f0;padding-top:15px;display:flex;justify-content:space-between;font-size:12px;color:#888}.home-room-tarif-badge{margin-top:10px;padding:7px 10px;border-radius:8px;font-size:12px;font-weight:600;display:flex;align-items:center;justify-content:space-between}.home-room-tarif-badge.is-komersil{background:#fffbeb;color:#b45309;border:1px solid #fde68a}.home-room-tarif-badge.is-regular{background:#f0fdf4;color:#15803d;border:1px solid #bbf7d0}.home-room-tarif-badge .val{font-weight:800}.home-room-card-footer{margin-top:auto;padding-top:15px}.home-btn-booking{background:#3b1e54;color:#fff!important;border-radius:10px;padding:10px;font-weight:600;width:100%;display:block;text-align:center;text-decoration:none!important;border:none;transition:all .2s}.home-btn-booking:hover{background:#231135;color:#ffc107!important}.home-news-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:30px}@media(max-width:767px){.home-news-grid{grid-template-columns:1fr}}.home-floating-guide-btn{position:fixed;bottom:20px;right:20px;z-index:9998;background:linear-gradient(135deg,#312e81,#4338ca);color:#fff;border:2px solid #f59e0b;border-radius:50px;padding:10px 18px;font-size:13px;font-weight:700;box-shadow:0 8px 20px #312e8159;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .2s ease}.home-floating-guide-btn:hover{transform:translateY(-2px);box-shadow:0 12px 24px #312e8173}.room-filter-box{display:flex;flex-wrap:wrap;gap:12px;background:#fff;padding:12px 16px;border-radius:16px;box-shadow:0 4px 20px #0000000d;border:1px solid #eef0f5}.room-filter-item{flex:1 1 240px;min-width:0}.custom-filter-group{display:flex;align-items:center;background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:12px;overflow:hidden;transition:all .2s ease}.custom-filter-group:focus-within{border-color:#3b1e54;background:#fff;box-shadow:0 0 0 3px #3b1e541f}.custom-filter-icon{display:flex;align-items:center;justify-content:center;width:42px;height:42px;color:#3b1e54;font-size:15px;background:#3b1e540d;border-right:1.5px solid #e2e8f0;flex-shrink:0}.custom-filter-select{height:42px!important;border:none!important;box-shadow:none!important;background:transparent!important;font-size:13.5px!important;font-weight:500!important;color:#1e293b!important;padding:6px 14px!important;width:100%!important;cursor:pointer}.custom-filter-select:focus{outline:none!important}@media(max-width:767px){.room-filter-box{padding:10px;gap:8px;border-radius:14px}.room-filter-item{flex:1 1 100%}}.row{display:flex;flex-wrap:wrap;margin-left:-10px;margin-right:-10px}[class*=col-]{padding-left:10px;padding-right:10px;width:100%;box-sizing:border-box}@media(min-width:640px){.row>.col-sm-3,.col-sm-3{flex:0 0 25%;max-width:25%;width:25%}.row>.col-sm-4,.col-sm-4{flex:0 0 33.333333%;max-width:33.333333%;width:33.333333%}.row>.col-sm-6,.col-sm-6{flex:0 0 50%;max-width:50%;width:50%}.row>.col-sm-8,.col-sm-8{flex:0 0 66.666667%;max-width:66.666667%;width:66.666667%}.row>.col-sm-9,.col-sm-9{flex:0 0 75%;max-width:75%;width:75%}.row>.col-sm-12,.col-sm-12{flex:0 0 100%;max-width:100%;width:100%}}@media(min-width:768px){.row>.col-md-3,.col-md-3{flex:0 0 25%;max-width:25%;width:25%}.row>.col-md-4,.col-md-4{flex:0 0 33.333333%;max-width:33.333333%;width:33.333333%}.row>.col-md-6,.col-md-6{flex:0 0 50%;max-width:50%;width:50%}.row>.col-md-8,.col-md-8{flex:0 0 66.666667%;max-width:66.666667%;width:66.666667%}.row>.col-md-9,.col-md-9{flex:0 0 75%;max-width:75%;width:75%}.row>.col-md-12,.col-md-12{flex:0 0 100%;max-width:100%;width:100%}}.pemohon-page-wrap{background:#f5f6fa;min-height:calc(100vh - 140px);padding:24px 0 48px}.pemohon-page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:12px}.pemohon-page-heading{margin:0;font-weight:800;color:#1e293b;font-size:24px}.pemohon-identity-alert{border-radius:14px;border:1px solid #f5c2c7;background:#fff5f5;color:#842029;padding:16px 18px;margin-bottom:20px;box-shadow:0 8px 24px #84202914;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}.pemohon-identity-alert-btn{border-radius:10px;font-weight:700;padding:9px 15px}.pemohon-welcome-banner{background:linear-gradient(135deg,#4b2c68,#683d8f);border-radius:16px;padding:26px 28px;color:#fff;margin-bottom:22px;position:relative;overflow:hidden;box-shadow:0 10px 30px #4b2c6829}.pemohon-welcome-inner{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}.pemohon-welcome-text{flex:1 1 320px}.pemohon-welcome-text h2{margin:0 0 6px;font-weight:800;font-size:25px;color:#fff;line-height:1.25}.pemohon-welcome-text p{margin:0;font-size:14.5px;opacity:.92;max-width:620px;line-height:1.55}.pemohon-welcome-status{flex-shrink:0}.pemohon-status-pill{background:#ffffff24;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:12px 18px;border-radius:12px;text-align:left;border:1px solid rgba(255,255,255,.22)}.pemohon-status-pill-label{font-size:11.5px;opacity:.85;margin-bottom:3px}.pemohon-status-pill-val{font-weight:800;font-size:14px;display:flex;align-items:center;gap:7px}.pemohon-two-col-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:stretch}.pemohon-dashboard-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:22px;align-items:start}.pemohon-stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:22px}.pemohon-stat-card{background:#fff;border-radius:15px;padding:18px;border:1px solid #edf2f7;box-shadow:0 4px 18px #00000008;display:flex;align-items:center;gap:14px}.pemohon-stat-icon{width:50px;height:50px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:21px;flex-shrink:0}.pemohon-stat-label{font-size:12.5px;color:#64748b;font-weight:600;line-height:1.25}.pemohon-stat-value{font-size:23px;font-weight:800;color:#1e293b;line-height:1.15;margin-top:2px}.pemohon-card-box{background:#fff;border-radius:15px;border:1px solid #edf2f7;box-shadow:0 5px 20px #00000008;overflow:hidden}.pemohon-card-header{padding:16px 20px;border-bottom:1px solid #edf2f7;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px}.pemohon-card-title{margin:0;font-size:16.5px;font-weight:800;color:#1e293b;display:flex;align-items:center}.pemohon-card-actions{display:flex;gap:8px;flex-wrap:wrap}.pemohon-action-btn{border-radius:9px!important;font-weight:700!important;display:inline-flex;align-items:center;justify-content:center;gap:6px}.pemohon-action-btn-primary{background:#4b2c68!important;border-color:#4b2c68!important;color:#fff!important;font-weight:800!important}.pemohon-search-input{max-width:280px;border-radius:9px}.pemohon-mobile-booking-list{display:none}.pemohon-account-header{text-align:center;margin-bottom:18px}.pemohon-account-avatar{width:72px;height:72px;border-radius:50%;background:#f1f2f6;color:#4b2c68;display:flex;align-items:center;justify-content:center;font-size:30px;margin:0 auto 10px;border:3px solid #4b2c68;font-weight:800}.pemohon-account-details{border-top:1px solid #f1f2f6;padding-top:14px;display:grid;gap:12px}@media(max-width:991px){.pemohon-two-col-grid,.pemohon-dashboard-grid{grid-template-columns:1fr;gap:16px}.pemohon-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:18px}}@media(max-width:640px){.pemohon-page-wrap{padding:16px 0 36px}.pemohon-page-heading{font-size:19px}.pemohon-identity-alert{padding:14px}.pemohon-identity-alert-btn{width:100%;justify-content:center}.pemohon-welcome-banner{padding:18px 16px;border-radius:14px;margin-bottom:16px}.pemohon-welcome-text h2{font-size:20px}.pemohon-welcome-text p{font-size:13px;line-height:1.5}.pemohon-welcome-status{width:100%}.pemohon-status-pill{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-radius:10px}.pemohon-status-pill-label{margin-bottom:0;font-size:12px;font-weight:600}.pemohon-status-pill-val{font-size:12.5px}.pemohon-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:16px}.pemohon-stat-card{padding:13px 12px;border-radius:13px;gap:10px}.pemohon-stat-icon{width:40px;height:40px;border-radius:10px;font-size:17px}.pemohon-stat-label{font-size:11.5px}.pemohon-stat-value{font-size:19px}.pemohon-card-header{padding:14px 15px;flex-direction:column;align-items:stretch;gap:10px}.pemohon-card-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%}.pemohon-search-input{max-width:100%;width:100%}.pemohon-desktop-table{display:none}.pemohon-mobile-booking-list{display:flex;flex-direction:column;gap:10px;padding:12px 14px 16px;background:#f8fafc}.pemohon-mobile-booking-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:13px 14px;box-shadow:0 2px 8px #0f172a0a}.pemohon-mobile-booking-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:8px;padding-bottom:8px;border-bottom:1px dashed #e2e8f0}.pemohon-mobile-room-name{font-weight:800;font-size:14px;color:#1e293b;line-height:1.3}.pemohon-mobile-booking-meta{display:flex;flex-direction:column;gap:5px;font-size:12.5px;color:#475569;margin-bottom:11px}.pemohon-mobile-meta-row{display:flex;align-items:center;gap:6px}.pemohon-mobile-booking-actions{display:flex;gap:8px;flex-wrap:wrap;border-top:1px solid #f1f5f9;padding-top:10px}.pemohon-mobile-booking-actions>*{flex:1 1 auto;justify-content:center}.pemohon-account-header{display:flex;align-items:center;gap:14px;text-align:left;margin-bottom:14px}.pemohon-account-avatar{width:54px;height:54px;font-size:22px;margin:0;flex-shrink:0}.pemohon-account-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px}.pemohon-account-details>div:first-child{grid-column:1 / -1}}.table-responsive{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table{width:100%;border-collapse:collapse;border-spacing:0;font-size:13.5px;color:#1e293b}.table th,.table td{padding:11px 14px;vertical-align:middle;border-top:1px solid #e2e8f0;text-align:left}.table thead th{vertical-align:bottom;border-bottom:2px solid #cbd5e1;background-color:#f8fafc;font-weight:800;color:#475569;font-size:12px;letter-spacing:.3px}.table-sm th,.table-sm td{padding:8px 11px;font-size:13px}.table-bordered,.table-bordered th,.table-bordered td{border:1px solid #e2e8f0}.table-striped tbody tr:nth-of-type(odd){background-color:#fcfdff}.table-hover tbody tr:hover{background-color:#f8fafc}.form-group{margin-bottom:16px}.form-group label{display:inline-block;margin-bottom:6px;font-weight:700;font-size:13.5px;color:#334155}.form-control{display:block;width:100%;padding:9px 13px;font-size:14px;font-family:inherit;line-height:1.45;color:#1e293b;background-color:#fff;border:1.5px solid #cbd5e1;border-radius:10px;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-control:focus{border-color:#4b2c68;outline:0;box-shadow:0 0 0 3px #4b2c681f}.form-control[disabled],.form-control[readonly]{background-color:#f1f5f9;color:#64748b;cursor:not-allowed}.help-block{display:block;margin-top:5px;margin-bottom:0;color:#64748b;font-size:12px}.label{display:inline-flex;align-items:center;justify-content:center;padding:4px 10px;font-size:11px;font-weight:800;line-height:1.2;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:999px;letter-spacing:.2px}.label-default{background-color:#e2e8f0;color:#334155}.label-primary{background-color:#4b2c68;color:#fff}.label-success{background-color:#dcfce7;color:#166534;border:1px solid #bbf7d0}.label-info{background-color:#e0f2fe;color:#0369a1;border:1px solid #bae6fd}.label-warning{background-color:#fef3c7;color:#b45309;border:1px solid #fde68a}.label-danger{background-color:#fee2e2;color:#991b1b;border:1px solid #fecaca}.btn-xs{padding:4px 10px!important;font-size:12px!important;line-height:1.4!important;border-radius:7px!important}.btn-sm{padding:7px 14px!important;font-size:13px!important;line-height:1.4!important;border-radius:9px!important}.btn-block{display:flex!important;width:100%!important;justify-content:center!important}.btn-default{color:#334155;background-color:#fff;border:1.5px solid #cbd5e1;display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:9px;font-weight:700;font-size:13.5px;cursor:pointer;transition:all .15s ease}.btn-default:hover{background-color:#f8fafc;border-color:#94a3b8;color:#0f172a}.btn-info{color:#fff;background-color:#0284c7;border:1.5px solid #0284c7;display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:9px;font-weight:700;font-size:13.5px;cursor:pointer}.btn-info:hover{background-color:#0369a1;border-color:#0369a1}.btn-success{color:#fff;background-color:#16a34a;border:1.5px solid #16a34a;display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:9px;font-weight:700;font-size:13.5px;cursor:pointer}.btn-success:hover{background-color:#15803d;border-color:#15803d}.btn-danger{color:#fff;background-color:#dc2626;border:1.5px solid #dc2626;display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:9px;font-weight:700;font-size:13.5px;cursor:pointer}.btn-danger:hover{background-color:#b91c1c;border-color:#b91c1c}.alert{padding:14px 18px;margin-bottom:18px;border:1px solid transparent;border-radius:12px;font-size:13.5px}.alert-success{color:#166534;background-color:#f0fdf4;border-color:#bbf7d0}.alert-info{color:#075985;background-color:#f0f9ff;border-color:#bae6fd}.alert-warning{color:#92400e;background-color:#fffbeb;border-color:#fde68a}.alert-danger{color:#991b1b;background-color:#fef2f2;border-color:#fecaca}.text-muted{color:#64748b!important}.text-center{text-align:center!important}.text-right{text-align:right!important}.booking-date-range-row{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px;max-width:460px;width:100%}.booking-date-input{width:100%!important;min-width:0!important;height:40px!important;border-radius:8px!important;padding:6px 10px!important;font-size:13.5px!important}.booking-date-sep{font-weight:700;color:#64748b;font-size:13px;white-space:nowrap;padding:0 2px}.jadwal-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-items:end;margin-bottom:12px}@media(max-width:991px){.jadwal-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}@media(max-width:480px){.booking-date-range-row{gap:6px;max-width:100%}.booking-date-input{padding:6px 8px!important;font-size:12.5px!important}}
