:root{--bg-main:#07111f;--bg-soft:#0b1730;--bg-card:#111827eb;--bg-card-2:#0c1323f5;--text-main:#e5eefc;--text-soft:#93a4bf;--text-muted:#6f87aa;--border-color:#ffffff14;--primary:#2563eb;--primary-2:#06b6d4;--success:#22c55e;--warning:#f59e0b;--danger:#ef4444;--radius-xl:26px;--radius-lg:18px;--radius-md:14px;--shadow-soft:0 14px 40px #0000002e;--shadow-strong:0 30px 80px #00000059}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{min-height:100%}body{color:var(--text-main);background:radial-gradient(circle at 0 0,#2563eb29,#0000 26%),radial-gradient(circle at 100% 100%,#06b6d41f,#0000 28%),linear-gradient(135deg,#07111f 0%,#0a1530 100%);font-family:Inter,Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.admin-layout{min-height:100vh;display:flex}.admin-main{flex-direction:column;flex:1;display:flex}.admin-content{padding:28px}.sidebar{border-right:1px solid var(--border-color);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#09101feb;width:290px;padding:26px 18px}.sidebar-logo{background:linear-gradient(135deg,#7dd3fc,#60a5fa);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin-bottom:28px;font-size:28px;font-weight:800}.sidebar-nav{flex-direction:column;gap:12px;display:flex}.sidebar-link{border-radius:var(--radius-lg);color:#d9e5f6;align-items:center;gap:12px;padding:16px 18px;transition:all .25s;display:flex}.sidebar-link:hover{background:#2563eb1f}.sidebar-link.active{color:#fff;background:linear-gradient(135deg,#2563eb,#22c1f1);box-shadow:0 18px 32px #2563eb40}.topbar{border-bottom:1px solid var(--border-color);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:200;background:#08112094;justify-content:space-between;align-items:center;gap:18px;padding:24px 30px;display:flex;position:relative}.topbar-left{align-items:center;gap:16px;display:flex}.topbar-page-icon{color:#7dd3fc;background:linear-gradient(135deg,#2563eb38,#06b6d42e);border:1px solid #ffffff0f;border-radius:18px;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;display:flex}.topbar h2{margin-bottom:6px;font-size:28px;font-weight:800}.topbar p{color:var(--text-soft);font-size:15px}.topbar-right{align-items:center;gap:12px;display:flex}.topbar-date{border-radius:var(--radius-md);border:1px solid var(--border-color);color:var(--text-soft);background:#ffffff0a;align-items:center;gap:8px;padding:12px 16px;font-size:14px;font-weight:600;display:inline-flex}.logout-btn{color:var(--text-main);border-radius:var(--radius-md);cursor:pointer;background:#ffffff0a;border:1px solid #ffffff14;justify-content:center;align-items:center;gap:8px;padding:12px 16px;font-weight:700;transition:all .2s;display:inline-flex}.logout-btn:hover{color:#fca5a5;background:#ef444424;border-color:#ef44442e}.page-title{margin-bottom:10px;font-size:34px;font-weight:800}.page-subtitle{color:var(--text-soft);margin-bottom:24px;font-size:16px}.page-loading,.page-error{padding:18px;font-size:16px}.page-error{color:#fca5a5}.stats-grid{grid-template-columns:repeat(5,minmax(180px,1fr));gap:18px;margin-bottom:24px;display:grid}.stat-card{border:1px solid var(--border-color);box-shadow:var(--shadow-soft);background:linear-gradient(#121c30f5,#0c1323f5);border-radius:24px;padding:22px}.stat-card-label{color:var(--text-soft);margin-bottom:12px;font-size:14px}.stat-card-value{margin-bottom:8px;font-size:30px;font-weight:800}.stat-card-hint{color:var(--text-muted);font-size:13px}.charts-grid{grid-template-columns:1.2fr .9fr;gap:20px;margin-bottom:20px;display:grid}.chart-card,.toolbar-card,.section-card{border:1px solid var(--border-color);border-radius:var(--radius-xl);background:#0d1527f0;padding:22px;box-shadow:0 14px 40px #00000026}.chart-card-full{margin-bottom:20px}.chart-header h3,.section-header h3{margin-bottom:6px;font-size:20px}.chart-header p,.section-header p{color:var(--text-soft);font-size:14px}.chart-box{width:100%;height:300px;margin-top:16px}.section-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.dashboard-grid-2{margin-top:0;margin-bottom:20px}.toolbar-card{gap:14px;margin-bottom:20px;display:flex}.search-input,.filter-select{color:var(--text-main);border:1px solid var(--border-color);background:#0c1730;border-radius:16px;outline:none;padding:14px 16px;font-size:14px}.search-input{flex:1}.filter-select{min-width:220px}.recharts-tooltip-wrapper{outline:none}.recharts-default-tooltip{background:#0f172a!important;border:1px solid #ffffff14!important;border-radius:14px!important}.recharts-surface .pie-a{fill:#2563eb}.recharts-surface .pie-b{fill:#06b6d4}.recharts-surface .pie-c{fill:#22c55e}.recharts-surface .pie-d{fill:#f59e0b}.recharts-cartesian-grid-horizontal line,.recharts-cartesian-grid-vertical line{stroke:#ffffff12}.recharts-line-curve{stroke:#22c1f1}.recharts-dot circle{fill:#7dd3fc}.table-wrap{overflow-x:auto}.data-table{border-collapse:collapse;width:100%}.data-table th,.data-table td{text-align:left;white-space:nowrap;border-bottom:1px solid #ffffff0f;padding:14px 12px;font-size:14px}.data-table th{color:var(--text-soft);font-size:13px;font-weight:700}.data-table td{font-size:14px}.empty-cell{color:var(--text-soft);text-align:center!important;padding:22px!important}.badge{letter-spacing:.2px;border-radius:999px;justify-content:center;align-items:center;padding:7px 12px;font-size:12px;font-weight:800;display:inline-flex}.badge.confirmed,.badge.paid{color:#86efac;background:#22c55e24}.badge.pending{color:#fcd34d;background:#f59e0b24}.badge.expired,.badge.failed{color:#fca5a5;background:#ef444424}.badge.default{color:#dbe7f8;background:#ffffff14}.filters-panel{border:1px solid var(--border-color);border-radius:var(--radius-xl);background:#0d1527f0;margin-bottom:20px;padding:22px;box-shadow:0 14px 40px #00000026}.filters-grid{grid-template-columns:repeat(4,minmax(180px,1fr));gap:14px;margin-bottom:16px;display:grid}.filter-control{width:100%}.date-input{color:var(--text-main);border:1px solid var(--border-color);background:#0c1730;border-radius:16px;outline:none;padding:14px 16px;font-size:14px}.filters-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.filters-result-text{color:var(--text-soft);font-size:14px}.filters-result-text strong{color:var(--text-main)}.reset-filters-btn{border:1px solid var(--border-color);color:var(--text-main);cursor:pointer;background:#ffffff0a;border-radius:14px;padding:12px 16px;font-weight:700;transition:all .2s}.reset-filters-btn:hover{background:#ffffff14}.booking-row{cursor:pointer;transition:all .2s}.booking-row:hover{background:#ffffff08}.pagination-bar{border-top:1px solid #ffffff0f;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-top:18px;padding-top:18px;display:flex}.pagination-info{color:var(--text-soft);font-size:14px}.pagination-info strong{color:var(--text-main)}.pagination-controls{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.pagination-limit-select{color:var(--text-main);border:1px solid var(--border-color);background:#0c1730;border-radius:14px;outline:none;padding:11px 14px;font-size:14px}.pagination-btn{border:1px solid var(--border-color);color:var(--text-main);cursor:pointer;background:#ffffff0a;border-radius:14px;padding:11px 16px;font-weight:700;transition:all .2s}.pagination-btn:hover:not(:disabled){color:#7dd3fc;background:#2563eb24;border-color:#2563eb38}.pagination-btn:disabled{opacity:.45;cursor:not-allowed}.pagination-pages{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.pagination-page-btn{border:1px solid var(--border-color);min-width:42px;height:42px;color:var(--text-main);cursor:pointer;background:#ffffff0a;border-radius:12px;font-weight:700;transition:all .2s}.pagination-page-btn:hover{color:#7dd3fc;background:#2563eb24;border-color:#2563eb38}.pagination-page-btn.active{color:#fff;background:linear-gradient(135deg,#2563eb,#22c1f1);border-color:#0000;box-shadow:0 10px 20px #2563eb38}.booking-modal-overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:999;background:#030814b8;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.booking-modal{border:1px solid var(--border-color);background:#0d1527fa;border-radius:28px;width:100%;max-width:920px;max-height:90vh;padding:24px;overflow-y:auto;box-shadow:0 30px 80px #00000059}.booking-modal-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:22px;display:flex}.booking-modal-header h3{margin-bottom:6px;font-size:28px;font-weight:800}.booking-modal-header p{color:var(--text-soft);font-size:14px}.booking-modal-close{border:1px solid var(--border-color);width:42px;height:42px;color:var(--text-main);cursor:pointer;background:#ffffff0a;border-radius:14px;justify-content:center;align-items:center;transition:all .2s;display:flex}.booking-modal-close:hover{color:#fca5a5;background:#ef444424}.booking-details-grid{grid-template-columns:repeat(2,minmax(260px,1fr));gap:16px;display:grid}.detail-card{border:1px solid var(--border-color);background:#ffffff08;border-radius:18px;padding:16px}.detail-label{color:var(--text-soft);margin-bottom:10px;font-size:13px;display:block}.detail-value{color:var(--text-main);word-break:break-word;font-size:15px;font-weight:700}.booking-actions{flex-wrap:wrap;gap:12px;margin-top:22px;display:flex}.action-btn{color:#fff;cursor:pointer;border:none;border-radius:14px;padding:12px 18px;font-weight:700;transition:all .2s}.action-btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none!important;transform:none!important}.action-confirm{background:linear-gradient(135deg,#16a34a,#22c55e)}.action-confirm:hover{box-shadow:0 12px 24px #22c55e33}.action-expire{background:linear-gradient(135deg,#d97706,#f59e0b)}.action-expire:hover{box-shadow:0 12px 24px #f59e0b33}.action-fail{background:linear-gradient(135deg,#dc2626,#ef4444)}.action-fail:hover{box-shadow:0 12px 24px #ef444433}.action-delete{background:linear-gradient(135deg,#7c2d12,#b91c1c)}.action-delete:hover{box-shadow:0 12px 24px #b91c1c38}.confirm-delete-box{background:#ef44440f;border:1px solid #ef444429;border-radius:22px;margin-top:22px;padding:18px}.confirm-delete-icon{color:#fca5a5;background:#ef444424;border-radius:16px;justify-content:center;align-items:center;width:48px;height:48px;margin-bottom:14px;display:flex}.confirm-delete-content h4{margin-bottom:8px;font-size:20px}.confirm-delete-content p{color:var(--text-soft);line-height:1.7}.confirm-delete-actions{flex-wrap:wrap;gap:12px;margin-top:18px;display:flex}.confirm-cancel-btn,.confirm-delete-btn{cursor:pointer;border:none;border-radius:14px;padding:12px 18px;font-weight:700;transition:all .2s}.confirm-cancel-btn{color:var(--text-main);border:1px solid var(--border-color);background:#ffffff0f}.confirm-cancel-btn:hover{background:#ffffff1a}.confirm-delete-btn{color:#fff;background:linear-gradient(135deg,#991b1b,#dc2626)}.confirm-delete-btn:hover{box-shadow:0 12px 24px #dc262638}.booking-modal .badge{min-width:fit-content}.booking-modal .detail-value .badge{margin-top:2px}.booking-modal-overlay{z-index:1200}.booking-modal{scrollbar-width:thin;scrollbar-color:#7dd3fc59 transparent}.booking-modal::-webkit-scrollbar{width:8px}.booking-modal::-webkit-scrollbar-thumb{background:#7dd3fc47;border-radius:999px}.booking-modal::-webkit-scrollbar-track{background:0 0}.notifications-wrapper{z-index:1400;position:relative}.notifications-bell-btn{border:1px solid var(--border-color);width:46px;height:46px;color:var(--text-main);cursor:pointer;background:#ffffff0a;border-radius:14px;justify-content:center;align-items:center;transition:all .2s;display:inline-flex;position:relative}.notifications-bell-btn:hover{color:#7dd3fc;background:#2563eb24;border-color:#2563eb38}.notifications-badge{color:#fff;background:linear-gradient(135deg,#ef4444,#f97316);border:2px solid #081120;border-radius:999px;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 6px;font-size:11px;font-weight:800;display:inline-flex;position:absolute;top:-6px;right:-6px}.notifications-dropdown{z-index:1300;background:#0b1426;border:1px solid #ffffff14;border-radius:24px;width:420px;max-width:calc(100vw - 36px);position:absolute;top:calc(100% + 12px);right:0;overflow:hidden;box-shadow:0 30px 80px #00000073}.notifications-dropdown-header{border-bottom:1px solid #ffffff0f;justify-content:space-between;align-items:flex-start;gap:16px;padding:18px 18px 14px;display:flex}.notifications-dropdown-header h4{margin-bottom:4px;font-size:18px;font-weight:800}.notifications-dropdown-header p{color:var(--text-soft);font-size:13px}.notifications-close-btn{border:1px solid var(--border-color);color:var(--text-main);cursor:pointer;background:#ffffff0a;border-radius:12px;padding:10px 12px;font-weight:700;transition:all .2s}.notifications-close-btn:hover{background:#ffffff14}.notifications-dropdown-body{max-height:440px;padding:10px;overflow-y:auto}.notifications-state{color:var(--text-soft);text-align:center;padding:20px 14px;font-size:14px}.notifications-error{color:#fca5a5}.notification-item{text-align:left;cursor:pointer;background:#101b31;border:1px solid #ffffff0f;border-radius:18px;align-items:flex-start;gap:12px;width:100%;margin-bottom:10px;padding:14px;transition:all .2s;display:flex}.notification-item:hover{background:#132240;border-color:#2563eb2e;transform:translateY(-1px)}.notification-item:last-child{margin-bottom:0}.notification-severity-dot{border-radius:999px;flex-shrink:0;width:10px;height:10px;margin-top:6px}.notification-severity-dot.success{background:#22c55e}.notification-severity-dot.warning{background:#f59e0b}.notification-severity-dot.danger{background:#ef4444}.notification-severity-dot.info{background:#38bdf8}.notification-content{flex:1;min-width:0}.notification-top-row{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:6px;display:flex}.notification-top-row h5{color:var(--text-main);font-size:15px;font-weight:800}.notification-top-row span{color:var(--text-muted);white-space:nowrap;font-size:12px}.notification-content p{color:var(--text-soft);margin-bottom:10px;font-size:13px;line-height:1.6}.notification-meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.notification-chip,.notification-field{letter-spacing:.2px;text-transform:capitalize;border-radius:999px;justify-content:center;align-items:center;padding:6px 10px;font-size:11px;font-weight:800;display:inline-flex}.notification-chip{color:#dbe7f8;background:#ffffff14}.notification-field{color:#7dd3fc;background:#06b6d41f}.auth-page{background:radial-gradient(circle at 0 0,#2563eb38,#0000 30%),radial-gradient(circle at 100% 100%,#06b6d42e,#0000 30%),linear-gradient(135deg,#081120 0%,#0f172a 100%);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.auth-card{width:100%;max-width:460px;box-shadow:var(--shadow-strong);background:#111827f0;border:1px solid #ffffff14;border-radius:28px;padding:36px 30px}.auth-header-icon{color:#7dd3fc;background:linear-gradient(135deg,#2563eb33,#06b6d433);border-radius:18px;justify-content:center;align-items:center;width:56px;height:56px;margin-bottom:18px;display:flex}.auth-card h1{margin-bottom:10px;font-size:36px;font-weight:800}.auth-card p{color:#94a3b8;margin-bottom:22px;line-height:1.6}.auth-form{flex-direction:column;gap:14px;display:flex}.auth-form input,.password-field input{color:#e5e7eb;background:#0f172a;border:1px solid #ffffff14;border-radius:14px;outline:none;width:100%;padding:14px 16px;font-size:15px;transition:all .2s}.auth-form input:focus,.password-field input:focus{border-color:#2563eb;box-shadow:0 0 0 4px #2563eb1f}.auth-form>button[type=submit]{color:#fff;cursor:pointer;background:linear-gradient(135deg,#2563eb,#06b6d4);border:none;border-radius:14px;margin-top:8px;padding:14px 16px;font-size:15px;font-weight:700;transition:all .2s}.auth-form>button[type=submit]:hover{transform:translateY(-1px);box-shadow:0 12px 24px #2563eb40}.auth-form>button[type=submit]:disabled{opacity:.7;cursor:not-allowed;transform:none}.auth-error{color:#fca5a5;background:#ef444424;border-radius:14px;padding:12px 14px;font-size:14px}.password-field{width:100%;position:relative}.password-field input{padding:14px 48px 14px 16px}.password-toggle{color:#94a3b8;cursor:pointer;width:22px;height:22px;box-shadow:none;background:0 0;border:none;border-radius:0;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.password-toggle:hover{color:#e5e7eb;background:0 0}.password-toggle svg{width:18px;height:18px}.password-toggle:hover{color:#e5e7eb}.payment-page{background:radial-gradient(circle at 0 0,#2563eb47,#0000 30%),radial-gradient(circle at 100% 100%,#06b6d433,#0000 30%),linear-gradient(135deg,#081120 0%,#0f172a 100%);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.payment-card{border:1px solid var(--border-color);text-align:center;width:100%;max-width:580px;box-shadow:var(--shadow-strong);background:#111827f0;border-radius:30px;padding:42px 36px}.payment-icon{justify-content:center;margin-bottom:20px;display:flex}.payment-card.success .payment-icon{color:var(--success)}.payment-card.failed .payment-icon,.payment-card.error .payment-icon{color:var(--danger)}.payment-card h1{margin-bottom:14px;font-size:34px}.payment-card p{color:var(--text-soft);font-size:16px;line-height:1.8}.payment-note{color:#cbd5e1;background:#ffffff0a;border-radius:16px;margin-top:22px;padding:14px 16px}.booking-summary{border:1px solid var(--border-color);text-align:left;background:#ffffff0a;border-radius:18px;margin-top:24px;padding:18px}.summary-row{border-bottom:1px solid #ffffff0f;justify-content:space-between;gap:16px;padding:12px 0;display:flex}.summary-row:last-child{border-bottom:none}.summary-row span{color:var(--text-soft)}.summary-row strong{color:var(--text-main);text-align:right}.whatsapp-back-btn{color:#fff;background:linear-gradient(135deg,#22c55e,#16a34a);border-radius:14px;align-items:center;gap:10px;margin-top:22px;padding:14px 18px;font-weight:700;transition:all .2s;display:inline-flex}.whatsapp-back-btn:hover{transform:translateY(-1px);box-shadow:0 12px 24px #22c55e38}@media (width<=1200px){.stats-grid{grid-template-columns:repeat(3,minmax(180px,1fr))}.charts-grid,.dashboard-grid-2{grid-template-columns:1fr}}@media (width<=1100px){.filters-grid{grid-template-columns:repeat(2,minmax(180px,1fr))}}@media (width<=900px){.admin-layout{flex-direction:column}.sidebar{border-right:0;border-bottom:1px solid var(--border-color);width:100%}.stats-grid{grid-template-columns:repeat(2,minmax(180px,1fr))}.toolbar-card{flex-direction:column}.filter-select{min-width:100%}.topbar{flex-direction:column;align-items:flex-start}.topbar-right{flex-wrap:wrap;justify-content:space-between;width:100%}.notifications-dropdown{left:0;right:auto}}@media (width<=768px){.booking-modal{padding:18px}.booking-details-grid{grid-template-columns:1fr}.booking-modal-header h3{font-size:22px}}@media (width<=700px){.filters-grid{grid-template-columns:1fr}.filters-footer{flex-direction:column;align-items:flex-start}.reset-filters-btn,.pagination-limit-select,.pagination-btn{width:100%}.pagination-bar{flex-direction:column;align-items:flex-start}.pagination-controls,.pagination-pages{width:100%}.pagination-page-btn{flex:1}}@media (width<=640px){.admin-content,.topbar{padding:18px}.stats-grid{grid-template-columns:1fr}.page-title{font-size:28px}.topbar-left{align-items:flex-start}.topbar-page-icon{border-radius:16px;width:46px;height:46px}.topbar h2{font-size:22px}.topbar-date,.logout-btn,.notifications-bell-btn{justify-content:center;width:100%}.notifications-wrapper,.notifications-dropdown{width:100%;max-width:100%}.notifications-dropdown{left:0;right:0}.payment-card,.auth-card{padding:28px 22px}.summary-row{flex-direction:column;align-items:flex-start}.summary-row strong{text-align:left}}
