/* 360 Degree M Dashboard v79: mobile-safe controls, progress and attendance */
.schedule-fields{padding:12px;border:1px solid rgba(123,97,255,.28);background:rgba(123,97,255,.06);border-radius:12px;margin-bottom:14px}.schedule-hint{font-size:12px;line-height:1.45;color:var(--text2);margin-bottom:10px}.scheduled-meta{display:flex;align-items:center;gap:5px;margin-top:6px;font-size:11px;color:var(--purple);font-weight:600}.scheduled-meta svg{flex:0 0 auto}
.clients-grid-v79{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.client-card-v79{cursor:pointer;transition:var(--transition);min-width:0}.client-card-v79:hover{border-color:var(--purple)!important;transform:translateY(-1px)}.client-card-head{display:flex;align-items:center;gap:12px;margin-bottom:14px}.client-card-title{flex:1;min-width:0}.client-card-title h3{font-size:15px;margin:0 0 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.client-card-title p{font-size:12px;color:var(--text2);margin:0}.client-progress-box{padding:12px;background:var(--border2);border-radius:10px;margin-bottom:12px}.client-progress-top,.client-progress-foot{display:flex;align-items:center;justify-content:space-between;gap:10px}.client-progress-top span{font-size:10px;color:var(--text3);font-weight:700;text-transform:uppercase;letter-spacing:.04em}.client-progress-top strong{font-size:18px}.client-progress-foot{font-size:11px;color:var(--text3);margin-top:7px}.progress-track{height:7px;border-radius:99px;background:var(--border);overflow:hidden;margin-top:9px}.progress-track span{display:block;height:100%;border-radius:inherit;background:var(--purple);transition:width .25s ease}.progress-track.large{height:10px;margin-top:12px}.client-contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.client-contact-grid>div{min-width:0}.client-contact-grid span{display:block;font-size:10px;color:var(--text3);margin-bottom:3px}.client-contact-grid strong{display:block;font-size:12px;color:var(--text2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.client-card-actions,.client-profile-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px;padding-top:12px;border-top:1px solid var(--border2)}.client-profile-actions{margin:0 0 14px;padding:0;border:0}.client-profile-identity{display:flex;align-items:center;gap:14px}.client-profile-progress{margin-bottom:14px}.client-progress-number{font-size:24px}.progress-label{font-size:12px;font-weight:700;margin-top:8px}.client-details-v79{margin-bottom:14px}.client-details-v79 h3{margin-bottom:14px}.client-contact-grid.detail{grid-template-columns:repeat(4,minmax(0,1fr))}.client-notes{margin-top:14px;padding-top:14px;border-top:1px solid var(--border2)}.client-notes span{font-size:10px;color:var(--text3);text-transform:uppercase;font-weight:700}.client-notes p{font-size:13px;color:var(--text2);line-height:1.5;margin:5px 0 0}
.v79-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.v79-toolbar .filters-row{margin:0;padding:0}.v79-toolbar .toolbar-controls{display:flex;gap:8px;flex-wrap:wrap}.v79-work-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px}.v79-work-row .work-row-actions{display:flex;align-items:center;gap:8px;min-width:0}.v79-work-row .mini-status-select{max-width:190px;min-width:150px}
.attendance-toolbar{margin-bottom:12px}.attendance-toolbar .toolbar-controls{display:flex;gap:8px;flex-wrap:wrap}.attendance-list{padding:0!important;overflow:hidden}.attendance-list-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px;border-bottom:1px solid var(--border2)}.attendance-list-head h3{margin:0}.attendance-list-head span{font-size:12px;color:var(--text3)}.attendance-row{display:grid;grid-template-columns:minmax(170px,1.4fr) minmax(145px,1.1fr) 75px 75px 78px 90px auto;align-items:center;gap:12px;padding:13px 16px;border-bottom:1px solid var(--border2);min-width:0}.attendance-row:last-child{border-bottom:0}.attendance-person{display:flex;align-items:center;gap:9px;min-width:0}.attendance-person>div:last-child{min-width:0}.attendance-person strong{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.attendance-person span,.attendance-date span,.attendance-time span,.attendance-hours span{display:block;font-size:10px;color:var(--text3);margin-bottom:2px}.attendance-date strong,.attendance-time strong,.attendance-hours strong{font-size:12px;color:var(--text2)}.attendance-actions,.attendance-lock{display:flex;justify-content:flex-end}.attendance-lock{align-items:center;gap:4px;font-size:11px;color:var(--text3)}.attendance-own-card{display:flex;align-items:center;gap:12px;margin-bottom:14px}.attendance-own-card>div:nth-child(2){flex:1;min-width:0}.attendance-own-card p{margin:3px 0 0;color:var(--text2);font-size:12px}.attendance-own-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:var(--green-light);color:var(--green)}.attendance-lock-note{padding:11px 12px;border-radius:10px;background:var(--border2);font-size:12px;color:var(--text2);line-height:1.45}.setup-warning{margin-bottom:14px;border-color:rgba(245,158,11,.35)!important}.setup-warning p{margin:6px 0 0;color:var(--text2);font-size:12px}.setup-warning code{font-size:11px}
@media(max-width:900px){.client-contact-grid.detail{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-row{grid-template-columns:minmax(160px,1fr) 130px 70px 70px 75px auto}.attendance-hours{display:none}}
@media(max-width:640px){
  .page-header-top{display:flex!important;flex-direction:column;align-items:stretch!important;gap:10px}.page-header-top>.header-actions,.page-header-top>div.header-actions{width:100%;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.page-header-top>.btn,.page-header-top>button{width:100%}.header-actions .btn{width:100%;min-width:0;padding-left:8px;padding-right:8px}
  .card-head{display:flex;align-items:flex-start;gap:10px;flex-wrap:wrap}.card-head>h3,.card-head>div:first-child{flex:1;min-width:140px}.card-head>.btn{margin-left:auto;max-width:100%}
  .v79-toolbar,.toolbar-card{display:flex!important;flex-direction:column;align-items:stretch!important;gap:10px}.v79-toolbar .filters-row,.toolbar-card .filters-row{display:flex;width:100%;overflow-x:auto;flex-wrap:nowrap;padding-bottom:3px}.v79-toolbar .toolbar-controls,.toolbar-card .toolbar-controls,.attendance-toolbar .toolbar-controls{display:grid!important;grid-template-columns:1fr;width:100%;gap:8px}.toolbar-controls .field-input,.toolbar-controls .btn,.compact-select{width:100%!important;max-width:none!important;min-width:0!important}
  .v79-work-row,.work-row.clean-row{display:grid!important;grid-template-columns:36px minmax(0,1fr)!important;align-items:start!important;gap:9px!important;padding:12px!important;overflow:hidden}.v79-work-row .work-row-icon,.work-row.clean-row .work-row-icon{grid-column:1;grid-row:1}.v79-work-row .work-row-main,.work-row.clean-row .work-row-main{grid-column:2;grid-row:1;min-width:0}.v79-work-row .work-row-actions,.work-row.clean-row .work-row-actions{grid-column:1/-1;grid-row:2;width:100%;display:grid!important;grid-template-columns:minmax(0,1fr) minmax(92px,.65fr);gap:8px;padding:8px 0 0!important;margin:0!important}.v79-work-row .work-row-actions>*:only-child,.work-row.clean-row .work-row-actions>*:only-child{grid-column:1/-1}.v79-work-row .mini-status-select,.work-row.clean-row .mini-status-select,.v79-work-row .work-row-actions .btn,.work-row.clean-row .work-row-actions .btn{width:100%!important;max-width:none!important;min-width:0!important}.work-row-meta{display:flex;flex-wrap:wrap;gap:4px 6px}.scheduled-meta{align-items:flex-start;white-space:normal}
  .clients-grid-v79{grid-template-columns:1fr}.client-card-head{align-items:flex-start}.client-contact-grid,.client-contact-grid.detail{grid-template-columns:1fr}.client-card-actions,.client-profile-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.client-card-actions .btn,.client-profile-actions .btn{width:100%;min-width:0}.client-profile-actions .btn-icon{width:42px}.client-profile-identity{align-items:flex-start}.client-progress-top strong{font-size:17px}
  .modal-header{display:grid!important;grid-template-columns:42px minmax(0,1fr) auto;align-items:center!important}.modal-header h3{white-space:normal}.modal-header>.btn:last-child{max-width:108px;padding-left:10px;padding-right:10px}.modal-header>div{grid-column:1/-1;width:100%;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.modal-header>div .btn{width:100%;min-width:0}.form-grid.two{grid-template-columns:1fr!important}
  .attendance-list{background:transparent!important;border:0!important;box-shadow:none!important}.attendance-list-head{padding:10px 2px;border:0}.attendance-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:13px;margin-bottom:9px;border:1px solid var(--border)!important;border-radius:12px;background:var(--surface)}.attendance-person{grid-column:1/-1;padding-bottom:9px;border-bottom:1px solid var(--border2)}.attendance-date{grid-column:1/-1}.attendance-time,.attendance-hours{display:block}.attendance-status{justify-self:end;align-self:end}.attendance-actions,.attendance-lock{grid-column:1/-1;justify-content:stretch}.attendance-actions .btn{width:100%}.attendance-lock{justify-content:flex-start;padding-top:5px}.attendance-own-card{align-items:flex-start}.attendance-own-card .tag{margin-left:auto}
  .bottom-nav-item span{font-size:9px;max-width:52px}.bottom-nav{padding-left:3px;padding-right:3px}.bottom-nav-item{min-width:0}
}
@media(max-width:380px){.page{padding-left:8px!important;padding-right:8px!important}.page-header-top>.header-actions,.client-card-actions,.client-profile-actions{grid-template-columns:1fr}.modal-header{grid-template-columns:38px minmax(0,1fr) auto}.modal-header>.btn:last-child{max-width:86px}.kpi-grid{grid-template-columns:1fr 1fr!important}.kpi-value{font-size:19px!important}}
