.admin-hero{background:linear-gradient(90deg,rgba(6,24,31,.93),rgba(6,24,31,.48)),url('/assets/IMG_2367.webp') center/cover}.admin-tile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:24px}.admin-tile{background:white;border:1px solid var(--portal-line);border-radius:14px;padding:25px;box-shadow:0 8px 28px rgba(20,48,58,.04)}.admin-wide{grid-column:1/-1}.admin-tile-head{display:flex;align-items:center;gap:15px;border-bottom:1px solid var(--portal-line);padding-bottom:17px;margin-bottom:18px}.admin-tile-icon{display:inline-flex;align-items:center;justify-content:center;width:45px;height:45px;flex:none;border-radius:10px;background:#dceff1;color:#176678;font-weight:800}.admin-tile h2{font-size:1.55rem;margin:3px 0 0}.admin-tile form{display:grid;gap:10px}.admin-tile input:not([type=checkbox]),.admin-tile select,.admin-tile textarea{width:100%;border:1px solid #9eb5bd;border-radius:7px;background:white;padding:10px 12px;font:inherit;min-height:43px;color:#172933}.admin-tile label{font-weight:700;font-size:.96rem}.admin-tile textarea{min-height:85px}.admin-tile .button{justify-self:start;cursor:pointer}.admin-filter{display:flex;align-items:center;gap:11px;max-width:280px;margin-bottom:16px}.admin-filter select{width:auto}.admin-appointment-list{display:grid;gap:13px}.admin-appointment-card{border:1px solid var(--portal-line);border-radius:10px;background:#f8fbfb;padding:18px}.admin-appointment-head{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.admin-appointment-head>div{display:grid;gap:5px}.admin-appointment-head strong{font-size:1.08rem}.admin-appointment-head span:not(.status-pill){color:#536973}.admin-appointment-card>p{margin:12px 0}.admin-appointment-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:17px 0}.admin-appointment-fields label{display:grid;gap:7px}.admin-appointment-fields small{font-size:.83rem;color:#536973;font-weight:400}.admin-appointment-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.admin-client-list{max-height:410px;overflow:auto;display:grid;gap:10px;margin-top:16px}.client-card{background:#f8fbfb}.client-controls{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:12px}.client-controls .portal-link{font-size:.88rem}.package-settings{display:grid;gap:10px;margin:18px 0}.package-row{display:grid;grid-template-columns:2fr 1fr auto auto;gap:8px;align-items:center;background:#f7fafb;padding:8px;border:1px solid var(--portal-line);border-radius:8px}.package-row label{display:flex;align-items:center;gap:4px;font-weight:400}.package-row input[type=checkbox]{width:17px;height:17px;accent-color:#176678}.inline-form{border-top:1px solid var(--portal-line);padding-top:20px}.price-list{border-top:1px solid var(--portal-line);margin-top:18px;padding-top:14px}.price-row{display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid var(--portal-line);padding:10px 0}.price-row span{font-weight:700}@media(max-width:900px){.admin-tile-grid{grid-template-columns:1fr}.admin-wide{grid-column:auto}}@media(max-width:620px){.admin-tile{padding:19px}.admin-appointment-fields,.client-controls{grid-template-columns:1fr}.package-row{grid-template-columns:1fr 1fr}.package-row input:first-child{grid-column:1/-1}.admin-appointment-actions .button{width:100%;text-align:center}}
.admin-appointment-contact{display:flex;flex-wrap:wrap;gap:7px 15px;font-size:.91rem}
.admin-appointment-contact a{color:#176678;font-weight:700}
.admin-create-client{border:1px solid #b8d1d5;border-radius:10px;background:#eaf4f5;padding:15px;margin-bottom:20px}
.admin-create-client summary,.client-details summary{cursor:pointer;font-weight:700;color:#165d6c;min-height:30px}
.admin-create-client form{margin-top:15px}
.admin-client-list{max-height:760px}
.client-card{min-width:0}
.client-card>strong,.client-card>small{overflow-wrap:anywhere}
.client-card>.portal-link{margin-top:6px}
.client-details{border-top:1px solid var(--portal-line);padding-top:12px;margin-top:13px}
.client-edit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:15px 0}
.client-edit-grid label,.client-vehicle-row label{display:grid;gap:5px;min-width:0}
.client-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:15px 0}
.client-vehicle-row{display:grid;grid-template-columns:1fr 1.4fr auto auto;align-items:end;gap:9px;border-top:1px solid var(--portal-line);padding:13px 0}
.client-vehicle-row .portal-link{min-height:43px}
.admin-tile .destructive{color:#a52828}
.admin-tile .destructive:hover{color:#791a1a}
.admin-tile button:disabled{opacity:.5;cursor:wait}
@media(max-width:620px){.client-edit-grid{grid-template-columns:1fr}.client-vehicle-row{grid-template-columns:1fr 1fr}.client-vehicle-row label{grid-column:1/-1}.client-vehicle-row .portal-link{text-align:left}}
.admin-view-nav{margin-bottom:20px}
.admin-dashboard .dashboard-bottom{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.admin-dashboard .admin-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:0}
.admin-dashboard .admin-stats>div{padding:14px 16px;background:#eaf4f5}
.admin-dashboard .admin-stats strong{font-size:1.6rem}
.admin-dashboard .dashboard-next h3 span{font-size:.78rem;background:#d9f3f5;color:#174a54;border-radius:50px;padding:4px 9px;vertical-align:middle;white-space:nowrap}
.admin-tile-grid{display:block;margin-top:0}
.admin-tile[data-admin-panel]{scroll-margin-top:85px}
.admin-tile[data-admin-panel]:not([hidden]){max-width:100%;margin:0}
@media(max-width:900px){.admin-dashboard .dashboard-bottom{grid-template-columns:1fr}}
@media(max-width:620px){.admin-dashboard .admin-stats>div{padding:12px}.admin-dashboard .admin-stats strong{font-size:1.4rem}.admin-view-nav{margin-bottom:15px}}
.admin-live{border:1px solid #b7d7d9;background:#ecf7f7;border-radius:11px;padding:17px;margin:17px 0}
.admin-live>strong{display:block;color:#155969;font-size:1.1rem}
.admin-live>p{margin:5px 0 13px;color:#536973}
.admin-live-row{display:flex;align-items:end;gap:12px;flex-wrap:wrap;border-top:1px solid #cee3e4;padding:12px 0 0;margin-top:10px}
.admin-live-row label{flex:1 1 230px;display:grid;gap:6px}
.admin-live-row select{max-width:360px}
.admin-live-row button{min-height:43px;cursor:pointer}
