.cust-badge{display:inline-flex;
align-items:center;
padding:0.15rem 0.55rem;
border-radius:var(--radius-pill);
font-size:var(--font-2xs);
font-weight:600;
letter-spacing:0.02em;
white-space:nowrap;}
.cust-badge-regular{background:var(--brand-secondary);
color:var(--color-accent);}
.cust-badge-high-risk{background:var(--state-error-bg);
color:var(--state-error);}
.cust-m-section{display:flex;
flex-direction:column;
gap:var(--space-4);
padding-bottom:var(--space-4);
border-bottom:1px solid var(--border-subtle);
min-width:0;}
.cust-m-section-last,
.cust-m-section:last-of-type{border-bottom:none;
padding-bottom:0;}
.cust-m-section-title{display:flex;
align-items:center;
gap:var(--space-2);
font-size:var(--font-xs);
font-weight:600;
text-transform:uppercase;
letter-spacing:0.06em;
color:var(--text-muted);
margin:0;
line-height:1;}
.cust-m-section-count{font-size:var(--font-2xs);
font-weight:500;
padding:0.1rem 0.4rem;
border-radius:var(--radius-pill);
background:var(--hover-bg-subtle);
color:var(--text-muted);}
.cust-m-detail-grid{display:grid;
grid-template-columns:1fr 1fr;
gap:var(--space-3);}
.cust-m-stat{display:flex;
align-items:flex-start;
gap:0.625rem;}
.cust-m-stat-full{grid-column:1 / -1;}
.cust-m-stat-icon{display:flex;
align-items:center;
justify-content:center;
width:2rem;
height:2rem;
border-radius:var(--radius-sm);
background:var(--hover-bg-subtle);
color:var(--text-muted);
flex-shrink:0;
margin-top:0.1rem;}
.cust-m-stat-content{display:flex;
flex-direction:column;
gap:0.125rem;
min-width:0;}
.cust-m-stat-label{font-size:var(--font-2xs);
font-weight:600;
text-transform:uppercase;
letter-spacing:0.06em;
color:var(--text-muted);}
.cust-m-stat-value{font-size:var(--font-base);
color:var(--text);
word-break:break-word;}
.cust-m-flags-row{display:flex;
gap:0.375rem;
align-items:center;
flex-wrap:wrap;}
.cust-m-no-flags{font-size:var(--font-sm);
color:var(--text-muted);
font-style:italic;}
.customer-notes{padding:var(--space-3);
border-radius:var(--radius-md);
background:var(--input-bg);
color:var(--text-muted);
font-size:var(--font-base);
line-height:1.55;
white-space:pre-wrap;
min-height:2.5rem;
border:1px solid var(--border-subtle);}
.customer-form-flags{display:flex;
gap:var(--space-5);
align-items:center;}
.cust-appt-group-label{font-size:var(--font-xs);
font-weight:600;
color:var(--text-muted);
text-transform:uppercase;
letter-spacing:0.05em;
display:block;
margin:var(--space-2) 0 var(--space-1);}
.cust-appt-group-label:first-child{margin-top:0;}
.cust-appt-row{display:flex;
align-items:center;
gap:var(--space-2);
padding:0.375rem 0;
border-bottom:1px solid var(--border-subtle);
font-size:var(--font-base);}
.cust-appt-row:last-child{border-bottom:none;}
.cust-appt-date{color:var(--text-muted);
min-width:6.5rem;}
.cust-appt-time{color:var(--text-muted);
min-width:3.5rem;}
.cust-appt-service{flex:1;
color:var(--text);
font-weight:500;}
.cust-appt-status{font-size:var(--font-2xs);
font-weight:600;
padding:0.15rem 0.5rem;
border-radius:var(--radius-pill);
text-transform:capitalize;}
.cust-appt-empty{color:var(--text-muted);
font-size:var(--font-base);
margin:0;}
.cust-appt-more{color:var(--text-muted);
font-size:var(--font-xs);
margin:var(--space-2) 0 0;}
.cust-appt-pagination{display:flex;
align-items:center;
justify-content:center;
gap:var(--space-3);
margin-top:var(--space-3);}
.cust-appt-page-btn{display:inline-flex;
align-items:center;
justify-content:center;
width:2rem;
height:2rem;
border-radius:var(--radius-md);
border:1px solid var(--card-border);
background:var(--card-bg);
color:var(--text);
font-size:var(--font-base);
cursor:pointer;
transition:background 150ms ease, border-color 150ms ease;}
.cust-appt-page-btn:hover:not(:disabled){background:var(--brand-hover);
border-color:var(--brand-primary);}
.cust-appt-page-btn:disabled{opacity:0.35;
cursor:not-allowed;}
.cust-appt-page-info{font-size:var(--font-xs);
color:var(--text-muted);
min-width:4rem;
text-align:center;}
.cust-notes-list{display:flex;
flex-direction:column;
gap:var(--space-2);
margin-bottom:var(--space-3);
min-width:0;}
.cust-note-card{background:var(--glass-bg);
border:1px solid var(--border-subtle);
border-radius:var(--radius-md);
padding:var(--space-3);
position:relative;
transition:border-color 0.15s ease, box-shadow 0.15s ease;
min-width:0;
overflow:hidden;}
.cust-note-card:hover{border-color:var(--border);
box-shadow:0 1px 4px rgba(0, 0, 0, 0.06);}
.cust-note-header{display:flex;
align-items:center;
justify-content:space-between;
gap:var(--space-2);
margin-bottom:var(--space-2);}
.cust-note-service{display:inline-flex;
align-items:center;
gap:var(--space-2);
font-size:var(--font-base);
font-weight:700;
color:var(--text);
letter-spacing:-0.01em;
line-height:1.3;
min-width:0;}
.cust-note-service svg{width:16px;
height:16px;
color:var(--brand-primary);
opacity:1;
flex-shrink:0;}
.cust-note-actions{display:flex;
gap:0.25rem;
opacity:0;
transition:opacity 0.15s ease;}
.cust-note-card:hover .cust-note-actions{opacity:1;}
.cust-note-card--editing{border-color:var(--brand-primary);
box-shadow:0 0 0 1px color-mix(in srgb, var(--brand-primary) 20%, transparent);}
.cust-note-inline-edit{display:flex;
flex-direction:column;
gap:var(--space-2);}
.cust-note-inline-edit textarea{width:100%;
min-height:3rem;
resize:vertical;
font-size:var(--font-sm);}
.cust-note-inline-actions{display:flex;
gap:var(--space-2);
justify-content:flex-end;}
.cust-note-actions .tm-btn{padding:0.15rem 0.4rem;
font-size:0.65rem;}
.cust-note-body{font-size:var(--font-sm);
color:var(--text);
margin:0;
line-height:1.55;
white-space:pre-wrap;
word-break:break-word;
overflow-wrap:break-word;}
.cust-note-meta{display:flex;
align-items:center;
gap:var(--space-2);
margin-top:var(--space-2);
font-size:0.65rem;
color:var(--text-muted);}
.cust-note-form{margin-top:var(--space-3);
padding-top:var(--space-3);
border-top:1px solid var(--border-subtle);
display:flex;
flex-direction:column;
gap:var(--space-2);}
.cust-note-form-row{display:flex;
gap:var(--space-2);
align-items:flex-start;}
.cust-note-form-service{flex-shrink:0;
width:10rem;}
.cust-note-form-body{flex:1;
min-width:0;}
.cust-note-form-body textarea{width:100%;
min-height:2.5rem;
resize:vertical;
font-size:var(--font-sm);}
.cust-note-form-actions{display:flex;
gap:var(--space-2);
justify-content:flex-end;}
.cust-notes-empty{display:flex;
flex-direction:column;
align-items:center;
gap:var(--space-2);
padding:var(--space-4) var(--space-3);
color:var(--text-muted);
font-size:var(--font-sm);
text-align:center;}
.cust-notes-empty svg{width:28px;
height:28px;
opacity:0.3;}
.cust-packages-list{display:flex;
flex-direction:column;
gap:var(--space-2);}
.cust-pkg-card{background:var(--glass-bg);
border:1px solid var(--border-subtle);
border-radius:var(--radius-md);
padding:var(--space-3);
transition:opacity 0.15s ease;}
.cust-pkg-card--inactive{opacity:0.55;}
.cust-pkg-header{display:flex;
justify-content:space-between;
align-items:center;
gap:var(--space-2);}
.cust-pkg-name{font-weight:600;
font-size:var(--font-sm);
color:var(--text);}
.cust-pkg-service{font-size:var(--font-xs);
color:var(--text-secondary);
margin-top:var(--space-1);}
.cust-pkg-progress-row{display:flex;
align-items:center;
gap:var(--space-2);
margin-top:var(--space-2);}
.cust-pkg-progress-bar{flex:1;
height:6px;
background:var(--border-subtle);
border-radius:3px;
overflow:hidden;}
.cust-pkg-progress-fill{height:100%;
background:var(--brand-primary);
border-radius:3px;
transition:width 0.3s ease;}
.cust-pkg-progress-label{font-size:var(--font-xs);
color:var(--text-secondary);
white-space:nowrap;}
.cust-pkg-expiry{font-size:var(--font-xs);
color:var(--text-tertiary);
margin-top:var(--space-1);}
@media (max-width:600px){.cust-m-detail-grid{grid-template-columns:1fr;}
.cust-m-stat-full{grid-column:auto;}}
.dt-card-customer{display:flex;
flex-direction:column;
gap:0.5rem;}
.dt-card-customer-top{display:flex;
align-items:center;
gap:0.625rem;}
.dt-card-customer-info{flex:1;
min-width:0;
display:flex;
flex-direction:column;}
.dt-card-customer-name{font-weight:500;
font-size:0.875rem;
color:var(--text);
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis;}
.dt-card-customer-sub{font-size:0.75rem;
color:var(--text-muted);
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis;}
.dt-card-customer-meta{display:flex;
align-items:center;
justify-content:space-between;
gap:0.5rem;
padding-top:0.25rem;}