.staff-app-shell {background:#f5f7fa;min-height:100vh;color:#172536;font-family:Arial,Helvetica,sans-serif;}
.staff-app-header {display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem 1.5rem;background:#192534;color:#fff;}
.staff-app-brand {display:flex;align-items:center;gap:.65rem;color:#fff;text-decoration:none;font-weight:700;}
.staff-app-brand img {width:42px;height:42px;object-fit:contain;}
.staff-account-links {display:flex;gap:1rem;align-items:center;flex-wrap:wrap;font-size:.875rem;}
.staff-account-links a {color:#fff;}
.staff-app-grid {display:grid;grid-template-columns:230px minmax(0,1fr);align-items:start;}
.staff-navigation {padding:1rem .75rem;position:sticky;top:0;max-height:100vh;overflow-y:auto;}
.staff-nav-disclosure>summary {font-weight:700;padding:.5rem;color:#24354c;}
.staff-navigation section {margin:.5rem 0 1rem;}
.staff-navigation h2 {font:700 .75rem Arial,Helvetica,sans-serif;text-transform:uppercase;letter-spacing:.05em;color:#536174;margin:.7rem .65rem .3rem;}
.staff-navigation a {display:block;padding:.55rem .7rem;color:#24354c;border-radius:.4rem;text-decoration:none;line-height:1.3;}
.staff-navigation a:hover,.staff-navigation a:focus-visible {background:#e4e9f0;outline-offset:2px;}
.staff-navigation a.active {background:#1d2c40;color:#fff;font-weight:700;}
.staff-page-area {min-width:0;border-left:1px solid #dce2ea;background:#fff;min-height:80vh;}
.staff-app-footer {padding:1rem 1.5rem;border-top:1px solid #dce2ea;color:#526174;font-size:.8rem;}
.staff-app-shell .admin-workspace-tools,.staff-app-shell .admin-section-nav {display:none;}
.staff-app-shell .admin-page {padding-top:1.5rem!important;}
.staff-shell .staff-site-header {position:relative;}
.staff-mobile-links {display:none;}
@media(max-width:991px){
 .staff-nav-disclosure:not([data-nav-ready]) nav {display:none;}
 .staff-app-grid {grid-template-columns:1fr;}
 .staff-navigation {position:relative;max-height:none;border-bottom:1px solid #dce2ea;padding:.5rem;}
 .staff-nav-disclosure:not([open])>summary {margin:0;}
 .staff-navigation nav {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;}
 .staff-page-area {border-left:0;}
 .staff-app-header {padding:.7rem 1rem;align-items:flex-start;}
 .staff-account-links {justify-content:flex-end;font-size:.75rem;gap:.5rem;}
 .staff-app-brand span {max-width:150px;}
 .staff-mobile-links {display:flex;gap:.5rem;padding:.4rem .75rem;background:#fff;border-bottom:1px solid #dce2ea;}
 .staff-mobile-links a {flex:1;text-align:center;padding:.5rem;color:#24354c;font-weight:700;text-decoration:none;}
}
@media(min-width:992px){.staff-nav-disclosure>summary {display:none;}}
.staff-app-grid:has(>.staff-page-area:only-child){grid-template-columns:minmax(0,1fr);}
/* Consistent staff business pages. */
.staff-app-shell .admin-section.business-panel{padding:0!important;border:0;background:transparent;box-shadow:none;}
.business-heading{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin:0 0 1.25rem;}
.business-heading h2{display:flex;align-items:center;gap:.6rem;margin:0 0 .4rem;font-size:1.65rem;}
.business-heading p:last-child{margin:0;color:#526174;font-size:.95rem;}
.business-count{padding:.2rem .55rem;border-radius:999px;background:#e4eaf2;color:#34455b;font-size:.85rem;}
.business-toolbar,.business-row-actions{display:flex;align-items:flex-start;gap:.5rem;flex-wrap:wrap;}
.business-toolbar{flex-shrink:0;}
.business-table{margin:0;background:#fff;border:1px solid #dce3ed;border-radius:12px;overflow:hidden;}
.business-table th{background:#edf2f8;color:#526174;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;padding:1rem;white-space:nowrap;}
.business-table td{padding:1rem;vertical-align:middle;font-size:.9rem;color:#34455b;}
.business-table tbody tr:last-child td{border-bottom:0;}
.business-table td:first-child{min-width:190px;}
.business-money{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600;}
.business-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .6rem;border:1px solid #dce3ed;border-radius:999px;font-size:.75rem;font-weight:600;white-space:nowrap;}
.business-badge-success{background:#edf8f2;color:#226347;border-color:#bfdccf;}
.business-badge-warning{background:#fff7e6;color:#845400;border-color:#edd4a5;}
.business-badge-neutral{background:#f4f6f9;color:#526174;}
.business-more-actions>summary{padding:.65rem .8rem;min-height:44px;border:1px solid #bcc8d8;border-radius:8px;font-size:.8rem;color:#465972;}
.business-more-actions>div{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem;}
.business-empty{padding:2rem;border:1px dashed #c6d0de;border-radius:12px;background:#fff;color:#526174;text-align:center;}
.business-editor{padding:1.5rem;margin-top:1.5rem;border:1px solid #dce3ed;border-radius:12px;background:#fff;}
.business-card-grid{display:grid;gap:1rem;}
.business-record-card{border:1px solid #dce3ed;border-radius:14px;background:#fff;overflow:hidden;box-shadow:0 3px 14px #17253605;}
.business-record-card>.card-body{padding:1.25rem;}
.business-record-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.9rem;}
.business-record-heading h3{font-size:1.15rem;font-weight:700;margin:0;overflow-wrap:anywhere;}
.business-contact,.business-address{color:#526174;font-size:.85rem;overflow-wrap:anywhere;margin:.35rem 0;}
.business-address{padding:.6rem .75rem;background:#f8fafc;border-radius:6px;}
.order-items{margin:1rem 0;padding-left:1.25rem;color:#34455b;font-size:.9rem;}
.order-items li{padding:.3rem 0;}
.order-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;padding:1rem;background:#f3f6fa;border-radius:8px;margin:1rem 0;}
.order-totals dt{color:#64748b;font-size:.75rem;font-weight:500;}
.order-totals dd{margin:.3rem 0 0;font-weight:700;color:#24354c;font-size:1rem;}
.order-status-editor{padding-top:1rem;border-top:1px solid #e3e8f0;}
.order-status-editor .form-label{font-size:.85rem;font-weight:600;}
.testimonial-rating{font-weight:700;font-size:1.6rem;color:#845400;}
.testimonial-rating span{font-size:.8rem;font-weight:400;color:#64748b;}
.testimonial-quote{font-size:1rem;line-height:1.7;padding:1rem 1.15rem;margin:0 0 1rem;background:#f8fafc;border-left:3px solid #b6c6dc;color:#34455b;white-space:pre-wrap;overflow-wrap:anywhere;}
.testimonial-card .admin-actions{padding-top:.75rem;border-top:1px solid #e3e8f0;}
.testimonial-card .admin-btn-danger{margin-left:auto;}
.feedback-empty-state{max-width:850px;margin:1.5rem auto;padding:2rem;border:1px solid #dce3ed;border-radius:16px;background:#fff;text-align:center;box-shadow:0 4px 20px #17253605;}
.feedback-empty-icon{width:64px;height:64px;margin:0 auto 1rem;display:grid;place-items:center;background:#f0f4fa;border-radius:50%;color:#315d94;font-size:2.25rem;}
.feedback-empty-state h2{font-size:1.65rem;margin:.25rem 0 .5rem;}
.feedback-empty-intro{color:#64748b;}
.feedback-empty-steps{counter-reset:feedback-step;list-style:none;padding:0;margin:1.5rem 0;text-align:left;display:grid;gap:1rem;}
.feedback-empty-steps li{counter-increment:feedback-step;position:relative;padding:1rem 1rem 1rem 3.5rem;background:#f8fafc;border-radius:9px;}
.feedback-empty-steps li::before{content:counter(feedback-step);position:absolute;left:1rem;top:1rem;border-radius:50%;background:#e5edf8;color:#315d94;width:26px;height:26px;display:grid;place-items:center;font-size:.8rem;font-weight:700;}
.feedback-empty-steps strong,.feedback-empty-steps span{display:block;}
.feedback-empty-steps strong{font-size:.95rem;color:#24354c;}
.feedback-empty-steps span{margin-top:.3rem;font-size:.85rem;color:#526174;line-height:1.6;overflow-wrap:anywhere;}
.feedback-empty-note{font-size:.8rem;color:#64748b;margin:0;}
.business-feedback-summary{border:1px solid #dce3ed;border-radius:10px;padding:1rem;background:#f8fafc;gap:1rem;margin:1rem 0;}
.feedback-admin-page .feedback-response{padding:1.25rem;margin-block:1rem;}
.settings-workspace{max-width:1200px;}
.settings-workspace .settings-form-controls>.admin-section{padding:1.5rem;margin:1.25rem 0;background:#fff;}
.settings-workspace .settings-form-controls>.admin-section>legend{float:none;width:auto;margin:0 0 .75rem;padding:0;font-size:1.15rem;font-weight:700;}
.settings-step{display:inline-grid;place-items:center;width:32px;height:32px;margin-right:.5rem;border-radius:8px;background:#eaf0f8;color:#315d94;font-size:.8rem;}
.settings-workspace .settings-days{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem;margin:1rem 0;}
.settings-workspace .settings-days label{display:flex;align-items:center;gap:.5rem;padding:.75rem;border:1px solid #dce3ed;border-radius:8px;min-height:46px;font-size:.85rem;cursor:pointer;}
.settings-workspace .settings-days label:has(input:checked){border-color:#aabfdc;background:#eef4fc;color:#243f64;}
.settings-workspace .settings-days input{width:17px;height:17px;accent-color:#315d94;}
.settings-workspace .form-label{font-size:.85rem;font-weight:600;}
.settings-workspace .field-help{color:#64748b;font-size:.8rem;line-height:1.5;margin-top:.5rem;}
.settings-save-bar{padding:1rem;border:1px solid #dce3ed;border-radius:10px;background:#eef3fa;}
.settings-save-history{padding:.75rem 1rem;border-left:3px solid #b8c8df;background:#f8fafc;color:#64748b;}
@media(min-width:1400px){.business-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;}}
@media(max-width:767px){
 .business-heading{align-items:flex-start;flex-direction:column;}
 .business-toolbar{width:100%;}.business-toolbar>.btn{flex:1;}
 .business-table,.business-table tbody{display:block;width:100%;}
 .business-table thead{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden;}
 .business-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;padding:1rem;border-bottom:1px solid #dce3ed;}
 .business-table td{display:block;border:0;padding:0;min-width:0!important;overflow-wrap:anywhere;}
 .business-table td::before{content:attr(data-label);display:block;font-size:.75rem;font-weight:600;color:#64748b;margin-bottom:.3rem;}
 .business-table td:first-child,.business-table td:last-child{grid-column:1/-1;}
 .business-record-heading{flex-wrap:wrap;}.business-record-card>.card-body,.business-editor{padding:1rem;}
 .feedback-empty-state{padding:1.25rem;}.settings-workspace .settings-days{grid-template-columns:repeat(2,minmax(0,1fr));}
 .settings-workspace .settings-form-controls>.admin-section{padding:1rem;}
}
.staff-app-shell .admin-section.appointments-panel {padding:0!important;border:0;background:transparent;box-shadow:none;}
.appointments-heading {display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;}
.appointments-heading h2 {display:flex;align-items:center;gap:.6rem;margin:0 0 .45rem;font-size:1.65rem;}
.appointments-heading p:last-child {margin:0;color:#526174;font-size:.95rem;}
.appointments-count {font-size:.85rem;padding:.25rem .55rem;background:#e4eaf2;border-radius:999px;color:#34455b;}
.appointments-overview {display:flex;align-items:center;gap:.7rem 1.5rem;flex-wrap:wrap;padding:.85rem 1rem;margin-bottom:1.25rem;border:1px solid #dce3ed;border-radius:10px;background:#f8fafc;color:#526174;font-size:.85rem;}
.appointments-overview strong {color:#24354c;margin-right:.25rem;}
.appointments-overview>span:last-child {margin-left:auto;font-size:.8rem;}
.appointment-list {display:grid;gap:1rem;}
@media(min-width:1400px){.appointment-list {grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;}}
.appointment-card {background:#fff;border:1px solid #dce3ed;border-radius:14px;box-shadow:0 3px 14px #17253605;overflow:hidden;}
.appointment-card-heading {display:grid;grid-template-columns:72px minmax(0,1fr) auto;align-items:start;gap:1rem;padding:1.25rem 1.25rem .75rem;}
.appointment-date {text-align:center;border:1px solid #dce3ed;border-radius:10px;background:#f4f7fb;padding:.5rem .35rem;color:#34455b;line-height:1.2;}
.appointment-date span {display:block;text-transform:uppercase;font-size:.75rem;font-weight:700;letter-spacing:.08em;}
.appointment-date strong {display:block;font-size:1.8rem;font-weight:700;margin:.15rem 0;}
.appointment-date small {font-size:.7rem;}
.appointment-identity {min-width:0;overflow-wrap:anywhere;}
.appointment-reference {color:#64748b;font-size:.75rem;margin:0 0 .25rem;}
.appointment-identity h3 {font-size:1.15rem;margin:0 0 .3rem;font-weight:700;}
.appointment-vehicle {margin:0 0 .3rem;color:#34455b;font-size:.95rem;}
.appointment-time {margin:0;color:#24354c;font-size:.85rem;font-weight:600;}
.appointment-time span {font-weight:400;color:#64748b;font-size:.75rem;}
.appointment-status {display:inline-flex;align-items:center;gap:.4rem;border:1px solid #dce3ed;border-radius:999px;padding:.3rem .7rem;font-size:.75rem;font-weight:700;white-space:nowrap;}
.appointment-status::before {content:'';width:6px;height:6px;border-radius:50%;background:currentColor;}
.appointment-status-pending {background:#fff7e6;color:#845400;border-color:#edd4a5;}
.appointment-status-confirmed {background:#edf8f2;color:#226347;border-color:#bfdccf;}
.appointment-status-cancelled {background:#fff2f2;color:#9a3939;border-color:#ebcccc;}
.appointment-status-neutral {background:#f4f6f9;color:#526174;}
.appointment-card-content {padding:0 1.25rem 1rem;}
.appointment-tags {display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.6rem;}
.appointment-tags span {padding:.2rem .5rem;border-radius:5px;background:#f0f4f9;color:#465972;font-size:.75rem;font-weight:600;}
.appointment-contact {display:flex;flex-wrap:wrap;gap:.3rem 1.25rem;margin-bottom:.6rem;font-size:.85rem;color:#526174;overflow-wrap:anywhere;}
.appointment-contact span {min-width:0;overflow-wrap:anywhere;}
.appointment-note-preview {display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:.5rem 0 .75rem;font-size:.9rem;line-height:1.5;color:#465569;white-space:pre-wrap;}
.appointment-consultation {padding:.65rem .8rem;margin:.75rem 0;border-left:3px solid #b8a4d8;background:#f8f5fc;border-radius:0 6px 6px 0;font-size:.8rem;color:#5d497b;}
.appointment-ticket-action {display:flex;justify-content:flex-end;margin-top:.75rem;}
.appointment-ticket-action .btn {font-size:.85rem;}
.appointment-card-content .alert {margin:1rem 0 0;}
.appointment-editor {border-top:1px solid #e3e8f0;}
.appointment-editor>summary {padding:.85rem 1.25rem;color:#344e70;font-size:.85rem;font-weight:600;min-height:48px;}
.appointment-editor[open]>summary {background:#f8fafc;}
.appointment-editor-body {padding:0 1.25rem 1.25rem;background:#f8fafc;border-top:1px solid #edf0f5;}
.appointment-editor-body>.row {padding-top:.35rem;}
.appointment-editor-body .form-label {font-size:.85rem;font-weight:600;}
.appointment-edit-actions {display:flex;align-items:center;flex-wrap:wrap;gap:.6rem;margin-top:1rem;}
.appointment-edit-actions>.admin-btn-danger {margin-left:auto;}
.appointment-draft-hint {font-size:.75rem;color:#64748b;}
.appointments-empty {padding:2rem;border:1px dashed #c6d0de;border-radius:12px;background:#fff;color:#526174;text-align:center;}
.appointments-empty p {margin:0;}
@media(max-width:575px){
 .appointments-heading {align-items:flex-start;flex-direction:column;}
 .appointments-heading>.btn {width:100%;}
 .appointments-overview {gap:.5rem 1rem;}
 .appointments-overview>span:last-child {margin-left:0;flex-basis:100%;}
 .appointment-card-heading {grid-template-columns:56px minmax(0,1fr);gap:.75rem;padding:1rem 1rem .75rem;}
 .appointment-date strong {font-size:1.5rem;}
 .appointment-status {grid-column:2;justify-self:start;}
 .appointment-card-content {padding:0 1rem 1rem;}
 .appointment-ticket-action>.btn {width:100%;white-space:normal;}
 .appointment-editor>summary {padding:.85rem 1rem;}
 .appointment-editor-body {padding:0 1rem 1rem;}
 .appointment-edit-actions>.btn {flex:1 1 140px;}
 .appointment-draft-hint {order:3;flex-basis:100%;}
}
.staff-app-shell {--staff-border:#dce3ed;--staff-muted:#526174;line-height:1.5;}
.staff-app-shell .admin-page {max-width:1680px;padding-inline:1.25rem;}
.staff-app-shell .admin-heading-signout {display:none;}
.staff-app-shell .admin-section {background:#fff;box-shadow:0 3px 16px #15253606;margin-block:1.25rem;}
.staff-app-shell .workspace-card,.staff-app-shell .service-line {border-color:var(--staff-border);border-radius:12px;}
.staff-app-shell h1,.staff-app-shell h2,.staff-app-shell h3 {color:#172536;line-height:1.25;}
.staff-app-shell h2 {font-size:1.4rem;}
.staff-app-shell .staff-navigation h2 {font-size:.75rem;line-height:1.4;color:var(--staff-muted);}
.staff-app-shell summary {cursor:pointer;font-weight:600;}
.staff-app-shell details.workspace-card>summary {padding:.35rem 0;}
.staff-app-shell details.workspace-card[open]>summary {margin-bottom:1rem;}
.staff-app-shell a:focus-visible,.staff-app-shell button:focus-visible,.staff-app-shell summary:focus-visible {outline:3px solid #ad6800;outline-offset:3px;}
.staff-app-shell .ticket-next-step {border-left:4px solid #315d94;background:#f5f8fc;margin-bottom:1rem;}
.staff-app-shell .ticket-next-step p {margin-top:.35rem;}
.staff-app-shell .ticket-detail-tabs {gap:.4rem;padding-block:.5rem;}
.staff-app-shell .ticket-detail-tab[aria-selected=true] {background:#1d2c40;color:#fff;border-color:#1d2c40;}
.staff-app-shell .cost-plan-summary {background:#f5f8fc;border:1px solid var(--staff-border);border-radius:10px;padding:1rem;}
.staff-app-shell .quote-handoff {margin-block:1rem;}
.staff-app-shell .today-ticket-overview {margin-top:1rem;}
.staff-app-shell .service-line,.staff-app-shell .ticket-details {overflow-wrap:anywhere;}
@media(max-width:767px){
 .staff-app-shell .ticket-list-table caption {display:block;width:100%;caption-side:top;padding:.5rem 0;}
 .staff-app-shell .ticket-list-table tr {height:auto;align-content:start;}
 .staff-app-shell .admin-page {padding-inline:.75rem;}
 .staff-app-shell .admin-section {padding:1rem!important;}
 .staff-app-shell .ticket-list-table,.staff-app-shell .ticket-list-table tbody {display:block;width:100%;}
 .staff-app-shell .ticket-list-table thead {position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden;white-space:nowrap;}
 .staff-app-shell .ticket-list-table tr {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem 1rem;border:1px solid var(--staff-border);border-radius:10px;padding:1rem;margin-bottom:.75rem;background:#fff;}
 .staff-app-shell .ticket-list-table td {display:block;border:0;padding:0;min-width:0;overflow-wrap:anywhere;}
 .staff-app-shell .service-tickets-panel .ticket-list-table tbody td {padding:0;}
 .staff-app-shell .ticket-list-table td::before {content:attr(data-label);display:block;font-size:.75rem;font-weight:700;color:var(--staff-muted);margin-bottom:.25rem;}
 .staff-app-shell .ticket-list-table td:nth-child(2),.staff-app-shell .ticket-list-table td:last-child {grid-column:1/-1;}
 .staff-app-shell .ticket-list-table td:last-child .btn {width:100%;}
 .staff-app-shell .ticket-details>.card-body {padding:1rem;}
 .staff-app-shell .ticket-detail-tabs {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));}
 .staff-app-shell .ticket-detail-tabs .btn {white-space:normal;}
 .staff-app-shell .service-cost-heading {gap:.75rem;flex-wrap:wrap;}
 .staff-app-shell .work-summary {grid-template-columns:1fr;}
}
