:root{--primary: #00529b;--primary-strong: #003f78;--primary-soft: #e3f0fb;--accent: #ff6428;--accent-strong: #e94f17;--accent-soft: #fff0e9;--bg: #f3f4f6;--surface: #ffffff;--surface-muted: #f7f8fa;--text: #232323;--muted: #666666;--border: #e3e5e8;--success: #16a34a;--success-soft: #dcfce7;--warning: #d97706;--warning-soft: #fef3c7;--danger: #dc2626;--danger-soft: #fee2e2;--info: #00529b;--info-soft: #e3f0fb;--shadow: 0 18px 45px rgba(0, 82, 155, .12);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg)}*{box-sizing:border-box}body{margin:0;min-width:320px;background:var(--bg);overflow-x:hidden}button,input,select,textarea{font:inherit}body,input,select,textarea,button{font-size:14px}button{cursor:pointer}a{color:inherit;text-decoration:none}.login-page{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.1fr) 480px;background:linear-gradient(135deg,#003f78f5,#00529bf0 58%,#ff6428f2)}.login-visual{color:#fff;padding:clamp(32px,7vw,92px);display:flex;flex-direction:column;justify-content:center;gap:24px}.brand-large{display:flex;align-items:center;gap:14px;font-weight:800;font-size:20px}.brand-large img{width:150px;height:auto;display:block;border-radius:0;background:transparent;padding:0;box-shadow:none}.login-visual h1{max-width:680px;margin:0;font-size:clamp(28px,4.4vw,48px);line-height:1.06;letter-spacing:0}.login-visual p{color:#ffffffc7;font-size:16px;max-width:560px}.login-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;max-width:680px}.login-stats div{border:1px solid rgba(255,255,255,.24);background:#ffffff1f;border-radius:8px;padding:18px}.login-stats strong{display:block;font-size:24px}.login-stats span{color:#ffffffb3}.login-card{margin:auto 44px;background:var(--surface);border-radius:8px;box-shadow:var(--shadow);padding:32px;display:grid;gap:18px}.login-card h2{margin:0;font-size:24px}.login-card p,.section-head p{margin:4px 0 0;color:var(--muted)}.login-card label,.product-form label{display:grid;gap:8px;font-weight:700;color:#333}.password-field{position:relative}.password-field button{position:absolute;right:10px;top:9px;border:0;background:transparent;color:var(--muted)}.login-row{display:flex;justify-content:space-between;align-items:center;gap:16px}.check{display:flex!important;grid-template-columns:auto 1fr;align-items:center;font-weight:600!important}.link-btn{color:var(--primary);background:none;border:0;font-weight:700}.app-shell{min-height:100vh;display:flex}.sidebar{width:260px;height:100vh;background:#003f78;color:#d9e8f5;padding:0 18px 18px;position:sticky;top:0;display:flex;flex-direction:column;gap:22px;transition:width .2s ease}.sidebar.collapsed{width:84px}.sidebar.collapsed .brand{visibility:hidden}.brand{display:flex;align-items:center;justify-content:center;min-height:72px;width:calc(100% + 36px);margin:0 -18px;color:#fff;cursor:pointer}.brand-logo{width:100%;height:72px;display:grid;place-items:center;border-radius:0;background:transparent;padding:16px 22px;box-shadow:none}.brand-logo img{width:min(148px,78%);height:auto;display:block}.sidebar.collapsed .brand-logo{width:100%;height:72px;overflow:hidden;padding:12px 8px}.sidebar.collapsed .brand-logo img{width:128px;max-width:none}.brand span,.profile-chip small,.data-table small{display:block;color:var(--muted);font-size:12px;text-transform:capitalize}.nav-link{display:flex;align-items:center;gap:12px;min-height:42px;border-radius:8px;padding:0 12px;color:#d9e8f5;margin-bottom:6px;font-size:13px;font-weight:700}.nav-link.active,.nav-link:hover{background:#ff64282e;color:#fff}.collapse-btn{margin-top:auto;border:1px solid rgba(255,255,255,.12);background:transparent;color:#fff;border-radius:8px;height:38px}.main{min-width:0;flex:1}.topbar{min-height:72px;background:linear-gradient(180deg,#fffffffa,#fafcfff0);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid rgba(0,82,155,.24);box-shadow:0 10px 30px #00529b0f,inset 0 -1px #003f7814;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 28px;position:sticky;top:0;z-index:3}.topbar h1{margin:0;font-size:20px;line-height:1.15;color:var(--primary-strong)}.topbar p{margin:4px 0 0;color:var(--muted);font-size:12px}.topbar-actions{display:flex;align-items:center;gap:10px}.header-search{height:38px;width:min(32vw,300px);display:flex;align-items:center;gap:8px;border:1px solid rgba(0,82,155,.14);background:#fff;border-radius:8px;padding:0 12px;box-shadow:0 6px 18px #00529b0d}.header-search input{border:0;background:transparent;outline:0;width:100%}.profile-chip{display:flex;align-items:center;gap:10px;padding:4px 10px 4px 4px;border:1px solid rgba(0,82,155,.14);border-radius:8px;background:#fff;box-shadow:0 6px 18px #00529b0d}.profile-chip>span{width:32px;height:32px;display:grid;place-items:center;border-radius:8px;color:#fff;background:var(--primary);font-weight:800;font-size:12px}.profile-chip strong{font-size:13px}.content{padding:24px}.page-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(320px,.6fr);gap:20px}.wide{grid-column:1 / -1}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;grid-column:1 / -1}.card{background:var(--surface);border:1px solid rgba(0,82,155,.1);border-radius:8px;box-shadow:0 10px 30px #00529b12;padding:18px;min-width:0}.stat-card{display:flex;align-items:center;justify-content:space-between;gap:14px}.stat-card span{color:var(--muted);font-weight:700}.stat-card strong{display:block;font-size:24px;margin:6px 0}.stat-card svg{color:var(--primary);background:var(--primary-soft);border-radius:8px;padding:8px;width:42px;height:42px}.section-head{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:16px}.section-head h2{margin:0;font-size:18px;line-height:1.2;color:var(--primary-strong)}.time-tabs{display:inline-flex;align-items:center;gap:4px;padding:4px;border:1px solid rgba(0,82,155,.12);border-radius:8px;background:linear-gradient(180deg,#fff,#f7f9fc);box-shadow:0 8px 20px #00529b0f}.time-tabs button{min-width:74px;height:32px;border:0;border-radius:7px;background:transparent;color:var(--muted);font-size:12px;font-weight:800}.time-tabs button.active{background:var(--primary);color:#fff;box-shadow:0 8px 18px #00529b2e}.time-tabs button:not(.active):hover{color:var(--primary);background:var(--primary-soft)}.filters{display:flex;flex-wrap:nowrap;align-items:center;justify-content:flex-end;gap:9px;padding:8px;border:1px solid rgba(0,82,155,.1);border-radius:8px;background:linear-gradient(180deg,#fff,#f9fbfd);box-shadow:inset 0 1px #ffffffbf,0 8px 24px #00529b0d;overflow:visible;max-width:100%}.filters .field,.filters .select,.filters .custom-select,.filters .date-range{width:auto;min-width:150px;flex:0 0 auto}.filters input[type=date].field{min-width:142px}.filters .field[placeholder*=Search]{min-width:220px}.filters .field.short{min-width:96px;width:96px}.field{width:100%;min-height:38px;border:1px solid rgba(0,82,155,.16);border-radius:8px;padding:0 12px;background:#fff;color:var(--text);outline-color:var(--accent);box-shadow:0 1px #00529b08;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.field:hover{border-color:#00529b47}.field:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.field.short{width:110px}.custom-select,.date-range{position:relative}.select-trigger,.date-trigger{display:inline-flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;cursor:pointer}.select-trigger span,.date-trigger span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select-menu,.date-menu{position:absolute;z-index:30;top:calc(100% + 8px);right:0;min-width:100%;border:1px solid rgba(0,82,155,.14);border-radius:8px;background:#fff;box-shadow:0 18px 40px #00529b29;padding:6px}.select-menu button{width:100%;min-height:34px;border:0;border-radius:7px;background:transparent;color:var(--text);padding:0 10px;text-align:left;font-weight:700;white-space:nowrap}.select-menu button:hover{background:var(--primary-soft);color:var(--primary)}.select-menu button.active{background:var(--primary);color:#fff}.date-trigger{min-width:188px}.date-menu{width:500px;padding:0;display:grid;grid-template-columns:150px 1fr;gap:0;overflow:hidden}.date-presets{display:grid;align-content:start;gap:4px;padding:10px;background:#f6f9fc;border-right:1px solid rgba(0,82,155,.12)}.date-presets button{min-height:36px;border:0;border-radius:7px;background:transparent;color:var(--muted);padding:0 10px;text-align:left;font-weight:800}.date-presets button:hover{background:var(--primary-soft);color:var(--primary)}.date-presets button.active{background:var(--primary);color:#fff;box-shadow:0 8px 18px #00529b24}.date-calendar{display:grid;gap:10px;padding:14px}.date-calendar-head{display:grid;grid-template-columns:34px 1fr 34px;justify-content:space-between;align-items:center;gap:10px}.date-calendar-head strong{color:var(--primary-strong)}.date-calendar-head button{width:34px;height:32px;border:1px solid rgba(0,82,155,.12);border-radius:8px;background:#fff;color:var(--primary);display:grid;place-items:center}.date-weekdays,.date-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.date-weekdays span{color:var(--muted);font-size:11px;font-weight:800;text-align:center}.date-grid button,.date-grid span{height:34px;border-radius:8px}.date-grid button{border:0;background:transparent;color:var(--text);font-weight:800}.date-grid button:hover{background:var(--primary-soft);color:var(--primary)}.date-grid button.in-range{background:var(--accent-soft);color:var(--primary-strong)}.date-grid button.selected{background:var(--primary);color:#fff;box-shadow:0 8px 18px #00529b29}.date-selection{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.date-selection span{min-height:34px;display:grid;place-items:center;border:1px solid rgba(0,82,155,.12);border-radius:8px;background:#f8fbff;color:var(--muted);font-size:12px;font-weight:800}.date-actions{display:flex;justify-content:flex-end;gap:8px}.textarea{min-height:110px;padding-top:12px;resize:vertical}.btn{min-height:38px;border-radius:8px;border:0;padding:0 15px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:800;font-size:13px;box-shadow:0 8px 20px #ff642824}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-strong)}.btn-secondary{background:#fff;color:var(--primary-strong);border:1px solid rgba(0,82,155,.16);box-shadow:0 6px 16px #00529b0d}.btn-ghost{background:transparent;color:var(--primary)}.btn-danger{background:var(--danger);color:#fff}.btn:disabled{opacity:.55;cursor:not-allowed}.icon-btn{width:38px;height:38px;display:grid;place-items:center;border:1px solid rgba(0,82,155,.14);background:#fff;border-radius:8px;color:var(--primary);box-shadow:0 6px 18px #00529b0d}.table-wrap{width:100%;overflow:auto}.data-table{width:100%;border-collapse:collapse;min-width:1560px}.data-table th{text-align:left;font-size:11px;color:#fff;text-transform:uppercase;padding:11px 14px;background:var(--primary-strong);border-bottom:1px solid rgba(255,255,255,.16);white-space:nowrap}.data-table td{padding:12px 14px;border-bottom:1px solid var(--border);vertical-align:middle;font-size:13px}.align-right{text-align:right!important}.row-actions{display:flex;gap:6px}.row-actions button{border:1px solid var(--border);background:#fff;border-radius:8px;width:34px;height:34px;display:grid;place-items:center;color:var(--primary)}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:800;white-space:nowrap}.badge-success{color:var(--success);background:var(--success-soft)}.badge-warning{color:var(--warning);background:var(--warning-soft)}.badge-danger{color:var(--danger);background:var(--danger-soft)}.badge-info{color:var(--info);background:var(--info-soft)}.badge-neutral{color:var(--muted);background:var(--surface-muted)}.pagination{display:flex;justify-content:flex-end;align-items:center;gap:12px;padding-top:16px;color:var(--muted)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a7a;display:grid;place-items:center;padding:18px;z-index:10}.modal{width:min(620px,100%);background:#fff;border-radius:8px;box-shadow:var(--shadow);padding:20px}.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.modal-head h3{margin:0}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.detail-grid div{padding:14px;border:1px solid var(--border);border-radius:8px;background:var(--surface-muted)}.detail-grid small{display:block;color:var(--muted);margin-bottom:4px}.activity-list{display:grid;gap:14px}.activity-item{display:flex;gap:12px;align-items:flex-start}.activity-item small{display:block;color:var(--muted);margin-top:3px}.dot{width:10px;height:10px;margin-top:5px;border-radius:50%;background:var(--info)}.dot.success{background:var(--success)}.dot.warning{background:var(--warning)}.form-card{position:relative;overflow:hidden}.form-card:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,var(--primary),var(--accent))}.product-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:900px;padding:16px;border:1px solid rgba(0,82,155,.1);border-radius:8px;background:linear-gradient(180deg,#fff,#fbfcfe)}.product-form label{padding:12px;border:1px solid rgba(0,82,155,.08);border-radius:8px;background:#fff;box-shadow:0 6px 18px #00529b09;font-size:12px;text-transform:uppercase}.product-form label:focus-within{border-color:#ff642873;box-shadow:0 0 0 3px var(--accent-soft)}.product-form .field{margin-top:2px;font-size:14px;text-transform:none}.booking-card{width:100%;min-height:calc(100vh - 120px);display:flex;flex-direction:column}.booking-form{width:min(1180px,100%);max-width:none;margin:0 auto;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:18px;background:linear-gradient(180deg,#f8fafc,#eef2f6);box-shadow:inset 0 1px #ffffffe6,0 16px 42px #00529b14}.booking-form label{padding:11px;min-width:0}.booking-form .field{min-height:40px}.booking-form .textarea{min-height:96px}.form-section-title{display:flex;align-items:center;min-height:38px;padding:0 12px;border-left:4px solid var(--accent);border-radius:8px;background:#fff;color:var(--primary-strong);font-size:13px;font-weight:900;text-transform:uppercase;box-shadow:0 8px 20px #00529b0a}.charge-total{display:grid;align-content:center;gap:3px;padding:12px;border:1px solid rgba(255,100,40,.28);border-radius:8px;background:#fff7f3;color:var(--primary-strong)}.charge-total small{color:var(--muted);font-size:11px;font-weight:900;text-transform:uppercase}.charge-total strong{font-size:18px;color:var(--accent-strong)}.review-card{gap:16px}.booking-review{width:min(1180px,100%);margin:0 auto;grid-template-columns:repeat(4,minmax(0,1fr))}.booking-review strong{display:block;overflow-wrap:anywhere}.review-actions{width:min(1180px,100%);margin:0 auto}.wizard-card{width:100%;min-height:calc(100vh - 120px);display:flex;flex-direction:column}.wizard-card .section-head{flex:0 0 auto}.wizard-form{width:min(920px,100%);margin:auto;display:grid;gap:18px;padding:22px;border:1px solid rgba(0,82,155,.12);border-radius:8px;background:linear-gradient(180deg,#f8fafc,#eef2f6);box-shadow:inset 0 1px #ffffffe6,0 16px 42px #00529b14}.wizard-progress{width:100%;height:10px;overflow:hidden;border-radius:999px;background:#dde6ef;box-shadow:inset 0 1px 2px #0000000d}.wizard-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--primary),var(--accent));transition:width .2s ease}.wizard-meta{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border:1px solid rgba(0,82,155,.1);border-radius:8px;background:#fff;color:var(--muted);box-shadow:0 8px 22px #00529b0a}.wizard-meta strong{color:var(--primary-strong);font-size:14px}.wizard-meta span{color:#232323;font-weight:900;font-size:16px}.wizard-form label{display:grid;gap:10px;padding:20px;border:1px solid rgba(0,82,155,.13);border-radius:8px;background:#fff;box-shadow:0 10px 24px #00529b0e;color:#333;font-size:12px;font-weight:900;text-transform:uppercase}.wizard-form label:focus-within{border-color:#ff64288c;box-shadow:0 0 0 3px var(--accent-soft),0 14px 28px #00529b14}.wizard-form .field{min-height:48px;font-size:15px;text-transform:none;background:#fbfdff;border-color:#00529b33}.wizard-form .textarea{min-height:150px}.wizard-pair,.party-fields{display:grid;gap:14px}.wizard-pair{grid-template-columns:minmax(0,1fr) 180px}.party-fields{grid-template-columns:repeat(3,minmax(0,1fr))}.wizard-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:4px}.wizard-actions .btn{min-width:126px;min-height:42px;font-size:14px;box-shadow:0 10px 24px #ff64282e}.wizard-actions .btn-secondary{box-shadow:0 8px 20px #00529b14}.confirm-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:16px}.confirm-summary div{padding:12px;border:1px solid rgba(0,82,155,.1);border-radius:8px;background:#f8fbff}.confirm-summary small{display:block;color:var(--muted);margin-bottom:4px;font-weight:800;text-transform:uppercase}.confirm-summary strong{color:var(--primary-strong)}.muted-text{color:var(--muted);font-size:12px}.span-2{grid-column:1 / -1}.form-actions{display:flex;justify-content:flex-end;gap:10px}.form-error,.form-success{display:flex;align-items:center;gap:8px;padding:12px 14px;border-radius:8px;font-weight:700}.form-error{color:var(--danger);background:var(--danger-soft)}.form-success{color:var(--success);background:var(--success-soft)}.empty{min-height:260px;display:grid;place-content:center;text-align:center;gap:8px;color:var(--muted)}.empty strong{color:var(--text);font-size:20px}.skeleton{min-height:80px;border-radius:8px;background:linear-gradient(90deg,#f1f5f9,#e2e8f0,#f1f5f9);background-size:240% 100%;animation:shimmer 1.4s infinite}@keyframes shimmer{to{background-position:-240% 0}}.mobile-only{display:none}.drawer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:flex}.drawer-panel{position:relative;z-index:1}.drawer .sidebar{position:relative}.drawer-scrim{flex:1;border:0;background:#0f172a73}@media (max-width: 1100px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.page-grid{grid-template-columns:1fr}.header-search{display:none}}@media (max-width: 820px){.login-page{grid-template-columns:1fr}.login-visual{min-height:auto;padding:28px 20px 20px;gap:16px}.brand-large img{width:124px}.login-visual h1{font-size:26px;line-height:1.1;max-width:100%}.login-visual p{font-size:14px;max-width:100%}.login-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%}.login-stats div{padding:12px 10px}.login-stats strong{font-size:19px}.login-stats span{font-size:11px;line-height:1.25}.login-card{margin:0 14px 18px;border-radius:8px;min-height:auto;padding:20px}.login-card h2{font-size:21px}.login-row{align-items:flex-start;flex-direction:column;gap:8px}.desktop-only{display:none}.mobile-only{display:grid}.topbar{min-height:64px;padding:10px 12px;align-items:center;gap:10px}.topbar h1{font-size:18px}.topbar-actions .profile-chip,.topbar p{display:none}.topbar-actions{gap:6px;margin-left:auto}.icon-btn{width:36px;height:36px}.content{padding:14px}.section-head{flex-direction:column;align-items:stretch;gap:12px}.section-head h2{font-size:17px}.filters{width:100%;justify-content:flex-start;flex-wrap:wrap;overflow:visible}.filters .field,.filters .select,.filters .custom-select,.filters .date-range,.filters .field[placeholder*=Search],.filters input[type=date].field{width:auto;min-width:150px;flex:0 0 auto}.product-form{grid-template-columns:1fr}.booking-form{grid-template-columns:repeat(2,minmax(0,1fr));padding:14px}.booking-review{grid-template-columns:repeat(2,minmax(0,1fr))}.wizard-card{min-height:calc(100vh - 92px)}.wizard-form{padding:16px}.wizard-meta{flex-direction:column;align-items:flex-start;padding:12px;gap:4px}.wizard-meta span{font-size:14px}.wizard-pair,.party-fields,.confirm-summary{grid-template-columns:1fr}.wizard-actions,.form-actions{justify-content:stretch}.wizard-actions .btn,.form-actions .btn{flex:1}.span-2{grid-column:auto}}@media (max-width: 560px){.stats-grid,.login-stats,.detail-grid{grid-template-columns:1fr}.login-visual h1{font-size:23px}.login-stats{grid-template-columns:1fr}.topbar h1{font-size:20px}.card{padding:16px}.stat-card strong{font-size:21px}.stat-card svg{width:38px;height:38px}.data-table{min-width:720px}.booking-form,.booking-review{grid-template-columns:1fr}.pagination{justify-content:space-between}.filters{flex-wrap:wrap;overflow-x:visible}.filters .field,.filters .select,.filters .custom-select,.filters .date-range,.filters .field[placeholder*=Search],.filters input[type=date].field{width:100%;min-width:0;flex:1 1 100%}.select-menu,.date-menu{left:0;right:auto;width:100%}.date-menu{grid-template-columns:1fr}.date-presets{grid-template-columns:repeat(2,minmax(0,1fr));border-right:0;border-bottom:1px solid rgba(0,82,155,.12)}.date-calendar{padding:12px}.date-grid button,.date-grid span{height:32px}.date-selection{grid-template-columns:1fr}}
