/* Vista de escritorio: comparte los componentes y colores del móvil. */
@media(min-width:1000px){
 .app{grid-template-columns:240px minmax(0,1fr)}
 .sidebar{padding:28px 18px;z-index:5;border-right:1px solid #272727}
 .sidebar nav{margin-top:30px;gap:7px}.sidebar nav button{min-height:46px;border-radius:12px;font-size:.95rem}
 .sidebar .brand strong{font-size:1.08rem}.sidebar .logo-img{width:48px;height:48px;object-fit:contain}
 .workspace{padding-bottom:34px}.workspace>header{position:sticky;top:0;z-index:4;height:88px;padding:18px 32px;box-shadow:0 2px 14px #00000003}
 .workspace>header h1{font-size:1.65rem}.workspace>header .header-logo{width:45px;height:45px}
 main{max-width:1600px;margin:auto;padding:28px 32px 96px}
 main:has(.admin-home-card){display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
 main:has(.admin-home-card)>.commercial-home-head{grid-column:1/-1;margin:0 0 6px}
 .commercial-home-head h2{font-size:2rem}.admin-home-card,.admin-home-card:last-child{margin:0;align-self:start}
 .admin-home-card button{padding:18px 16px;font-size:1rem;min-height:80px;gap:8px}
 .order-status-heading{padding:20px 16px;min-height:76px;letter-spacing:.07em;font-size:.78rem}.order-status-heading .home-icon{width:30px;height:30px}
 .admin-home-card button b{width:36px;height:36px;font-size:1.1rem}
 .create-card{max-width:600px;padding:18px 22px;margin-bottom:20px}.create-card b{font-size:1.3rem}.create-card small{font-size:.93rem}
 .archive-tabs{margin-top:18px}.archive-tabs button{padding:18px 12px;min-height:88px}.archive-tabs strong{font-size:1.65rem}.archive-tabs span{font-size:.93rem}
 .client-search-box{max-width:760px}.client-archive-tabs{max-width:760px}.owner-filter{max-width:760px}
 .client-archive-panel{padding:8px 22px}.client-row{padding:16px 8px!important;border-radius:0!important}.client-row b{font-size:1rem}.client-row small{font-size:.8rem;line-height:1.5}.client-row:hover{background:#fffbed}
 .desktop-client-data{display:block!important;color:#50564e!important;font-weight:500;margin-top:4px!important}
 .management-list{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;padding:22px}.management-card{max-width:none;margin:0;min-width:0}.management-main{margin:18px 0}.management-card h3{font-size:1.15rem}
 .task-list article{padding:18px 4px}.task-list h3{font-size:1.2rem}.report-dashboard{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.report-dashboard>.panel:first-child{grid-column:1/-1}
 .offer-shell{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.offer-shell>.panel:first-child{grid-column:1/-1}
 #quickBtn{width:auto;height:50px;right:32px;bottom:24px;border-radius:15px;padding:0 20px;font-size:1.7rem;display:flex;align-items:center;gap:10px;box-shadow:0 5px 20px #0002}#quickBtn::after{content:'Nueva gestión';font-size:.95rem}
 .bottom-nav{display:none!important}dialog{max-height:90vh;overflow:auto}#quickDialog{width:520px;max-width:90vw;left:auto;right:28px;bottom:86px;top:auto;margin:0;border-radius:22px;max-height:80vh;animation:none}
 #quickDialog header{padding:16px;height:auto}.quick-grid button{min-height:95px}.settings-grid{gap:22px}.settings-grid .panel{min-width:0}.user-list article>div{min-width:0;overflow-wrap:anywhere}
 .desktop-tools{display:flex;gap:8px;align-items:center}.desktop-tools button{font-size:.8rem;border:1px solid var(--line);padding:9px 12px}
 button:focus-visible,a:focus-visible{outline:3px solid #bb9900;outline-offset:3px}
}
@media(min-width:1600px){.management-list:not(:has(.month-archive)){grid-template-columns:repeat(2,minmax(0,1fr))}.management-list>.empty{grid-column:1/-1}}
@media(max-width:999px){.desktop-tools,.desktop-client-data{display:none!important}}
@media print{.sidebar,.header-actions,#quickBtn,.bottom-nav,.desktop-tools{display:none!important}.app{display:block}.workspace>header{position:static}main{max-width:none;padding:0}.panel,.management-card{break-inside:avoid;box-shadow:none}}
/* FR26: densidad y distribución según el espacio real del PC. */
@media(min-width:1000px){
 .app{grid-template-columns:216px minmax(0,1fr)}.sidebar{padding:20px 14px}.sidebar nav{margin-top:22px;gap:3px}.sidebar nav button{min-height:38px;padding:8px 12px}
 .workspace{padding-bottom:0}.workspace>header{height:70px;padding:12px 24px}
 main,main:has(.commercial-home-head){max-width:none;padding:20px 24px 24px}.commercial-home-head h2{font-size:1.7rem;margin-bottom:8px}
 .panel{padding:18px}.admin-home-card button{min-height:62px;padding:12px 14px}.order-status-heading{min-height:60px;padding:14px}.admin-home-card:last-child{margin-bottom:0}
 .create-card{padding:12px 18px;margin-bottom:12px;min-height:0}.create-card b{font-size:1.15rem}.create-card small{font-size:.85rem}
 .archive-tabs{margin-top:12px}.archive-tabs button{min-height:64px;padding:12px}.archive-tabs strong{font-size:1.35rem}.archive-tabs span{font-size:.85rem}
 .client-search-box,.client-archive-tabs,.owner-filter{max-width:none}.owner-filter{margin:10px 0;padding:8px 12px}
 .client-row{padding:10px 8px!important}.client-row small{line-height:1.35}.client-avatar{width:36px;height:36px}
 .management-list{grid-template-columns:repeat(auto-fit,minmax(min(100%,460px),1fr));gap:16px;padding:16px}.management-list>.empty,.management-list>.archive-month-group{grid-column:1/-1}.archive-month-records{grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr))}
 main:has(>.client-hero){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}
 main:has(>.client-hero)>.back,main:has(>.client-hero)>.client-hero,main:has(>.client-hero)>.client-actions,main:has(>.client-hero)>.detail-grid{grid-column:1/-1}
 main:has(>.client-hero)>.panel{margin:0}.client-hero{padding:16px}.detail-grid{gap:14px}.detail-grid>.panel{margin:0}.client-actions{margin:0;gap:8px}.client-action-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.client-actions .start-visit-card{grid-column:1/-1;min-height:54px;padding:10px 16px}.client-actions button{min-height:64px;padding:10px}.client-action-icon{width:30px;height:30px}.client-actions b{font-size:.85rem}
 .report-dashboard{gap:14px}.report-dashboard>h2,.report-dashboard>p,.report-dashboard>.report-controls,.report-dashboard>.report-periods,.report-dashboard>.owner-filter{grid-column:1/-1;margin:0}.report-dashboard>.panel:first-child{grid-column:auto}.report-visual,.report-breakdown{align-self:start}
 main:has(>.settings-grid){display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:16px;align-items:start}.settings-grid{display:contents}.settings-users{grid-column:1;grid-row:1/3}.system-status{grid-column:2;grid-row:1}.settings-form{grid-column:2;grid-row:2;margin:0}.setting-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}.setting-fields label{margin-top:10px;font-size:.8rem}.setting-fields input{padding:9px 10px}.user-list article{grid-template-columns:40px minmax(0,1fr) auto;gap:10px}.user-actions{grid-column:2/-1;justify-content:flex-start}
 .offer-recipients{max-height:none;overflow:visible}.report-periods{overflow:visible;flex-wrap:wrap}.report-timeline{flex-wrap:wrap;overflow:visible}
 dialog:not(.offer-preview):not(.bottom-sheet):not(#quickDialog):not(#quickOrderDialog){width:min(860px,calc(100vw - 80px));max-width:860px;max-height:calc(100dvh - 48px);height:auto;padding:22px}
 dialog label{margin-top:10px}dialog input,dialog select{padding:10px 12px}dialog textarea{min-height:70px}
 #managementForm,#clientEditForm,#contactForm,#clientForm,#userForm,#taskForm{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px}
 #managementForm>*,#taskForm>*{min-width:0}#managementForm>section,#managementForm>.form-row,#managementForm>.photo-grid,#managementForm>.form-error,#managementForm>.full,#taskForm>.full,#taskForm>.photo-grid,#clientEditForm>.full,#contactForm>.full,#clientForm>.full,#userForm>.full{grid-column:1/-1}
 #managementForm>.management-summary-field{display:none}#managementForm>label{order:0}#managementForm>#managementDictateBtn,#managementForm>#managementCommentsDictateBtn{order:1}#managementForm>#orderDictationGuide,#managementForm>#orderLineEditor{order:2;grid-column:1/-1}#managementForm>.form-row{order:3}#managementForm>#managementAddPhotoBtn,#managementForm>.photo-grid{order:4}#managementForm>.full,#managementForm>.form-error{order:5}
 #quickDialog,#quickOrderDialog{inset:auto 24px 82px auto;width:620px;max-width:calc(100vw - 60px);height:auto;max-height:calc(100dvh - 130px);padding:0;border-radius:18px;overflow:auto}#quickOrderDialog{padding:18px}.quick-sheet-body{padding:18px}.quick-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.quick-grid button{min-height:75px;padding:10px}
 .bottom-sheet{inset:50% auto auto 50%;transform:translate(-50%,-50%);width:min(600px,90vw);height:auto;max-height:calc(100dvh - 48px);margin:0;border-radius:20px;padding:22px}.sheet-handle{display:none}
 #quickBtn{bottom:18px;height:44px;right:24px}main:not(:has(.admin-home-card)):not(:has(.client-hero)){padding-bottom:74px}
}
@media(min-width:1300px){.client-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px}.client-list>.client-row{min-width:0}.client-list>.client-row>span{min-width:0}}
@media(min-width:1800px){.client-list{grid-template-columns:repeat(3,minmax(0,1fr))}}

@media(min-width:1000px){
 main:not(:has(.admin-home-card)):not(:has(.client-hero)){padding-bottom:24px}
 #quickBtn{position:static;height:40px;padding:0 14px;box-shadow:none;font-size:1.3rem;flex-shrink:0}
 .header-actions{align-items:center;gap:8px}#quickDialog,#quickOrderDialog{bottom:24px;max-height:calc(100dvh - 100px)}
 .report-dashboard>div:has(.report-periods),.report-dashboard>.report-filters{grid-column:1/-1}
}

@media(min-width:1000px){
 #quickBtn{display:none!important}
 .sidebar nav{gap:2px;margin-top:18px;min-height:0;overflow-y:auto}
 .sidebar nav button{min-height:36px;padding:7px 10px;font-size:.86rem;flex-shrink:0}
 .sidebar nav button .home-icon{width:22px;height:22px;flex:none}
 .sidebar nav button .home-icon svg{stroke:currentColor}
 .sidebar .online{padding-top:12px}
}
@media(max-width:999px){[data-desktop-action]{display:none!important}}
/* Exclusivo del paquete Windows: las visitas se registran desde el móvil. */
#startVisitBtn,.start-visit-card,.start-visit-home{display:none!important}
#content.desktop-calendar{height:var(--calendar-height);min-height:0;display:flex;flex-direction:column;gap:8px;padding:10px 18px;overflow:hidden;max-width:none}
.desktop-calendar>.owner-filter{flex:none;margin:0;padding:6px 10px;min-height:0}
.desktop-calendar>.archive-tabs{flex:none;margin:0;gap:6px}
.desktop-calendar>.archive-tabs button{min-height:0;padding:8px 12px}
.desktop-calendar>.agenda-archive-panel{display:flex;flex-direction:column;flex:1;min-height:0;margin:0;padding:10px;border-radius:14px}
.desktop-calendar .week-nav{flex:none;padding:4px 10px;margin:0 0 8px;min-height:0}
.desktop-calendar .week-nav button{padding:5px 12px}
.desktop-calendar .month-grid{flex:1;min-height:0;grid-template-rows:24px repeat(var(--calendar-weeks,6),minmax(0,1fr));padding:8px;gap:5px}
.desktop-calendar .month-grid button,.desktop-calendar .month-grid>span{aspect-ratio:auto;min-height:0;min-width:0;padding:0;font-size:clamp(.8rem,2vh,1.2rem)}
.desktop-calendar .month-grid>b{min-height:0;padding:2px;font-size:.8rem}
.desktop-calendar .calendar-note{flex:none;margin:8px 0 0;font-size:.75rem}
.has-desktop-calendar .workspace{padding-bottom:0}
@media(max-height:560px){
 .desktop-calendar .calendar-note{display:none}
 .desktop-calendar .month-grid{padding:4px;gap:3px;grid-template-rows:18px repeat(var(--calendar-weeks,6),minmax(0,1fr))}
 #content.desktop-calendar{gap:4px;padding:4px 14px}
 .desktop-calendar>.agenda-archive-panel{padding:6px}
 .desktop-calendar>.owner-filter{padding:3px 8px;font-size:.78rem}
 .desktop-calendar>.owner-filter select{padding:3px 6px}
 .desktop-calendar>.archive-tabs button{padding:5px 10px}
 .desktop-calendar .week-nav{margin-bottom:4px;font-size:.85rem}
 .has-desktop-calendar .workspace>header{height:54px;padding:8px 20px}
}
.home-primary-action{display:none!important}
.has-desktop-calendar .bottom-nav,.has-desktop-calendar #quickBtn{display:none!important}
/* Inicio comercial Windows: resumen y pendientes en paralelo. */
@media(min-width:1000px){
 #content:has(>.today-card){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px 18px;align-content:start;padding:16px 24px}
 #content:has(>.today-card)>.commercial-home-head{grid-column:1/-1;margin:0}
 #content:has(>.today-card)>.commercial-home-head h2{margin-bottom:4px;font-size:1.6rem}
 #content:has(>.today-card)>.commercial-home-head p{margin-bottom:4px;font-size:.9rem}
 #content:has(>.today-card)>.today-card{grid-column:1;grid-row:2/5;margin:0;padding:18px;align-self:start}
 #content:has(>.today-card)>.home-section-title{grid-column:2;margin:0;font-size:.8rem}
 #content:has(>.today-card)>.home-pending{grid-column:2;margin:0}
 #content:has(>.today-card)>.order-status-card{grid-column:2;margin:0}
 #content:has(>.today-card)>.budget-pending{grid-column:2;margin:0}
 #content:has(>.today-card) .today-title{margin-bottom:12px;font-size:1.25rem}
 #content:has(>.today-card) .today-summary{gap:12px}
 #content:has(>.today-card) .today-counters button{padding:10px 5px;min-height:72px}
 #content:has(>.today-card) .today-counters strong{font-size:1.7rem}
 #content:has(>.today-card) .today-counters span{font-size:.85rem}
 #content:has(>.today-card) .home-ring{width:94px;height:94px;flex:none}
 #content:has(>.today-card) .home-pending>button{min-height:60px;padding:12px 14px;font-size:.95rem}
 #content:has(>.today-card) .order-status-heading{min-height:52px;padding:10px 14px}
 #content:has(>.today-card) .order-status-card>button{min-height:54px;padding:10px 14px;font-size:.95rem}
}
@media(min-width:1000px) and (max-height:650px){
 #content:has(>.today-card){gap:8px 14px;padding:10px 20px}
 #content:has(>.today-card) .commercial-home-head h2{font-size:1.35rem}
 #content:has(>.today-card) .commercial-home-head p{margin:0;font-size:.8rem}
 #content:has(>.today-card) .today-card{padding:12px}
 #content:has(>.today-card) .order-status-heading{min-height:40px;padding:7px 12px}
 #content:has(>.today-card) .order-status-card>button{min-height:42px;padding:6px 12px}
 #content:has(>.today-card) .home-pending>button{min-height:46px;padding:8px 12px;font-size:.85rem}
}
@media(min-width:1000px){
 #content:has(>.today-card){display:flex;flex-direction:column;gap:14px;padding:18px 24px}
 #content:has(>.today-card)>.today-card{width:100%;align-self:stretch;padding:16px 22px;display:flex;align-items:center;gap:30px}
 #content:has(>.today-card) .today-title{margin:0;flex:none}
 #content:has(>.today-card) .today-summary{flex:1;min-width:0;display:flex;align-items:center;justify-content:space-between}
 #content:has(>.today-card) .today-counters{flex:1}
 #content:has(>.today-card) .home-curtains:has([data-home-list]:not([hidden])){flex-basis:100%}
 #content:has(>.today-card) .today-card:has([data-home-list]:not([hidden])){flex-wrap:wrap}
 .desktop-pending-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:stretch}
 .desktop-pending-cards .order-status-card{margin:0;min-width:0}
 .desktop-pending-cards .order-status-card>button{min-height:56px;font-size:.95rem;padding:12px 14px}
 .desktop-pending-cards .order-status-heading{min-height:60px;padding:14px;font-size:.78rem}
 .desktop-errands-card>button,.desktop-budgets-card>button{display:flex!important;align-items:center;gap:10px;width:100%;text-align:left}
 .desktop-errands-card>button>span:not(.urgent-pending-dot):not(.home-icon),.desktop-budgets-card>button>span:not(.home-icon){flex:1}
 .desktop-errands-card>button>b,.desktop-budgets-card>button>b{margin-right:auto;font-weight:750}
 .desktop-errands-card>button>b:only-of-type:not(:first-child),.desktop-budgets-card>button>b:only-of-type:not(:first-child){margin:0}
 .desktop-pending-cards .home-icon{display:none}
 .desktop-pending-cards .pending-badge{flex:none;margin-left:auto}
}
@media(max-width:999px){.desktop-pending-cards{display:grid;gap:12px}.desktop-pending-cards .order-status-card{margin:0}}
@media(min-width:1000px) and (max-height:650px){
 #content:has(>.today-card){gap:8px;padding:10px 20px}
 #content:has(>.today-card)>.today-card{padding:12px 18px}
 .desktop-pending-cards .order-status-card>button{min-height:44px;padding:8px 12px}
 .desktop-pending-cards .order-status-heading{min-height:44px;padding:10px 12px}
}

.desktop-calendar .calendar-month-grid .calendar-cell{display:flex;align-items:stretch;justify-content:flex-start;padding:6px!important}.desktop-calendar .calendar-month-grid{flex:none;height:auto}.desktop-calendar .calendar-month-panel{overflow:hidden}.desktop-calendar .calendar-legend{flex:none}
@media(min-width:1000px){
 #content.desktop-home37{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;align-content:start}
 #content.desktop-home37>.commercial-home-head,#content.desktop-home37>.today-card{grid-column:1/-1}
 #content.desktop-home37>.pending-status-card,#content.desktop-home37>.order-status-card{margin:0;width:100%;min-width:0}
 #content.desktop-home37 .pending-status-card{padding:14px}#content.desktop-home37 .home-primary-action{display:none}
 .offer-shell{grid-template-columns:minmax(360px,1fr) minmax(300px,.85fr);align-items:start}.offer-shell>.section-title,.offer-shell>.owner-filter{grid-column:1/-1}.offer-shell>.offer-campaign{grid-column:1;grid-row:3/5}
}

@media(min-width:1000px){.admin-activity-card{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 18px;margin:0}.admin-activity-card>.home-section-title{grid-column:1/-1}}

/* FR40.1: menú lateral compacto; desplazamiento integrado en el fondo negro. */
.sidebar {height:100dvh;min-height:0;overflow:hidden}
.sidebar .brand,.sidebar .online {flex:none}
.sidebar nav {display:flex;flex-direction:column;flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;margin-top:16px;gap:2px;scrollbar-width:thin;scrollbar-color:#454545 #111}
.sidebar nav:hover,.sidebar nav:focus-within {scrollbar-color:#777 #111}
.sidebar nav::-webkit-scrollbar {width:6px;background:#111}
.sidebar nav::-webkit-scrollbar-track {background:#111}
.sidebar nav::-webkit-scrollbar-thumb {background:#454545;border-radius:8px;border:1px solid #111}
.sidebar nav:hover::-webkit-scrollbar-thumb,.sidebar nav:focus-within::-webkit-scrollbar-thumb {background:#777}
.sidebar nav::-webkit-scrollbar-button {display:none;width:0;height:0}
.sidebar nav button {flex:none;min-height:40px;padding:8px 10px;line-height:1.2;gap:12px}
.sidebar nav button.active:before {height:24px;flex:none}
@media (max-height:850px) {
 .sidebar {padding-top:16px;padding-bottom:16px}
 .sidebar nav {margin-top:12px;gap:1px}
 .sidebar nav button {min-height:40px;padding:7px 10px}
 .sidebar .online {padding-top:10px;font-size:.75rem;line-height:1.35}
}
@media (orientation:landscape) and (max-height:600px) and (pointer:coarse) {
 .sidebar nav {margin-top:10px}
 .sidebar nav button {min-height:40px;padding:8px 10px}
}
