/* CuernoFlow v0.22.1 — responsive mobile-first */
html{
    max-width:100%;
    overflow-x:hidden;
    -webkit-text-size-adjust:100%;
    text-size-adjust:100%;
}
body{
    max-width:100%;
    overflow-x:hidden;
    overscroll-behavior-y:none;
}
img,video,canvas,svg,iframe{
    max-width:100%;
}
button,a,input,select,textarea,summary{
    -webkit-tap-highlight-color:transparent;
}
.table-scroll-hint{display:none}

@media(max-width:1024px){
    .content{padding:20px}
    .topbar{padding-right:20px;padding-left:20px}
    .stats,.crm-stats,.finance-kpis,.ops-report-kpis,.vault-summary-grid,
    .diagnostic-summary-grid,.update-preflight-metrics,.database-backup-stats,
    .client-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
    .report-grid,.ops-report-primary-grid,.ops-report-secondary-grid,
    .ops-report-bottom-grid,.diagnostic-details-grid,.finance-charts-grid,
    .database-backup-layout,.finance-tax-layout{grid-template-columns:1fr!important}
    .vault-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

@media(max-width:820px){
    :root{
        --mobile-edge:12px;
        --mobile-radius:16px;
    }
    body.sidebar-open{overflow:hidden}
    .app{display:block;min-height:100dvh}
    .main{width:100%;min-width:0}
    .sidebar{
        width:min(86vw,320px);
        max-width:320px;
        padding-top:max(18px,env(safe-area-inset-top));
        padding-bottom:max(18px,env(safe-area-inset-bottom));
        box-shadow:18px 0 50px rgba(0,0,0,.28);
    }
    .sidebar .nav{padding-bottom:20px;overflow-y:auto;overscroll-behavior:contain}
    .sidebar .nav a{min-height:46px;display:flex;align-items:center;gap:10px;font-size:14px}
    .sidebar .nav-label{padding-top:18px}
    .sidebar .user{min-height:60px}
    #sidebar-backdrop{backdrop-filter:blur(2px)}

    .topbar{
        position:sticky;
        top:0;
        z-index:16;
        min-height:76px;
        padding:max(10px,env(safe-area-inset-top)) var(--mobile-edge) 10px;
        gap:8px;
        box-shadow:0 1px 0 var(--line);
    }
    .topbar>div:first-child{min-width:0;display:flex;align-items:center}
    .topbar>div:first-child>div{min-width:0}
    .topbar h1{max-width:100%;margin-top:2px;font-size:clamp(20px,6vw,25px);line-height:1.15;overflow-wrap:anywhere}
    .topbar .eyebrow{font-size:10px;line-height:1.2}
    .mobile-menu{
        width:46px;height:46px;min-width:46px;padding:0!important;
        display:grid!important;place-items:center;border:1px solid var(--line)!important;
        border-radius:14px!important;background:#fff!important;font-size:20px;
    }
    .actions{min-width:0;gap:6px}
    .actions .notif,.actions>.secondary,.actions>.primary{min-width:44px;min-height:44px}
    .actions .primary,.actions .secondary{padding:10px 12px}
    .search{display:none!important}

    .content{
        width:100%;
        padding:14px var(--mobile-edge) calc(22px + env(safe-area-inset-bottom));
    }
    .content>*{min-width:0}
    .panel,.hero,.finance-panel,.system-panel,.vault-panel,
    .ops-report-filter-panel,.ops-report-chart-card,.ops-report-distribution-card,
    .ops-report-workload-card,.ops-report-attendance-card,.ops-report-client-card,
    .ops-report-overdue-card{
        border-radius:var(--mobile-radius);
    }
    .panel{padding:15px;margin-bottom:13px}
    .page-heading,.client-heading,.system-page-heading,.vault-hero,
    .ops-report-hero,.finance-heading,.notifications-heading{
        align-items:flex-start!important;
        flex-direction:column!important;
        gap:12px!important;
    }
    .page-heading h2,.system-page-heading h2,.vault-hero h2,
    .ops-report-hero h2{font-size:clamp(23px,7vw,30px)!important;line-height:1.15}
    .page-heading .primary,.page-heading .secondary,
    .system-page-heading .primary,.vault-hero-actions,
    .ops-report-hero-actions{width:100%}
    .vault-hero-actions,.ops-report-hero-actions{justify-content:flex-start!important;flex-wrap:wrap}

    .hero{
        min-height:0;
        padding:20px 18px;
        align-items:flex-start;
        flex-direction:column;
    }
    .hero-copy{max-width:100%}
    .hero h2{font-size:20px}
    .hero span{font-size:13px}
    .hero-date{
        width:100%;min-width:0;padding:14px 0 0;border-top:1px solid rgba(255,255,255,.16);
        border-left:0;align-items:flex-start;text-align:left;
    }
    .hero-calendar-info{align-items:flex-start}
    .hero-celestial{right:18px;top:18px;width:58px;height:58px}

    .stats,.crm-stats,.finance-kpis,.ops-report-kpis,.vault-summary-grid,
    .diagnostic-summary-grid,.update-preflight-metrics,.database-backup-stats,
    .client-summary-grid,.attendance-summary{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:9px!important;
    }
    .stat,.crm-stat,.finance-kpi,.ops-report-kpi,.vault-summary-grid>*,
    .diagnostic-summary-grid>*,.update-preflight-metrics>*,.database-backup-stats>*,
    .client-summary-grid article,.attendance-summary article{
        min-width:0;padding:13px!important;
    }
    .stat b,.crm-stat b,.finance-kpi b,.ops-report-kpi b{font-size:21px!important}

    .toolbar,.crm-filterbar,.vault-filters,.attendance-filters,
    .ops-report-filters,.finance-entry-form,.database-schedule-fields,
    .system-toolbar,.notification-toolbar{
        width:100%;align-items:stretch!important;flex-direction:column!important;
        grid-template-columns:1fr!important;gap:9px!important;
    }
    .filters{width:100%;display:grid;grid-template-columns:1fr;gap:8px}
    .filters>*,.crm-filterbar>*,.vault-filters>*,.attendance-filters>*,
    .ops-report-filters>*,.finance-entry-form>*,.database-schedule-fields>*{
        width:100%!important;min-width:0!important;
    }
    .filters input,.filters select,.filters button,
    .crm-filterbar input,.crm-filterbar select,.vault-filters input,.vault-filters select,
    .attendance-filters input,.attendance-filters select,.ops-report-filters input,
    .ops-report-filters select{min-height:46px;font-size:16px}

    .primary,.secondary,.danger,.small-btn,.danger-outline{
        min-height:44px;display:inline-flex;align-items:center;justify-content:center;
    }
    input,select,textarea{font-size:16px!important}
    textarea{line-height:1.5}

    .form-grid,.contact-grid,.client-detail-grid,.client-detail-grid>aside,
    .vault-form-grid,.finance-grid,.finance-side,.finance-tax-layout,
    .system-update-layout,.diagnostic-details-grid,.database-backup-layout,
    .report-grid,.ops-report-primary-grid,.ops-report-secondary-grid,
    .ops-report-bottom-grid,.ops-report-profit-grid,.task-resource-grid{
        grid-template-columns:1fr!important;
    }
    .field.full{grid-column:auto}

    .board{
        width:100%;display:grid;grid-template-columns:1fr!important;
        overflow:visible;gap:12px;
    }
    .col{min-height:0}
    .zone{min-height:80px;padding:9px}
    .task-card{padding:13px;margin-bottom:8px}
    .task-card h4{font-size:14px}

    .table-wrap,.finance-table-wrap,.attendance-history,.database-backup-table-wrap,
    .ops-report-table-wrap,.vault-table-wrap{
        width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;
        overscroll-behavior-inline:contain;
    }
    table.table,.crm-table,.attendance-table,.attendance-log-table,
    .finance-table,.database-backup-table,.ops-report-table{
        width:max-content;min-width:720px;max-width:none;
    }
    .table th,.table td{padding:11px 10px;font-size:12px}

    .calendar-grid{grid-template-columns:1fr 1fr!important;gap:8px}
    .calendar-weekdays{display:none!important}
    .calendar-day{min-height:100px}

    .modal-bg,.task-modal-bg{
        padding:0!important;align-items:flex-end!important;overflow:hidden;
    }
    .modal{
        width:100%!important;max-width:none!important;max-height:96dvh;
        overflow:auto;border-radius:22px 22px 0 0!important;
        padding-bottom:env(safe-area-inset-bottom);
    }
    .modal-head{
        position:sticky;top:0;z-index:5;padding:14px 15px;background:#fff;
    }
    .modal form{padding:15px}
    .modal-foot{
        position:sticky;bottom:0;z-index:4;margin-right:-15px;margin-left:-15px;
        padding:12px 15px calc(12px + env(safe-area-inset-bottom));
        background:#fff;box-shadow:0 -8px 18px rgba(16,24,40,.06);
        flex-direction:column-reverse;align-items:stretch;
    }
    .modal-foot>div{width:100%;display:grid;grid-template-columns:1fr 1fr}
    .modal-foot button,.modal-foot a{width:100%}

    .task-workspace{width:100vw;height:100dvh;max-height:100dvh;border-radius:0}
    .task-workspace-header{position:sticky;top:0;z-index:8;min-height:64px;padding:max(10px,env(safe-area-inset-top)) 10px 10px}
    .task-header-actions .primary{white-space:nowrap}
    .task-editor{padding:22px 14px 40px}
    .task-title-input{font-size:23px!important;line-height:1.2}
    .task-property{grid-template-columns:22px 86px minmax(0,1fr)!important;gap:7px}
    .task-property label,.task-property select,.task-property input{min-width:0}
    .task-description-editor{min-height:210px}
    .task-activity-pane{min-height:500px}
    .task-comment-composer{padding-bottom:calc(12px + env(safe-area-inset-bottom))}

    .chat-shell{
        width:100%;height:auto;min-height:calc(100dvh - 112px);
        display:block!important;border-radius:16px;overflow:hidden;
    }
    .chat-sidebar-panel{max-height:260px;border-right:0;border-bottom:1px solid var(--line)}
    .chat-sidebar-head{padding:13px}
    .chat-sidebar-scroll{max-height:178px;padding:8px}
    .chat-main-panel{min-height:560px}
    .chat-main-head{min-height:66px;padding:11px 12px}
    .chat-message-area{height:min(58dvh,620px);padding:14px 10px}
    .chat-message{gap:7px}
    .chat-message-content{max-width:calc(100% - 42px)}
    .chat-message-bubble,.chat-message-wrap{max-width:100%!important}
    .chat-image-attachment,.chat-video-attachment{max-width:100%!important}
    .chat-composer{margin:0 8px calc(8px + env(safe-area-inset-bottom));grid-template-columns:42px minmax(0,1fr) 44px}
    .chat-composer textarea{font-size:16px!important}
    .chat-attachment-preview{margin-right:8px;margin-left:8px}
    .chat-create-dialog,.vault-reauth-dialog,.vault-module-permissions-dialog{
        width:100%!important;max-width:none!important;max-height:96dvh;
        border-radius:22px 22px 0 0!important;
    }

    .notification-card{grid-template-columns:46px minmax(0,1fr)!important;padding:14px!important}
    .notification-card>aside,.notification-card-actions{grid-column:2!important;justify-self:start!important}
    .notification-context{grid-template-columns:1fr!important}

    .vault-card-grid{grid-template-columns:1fr!important}
    .vault-card{min-width:0}
    .vault-card>header{grid-template-columns:38px minmax(0,1fr) auto!important}
    .vault-card-actions{display:grid!important;grid-template-columns:1fr 1fr;gap:7px}
    .vault-card-actions>*{width:100%}
    .vault-permission-list>label{grid-template-columns:minmax(0,1fr)!important;gap:8px!important}

    .system-tabs,.profile-tabs,.chat-create-tabs{
        width:100%;max-width:100%;display:flex!important;overflow-x:auto;
        scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;
        scrollbar-width:none;
    }
    .system-tabs::-webkit-scrollbar,.profile-tabs::-webkit-scrollbar,
    .chat-create-tabs::-webkit-scrollbar{display:none}
    .system-tabs>a,.system-tabs>button,.profile-tabs>a,.chat-create-tabs>button{
        min-width:max-content;scroll-snap-align:start;
    }
    .system-backup-card,.database-backup-card{grid-template-columns:1fr!important;gap:12px!important}
    .system-backup-card-actions,.database-backup-card-actions{width:100%;display:grid!important;grid-template-columns:1fr 1fr}

    .finance-side{display:grid!important;grid-template-columns:1fr!important}
    .finance-kpis{margin-bottom:12px}
    .finance-chart-scroll,.ops-report-trend{overflow-x:auto;-webkit-overflow-scrolling:touch}
    .finance-horizontal-chart>div,.finance-tax-chart>div,
    .ops-report-member-bars>div,.ops-report-attendance-bars>div,
    .ops-report-priority-bars>div{grid-template-columns:minmax(90px,1fr) minmax(110px,2fr) 42px!important}

    .update-preflight-head{grid-template-columns:1fr!important}
    .update-preflight-actions{width:100%;display:grid!important;grid-template-columns:1fr 1fr}
    .diagnostic-definition-list{grid-template-columns:1fr!important}

    .pagination,.pagination-controls,.vault-pagination{
        width:100%;display:flex;justify-content:center;flex-wrap:wrap;gap:6px;
    }
    .pagination a,.pagination span,.pagination button,
    .pagination-controls a,.pagination-controls span,.vault-pagination a,.vault-pagination span{
        min-width:40px;min-height:40px;display:grid;place-items:center;
    }

    .login-shell{padding:16px;padding-top:max(16px,env(safe-area-inset-top));padding-bottom:max(16px,env(safe-area-inset-bottom))}
    .login-card{padding:22px 18px;border-radius:18px}
}

@media(max-width:540px){
    :root{--mobile-edge:10px}
    .topbar{min-height:72px}
    .topbar h1{font-size:21px}
    .actions .primary span,.actions .secondary span{display:none}
    .content{padding-top:11px}
    .panel{padding:13px}
    .stats,.crm-stats,.finance-kpis,.ops-report-kpis,.vault-summary-grid,
    .diagnostic-summary-grid,.update-preflight-metrics,.database-backup-stats,
    .client-summary-grid,.attendance-summary{grid-template-columns:1fr!important}
    .calendar-grid{grid-template-columns:1fr!important}
    .hero{padding:18px 15px}
    .hero-date b{font-size:19px}
    .toolbar-period-label{display:inline-flex;margin-top:4px}
    .task-property{grid-template-columns:22px 72px minmax(0,1fr)!important}
    .task-property>label{font-size:11px}
    .task-header-actions .primary{padding-right:9px;padding-left:9px}
    .task-header-actions .primary i{margin:0}
    .chat-message-avatar{width:30px;height:30px}
    .chat-message-content{max-width:calc(100% - 36px)}
    .chat-message-content header{gap:5px;flex-wrap:wrap}
    .chat-message-text{font-size:13px}
    .chat-sidebar-panel{max-height:230px}
    .chat-main-panel{min-height:520px}
    .chat-message-area{height:55dvh}
    .notification-card{grid-template-columns:40px minmax(0,1fr)!important}
    .vault-card-actions,.system-backup-card-actions,.database-backup-card-actions,
    .update-preflight-actions,.modal-foot>div{grid-template-columns:1fr!important}
    .ops-report-hero-actions>*,.vault-hero-actions>*{width:100%}
    .pwa-install-banner,.pwa-toast{left:10px!important;right:10px!important;width:auto!important}
}

@media(display-mode:standalone) and (max-width:820px){
    .topbar{padding-top:max(12px,env(safe-area-inset-top))}
    .content{padding-bottom:calc(26px + env(safe-area-inset-bottom))}
}


/* v0.22.2 — desplazamiento vertical móvil */
html{
    width:100%;
    min-height:100%;
    height:auto;
    overflow-x:hidden;
    overflow-y:auto;
    scroll-behavior:auto;
    touch-action:pan-y pinch-zoom;
}
body{
    width:100%;
    min-height:100%;
    height:auto;
    overflow-x:hidden;
    overflow-y:auto;
    overscroll-behavior-y:auto;
    touch-action:pan-y pinch-zoom;
    -webkit-overflow-scrolling:touch;
}
.app,
.main,
.content{
    height:auto;
    overflow-y:visible;
}
body:not(.sidebar-open):not(.cf-scroll-locked):not(.chat-media-open){
    position:static!important;
    height:auto!important;
    overflow-y:auto!important;
    touch-action:pan-y pinch-zoom!important;
}
body.cf-scroll-locked,
body.sidebar-open,
body.chat-media-open{
    overflow:hidden!important;
    touch-action:none;
}
@media(max-width:820px){
    .main{
        min-height:100dvh;
    }
    .content{
        min-height:calc(100dvh - 76px);
    }
    .sidebar:not(.open)+*{
        pointer-events:auto;
    }
}


/* v0.22.4 — comentarios de tareas en móvil */
@media(max-width:820px){
    .task-comment-composer footer{
        display:flex;
        flex-direction:row;
        align-items:center;
        justify-content:space-between;
    }
    .task-comment-composer footer>div{
        width:auto;
    }
    .task-comment-button{
        min-width:104px;
    }
}


/* v0.22.5 — métricas compactas del Dashboard y Mi trabajo */
@media(max-width:820px){
    .stats[data-dashboard-stats]{
        display:grid!important;
        grid-template-columns:repeat(3,minmax(0,1fr))!important;
        gap:8px!important;
        margin:12px 0 18px!important;
    }

    .stats[data-dashboard-stats] .stat{
        min-width:0!important;
        min-height:88px!important;
        display:flex!important;
        flex-direction:column!important;
        justify-content:center!important;
        align-items:flex-start!important;
        gap:7px!important;
        padding:12px 10px!important;
        border-radius:15px!important;
        overflow:hidden;
    }

    .stats[data-dashboard-stats] .stat b{
        display:block!important;
        margin:0!important;
        font-size:clamp(24px,7vw,30px)!important;
        line-height:1!important;
        letter-spacing:-.04em;
    }

    .stats[data-dashboard-stats] .stat span{
        width:100%;
        min-width:0;
        display:block;
        color:var(--muted);
        font-size:0!important;
        line-height:1.15!important;
        white-space:normal;
        overflow-wrap:anywhere;
    }

    .stats[data-dashboard-stats] .stat span::after{
        content:attr(data-mobile-label);
        display:block;
        font-size:11px;
        line-height:1.15;
        font-weight:600;
    }
}

@media(max-width:360px){
    .stats[data-dashboard-stats]{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
    }

    .stats[data-dashboard-stats] .stat{
        min-height:82px!important;
    }
}


/* v0.22.6 — barrido responsive global en móvil */
@media(max-width:820px){
    .crm-stats,
    .client-summary-grid,
    .finance-kpis,
    .attendance-summary{
        grid-template-columns:repeat(3,minmax(0,1fr))!important;
        gap:8px!important;
    }

    .crm-stat,
    .client-summary-grid article,
    .finance-kpi,
    .attendance-summary article{
        min-width:0!important;
        min-height:84px!important;
        padding:12px 10px!important;
        border-radius:15px!important;
        overflow:hidden;
    }

    .crm-stat,
    .finance-kpi{
        display:flex!important;
        flex-direction:column!important;
        justify-content:center!important;
        align-items:flex-start!important;
        gap:6px!important;
    }

    .client-summary-grid article,
    .attendance-summary article{
        align-items:flex-start!important;
        gap:9px!important;
    }

    .crm-stat b,
    .client-summary-grid b,
    .finance-kpi b,
    .attendance-summary article b{
        display:block!important;
        margin:0!important;
        font-size:clamp(20px,6.4vw,26px)!important;
        line-height:1.02!important;
        letter-spacing:-.03em;
        overflow-wrap:anywhere;
    }

    .crm-stat span,
    .client-summary-grid span,
    .finance-kpi small,
    .finance-kpi span,
    .attendance-summary article small{
        display:block;
        min-width:0;
        font-size:11px!important;
        line-height:1.2!important;
        overflow-wrap:anywhere;
    }

    .page-heading>.primary,
    .page-heading>.secondary,
    .page-heading>.danger,
    .client-heading>.client-status,
    .finance-heading-actions>*,
    .quick-actions>*,
    .system-backup-actions>*,
    .database-backup-card-actions>*,
    .database-backup-list-header>*,
    .notifications-head-summary>*,
    .chat-create-tabs>*,
    .notification-card-action,
    .team-create-user .primary,
    .team-create-user .secondary,
    .profile-section .primary,
    .profile-section .secondary{
        width:100%!important;
    }

    .quick-actions,
    .finance-heading-actions,
    .database-backup-list-header,
    .notifications-head-summary{
        display:grid!important;
        grid-template-columns:1fr!important;
        gap:8px!important;
        align-items:stretch!important;
    }

    .system-update-header,
    .calendar-toolbar,
    .database-backups-header,
    .system-backups-header,
    .section-heading,
    .chat-create-panel-heading{
        flex-direction:column!important;
        align-items:flex-start!important;
        gap:10px!important;
    }

    .section-heading>div,
    .section-heading>span,
    .chat-create-panel-heading>div,
    .chat-create-panel-heading>span{
        min-width:0;
    }

    .profile-layout,
    .account-grid,
    .system-grid,
    .quick-actions,
    .preference-list{
        grid-template-columns:1fr!important;
    }

    .client-actions-card,
    .system-status-card,
    .finance-chart-card,
    .profile-sidebar-card,
    .profile-section,
    .attendance-history,
    .team-access-panel{
        padding:14px!important;
    }

    .calendar-filters{
        width:100%;
        display:grid!important;
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:8px!important;
    }

    .calendar-filters>*{
        min-width:0!important;
        width:100%!important;
    }

    .task-activity-tabs{
        display:flex!important;
        gap:8px!important;
        flex-wrap:nowrap!important;
        overflow-x:auto!important;
        -webkit-overflow-scrolling:touch;
        padding-bottom:2px;
    }

    .task-activity-tabs>*{
        flex:0 0 auto!important;
        min-width:120px;
    }

    .chat-create-tabs{
        display:grid!important;
        grid-template-columns:1fr 1fr!important;
        gap:8px!important;
    }

    .team-access-summary{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:8px!important;
    }

    .notification-card{
        gap:10px!important;
        align-items:flex-start!important;
    }

    .notification-card-body,
    .notification-card-top,
    .notification-card-bottom,
    .database-backup-card-main,
    .database-backup-card-info,
    .database-backup-card-meta,
    .system-backup-card-main,
    .system-backup-card-copy,
    .client-task-list li,
    .chat-conversation-list li{
        min-width:0;
    }

    .notification-card-top,
    .notification-card-bottom,
    .database-backup-card-meta,
    .system-backup-actions{
        gap:8px!important;
    }

    .notification-card-bottom,
    .database-backup-card-meta{
        flex-direction:column!important;
        align-items:flex-start!important;
    }

    .database-backup-card-title,
    .database-backup-card-info b,
    .database-backup-warning,
    .system-backup-card h3,
    .client-task-list b,
    .chat-conversation-list b,
    .table-user b,
    .client-name-link b{
        overflow-wrap:anywhere;
    }

    .notifications-list,
    .client-task-list,
    .system-backup-list,
    .database-backup-list,
    .chat-conversation-list{
        gap:10px!important;
    }
}

@media(max-width:640px){
    .crm-stats,
    .client-summary-grid,
    .finance-kpis,
    .attendance-summary,
    .team-access-summary,
    .calendar-filters{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
    }

    .chat-create-tabs,
    .system-backup-actions,
    .database-backup-card-actions,
    .notifications-head-summary{
        grid-template-columns:1fr!important;
    }
}

@media(max-width:420px){
    .crm-stats,
    .client-summary-grid,
    .finance-kpis,
    .attendance-summary,
    .team-access-summary,
    .calendar-filters{
        grid-template-columns:1fr!important;
    }
}

/* v0.22.7 — mejoras del dashboard en móvil */
.board-mobile-overview{
    display:none;
}

@media(max-width:820px){
    .dashboard-hero{
        padding:18px 18px 16px!important;
        min-height:0!important;
    }

    .dashboard-hero .hero-date{
        display:none!important;
    }

    .dashboard-hero .hero-copy{
        padding-right:72px;
    }

    .dashboard-hero h2{
        margin-bottom:6px;
        font-size:clamp(18px,6.2vw,24px)!important;
        line-height:1.15!important;
    }

    .dashboard-hero span[data-dashboard-summary]{
        font-size:13px!important;
        line-height:1.4!important;
    }

    .toolbar{
        gap:10px!important;
        margin:10px 0 14px!important;
    }

    .toolbar> b{
        display:flex!important;
        align-items:center!important;
        flex-wrap:wrap!important;
        gap:8px!important;
        font-size:20px!important;
        line-height:1.15!important;
    }

    .toolbar-period-label{
        margin:0!important;
        padding:5px 10px!important;
        border-radius:999px!important;
        font-size:11px!important;
        line-height:1!important;
        white-space:nowrap;
    }

    .filters{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:8px!important;
    }

    .filters input[name="q"],
    .filters .small-btn{
        grid-column:1/-1;
    }

    .filters input,
    .filters select,
    .filters button{
        min-height:40px!important;
        padding:8px 10px!important;
        font-size:14px!important;
        border-radius:12px!important;
    }

    .filters .small-btn{
        min-height:42px!important;
        font-weight:700!important;
    }

    .board-mobile-overview{
        display:grid!important;
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:8px;
        margin:2px 0 12px;
    }

    .board-mobile-chip{
        min-width:0;
        text-decoration:none;
        display:grid;
        grid-template-columns:auto minmax(0,1fr) auto;
        align-items:center;
        gap:8px;
        padding:10px 11px;
        background:#fff;
        border:1px solid var(--line);
        border-radius:14px;
        box-shadow:0 4px 12px rgba(20,22,27,.04);
    }

    .board-mobile-chip i{
        width:9px;
        height:9px;
        border-radius:50%;
        display:block;
        flex:0 0 auto;
    }

    .board-mobile-chip span{
        min-width:0;
        font-size:12px;
        line-height:1.15;
        color:#505867;
        font-weight:600;
        overflow-wrap:anywhere;
    }

    .board-mobile-chip b{
        font-size:18px;
        line-height:1;
        color:#0f172a;
    }

    .board{
        gap:10px!important;
        margin-top:0!important;
    }

    .col{
        min-height:0!important;
        border-radius:16px!important;
        overflow:hidden;
        background:#f3f5f8!important;
    }

    .col-head{
        height:auto!important;
        min-height:52px;
        padding:12px 13px!important;
        gap:10px;
    }

    .col-head h3{
        font-size:14px!important;
        line-height:1.2!important;
    }

    .count{
        min-width:28px!important;
        height:28px!important;
        font-size:12px!important;
        font-weight:700;
    }

    .col-pending .col-head{background:#eef1f5!important;}
    .col-progress .col-head{background:#eaf2ff!important;}
    .col-review .col-head{background:#f2edff!important;}
    .col-client .col-head{background:#fff4db!important;}
    .col-done .col-head{background:#e8f8f1!important;}

    .col-pending .count{background:#dbe1e8!important;color:#596273!important;}
    .col-progress .count{background:#d9e8ff!important;color:#0758d1!important;}
    .col-review .count{background:#e5dbff!important;color:#6441c5!important;}
    .col-client .count{background:#ffe7b5!important;color:#955800!important;}
    .col-done .count{background:#ccefe0!important;color:#137a52!important;}

    .zone{
        min-height:0!important;
        padding:9px!important;
        display:grid;
        gap:8px;
    }

    .task-card{
        margin-bottom:0!important;
        border-radius:13px!important;
        padding:12px!important;
    }

    .card-top,
    .card-foot{
        gap:6px!important;
    }

    .card-top{
        flex-wrap:wrap;
    }

    .card-foot{
        align-items:flex-start!important;
        flex-direction:column!important;
    }

    .who,
    .date,
    .client,
    .type{
        font-size:11px!important;
        line-height:1.25!important;
    }
}

@media(max-width:420px){
    .filters{
        grid-template-columns:1fr!important;
    }

    .filters input[name="q"],
    .filters .small-btn{
        grid-column:auto!important;
    }

    .board-mobile-overview{
        grid-template-columns:1fr!important;
    }
}

/* v0.22.8 — navegación superior siempre visible en móvil */
@media(max-width:820px){
    :root{
        --cf-mobile-topbar-height:calc(76px + env(safe-area-inset-top));
    }

    .topbar{
        position:fixed!important;
        inset:0 0 auto 0!important;
        width:100%!important;
        min-height:var(--cf-mobile-topbar-height)!important;
        padding:calc(10px + env(safe-area-inset-top)) var(--mobile-edge) 10px!important;
        z-index:40!important;
        background:rgba(255,255,255,.96)!important;
        border-bottom:1px solid rgba(218,223,232,.96)!important;
        box-shadow:0 8px 24px rgba(16,24,40,.08)!important;
        backdrop-filter:blur(14px);
        -webkit-backdrop-filter:blur(14px);
    }

    .main{
        padding-top:var(--cf-mobile-topbar-height)!important;
    }

    .content{
        min-height:calc(100dvh - var(--cf-mobile-topbar-height))!important;
    }

    .topbar-heading,
    .topbar-title-copy,
    .actions{
        min-width:0;
    }

    .topbar-title-copy h1{
        overflow:hidden;
        text-overflow:ellipsis;
        white-space:nowrap;
    }

    .topbar .actions{
        flex:0 0 auto;
    }
}

@media(max-width:420px){
    :root{
        --cf-mobile-topbar-height:calc(72px + env(safe-area-inset-top));
    }

    .topbar{
        gap:7px!important;
        padding-right:9px!important;
        padding-left:9px!important;
    }

    .topbar-heading{
        gap:7px!important;
    }

    .topbar-title-copy h1{
        max-width:38vw;
    }
}


/* v0.22.9 — mensajería móvil accesible */
@media(max-width:760px){
    .chat-shell{
        min-height:calc(100dvh - 108px);
        border-radius:18px;
        position:relative;
        background:#fff;
    }
    .chat-shell.chat-mobile-sidebar .chat-main-panel{
        display:none;
    }
    .chat-shell.chat-mobile-thread .chat-sidebar-panel{
        display:none;
    }
    .chat-sidebar-panel,
    .chat-main-panel{
        min-height:calc(100dvh - 108px);
    }
    .chat-sidebar-header,
    .chat-main-header{
        min-height:72px;
        padding:14px 14px 12px;
    }
    .chat-sidebar-header h2,
    .chat-main-identity h2{
        font-size:18px;
    }
    .chat-sidebar-header p,
    .chat-main-identity p,
    .chat-conversation-copy b,
    .chat-conversation-copy small,
    .chat-message-content header b,
    .chat-message-content header time,
    .chat-message-meta,
    .chat-file-attachment b,
    .chat-file-attachment small,
    .chat-audio-attachment-meta b,
    .chat-audio-attachment-meta small{
        font-size:12px;
    }
    .chat-mobile-back{
        display:inline-flex;
        flex:0 0 auto;
    }
    .chat-main-header{
        gap:10px;
        align-items:center;
    }
    .chat-live-indicator{
        display:none;
    }
    .chat-main-identity{
        gap:10px;
        min-width:0;
        flex:1;
    }
    .chat-sidebar-scroll{
        max-height:none;
        padding:8px 8px 16px;
    }
    .chat-conversation-list{
        gap:6px;
    }
    .chat-conversation-item{
        grid-template-columns:42px minmax(0,1fr) auto;
        gap:10px;
        padding:12px 10px;
        border:1px solid transparent;
        border-radius:14px;
    }
    .chat-conversation-item.active{
        border-color:#cfe0ff;
    }
    .chat-conversation-symbol,
    .chat-conversation-avatar,
    .chat-presence-avatar{
        width:42px!important;
        height:42px!important;
        flex-basis:42px;
    }
    .chat-search{
        margin:0 12px 12px;
        min-height:46px;
        border-radius:14px;
    }
    .chat-search input{
        font-size:16px;
    }
    .chat-message-area{
        height:auto;
        min-height:calc(100dvh - 340px);
        max-height:none;
        padding:14px 12px 20px;
    }
    .chat-message{
        grid-template-columns:32px minmax(0,1fr);
        gap:8px;
        margin-bottom:18px;
    }
    .chat-message.is-own{
        grid-template-columns:minmax(0,1fr) 32px;
    }
    .chat-message-avatar{width:32px!important;height:32px!important}
    .chat-message-content header{
        margin:0 2px 6px;
        flex-wrap:wrap;
    }
    .chat-message-wrap,
    .chat-message-bubble{
        max-width:100%!important;
    }
    .chat-message-bubble{
        border-radius:16px;
    }
    .chat-message.is-own .chat-message-bubble{
        border-radius:16px;
    }
    .chat-message-text{
        padding:12px 14px;
        font-size:14px;
        line-height:1.6;
    }
    .chat-message-toolbar{
        position:static;
        margin:0 0 6px;
        padding:4px;
        max-width:100%;
        overflow-x:auto;
        opacity:1;
        visibility:visible;
        transform:none;
        box-shadow:none;
        scrollbar-width:none;
        background:#fff;
    }
    .chat-message-toolbar::-webkit-scrollbar{display:none}
    .chat-quick-reactions button,
    .chat-message-action-icon{
        width:28px;
        height:28px;
        flex:0 0 28px;
    }
    .chat-image-attachment,
    .chat-video-attachment,
    .chat-file-attachment,
    .chat-audio-attachment{
        max-width:100%!important;
        min-width:0;
    }
    .chat-file-attachment{
        min-width:0;
        grid-template-columns:38px minmax(0,1fr) 24px;
    }
    .chat-audio-attachment{
        min-width:0;
    }
    .chat-message-meta{
        margin-top:6px;
        flex-wrap:wrap;
        row-gap:4px;
    }
    .chat-typing-indicator{
        margin:0 12px 8px;
        padding:0;
    }
    .chat-audio-recorder{
        margin:0 10px 8px;
        padding:10px 12px;
        border-radius:16px;
        gap:10px;
        flex-wrap:wrap;
    }
    .chat-audio-recorder-copy{flex:1 0 120px}
    .chat-audio-recorder .secondary,
    .chat-audio-recorder .primary{
        flex:1 1 120px;
    }
    .chat-composer{
        position:sticky;
        bottom:calc(8px + env(safe-area-inset-bottom));
        z-index:6;
        margin:0 8px calc(8px + env(safe-area-inset-bottom));
        padding:8px;
        grid-template-columns:40px minmax(0,1fr) 40px 42px;
        gap:6px;
        border-radius:18px;
    }
    .chat-composer textarea{
        min-height:40px;
        max-height:120px;
        padding:10px 2px;
        font-size:16px!important;
    }
    .chat-composer-tool,
    .chat-send-button{
        width:40px;
        height:40px;
        border-radius:12px;
    }
    .chat-attachment-preview{
        margin:0 8px 8px;
        padding:10px 12px;
        border-radius:16px;
    }
}

@media(max-width:540px){
    .chat-shell,
    .chat-sidebar-panel,
    .chat-main-panel{
        min-height:calc(100dvh - 98px);
    }
    .chat-main-header,
    .chat-sidebar-header{
        padding:12px 12px 10px;
    }
    .chat-main-identity h2,
    .chat-sidebar-header h2{font-size:17px}
    .chat-message-area{
        min-height:calc(100dvh - 318px);
        padding:12px 10px 18px;
    }
    .chat-mobile-back span{
        display:none;
    }
    .chat-composer{
        grid-template-columns:38px minmax(0,1fr) 38px 40px;
    }
}

/* v0.22.10 — acciones por pulsación larga y último mensaje visible */
@media(max-width:760px){
    .chat-message-area{
        flex:1 1 auto;
        min-height:0;
        height:auto;
        max-height:none;
        overflow-y:auto;
        -webkit-overflow-scrolling:touch;
    }
    .chat-message-toolbar{
        display:none;
        position:static;
        margin:0 0 6px;
        padding:4px;
        max-width:100%;
        overflow-x:auto;
        opacity:1;
        visibility:visible;
        transform:none;
        box-shadow:none;
        scrollbar-width:none;
        background:#fff;
        pointer-events:auto;
    }
    .chat-message.is-toolbar-visible .chat-message-toolbar,
    .chat-message.is-editing .chat-message-toolbar{
        display:flex;
    }
    .chat-message.is-own .chat-message-toolbar{
        justify-content:flex-end;
    }
}

/* v0.22.11 — apertura neutral y posición en mensajes recientes */
@media(max-width:760px){
    .chat-shell{
        height:calc(100dvh - var(--cf-mobile-topbar-height) - 22px)!important;
        min-height:520px!important;
        max-height:calc(100dvh - var(--cf-mobile-topbar-height) - 22px)!important;
    }

    .chat-sidebar-panel,
    .chat-main-panel{
        height:100%!important;
        min-height:0!important;
        max-height:100%!important;
        overflow:hidden!important;
    }

    .chat-sidebar-scroll,
    .chat-message-area{
        min-height:0!important;
        flex:1 1 0!important;
        overflow-y:auto!important;
        overscroll-behavior-y:contain;
        -webkit-overflow-scrolling:touch;
    }

    .chat-message-area{
        height:auto!important;
        max-height:none!important;
    }
}

@media(max-width:420px){
    .chat-shell{
        height:calc(100dvh - var(--cf-mobile-topbar-height) - 16px)!important;
        max-height:calc(100dvh - var(--cf-mobile-topbar-height) - 16px)!important;
    }
}

/* v0.22.12 — compositor visible sobre navegación del dispositivo */
@media(max-width:760px){
    :root{
        --cf-chat-visual-height:100dvh;
        --cf-chat-bottom-clearance:max(18px,env(safe-area-inset-bottom));
    }

    .chat-shell{
        height:calc(
            var(--cf-chat-visual-height)
            - var(--cf-mobile-topbar-height)
            - 22px
        )!important;
        max-height:calc(
            var(--cf-chat-visual-height)
            - var(--cf-mobile-topbar-height)
            - 22px
        )!important;
        min-height:360px!important;
    }

    .chat-main-panel{
        padding-bottom:var(--cf-chat-bottom-clearance)!important;
        box-sizing:border-box;
    }

    .chat-message-area{
        padding-bottom:18px!important;
        scroll-padding-bottom:96px;
    }

    .chat-composer{
        position:relative!important;
        inset:auto!important;
        flex:0 0 auto;
        margin:0 8px 0!important;
        transform:none!important;
    }

    .chat-attachment-preview,
    .chat-audio-recorder{
        flex:0 0 auto;
    }
}

@media(display-mode:standalone) and (max-width:760px){
    :root{
        --cf-chat-bottom-clearance:max(36px,env(safe-area-inset-bottom));
    }
}

@media(max-width:420px){
    .chat-shell{
        height:calc(
            var(--cf-chat-visual-height)
            - var(--cf-mobile-topbar-height)
            - 16px
        )!important;
        max-height:calc(
            var(--cf-chat-visual-height)
            - var(--cf-mobile-topbar-height)
            - 16px
        )!important;
    }
}

/* v0.22.19 — estado inicial de Mensajes en móvil */
@media(max-width:760px){
    .chat-selection-state{
        min-height:calc(100dvh - 260px);
        padding:28px 18px;
    }
    .chat-selection-icon{
        width:58px;
        height:58px;
        border-radius:18px;
        font-size:22px;
    }
    .chat-selection-state h3{
        font-size:18px;
    }
    .chat-selection-state>p:not(.eyebrow){
        font-size:13px;
    }
    .chat-selection-action{
        width:100%;
        max-width:300px;
    }
}


/* v0.22.28 — notas de voz compactas en móvil */
@media(max-width:760px){
    .chat-message-wrap:has(.chat-voice-note){width:100%;max-width:100%}
    .chat-voice-note{
        width:min(100%,410px);
        min-width:270px;
        min-height:68px;
        grid-template-columns:42px minmax(0,1fr) 30px;
        gap:8px;
        padding:9px 10px;
    }
    .chat-voice-play{width:40px;height:40px}
    .chat-voice-waveform{height:34px}
    .chat-voice-download{display:none}
    .chat-voice-speed{width:29px;height:29px;opacity:1}
    .chat-voice-meta{font-size:9px}
}
@media(max-width:390px){
    .chat-voice-note{min-width:245px}
    .chat-voice-label{max-width:92px}
}

/* v0.22.29 — calendario útil en móvil/PWA */
@media(max-width:820px){
    .calendar-page-v2{gap:10px}
    .calendar-hero-v2{padding:16px;align-items:flex-start;flex-direction:column;border-radius:15px}
    .calendar-hero-copy h2{font-size:22px}
    .calendar-hero-copy>p:last-child{font-size:11px}
    .calendar-hero-actions{width:100%;display:grid;grid-template-columns:1fr;gap:8px}
    .calendar-view-switch{width:100%;display:grid;grid-template-columns:repeat(3,1fr)}
    .calendar-view-switch a{padding:0 6px;font-size:10px}
    .calendar-new-task{width:100%;justify-content:center}
    .calendar-kpis-v2{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
    .calendar-kpi{padding:11px;gap:8px}
    .calendar-kpi>span{width:34px;height:34px}
    .calendar-kpi b{font-size:19px}
    .calendar-kpi small{font-size:9px}
    .calendar-control-panel{padding:10px;gap:9px}
    .calendar-navigation-v2{width:100%;justify-content:center}
    .calendar-navigation-v2 a{height:40px;min-width:42px}
    .calendar-navigation-v2 .calendar-today-link{flex:1;max-width:150px}
    .calendar-filters-v2{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:8px}
    .calendar-search-field{grid-column:1/-1;min-width:0;max-width:none}
    .calendar-filters-v2>label:not(.calendar-search-field):not(.calendar-toggle-filter){min-width:0}
    .calendar-filters-v2 select,.calendar-filters-v2 input[type="search"]{height:44px;font-size:16px!important}
    .calendar-toggle-filter{min-height:44px}
    .calendar-clear-filters{height:44px;justify-content:center}
    .calendar-workspace-v2,.calendar-agenda-layout-v2{display:block}
    .calendar-month-layout .calendar-main-panel{display:none}
    .calendar-month-layout .calendar-side-rail{display:none}
    .calendar-mobile-agenda{display:block;padding:13px;border:1px solid var(--line);border-radius:14px;background:#fff}
    .calendar-mobile-agenda>header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:9px;border-bottom:1px solid var(--line)}
    .calendar-mobile-agenda h3{margin:3px 0 0;font-size:14px}
    .calendar-mobile-agenda>header>a{color:var(--primary);text-decoration:none;font-size:10px;font-weight:850}
    .calendar-mobile-agenda-list{display:grid;gap:6px;padding-top:8px}
    .calendar-task-v2.is-compact{padding:10px 11px 10px 13px}
    .calendar-task-v2.is-compact>b{font-size:12px}
    .calendar-task-v2.is-compact>small{font-size:10px}
    .calendar-week-panel-v2{margin:0;overflow:visible;background:transparent;border:0;padding:0}
    .calendar-week-grid-v2{min-width:0;display:grid;grid-template-columns:1fr;gap:8px;background:transparent}
    .calendar-week-day-v2{min-height:0;border:1px solid var(--line);border-radius:13px;overflow:hidden}
    .calendar-week-day-v2>header{min-height:66px;grid-template-columns:auto auto 1fr auto;place-items:center start;align-content:center;gap:7px;padding:10px 12px}
    .calendar-week-day-v2>header>span{grid-column:1/-1;justify-self:start}
    .calendar-week-day-v2>header>b{font-size:18px}
    .calendar-week-day-v2>header>small{font-size:10px}
    .calendar-week-day-v2>header>em{position:static;margin-left:auto}
    .calendar-week-day-v2>header>button{position:static;opacity:1;margin-left:auto}
    .calendar-week-events-v2{padding:8px}
    .calendar-day-empty-action{min-height:46px}
    .calendar-agenda-list-v2{margin:0;padding:13px}
    .calendar-agenda-day-v2+ .calendar-agenda-day-v2{margin-top:16px;padding-top:16px}
    .calendar-agenda-day-v2>header{grid-template-columns:minmax(0,1fr) auto}
    .calendar-agenda-day-v2>header>span{display:none}
    .calendar-agenda-day-v2>header>button{grid-column:2;grid-row:1}
    .calendar-agenda-row-v2{grid-template-columns:7px minmax(0,1fr) 18px;gap:8px;padding:11px 9px}
    .calendar-agenda-assignee,.calendar-agenda-row-v2>.priority,.calendar-agenda-status-label{display:none}
    .calendar-agenda-row-copy b{font-size:12px;white-space:normal;line-height:1.35}
    .calendar-agenda-row-copy span{font-size:10px}
    .calendar-side-rail{position:static;margin-top:10px}
}
@media(max-width:480px){
    .calendar-filters-v2{grid-template-columns:1fr}
    .calendar-search-field{grid-column:auto}
    .calendar-kpis-v2{grid-template-columns:1fr 1fr}
    .calendar-kpi{align-items:flex-start}
    .calendar-kpi small{white-space:normal;line-height:1.25}
}

/* v0.22.36 — cuentas por cobrar sin desplazamiento lateral */
@media(max-width:760px){
  .nav-finance-group>.nav-sub{margin-left:12px}
  .receivable-table-panel{border-radius:14px}
  .receivable-table-wrap{max-height:none;overflow:visible}
  .receivable-table{width:100%;min-width:0}
}


/* v0.22.52 — ficha fiscal móvil completa */
@media(max-width:820px){.client-profile-tabs{margin-bottom:14px;padding:6px}.client-profile-tabs a{flex:1;justify-content:center;padding:10px 12px;font-size:12px}.client-fiscal-panel{padding:16px}.fiscal-heading{display:grid;gap:12px}.fiscal-heading-actions{justify-content:flex-start}.fiscal-form-section{padding:14px}.fiscal-form-grid{grid-template-columns:1fr}.fiscal-col-3,.fiscal-col-4,.fiscal-col-6,.fiscal-col-8,.fiscal-col-9,.fiscal-col-12{grid-column:auto}.fiscal-toggle-grid{grid-template-columns:1fr}.fiscal-form-actions{align-items:stretch;flex-direction:column}.fiscal-form-actions .primary{justify-content:center;width:100%}}
@media(max-width:520px){.client-profile-tabs a{font-size:11px;gap:7px}.fiscal-form-section-head>span{width:38px;height:38px;flex-basis:38px}.fiscal-heading-actions{display:grid;justify-items:start}}


@media (max-width: 760px) {
  .client-fiscal-panel .fiscal-toggle-grid {
    grid-template-columns: 1fr;
  }
}


/* v0.22.73 — Facturación móvil */
@media (max-width: 900px){
  .billing-cf-header-grid,.billing-cf-bottom-grid{grid-template-columns:1fr}.billing-cf-summary{position:static}.billing-cf-client-card{grid-template-columns:1fr 1fr}.billing-cf-line-labels{display:none}.billing-cf-line{grid-template-columns:1fr 1fr;padding:14px}.billing-cf-line .field>span,.billing-cf-line-total>span{display:block}.billing-cf-description{grid-column:1/-1}.billing-cf-line-total{min-height:auto}.billing-cf-remove-line{align-self:end;justify-self:end}.billing-future-tab{display:none}
}
@media (max-width: 620px){
  .billing-tabs{overflow-x:auto}.billing-tabs a{white-space:nowrap}.billing-cf-client-card{grid-template-columns:1fr}.billing-cf-client-address{grid-column:auto}.billing-cf-line{grid-template-columns:1fr}.billing-cf-description{grid-column:auto}.billing-cf-options-panel .form-grid{grid-template-columns:1fr}.billing-cf-panel-head,.billing-cf-section-head{align-items:stretch;flex-direction:column}.billing-cf-section-head .secondary{width:100%}
}


@media (max-width: 900px){
  .billing-document-filters{
    grid-template-columns:1fr 1fr;
  }
  .billing-document-search{
    grid-column:1 / -1;
  }
  .billing-document-filter-actions{
    grid-column:1 / -1;
  }
}
@media (max-width: 640px){
  .billing-document-filters{
    grid-template-columns:1fr;
  }
  .billing-document-search,
  .billing-document-filter-actions{
    grid-column:auto;
  }
  .billing-document-filter-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
  }
  .billing-document-list-summary{
    display:grid;
    gap:4px;
  }
  .billing-document-pagination{
    align-items:stretch;
  }
  .billing-document-pagination>div{
    display:none;
  }
  .billing-document-pagination>a{
    flex:1;
  }
}


@media (max-width: 760px){
  .billing-pdf-settings-grid{
    grid-template-columns:1fr;
  }
  .billing-pdf-logo-preview{
    min-height:190px;
  }
}


@media(max-width:760px){
  .comment-paste-hint{display:none}
  .task-description-toolbar{align-items:flex-start;flex-direction:column}
}


@media (max-width: 760px){
  .billing-cf-documents .billing-cf-table{
    min-width:980px;
  }
  .billing-document-actions{
    min-width:360px;
  }
}


/* v0.22.73 — nombres completos en notificaciones móviles */
@media(max-width:760px){
  .notification-task-line b,
  .notification-client-line b{
    max-width:100%!important;
    overflow:visible!important;
    text-overflow:clip!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }
}

/* v0.23.00 — DTE responsive */
@media(max-width:900px){
  .billing-related-row{grid-template-columns:1fr 1fr}
  .billing-related-number{grid-column:1/-1}
  .billing-dte-special-grid,.billing-integration-grid,.billing-integration-checks{grid-template-columns:1fr}
  .billing-integration-wide{grid-column:auto}
  .billing-document-filters{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
  .billing-related-row,.billing-document-filters{grid-template-columns:1fr}
  .billing-related-number{grid-column:auto}
  .billing-related-row .billing-cf-remove-line{justify-self:end}
  .billing-dte-type-selector{padding:14px}
}

/* CuernoFlow 0.23.16 — Centro de Correos */
@media (max-width:1200px){
  .email-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}
  .email-campaign-layout{grid-template-columns:380px minmax(0,1fr)}
}
@media (max-width:900px){
  .email-center-heading{align-items:flex-start;flex-direction:column}
  .email-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .email-overview-grid,.email-two-column,.email-campaign-layout{grid-template-columns:1fr}
  .email-campaign-editor{position:static}
  .email-section-header{align-items:flex-start;flex-direction:column}
}
@media (max-width:620px){
  .email-kpis{grid-template-columns:1fr}
  .email-kpi{padding:14px}
  .email-center-tabs{margin-left:-4px;margin-right:-4px}
  .email-feature-card{padding:18px}
  .email-section-header,.email-compose-card,.email-settings-form{padding:18px}
  .email-form-grid,.email-template-row{grid-template-columns:1fr}
  .email-template-row textarea{grid-column:1}
  .email-template-row b{padding-top:0}
  .email-campaign-list article{align-items:flex-start;flex-direction:column}
  .email-campaign-actions{width:100%;justify-content:flex-end}
}

/* v0.23.16 — credenciales en tareas */
@media (max-width:760px){
  .task-vault-access{padding:0 10px 10px}
  .task-vault-trigger{width:100%;justify-content:center}
  .task-vault-linked{display:grid;grid-template-columns:1fr}
  .task-vault-linked-card{min-width:0;max-width:none;width:100%}
  .task-vault-picker{position:relative}
  .task-vault-options{max-height:220px}
}

/* ==========================================================================
   CuernoFlow 0.24.74 — Task Mobile UX / Single Scroll Surface
   ========================================================================== */
@media (max-width:790px){

  .task-modal-bg{
    padding:0!important;
    align-items:stretch!important;
    justify-content:stretch!important;
    overflow:hidden!important;
    touch-action:none;
  }

  .task-workspace{
    width:100vw!important;
    max-width:100vw!important;
    height:100dvh!important;
    min-height:100dvh!important;
    max-height:100dvh!important;
    border:0!important;
    border-radius:0!important;
    overflow:hidden!important;
    contain:none!important;
    box-shadow:none!important;
    background:#fff;
  }

  /*
   * Un único scroll vertical.
   * Antes task-workspace-body + task-tab-content competían entre sí y
   * overscroll-behavior:contain podía capturar el gesto en Android.
   */
  .task-workspace-body{
    display:block!important;
    flex:1 1 auto!important;
    min-height:0!important;
    height:auto!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch;
    touch-action:pan-y!important;
    overscroll-behavior-x:none!important;
    overscroll-behavior-y:contain!important;
    scroll-behavior:auto!important;
    background:#fff;
  }

  .task-main-pane,
  .task-activity-pane,
  .task-tab-content{
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
    overscroll-behavior:auto!important;
    touch-action:auto!important;
  }

  .task-main-pane{
    min-height:0!important;
  }

  .task-activity-pane{
    min-height:0!important;
    display:block!important;
    border-left:0!important;
    border-top:1px solid var(--line)!important;
    background:#f8fafc!important;
  }

  .task-workspace-header{
    position:relative!important;
    top:auto!important;
    z-index:20!important;
    min-height:62px!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:7px!important;
    padding:
      calc(8px + env(safe-area-inset-top))
      9px
      8px!important;
    border-bottom:1px solid #e7ebf1!important;
    box-shadow:0 4px 14px rgba(16,24,40,.05);
  }

  .task-header-context{
    min-width:0!important;
    max-width:100%!important;
    gap:7px!important;
    overflow:hidden!important;
  }

  .task-header-icon{
    width:36px!important;
    height:36px!important;
    flex:0 0 36px!important;
    border-radius:11px!important;
  }

  .task-breadcrumb{
    min-width:0!important;
    max-width:100%!important;
    gap:4px!important;
    overflow:hidden!important;
    white-space:nowrap!important;
    font-size:11px!important;
  }

  .task-breadcrumb span,
  .task-breadcrumb b{
    min-width:0!important;
  }

  .task-breadcrumb span:first-child{
    max-width:clamp(74px,25vw,125px)!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }

  .task-header-context small{
    display:none!important;
  }

  .task-header-actions{
    flex:0 0 auto!important;
    gap:4px!important;
  }

  .task-header-actions .primary,
  .task-header-actions button{
    min-height:40px!important;
  }

  .task-header-actions .primary{
    max-width:126px!important;
    padding:8px 10px!important;
    white-space:nowrap!important;
    font-size:11px!important;
    border-radius:11px!important;
  }

  .task-icon-button,
  .task-close{
    width:40px!important;
    height:40px!important;
    min-width:40px!important;
    padding:0!important;
    border-radius:11px!important;
  }

  .task-editor{
    width:100%!important;
    margin:0!important;
    padding:20px 14px 28px!important;
  }

  .task-title-block{
    margin-bottom:18px!important;
  }

  .task-kind-pill{
    margin-bottom:8px!important;
  }

  .task-title-input{
    min-height:46px!important;
    padding:3px 0 9px!important;
    font-size:22px!important;
    line-height:1.25!important;
  }

  .task-properties{
    grid-template-columns:1fr!important;
    row-gap:3px!important;
    margin-bottom:24px!important;
    padding:12px 0!important;
  }

  .task-property{
    min-height:52px!important;
    grid-template-columns:24px 88px minmax(0,1fr)!important;
    gap:6px!important;
    padding:5px 4px!important;
  }

  .task-property input,
  .task-property select{
    min-height:40px!important;
    height:40px!important;
    font-size:14px!important;
  }

  .task-property-label{
    font-size:11px!important;
  }

  .task-editor-section{
    margin-bottom:22px!important;
  }

  .task-section-heading{
    gap:10px!important;
    margin-bottom:9px!important;
  }

  .task-description-editor{
    min-height:180px!important;
    padding:13px!important;
    font-size:16px!important;
    line-height:1.55!important;
    border-radius:14px!important;
  }

  .task-resource-grid{
    grid-template-columns:1fr!important;
    gap:9px!important;
  }

  .task-resource-card{
    min-height:84px!important;
    padding:12px!important;
    border-radius:14px!important;
  }

  .task-activity-header{
    min-height:0!important;
    padding:18px 15px 12px!important;
    border-bottom:0!important;
    background:#f8fafc!important;
  }

  .task-activity-header h3{
    font-size:18px!important;
  }

  .task-activity-header small{
    margin-top:4px!important;
    font-size:12px!important;
  }

  .task-activity-tabs{
    position:sticky!important;
    top:0!important;
    z-index:12!important;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:7px!important;
    width:100%!important;
    overflow:visible!important;
    padding:9px 14px!important;
    border-top:1px solid #edf0f4!important;
    border-bottom:1px solid #e5eaf0!important;
    background:rgba(255,255,255,.97)!important;
    -webkit-backdrop-filter:blur(8px);
    backdrop-filter:blur(8px);
  }

  .task-activity-tabs>*{
    min-width:0!important;
    width:100%!important;
    min-height:44px!important;
  }

  .task-activity-tabs button{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:9px 11px!important;
    border-radius:11px!important;
    font-size:12px!important;
  }

  .task-tab-content{
    flex:none!important;
    min-height:0!important;
    padding:12px 12px 18px!important;
  }

  .task-activity-feed{
    display:grid!important;
    gap:10px!important;
    padding-top:4px!important;
  }

  .task-activity-item{
    grid-template-columns:40px minmax(0,1fr)!important;
    gap:9px!important;
    padding:7px 0!important;
    border-radius:0!important;
    content-visibility:visible!important;
    contain:none!important;
  }

  .task-activity-avatar{
    width:40px!important;
    height:40px!important;
    font-size:12px!important;
  }

  .task-comment-item{
    margin-top:0!important;
  }

  .task-comment-item .task-activity-item-content{
    padding:12px!important;
    border-radius:14px!important;
    box-shadow:0 1px 0 rgba(16,24,40,.02);
  }

  .task-activity-item-content header{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:start!important;
    gap:5px 8px!important;
  }

  .task-activity-item-content header b{
    min-width:0!important;
    font-size:13px!important;
    line-height:1.35!important;
  }

  .task-activity-item-content time{
    font-size:10px!important;
    line-height:1.4!important;
  }

  .task-activity-item-content p,
  .task-system-event .task-activity-item-content p{
    margin-top:6px!important;
    font-size:13px!important;
    line-height:1.55!important;
  }

  .task-empty-activity,
  .task-empty-activity.compact{
    min-height:190px!important;
    padding:24px 12px!important;
  }

  .task-files-list{
    gap:9px!important;
  }

  .task-file-item{
    min-height:66px!important;
    grid-template-columns:40px minmax(0,1fr) 38px!important;
    gap:9px!important;
    padding:11px!important;
    border-radius:14px!important;
    content-visibility:visible!important;
    contain:none!important;
  }

  .task-file-icon{
    width:40px!important;
    height:40px!important;
    border-radius:10px!important;
  }

  .task-file-item b{
    font-size:12px!important;
  }

  .task-file-item small{
    font-size:11px!important;
  }

  .task-comment-composer{
    position:relative!important;
    inset:auto!important;
    padding:
      12px
      12px
      calc(14px + env(safe-area-inset-bottom))!important;
    border-top:1px solid var(--line)!important;
    background:#fff!important;
  }

  .task-comment-composer textarea{
    min-height:86px!important;
    font-size:16px!important;
    line-height:1.5!important;
    border-radius:13px!important;
  }

  .task-comment-button{
    min-height:42px!important;
    padding:9px 14px!important;
  }

  .task-comment-toolbar{
    max-width:100%!important;
    -webkit-overflow-scrolling:touch;
    touch-action:pan-x!important;
  }

  .task-comment-quick-reactions button,
  .task-comment-action{
    min-width:36px!important;
    width:36px!important;
    height:36px!important;
    flex-basis:36px!important;
  }

  .task-workspace img,
  .task-workspace video,
  .task-workspace iframe{
    max-width:100%!important;
  }

  .task-description-file,
  .task-file-item,
  .task-comment-item,
  .task-activity-item-content{
    min-width:0!important;
  }
}

@media (max-width:390px){
  .task-workspace-header{
    gap:4px!important;
    padding-left:7px!important;
    padding-right:7px!important;
  }

  .task-header-icon{
    width:34px!important;
    height:34px!important;
    flex-basis:34px!important;
  }

  .task-breadcrumb span:first-child{
    max-width:72px!important;
  }

  .task-header-actions{
    gap:3px!important;
  }

  .task-header-actions .primary{
    max-width:105px!important;
    padding:7px 8px!important;
    font-size:10px!important;
  }

  .task-icon-button,
  .task-close{
    width:37px!important;
    min-width:37px!important;
    height:37px!important;
  }

  .task-property{
    grid-template-columns:22px 78px minmax(0,1fr)!important;
  }
}

