@charset "UTF-8";:root{--color-primary-50: #E9FBF5;--color-primary-100: #C9F4E6;--color-primary-200: #93E9CE;--color-primary-300: #57D9B1;--color-primary-400: #24C99A;--color-primary-500: #00BD8F;--color-primary-600: #00A37C;--color-primary-700: #008465;--color-primary-800: #086350;--color-primary-900: #0B4A3D;--color-ink-900: #0C2B23;--color-ink-800: #123A30;--color-ink-700: #1B4A3E;--color-bg: #F4FAF7;--color-surface: #FFFFFF;--color-border: #E2EDE8;--color-text: #10201B;--color-text-muted: #5B6F68;--color-text-invert: #F4FAF7;--color-success: #16A34A;--color-warning: #D97706;--color-error: #DC2626;--color-info: #2563EB;--status-scheduled: var(--color-info);--status-checkedin: #7C3AED;--status-inprogress: var(--color-warning);--status-completed: var(--color-success);--status-cancelled: #94A3B8;--font-heading: "Plus Jakarta Sans", sans-serif;--font-body: "Inter", sans-serif;--radius-input: 10px;--radius-card: 16px;--shadow-card: 0 1px 2px rgb(12 43 35 / .06), 0 4px 12px rgb(12 43 35 / .06);--shadow-drawer: 0 8px 40px rgb(12 43 35 / .18)}*,*:before,*:after{box-sizing:border-box}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}html,body{height:100%}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font-body);font-size:14px;line-height:1.5;color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:var(--font-heading);line-height:1.2;margin:0;color:var(--color-text)}p{margin:0}a{color:var(--color-primary-700);text-decoration:none}a:hover{text-decoration:underline}a.btn,a.btn:hover,a.btn:focus,a.filter-chip,a.filter-chip:hover,a.nav-item,a.nav-item:hover,a.wa-float,a.wa-float:hover{text-decoration:none}:focus-visible{outline:2px solid var(--color-primary-600);outline-offset:2px;border-radius:4px}::selection{background:var(--color-primary-200);color:var(--color-ink-900)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#c4d6ce;border-radius:999px;border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background-color:#9cb1a9}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:500 14px var(--font-body);border-radius:var(--radius-input);padding:10px 18px;border:1px solid transparent;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease,transform .12s ease,box-shadow .15s ease;white-space:nowrap}.btn:active:not(:disabled){transform:scale(.985)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn svg{flex:none}.btn-primary{background:var(--color-primary-500);color:#06362b;font-weight:600;box-shadow:0 2px 8px #00bd8f47}.btn-primary:hover:not(:disabled){background:var(--color-primary-400);box-shadow:0 4px 14px #00bd8f5c;transform:translateY(-1px)}.btn-primary:active:not(:disabled){transform:translateY(0) scale(.985);box-shadow:0 1px 4px #00bd8f4d}.btn-secondary{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text)}.btn-secondary:hover:not(:disabled){border-color:var(--color-primary-500);color:var(--color-primary-700)}.btn-ghost{background:transparent;color:var(--color-text-muted);padding:8px 12px}.btn-ghost:hover:not(:disabled){background:var(--color-primary-50);color:var(--color-primary-700)}.btn-soft{background:var(--color-primary-100);color:var(--color-primary-800);font-weight:600}.btn-soft:hover:not(:disabled){background:var(--color-primary-200)}.btn-danger-ghost{background:transparent;color:var(--color-error);padding:8px 12px}.btn-danger-ghost:hover:not(:disabled){background:#fef2f2}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.field label{font-size:13px;font-weight:600;color:var(--color-text)}.opt{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--color-text-muted);background:var(--color-bg);border:1px solid var(--color-border);border-radius:999px;padding:1px 8px;margin-left:4px;vertical-align:1px}.input,select.input,textarea.input{font:400 14px var(--font-body);color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-input);padding:10px 12px;width:100%;transition:border-color .15s ease,box-shadow .15s ease}.input::placeholder,select.input::placeholder,textarea.input::placeholder{color:#9cb1a9}.input:focus,select.input:focus,textarea.input:focus{outline:none;border-color:var(--color-primary-500);box-shadow:0 0 0 3px var(--color-primary-100)}.input.invalid,select.input.invalid,textarea.input.invalid{border-color:var(--color-error)}textarea.input{resize:vertical;min-height:72px}.field-error{font-size:12px;color:var(--color-error);display:flex;align-items:center;gap:4px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.alert-error{background:#fef2f2;border:1px solid #FECACA;color:#991b1b;border-radius:var(--radius-input);padding:10px 14px;font-size:13px;margin-bottom:16px}.alert-success{background:#f0fdf4;border:1px solid #BBF7D0;color:#166534;border-radius:var(--radius-input);padding:10px 14px;font-size:13px;margin-bottom:16px}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.card-pad{padding:24px}.page-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px;flex-wrap:wrap}.page-header h1{font-size:22px;font-weight:700}.page-header .sub{color:var(--color-text-muted);font-size:13px;margin-top:2px}.toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}.search-box{position:relative;flex:1;min-width:220px;max-width:360px}.search-box svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--color-text-muted);pointer-events:none}.search-box .input{padding-left:38px}.table-wrap{overflow-x:auto}.table{width:100%;border-collapse:collapse;font-size:14px}.table th{text-align:left;font:600 11px var(--font-body);letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted);padding:12px 16px;border-bottom:1px solid var(--color-border);white-space:nowrap}.table td{padding:14px 16px;border-bottom:1px solid var(--color-border);vertical-align:middle}.table tbody tr{transition:background .1s ease}.table tbody tr:hover{background:var(--color-primary-50)}.table tbody tr:last-child td{border-bottom:none}.table .num{font-variant-numeric:tabular-nums}.cell-main{font-weight:500}.cell-sub{font-size:12px;color:var(--color-text-muted)}.chip{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:500;border-radius:999px;padding:3px 10px}.chip:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.chip-scheduled{color:var(--status-scheduled);background:#2563eb1a}.chip-checkedin{color:var(--status-checkedin);background:#7c3aed1a}.chip-inprogress{color:var(--status-inprogress);background:#d977061a}.chip-completed{color:var(--status-completed);background:#16a34a1a}.chip-cancelled{color:var(--status-cancelled);background:#94a3b824}.chip-danger{color:var(--color-error);background:#dc26261a}.filter-chip{font:500 13px var(--font-body);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted);border-radius:999px;padding:6px 14px;cursor:pointer;transition:all .15s ease}.filter-chip:hover{border-color:var(--color-primary-500);color:var(--color-primary-700)}.filter-chip.active{background:var(--color-primary-500);border-color:var(--color-primary-500);color:#fff}.filter-chip.active:hover{background:var(--color-primary-500);color:#fff}@media(max-width:640px){.filter-chip{padding:9px 16px}}.paginator{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-top:1px solid var(--color-border);font-size:13px;color:var(--color-text-muted)}.paginator .pages{display:flex;gap:8px}.drawer-backdrop{position:fixed;inset:0;background:#0c2b2366;z-index:64;animation:fadeIn .18s ease}.drawer{position:fixed;top:0;right:0;height:100dvh;width:min(480px,96vw)}.drawer.drawer-wide{width:min(560px,96vw)}.drawer{background:var(--color-surface);box-shadow:var(--shadow-drawer);z-index:65;display:flex;flex-direction:column;animation:slideIn .22s cubic-bezier(.32,.72,.35,1)}.drawer .drawer-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--color-border);flex:none}.drawer .drawer-header h2{font-size:17px;font-weight:700}.drawer .drawer-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:24px}.drawer .drawer-footer{display:flex;justify-content:flex-end;gap:10px;padding:16px 24px;padding-bottom:calc(16px + env(safe-area-inset-bottom));border-top:1px solid var(--color-border);background:var(--color-bg);flex:none}@keyframes fadeIn{0%{opacity:0}}@keyframes slideIn{0%{transform:translate(24px);opacity:0}}.modal-backdrop{position:fixed;inset:0;background:#0c2b2373;z-index:70;animation:fadeIn .18s ease}.modal-card{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(420px,100vw - 32px);max-height:calc(100dvh - 48px);overflow-y:auto;background:var(--color-surface);border-radius:var(--radius-card);box-shadow:var(--shadow-drawer);z-index:71;padding:28px 24px 22px;animation:modalPop .22s cubic-bezier(.32,.72,.35,1)}.modal-card h3{font:700 17px var(--font-heading);text-align:center;margin-bottom:6px}.modal-card .modal-sub{font-size:13px;color:var(--color-text-muted);text-align:center;margin-bottom:18px;line-height:1.5}.modal-icon{width:44px;height:44px;margin:0 auto 12px;border-radius:12px;display:grid;place-items:center;background:var(--color-primary-50);color:var(--color-primary-700)}.install-steps{margin:0 0 18px;padding:0;list-style:none;counter-reset:step}.install-steps li{counter-increment:step;position:relative;padding:8px 0 8px 38px;font-size:13.5px;line-height:1.5}.install-steps li:before{content:counter(step);position:absolute;left:0;top:7px;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--color-primary-100);color:var(--color-primary-800);font:700 12px var(--font-body)}.install-steps li .inline-icon{vertical-align:-2px;color:var(--color-primary-700)}@keyframes modalPop{0%{transform:translate(-50%,-46%);opacity:0}}.update-toast{position:fixed;left:50%;bottom:calc(16px + env(safe-area-inset-bottom));transform:translate(-50%);z-index:72;display:flex;align-items:center;gap:14px;max-width:calc(100vw - 24px);padding:12px 12px 12px 18px;background:var(--color-ink-900);color:var(--color-text-invert);border-radius:999px;box-shadow:var(--shadow-drawer);font-size:13.5px;font-weight:500;animation:modalPop .22s cubic-bezier(.32,.72,.35,1)}.update-toast .btn{padding:7px 16px}@media(max-width:640px){.update-toast{bottom:calc(72px + env(safe-area-inset-bottom))}}.empty-state{text-align:center;padding:56px 24px;color:var(--color-text-muted)}.empty-state .icon{width:48px;height:48px;margin:0 auto 12px;border-radius:14px;background:var(--color-primary-50);color:var(--color-primary-600);display:flex;align-items:center;justify-content:center}.empty-state h3{font-size:15px;margin-bottom:4px;color:var(--color-text)}.empty-state p{font-size:13px;margin-bottom:16px}.skeleton-row{height:46px;border-radius:8px;margin:8px 16px;background:linear-gradient(90deg,#edf5f1 25%,#f7fbf9,#edf5f1 75%);background-size:400% 100%;animation:shimmer 1.2s infinite ease}.inline-spinner{width:14px;height:14px;border:2px solid rgba(255,255,255,.55);border-top-color:#fff;border-radius:50%;display:inline-block;margin-right:8px;animation:spin .8s linear infinite;vertical-align:middle}@keyframes shimmer{0%{background-position:100% 0}to{background-position:0 0}}@keyframes spin{to{transform:rotate(360deg)}}.bar-chart{display:flex;align-items:flex-end;gap:8px;height:180px}.bar-col{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:6px;min-width:0}.bar-count{font-size:11px;font-weight:600;color:var(--color-primary-700)}.bar{width:100%;max-width:34px;min-height:3px;border-radius:6px 6px 3px 3px;background:linear-gradient(180deg,var(--color-primary-400),var(--color-primary-600));transition:height .4s cubic-bezier(.25,.8,.35,1)}.bar.empty{background:var(--color-border)}.bar-label{font-size:10px;color:var(--color-text-muted);white-space:nowrap}@media(max-width:560px){.form-row{grid-template-columns:1fr}.drawer{width:100vw}.input,select.input,textarea.input{font-size:16px}.drawer-footer .btn{flex:1;padding:12px 18px}.page-header{flex-direction:column;align-items:stretch}.page-header .btn{justify-content:center}.bar-chart{gap:4px;height:140px}.bar-label{font-size:8.5px}.paginator{flex-direction:column;align-items:stretch;text-align:center}}.notif-row{display:flex;gap:12px;padding:12px;border-radius:12px;margin-bottom:6px}.notif-row.unread{background:var(--color-primary-50)}.notif-dot{width:8px;height:8px;border-radius:50%;margin-top:6px;flex:none}.notif-dot.notif-booking{background:var(--color-info)}.notif-dot.notif-checkin{background:var(--status-checkedin)}.notif-dot.notif-reminder{background:var(--color-warning)}.notif-dot.notif-billing{background:var(--color-primary-500)}.notif-dot.notif-inventory{background:var(--color-error)}.notif-content{min-width:0}.notif-title{font-weight:600;font-size:13.5px}.notif-message{font-size:13px;color:var(--color-text-muted)}.notif-time{font-size:11.5px;color:var(--color-text-muted);margin-top:3px}.muted{color:var(--color-text-muted)}.spacer{flex:1}
