:root{
  --crm-bg:#f5f7fb;
  --crm-surface:#ffffff;
  --crm-surface-2:#f8fafc;
  --crm-text:#172033;
  --crm-muted:#667085;
  --crm-border:#e6eaf0;
  --crm-primary:#0f766e;
  --crm-primary-2:#14b8a6;
  --crm-primary-soft:#e8f7f5;
  --crm-navy:#182230;
  --crm-danger:#dc2626;
  --crm-warning:#d97706;
  --crm-info:#2563eb;
  --crm-success:#15803d;
  --crm-radius:14px;
  --crm-radius-sm:10px;
  --crm-sidebar:252px;
}
*{box-sizing:border-box}
html{background:var(--crm-bg)}
body{
  margin:0!important;background:var(--crm-bg)!important;color:var(--crm-text)!important;
  font-family:'Poppins',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif!important;
  overflow-x:hidden;
}
a{transition:color .18s ease,background-color .18s ease,border-color .18s ease,transform .18s ease}

/* App shell: mobile first */
.sidebar{
  position:fixed!important;inset:0 auto 0 0!important;width:min(86vw,var(--crm-sidebar))!important;height:100dvh!important;
  background:var(--crm-navy)!important;color:#fff!important;z-index:1100!important;
  transform:translateX(-102%);left:0!important;transition:transform .22s ease!important;
  overflow-y:auto!important;border-right:1px solid rgba(255,255,255,.06)!important;
}
.sidebar.show{transform:translateX(0)!important}
.sidebar-header{padding:22px 18px 14px!important;text-align:left!important;border-bottom:1px solid rgba(255,255,255,.09)!important}
.sidebar-header img{width:58px!important;max-height:52px!important;object-fit:contain!important;margin:0 0 10px!important;background:#fff;border-radius:12px;padding:5px}
.sidebar-header h5{font-size:15px!important;letter-spacing:.2px;margin:0!important;color:#fff!important;font-weight:600!important}
.menu{padding:12px 10px 24px!important}
.menu a{
  min-height:44px!important;display:flex!important;align-items:center!important;gap:12px!important;
  padding:10px 12px!important;margin:3px 0!important;border-radius:10px!important;
  color:#cdd5df!important;text-decoration:none!important;font-size:14px!important;font-weight:500!important;background:transparent!important;
}
.menu a i{width:19px!important;text-align:center!important;color:#94a3b8!important;font-size:15px!important}
.menu a:hover{background:rgba(255,255,255,.07)!important;color:#fff!important;transform:none!important}
.menu a.active{background:var(--crm-primary)!important;color:#fff!important;font-weight:600!important}
.menu a.active i{color:#fff!important}
.submenu{margin-left:12px!important;padding-left:8px!important;border-left:1px solid rgba(255,255,255,.12)}
.submenu a{font-size:13px!important;min-height:40px!important;padding:8px 10px!important}
.overlay{
  position:fixed!important;inset:0!important;background:rgba(15,23,42,.42)!important;backdrop-filter:blur(2px);
  z-index:1090!important;opacity:0!important;visibility:hidden!important;transition:.2s!important;
}
.overlay.show{opacity:1!important;visibility:visible!important}

.main{margin-left:0!important;min-height:100dvh!important;width:100%!important;transition:none!important}
.header{
  min-height:64px!important;position:sticky!important;top:0!important;z-index:900!important;
  display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;
  padding:10px 14px!important;background:rgba(255,255,255,.96)!important;border-bottom:1px solid var(--crm-border)!important;
  box-shadow:none!important;backdrop-filter:blur(12px);
}
.header h1,.header h2,.header h3{font-size:18px!important;line-height:1.25!important;margin:0!important;color:var(--crm-text)!important;font-weight:650!important}
.mobile-toggle{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:40px!important;height:40px!important;border-radius:10px!important;color:var(--crm-primary)!important;background:var(--crm-primary-soft)!important;font-size:18px!important;cursor:pointer!important}
.user-box{display:flex!important;align-items:center!important;gap:8px!important;min-width:0}
.user-box>i{font-size:30px!important;color:var(--crm-primary)!important}
.user-box small,.user-box strong{font-size:11px!important;line-height:1.25!important;display:block!important;max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.user-box small{color:var(--crm-muted)!important}.user-box strong{font-size:12px!important;color:var(--crm-text)!important}
.content{padding:14px!important;max-width:1600px;margin:0 auto}
.page-title{margin:2px 0 14px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;flex-wrap:wrap!important}
.page-title h1,.page-title h2,.page-title h3{font-size:20px!important;color:var(--crm-text)!important;margin:0!important;font-weight:650!important}

/* Flat surfaces */
.stat-card,.chart-box,.table-box,.card,.form-box,.filter-box,.status-strip{
  background:var(--crm-surface)!important;border:1px solid var(--crm-border)!important;border-radius:var(--crm-radius)!important;
  box-shadow:none!important;transform:none!important;
}
.stat-card:hover,.chart-box:hover,.table-box:hover,.card:hover{box-shadow:none!important;transform:none!important}
.stat-card{padding:16px!important;min-height:126px!important;position:relative!important;overflow:hidden!important;border-top:1px solid var(--crm-border)!important}
.stat-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--crm-primary)}
.stat-card i{font-size:24px!important;margin-bottom:12px!important;color:var(--crm-primary)!important}
.stat-card h3{font-size:26px!important;line-height:1!important;margin:0 0 7px!important;color:var(--crm-text)!important}
.stat-card p{font-size:13px!important;color:var(--crm-muted)!important;margin:0!important}
.chart-box,.table-box{padding:16px!important;margin-bottom:14px!important}
.chart-box::before{display:none!important}.chart-box h3,.table-box h3{font-size:16px!important;color:var(--crm-text)!important;margin:0 0 14px!important}
.stats-grid,.charts-grid{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;margin-bottom:14px!important}
.status-strip{padding:13px!important;margin-bottom:14px!important;gap:8px!important;overflow-x:auto!important;flex-wrap:nowrap!important;align-items:center!important;scrollbar-width:none}
.status-strip::-webkit-scrollbar{display:none}.status-strip>span:first-child{font-size:13px!important;flex:0 0 auto}
.status-pill{flex:0 0 auto!important;padding:7px 11px!important;border-radius:9px!important;font-size:12px!important;box-shadow:none!important}
.count-badge{padding:1px 7px!important}

/* Controls */
input:not([type=checkbox]):not([type=radio]),select,textarea,.form-control,.form-select{
  width:100%;min-height:43px!important;border:1px solid #d7dde5!important;border-radius:10px!important;background:#fff!important;
  color:var(--crm-text)!important;padding:9px 11px!important;font-size:14px!important;box-shadow:none!important;outline:none!important;
}
textarea,.form-control[type=textarea]{min-height:90px!important}
input:focus,select:focus,textarea:focus,.form-control:focus,.form-select:focus{border-color:var(--crm-primary-2)!important;box-shadow:0 0 0 3px rgba(20,184,166,.12)!important}
label,.form-label{font-size:13px!important;color:#344054!important;font-weight:550!important;margin-bottom:6px!important}
button,.btn,.action-btn{
  min-height:40px;border-radius:10px!important;border:1px solid transparent!important;font-size:13px!important;font-weight:600!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;box-shadow:none!important;text-decoration:none!important;
}
.btn-primary,.action-btn.btn-primary{background:var(--crm-primary)!important;border-color:var(--crm-primary)!important;color:#fff!important}
.btn-primary:hover,.action-btn.btn-primary:hover{background:#0b625b!important;transform:none!important;box-shadow:none!important}
.btn-success{background:var(--crm-success)!important;border-color:var(--crm-success)!important}.btn-danger{background:var(--crm-danger)!important;border-color:var(--crm-danger)!important}.btn-warning{background:#f59e0b!important;border-color:#f59e0b!important;color:#fff!important}.btn-info{background:var(--crm-info)!important;border-color:var(--crm-info)!important;color:#fff!important}

/* Tables: horizontal app-style scroll */
.table-responsive{width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important;border:1px solid var(--crm-border)!important;border-radius:12px!important;background:#fff!important}
.table-responsive table,table{border-collapse:separate!important;border-spacing:0!important;margin:0!important;font-size:12.5px!important}
.table-responsive table{min-width:760px!important;width:100%!important}
table thead th,.table thead th{position:static!important;background:#f1f5f9!important;color:#344054!important;padding:11px 12px!important;border:0!important;border-bottom:1px solid var(--crm-border)!important;font-size:11px!important;font-weight:650!important;text-transform:uppercase!important;letter-spacing:.35px!important;white-space:nowrap!important}
table td,.table td{padding:11px 12px!important;border:0!important;border-bottom:1px solid #eef1f5!important;color:#344054!important;vertical-align:middle!important;white-space:nowrap!important;background:#fff!important}
table tbody tr:hover td,.table tbody tr:hover td{background:#fbfcfd!important}
table tbody tr:last-child td{border-bottom:0!important}
.badge{border-radius:8px!important;padding:5px 8px!important;font-size:11px!important;font-weight:600!important}
.pagination{gap:4px!important;flex-wrap:wrap}.page-link{border-radius:8px!important;border:1px solid var(--crm-border)!important;color:var(--crm-text)!important;font-size:12px!important;box-shadow:none!important}.page-item.active .page-link{background:var(--crm-primary)!important;border-color:var(--crm-primary)!important;color:#fff!important}

.modal-content{border:0!important;border-radius:16px!important;box-shadow:0 24px 60px rgba(15,23,42,.18)!important}.modal-header,.modal-footer{border-color:var(--crm-border)!important}.modal-title{font-size:17px!important}
.dashboard-footer,footer{box-shadow:none!important;border-color:var(--crm-border)!important}

/* Login */
.login-container,.login-box,.login-card{border-radius:18px!important;box-shadow:none!important;border:1px solid var(--crm-border)!important}

@media(min-width:600px){
  .content{padding:20px!important}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.chart-box,.table-box{padding:20px!important}
}
@media(min-width:992px){
  .sidebar{transform:translateX(0)!important;width:var(--crm-sidebar)!important}.main{margin-left:var(--crm-sidebar)!important;width:calc(100% - var(--crm-sidebar))!important}
  .overlay{display:none!important}.mobile-toggle{display:none!important}.header{padding:12px 24px!important;min-height:70px!important}.header h1,.header h2,.header h3{font-size:21px!important}.content{padding:24px!important}
  .stats-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:14px!important}.charts-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important}
  .stat-card{padding:19px!important}.table-responsive table{min-width:900px!important}.user-box small{max-width:180px}
}
@media(max-width:599px){
  .header .user-box div{display:none!important}.header{padding-inline:10px!important}.content{padding:10px!important}
  .table-box{padding:10px!important}.chart-box{padding:13px!important}.status-strip{border-radius:12px!important}
  .btn,.action-btn,button{min-height:42px}.page-title .btn,.page-title button{flex:1 1 auto}
}

/* =========================================================
   Premium App UI v2 — progressive enhancement
   ========================================================= */
:root{
  --crm-bg:#f3f6fa;
  --crm-surface:#fff;
  --crm-text:#142033;
  --crm-muted:#718096;
  --crm-border:#e7ebf1;
  --crm-primary:#176b63;
  --crm-primary-2:#20a997;
  --crm-primary-soft:#e8f6f3;
  --crm-navy:#101a2c;
  --crm-indigo:#5865f2;
  --crm-orange:#f59e0b;
  --crm-pink:#ec4899;
  --crm-radius:18px;
  --crm-shadow:0 10px 30px rgba(18,32,51,.055);
}
body{padding-bottom:76px!important;background:
  radial-gradient(circle at 100% 0,rgba(32,169,151,.07),transparent 26rem),var(--crm-bg)!important}

/* Sidebar now feels like an app drawer */
.sidebar{display:flex!important;flex-direction:column!important;background:linear-gradient(180deg,#111c30 0%,#0d1728 100%)!important}
.sidebar-header{display:flex!important;align-items:center!important;gap:12px!important;padding:18px 14px!important;text-align:left!important}
.brand-mark{width:46px;height:46px;display:grid;place-items:center;background:#fff;border-radius:14px;flex:0 0 auto;overflow:hidden;box-shadow:0 7px 20px rgba(0,0,0,.15)}
.sidebar-header .brand-mark img{width:100%!important;height:100%!important;max-height:none!important;object-fit:contain!important;margin:0!important;padding:5px!important;border-radius:0!important;background:#fff!important}
.brand-copy{min-width:0}.brand-kicker{display:block;color:#7dd3c7;font-size:10px;text-transform:uppercase;letter-spacing:1.2px;font-weight:700;margin-bottom:3px}
.sidebar-header h5{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:14px!important}
.menu{flex:1!important;overflow-y:auto!important;padding-bottom:10px!important}.menu a{border-radius:12px!important}.menu a.active{background:linear-gradient(135deg,#176b63,#1d8b7e)!important;box-shadow:0 7px 18px rgba(23,107,99,.22)!important}
.menu a.active:after{content:"";width:5px;height:5px;border-radius:50%;background:#9ff4e7;margin-left:auto}
.logout-link{display:none!important}
.sidebar-profile{margin:10px 10px 14px;padding:10px;border-radius:14px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.07);display:flex;align-items:center;gap:9px}
.profile-avatar{width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,#2dd4bf,#176b63);display:grid;place-items:center;color:#fff;font-weight:700;flex:0 0 auto}
.profile-copy{display:flex;flex-direction:column;min-width:0;flex:1}.profile-copy strong{font-size:12px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-copy span{font-size:10px;color:#94a3b8;margin-top:2px}
.profile-logout{width:32px!important;height:32px!important;min-height:32px!important;margin:0!important;padding:0!important;justify-content:center!important;background:rgba(255,255,255,.07)!important}.profile-logout i{width:auto!important;color:#cbd5e1!important}

/* Header / app bar */
.header{box-shadow:0 1px 0 rgba(16,24,40,.03)!important;background:rgba(255,255,255,.88)!important}
.header-title-wrap{min-width:0}.header-title-wrap h2{font-size:18px!important}.header-eyebrow{font-size:10px;color:var(--crm-muted);font-weight:600;text-transform:uppercase;letter-spacing:.8px;margin-top:2px}
.mobile-toggle{border:1px solid #dcebe8!important;border-radius:12px!important}
.user-box>i{display:none!important}.app-user-avatar{width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,#dff8f3,#bceee6);color:#176b63;display:grid;place-items:center;font-size:13px;font-weight:700;border:1px solid #cfebe6}

/* Main content */
.content,.customer-section{max-width:1500px!important;margin-inline:auto!important}
.content{padding-top:18px!important}.customer-section{padding:14px!important}
.page-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin:0 0 18px}.page-hero h1{font-size:22px;margin:0;color:var(--crm-text);letter-spacing:-.4px}.page-hero p{margin:5px 0 0;font-size:12px;color:var(--crm-muted)}

/* Dashboard */
.stats-grid>a{min-width:0}.stat-card{border:0!important;box-shadow:var(--crm-shadow)!important;border-radius:20px!important;min-height:142px!important;padding:18px!important;background:#fff!important}
.stat-card::before{display:none!important}.stat-card:after{content:"";position:absolute;width:95px;height:95px;border-radius:50%;right:-34px;top:-34px;background:var(--crm-primary-soft);opacity:.75}
.stat-card i{width:42px;height:42px;border-radius:13px;background:var(--crm-primary-soft);display:grid!important;place-items:center;font-size:18px!important;margin-bottom:16px!important;color:var(--crm-primary)!important;position:relative;z-index:1}
.stat-card h3{font-size:30px!important;letter-spacing:-1px!important}.stat-card p{font-weight:600!important;color:#64748b!important}
.stats-grid>a:nth-child(2) .stat-card i{background:#eef0ff;color:var(--crm-indigo)!important}.stats-grid>a:nth-child(2) .stat-card:after{background:#eef0ff}
.stats-grid>a:nth-child(3) .stat-card i{background:#fff6df;color:var(--crm-orange)!important}.stats-grid>a:nth-child(3) .stat-card:after{background:#fff6df}
.stats-grid>a:nth-child(4) .stat-card i{background:#edf7ff;color:#2886c8!important}.stats-grid>a:nth-child(4) .stat-card:after{background:#edf7ff}
.chart-box,.table-box,.customer-card,.form-box,.filter-box,.card{border:0!important;box-shadow:var(--crm-shadow)!important;border-radius:20px!important;background:#fff!important}
.chart-box h3,.table-box h3{display:flex;align-items:center;gap:9px}.chart-box h3 i,.table-box h3 i{width:31px;height:31px;border-radius:9px;display:grid;place-items:center;background:var(--crm-primary-soft);color:var(--crm-primary);font-size:13px}
.status-strip{border:0!important;box-shadow:var(--crm-shadow)!important;background:#fff!important;border-radius:16px!important}.status-pill{border-radius:999px!important;color:#fff!important;font-weight:600!important}.count-badge{background:rgba(255,255,255,.23)!important;color:#fff!important}

/* Search/filter toolbars */
.customer-card{padding:14px!important}.customer-toolbar,.toolbar,.filter-row,.filters,.action-bar{gap:9px!important}
.search-box{background:#f7f9fc;border:1px solid #e8edf3;border-radius:14px;padding:5px;min-width:min(100%,430px)}
.search-box input{border:0!important;background:transparent!important;box-shadow:none!important;min-height:38px!important}.search-box .btn{border-radius:10px!important}
.btn,.action-btn,button{border-radius:11px!important}.btn-add,.btn-primary{background:linear-gradient(135deg,#176b63,#1e8d80)!important;color:#fff!important;border:0!important}.btn-search{background:#22324a!important;border-color:#22324a!important}.btn-print{background:#f1f5f9!important;color:#475569!important;border-color:#e2e8f0!important}

/* Inputs and form cards */
.form-group,.mb-3{position:relative}.form-control,.form-select,input:not([type=checkbox]):not([type=radio]),select,textarea{border-radius:12px!important;border-color:#dde4ec!important;background:#fbfcfe!important}.form-control:focus,.form-select:focus,input:focus,select:focus,textarea:focus{background:#fff!important}
.form-section-title{font-size:12px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.7px;margin:18px 0 10px;padding-bottom:8px;border-bottom:1px solid #eef2f6}

/* Desktop tables */
.table-responsive{border:0!important;border-radius:15px!important;box-shadow:inset 0 0 0 1px #edf0f4}.table-responsive table{min-width:820px!important}
table thead th,.table thead th{background:#f7f9fc!important;border-bottom:1px solid #e7ebf0!important;color:#64748b!important;font-size:10.5px!important;padding:12px!important}
table td,.table td{padding:13px 12px!important}.table tbody tr:hover td,table tbody tr:hover td{background:#f9fcfb!important}
.badge,.status-badge{border-radius:999px!important;padding:6px 9px!important;font-weight:650!important}

/* mobile bottom app navigation */
.mobile-bottom-nav{position:fixed;z-index:1000;left:8px;right:8px;bottom:8px;height:62px;border:1px solid rgba(226,232,240,.9);background:rgba(255,255,255,.94);backdrop-filter:blur(16px);border-radius:18px;box-shadow:0 14px 35px rgba(15,23,42,.15);display:flex;align-items:center;justify-content:space-around;padding:5px 4px calc(5px + env(safe-area-inset-bottom))}
.mobile-bottom-nav a,.mobile-bottom-nav button{flex:1;height:50px!important;min-height:50px!important;border:0!important;background:transparent!important;color:#8491a3!important;text-decoration:none;display:flex!important;flex-direction:column;align-items:center;justify-content:center!important;gap:3px!important;font-size:9px!important;font-weight:600!important;padding:0!important;border-radius:12px!important}
.mobile-bottom-nav i{font-size:16px}.mobile-bottom-nav .active{color:var(--crm-primary)!important;background:var(--crm-primary-soft)!important}.mobile-more{cursor:pointer}

/* Modal feels like bottom sheet on phone */
.modal-content{overflow:hidden!important}.modal-header{background:#fbfcfd!important}.modal-header .close,.modal-header .btn-close{border-radius:9px!important}

/* card-table mobile mode generated by JS data labels */
@media(max-width:720px){
  .content,.customer-section{padding:10px!important}.customer-card{padding:10px!important}.page-hero{align-items:flex-start}.page-hero h1{font-size:19px}.page-hero p{font-size:11px}
  .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}.stat-card{min-height:126px!important;padding:14px!important}.stat-card i{width:36px;height:36px;margin-bottom:13px!important}.stat-card h3{font-size:25px!important}.stat-card p{font-size:11px!important}
  .charts-grid{grid-template-columns:1fr!important}.chart-box{padding:14px!important}
  .customer-toolbar,.toolbar,.filter-row,.filters{display:flex!important;flex-wrap:wrap!important}.search-box{width:100%!important;flex:1 1 100%!important}.customer-toolbar>.btn,.toolbar>.btn{min-width:44px}
  .table-responsive.mobile-cards{overflow:visible!important;box-shadow:none!important;background:transparent!important}.table-responsive.mobile-cards table{min-width:0!important;width:100%!important;display:block!important}.table-responsive.mobile-cards thead{display:none!important}.table-responsive.mobile-cards tbody{display:grid!important;gap:10px!important}.table-responsive.mobile-cards tr{display:block!important;background:#fff!important;border:1px solid #e7ecf2!important;border-radius:16px!important;padding:7px 10px!important;box-shadow:0 7px 20px rgba(15,23,42,.045)!important}.table-responsive.mobile-cards tr:has(td[colspan]){padding:16px!important}.table-responsive.mobile-cards td{display:grid!important;grid-template-columns:minmax(95px,38%) 1fr!important;gap:10px!important;align-items:center!important;padding:8px 3px!important;border-bottom:1px dashed #edf0f4!important;white-space:normal!important;background:transparent!important;font-size:12px!important;min-height:34px}.table-responsive.mobile-cards td:last-child{border-bottom:0!important}.table-responsive.mobile-cards td::before{content:attr(data-label);font-size:9.5px;font-weight:700;color:#8894a4;text-transform:uppercase;letter-spacing:.3px}.table-responsive.mobile-cards td[data-label=""],.table-responsive.mobile-cards td[colspan]{grid-template-columns:1fr!important}.table-responsive.mobile-cards td[colspan]::before,.table-responsive.mobile-cards td[data-label=""]::before{display:none}.table-responsive.mobile-cards td .btn,.table-responsive.mobile-cards td button{margin:2px!important;min-height:34px!important;font-size:11px!important}
  .modal{padding:0!important}.modal-dialog{margin:auto 0 0!important;min-height:100dvh!important;display:flex!important;align-items:flex-end!important}.modal-content{border-radius:22px 22px 0 0!important;max-height:90dvh!important}.modal-body{overflow:auto!important}
}

@media(min-width:721px){body{padding-bottom:0!important}.mobile-bottom-nav{display:none!important}}
@media(min-width:992px){.sidebar{box-shadow:10px 0 35px rgba(17,28,48,.07)!important}.content{padding:26px!important}.customer-section{padding:24px!important}.header{padding-inline:26px!important}.stat-card:hover{transform:translateY(-2px)!important;box-shadow:0 14px 34px rgba(18,32,51,.085)!important}}
@media print{body{padding-bottom:0!important;background:#fff!important}.mobile-bottom-nav,.sidebar-profile{display:none!important}}

/* Standalone create/edit pages */
.page-card{max-width:980px;margin:18px auto;padding:18px;background:#fff;border:0!important;border-radius:22px!important;box-shadow:var(--crm-shadow)!important}
.page-card>.page-title{padding-bottom:14px;margin-bottom:18px!important;border-bottom:1px solid #eef1f5}.page-card>.page-title h2{display:flex;align-items:center;gap:10px}.page-card>.page-title h2 i{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:var(--crm-primary-soft);color:var(--crm-primary);font-size:15px}.back-btn{min-height:38px;padding:8px 12px;border-radius:11px;background:#f2f5f8;color:#526071!important;text-decoration:none;font-size:12px;font-weight:600;display:inline-flex;align-items:center;gap:7px}.save-btn{min-height:46px;padding:10px 18px;border:0;border-radius:12px;background:linear-gradient(135deg,#176b63,#1e8d80);color:#fff;font-weight:650;box-shadow:0 8px 20px rgba(23,107,99,.16)}

/* Login — simple premium mobile app gateway */
body:has(.login-wrapper){padding-bottom:0!important;min-height:100dvh;display:grid;place-items:center;background:linear-gradient(145deg,#edf8f6 0%,#f6f8fc 45%,#eef2ff 100%)!important;position:relative}
body:has(.login-wrapper)::before{content:"";position:fixed;inset:0;background:radial-gradient(circle at 12% 10%,rgba(32,169,151,.16),transparent 22rem),radial-gradient(circle at 90% 90%,rgba(88,101,242,.11),transparent 25rem);pointer-events:none}
.login-wrapper{width:100%!important;min-height:auto!important;padding:18px!important;background:transparent!important;position:relative!important;z-index:1}.login-box{width:min(100%,430px)!important;margin:auto!important;padding:28px 24px!important;border:1px solid rgba(226,232,240,.85)!important;border-radius:26px!important;background:rgba(255,255,255,.92)!important;box-shadow:0 24px 60px rgba(20,32,51,.10)!important;backdrop-filter:blur(12px)}
.login-title img{width:72px!important;height:72px!important;object-fit:contain!important;background:#fff!important;border:1px solid #edf0f4;padding:7px!important;border-radius:20px!important;box-shadow:0 8px 24px rgba(20,32,51,.08)!important}.login-title h2{margin-top:16px!important;font-size:25px!important;letter-spacing:-.5px;color:#152136!important}.login-title p{color:#7b8798!important;font-size:13px!important}.input-group{position:relative!important;margin-bottom:13px!important}.input-group input{height:50px!important;background:#f8fafc!important;border:1px solid #dfe6ed!important;border-radius:13px!important;padding-left:46px!important}.input-group>i:first-child{color:#7d8a9a!important}.toggle-password{color:#718096!important}.options{font-size:12px!important;color:#667085!important}.options a{color:var(--crm-primary)!important;font-weight:600}.login-btn{height:50px!important;border-radius:13px!important;background:linear-gradient(135deg,#176b63,#1f9384)!important;box-shadow:0 10px 25px rgba(23,107,99,.18)!important;margin-bottom:18px!important}.login-btn:hover{transform:none!important;background:linear-gradient(135deg,#145f58,#197e73)!important}.quick-access{gap:9px!important;margin-bottom:22px!important}.quick-card{border:1px solid #e9edf2!important;border-radius:14px!important;padding:11px 7px!important;background:#fbfcfd!important}.quick-card:hover{transform:none!important;background:var(--crm-primary-soft)!important;border-color:#cdebe5!important}.quick-card i{color:var(--crm-primary)!important;font-size:19px!important}.quick-card h6{font-size:11px!important;color:#526071!important}.footer-text{font-size:10.5px!important;color:#98a2b3!important}.footer-text a{color:#5e6b7b!important;text-decoration:none!important}

@media(max-width:720px){.page-card{margin:10px;padding:14px;border-radius:18px!important}.page-card>.page-title{align-items:center!important}.login-box{padding:24px 18px!important;border-radius:22px!important}.login-wrapper{padding:12px!important}}


/* ===== CRM App UI v3: Customers / Leads / Contracts ===== */
.app-list-toolbar{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;margin-bottom:14px!important;padding:0!important;background:transparent!important}
.app-search-form{display:flex;align-items:center;gap:8px;flex:1;max-width:680px;margin:0}
.app-search-input{position:relative;display:flex;align-items:center;flex:1;min-width:0;background:#f7f9fc;border:1px solid #e2e8f0;border-radius:14px;transition:.2s ease}
.app-search-input:focus-within{background:#fff;border-color:#80bcb5;box-shadow:0 0 0 3px rgba(23,107,99,.08)}
.app-search-input>i{position:absolute;left:14px;color:#94a3b8;font-size:14px;pointer-events:none}
.app-search-input input{width:100%;height:46px!important;border:0!important;outline:0!important;background:transparent!important;padding:0 42px!important;font-size:13px!important;color:#172033!important;box-shadow:none!important}
.app-search-input input::placeholder{color:#94a3b8}.search-clear{position:absolute;right:7px;width:32px;height:32px;border-radius:9px;display:grid;place-items:center;color:#64748b;text-decoration:none;background:#edf2f7}.search-clear:hover{background:#e2e8f0;color:#172033}
.app-search-btn{height:46px!important;padding:0 17px!important;border:0!important;background:#22324a!important;color:#fff!important;border-radius:13px!important;display:inline-flex!important;align-items:center;gap:7px;font-weight:600!important}
.app-toolbar-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.app-icon-btn{height:42px;min-width:42px;padding:0 12px;border-radius:12px;border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:7px;text-decoration:none;font-size:12px;font-weight:700;cursor:pointer;transition:.18s ease;box-shadow:none!important}
.app-icon-btn.add{background:#176b63;color:#fff;border-color:#176b63}.app-icon-btn.print{background:#fff;color:#475569;border-color:#dce4ec}.app-icon-btn.delete{background:#fff1f2;color:#c43d50;border-color:#fecdd3}.app-icon-btn:hover{transform:translateY(-1px)}
.selection-action-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:4px 0 12px;padding:9px 10px 9px 13px;background:#f8fafc;border:1px solid #e7edf3;border-radius:14px}.selection-info{display:flex;align-items:center;gap:8px;color:#7b8797;font-size:11px;font-weight:600}.selection-info i{color:#94a3b8}
.app-record-table{border-radius:16px;overflow:auto;border:1px solid #e8edf3;background:#fff}.app-record-table table{margin:0!important}
.record-action-cell{text-align:center}.row-actions{display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap}.row-action{width:34px;height:34px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none!important;border:1px solid #e5eaf0;background:#fff;color:#526175;transition:.18s ease}.row-action:hover{transform:translateY(-1px);box-shadow:0 5px 12px rgba(15,23,42,.07)}.row-action.edit{color:#176b63;background:#edf8f6;border-color:#d4eee9}.row-action.view{color:#315c9a;background:#eff5ff;border-color:#dce8fb}.row-action.print{color:#6b5a25;background:#fff9e9;border-color:#f4e8bb}.row-action.contract{color:#7048a2;background:#f6f0fb;border-color:#e8dbf4}.row-action.quote{color:#9a5a31;background:#fff5ee;border-color:#f6dfcf}
.page-action-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:18px}.page-action-header h3{margin:0;color:#172033;font-size:22px;font-weight:750}.page-action-header h3 i{color:#176b63;margin-right:7px}.page-action-header p{margin:4px 0 0;color:#8a95a5;font-size:12px}.contract-toolbar{margin-top:4px!important}.record-actions-cell{min-width:130px}

@media(max-width:720px){
  .customer-section{padding:10px!important}.customer-card{padding:11px!important;border-radius:18px!important}
  .app-list-toolbar{align-items:stretch!important;flex-direction:column!important;gap:9px!important;margin-bottom:10px!important}
  .app-search-form{width:100%;max-width:none;display:grid;grid-template-columns:minmax(0,1fr) 46px;gap:7px}
  .app-search-input input{height:44px!important;padding-left:39px!important;font-size:12px!important}.app-search-input>i{left:13px}.app-search-btn{width:46px!important;height:44px!important;padding:0!important;justify-content:center!important;border-radius:12px!important}.app-search-btn span{display:none}
  .app-toolbar-actions{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.app-icon-btn{width:100%;height:40px;min-width:0}.selection-action-bar{margin:0 0 10px;padding:7px 8px 7px 11px}.selection-info span{font-size:10px}.selection-action-bar .app-icon-btn{width:auto;padding-inline:11px}
  .app-record-table{overflow:visible!important;border:0!important;background:transparent!important}.app-record-table.mobile-cards{overflow:visible!important}
  .app-record-table.mobile-cards tbody{gap:11px!important}.app-record-table.mobile-cards tr{border-radius:17px!important;padding:6px 10px!important;box-shadow:0 5px 18px rgba(15,23,42,.045)!important}
  .app-record-table.mobile-cards td{grid-template-columns:minmax(92px,34%) 1fr!important;padding:8px 2px!important;gap:8px!important}.app-record-table.mobile-cards td::before{font-size:9px!important}
  .app-record-table.mobile-cards td.record-actions-cell{grid-template-columns:1fr!important;padding-top:10px!important}.app-record-table.mobile-cards td.record-actions-cell::before{content:'Actions';margin-bottom:3px}.app-record-table.mobile-cards td.record-action-cell{grid-template-columns:minmax(92px,34%) 1fr!important}
  .row-actions{justify-content:flex-end}.row-action{width:36px;height:36px}.record-action-cell .row-action{margin-left:auto}
  .page-action-header{align-items:center;margin-bottom:14px}.page-action-header h3{font-size:18px}.page-action-header p{font-size:10px}.page-action-header .app-toolbar-actions{width:auto;display:flex}.page-action-header .app-icon-btn{width:42px;padding:0}.page-action-header .app-icon-btn span{display:none}
  .page-contract .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}.page-contract .stat-card:last-child{grid-column:1/-1}.page-contract .stat-card{padding:13px!important;min-height:92px!important}.page-contract .stat-card h3{font-size:17px!important}.page-contract .stat-card p{font-size:9.5px!important}
}
@media print{.app-search-form,.app-toolbar-actions,.selection-action-bar,.mobile-bottom-nav,.header,.sidebar,.overlay{display:none!important}.main{margin-left:0!important}.customer-section,.content{padding:0!important}.customer-card,.table-box{box-shadow:none!important;border:0!important}}

/* ================= Service screens v4 ================= */
.service-page-title{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;margin-bottom:14px!important}
.service-page-title h2{margin:0!important;font-size:20px!important;color:#172033!important;display:flex!important;align-items:center!important;gap:9px!important}
.service-page-title h2 i{color:var(--crm-primary)!important;font-size:18px!important}
.service-icon-btn{width:42px!important;min-width:42px!important;height:42px!important;padding:0!important;border-radius:12px!important}
.service-search-box{margin:0 0 14px!important}
.service-search-form{display:flex!important;align-items:center!important;gap:8px!important;width:100%!important}
.service-search-input{position:relative!important;flex:1 1 auto!important;min-width:0!important}
.service-search-input>i{position:absolute!important;left:14px!important;top:50%!important;transform:translateY(-50%)!important;color:#8a95a5!important;z-index:2!important;font-size:14px!important}
.service-search-input input{width:100%!important;height:44px!important;border:1px solid #dde5ec!important;border-radius:13px!important;padding:0 13px 0 40px!important;background:#fff!important;color:#172033!important;font-size:13px!important;outline:0!important;box-shadow:none!important}
.service-search-input input:focus{border-color:#8bc5bc!important;box-shadow:0 0 0 3px rgba(23,107,99,.09)!important}
.service-list-card{margin-top:0!important;padding:12px!important;border-radius:17px!important;border:1px solid #e8edf2!important;box-shadow:0 5px 20px rgba(15,23,42,.035)!important}
.service-row-actions{display:flex!important;align-items:center!important;gap:7px!important;flex-wrap:nowrap!important}
.service-action-btn{width:36px!important;height:36px!important;min-width:36px!important;border-radius:10px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;border:1px solid transparent!important;text-decoration:none!important;cursor:pointer!important;font-size:13px!important;padding:0!important;box-shadow:none!important}
.service-action-btn.complete{background:#e9f8f2!important;color:#14785f!important;border-color:#c9eee2!important}
.service-action-btn.assign{background:#eef4ff!important;color:#3e67b1!important;border-color:#d6e3fb!important}
.service-action-btn:hover{transform:translateY(-1px)!important}
.page-pending_services .header-eyebrow,.page-upcomming_services .header-eyebrow,.page-completed_services .header-eyebrow{display:none!important}

@media(max-width:720px){
  .page-pending_services .content,.page-upcomming_services .content,.page-completed_services .content{padding:12px 12px 84px!important}
  .service-page-title{margin-bottom:10px!important}.service-page-title h2{font-size:17px!important}.service-page-title .service-icon-btn{width:40px!important;height:40px!important;min-width:40px!important}
  .service-search-form{gap:6px!important}.service-search-input input{height:42px!important;font-size:12px!important}.service-search-form>.service-icon-btn{width:40px!important;height:42px!important;min-width:40px!important;border-radius:11px!important}
  .service-list-card{padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
  .service-list-card .table-responsive.mobile-cards{box-shadow:none!important}
  .service-list-card .table-responsive.mobile-cards tr{padding:8px 11px!important;border-radius:16px!important}
  .service-list-card .table-responsive.mobile-cards td{grid-template-columns:minmax(88px,32%) 1fr!important;padding:7px 2px!important;min-height:32px!important}
  .service-list-card .table-responsive.mobile-cards td:last-child{grid-template-columns:minmax(88px,32%) 1fr!important}
  .service-list-card .table-responsive.mobile-cards td:last-child .service-row-actions{justify-content:flex-start!important}
  .service-action-btn{width:34px!important;height:34px!important;min-width:34px!important}
  .page-pending_services .page-title,.page-upcomming_services .page-title{padding:0!important}
}
.service-search-form>.service-icon-btn.print{background:#fff!important;color:#176b63!important;border-color:#cfe3df!important}
.page-pending_services .pagination a[aria-label],.page-upcomming_services .pagination a[aria-label],.page-completed_services .pagination a[aria-label]{width:38px!important;height:38px!important;padding:0!important;display:inline-flex!important;align-items:center!important;justify-content:center!important}
@media(max-width:720px){
  .page-pending_services .header-title-wrap h2,.page-upcomming_services .header-title-wrap h2,.page-completed_services .header-title-wrap h2{font-size:17px!important}
  .page-pending_services .header,.page-upcomming_services .header,.page-completed_services .header{min-height:60px!important;padding:9px 12px!important}
}


/* ================= Master + modal polish v5 ================= */
/* High-contrast, touch-friendly close button for every modal type */
.modal-header{position:relative!important;padding-right:58px!important}
.close-btn,.modal .btn-close,.btn-close{
  appearance:none!important;-webkit-appearance:none!important;
  position:absolute!important;right:12px!important;top:50%!important;transform:translateY(-50%)!important;
  width:38px!important;height:38px!important;min-width:38px!important;padding:0!important;margin:0!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  border:1px solid #d8e0e8!important;border-radius:11px!important;background:#f8fafc!important;
  color:#253247!important;opacity:1!important;cursor:pointer!important;z-index:25!important;
  font-size:18px!important;line-height:1!important;box-shadow:none!important;background-image:none!important;
}
.close-btn i{pointer-events:none!important;color:inherit!important;font-size:16px!important}
.close-btn:hover,.modal .btn-close:hover,.btn-close:hover{background:#eef2f6!important;color:#b42335!important;border-color:#ccd5df!important;opacity:1!important}
.modal-header.bg-primary .btn-close,.modal-header.bg-success .btn-close,.modal-header.bg-danger .btn-close,
.modal-header[style*="background"] .close-btn{background:#fff!important;color:#263348!important;border-color:rgba(255,255,255,.7)!important}

.page-master .header-eyebrow{display:none!important}
.master-app-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 12px}
.master-app-tabs .master-btn{min-width:0;height:48px;border:1px solid #dfe6ed;border-radius:13px;background:#fff;color:#657286;padding:0 12px;display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px;font-weight:700;box-shadow:none;cursor:pointer}
.master-app-tabs .master-btn i{font-size:14px;color:#6f7e90}.master-app-tabs .master-btn.active{background:#eaf6f3!important;border-color:#cbe8e2!important;color:#176b63!important}.master-app-tabs .master-btn.active i{color:#176b63!important}
.master-list-card{padding:12px!important}.master-list-card .table-responsive{border-radius:14px!important}
.master-list-card .row-action.delete,.row-action.delete{color:#bd3347!important;background:#fff1f3!important;border-color:#ffd5dc!important}
.master-list-card .row-actions{justify-content:flex-end!important}

/* User search and credential fields */
.employee-search-box{margin-bottom:14px!important}
.app-input-icon{position:relative;display:flex;align-items:center;width:100%}
.app-input-icon>i{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#8794a5;font-size:13px;z-index:2;pointer-events:none}
.app-input-icon .form-control{padding-left:40px!important;min-height:44px!important}
.app-password-field .form-control{padding-right:48px!important}
.password-toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:34px;height:34px;border:0;border-radius:9px;background:transparent;color:#738195;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;z-index:3}
.password-toggle:hover{background:#f1f5f9;color:#176b63}.field-help{display:block;margin-top:6px;color:#8a95a5;font-size:10px}

@media(max-width:720px){
  .page-master .content,.page-employees .content{padding:12px 12px 84px!important}
  .master-page-title{margin-bottom:10px!important}
  .master-app-tabs{gap:6px;margin-bottom:10px}
  .master-app-tabs .master-btn{height:46px;padding:0;font-size:0;border-radius:12px}
  .master-app-tabs .master-btn i{font-size:16px}.master-app-tabs .master-btn span{display:none}
  .master-search-box{margin-bottom:10px!important}.master-list-card{padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
  .master-list-card .table-responsive.mobile-cards{border:0!important;background:transparent!important;overflow:visible!important}
  .master-list-card .table-responsive.mobile-cards tr{border-radius:16px!important;padding:7px 11px!important}
  .master-list-card .table-responsive.mobile-cards td{grid-template-columns:minmax(88px,32%) 1fr!important;padding:7px 2px!important}
  .master-list-card .table-responsive.mobile-cards td:last-child .row-actions{justify-content:flex-start!important}
  .page-employees .table-box{padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
  .page-employees .table-responsive.mobile-cards{border:0!important;background:transparent!important;overflow:visible!important}
  .page-employees .table-responsive.mobile-cards tr{border-radius:16px!important;padding:7px 11px!important}
  .page-employees .table-responsive.mobile-cards td{grid-template-columns:minmax(88px,32%) 1fr!important;padding:7px 2px!important}
  .modal-box,.modal-dialog{width:calc(100% - 20px)!important;max-width:calc(100% - 20px)!important;margin:10px auto!important}
  .modal-body{padding:16px!important}.modal-header{padding:13px 58px 13px 16px!important}.close-btn,.modal .btn-close,.btn-close{width:40px!important;height:40px!important;right:9px!important}
}
