/* Keep controls usable with a keyboard and on narrow screens. */
:root{--slate:#5c6c78}
[hidden]{display:none!important}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--grey-green);outline-offset:3px}
.sidebar-item:focus-visible{outline-color:var(--sand);outline-offset:-4px}
button,.sidebar-item{min-height:44px}
.layout{grid-template-columns:220px minmax(0,1fr)}
.main{min-width:0;overflow-x:visible}
.charts-grid{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.chart-card{min-width:0}.chart-card canvas{max-width:100%}
#tableWrap,.users-table-wrap{max-width:100%;overflow-x:auto}
.lead-open{font:inherit;font-weight:700;text-align:left;background:none;border:0;color:inherit;padding:0;min-height:32px;overflow-wrap:anywhere}
.toolbar select,.toolbar input{max-width:100%;min-height:44px}
.modal-box{max-height:88dvh;overscroll-behavior:contain}
.modal-title{padding-right:42px;overflow-wrap:anywhere}
.modal-close{top:10px;right:10px;width:44px;height:44px;display:grid;place-items:center}
.modal-overlay{overscroll-behavior:contain}
.admin-notice{position:fixed;bottom:20px;left:20px;right:20px;z-index:300;max-width:700px;margin:auto;padding:16px 50px 16px 18px;background:#fff5f3;color:#8c2720;border:1px solid #8c2720;box-shadow:0 5px 24px #0002;line-height:1.6;font-size:14px}
.admin-notice button{position:absolute;right:4px;top:4px;width:44px;border:0;background:none;color:inherit;font-size:20px}
@media(max-width:900px){.charts-grid{grid-template-columns:minmax(0,1fr)}.layout{grid-template-columns:minmax(0,1fr)}.sidebar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.sidebar-item{white-space:normal;padding:12px;font-size:12px}.sidebar-spacer{display:none}}
@media(max-width:600px){
 .charts-grid{grid-template-columns:minmax(0,1fr)}
 .users-table-wrap{overflow:visible}.users-table-wrap table,.users-table-wrap tbody{display:block}.users-table-wrap thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 .users-table-wrap tbody tr{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;padding:16px;border-bottom:1px solid #ddd}.users-table-wrap td{display:block!important;padding:0;border:0;overflow-wrap:anywhere}
 .users-table-wrap td::before{content:attr(data-label);display:block;font-size:10px;font-weight:700;color:var(--slate);margin-bottom:5px}
 .topbar{position:relative}.topbar-right{align-items:center}.stats-row{gap:10px}.stat-card{padding:14px}.stats-row .stat-card:last-child{grid-column:1/-1}
 .toolbar{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.toolbar input,.toolbar>button{grid-column:1/-1}.toolbar input{min-width:0}
 #tableWrap{overflow:visible}#tableWrap table,#tableWrap tbody{display:block;background:none}#tableWrap thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 #tableWrap .lead-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;padding:16px;margin-bottom:12px;background:white;border:1px solid #ddd}
 #tableWrap td{display:block!important;padding:0;border:0;min-width:0;overflow-wrap:anywhere}
 #tableWrap td::before{content:attr(data-label);display:block;font-size:10px;font-weight:700;color:var(--slate);margin-bottom:5px}
 #tableWrap .col-check{grid-column:1/-1;width:auto}#tableWrap .col-check::before{display:none}
 #tableWrap .lead-contact{grid-column:1/-1}.lead-open{font-size:15px}
 .pagination{flex-wrap:wrap;gap:12px}.modal-overlay{padding:12px}.modal-box{padding:22px 18px;max-height:calc(100dvh - 24px)}
 .form-actions{flex-wrap:wrap}.form-actions button{white-space:normal}.kanban-col{max-width:calc(100vw - 48px)}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
