/* Mobile-only presentation. Desktop layout remains unchanged. */
.mobile-menu-close{display:none}
@media(max-width:760px){
html{scroll-padding-bottom:100px}body{overflow-wrap:break-word}.workspace,.content,.panel,.split>*,.settings-column,.form-grid>*{min-width:0}
h1,h2,h3,p,b,strong,a{overflow-wrap:anywhere}input,select,textarea{font-size:16px!important;min-width:0;max-width:100%}input[type=date]{min-height:46px}textarea{resize:vertical}button,a{touch-action:manipulation}
.topbar{gap:10px;padding:10px 14px;height:auto;flex-wrap:wrap}.topbar .searchbox,.home-route .topbar .searchbox{display:flex!important;order:10;flex-basis:100%;width:100%;min-width:0;margin:4px 0 0}.searchbox input{height:46px!important}.topbar .user-menu>div,.user-menu>.icon{display:none}.user-menu .avatar-initial{width:40px;height:40px}.topbar .bell,.menu-toggle{min-width:44px;min-height:44px}.home-route .mobile-brand{flex:1;min-width:0;gap:8px}.mobile-brand b{font-size:14px}.mobile-brand small{font-size:10px}.mobile-brand .logo-mark{width:32px;height:35px}.content{padding:18px 14px 105px}.demo-banner{font-size:11px;text-align:left;line-height:1.5}
.mobile-nav{height:76px;padding-bottom:max(8px,env(safe-area-inset-bottom))}.mobile-nav button{min-width:0;flex:1;font-size:11px;min-height:48px}.sidebar{width:min(320px,86vw);bottom:76px;overflow-y:auto}.sidebar .logo{padding:23px 18px}.sidebar .logo strong{font-size:19px}.sidebar .logo-mark{width:32px;height:35px}.sidebar nav{padding:12px;gap:4px}.sidebar .nav-item{min-height:49px;padding:11px 14px;font-size:16px}.sidebar-brand{display:none}.sidebar-status{margin-bottom:0;margin-top:8px}.mobile-menu-close{display:block;position:absolute;top:3px;right:3px;width:44px;height:44px;color:white;font-size:25px;z-index:2}
.page-head{flex-wrap:wrap;gap:12px}.page-head h1{font-size:28px}.page-head p{font-size:14px;max-width:none}.page-head .primary{font-size:14px;min-height:44px;padding:11px 15px}.toolbar{flex-wrap:wrap;gap:12px}.tools{flex-wrap:wrap;flex-shrink:1;width:100%;gap:8px}.tools select{width:100%}.tools button{min-height:44px;flex:1;justify-content:center;padding:10px;font-size:13px}.tabs{max-width:100%;width:100%;gap:6px}.tab{min-height:44px;font-size:13px}.filters{flex-wrap:wrap}.filters label{flex:1 1 145px;min-width:0}.filters button{min-height:44px}.footer-row{flex-wrap:wrap}.pagination{flex-wrap:wrap}.pagination button{min-height:44px}
.home-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px}.home-stat{padding:14px 11px;gap:10px;align-items:center;flex-direction:row}.home-stat .stat-symbol{width:38px;height:38px}.home-stat strong{font-size:12px;min-height:0}.home-stat b{font-size:26px}.home-hero{height:125px}.home-hero h1{font-size:32px}.home-hero p{font-size:17px}.home-projects{grid-template-columns:1fr;gap:16px}.home-photo{height:170px}.home-photo .pill{font-size:12px;padding:8px 12px;top:10px;right:10px;min-height:36px}.home-project-body{padding:16px}.linked-project h3{font-size:20px;min-height:0;display:block;overflow:visible;line-height:1.35}.home-project p{font-size:14px;gap:8px}.home-project p .icon{width:18px;height:18px}.home-progress{height:10px;margin-top:16px}.percentages{font-size:12px;margin-bottom:10px}.home-counts{gap:25px;padding:14px 0;font-size:16px}.home-counts span{gap:9px}.home-counts small{font-size:12px}.home-counts .icon{width:24px;height:24px}.linked-project .home-pending{font-size:13px;padding:12px;gap:8px}.home-pending .icon{width:18px;height:18px}.quick-links{grid-template-columns:1fr 1fr;gap:10px}.quick-links button{font-size:13px;padding:16px 12px;min-height:55px}.quick-links .icon{width:24px;height:24px}.alert-row{font-size:13px;align-items:flex-start;flex-wrap:wrap;line-height:1.5}.alert-row span{font-size:12px;margin-left:auto}.panel-title{gap:10px;flex-wrap:wrap}.panel-title button{font-size:12px;min-height:44px}.home-panel{padding:15px}
.project-row{grid-template-columns:86px minmax(0,1fr) 40px;gap:12px;padding:13px}.project-row .photo{width:86px;height:83px}.project-row h3{font-size:16px}.project-row p{font-size:13px}.project-row .project-progress{grid-column:1/-1;grid-row:auto}.project-row .date-block{display:flex;grid-column:1/-1;font-size:13px}.project-row .counts{display:flex;grid-column:1/-1;border-left:0;padding:0;font-size:13px}.project-row .more{grid-column:3;grid-row:1;width:40px;height:44px}.project-progress .pill{font-size:12px;padding:7px 12px}.project-progress .progress-wrap{font-size:13px}.project-row .date-block small{font-size:13px}
.table-scroll{overflow:visible}.data-table,.person-table,.contact-table{display:block;min-width:0!important;width:100%}.data-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.data-table tbody{display:grid;gap:14px}.data-table tr{display:block;padding:13px;border:1px solid #e0e9f4;border-radius:12px;background:white;min-width:0}.data-table td{display:grid;grid-template-columns:100px minmax(0,1fr);gap:10px;border:0;padding:8px 0;font-size:14px;background:transparent!important;min-width:0;overflow-wrap:anywhere}.data-table td::before{content:attr(data-label);color:#627795;font-size:12px;font-weight:normal}.data-table td:first-child,.data-table td[data-label=""],.data-table td[colspan]{display:block}.data-table td:first-child::before,.data-table td[data-label=""]::before,.data-table td[colspan]::before{display:none}.data-table td:first-child{padding-bottom:12px}.data-table td>small{grid-column:2}.data-table td>.pill{justify-self:start}.data-table .name-cell{min-width:0;gap:12px;font-size:16px;width:100%}.data-table .name-cell>div{min-width:0}.data-table .more{width:44px;height:44px}.data-table td:last-child:has(.more){text-align:right}.data-table td:last-child .more{margin-left:auto}.data-table .table-link{font-size:14px;min-height:40px}.data-table tr.selected{border-color:#78aaf0;background:#f3f8ff}.data-table td .icon{display:none}.data-table .machine-photo{width:66px;height:54px}.data-table small{font-size:12px}.contact-split .panel{overflow:visible}.work-card{min-width:230px;min-height:76px}.work-card b{font-size:14px}.profile-links span{overflow-wrap:anywhere}.profile-head{min-width:0}.profile-head>div{min-width:0}
.stats{grid-template-columns:1fr 1fr}.stat{gap:9px;padding:13px 10px;min-width:0}.stat>div{min-width:0}.stat p{font-size:13px}.stat-symbol{width:37px;height:37px}.settings-grid,.settings-column:last-child{grid-template-columns:1fr}.setting-line{flex-wrap:wrap;gap:10px}.setting-line select{max-width:100%}.mini-fields{display:grid;grid-template-columns:1fr}.definition{grid-template-columns:110px minmax(0,1fr)}.definition dd{min-width:0;overflow-wrap:anywhere;margin:0}.danger-row{flex-wrap:wrap;gap:10px}.danger-row button{min-height:44px}
dialog{width:calc(100% - 24px);max-height:92dvh;padding:18px;overflow-y:auto}dialog .modal-head{gap:10px;align-items:flex-start}.modal-head h2{font-size:19px;min-width:0}.close{min-width:44px;min-height:44px}.modal-actions{flex-wrap:wrap}.modal-actions button{min-height:44px;flex:1}.form-grid,.project-field-grid,.assignment-grid,.qr-fields{grid-template-columns:1fr}.qr-wide{grid-column:auto}.form-grid>*{min-width:0}.form-grid input,.form-grid select,.form-grid textarea{width:100%}.project-sheet-tabs button{min-height:44px;font-size:13px}.project-sheet-footer>div{flex-wrap:wrap}.project-sheet-footer button{min-height:44px;flex:1}.project-sheet-body{padding:16px}.expense-fields{grid-template-columns:1fr}.expense-fields label:first-child{grid-column:auto}.expense-actions{flex-wrap:wrap}.quick-pin{font-size:13px;min-height:44px}.quick-pin input{width:20px;height:20px;flex:none}.expense-actions button{min-height:44px}.quick-project-header{flex-wrap:wrap}.quick-project-header>div{min-width:0}.quick-project-header h3{font-size:18px}.quick-project-values{grid-template-columns:1fr 1fr}.quick-project-values strong{font-size:19px}.quick-project-values span{font-size:12px}.quick-project-links button{font-size:13px}.quick-project-links .icon{width:20px;height:20px}.pace-comparison strong{font-size:19px}.search-result strong{font-size:15px}.search-result small{font-size:13px}.search-result{min-height:54px}.voice-button{height:40px;width:36px;top:3px}.voice-field>input,.voice-field>textarea{padding-right:44px!important}.login-side{padding:28px 22px}.login-card h1{font-size:29px}.login-brand{min-height:210px}.auth-links button{font-size:14px;min-height:44px}.login-footer{flex-wrap:wrap;gap:12px}.login-footer button{min-height:44px}.login-card input:not([type=checkbox]){height:49px}.planning-scroll{overflow-x:auto}.planning-grid{min-width:calc(var(--label) + var(--days)*var(--day))}.planning-period button,.planning-scales button{min-height:44px}
}

/* Estado y refresco compartidos, sin cambiar las tarjetas. */
.sync-banner{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:0;padding-bottom:0;min-height:36px}.sync-refresh{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:0;background:transparent;color:inherit;border-radius:8px;flex-shrink:0}.sync-refresh:disabled{opacity:.5}.sync-refresh:focus-visible{outline:2px solid #356f9b}@media(max-width:700px){.sync-banner{min-height:44px}.sync-refresh{width:44px;height:44px}}
