:root{--primary:#173b63;--primary2:#2563eb;--bg:#f4f7fb;--card:#fff;--border:#e5edf7;--text:#101828;--muted:#667085;--success:#16a34a;--danger:#dc2626}*{box-sizing:border-box}body{min-height:100vh;margin:0;font-family:Arial,sans-serif;background:radial-gradient(circle at top left,rgba(37,99,235,.16),transparent 30%),linear-gradient(135deg,#f8fbff 0%,#eef3fa 100%);color:var(--text)}.app-navbar{background:rgba(255,255,255,.92);backdrop-filter:blur(14px);border-bottom:1px solid var(--border);box-shadow:0 10px 30px rgba(15,23,42,.06)}.navbar-brand{font-weight:900;color:var(--primary)!important;display:flex;align-items:center;gap:10px}.brand-icon{width:40px;height:40px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,var(--primary),var(--primary2));color:#fff}.nav-link{font-weight:800;color:#344054!important;border-radius:12px;padding:10px 13px!important}.nav-link:hover{background:#f1f6ff;color:var(--primary2)!important}.nav-danger{color:#b42318!important}.app-main{min-height:calc(100vh - 70px)}.auth-page{min-height:100vh;display:grid;place-items:center;padding:22px}.auth-card{width:min(460px,100%);border:1px solid var(--border);border-radius:28px;background:#fff;box-shadow:0 24px 70px rgba(15,23,42,.12);overflow:hidden}.auth-head{padding:30px;background:linear-gradient(135deg,var(--primary),var(--primary2));color:#fff}.auth-body{padding:28px}.form-control,.form-select{border-radius:14px;min-height:48px;border:1px solid #d8e3f0}.form-control:focus,.form-select:focus{box-shadow:0 0 0 .22rem rgba(37,99,235,.12);border-color:var(--primary2)}.btn-main{min-height:46px;border:0;border-radius:14px;padding:0 18px;background:linear-gradient(135deg,var(--primary),var(--primary2));color:#fff;font-weight:900;box-shadow:0 12px 25px rgba(37,99,235,.22)}.btn-main:hover{color:#fff;transform:translateY(-1px)}.btn-soft{border-radius:14px;font-weight:800;background:#f4f8ff;border:1px solid #dbeafe;color:var(--primary)}.page-title{font-size:clamp(26px,3vw,38px);font-weight:900;letter-spacing:-.04em;margin:0}.page-subtitle{color:var(--muted);margin:7px 0 0}.hero{border-radius:28px;background:linear-gradient(135deg,var(--primary),var(--primary2));color:#fff;padding:28px;box-shadow:0 22px 55px rgba(23,59,99,.23);position:relative;overflow:hidden}.hero:after{content:"";position:absolute;width:280px;height:280px;border-radius:999px;background:rgba(255,255,255,.13);right:-80px;top:-120px}.hero>*{position:relative;z-index:2}.stat-card,.panel-card{height:100%;border:1px solid var(--border);border-radius:24px;background:#fff;box-shadow:0 16px 40px rgba(15,23,42,.08)}.stat-card{padding:20px}.stat-icon{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;background:#eef5ff;color:var(--primary2);font-size:20px}.stat-label{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-weight:900}.stat-value{font-size:32px;font-weight:900;line-height:1;margin-top:7px}.panel-head{padding:20px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.panel-body{padding:20px}.table thead th{background:#101828!important;color:#fff!important;font-size:12px;text-transform:uppercase;letter-spacing:.045em;white-space:nowrap;padding:14px!important}.table tbody td{vertical-align:middle;padding:13px!important;border-bottom:1px solid #edf2f7}.badge-role{border-radius:999px;padding:7px 11px;font-weight:900}.role-admin{background:#eef2ff;color:#3730a3}.role-user{background:#ecfeff;color:#155e75}.status-active{background:#dcfce7;color:#166534}.status-inactive{background:#fee2e2;color:#991b1b}.action-btn{border-radius:12px;font-weight:800}.loader-area{min-height:310px;display:grid;place-items:center}.loader-ring{width:58px;height:58px;border-radius:50%;border:5px solid #dbeafe;border-top-color:var(--primary2);animation:spin .85s linear infinite;margin:auto}@keyframes spin{to{transform:rotate(360deg)}}.dt-container .dt-search input,.dt-container .dt-length select{border-radius:12px!important;border:1px solid var(--border)!important;min-height:40px}.dt-buttons .btn{border-radius:12px!important;font-weight:800}.id-pill,.location-pill,.availability-badge{display:inline-flex;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:900;white-space:nowrap}.id-pill{background:#edf4ff;color:#174ea6}.location-pill{background:#f1f5f9;color:#334155}.availability-yes{background:#dcfce7;color:#166534}.availability-no{background:#fee2e2;color:#991b1b}.availability-time{background:#fff7ed;color:#9a3412}.availability-empty{background:#f1f5f9;color:#64748b}.name-cell{font-weight:900;white-space:nowrap}.book-btn{border-radius:999px;font-weight:900}.modal-content{border:0;border-radius:24px;box-shadow:0 25px 80px rgba(15,23,42,.25)}.modal-header{border-bottom:1px solid var(--border)}@media(max-width:991.98px){.hero{padding:20px}.panel-head,.panel-body{padding:16px}.auth-body{padding:22px}.dt-container .dt-search input{width:100%!important}}

.brand-logo{max-height:46px;width:auto;object-fit:contain;display:block}.navbar-brand span:last-child{font-size:17px}.app-navbar .container-fluid{min-height:72px}.dt-container .dt-search input{border-radius:14px!important;border:1px solid var(--border)!important;min-height:42px;min-width:280px}.dt-container .dt-length select{border-radius:14px!important;border:1px solid var(--border)!important;min-height:42px}.dt-layout-row{gap:12px;align-items:center}.dt-layout-table{overflow:visible!important}.table.dataTable>thead>tr>th{background:#101828;color:#fff;border:0;padding:15px 12px;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.table.dataTable>thead>tr>th:first-child{border-top-left-radius:16px}.table.dataTable>thead>tr>th:last-child{border-top-right-radius:16px}.table.dataTable>tbody>tr>td{padding:13px 12px;border-bottom:1px solid #edf2f7;vertical-align:middle}.table.dataTable>tbody>tr:hover{background:#f8fbff}table.dataTable.dtr-column>tbody>tr>td.dtr-control:before{background:linear-gradient(135deg,var(--primary),var(--primary2));box-shadow:0 8px 18px rgba(37,99,235,.25);border:0;line-height:16px}table.dataTable.dtr-column>tbody>tr.dt-hasChild>td.dtr-control:before{background:#dc2626}.dtr-details{width:100%;padding:8px 0}.dtr-title{min-width:160px;display:inline-block;font-weight:900;color:#344054}.dtr-data{color:#101828}.book-btn{white-space:nowrap}.page-link{border-radius:10px!important;border:1px solid #dbe7f5;color:var(--primary);font-weight:800}.page-item.active .page-link{background:linear-gradient(135deg,var(--primary),var(--primary2));border-color:var(--primary2)}@media(max-width:991.98px){.dt-container .dt-search input{min-width:100%}.dt-layout-row{display:block!important}.dt-layout-cell{margin-bottom:10px}.navbar-brand span:last-child{font-size:15px}.brand-logo{max-height:40px}}

/* V4 responsive technician table refinement */
#techniciansTable{width:100%!important;table-layout:auto}#techniciansTable th,#techniciansTable td{white-space:nowrap}.detail-only-column{display:none}.dt-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:14px 12px;background:#f8fbff;border:1px solid #e5edf7;border-radius:18px;margin:8px 0}.dt-detail-item{background:#fff;border:1px solid #e8eef7;border-radius:14px;padding:12px 14px;box-shadow:0 8px 22px rgba(15,23,42,.04)}.dt-detail-title{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.055em;color:#667085;margin-bottom:5px}.dt-detail-value{font-size:14px;font-weight:700;color:#101828;white-space:normal;word-break:break-word;line-height:1.4}table.dataTable.dtr-column>tbody>tr>td.dtr-control:before{content:'+'!important;font-weight:900;text-align:center;color:#fff}table.dataTable.dtr-column>tbody>tr.dt-hasChild>td.dtr-control:before{content:'−'!important}.table.dataTable>tbody>tr.child td.child{background:#fff;padding:0 13px 13px!important}.book-btn{min-height:38px;padding:0 14px}.dt-container .dt-info{font-weight:700;color:#667085}.dt-container .dt-paging{overflow-x:auto;padding-bottom:2px}@media(max-width:767.98px){#techniciansTable th,#techniciansTable td{font-size:13px}.dt-detail-grid{grid-template-columns:1fr;padding:10px;gap:10px}.dt-detail-item{padding:10px}.book-btn{width:100%;justify-content:center}.dt-container .dt-search input{width:100%!important}.dt-container .dt-length,.dt-container .dt-search{text-align:left!important}}

/* V6 login logo */
.auth-logo-corner{position:fixed;top:22px;right:26px;z-index:20;background:#fff;border:1px solid var(--border);border-radius:18px;padding:10px 14px;box-shadow:0 16px 45px rgba(15,23,42,.12)}
.auth-logo-corner img{max-height:58px;width:auto;display:block;object-fit:contain}
@media(max-width:575.98px){.auth-logo-corner{top:12px;right:12px;padding:8px 10px}.auth-logo-corner img{max-height:42px}.auth-page{padding-top:90px}}
