:root{--p-bg:#f3f6fb;--p-surface:rgba(255,255,255,.94);--p-surface-2:#f8fafc;--p-text:#172033;--p-muted:#64748b;--p-border:#dce4ef;--p-primary:#4f46e5;--p-primary-2:#2563eb;--p-accent:#06b6d4;--p-success:#059669;--p-danger:#dc2626;--p-shadow:0 18px 45px rgba(30,41,59,.10);--p-soft-shadow:0 8px 24px rgba(30,41,59,.08);--p-radius:18px;--p-sidebar:#101828;--p-sidebar-text:#dbe7f5;color-scheme:light}
:root[data-theme="dark"]{--p-bg:#08111f;--p-surface:rgba(17,27,45,.96);--p-surface-2:#111c2e;--p-text:#edf4ff;--p-muted:#9fb0c7;--p-border:#263750;--p-primary:#818cf8;--p-primary-2:#38bdf8;--p-accent:#22d3ee;--p-success:#34d399;--p-danger:#fb7185;--p-shadow:0 20px 50px rgba(0,0,0,.34);--p-soft-shadow:0 8px 25px rgba(0,0,0,.25);--p-sidebar:#060d18;--p-sidebar-text:#d9e7fa;color-scheme:dark}
html{scroll-behavior:smooth}body.portal-themed{background:radial-gradient(circle at 80% 0,rgba(79,70,229,.10),transparent 28%),radial-gradient(circle at 5% 45%,rgba(6,182,212,.08),transparent 24%),var(--p-bg)!important;color:var(--p-text)!important;transition:background .25s,color .25s;min-height:100vh}body.portal-themed,body.portal-themed input,body.portal-themed select,body.portal-themed textarea,body.portal-themed button{font-family:Inter,"Segoe UI",Arial,sans-serif!important}
body.portal-themed h1,body.portal-themed h2,body.portal-themed h3,body.portal-themed h4{color:var(--p-text);letter-spacing:-.025em}body.portal-themed p,body.portal-themed .note,body.portal-themed small{color:var(--p-muted)}
body.portal-themed .sidebar,body.portal-themed .side{background:linear-gradient(180deg,var(--p-sidebar),#111d32)!important;border-right:1px solid rgba(255,255,255,.07);box-shadow:14px 0 35px rgba(0,0,0,.10);z-index:1000}body.portal-themed .sidebar h2,body.portal-themed .side h2,body.portal-themed .brand{color:#fff!important;letter-spacing:-.04em}body.portal-themed .sidebar a,body.portal-themed .side a{color:var(--p-sidebar-text)!important;border:1px solid transparent;transition:transform .18s,background .18s,border .18s!important}body.portal-themed .sidebar a:hover,body.portal-themed .sidebar a.active,body.portal-themed .side a:hover,body.portal-themed .side a.active{background:linear-gradient(135deg,#4f46e5,#2563eb)!important;border-color:rgba(255,255,255,.16);transform:translateX(3px);box-shadow:0 8px 18px rgba(37,99,235,.22)}
body.portal-themed .navbar{background:rgba(10,19,34,.92)!important;backdrop-filter:blur(16px);position:relative;z-index:20;box-shadow:0 10px 32px rgba(0,0,0,.18)}body.portal-themed .logo{background:linear-gradient(90deg,#fff,#93c5fd);background-clip:text;-webkit-background-clip:text;color:transparent!important}
body.portal-themed .card,body.portal-themed .panel,body.portal-themed .top,body.portal-themed .topbar,body.portal-themed .tracking-card,body.portal-themed .stat-box,body.portal-themed .filterbar,body.portal-themed .modal-content{background:var(--p-surface)!important;color:var(--p-text)!important;border:1px solid var(--p-border);box-shadow:var(--p-soft-shadow)!important;backdrop-filter:blur(14px)}body.portal-themed .card,body.portal-themed .panel,body.portal-themed .top,body.portal-themed .tracking-card{border-radius:var(--p-radius)!important}body.portal-themed .card:hover,body.portal-themed .stat-box:hover{transform:translateY(-2px);box-shadow:var(--p-shadow)!important;transition:.2s ease}
body.portal-themed input,body.portal-themed select,body.portal-themed textarea{background:var(--p-surface-2)!important;color:var(--p-text)!important;border:1px solid var(--p-border)!important;outline:none;transition:border .18s,box-shadow .18s}body.portal-themed input:focus,body.portal-themed select:focus,body.portal-themed textarea:focus{border-color:var(--p-primary)!important;box-shadow:0 0 0 4px color-mix(in srgb,var(--p-primary) 17%,transparent)!important}body.portal-themed input::placeholder,body.portal-themed textarea::placeholder{color:var(--p-muted)}
body.portal-themed .btn,body.portal-themed button[type="submit"],body.portal-themed .action-btn{background:linear-gradient(135deg,var(--p-primary),var(--p-primary-2))!important;color:#fff!important;border:0!important;box-shadow:0 7px 17px rgba(37,99,235,.20);transition:transform .16s,filter .16s,box-shadow .16s}body.portal-themed .btn:hover,body.portal-themed button[type="submit"]:hover,body.portal-themed .action-btn:hover{transform:translateY(-1px);filter:brightness(1.06);box-shadow:0 10px 22px rgba(37,99,235,.28)}body.portal-themed .danger,body.portal-themed .logout{background:linear-gradient(135deg,#e11d48,#dc2626)!important}body.portal-themed .success{background:color-mix(in srgb,var(--p-success) 16%,var(--p-surface))!important;color:var(--p-success)!important;border:1px solid color-mix(in srgb,var(--p-success) 35%,transparent)}body.portal-themed .error{background:color-mix(in srgb,var(--p-danger) 14%,var(--p-surface))!important;color:var(--p-danger)!important;border:1px solid color-mix(in srgb,var(--p-danger) 32%,transparent)}
.portal-table-scroll{width:100%;overflow:auto;border:1px solid var(--p-border);border-radius:14px;background:var(--p-surface)}body.portal-themed table{min-width:720px;background:var(--p-surface)!important;color:var(--p-text)!important}body.portal-themed th{background:var(--p-surface-2)!important;color:var(--p-muted)!important;text-transform:uppercase;letter-spacing:.055em;font-size:11px;position:sticky;top:0;z-index:2}body.portal-themed td,body.portal-themed th{border-color:var(--p-border)!important}body.portal-themed tr:hover td{background:color-mix(in srgb,var(--p-primary) 5%,var(--p-surface))}
.portal-theme-toggle,.portal-menu-toggle{position:fixed;z-index:5000;border:1px solid var(--p-border)!important;background:var(--p-surface)!important;color:var(--p-text)!important;border-radius:999px!important;height:44px;padding:0 15px!important;display:flex;align-items:center;gap:8px;box-shadow:var(--p-shadow)!important;cursor:pointer}.portal-theme-toggle{right:18px;bottom:18px}.portal-menu-toggle{display:none;left:14px;top:14px}.portal-theme-toggle span,.portal-menu-toggle span{font-size:19px}.portal-theme-toggle b,.portal-menu-toggle b{font-size:12px}
body.portal-themed .hero{position:relative;overflow:hidden}body.portal-themed .hero:before{content:"";position:absolute;width:360px;height:360px;border-radius:50%;background:rgba(99,102,241,.15);filter:blur(4px);right:-140px;top:-180px;pointer-events:none}body.portal-themed .status-pill,body.portal-themed .badge{background:color-mix(in srgb,var(--p-primary) 16%,var(--p-surface))!important;color:var(--p-primary)!important;border:1px solid color-mix(in srgb,var(--p-primary) 25%,transparent)}
@media(max-width:900px){body.portal-themed.has-portal-sidebar{padding-top:64px}body.portal-themed .sidebar,body.portal-themed .side{position:fixed!important;left:-290px!important;top:0!important;width:270px!important;height:100vh!important;transition:left .25s ease!important;padding-top:70px!important}body.portal-themed .sidebar.portal-sidebar-open,body.portal-themed .side.portal-sidebar-open{left:0!important}body.portal-themed .main{margin-left:0!important;padding:16px!important}.portal-menu-toggle{display:flex}.portal-theme-toggle{right:12px;bottom:12px}.cards,.stats,.grid,.hero,.summary,.booking-summary-cards{grid-template-columns:1fr!important}body.portal-themed .top,body.portal-themed .topbar{flex-direction:column!important;align-items:flex-start!important;gap:12px}body.portal-themed .content{padding:16px!important}body.portal-themed .navbar{padding:16px 18px!important}body.portal-themed .nav-links{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}body.portal-themed .nav-links a{margin:0!important;font-size:13px}.portal-table-scroll{margin:0 -2px;width:calc(100% + 4px)}body.portal-themed .modal-content{width:calc(100% - 20px)!important;margin:10px!important;max-height:92vh;overflow:auto}}
@media(max-width:520px){.portal-theme-toggle b{display:none}.portal-theme-toggle{width:44px;padding:0!important;justify-content:center}body.portal-themed h1{font-size:27px!important}body.portal-themed h2{font-size:21px!important}body.portal-themed .card,body.portal-themed .panel{padding:17px!important}body.portal-themed .hero{padding:38px 18px!important}.portal-table-scroll table{font-size:12px!important}}
@media print{.portal-theme-toggle,.portal-menu-toggle{display:none!important}body.portal-themed{background:#fff!important;color:#000!important}.portal-table-scroll{overflow:visible;border:0}}
