/* Shared layout adjustments for desktop, tablet and phone. */
.page,.panel,.form-field,.appointment-main{min-width:0}
.definition-list dd,.report-list li,.panel p,.panel-heading{overflow-wrap:anywhere;min-width:0}
.panel-heading{flex-wrap:wrap;gap:10px}
.list-table-responsive{max-width:100%;overflow-x:auto}
.list-table td{overflow-wrap:anywhere}
.list-table th{white-space:nowrap}
.main-nav [aria-current="page"],.nav-management>summary[aria-current="page"]{background:#ffffff24;border-radius:8px;font-weight:750;box-shadow:inset 0 -3px 0 #fff}
.nav-management{position:relative;color:#fff}
.nav-management>summary{cursor:pointer;padding:12px 10px;white-space:nowrap}
.nav-management-links{position:absolute;top:100%;right:0;min-width:200px;padding:8px;border:1px solid #ffffff40;border-radius:10px;background:var(--purple-dark);box-shadow:var(--shadow)}
.nav-management-links a{display:block;padding:10px 12px}
.main-nav a:focus-visible,.nav-management summary:focus-visible,.btn:focus-visible,.icon-btn:focus-visible,.appointment-card-link:focus-visible{outline:3px solid #bba0ef;outline-offset:3px}
.bulk-actions{flex-wrap:wrap;justify-content:flex-start}
.bulk-actions label{margin-right:auto;min-height:44px;min-width:0}
.appointment-card{position:relative;min-width:0}
.appointment-main strong,.appointment-main span,.appointment-main small{overflow-wrap:anywhere}
.appointment-card-link{color:var(--ink)}
.appointment-report-link{position:relative;z-index:2;display:inline-flex;min-height:36px;align-items:center;font-size:13px;font-weight:650}
.appointment-card>.status-pill{position:relative;z-index:2;max-width:100%;white-space:normal}
.appointment-card-link::after{content:"";position:absolute;inset:0;border-radius:10px}
.list-cards,.calendar-mobile{display:none}
.advanced-filters{padding:10px 12px;border:1px solid var(--line);border-radius:9px;min-width:0}
.advanced-filters>summary{cursor:pointer;min-height:28px;font-weight:650}
.advanced-filter-fields{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}
.advanced-filter-fields>select{min-width:150px;flex:1}
.agenda-filters{flex-wrap:wrap}
.agenda-filters .advanced-filters{flex:0 1 auto}
.agenda-filters .advanced-filters[open]{flex:1 1 100%}
.stats-filters .form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.stats-filters .advanced-filters{margin-top:12px}
.stats-filters .form-actions{margin-top:12px}
.agenda-display-options{display:flex;align-items:center;gap:12px;margin:12px 0}
.agenda-display-options label{display:flex;align-items:center;gap:8px;min-height:40px}
.agenda-table{font-size:13px;min-width:1150px}
.agenda-table th{font-size:12px}
.agenda-table .status-pill,.agenda-table .tag{font-size:12px}
.agenda-table .optional-column[hidden]{display:none}
.agenda-table[data-compact="true"]{min-width:850px}
.payment-lost_deposit{background:#fff0d8;color:#8a4200}
.form-section{margin:0 0 22px;padding:0;border:0;min-width:0}
.form-section>legend,.form-section>h2{margin:0 0 14px;font-size:19px;font-weight:750}
.booking-section-title{grid-column:1/-1;margin:8px 0 0;font-size:19px}
.booking-form .form-errors:empty{display:none}
.form-actions{gap:12px;flex-wrap:wrap}
.data-form .field-error,.data-form .errorlist{color:var(--red)}
.calendar-mobile-controls{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px}
.calendar-mobile-controls label{display:flex;align-items:center;gap:8px;font-weight:650}
.calendar-mobile-controls input{min-width:0;max-width:100%;padding:8px;border:1px solid var(--line);border-radius:8px;font:inherit}
.calendar-mobile-controls button[aria-pressed="true"]{background:var(--purple);color:#fff;border-color:var(--purple)}
.calendar-mobile-day[hidden]{display:none}
.calendar-mobile-day{margin-bottom:20px}
.calendar-mobile-day .day-divider{font-size:16px}
.list-card{padding:16px;border:1px solid var(--line);border-radius:12px;background:#fff;min-width:0}
.list-card h2{font-size:17px;margin:0 0 10px;overflow-wrap:anywhere}
.list-card p{margin:6px 0;overflow-wrap:anywhere}
.list-card .action-row{margin-top:12px}
.list-card-state{display:inline-flex;padding:4px 9px;border-radius:20px;background:#edf7f0;color:#24643b;font-size:13px;font-weight:650}
.list-card-state.inactive{background:#f0edf4;color:var(--muted)}
@media(max-width:980px){
 .topbar{position:sticky;flex-wrap:wrap;align-items:center;min-height:64px}
 .main-nav{position:absolute;top:100%;left:0;right:0;flex:0 0 100%;width:100%;max-height:60vh;overflow-y:auto;padding:12px 16px;background:var(--purple-dark);border-radius:0 0 12px 12px;box-shadow:var(--shadow)}
 .main-nav.open{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
 .main-nav a,.nav-management>summary{min-height:44px;padding:12px 10px}
 .nav-management{grid-column:1/-1}
 .nav-management-links{position:static;min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));box-shadow:none;margin-top:8px}
 .nav-management:not([open])>.nav-management-links{display:none}
 .nav-toggle{min-height:44px;min-width:44px;line-height:1}
 .stats-filters .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .agenda-display-options{display:none}
}
@media(max-width:620px){
 .action-row{min-width:0}
 .action-row .btn{max-width:100%;white-space:normal;overflow-wrap:anywhere}
 .bulk-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .bulk-actions label{grid-column:1/-1;width:100%;margin:0}
 .bulk-actions .btn{width:100%;min-width:0;padding:9px 8px;white-space:normal}
 .toolbar input,.toolbar select,.toolbar .btn{min-width:0;max-width:100%}
 .agenda-filters{display:grid;grid-template-columns:40px minmax(0,1fr) 40px;gap:8px}
 .agenda-filters>*{width:auto!important;min-width:0}
 .agenda-filters>.icon-btn:last-child{grid-column:3;grid-row:1}
 .agenda-filters>input[type="date"]{grid-column:2;grid-row:1}
 .agenda-filters>select,.agenda-filters>.advanced-filters,.agenda-filters>.btn{grid-column:1/-1;width:100%!important}
 .advanced-filter-fields{flex-direction:column;align-items:stretch}
 .advanced-filter-fields>select{width:100%;min-width:0}
 .stats-filters{padding:14px}
 .stats-filters .form-grid{gap:12px}
 .stats-filters .advanced-filters .form-grid{grid-template-columns:1fr}
 .list-table-desktop{display:none}
 .list-cards{display:grid;gap:12px}
 .calendar-desktop,.calendar-desktop-notice,.calendar-legend{display:none}
 .calendar-mobile{display:block}
 .calendar-range-fields{display:none}
 .calendar-toolbar{justify-content:flex-start}
 .calendar-toolbar>input,.calendar-toolbar>select{flex:1 1 140px;width:auto;min-width:0}
 .calendar-mobile-controls label{width:100%;flex-wrap:wrap}
 .calendar-mobile-controls input{flex:1}
 .user-menu .link-button,.user-menu>a{display:inline-flex;align-items:center;min-height:44px;padding:0 4px}
}
