/* Final presentation layer: preserves existing routes, APIs, records and RBAC. */
:root{--ink:#334155;--muted:#64748b;--line:#e2e8f0;--paper:#f8fafc;--nav:#fff;--teal:#168b78;--amber:#e9783b;--red:#b8504f;--primary:#142b49;--white:#fff}
html{background:#f8fafc;scroll-behavior:auto}body{min-width:0;background:#f8fafc;color:#334155;font-family:Inter,"Plus Jakarta Sans",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.45}button,input,select,textarea{font-family:inherit}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(22,139,120,.22);outline-offset:2px}

/* Navigation remains white and business branding continues to use the stored logo asset. */
.sidebar,.sidebar[data-business="all"],.sidebar[data-business="brajvista"],.sidebar[data-business="ansh"]{background:#fff;color:#334155;border-right:1px solid #e2e8f0;box-shadow:2px 0 18px rgba(15,23,42,.045)}.sidebar{width:252px;padding:14px 12px 12px}.brand{min-height:92px;justify-content:center;margin:0 4px 14px;padding:6px 0 12px;border-bottom:1px solid #edf1f5;color:#142b49}.brand #brand-name{color:#142b49}.brand small{color:#64748b}.brand-mark{background:transparent!important;color:inherit;border-radius:0}.nav-section{margin:18px 10px 7px;color:#8794a7;font-size:10px;font-weight:800;letter-spacing:.11em}.nav-link{min-height:42px;padding:10px 11px;color:#53657b;font-size:14px;font-weight:650;border-radius:9px}.nav-link .nav-icon{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.9}.nav-link:hover{background:#f5f8fb;color:#142b49}.nav-link.active{background:#f1f6fb;color:#142b49;box-shadow:inset 3px 0 0 #e9783b;font-weight:750}.sidebar nav{scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent}.sidebar nav::-webkit-scrollbar{width:6px}.sidebar nav::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:999px}.logout{margin-top:8px;border:1px solid #dce5ef;background:#fff;color:#52657b}.logout:hover{background:#f7fafc;color:#142b49}

.page{margin-left:252px;min-height:100vh;background:#f8fafc}.page header{height:78px;min-height:78px;padding:0 30px;background:#fff;border-bottom:1px solid #e5ebf1;box-shadow:0 1px 3px rgba(15,23,42,.025)}.page header:before,.page header:after{display:none}.page header h1{color:#142b49;font-size:21px;font-weight:780;letter-spacing:-.02em}.page header .eyebrow{color:#168b78;font-size:10px}.page header #business-switcher{min-width:220px;max-width:300px;height:40px;margin-left:auto;border:1px solid #d7e1eb;border-radius:9px;background:#fff;color:#334155;font-weight:650}.operator{background:transparent;color:#53657b}.page>div{padding:24px 30px}.content-head{gap:16px;margin-bottom:16px}.content-head h2{margin:0;color:#142b49;font-size:24px;font-weight:800;letter-spacing:-.025em}.content-head p{color:#64748b;font-size:14px}.primary{min-height:40px;border-radius:9px;background:#168b78;color:#fff;box-shadow:0 2px 5px rgba(22,139,120,.14)}.primary:hover{background:#117564}.secondary{min-height:40px;border-color:#d8e2eb;color:#334155;background:#fff}.secondary:hover{background:#f8fafc;border-color:#bfcddb}

/* Shared card, panel, field and table rhythm. */
.card,.panel,.dashboard-panel{background:#fff;border:1px solid #e3e9f0;border-radius:12px;box-shadow:0 3px 12px rgba(15,23,42,.035)}.card{min-height:104px;padding:16px}.card label{font-size:12px;font-weight:700;color:#64748b}.card strong{margin-top:7px;font-size:26px;font-weight:800;color:#142b49;font-variant-numeric:tabular-nums}.panel h3,.dashboard-panel h3{color:#142b49;font-weight:760}.toolbar{gap:10px}.toolbar input,.toolbar select,input,select,textarea{min-height:40px;border-color:#d8e2ec;border-radius:9px;color:#334155;background:#fff}.toolbar input:focus,.toolbar select:focus,input:focus,select:focus,textarea:focus{border-color:#72a99f;box-shadow:0 0 0 3px rgba(22,139,120,.10)}.table-wrap{max-width:100%;border-color:#e2e8f0;border-radius:12px;box-shadow:0 3px 12px rgba(15,23,42,.03);-webkit-overflow-scrolling:touch}.table-wrap table{min-width:720px}th{padding:12px 14px;background:#f8fafc;color:#64748b;font-size:11px;font-weight:800;letter-spacing:.06em}td{padding:13px 14px;color:#41546c;font-size:14px}.table-wrap tbody tr:hover{background:#fbfdff}.action{border:1px solid #d9e4ed;background:#fff;color:#24476d;font-weight:700}.action:hover{border-color:#aebfd0;background:#f5f9fc;color:#142b49}.badge{border:1px solid #d9e6ed;background:#eef5fb;color:#285f91;font-weight:750}

/* Dashboard and Bookings retain their existing metrics while using a restrained enterprise surface. */
.dashboard-shell .card,.booking-summary-card{border-color:#e1e9f0;box-shadow:0 3px 13px rgba(15,23,42,.035)}.dashboard-shell .card:hover{transform:none;box-shadow:0 5px 15px rgba(15,23,42,.06)}.dashboard-shell .card:after{background:#e9783b}.dashboard-shell .card label{color:#5e7087;font-size:12px}.dashboard-shell .card strong{color:#142b49;font-size:25px}.booking-summary-card>span:last-of-type{color:#536982;font-size:12px}.booking-summary-card>b{color:#142b49}.booking-workspace-toolbar{border-color:#e2e9f0;box-shadow:0 3px 12px rgba(15,23,42,.03)}.booking-list-table{box-shadow:0 3px 12px rgba(15,23,42,.035)}.booking-list-table th{background:#f8fafc;color:#64748b}.booking-list-table td{color:#41546c}.booking-row-actions .action{min-height:32px}.booking-pagination{color:#64748b}.booking-pagination button{border-color:#d8e3ed;color:#24476d}.booking-mobile-card{border-color:#e1e9f0;box-shadow:0 3px 12px rgba(15,23,42,.035)}

/* All existing application dialogs receive the same compact, responsive treatment. */
dialog{width:min(860px,calc(100vw - 28px));max-height:min(90vh,900px);border:1px solid #e2e8f0;border-radius:14px;background:#fff;box-shadow:0 28px 80px rgba(15,23,42,.22)}dialog::backdrop{background:rgba(15,23,42,.36)}dialog form{display:flex;flex-direction:column;max-height:min(90vh,900px);padding:0;overflow:hidden}.modal-head{flex:none;margin:0;padding:18px 22px 14px;border-bottom:1px solid #edf1f5}.modal-head h2{color:#142b49;font-size:20px;font-weight:800}.icon-button{color:#52657b;background:#f2f6f9}.icon-button:hover{background:#e9f0f5}.form-grid,#form-fields{overflow:auto;padding:18px 22px;min-width:0}.field{min-width:0}.field>span,.field label{color:#40536b;font-size:12px;font-weight:750}.form-grid input,.form-grid select,.form-grid textarea{min-height:42px}.modal-actions{position:sticky;bottom:0;z-index:2;flex:none;margin:0;padding:14px 22px 16px;border-top:1px solid #edf1f5;background:rgba(255,255,255,.98);box-shadow:0 -6px 16px rgba(15,23,42,.035)}#form-error{padding:0 22px;margin:0;min-height:22px}.error{color:#b54745}

@media(max-width:1100px){.page>div{padding:20px}.page header{padding:0 20px}.page header #business-switcher{min-width:190px}.booking-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.sidebar{width:min(86vw,310px);background:#fff!important}.sidebar.open{box-shadow:12px 0 30px rgba(15,23,42,.17)}.page{margin-left:0}.page header{height:auto;min-height:72px;flex-wrap:wrap;gap:8px;padding:10px 16px}.page header .menu{color:#142b49}.page header h1{font-size:17px}.page header #business-switcher{order:4;flex:1 1 100%;width:100%;max-width:none;min-height:42px;margin:0}.operator{margin-left:auto}.page>div{padding:16px}.content-head{align-items:flex-start;flex-direction:column}.content-head .primary{width:100%;min-height:44px}.cards{gap:10px}.card{min-height:98px;padding:14px}.card strong{font-size:23px}.dashboard-shell .cards,.booking-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-workspace-toolbar{padding:12px}.booking-list-table{display:none}.booking-mobile-list{display:grid}.modal-head{padding:15px 16px 12px}.form-grid,#form-fields{padding:15px 16px}.modal-actions{padding:12px 16px 14px}.modal-actions button{flex:1;min-height:42px}#form-error{padding:0 16px}}
@media(max-width:440px){.dashboard-shell .cards,.booking-summary-grid,.cards{grid-template-columns:1fr}.booking-workspace-toolbar{grid-template-columns:1fr}.booking-workspace-toolbar .booking-search{grid-column:auto}.operator{font-size:0}.operator button{min-width:36px}.booking-mobile-money{grid-template-columns:repeat(3,minmax(0,1fr))}}
