
/* ==========================================================================
   Origem consolidada: app.css
   ========================================================================== */
/* DentrixPro CSS consolidado até a rodada 4. Blocos duplicados idênticos foram removidos para reduzir conflito e facilitar manutenção. */

body{background:#f5f7fb;color:#0f172a}


a{text-decoration:none}



.sidebar{
    width:270px;
    min-height:100vh;
    background:#fff
}


.sidebar .brand{
    font-weight:800;
    color:#0f172a;
    letter-spacing:.2px
}


.sidebar .nav-link{
    color:#475569;
    border-radius:14px;
    padding:.72rem .9rem;
    font-weight:500
}


.sidebar .nav-link:hover,
.sidebar .nav-link.active{
    background:#eef2ff;
    color:#1d4ed8
}



.topbar{background:#fff}


.page-title{font-weight:700}



.card{
    border:1px solid #e5e7eb;
    border-radius:18px;
    box-shadow:0 3px 12px rgba(15,23,42,.04)
}


.card-kpi .display-6{font-weight:800}



.table td,
.table th{
    vertical-align:middle
}



.form-section-title{
    font-weight:700;
    font-size:1rem;
    margin-bottom:.75rem
}



.badge{font-weight:600}



.small-muted{
    font-size:.86rem;
    color:#64748b
}



.toolbar{
    display:flex;
    gap:.5rem;
    flex-wrap:wrap;
    align-items:center
}



.summary-grid{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:12px
}



.filter-card{
    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:18px;
    padding:16px
}



.stat-chip{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:8px 12px;
    background:#f8fafc;
    border:1px solid #e5e7eb;
    border-radius:999px;
    font-size:.88rem;
    font-weight:600
}



.calendar-grid{
    display:grid;
    grid-template-columns:repeat(7,minmax(0,1fr));
    gap:10px
}



.calendar-day{
    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:16px;
    min-height:120px;
    padding:10px
}


.calendar-day .day-head{
    display:flex;
    justify-content:space-between;
    font-weight:700
}


.calendar-badge{
    display:block;
    background:#f8fafc;
    border-radius:10px;
    padding:6px 8px;
    margin-top:8px;
    font-size:.82rem
}



.section-title{
    font-weight:700;
    font-size:1.05rem
}



.empty-state{
    padding:30px 14px;
    text-align:center;
    color:#64748b
}



.metric-line{
    display:flex;
    justify-content:space-between;
    padding:.45rem 0;
    border-bottom:1px dashed #e5e7eb
}


.metric-line:last-child{
    border-bottom:none
}



.print-area{
    max-width:980px;
    margin:0 auto
}



.table-sticky thead th{
    position:sticky;
    top:0;
    background:#fff;
    z-index:1
}



.avatar-mini{
    width:34px;
    height:34px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#eef2ff;
    color:#1d4ed8;
    font-weight:700
}



.truncate-1{
    max-width:260px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis
}



/* ===== KANBAN ===== */
.kanban-board .card-header{
    background:#fff
}



.kanban-col{
    min-height:500px;
    background:#f8fafc;
    border:1px dashed #dbe2ea;
    border-radius:18px;
    padding:14px;
    display:flex;
    flex-direction:column;
    gap:12px
}



.kanban-card{
    background:#fff;
    border:1px solid #dbe2ea;
    border-radius:14px;
    padding:12px;
    margin-bottom:12px;
    box-shadow:0 1px 2px rgba(16,24,40,.04);
    cursor:grab;
    transition:.2s
}


.kanban-card:hover{
    transform:translateY(-2px)
}


.kanban-card.dragging{
    opacity:.6;
    transform:rotate(1deg)
}


.kanban-card.is-late{
    border-left:4px solid #ef4444;
    border-color:#fca5a5;
    background:#fff5f5
}


.kanban-card.is-due{
    border-color:#fcd34d;
    background:#fffbeb
}



.kanban-meta{
    font-size:.82rem;
    color:#64748b
}



.dropzone.drag-over{
    background:#eef4ff;
    border:2px dashed #5b8def;
    border-radius:0 0 14px 14px
}



.kanban-empty{
    padding:10px;
    border:1px dashed #cbd5e1;
    border-radius:10px;
    background:#fff
}



.priority-dot{
    display:inline-block;
    width:10px;
    height:10px;
    border-radius:50%;
    margin-right:6px
}


.priority-baixa{background:#6b7280}


.priority-normal{background:#2563eb}


.priority-alta{background:#ea580c}


.priority-urgente{background:#dc2626}



.kanban-card-head{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:10px;
    margin-bottom:8px
}



/* ===== AGENDA ===== */
.agenda-range-box{
    height:38px;
    display:flex;
    align-items:center;
    padding:0 12px;
    background:#f8fafc;
    border:1px solid #e5e7eb;
    border-radius:12px;
    font-weight:600;
    color:#334155
}



.week-grid{align-items:stretch}


.week-day{min-height:220px}



.week-day.is-today,
.month-cell.is-today{
    border-color:#93c5fd;
    box-shadow:0 0 0 3px rgba(59,130,246,.12)
}



.week-event{
    border:1px solid #e5e7eb;
    transition:.18s ease;
    color:#0f172a
}


.week-event:hover{
    transform:translateY(-1px);
    border-color:#cbd5e1;
    background:#fff
}


.week-event.status-atrasado{
    background:#fff1f2;
    border-color:#fecdd3
}


.week-event.status-concluido{
    background:#f0fdf4;
    border-color:#bbf7d0
}



.calendar-month-wrap{padding:16px}


.month-weekdays,
.month-grid{
    display:grid;
    grid-template-columns:repeat(7,minmax(0,1fr));
    gap:10px
}


.month-weekday{
    padding:10px 8px;
    text-align:center;
    font-weight:700;
    color:#475569;
    background:#f8fafc;
    border:1px solid #e5e7eb;
    border-radius:12px
}


.month-cell{
    display:block;
    min-height:128px;
    padding:10px;
    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:16px;
    color:#0f172a;
    transition:.18s ease
}


.month-cell:hover{
    transform:translateY(-1px);
    border-color:#cbd5e1;
    background:#fcfdff
}


.month-cell.is-empty{
    background:#f8fafc;
    border-style:dashed;
    pointer-events:none
}


.month-day-number{
    font-size:1.02rem;
    font-weight:800;
    margin-bottom:8px
}


.month-metric{
    font-size:.82rem;
    padding:4px 8px;
    border-radius:999px;
    display:inline-flex;
    margin:4px 6px 0 0;
    font-weight:700
}


.month-metric.total{background:#eff6ff;color:#1d4ed8}


.month-metric.pending{background:#fff7ed;color:#c2410c}


.month-metric.done{background:#f0fdf4;color:#15803d}


.month-metric.late{background:#fff1f2;color:#be123c}



/* ===== ALERTAS / DASH ===== */
.alert-soft{
    border-radius:16px;
    box-shadow:0 6px 18px rgba(15,23,42,.05)
}


.sidebar-tip{
    padding:12px;
    background:#f8fafc;
    border:1px solid #e5e7eb;
    border-radius:16px
}


.alert-banner-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px
}


.alert-banner{
    display:block;
    padding:16px;
    border-radius:18px;
    border:1px solid #e5e7eb;
    background:#fff;
    color:#0f172a;
    box-shadow:0 3px 12px rgba(15,23,42,.04)
}


.alert-banner:hover{
    transform:translateY(-1px);
    transition:.18s ease;
    border-color:#cbd5e1
}


.alert-banner-label{
    font-weight:700;
    font-size:.92rem
}


.alert-banner-value{
    font-size:1.9rem;
    font-weight:800;
    line-height:1.1;
    margin:.25rem 0
}


.alert-banner.danger{
    background:#fff1f2;
    border-color:#fecdd3
}


.alert-banner.warning{
    background:#fff7ed;
    border-color:#fed7aa
}


.alert-banner.info{
    background:#eff6ff;
    border-color:#bfdbfe
}


.alert-banner.dark{
    background:#f8fafc;
    border-color:#cbd5e1
}



.table-row-late td{background:#fff1f2!important}


.table-row-due td{background:#fff7ed!important}


.table-row-urgent td{background:#eff6ff!important}



/* ===== FORM / BUTTONS ===== */
.form-control,
.form-select{
    border-radius:12px
}



.btn{
    display:inline-block;
    padding:10px 16px;
    border-radius:10px;
    font-size:14px;
    line-height:1;
    text-decoration:none;
    cursor:pointer
}



.btn-primary{
    background:#2d6cdf;
    color:#fff;
    border-radius:10px
}



.btn-filter{
    background:#2d6cdf;
    color:#fff;
    padding:8px 14px;
    border-radius:8px
}



.card-header{
    background:#fff;
    border-bottom:1px solid #eef2f7
}



.table thead th{
    font-size:.84rem;
    text-transform:uppercase;
    letter-spacing:.02em;
    color:#64748b
}


.table tbody tr:hover td{
    background:#f8fbff
}



/* ===== PAGE / FILTERS ===== */
.page-header{
    margin-bottom:20px
}


.page-header h1{
    margin-bottom:5px
}


.page-header p{
    margin-bottom:10px;
    color:#64748b
}


.page-header .btn{
    margin-top:5px
}



.filter-card .form-select{
    min-width:160px
}


.filter-card .btn{
    height:38px
}



.filters-grid{
    display:grid;
    grid-template-columns:1fr 1fr auto auto;
    gap:10px;
    align-items:center
}



.prod-filters-grid{
    display:grid;
    grid-template-columns:2fr 1.5fr 1.5fr 1fr 1fr;
    gap:12px;
    align-items:end
}



.prod-filter-group{
    display:flex;
    flex-direction:column;
    gap:6px
}



.prod-filter-group label{
    font-size:12px;
    font-weight:600;
    color:#64748b
}



/* ===== PEDIDOS: alinhar ações dos filtros ===== */
.prod-actions{
    display:flex;
    gap:10px;
    align-items:end
}


.prod-actions .btn{
    height:42px;
    min-width:100px;
    display:flex;
    align-items:center;
    justify-content:center
}



/* mantém o comportamento dos botões dentro do grid */
.prod-filters-grid .btn,
.prod-filters-grid a.btn{
    width:100%
}



/* ===== KPI refinado ===== */
.summary-grid .card{
    padding:12px 16px;
    border:1px solid #e5e7eb;
    border-radius:14px;
    background:#ffffff;
    transition:.2s
}


.summary-grid .card:hover{
    transform:translateY(-2px)
}



/* ===== PRIORIDADE VISUAL ===== */
.priority-badge{
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:4px 10px;
    border-radius:999px;
    font-size:12px;
    font-weight:700;
    line-height:1
}


.priority-badge::before{
    content:"";
    width:8px;
    height:8px;
    border-radius:50%;
    display:inline-block
}



.priority-baixa{
    background:#f3f4f6;
    color:#374151
}


.priority-baixa::before{
    background:#6b7280
}



.priority-normal{
    background:#eff6ff;
    color:#1d4ed8
}


.priority-normal::before{
    background:#2563eb
}



.priority-alta{
    background:#fff7ed;
    color:#c2410c
}


.priority-alta::before{
    background:#ea580c
}



.priority-urgente{
    background:#fff1f2;
    color:#be123c
}


.priority-urgente::before{
    background:#dc2626
}


    .summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}


    .alert-banner-grid{grid-template-columns:repeat(2,minmax(0,1fr))}


    .sidebar{width:100%;min-height:auto}


    .layout-wrap{display:block}


    .calendar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}


    .month-weekdays,
    .month-grid{grid-template-columns:repeat(2,minmax(0,1fr))}


    .month-weekday:nth-child(n+3){display:none}


    .week-day{min-height:180px}


    .prod-filters-grid{grid-template-columns:1fr}


    .prod-actions{flex-direction:column}


    .alert-banner-grid{grid-template-columns:1fr}


    .filters-grid{grid-template-columns:1fr}



/* ===== PACIENTES ===== */
.summary-grid-4{
    grid-template-columns:repeat(4,minmax(0,1fr));
}



.patients-filters-grid{
    display:grid;
    grid-template-columns:2fr 1.3fr auto;
    gap:12px;
    align-items:end;
}



.patients-table .avatar-mini{
    flex:0 0 auto;
}



.patient-note{
    max-width:320px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    color:#334155;
}



.patient-form-wrap .card{
    overflow:hidden;
}



.patient-form-actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    align-items:center;
}



.patient-form-actions .btn{
    min-width:140px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
}


    .summary-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }


    .patients-filters-grid{
        grid-template-columns:1fr;
    }



    .summary-grid-4{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }


    .summary-grid,
    .summary-grid-4{
        grid-template-columns:1fr;
    }



    .patient-note{
        max-width:220px;
    }



/* ===== PACIENTES / AJUSTE FINO PREMIUM ===== */
.page-header-strong{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:16px;
    padding-bottom:6px;
}



.page-title-xl{
    font-size:2.1rem;
    line-height:1.1;
    font-weight:700;
    letter-spacing:-0.02em;
    color:#0f172a;
}



.page-subtitle{
    font-size:.98rem;
    color:#64748b;
}



.patient-form-wrap{
    max-width:100%;
}



.patient-form-wrap .card{
    border:1px solid #dbe2ea;
    border-radius:22px;
    box-shadow:0 10px 28px rgba(15, 23, 42, .04);
    background:#fff;
}



.patient-form-wrap .card-body{
    padding:24px 24px 22px;
}



.form-section-title-strong{
    font-size:1.05rem;
    font-weight:700;
    color:#0f172a;
    margin-bottom:18px;
    padding-bottom:10px;
    border-bottom:1px solid #edf2f7;
}



.patient-form-wrap .form-label{
    font-weight:600;
    color:#1e293b;
    margin-bottom:8px;
}



.patient-form-wrap .form-control,
.patient-form-wrap .form-select{
    min-height:48px;
    border-radius:14px;
    border:1px solid #cfd8e3;
    box-shadow:none;
}



.patient-form-wrap textarea.form-control{
    min-height:140px;
    resize:vertical;
    padding-top:14px;
}



.patient-form-wrap .form-control:focus,
.patient-form-wrap .form-select:focus{
    border-color:#94a3b8;
    box-shadow:0 0 0 3px rgba(148, 163, 184, .14);
}



.patient-form-actions-strong{
    display:flex;
    align-items:center;
    gap:12px;
    flex-wrap:wrap;
    margin-top:8px;
    padding:6px 2px 0;
}



.btn-action-main{
    min-width:170px;
    min-height:48px;
    border-radius:14px;
    font-weight:600;
    padding:0 20px;
}



.btn-action-secondary{
    min-width:140px;
    min-height:48px;
    border-radius:14px;
    font-weight:600;
    padding:0 18px;
}


    .page-title-xl{
        font-size:1.75rem;
    }



    .patient-form-wrap .card-body{
        padding:18px 18px 16px;
    }



    .patient-form-actions-strong{
        flex-direction:column;
        align-items:stretch;
    }



    .btn-action-main,
    .btn-action-secondary{
        width:100%;
    }



/* ===== AJUSTES FINOS PACIENTES ===== */

.patient-form-actions-strong{
    margin-top: 16px;
}



.btn-outline-secondary{
    border:1px solid #cbd5e1;
    color:#334155;
}



.btn-outline-secondary:hover{
    background:#f1f5f9;
}



.patient-form-wrap .card{
    margin-bottom:18px;
}



.btn-action-main{
    background:linear-gradient(135deg,#3b82f6,#2563eb);
    border:none;
}


/* ===== FIX BOTÕES (ALINHAMENTO PERFEITO) ===== */

.btn-action-main,
.btn-action-secondary{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    height:48px;
    padding:0 20px;
    line-height:1;
}



.btn-action-secondary{
    border:1px solid #cbd5e1;
    color:#334155;
    background:#fff;
}



.btn-action-secondary:hover{
    background:#f1f5f9;
}



/* ===== PACIENTES / CEP / UF / CIDADE ===== */
.text-uppercase{
    text-transform: uppercase;
}



#cep,
#uf,
#cidade{
    transition: .2s ease;
}



#cep:focus,
#uf:focus,
#cidade:focus{
    transform: translateY(-1px);
}



/* ===== PACIENTES / LISTAGEM COM LOCALIZAÇÃO ===== */

.patients-filters-grid-extended{
    display:grid;
    grid-template-columns:2fr 1.4fr .8fr 1.4fr auto;
    gap:12px;
    align-items:end;
}


    .patients-filters-grid-extended{
        grid-template-columns:1fr 1fr;
    }



    .patients-filters-grid-extended .prod-actions{
        grid-column:1 / -1;
    }


    .patients-filters-grid-extended{
        grid-template-columns:1fr;
    }



/* ===== CLIENTES ===== */

.clients-filters-grid{
    display:grid;
    grid-template-columns:2fr 1fr auto;
    gap:12px;
    align-items:end;
}



.clients-table .avatar-mini{
    flex:0 0 auto;
}



.client-note{
    max-width:320px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    color:#334155;
}


    .clients-filters-grid{
        grid-template-columns:1fr;
    }


    .client-note{
        max-width:220px;
    }


/* ===== PEDIDOS / FORM PREMIUM ===== */

.order-form-wrap .card{
    border:1px solid #dbe2ea;
    border-radius:22px;
    box-shadow:0 10px 28px rgba(15, 23, 42, .04);
    background:#fff;
}



.order-form-wrap .card-body{
    padding:24px 24px 22px;
}



.order-form-wrap .form-label{
    font-weight:600;
    color:#1e293b;
    margin-bottom:8px;
}



.order-form-wrap .form-control,
.order-form-wrap .form-select{
    min-height:48px;
    border-radius:14px;
    border:1px solid #cfd8e3;
    box-shadow:none;
}



.order-form-wrap textarea.form-control{
    min-height:140px;
    resize:vertical;
    padding-top:14px;
}



.order-form-wrap .form-control:focus,
.order-form-wrap .form-select:focus{
    border-color:#94a3b8;
    box-shadow:0 0 0 3px rgba(148, 163, 184, .14);
}



.order-finance-box{
    min-height:48px;
    border:1px dashed #cfd8e3;
    border-radius:14px;
    padding:12px 14px;
    background:#f8fafc;
    color:#334155;
}


    .order-form-wrap .card-body{
        padding:18px 18px 16px;
    }



/* ===== PEDIDOS / SHOW PREMIUM ===== */

.order-show-card{
    border:1px solid #dbe2ea;
    border-radius:22px;
    box-shadow:0 10px 28px rgba(15, 23, 42, .04);
    background:#fff;
}



.order-show-card .card-body{
    padding:24px 24px 22px;
}



.order-show-grid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:16px;
}



.order-show-item{
    background:#ffffff;
    border-radius:16px;
    padding:14px 16px;
    box-shadow:0 2px 8px rgba(15, 23, 42, .04);
    border:1px solid #e2e8f0;
    transition:all .15s ease;
}



.order-show-item-full{
    grid-column:1 / -1;
}



.order-show-label{
    font-size:.82rem;
    font-weight:700;
    color:#64748b;
    text-transform:uppercase;
    letter-spacing:.03em;
    margin-bottom:6px;
}



.order-show-value{
    color:#0f172a;
    font-weight:600;
    line-height:1.45;
}



.order-show-notes{
    font-weight:500;
    white-space:normal;
}



.order-show-side-list{
    display:flex;
    flex-direction:column;
    gap:10px;
}



.order-show-side-item{
    display:flex;
    justify-content:space-between;
    gap:12px;
    padding:10px 0;
    border-bottom:1px solid #eef2f7;
    color:#334155;
}



.order-show-side-item:last-child{
    border-bottom:0;
    padding-bottom:0;
}



.order-timeline{
    display:flex;
    flex-direction:column;
    gap:14px;
}



.order-timeline-item{
    display:flex;
    gap:12px;
    align-items:flex-start;
}



.order-timeline-dot{
    width:12px;
    height:12px;
    border-radius:999px;
    background:#3b82f6;
    margin-top:6px;
    flex:0 0 auto;
}



.order-timeline-content{
    flex:1 1 auto;
    border:1px solid #e5edf5;
    border-radius:16px;
    padding:12px 14px;
    background:#fbfdff;
}



.order-timeline-user{
    font-size:.85rem;
    color:#64748b;
}



.order-attachments-list{
    display:flex;
    flex-direction:column;
    gap:10px;
}



.order-attachment-item{
    display:block;
    text-decoration:none;
    border:1px solid #e5edf5;
    border-radius:14px;
    padding:12px 14px;
    background:#fbfdff;
    color:inherit;
    transition:.2s ease;
}



.order-attachment-item:hover{
    transform:translateY(-1px);
    border-color:#cbd5e1;
    background:#f8fbff;
}



.attachment-name{
    word-break:break-word;
}


    .order-show-grid{
        grid-template-columns:1fr;
    }



    .order-show-item-full{
        grid-column:auto;
    }


    .order-show-card .card-body{
        padding:18px 18px 16px;
    }



.order-show-value{
    font-size:15px;
    font-weight:600;
}



.order-show-label{
    font-size:11px;
    letter-spacing:.04em;
}



.order-show-item:hover{
    transform:translateY(-1px);
    box-shadow:0 6px 18px rgba(15, 23, 42, .08);
}



.order-show-label{
    font-size:11px;
    font-weight:700;
    color:#64748b;
    text-transform:uppercase;
    letter-spacing:.05em;
}



.order-show-value{
    font-size:15px;
    font-weight:600;
    color:#0f172a;
}



body{
    background:#f8fafc;
}



.order-show-label i{
    margin-right:6px;
    color:#64748b;
    font-size:12px;
}



.form-section-title-strong i{
    margin-right:8px;
    color:#475569;
    font-size:14px;
}



/* ===== DASHBOARD PREMIUM ===== */

.dashboard-kpi-grid{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:16px;
}



.dashboard-kpi-card{
    border:1px solid #dbe2ea;
    border-radius:22px;
    box-shadow:0 10px 28px rgba(15, 23, 42, .04);
    background:#fff;
}



.dashboard-kpi-card .card-body{
    padding:20px 20px 18px;
}



.dashboard-kpi-top{
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:14px;
}



.dashboard-kpi-icon{
    width:38px;
    height:38px;
    border-radius:12px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:#eff6ff;
    color:#2563eb;
    font-size:15px;
}



.dashboard-kpi-icon.success{
    background:#ecfdf3;
    color:#16a34a;
}



.dashboard-kpi-icon.danger{
    background:#fef2f2;
    color:#dc2626;
}



.dashboard-kpi-value{
    font-size:2rem;
    line-height:1.1;
    font-weight:700;
    color:#0f172a;
    letter-spacing:-.02em;
}



.dashboard-kpi-money{
    font-size:1.6rem;
    font-weight:800;
}


.dashboard-kpi-meta{
    margin-top:8px;
    color:#64748b;
    font-size:.92rem;
}



.dashboard-panel-card{
    border:1px solid #dbe2ea;
    border-radius:22px;
    box-shadow:0 10px 28px rgba(15, 23, 42, .04);
    background:#fff;
}



.dashboard-panel-card .card-body{
    padding:22px 22px 20px;
}



.dashboard-panel-title{
    font-size:1.02rem;
    font-weight:700;
    color:#0f172a;
    margin-bottom:16px;
}



.dashboard-panel-title i{
    margin-right:8px;
    color:#475569;
}



.dashboard-alert-list{
    display:flex;
    flex-direction:column;
    gap:10px;
}



.dashboard-alert-item{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:14px;
    border-radius:16px;
    padding:14px 16px;
    border:1px solid #e2e8f0;
    background:#f8fafc;
}



.dashboard-alert-item.danger{
    background:#fff1f2;
    border-color:#fecdd3;
}



.dashboard-alert-item.warning{
    background:#fffbeb;
    border-color:#fde68a;
}



.dashboard-alert-item.info{
    background:#eff6ff;
    border-color:#bfdbfe;
}



.dashboard-alert-item.success{
    background:#ecfdf3;
    border-color:#bbf7d0;
}



.dashboard-alert-item.dark{
    background:#f8fafc;
    border-color:#cbd5e1;
}



.dashboard-alert-label{
    font-weight:600;
    color:#334155;
}



.dashboard-alert-value{
    font-size:1.2rem;
    font-weight:700;
    color:#0f172a;
}



.dashboard-day-list{
    display:flex;
    flex-direction:column;
    gap:12px;
}



.dashboard-day-item{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:14px;
    padding:14px 16px;
    border:1px solid #e2e8f0;
    border-radius:16px;
    background:#fbfdff;
}



.dashboard-day-main{
    min-width:0;
}



.dashboard-day-title{
    font-weight:700;
    color:#0f172a;
}



.dashboard-day-sub{
    margin-top:4px;
    color:#64748b;
    font-size:.92rem;
}



.dashboard-day-side{
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    gap:6px;
    flex:0 0 auto;
}



.dashboard-day-time{
    font-size:.86rem;
    color:#64748b;
}



.dashboard-mini-table thead th{
    font-size:.78rem;
    text-transform:uppercase;
    letter-spacing:.04em;
    color:#64748b;
    border-bottom:1px solid #e5edf5;
    white-space:nowrap;
}



.dashboard-mini-table tbody td{
    vertical-align:middle;
    border-bottom:1px solid #eef2f7;
    color:#334155;
}



.dashboard-link-strong{
    text-decoration:none;
    font-weight:700;
    color:#0f172a;
}



.dashboard-link-strong:hover{
    color:#2563eb;
}


    .dashboard-kpi-grid{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }


    .dashboard-kpi-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }



    .dashboard-day-item{
        flex-direction:column;
    }



    .dashboard-day-side{
        align-items:flex-start;
    }


    .dashboard-kpi-grid{
        grid-template-columns:1fr;
    }



    .dashboard-panel-card .card-body,
    .dashboard-kpi-card .card-body{
        padding:18px 18px 16px;
    }


.dashboard-kpi-value{
    font-size:2.2rem;
    font-weight:800;
}



.dashboard-alert-value{
    font-size:1.4rem;
    font-weight:800;
}



.dashboard-day-item{
    transition:.2s ease;
    cursor:pointer;
}



.dashboard-day-item:hover{
    background:#f1f5f9;
    transform:translateY(-1px);
}


.dashboard-mini-table tbody tr:hover{
    background:#f8fafc;
}



/* ===== PRODUÇÃO PREMIUM ===== */

.production-filters-grid{
    display:grid;
    grid-template-columns:1.4fr 1fr auto;
    gap:12px;
    align-items:end;
}



.production-board{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:16px;
    align-items:start;
}



.production-column{
    background:#f8fafc;
    border:1px solid #dbe2ea;
    border-radius:22px;
    min-height:420px;
    box-shadow:0 10px 28px rgba(15, 23, 42, .04);
}



.production-column-header{
    padding:18px 18px 12px;
    border-bottom:1px solid #e5edf5;
}



.production-column-title{
    font-size:1rem;
    font-weight:700;
    color:#0f172a;
}



.production-column-count{
    font-size:.85rem;
    color:#64748b;
    margin-top:2px;
}



.production-column-body{
    padding:14px;
    display:flex;
    flex-direction:column;
    gap:12px;
}



.production-card{
    background:#ffffff;
    border:1px solid #dbe2ea;
    box-shadow:0 6px 18px rgba(15, 23, 42, .06);
}



.production-card:hover{
    transform:translateY(-2px);
    box-shadow:0 10px 24px rgba(15, 23, 42, .08);
}



.production-card::before{
    content:"";
    position:absolute;
    left:0;
    top:0;
    bottom:0;
    width:4px;
    background:#3b82f6;
}



.production-card.priority-urgent::before{
    background:#dc2626;
}



.production-card.priority-high::before{
    background:#f59e0b;
}



.production-card.priority-normal::before{
    background:#2563eb;
}



.production-card.priority-low::before{
    background:#64748b;
}



.production-card.is-late{
    background:#fff7f7;
    border:1px solid #fecaca;
}



.production-card-top{
    display:flex;
    justify-content:space-between;
    gap:10px;
    align-items:flex-start;
    margin-bottom:8px;
}



.production-order-number a{
    text-decoration:none;
    font-weight:800;
    color:#0f172a;
    letter-spacing:.01em;
}



.production-order-number a:hover{
    color:#2563eb;
}



.production-card-client{
    font-size:14px;
    font-weight:700;
}



.production-card-patient{
    color:#64748b;
    font-size:.9rem;
    margin-bottom:10px;
}



.production-card-service{
    display:flex;
    align-items:center;
    gap:8px;
    color:#334155;
    font-weight:600;
    margin-bottom:12px;
}



.production-card-service i{
    color:#64748b;
    font-size:13px;
}



.production-card-meta{
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
    margin-bottom:12px;
}



.production-card-meta > div{
    background:#f8fafc;
    border:1px solid #e2e8f0;
    border-radius:12px;
    padding:10px 12px;
}



.meta-label{
    display:block;
    font-size:.74rem;
    text-transform:uppercase;
    letter-spacing:.04em;
    color:#64748b;
    margin-bottom:3px;
}



.production-card-footer .btn-primary{
    border-radius:10px;
    padding:4px 10px;
    font-size:12px;
}



.production-empty{
    min-height:120px;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    color:#64748b;
    font-size:.92rem;
    border:1px dashed #cbd5e1;
    border-radius:16px;
    background:#fff;
    padding:16px;
}


    .production-board{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }


    .production-filters-grid{
        grid-template-columns:1fr;
    }



    .production-board{
        grid-template-columns:1fr;
    }



.production-order-number a{
    font-size:15px;
    font-weight:800;
}



.production-card-meta > div{
    background:#f1f5f9;
    border:0;
}



.production-card.is-late{
    border:1px solid #fecaca;
    background:#fff5f5;
}



.production-card:hover{
    transform:translateY(-3px);
    box-shadow:0 14px 32px rgba(15, 23, 42, .12);
}



.production-column{
    background:#f1f5f9;
}



/* ===== AJUSTE FINO PRODUÇÃO ===== */

.production-card{
    padding:18px 18px 16px;
}



.production-card-top{
    margin-bottom:12px;
}



.production-card-client{
    margin-bottom:4px;
}



.production-card-patient{
    margin-bottom:14px;
}



.production-card-service{
    margin-bottom:14px;
}



.production-card-meta{
    margin-bottom:14px;
}



.production-card-footer{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin-top:8px;
}



.production-card-footer .btn,
.production-card-footer a.btn{
    min-width:86px;
    height:34px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:0 12px;
    border-radius:10px;
    line-height:1;
}



.production-card-footer .btn-light{
    border:1px solid #dbe2ea;
}



/* ===== AJUSTE COMPACTO PRODUÇÃO ===== */

.production-card{
    padding:16px;
}



.production-card-top{
    margin-bottom:10px;
}



.production-card-client{
    margin-bottom:2px;
}



.production-card-patient{
    margin-bottom:10px;
}



.production-card-service{
    margin-bottom:10px;
}



.production-card-meta{
    gap:6px;
    margin-bottom:10px;
}



.production-card-meta > div{
    padding:8px 10px;
}



.production-card-footer{
    margin-top:4px;
}



.production-card-footer .btn-light{
    border:1px solid #dbe2ea;
    background:#fff;
}


.production-card-footer .btn,
.production-card-footer a.btn{
    width:86px;
}



/* ===== RELATÓRIOS PREMIUM ===== */

.reports-filters-grid{
    display:grid;
    grid-template-columns:1fr 1fr 1.3fr 1.1fr 1.3fr auto;
    gap:12px;
    align-items:end;
}



.reports-kpi-grid{
    grid-template-columns:repeat(5,minmax(0,1fr));
}



.reports-finance-list{
    display:flex;
    flex-direction:column;
    gap:10px;
}



.reports-finance-item{
    display:flex;
    justify-content:space-between;
    gap:12px;
    padding:12px 0;
    border-bottom:1px solid #eef2f7;
    color:#334155;
}



.reports-finance-item:last-child{
    border-bottom:0;
    padding-bottom:0;
}



.reports-list-block{
    display:flex;
    flex-direction:column;
    gap:10px;
}



.reports-list-item{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    padding:12px 14px;
    border:1px solid #e2e8f0;
    border-radius:14px;
    background:#f8fafc;
}



.reports-list-item-column{
    align-items:flex-start;
    flex-direction:column;
}


    .reports-filters-grid{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }



    .reports-kpi-grid{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }


    .reports-filters-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }



    .reports-kpi-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }


    .reports-filters-grid,
    .reports-kpi-grid{
        grid-template-columns:1fr;
    }


.reports-finance-item strong{
    font-size:15px;
    font-weight:700;
}


.dashboard-panel-card{
    margin-bottom:4px;
}


.dashboard-kpi-card:last-child{
    background:#ecfdf3;
    border:1px solid #bbf7d0;
}


.reports-list-item{
    font-size:14px;
}


.dashboard-panel-card{
    margin-bottom:6px;
}



/* ===== PRODUÇÃO INTELIGENTE / REFINO FINAL ===== */

.production-filters-grid{
    display:grid;
    grid-template-columns:1.4fr 1fr auto;
    gap:12px;
    align-items:end;
}



.production-column{
    background:#f1f5f9;
    border:1px solid #dbe2ea;
    border-radius:22px;
    min-height:420px;
    box-shadow:0 10px 28px rgba(15, 23, 42, .04);
}



.production-card{
    background:#ffffff;
    border:1px solid #dbe2ea;
    border-radius:18px;
    padding:16px;
    box-shadow:0 6px 18px rgba(15, 23, 42, .06);
    transition:.18s ease;
    position:relative;
    overflow:hidden;
}



.production-card-top{
    display:flex;
    justify-content:space-between;
    gap:10px;
    align-items:flex-start;
    margin-bottom:10px;
}



.production-order-number a{
    text-decoration:none;
    font-size:15px;
    font-weight:800;
    color:#0f172a;
    letter-spacing:.01em;
}



.production-card-client{
    font-size:14px;
    font-weight:700;
    color:#0f172a;
    margin-bottom:2px;
}



.production-card-service{
    display:flex;
    align-items:center;
    gap:8px;
    color:#334155;
    font-weight:600;
    margin-bottom:10px;
}



.production-card-meta{
    display:grid;
    grid-template-columns:1fr;
    gap:6px;
    margin-bottom:10px;
}



.production-card-meta > div{
    background:#f1f5f9;
    border:0;
    border-radius:12px;
    padding:8px 10px;
}



.production-card-footer{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin-top:4px;
}



.production-card-footer .btn,
.production-card-footer a.btn{
    width:86px;
    height:34px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:0 12px;
    border-radius:10px;
    line-height:1;
}



/* ===== LOGIN PREMIUM ===== */

.login-premium-page{
    min-height:100vh;
    background:
        radial-gradient(circle at top left, rgba(37,99,235,.10), transparent 28%),
        radial-gradient(circle at bottom right, rgba(16,185,129,.08), transparent 26%),
        #f8fafc;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:32px 20px;
}



.login-premium-shell{
    width:min(1180px, 100%);
    display:grid;
    grid-template-columns:1.1fr .9fr;
    gap:28px;
    align-items:stretch;
}



.login-premium-brand{
    border:1px solid #dbe2ea;
    border-radius:28px;
    padding:34px;
    background:linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
    box-shadow:0 18px 50px rgba(15, 23, 42, .07);
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    min-height:640px;
    position:relative;
    overflow:hidden;
}



.login-premium-brand::after{
    content:"";
    position:absolute;
    inset:auto -40px -40px auto;
    width:180px;
    height:180px;
    background:radial-gradient(circle, rgba(37,99,235,.12), transparent 70%);
    pointer-events:none;
}



.login-brand-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    height:30px;
    padding:0 12px;
    border-radius:999px;
    background:#eff6ff;
    color:#2563eb;
    font-size:.78rem;
    font-weight:700;
    width:max-content;
    margin-bottom:20px;
}



.login-brand-content{
    display:flex;
    align-items:center;
    gap:18px;
    margin-bottom:24px;
}



.login-brand-logo{
    width:74px;
    height:74px;
    border-radius:22px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(135deg, #2563eb, #1d4ed8);
    color:#fff;
    font-size:1.9rem;
    box-shadow:0 14px 34px rgba(37, 99, 235, .28);
    flex:0 0 auto;
}



.login-brand-title{
    margin:0 0 6px;
    font-size:2.25rem;
    line-height:1.05;
    letter-spacing:-.03em;
    color:#0f172a;
    font-weight:800;
}



.login-brand-subtitle{
    color:#64748b;
    font-size:1rem;
    max-width:560px;
}



.login-brand-panels{
    display:flex;
    flex-direction:column;
    gap:14px;
    margin-top:28px;
}



.login-info-card{
    display:flex;
    gap:14px;
    align-items:flex-start;
    border:1px solid #e2e8f0;
    border-radius:20px;
    background:#ffffff;
    padding:16px 18px;
}



.login-info-icon{
    width:42px;
    height:42px;
    border-radius:14px;
    background:#eff6ff;
    color:#2563eb;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:1rem;
    flex:0 0 auto;
}



.login-info-title{
    font-weight:700;
    color:#0f172a;
    margin-bottom:2px;
}



.login-info-text{
    color:#64748b;
    font-size:.94rem;
}



.login-premium-card-wrap{
    display:flex;
    align-items:center;
    justify-content:center;
}



.login-premium-card{
    width:100%;
    max-width:460px;
    border:1px solid #dbe2ea;
    border-radius:28px;
    background:#ffffff;
    box-shadow:0 18px 50px rgba(15, 23, 42, .08);
    padding:32px 30px 28px;
}



.login-card-header{
    margin-bottom:22px;
}



.login-card-kicker{
    color:#2563eb;
    font-size:.82rem;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.08em;
    margin-bottom:8px;
}



.login-card-title{
    margin:0 0 8px;
    font-size:2rem;
    line-height:1.05;
    letter-spacing:-.03em;
    color:#0f172a;
    font-weight:800;
}



.login-card-text{
    color:#64748b;
    font-size:.96rem;
}



.login-alert{
    border-radius:16px;
}



.login-form-premium{
    display:flex;
    flex-direction:column;
    gap:16px;
}



.login-field .form-label{
    font-weight:700;
    color:#1e293b;
    margin-bottom:8px;
}



.login-input-wrap{
    position:relative;
}



.login-input-icon{
    position:absolute;
    left:14px;
    top:50%;
    transform:translateY(-50%);
    color:#64748b;
    font-size:.95rem;
    pointer-events:none;
}



.login-form-premium .form-control{
    height:52px;
    border-radius:16px;
    border:1px solid #cfd8e3;
    padding-left:42px;
    box-shadow:none;
}



.login-form-premium .form-control:focus{
    border-color:#94a3b8;
    box-shadow:0 0 0 4px rgba(148, 163, 184, .14);
}



.login-submit-btn{
    margin-top:6px;
    height:52px;
    border-radius:16px;
    font-weight:700;
    font-size:1rem;
    display:inline-flex;
    align-items:center;
    justify-content:center;
}



.login-footer-note{
    margin-top:18px;
    text-align:center;
    color:#64748b;
    font-size:.9rem;
}


    .login-premium-shell{
        grid-template-columns:1fr;
    }



    .login-premium-brand{
        min-height:auto;
        padding:26px;
    }



    .login-premium-card{
        max-width:100%;
    }


    .login-premium-page{
        padding:16px;
    }



    .login-premium-brand,
    .login-premium-card{
        border-radius:22px;
        padding:22px 20px;
    }



    .login-brand-content{
        align-items:flex-start;
    }



    .login-brand-logo{
        width:62px;
        height:62px;
        font-size:1.5rem;
    }



    .login-brand-title{
        font-size:1.8rem;
    }



    .login-card-title{
        font-size:1.65rem;
    }



/* ===== DENTRIXPRO BRANDING ===== */
.brand-wrap{display:flex;align-items:center;gap:12px}


.brand-logo-img{width:52px;height:52px;object-fit:contain;filter:drop-shadow(0 8px 18px rgba(37,99,235,.14))}


.sidebar .brand{font-size:1.05rem}


.sidebar-nav .nav-link{display:flex;align-items:center;gap:10px}


.sidebar-nav .nav-link i{width:18px;text-align:center;color:#64748b;transition:.2s ease}


.sidebar-nav .nav-link:hover i,.sidebar-nav .nav-link.active i{color:#1d4ed8}


.sidebar-powered{padding:.25rem .1rem .1rem}


.topbar{box-shadow:0 1px 0 rgba(15,23,42,.02)}


.page-title{font-size:1.08rem}




/* === saneamento visual | rodada 2 === */
.app-shell{
    min-height:100vh;
}


.main-shell{
    min-width:0;
}


.content-shell{
    min-width:0;
}


.page-actions{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    flex-wrap:wrap;
}


.filters-actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    align-items:center;
}


.form-shell{
    border-radius:20px;
}


.form-shell-narrow{
    max-width:820px;
}


.summary-grid-2{
    grid-template-columns:repeat(2,minmax(0,1fr));
}


.summary-grid-3{
    grid-template-columns:repeat(3,minmax(0,1fr));
}


.summary-box{
    background:#f8fafc;
    border:1px solid #e5e7eb;
    border-radius:16px;
    padding:14px 16px;
}


.summary-label{
    font-size:.82rem;
    color:#64748b;
    margin-bottom:4px;
}


.summary-value{
    font-weight:800;
    font-size:1.05rem;
    color:#0f172a;
}


.compact-summary-grid{
    gap:10px;
}


.guest-body{
    min-height:100vh;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:24px;
    background:linear-gradient(180deg,#f8fafc 0%,#eef2ff 100%);
}


.guest-shell{
    width:100%;
    max-width:440px;
}


.guest-card{
    border-radius:24px;
}


    .summary-grid-2,
    .summary-grid-3{
        grid-template-columns:1fr;
    }




/* === rodada 3 | clientes + pacientes + listas padronizadas === */
.entity-filters-grid{
    display:grid;
    grid-template-columns:repeat(12,minmax(0,1fr));
    gap:14px;
    align-items:end;
}


.entity-filters-grid > .prod-filter-group{
    min-width:0;
}


.entity-filters-grid-4 .prod-filter-group:nth-child(1){grid-column:span 5;}


.entity-filters-grid-4 .prod-filter-group:nth-child(2),
.entity-filters-grid-4 .prod-filter-group:nth-child(3),
.entity-filters-grid-4 .prod-filter-group:nth-child(4){grid-column:span 2;}


.entity-filters-grid-5 .prod-filter-group:nth-child(1){grid-column:span 4;}


.entity-filters-grid-5 .prod-filter-group:nth-child(2){grid-column:span 3;}


.entity-filters-grid-5 .prod-filter-group:nth-child(3),
.entity-filters-grid-5 .prod-filter-group:nth-child(4),
.entity-filters-grid-5 .prod-filter-group:nth-child(5){grid-column:span 2;}


.entity-filters-actions{
    grid-column:1 / -1;
    display:flex;
    justify-content:flex-end;
    gap:10px;
    flex-wrap:wrap;
}


.entity-table-card{
    border-radius:22px;
    overflow:hidden;
}


.entity-table thead th{
    white-space:nowrap;
    font-size:.8rem;
    text-transform:uppercase;
    letter-spacing:.04em;
}


.entity-table tbody td{
    vertical-align:middle;
}


.entity-main-cell{
    display:flex;
    align-items:center;
    gap:12px;
}


.entity-stack > * + *{
    margin-top:3px;
}


.entity-note{
    color:#475569;
    line-height:1.45;
    max-width:420px;
    display:-webkit-box;
    -webkit-line-clamp:3;
    -webkit-box-orient:vertical;
    overflow:hidden;
}


.form-shell .card{
    border-radius:22px;
}


.form-shell .card-body{
    padding:24px;
}


.form-shell .form-label{
    font-weight:600;
}


    .entity-filters-grid,
    .entity-filters-grid-4,
    .entity-filters-grid-5{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }


    .entity-filters-grid > .prod-filter-group,
    .entity-filters-grid-4 .prod-filter-group:nth-child(1),
    .entity-filters-grid-4 .prod-filter-group:nth-child(2),
    .entity-filters-grid-4 .prod-filter-group:nth-child(3),
    .entity-filters-grid-4 .prod-filter-group:nth-child(4),
    .entity-filters-grid-5 .prod-filter-group:nth-child(1),
    .entity-filters-grid-5 .prod-filter-group:nth-child(2),
    .entity-filters-grid-5 .prod-filter-group:nth-child(3),
    .entity-filters-grid-5 .prod-filter-group:nth-child(4),
    .entity-filters-grid-5 .prod-filter-group:nth-child(5){
        grid-column:span 1;
    }


    .entity-filters-grid,
    .entity-filters-grid-4,
    .entity-filters-grid-5{
        grid-template-columns:1fr;
    }


    .entity-filters-grid > .prod-filter-group,
    .entity-filters-grid-4 .prod-filter-group:nth-child(1),
    .entity-filters-grid-4 .prod-filter-group:nth-child(2),
    .entity-filters-grid-4 .prod-filter-group:nth-child(3),
    .entity-filters-grid-4 .prod-filter-group:nth-child(4),
    .entity-filters-grid-5 .prod-filter-group:nth-child(1),
    .entity-filters-grid-5 .prod-filter-group:nth-child(2),
    .entity-filters-grid-5 .prod-filter-group:nth-child(3),
    .entity-filters-grid-5 .prod-filter-group:nth-child(4),
    .entity-filters-grid-5 .prod-filter-group:nth-child(5),
    .entity-filters-actions{
        grid-column:auto;
    }


    .entity-filters-actions{
        justify-content:stretch;
    }


    .entity-filters-actions .btn{
        width:100%;
    }


    .entity-main-cell{
        align-items:flex-start;
    }


/* ===== RODADA 6 | COMPONENTES REUTILIZÁVEIS E RESPONSIVIDADE CONSOLIDADA ===== */
:root{
    --dx-border:#e5e7eb;
    --dx-border-strong:#dbe2ea;
    --dx-bg-soft:#f8fafc;
    --dx-text-soft:#64748b;
    --dx-shadow-soft:0 10px 28px rgba(15,23,42,.04);
}

.summary-kpi-card .card-body{
    padding:16px 18px;
}

.summary-kpi-card .display-6{
    line-height:1.05;
}

.entity-filters-grid-financeiro{
    grid-template-columns:repeat(12,minmax(0,1fr));
}
.entity-filters-grid-financeiro .prod-filter-group:nth-child(1){grid-column:span 5;}
.entity-filters-grid-financeiro .prod-filter-group:nth-child(2){grid-column:span 3;}
.entity-filters-grid-financeiro .entity-filters-actions{grid-column:span 4;}

.entity-filters-grid-users{
    grid-template-columns:repeat(12,minmax(0,1fr));
}
.entity-filters-grid-users .prod-filter-group:nth-child(1){grid-column:span 5;}
.entity-filters-grid-users .prod-filter-group:nth-child(2){grid-column:span 3;}
.entity-filters-grid-users .prod-filter-group:nth-child(3){grid-column:span 2;}
.entity-filters-grid-users .entity-filters-actions{grid-column:span 2;}

.entity-table-card .table{
    margin-bottom:0;
}

.entity-table td,
.entity-table th{
    padding:.95rem 1rem;
}

.entity-table tbody tr:last-child td{
    border-bottom:0;
}

.entity-table tbody tr:hover td{
    background:#f8fbff;
}

.page-header-strong .page-actions .btn{
    min-height:42px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
}

@media (max-width: 1199.98px){
    .summary-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .summary-grid-4{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .dashboard-kpi-grid,
    .alert-banner-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .entity-filters-grid-financeiro,
    .entity-filters-grid-users{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .entity-filters-grid-financeiro .prod-filter-group:nth-child(1),
    .entity-filters-grid-financeiro .prod-filter-group:nth-child(2),
    .entity-filters-grid-users .prod-filter-group:nth-child(1),
    .entity-filters-grid-users .prod-filter-group:nth-child(2),
    .entity-filters-grid-users .prod-filter-group:nth-child(3),
    .entity-filters-grid-financeiro .entity-filters-actions,
    .entity-filters-grid-users .entity-filters-actions{
        grid-column:span 1;
    }
}

@media (max-width: 991.98px){
    .sidebar{
        width:100%;
        min-height:auto;
    }

    .app-shell{
        display:block !important;
    }

    .main-shell,
    .content-shell{
        width:100%;
    }

    .prod-filters-grid,
    .filters-grid,
    .calendar-grid,
    .month-weekdays,
    .month-grid{
        grid-template-columns:1fr;
    }

    .summary-grid,
    .summary-grid-2,
    .summary-grid-3,
    .summary-grid-4,
    .dashboard-kpi-grid,
    .alert-banner-grid{
        grid-template-columns:1fr;
    }

    .page-header-strong{
        flex-direction:column;
        align-items:stretch;
    }

    .page-actions,
    .filters-actions,
    .entity-filters-actions{
        justify-content:flex-start;
    }

    .entity-filters-grid,
    .entity-filters-grid-4,
    .entity-filters-grid-5,
    .entity-filters-grid-financeiro,
    .entity-filters-grid-users{
        grid-template-columns:1fr;
    }

    .entity-filters-grid > .prod-filter-group,
    .entity-filters-grid-4 .prod-filter-group,
    .entity-filters-grid-5 .prod-filter-group,
    .entity-filters-grid-financeiro .prod-filter-group,
    .entity-filters-grid-users .prod-filter-group,
    .entity-filters-grid-financeiro .entity-filters-actions,
    .entity-filters-grid-users .entity-filters-actions,
    .entity-filters-actions{
        grid-column:auto !important;
    }

    .entity-filters-actions .btn,
    .page-actions .btn{
        width:100%;
    }

    .entity-main-cell{
        align-items:flex-start;
    }
}


/* ===== RODADA 7 | FORMULÁRIOS COMPONENTIZADOS ===== */
.form-section-header{
    display:flex;
    flex-direction:column;
    gap:4px;
    margin-bottom:18px;
}

.form-section-subtitle{
    color:var(--dx-text-soft, #64748b);
    font-size:.95rem;
    line-height:1.45;
}

.form-actions-bar{
    display:flex;
    gap:12px;
    justify-content:flex-end;
    align-items:center;
    flex-wrap:wrap;
    margin-top:8px;
}

.form-actions-bar .btn{
    min-width:150px;
    min-height:44px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
}

.field-help{
    color:var(--dx-text-soft, #64748b);
    font-size:.85rem;
    margin-top:8px;
}

.form-shell .card{
    border:1px solid var(--dx-border-strong, #dbe2ea);
    box-shadow:var(--dx-shadow-soft, 0 10px 28px rgba(15,23,42,.04));
}

.form-shell .card + .card{
    margin-top:16px;
}

@media (max-width: 991.98px){
    .form-actions-bar{
        justify-content:stretch;
    }

    .form-actions-bar .btn{
        width:100%;
        min-width:0;
    }
}


/* === Rodada 8: acabamento fino de componentes e tabelas === */
.summary-kpi-card{
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.summary-kpi-card:hover{
  transform: translateY(-2px);
}
.summary-kpi-top{
  display:flex;
  align-items:center;
  gap:.6rem;
  margin-bottom:.35rem;
}
.summary-kpi-icon{
  width:36px;
  height:36px;
  border-radius:12px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:rgba(13,110,253,.08);
  color:var(--bs-primary);
  font-size:1rem;
  flex:0 0 auto;
}
.summary-kpi-money{
  font-size:1.9rem;
}
.summary-kpi-card.is-danger .summary-kpi-icon{
  background:rgba(220,53,69,.1);
  color:var(--bs-danger);
}
.summary-kpi-card.is-warning .summary-kpi-icon{
  background:rgba(255,193,7,.18);
  color:#a06a00;
}
.summary-kpi-card.is-success .summary-kpi-icon{
  background:rgba(25,135,84,.1);
  color:var(--bs-success);
}
.summary-kpi-card.is-info .summary-kpi-icon{
  background:rgba(13,202,240,.15);
  color:#087990;
}
.table-actions{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:.45rem;
  flex-wrap:wrap;
}
.entity-table-card{
  overflow:hidden;
}
.entity-table tbody td{
  vertical-align:middle;
}
@media (max-width: 991.98px){
  .table-actions{
    justify-content:flex-start;
  }
}
@media (max-width: 767.98px){
  .summary-kpi-money{
    font-size:1.45rem;
  }
  .summary-kpi-top{
    gap:.45rem;
  }
  .summary-kpi-icon{
    width:32px;
    height:32px;
    border-radius:10px;
  }
}


/* === Rodada 9: detalhe de pedido + impressão === */
.order-show-card{
  border:1px solid var(--dx-border-strong, #dbe2ea);
  box-shadow:var(--dx-shadow-soft, 0 10px 28px rgba(15,23,42,.04));
}
.order-show-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.order-show-item{
  border:1px solid var(--dx-border-soft, #e7edf4);
  border-radius:14px;
  padding:14px;
  background:#fff;
}
.order-show-item-full{
  grid-column:1 / -1;
}
.order-show-label{
  display:flex;
  align-items:center;
  gap:.55rem;
  color:var(--dx-text-soft, #64748b);
  font-size:.9rem;
  margin-bottom:6px;
}
.order-show-value{
  font-weight:600;
  color:#0f172a;
}
.order-show-notes{
  white-space:normal;
  line-height:1.6;
  font-weight:500;
}
.order-show-side-list{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.order-show-side-item{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  padding:12px 14px;
  border:1px solid var(--dx-border-soft, #e7edf4);
  border-radius:12px;
  background:#fff;
}
.order-show-side-item.highlight-open{
  background:rgba(13,110,253,.05);
  border-color:rgba(13,110,253,.18);
}
.order-timeline{
  display:flex;
  flex-direction:column;
  gap:14px;
}
.order-timeline-item{
  display:grid;
  grid-template-columns:18px 1fr;
  gap:12px;
}
.order-timeline-dot{
  width:12px;
  height:12px;
  border-radius:999px;
  background:var(--bs-primary);
  margin-top:7px;
  box-shadow:0 0 0 4px rgba(13,110,253,.12);
}
.order-timeline-content{
  border:1px solid var(--dx-border-soft, #e7edf4);
  border-radius:14px;
  padding:14px;
  background:#fff;
}
.order-timeline-user{
  color:var(--dx-text-soft, #64748b);
  font-size:.88rem;
}
.order-attachments-list{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.order-attachment-item{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  text-decoration:none;
  color:inherit;
  border:1px solid var(--dx-border-soft, #e7edf4);
  border-radius:14px;
  padding:12px 14px;
  background:#fff;
}
.order-attachment-item:hover{
  border-color:rgba(13,110,253,.22);
  box-shadow:0 10px 24px rgba(15,23,42,.05);
}
.attachment-meta{
  min-width:0;
}
.attachment-name{
  word-break:break-word;
}
.attachment-open{
  width:34px;
  height:34px;
  border-radius:10px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:rgba(13,110,253,.08);
  color:var(--bs-primary);
  flex:0 0 auto;
}
.active-status{
  border-color:rgba(13,110,253,.32) !important;
  background:rgba(13,110,253,.08) !important;
  color:var(--bs-primary) !important;
  font-weight:600;
}
@media (max-width: 991.98px){
  .order-show-grid{
    grid-template-columns:1fr;
  }
}


/* ==========================================================================
   Origem consolidada: layout-stabilizer.css
   ========================================================================== */
/* DentrixPro — estabilização de layout
   Regras centralizadas para evitar que grids e painéis quebrem por sobrescritas antigas. */

.app-shell{
    display:flex !important;
    align-items:stretch;
    min-height:100vh;
}

.sidebar{
    width:270px;
    min-width:270px;
    flex:0 0 270px;
    min-height:100vh;
}

.main-shell{
    flex:1 1 auto;
    min-width:0;
    display:flex;
    flex-direction:column;
}

.content-shell{
    flex:1 1 auto;
    width:100%;
    min-width:0;
    overflow-x:hidden;
}

.content-shell > *{
    max-width:100%;
}

.page-header-strong{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:16px;
    flex-wrap:wrap;
}

.page-actions{
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
}

.page-actions .btn,
.filters-actions .btn,
.entity-filters-actions .btn{
    min-height:42px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
}

.summary-grid,
.dashboard-kpi-grid,
.reports-kpi-grid,
.alert-banner-grid{
    display:grid;
    gap:16px;
}

.summary-grid{ grid-template-columns:repeat(5,minmax(0,1fr)); }
.summary-grid-2{ grid-template-columns:repeat(2,minmax(0,1fr)); }
.summary-grid-3{ grid-template-columns:repeat(3,minmax(0,1fr)); }
.summary-grid-4{ grid-template-columns:repeat(4,minmax(0,1fr)); }
.dashboard-kpi-grid,
.reports-kpi-grid{ grid-template-columns:repeat(5,minmax(0,1fr)); }
.alert-banner-grid{ grid-template-columns:repeat(4,minmax(0,1fr)); }

.summary-kpi-card,
.dashboard-panel-card,
.entity-table-card,
.form-shell .card{
    height:100%;
}

.summary-kpi-card .card-body,
.dashboard-panel-card .card-body{
    height:100%;
}

.entity-filters-grid,
.entity-filters-grid-financeiro,
.entity-filters-grid-users,
.reports-filters-grid,
.prod-filters-grid,
.filters-grid{
    display:grid;
    align-items:end;
    gap:14px;
}

.entity-filters-actions{
    display:flex;
    justify-content:flex-end;
    gap:10px;
    flex-wrap:wrap;
}

.table-responsive{
    max-width:100%;
    overflow-x:auto;
}

.dashboard-mini-table,
.entity-table,
.table{
    min-width:0;
}

.dashboard-day-item,
.reports-list-item,
.entity-main-cell{
    min-width:0;
}

@media (max-width: 1399.98px){
    .summary-grid{ grid-template-columns:repeat(4,minmax(0,1fr)); }
    .dashboard-kpi-grid,
    .reports-kpi-grid{ grid-template-columns:repeat(4,minmax(0,1fr)); }
    .alert-banner-grid{ grid-template-columns:repeat(3,minmax(0,1fr)); }
}

@media (max-width: 1199.98px){
    .summary-grid{ grid-template-columns:repeat(3,minmax(0,1fr)); }
    .summary-grid-4{ grid-template-columns:repeat(2,minmax(0,1fr)); }
    .dashboard-kpi-grid,
    .reports-kpi-grid,
    .alert-banner-grid{ grid-template-columns:repeat(3,minmax(0,1fr)); }
    .reports-filters-grid{ grid-template-columns:repeat(3,minmax(0,1fr)); }
}

@media (max-width: 991.98px){
    .app-shell{ display:block !important; }
    .sidebar{
        width:100%;
        min-width:0;
        min-height:auto;
        flex:auto;
    }
    .summary-grid,
    .summary-grid-2,
    .summary-grid-3,
    .summary-grid-4,
    .dashboard-kpi-grid,
    .reports-kpi-grid,
    .alert-banner-grid,
    .entity-filters-grid,
    .entity-filters-grid-financeiro,
    .entity-filters-grid-users,
    .reports-filters-grid,
    .prod-filters-grid,
    .filters-grid,
    .calendar-grid,
    .month-weekdays,
    .month-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .page-header-strong{
        flex-direction:column;
        align-items:stretch;
    }
    .page-actions,
    .filters-actions,
    .entity-filters-actions{
        justify-content:flex-start;
    }
    .dashboard-day-item,
    .reports-list-item{
        flex-direction:column;
        align-items:flex-start;
    }
}

@media (max-width: 767.98px){
    .summary-grid,
    .summary-grid-2,
    .summary-grid-3,
    .summary-grid-4,
    .dashboard-kpi-grid,
    .reports-kpi-grid,
    .alert-banner-grid,
    .entity-filters-grid,
    .entity-filters-grid-financeiro,
    .entity-filters-grid-users,
    .reports-filters-grid,
    .prod-filters-grid,
    .filters-grid,
    .calendar-grid,
    .month-weekdays,
    .month-grid{
        grid-template-columns:1fr;
    }
    .page-actions .btn,
    .filters-actions .btn,
    .entity-filters-actions .btn{
        width:100%;
    }
}


/* ==========================================================================
   Origem consolidada: round13-premium.css
   ========================================================================== */
/* DentrixPro — Rodada 13
   Acabamento premium e estabilização final de Dashboard, Pedidos, Produção e Financeiro. */

:root{
  --dx-surface:#ffffff;
  --dx-surface-soft:#f8fafc;
  --dx-border:#e2e8f0;
  --dx-border-strong:#d7e0ea;
  --dx-text:#0f172a;
  --dx-text-soft:#64748b;
  --dx-shadow-soft:0 12px 30px rgba(15,23,42,.05);
  --dx-shadow-hover:0 18px 40px rgba(15,23,42,.08);
  --dx-radius-xl:24px;
  --dx-radius-lg:18px;
}

.page-title-xl{
  letter-spacing:-.02em;
}
.page-subtitle{
  max-width:920px;
}

.module-shell,
.dashboard-shell-pro{
  display:block;
}

.module-filter-card,
.entity-table-card,
.production-column,
.dashboard-panel-card,
.summary-kpi-card{
  border:1px solid var(--dx-border-strong);
  box-shadow:var(--dx-shadow-soft);
}

.module-filter-card,
.entity-table-card{
  border-radius:22px;
  overflow:hidden;
  background:var(--dx-surface);
}

.module-filter-card{
  padding:18px;
}

.module-filter-card .form-label,
.production-filters-grid .form-label{
  font-size:.84rem;
  font-weight:700;
  color:var(--dx-text-soft);
  margin-bottom:8px;
}

.module-filter-card .form-control,
.module-filter-card .form-select,
.production-filters-grid .form-control,
.production-filters-grid .form-select{
  min-height:46px;
  border-radius:14px;
  border-color:var(--dx-border);
  background:#fff;
}

.entity-table-card .table thead th,
.entity-table thead th{
  background:#fbfcfe;
  color:var(--dx-text-soft);
  font-size:.75rem;
  text-transform:uppercase;
  letter-spacing:.06em;
  border-bottom:1px solid #e9eef5;
  white-space:nowrap;
}

.entity-table tbody td,
.dashboard-mini-table tbody td{
  padding-top:.9rem;
  padding-bottom:.9rem;
}

.entity-table tbody tr:hover,
.dashboard-mini-table tbody tr:hover{
  background:#fbfdff;
}

.dashboard-kpi-grid-pro{
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:18px;
  margin-bottom:18px;
}

.dashboard-kpi-grid-pro .summary-kpi-card .card-body{
  padding:18px 18px 16px;
  min-height:132px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}

.dashboard-kpi-grid-pro .summary-kpi-top{
  margin-bottom:12px;
}

.dashboard-kpi-grid-pro .display-6{
  font-size:1.95rem;
  line-height:1.05;
}

.dashboard-chip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:6px 10px;
  border-radius:999px;
  background:#eef2ff;
  color:#4338ca;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.03em;
  text-transform:uppercase;
}

.dashboard-panel-card{
  border-radius:24px;
}

.dashboard-panel-card .card-body{
  padding:20px;
}

.dashboard-panel-card-compact .card-body{
  min-height:296px;
}

.dashboard-panel-card-agenda .card-body{
  min-height:296px;
}

.dashboard-panel-card-table .card-body{
  min-height:260px;
}

.dashboard-panel-card-wide .card-body{
  min-height:220px;
}

.dashboard-panel-title{
  margin-bottom:14px;
}

.dashboard-alert-list{
  gap:9px;
}

.dashboard-alert-item{
  padding:12px 14px;
  border-radius:15px;
}

.dashboard-alert-value{
  font-size:1.15rem;
}

.dashboard-day-list-limited{
  display:flex;
  flex-direction:column;
  gap:10px;
  max-height:222px;
  overflow:auto;
  padding-right:4px;
}

.dashboard-day-item{
  padding:12px 14px;
  border-radius:16px;
}

.dashboard-day-title{
  font-size:.97rem;
}

.dashboard-day-sub,
.dashboard-day-time{
  font-size:.86rem;
}

.dashboard-table-wrap{
  overflow:auto;
}

.dashboard-compact-table thead th{
  font-size:.72rem;
}

.dashboard-compact-table tbody td{
  font-size:.93rem;
}

.dashboard-empty-state{
  min-height:170px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px dashed #dbe4ee;
  border-radius:18px;
  background:linear-gradient(180deg,#fcfdff 0%, #f8fbff 100%);
  color:var(--dx-text-soft);
}

.module-shell-pedidos .summary-grid,
.module-shell-financeiro .summary-grid,
.module-shell-producao .summary-grid{
  margin-bottom:18px;
}

.module-shell-pedidos .entity-table-card,
.module-shell-financeiro .entity-table-card{
  border-radius:22px;
}

.module-shell-pedidos .prod-filters-grid,
.module-shell-financeiro .entity-filters-grid-financeiro,
.module-shell-producao .production-filters-grid{
  align-items:end;
  gap:14px;
}

.module-shell-pedidos .prod-filters-grid{
  grid-template-columns:minmax(280px,1.6fr) repeat(3,minmax(170px,.9fr)) auto;
}

.module-shell-financeiro .entity-filters-grid-financeiro{
  grid-template-columns:minmax(220px,1.25fr) minmax(180px,.9fr) auto;
}

.module-shell-producao .production-filters-grid{
  grid-template-columns:minmax(220px,1.15fr) minmax(180px,.85fr) auto;
}

.module-shell-pedidos .prod-actions,
.module-shell-producao .prod-actions,
.module-shell-financeiro .entity-filters-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
}

.module-shell-pedidos .prod-actions .btn,
.module-shell-producao .prod-actions .btn,
.module-shell-financeiro .entity-filters-actions .btn{
  min-width:110px;
}

.production-board-premium{
  gap:18px;
}

.production-column{
  border-radius:22px;
  background:linear-gradient(180deg,#fbfdff 0%, #f7fafc 100%);
}

.production-column-header{
  padding:16px 16px 14px;
  border-bottom:1px solid #ebf0f5;
}

.production-column-body{
  padding:16px;
  max-height:calc(100vh - 315px);
  overflow:auto;
}

.production-card{
  border-radius:18px;
  border:1px solid #e6edf5;
  box-shadow:0 8px 22px rgba(15,23,42,.04);
}

.production-card:hover{
  transform:translateY(-2px);
  box-shadow:var(--dx-shadow-hover);
}

.production-empty{
  min-height:180px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px dashed #dbe4ee;
  border-radius:18px;
  color:var(--dx-text-soft);
  background:#fff;
}

@media (max-width: 1399.98px){
  .dashboard-kpi-grid-pro{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
  .module-shell-pedidos .prod-filters-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

@media (max-width: 1199.98px){
  .dashboard-kpi-grid-pro{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .dashboard-panel-card-compact .card-body,
  .dashboard-panel-card-agenda .card-body,
  .dashboard-panel-card-table .card-body,
  .dashboard-panel-card-wide .card-body{
    min-height:auto;
  }
  .module-shell-pedidos .prod-filters-grid,
  .module-shell-financeiro .entity-filters-grid-financeiro,
  .module-shell-producao .production-filters-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .production-column-body{
    max-height:none;
  }
}

@media (max-width: 767.98px){
  .dashboard-kpi-grid-pro{
    grid-template-columns:1fr;
  }
  .module-shell-pedidos .prod-filters-grid,
  .module-shell-financeiro .entity-filters-grid-financeiro,
  .module-shell-producao .production-filters-grid{
    grid-template-columns:1fr;
  }
  .module-shell-pedidos .prod-actions,
  .module-shell-producao .prod-actions,
  .module-shell-financeiro .entity-filters-actions{
    justify-content:stretch;
  }
  .module-shell-pedidos .prod-actions .btn,
  .module-shell-producao .prod-actions .btn,
  .module-shell-financeiro .entity-filters-actions .btn{
    width:100%;
  }
  .dashboard-day-list-limited{
    max-height:none;
  }
}


/* ==========================================================================
   Origem consolidada: round14-organize.css
   ========================================================================== */
/* DentrixPro — Rodada 14
   Organização visual fina de shell, topbar, sidebar e página de clientes. */

.topbar{
    background:#ffffff;
    min-height:74px;
}

.topbar-context{
    min-width:0;
}

.topbar-breadcrumb{
    display:flex;
    align-items:center;
    gap:10px;
    font-size:.82rem;
    font-weight:700;
    color:#64748b;
    letter-spacing:.01em;
    text-transform:uppercase;
}

.topbar-breadcrumb i{
    font-size:.7rem;
    opacity:.7;
}

.topbar-clock{
    white-space:nowrap;
}

.sidebar{
    width:248px;
    min-width:248px;
    flex-basis:248px;
    padding:22px 18px;
    background:#f8fafc;
    border-right:1px solid #e5edf5;
}

.sidebar .brand-wrap{
    display:flex;
    align-items:center;
    gap:12px;
    padding-bottom:14px;
    margin-bottom:10px;
    border-bottom:1px solid #e7eef6;
}

.sidebar .brand-logo-img{
    width:36px;
    height:36px;
    object-fit:contain;
}

.sidebar .brand{
    font-size:1.1rem;
    font-weight:800;
    color:#0f172a;
}

.sidebar .sidebar-nav .nav-link{
    border-radius:14px;
    padding:10px 12px;
    display:flex;
    align-items:center;
    gap:10px;
    color:#334155;
    font-weight:600;
}

.sidebar .sidebar-nav .nav-link i{
    width:16px;
    text-align:center;
    opacity:.82;
}

.sidebar .sidebar-nav .nav-link:hover{
    background:#eef4ff;
    color:#1d4ed8;
}

.sidebar .sidebar-nav .nav-link.active{
    background:#eaf2ff;
    color:#1d4ed8;
}

.sidebar-tip{
    background:#ffffff;
    border:1px solid #e2e8f0;
    border-radius:18px;
    padding:14px;
}

.page-clientes .content-shell{
    padding-top:28px !important;
}

.module-shell-clientes .page-header{
    margin-bottom:24px !important;
}

.clients-overview-grid{
    display:grid;
    grid-template-columns:minmax(0,1.45fr) minmax(320px,.95fr);
    gap:18px;
    align-items:start;
}

.clients-filter-card{
    border-radius:24px;
}

.clients-filter-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
}

.clients-filter-title{
    font-size:1rem;
    font-weight:800;
    color:#0f172a;
}

.clients-filters-grid-pro{
    display:grid;
    grid-template-columns:minmax(0,1.6fr) repeat(3,minmax(120px,.8fr));
    gap:14px;
    align-items:end;
}

.clients-filter-search{
    grid-column:span 1;
}

.clients-filter-actions{
    display:flex;
    justify-content:flex-end;
    gap:10px;
    flex-wrap:wrap;
}

.clients-summary-grid{
    gap:14px;
    margin-bottom:0;
}

.clients-summary-grid .summary-kpi-card .card-body{
    min-height:138px;
    padding:18px;
}

.clients-table-card{
    border-radius:24px;
}

.clients-table-head{
    border-bottom:1px solid #edf2f7;
}

.clients-table .entity-main-cell{
    gap:12px;
}

.clients-table .avatar-mini{
    width:38px;
    height:38px;
    border-radius:12px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:#eef4ff;
    color:#1d4ed8;
    font-weight:800;
}

.clients-table .entity-stack{
    display:grid;
    gap:3px;
}

.clients-table td{
    vertical-align:middle;
}

.clients-table .client-note{
    max-width:340px;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
    white-space:normal;
}

@media (max-width: 1199.98px){
    .clients-overview-grid{
        grid-template-columns:1fr;
    }

    .clients-filters-grid-pro{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media (max-width: 991.98px){
    .sidebar{
        width:100%;
        min-width:0;
        flex-basis:auto;
        padding:16px;
    }

    .clients-filters-grid-pro{
        grid-template-columns:1fr 1fr;
    }
}

@media (max-width: 767.98px){
    .topbar{
        min-height:auto;
    }

    .topbar-breadcrumb{
        flex-wrap:wrap;
    }

    .clients-filters-grid-pro{
        grid-template-columns:1fr;
    }

    .clients-filter-actions .btn{
        width:100%;
    }
}


/* ==========================================================================
   Origem consolidada: round15-module-cards.css
   ========================================================================== */

/* DentrixPro — Rodada 15
   Padronização visual dos cards e filtros sem duplicar estrutura. */

.module-shell-standard .page-header{
    margin-bottom:20px !important;
}

.module-shell-standard .page-title-xl{
    font-size:2.1rem;
    line-height:1.08;
    margin-bottom:.35rem !important;
}

.module-shell-standard .page-subtitle{
    font-size:1.02rem;
    color:#5f7394;
}

.page-actions{
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
}

.module-view-switch{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}

.module-filter-card-pro{
    padding:18px 18px 16px;
    border-radius:24px;
    border:1px solid #dfe7f2;
    background:#fff;
    box-shadow:0 8px 30px rgba(15, 23, 42, .04);
}

.module-filter-grid{
    display:grid;
    gap:14px;
    align-items:end;
}

.module-filter-grid--clientes{
    grid-template-columns:minmax(0,2.1fr) minmax(180px,.95fr) minmax(110px,.5fr) minmax(180px,.9fr) auto;
}

.module-filter-grid--pacientes{
    grid-template-columns:minmax(0,1.9fr) minmax(190px,1fr) minmax(110px,.5fr) minmax(180px,.9fr) minmax(160px,.8fr) auto;
}

.module-filter-grid--pedidos{
    grid-template-columns:minmax(0,1.8fr) repeat(3,minmax(170px,.9fr)) auto;
}

.module-filter-grid--producao{
    grid-template-columns:minmax(0,1.2fr) minmax(220px,1fr) auto;
}

.module-filter-grid--agenda{
    grid-template-columns:minmax(220px,.9fr) minmax(240px,1fr) auto;
}

.module-filter-field .form-label{
    font-size:.82rem;
    font-weight:700;
    color:#62748d;
    margin-bottom:8px;
}

.module-filter-actions{
    display:flex;
    justify-content:flex-end;
    align-items:end;
    gap:10px;
    flex-wrap:wrap;
}

.module-filter-actions .btn{
    min-width:100px;
}

.module-summary-grid{
    margin-bottom:18px !important;
    gap:14px;
}

.module-summary-grid .summary-kpi-card{
    border-radius:22px;
    border:1px solid #dfe7f2;
    box-shadow:none;
}

.module-summary-grid .summary-kpi-card .card-body{
    padding:18px 18px 16px;
    min-height:122px;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
}

.module-summary-grid .summary-kpi-top{
    margin-bottom:6px;
}

.module-summary-grid .summary-kpi-icon{
    width:34px;
    height:34px;
    border-radius:12px;
    background:#eef4ff;
    color:#2563eb;
}

.module-summary-grid .display-6{
    font-size:2.35rem;
    line-height:1;
    font-weight:800;
    margin-bottom:4px;
}

.module-table-card{
    border-radius:24px;
    overflow:hidden;
    border:1px solid #dde6f0;
    box-shadow:0 8px 30px rgba(15,23,42,.04);
}

.module-table-head{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
    padding:18px 20px 14px;
    border-bottom:1px solid #e8eef5;
}

.module-section-title{
    font-size:1.1rem;
    font-weight:800;
    color:#0f172a;
    margin:0 0 4px 0;
}

.module-table-card .table thead th{
    font-size:.8rem;
    font-weight:800;
    letter-spacing:.02em;
    text-transform:uppercase;
    color:#64748b;
    border-bottom:1px solid #e8eef5;
    padding:12px 16px;
    background:#fbfdff;
}

.module-table-card .table tbody td{
    padding:14px 16px;
}

.module-table-card .table tbody tr:not(:last-child) td{
    border-bottom:1px solid #eef3f8;
}

.module-table-card .table tbody tr:hover td{
    background:#fbfdff;
}

.module-toolbar-row{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    flex-wrap:wrap;
    margin-bottom:14px;
}

.pedidos-table tbody tr.row-late td{
    background:rgba(239,68,68,.035);
}

.production-board-premium{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:16px;
}

.production-column{
    background:#f8fbff;
    border:1px solid #dce7f3;
    border-radius:22px;
    min-height:460px;
    display:flex;
    flex-direction:column;
    overflow:hidden;
}

.production-column-header{
    padding:18px 18px 14px;
    border-bottom:1px solid #e6eef7;
    background:#fbfdff;
}

.production-column-title{
    font-size:1.02rem;
    font-weight:800;
    color:#0f172a;
}

.production-column-count{
    font-size:.88rem;
    color:#64748b;
    margin-top:3px;
}

.production-column-body{
    padding:16px;
    display:grid;
    gap:14px;
    align-content:start;
}

.production-card{
    border-radius:18px;
    border:1px solid #dbe7f4;
    box-shadow:none;
}

.agenda-range-box{
    min-height:44px;
    display:flex;
    align-items:center;
    padding:0 14px;
    border:1px solid #d4dfec;
    border-radius:14px;
    background:#f8fbff;
    font-weight:600;
    color:#334155;
}

.calendar-day,
.month-cell{
    border-radius:18px;
    border-color:#dde6f0;
    box-shadow:0 4px 18px rgba(15,23,42,.03);
}

@media (max-width: 1399.98px){
    .module-filter-grid--clientes{
        grid-template-columns:minmax(0,1.6fr) repeat(3,minmax(140px,.8fr)) auto;
    }

    .module-filter-grid--pacientes,
    .module-filter-grid--pedidos{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }

    .module-filter-grid--producao,
    .module-filter-grid--agenda{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .production-board-premium{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media (max-width: 991.98px){
    .module-filter-grid--clientes,
    .module-filter-grid--pacientes,
    .module-filter-grid--pedidos,
    .module-filter-grid--producao,
    .module-filter-grid--agenda{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .module-filter-actions{
        grid-column:1 / -1;
        justify-content:flex-start;
    }

    .module-summary-grid{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }

    .production-board-premium{
        grid-template-columns:1fr;
    }
}

@media (max-width: 767.98px){
    .module-shell-standard .page-title-xl{
        font-size:1.8rem;
    }

    .module-filter-grid--clientes,
    .module-filter-grid--pacientes,
    .module-filter-grid--pedidos,
    .module-filter-grid--producao,
    .module-filter-grid--agenda,
    .module-summary-grid{
        grid-template-columns:1fr !important;
    }

    .module-filter-actions .btn{
        width:100%;
    }

    .module-table-head{
        flex-direction:column;
        align-items:flex-start;
    }
}


/* ==========================================================================
   Origem consolidada: round16-sidebar.css
   ========================================================================== */
/* DentrixPro — Rodada 16
   Reorganização profissional da lateral esquerda sem atalho redundante. */

.app-shell{
    min-height:100vh;
    align-items:stretch;
}

.sidebar{
    width:270px;
    min-width:270px;
    flex:0 0 270px;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    gap:20px;
    padding:22px 16px 18px;
    background:linear-gradient(180deg,#f8fafc 0%,#f5f8fc 100%);
    border-right:1px solid #e4ebf3;
}

.sidebar-top{
    min-height:0;
}

.sidebar-brand{
    display:flex;
    align-items:center;
    gap:12px;
    padding:10px 12px 16px;
    margin-bottom:14px;
    border-bottom:1px solid #e4ebf3;
    text-decoration:none;
}

.sidebar-brand:hover{
    text-decoration:none;
}

.sidebar .brand-logo-img{
    width:50px;
    height:50px;
    object-fit:contain;
    flex:0 0 50px;
    filter:drop-shadow(0 8px 20px rgba(37,99,235,.12));
}

.sidebar-brand-copy{
    min-width:0;
}

.sidebar .brand{
    display:flex;
    align-items:center;
    gap:0;
    font-size:1.28rem;
    font-weight:800;
    color:#0f172a;
    line-height:1.1;
}

.sidebar .brand .badge{
    font-size:.74rem;
    font-weight:700;
    border-radius:999px;
    padding:.35rem .5rem;
}

.sidebar .small-muted{
    display:block;
    margin-top:6px;
    font-size:.9rem;
    line-height:1.45;
    color:#5f6f86;
}

.sidebar-section-label{
    padding:0 12px 8px;
    font-size:.74rem;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:#94a3b8;
}

.sidebar-nav{
    gap:6px !important;
}

.sidebar .sidebar-nav .nav-link{
    border-radius:16px;
    padding:12px 14px;
    min-height:48px;
    display:flex;
    align-items:center;
    gap:12px;
    color:#334155;
    font-weight:700;
    font-size:1rem;
    transition:all .18s ease;
}

.sidebar .sidebar-nav .nav-link i{
    width:20px;
    text-align:center;
    font-size:1rem;
    color:#64748b;
    opacity:1;
}

.sidebar .sidebar-nav .nav-link:hover{
    background:#eef4ff;
    color:#1d4ed8;
    transform:translateX(2px);
}

.sidebar .sidebar-nav .nav-link.active{
    background:#e9f1ff;
    color:#1d4ed8;
    box-shadow:inset 0 0 0 1px #d8e7ff;
}

.sidebar .sidebar-nav .nav-link.active i,
.sidebar .sidebar-nav .nav-link:hover i{
    color:#2563eb;
}

.sidebar-footer{
    margin-top:auto;
    padding-top:14px;
    border-top:1px solid #e4ebf3;
}

.sidebar-logout{
    display:flex;
    align-items:center;
    gap:10px;
    padding:12px 14px;
    margin-bottom:14px;
    border-radius:16px;
    color:#dc2626;
    font-weight:700;
    text-decoration:none;
}

.sidebar-logout:hover{
    background:#fff1f2;
    color:#b91c1c;
    text-decoration:none;
}

.sidebar-footer-brand{
    display:flex;
    align-items:center;
    gap:10px;
    padding:12px;
    border-radius:18px;
    background:#ffffff;
    border:1px solid #e4ebf3;
    box-shadow:0 10px 30px rgba(15,23,42,.04);
}

.sidebar-footer-logo{
    width:38px;
    height:38px;
    object-fit:contain;
    flex:0 0 38px;
}

.sidebar-footer-copy{
    min-width:0;
    flex:1;
}

.sidebar-footer-title{
    font-size:1rem;
    font-weight:800;
    color:#0f172a;
    line-height:1.1;
}

.sidebar-footer-text{
    margin-top:4px;
    font-size:.78rem;
    line-height:1.35;
    color:#64748b;
}

.sidebar-footer-badge{
    align-self:flex-start;
    border-radius:999px;
    font-size:.72rem;
}

@media (max-width: 1199.98px){
    .sidebar{
        width:248px;
        min-width:248px;
        flex-basis:248px;
        padding:18px 14px 16px;
    }

    .sidebar .brand{
        font-size:1.16rem;
    }

    .sidebar .brand-logo-img{
        width:44px;
        height:44px;
        flex-basis:44px;
    }
}

@media (max-width: 991.98px){
    .sidebar{
        width:100%;
        min-width:100%;
        flex-basis:100%;
        border-right:0;
        border-bottom:1px solid #e4ebf3;
    }

    .sidebar-footer-brand{
        max-width:420px;
    }
}


/* ==========================================================================
   Origem consolidada: round17-refinement.css
   ========================================================================== */
/* Round 17 — refinamento premium de pedidos */

.summary-kpi.compact {
  border-radius: 18px;
  border: 1px solid #dbe4f0;
  box-shadow: none;
}

.summary-kpi.compact .card-body {
  padding: 16px 18px;
  min-height: 126px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.summary-kpi-top {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}

.summary-kpi-label {
  font-size: 12px;
  color: #6b7280;
  font-weight: 600;
  letter-spacing: .01em;
}

.summary-kpi-value {
  font-size: clamp(1.45rem, 1.6vw, 2rem);
  font-weight: 800;
  line-height: 1.1;
  color: #0f172a;
  letter-spacing: -.02em;
  word-break: break-word;
}

.summary-kpi-sub {
  margin-top: 6px;
  font-size: 12px;
  color: #64748b;
}

.summary-kpi-money {
  font-size: clamp(1.4rem, 1.55vw, 1.9rem);
}

.table-orders td {
  padding: 14px 12px;
  vertical-align: middle;
}

.table-orders .cell-main {
  font-weight: 700;
  color: #111827;
}

.table-orders .cell-sub {
  font-size: 12px;
  color: #64748b;
  margin-top: 2px;
}

.table-orders tbody tr {
  background: #fff;
}

.table-orders tbody tr:hover {
  background: #f8fbff;
}

.table-orders tbody tr.row-late {
  background: #fff8f8;
  box-shadow: inset 4px 0 0 #ef4444;
}

.table-orders tbody tr.row-soon {
  background: #fffdf6;
  box-shadow: inset 4px 0 0 #f59e0b;
}

.order-priority {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-weight: 700;
  font-size: 13px;
}

.priority-dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  display: inline-block;
  flex: 0 0 9px;
}

.priority-urgente { background: #ef4444; }
.priority-alta { background: #f97316; }
.priority-normal { background: #3b82f6; }
.priority-baixa { background: #94a3b8; }

.table-actions-inline {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}

.table-actions-inline .btn {
  border-radius: 12px;
  padding: 7px 14px;
  font-size: 12px;
  font-weight: 600;
}

.order-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 18px;
}

.order-header-title {
  font-size: clamp(1.85rem, 2.2vw, 2.35rem);
  font-weight: 800;
  line-height: 1.08;
  color: #0f172a;
}

.order-header-sub {
  margin-top: 8px;
  font-size: 14px;
  color: #64748b;
}

.order-header-actions {
  flex-shrink: 0;
}

.order-show-card .card-body {
  padding: 20px;
}

.order-show-grid {
  gap: 14px;
}

.order-show-item {
  border-radius: 16px;
  min-height: 92px;
}

.order-show-label {
  font-size: 12px;
  color: #64748b;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .03em;
}

.order-show-value {
  font-size: 1.05rem;
  font-weight: 700;
  color: #0f172a;
  line-height: 1.35;
}

@media (max-width: 991.98px) {
  .order-header {
    flex-direction: column;
  }

  .order-header-actions {
    width: 100%;
  }

  .table-actions-inline {
    justify-content: flex-start;
  }
}

@media (max-width: 767.98px) {
  .table-orders td {
    padding: 12px 10px;
  }

  .summary-kpi.compact .card-body {
    min-height: 112px;
  }

  .order-header-title {
    font-size: 1.65rem;
  }
}


/* ==========================================================================
   Origem consolidada: round19-commercial.css
   ========================================================================== */

/* Rodada 19 — acabamento comercial */
:root {
  --commercial-border: #d7e3f3;
  --commercial-border-strong: #c8d8ee;
  --commercial-bg-soft: #f8fbff;
  --commercial-shadow: 0 10px 28px rgba(15, 23, 42, 0.05);
  --commercial-shadow-soft: 0 6px 18px rgba(15, 23, 42, 0.035);
}

.module-shell-commercial .filter-card,
.module-shell-agenda .filter-card,
.module-shell-financeiro .filter-card,
.production-column,
.entity-table-card,
.module-table-card,
.calendar-day,
.month-cell,
.card-kpi.summary-kpi-card,
.financeiro-table-card {
  border-color: var(--commercial-border);
  box-shadow: var(--commercial-shadow-soft);
}

.module-shell-commercial .filter-card,
.module-shell-agenda .filter-card,
.module-shell-financeiro .filter-card,
.entity-table-card,
.module-table-card,
.production-column {
  border-radius: 20px;
  background: #fff;
}

.module-shell-commercial .module-filter-card-pro,
.module-shell-agenda .module-filter-card-pro,
.module-shell-financeiro .module-filter-card {
  padding: 18px 18px 16px;
}

.module-shell-commercial .module-filter-grid,
.module-shell-agenda .module-filter-grid,
.module-shell-financeiro .entity-filters-grid {
  gap: 16px;
  align-items: end;
}

.module-shell-commercial .form-label,
.module-shell-agenda .form-label,
.module-shell-financeiro .form-label {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .02em;
  color: #64748b;
  margin-bottom: 8px;
}

.module-shell-commercial .form-select,
.module-shell-commercial .form-control,
.module-shell-agenda .form-select,
.module-shell-agenda .form-control,
.module-shell-financeiro .form-select,
.module-shell-financeiro .form-control,
.agenda-range-box {
  min-height: 48px;
  border-radius: 14px;
  border: 1px solid var(--commercial-border-strong);
  background: #fff;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.85);
}

.agenda-range-box {
  display: flex;
  align-items: center;
  padding: 0 14px;
  font-weight: 600;
  color: #334155;
}

.module-shell-commercial .btn,
.module-shell-agenda .btn,
.module-shell-financeiro .btn {
  border-radius: 14px;
  min-height: 46px;
  padding: 0 18px;
  font-weight: 600;
}

.module-shell-commercial .module-filter-actions,
.module-shell-agenda .module-filter-actions,
.module-shell-financeiro .entity-filters-actions {
  display: flex;
  gap: 10px;
  justify-content: flex-end;
}

.module-summary-grid .summary-kpi-card,
.module-shell-financeiro .summary-kpi-card,
.module-shell-agenda .summary-kpi-card {
  border-radius: 18px;
  min-height: 126px;
  background: linear-gradient(180deg, #fff 0%, #fbfdff 100%);
}

.module-summary-grid .summary-kpi-card .card-body,
.module-shell-financeiro .summary-kpi-card .card-body,
.module-shell-agenda .summary-kpi-card .card-body {
  padding: 18px 18px 16px;
}

.module-summary-grid .summary-kpi-top,
.module-shell-financeiro .summary-kpi-top,
.module-shell-agenda .summary-kpi-top {
  margin-bottom: 16px;
}

.module-summary-grid .summary-kpi-icon,
.module-shell-financeiro .summary-kpi-icon,
.module-shell-agenda .summary-kpi-icon {
  width: 42px;
  height: 42px;
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
}

.module-summary-grid .summary-kpi-value,
.module-shell-financeiro .summary-kpi-value,
.module-shell-agenda .summary-kpi-value {
  font-size: 2rem;
  line-height: 1;
  letter-spacing: -.03em;
  margin-bottom: 8px;
}

.summary-kpi-money {
  font-size: 1.7rem !important;
}

/* Produção */
.production-board-commercial {
  align-items: start;
  gap: 18px;
}

.production-board-commercial .production-column {
  overflow: hidden;
  min-height: 100%;
}

.production-board-commercial .production-column-header {
  padding: 18px 18px 16px;
  border-bottom: 1px solid #e6eef8;
  background: linear-gradient(180deg, #fbfdff 0%, #f6faff 100%);
}

.production-board-commercial .production-column-title {
  font-size: 1.35rem;
  font-weight: 800;
  color: #0f172a;
}

.production-board-commercial .production-column-count {
  color: #64748b;
  font-size: 13px;
  margin-top: 4px;
}

.production-board-commercial .production-column-body {
  padding: 16px;
  background: linear-gradient(180deg, rgba(248,251,255,0.9) 0%, rgba(255,255,255,1) 100%);
}

.production-board-commercial .production-card {
  border-radius: 18px;
  border: 1px solid var(--commercial-border);
  box-shadow: var(--commercial-shadow-soft);
  background: #fff;
  overflow: hidden;
}

.production-board-commercial .production-card::before {
  content: '';
  display: block;
  height: 4px;
  background: #3b82f6;
}
.production-board-commercial .production-card.priority-urgent::before { background: #ef4444; }
.production-board-commercial .production-card.priority-high::before { background: #f97316; }
.production-board-commercial .production-card.priority-normal::before { background: #3b82f6; }
.production-board-commercial .production-card.priority-low::before { background: #94a3b8; }

.production-board-commercial .production-card-top,
.production-board-commercial .production-card-client,
.production-board-commercial .production-card-patient,
.production-board-commercial .production-card-service,
.production-board-commercial .production-card-meta,
.production-board-commercial .production-card-footer {
  padding-left: 16px;
  padding-right: 16px;
}

.production-board-commercial .production-card-top { padding-top: 14px; }
.production-board-commercial .production-card-service {
  margin-top: 12px;
  display: flex;
  align-items: center;
  gap: 8px;
  color: #334155;
  font-weight: 600;
}
.production-board-commercial .production-card-meta {
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px dashed #d8e5f5;
}
.production-board-commercial .production-card-footer {
  padding-top: 14px;
  padding-bottom: 16px;
}
.production-board-commercial .production-empty {
  border-radius: 16px;
  border: 1px dashed #cbdcf1;
  background: #f8fbff;
  color: #64748b;
}

/* Agenda */
.module-shell-agenda .module-view-switch {
  display: inline-flex;
  gap: 10px;
  background: #f7faff;
  border: 1px solid var(--commercial-border);
  padding: 6px;
  border-radius: 18px;
}

.module-shell-agenda .module-view-switch .btn {
  min-height: 42px;
  padding-inline: 16px;
}

.module-shell-agenda .module-toolbar-row {
  border: 1px solid var(--commercial-border);
  border-radius: 18px;
  background: #fff;
  padding: 12px 14px;
  margin-bottom: 16px;
  box-shadow: var(--commercial-shadow-soft);
}

.module-shell-agenda .toolbar {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.module-shell-agenda .stat-chip,
.module-shell-agenda .dashboard-chip {
  border-radius: 999px;
  background: #f7faff;
  border: 1px solid var(--commercial-border);
  color: #1e293b;
  font-weight: 700;
  padding: 8px 14px;
}

.module-shell-agenda .module-table-head {
  padding: 18px 20px 14px;
  border-bottom: 1px solid #e9f0f7;
}

.module-shell-agenda .module-section-title {
  font-size: 1.35rem;
  font-weight: 800;
  color: #0f172a;
}

.module-shell-agenda table.entity-table thead th,
.module-shell-financeiro table.entity-table thead th {
  font-size: 12px;
  letter-spacing: .03em;
  text-transform: uppercase;
  color: #64748b;
  background: #fbfdff;
  border-bottom: 1px solid #e4edf7;
}

.module-shell-agenda table.entity-table td,
.module-shell-financeiro table.entity-table td {
  padding-top: 14px;
  padding-bottom: 14px;
}

.module-shell-agenda .calendar-grid.week-grid {
  gap: 16px;
}

.module-shell-agenda .calendar-day.week-day {
  border-radius: 20px;
  padding: 16px;
  background: linear-gradient(180deg, #fff 0%, #fbfdff 100%);
}

.module-shell-agenda .day-head {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}

.module-shell-agenda .week-event {
  border-radius: 14px;
  border: 1px solid #d8e5f5;
  padding: 12px;
  box-shadow: var(--commercial-shadow-soft);
}

.module-shell-agenda .calendar-month-wrap {
  padding: 18px;
}

.module-shell-agenda .month-weekday {
  color: #64748b;
  font-size: 12px;
  text-transform: uppercase;
  font-weight: 700;
}

.module-shell-agenda .month-grid {
  gap: 12px;
}

.module-shell-agenda .month-cell {
  min-height: 128px;
  padding: 14px;
  border-radius: 18px;
  background: linear-gradient(180deg, #fff 0%, #fbfdff 100%);
}

.module-shell-agenda .month-cell.is-today {
  border-color: #93c5fd;
  box-shadow: 0 0 0 3px rgba(59,130,246,.10);
}

.module-shell-agenda .month-day-number {
  font-size: 1rem;
  font-weight: 800;
  color: #0f172a;
  margin-bottom: 10px;
}

.module-shell-agenda .month-metric {
  border-radius: 10px;
  padding: 5px 8px;
  margin-bottom: 6px;
  font-size: 12px;
  font-weight: 700;
  display: inline-block;
}

.module-shell-agenda .month-metric.total { background: #eff6ff; color: #1d4ed8; }
.module-shell-agenda .month-metric.pending { background: #fff7ed; color: #c2410c; }
.module-shell-agenda .month-metric.done { background: #ecfdf5; color: #047857; }
.module-shell-agenda .month-metric.late { background: #fef2f2; color: #b91c1c; }

/* Financeiro */
.module-shell-financeiro .financeiro-table-card {
  overflow: hidden;
}

.module-shell-financeiro .entity-table tbody tr {
  transition: background .18s ease, transform .18s ease;
}

.module-shell-financeiro .entity-table tbody tr:hover {
  background: #fbfdff;
}

.module-shell-financeiro .entity-table tbody tr.row-danger td:first-child {
  border-left: 4px solid #ef4444;
}

.module-shell-financeiro .entity-table tbody tr.row-warning td:first-child {
  border-left: 4px solid #f59e0b;
}

.module-shell-financeiro .badge {
  border-radius: 999px;
  padding: 7px 11px;
  font-weight: 700;
}

.module-shell-financeiro .table-actions-inline .btn,
.module-shell-agenda .btn.btn-sm,
.production-board-commercial .btn.btn-sm {
  min-height: 36px;
  padding: 0 12px;
  border-radius: 12px;
}

@media (max-width: 1200px) {
  .production-board-commercial {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 991px) {
  .module-shell-agenda .module-view-switch {
    width: 100%;
    justify-content: stretch;
  }
  .module-shell-agenda .module-view-switch .btn {
    flex: 1 1 0;
  }
  .module-shell-commercial .module-filter-actions,
  .module-shell-agenda .module-filter-actions,
  .module-shell-financeiro .entity-filters-actions {
    width: 100%;
    justify-content: stretch;
  }
  .module-shell-commercial .module-filter-actions .btn,
  .module-shell-agenda .module-filter-actions .btn,
  .module-shell-financeiro .entity-filters-actions .btn {
    flex: 1 1 0;
  }
}

@media (max-width: 767px) {
  .production-board-commercial {
    grid-template-columns: 1fr;
  }
  .module-shell-agenda .module-toolbar-row {
    flex-direction: column;
    align-items: stretch;
  }
  .module-shell-agenda .month-cell {
    min-height: 110px;
  }
}


/* ==========================================================================
   Origem consolidada: round20-density-fixes.css
   ========================================================================== */
/* Rodada 20 — densidade visual e ações compactas */

/* Pedidos: KPIs mais baixos e densos */
.module-shell-pedidos .summary-kpi-card,
.module-shell-pedidos .summary-kpi.compact {
  min-height: 104px;
  border-radius: 18px;
}

.module-shell-pedidos .summary-kpi-card .card-body,
.module-shell-pedidos .summary-kpi.compact .card-body {
  min-height: 104px;
  padding: 14px 16px;
}

.module-shell-pedidos .summary-kpi-top {
  margin-bottom: 10px;
}

.module-shell-pedidos .summary-kpi-icon {
  width: 38px;
  height: 38px;
  border-radius: 12px;
  font-size: 14px;
}

.module-shell-pedidos .summary-kpi-value {
  font-size: 1.2rem;
  line-height: 1;
  margin-bottom: 6px;
}

.module-shell-pedidos .summary-kpi-sub,
.module-shell-pedidos .summary-kpi-helper,
.module-shell-pedidos .summary-kpi-label {
  font-size: 12px;
}

/* Tabela de pedidos mais compacta */
.module-shell-pedidos .table-orders td {
  padding: 10px 12px;
}

.module-shell-pedidos .table-orders .cell-main {
  font-size: 0.98rem;
  line-height: 1.2;
}

.module-shell-pedidos .table-orders .cell-sub {
  font-size: 11px;
  margin-top: 4px;
}

.module-shell-pedidos .table-orders tbody tr.row-late {
  background: #fff;
  box-shadow: inset 4px 0 0 #ef4444;
}

.module-shell-pedidos .table-orders tbody tr.row-soon {
  background: #fff;
  box-shadow: inset 4px 0 0 #f59e0b;
}

.module-shell-pedidos .table-orders tbody tr:hover {
  background: #f8fbff;
}

.module-shell-pedidos .order-priority {
  font-size: 12px;
  gap: 6px;
}

.module-shell-pedidos .priority-dot {
  width: 8px;
  height: 8px;
  flex: 0 0 8px;
}

/* Coluna de ações: impedir quebra estranha do OS */
.module-shell-pedidos .table-orders th:last-child,
.module-shell-pedidos .table-orders td:last-child {
  width: 170px;
  min-width: 170px;
}

.module-shell-pedidos .table-actions-inline {
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-end;
  align-items: center;
  gap: 8px;
}

.module-shell-pedidos .table-actions-inline .btn {
  min-height: 34px;
  padding: 6px 12px;
  font-size: 12px;
  border-radius: 11px;
  white-space: nowrap;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.module-shell-pedidos .table-actions-inline .btn:last-child {
  min-width: 52px;
}

/* Detalhe do pedido mais equilibrado */
.module-shell-pedido-show .summary-kpi-card,
.module-shell-pedido-show .summary-kpi.compact {
  min-height: 96px;
}

.module-shell-pedido-show .summary-kpi-card .card-body,
.module-shell-pedido-show .summary-kpi.compact .card-body {
  min-height: 96px;
  padding: 14px 16px;
}

.module-shell-pedido-show .summary-kpi-value {
  font-size: clamp(1.05rem, 1.4vw, 1.6rem);
  line-height: 1.12;
}

.module-shell-pedido-show .summary-kpi-sub,
.module-shell-pedido-show .summary-kpi-label {
  font-size: 12px;
}

@media (max-width: 1199.98px) {
  .module-shell-pedidos .table-orders th:last-child,
  .module-shell-pedidos .table-orders td:last-child {
    width: 160px;
    min-width: 160px;
  }

  .module-shell-pedidos .table-actions-inline .btn {
    padding: 6px 10px;
  }
}

@media (max-width: 991.98px) {
  .module-shell-pedidos .table-actions-inline {
    flex-wrap: wrap;
    justify-content: flex-end;
  }

  .module-shell-pedidos .table-orders th:last-child,
  .module-shell-pedidos .table-orders td:last-child {
    width: 150px;
    min-width: 150px;
  }
}


/* ==========================================================================
   Origem consolidada: round21-stability.css
   ========================================================================== */
/* Rodada 21 — estabilização de escopo e alinhamento
   Objetivo: corrigir vazamento visual sem reescrever os módulos. */

/* =========================
   Normalização segura de botões no conteúdo
   ========================= */
.content-shell .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .45rem;
  line-height: 1.15;
  vertical-align: middle;
  white-space: nowrap;
  text-align: center;
}

.content-shell .btn i,
.content-shell .btn .fa,
.content-shell .btn .fas,
.content-shell .btn .far,
.content-shell .btn .fa-solid,
.content-shell .btn .fa-regular {
  line-height: 1;
}

.content-shell .btn.btn-sm {
  min-height: 34px;
}

.content-shell .module-filter-actions .btn,
.content-shell .entity-filters-actions .btn,
.content-shell .table-actions-inline .btn {
  align-self: center;
}

/* =========================
   Cards KPI com densidade controlada
   ========================= */
body.page-pedidos .summary-kpi-card,
body.page-financeiro .summary-kpi-card,
body.page-agenda .summary-kpi-card,
body.page-clientes .summary-kpi-card,
body.page-pacientes .summary-kpi-card,
body.page-producao .summary-kpi-card {
  min-height: 112px;
}

body.page-pedidos .summary-kpi-card .card-body,
body.page-financeiro .summary-kpi-card .card-body,
body.page-agenda .summary-kpi-card .card-body,
body.page-clientes .summary-kpi-card .card-body,
body.page-pacientes .summary-kpi-card .card-body,
body.page-producao .summary-kpi-card .card-body {
  min-height: 112px;
  padding: 16px 18px 14px;
}

body.page-pedidos .summary-kpi-top,
body.page-financeiro .summary-kpi-top,
body.page-agenda .summary-kpi-top,
body.page-clientes .summary-kpi-top,
body.page-pacientes .summary-kpi-top,
body.page-producao .summary-kpi-top {
  margin-bottom: 12px;
}

body.page-pedidos .summary-kpi-icon,
body.page-financeiro .summary-kpi-icon,
body.page-agenda .summary-kpi-icon,
body.page-clientes .summary-kpi-icon,
body.page-pacientes .summary-kpi-icon,
body.page-producao .summary-kpi-icon {
  width: 38px;
  height: 38px;
  border-radius: 12px;
  font-size: 14px;
}

body.page-pedidos .summary-kpi-value,
body.page-financeiro .summary-kpi-value,
body.page-agenda .summary-kpi-value,
body.page-clientes .summary-kpi-value,
body.page-pacientes .summary-kpi-value,
body.page-producao .summary-kpi-value {
  font-size: clamp(1.15rem, 1.3vw, 1.8rem);
  line-height: 1.08;
}

body.page-pedidos .summary-kpi-helper,
body.page-pedidos .summary-kpi-sub,
body.page-financeiro .summary-kpi-helper,
body.page-financeiro .summary-kpi-sub,
body.page-agenda .summary-kpi-helper,
body.page-agenda .summary-kpi-sub,
body.page-clientes .summary-kpi-helper,
body.page-clientes .summary-kpi-sub,
body.page-pacientes .summary-kpi-helper,
body.page-pacientes .summary-kpi-sub,
body.page-producao .summary-kpi-helper,
body.page-producao .summary-kpi-sub {
  font-size: 12px;
}

/* detalhe do pedido */
body.page-pedido_show .summary-kpi-card,
body.page-pedido_show .summary-kpi.compact {
  min-height: 94px;
}

body.page-pedido_show .summary-kpi-card .card-body,
body.page-pedido_show .summary-kpi.compact .card-body {
  min-height: 94px;
  padding: 14px 16px;
}

body.page-pedido_show .summary-kpi-top {
  margin-bottom: 10px;
}

body.page-pedido_show .summary-kpi-icon {
  width: 38px;
  height: 38px;
}

body.page-pedido_show .summary-kpi-value {
  font-size: clamp(1.05rem, 1.2vw, 1.55rem);
  line-height: 1.08;
}

/* =========================
   Pedidos — ações sem quebra e linhas densas
   ========================= */
body.page-pedidos .table-orders td {
  padding: 9px 12px;
}

body.page-pedidos .table-orders tbody tr.row-late,
body.page-pedidos .table-orders tbody tr.row-soon {
  background: #fff;
}

body.page-pedidos .table-orders tbody tr.row-late td:first-child,
body.page-pedidos .table-orders tbody tr.row-soon td:first-child {
  border-left: 4px solid #ef4444;
}

body.page-pedidos .table-orders tbody tr.row-soon td:first-child {
  border-left-color: #f59e0b;
}

body.page-pedidos .table-orders th:last-child,
body.page-pedidos .table-orders td:last-child {
  width: 188px;
  min-width: 188px;
}

body.page-pedidos .table-actions-inline {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: nowrap;
}

body.page-pedidos .table-actions-inline .btn {
  min-height: 34px;
  padding: 6px 12px;
  border-radius: 10px;
  font-size: 12px;
}

body.page-pedidos .table-actions-inline .btn:last-child {
  min-width: 54px;
}

body.page-pedidos .order-priority {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  font-weight: 600;
}

body.page-pedidos .priority-dot {
  width: 7px;
  height: 7px;
  flex: 0 0 7px;
}

/* =========================
   Filtros — ações estáveis
   ========================= */
body.page-pedidos .module-filter-actions,
body.page-producao .module-filter-actions,
body.page-agenda .module-filter-actions,
body.page-clientes .module-filter-actions,
body.page-pacientes .module-filter-actions,
body.page-financeiro .entity-filters-actions {
  display: flex;
  align-items: end;
  gap: 10px;
}

body.page-pedidos .module-filter-actions .btn,
body.page-producao .module-filter-actions .btn,
body.page-agenda .module-filter-actions .btn,
body.page-clientes .module-filter-actions .btn,
body.page-pacientes .module-filter-actions .btn,
body.page-financeiro .entity-filters-actions .btn {
  min-height: 42px;
  padding: 0 16px;
}

/* =========================
   Produção / Agenda / Financeiro — só alinhamento, sem estética agressiva
   ========================= */
body.page-producao .prod-actions .btn,
body.page-agenda .module-view-switch .btn,
body.page-financeiro .table-actions-inline .btn {
  min-height: 36px;
  padding: 0 12px;
  border-radius: 12px;
}

/* =========================
   Responsividade
   ========================= */
@media (max-width: 1199.98px) {
  body.page-pedidos .table-orders th:last-child,
  body.page-pedidos .table-orders td:last-child {
    width: 176px;
    min-width: 176px;
  }
}

@media (max-width: 991.98px) {
  body.page-pedidos .table-actions-inline {
    flex-wrap: wrap;
  }

  body.page-pedidos .table-orders th:last-child,
  body.page-pedidos .table-orders td:last-child {
    width: 158px;
    min-width: 158px;
  }

  body.page-pedidos .module-filter-actions,
  body.page-producao .module-filter-actions,
  body.page-agenda .module-filter-actions,
  body.page-clientes .module-filter-actions,
  body.page-pacientes .module-filter-actions,
  body.page-financeiro .entity-filters-actions {
    width: 100%;
    justify-content: stretch;
  }

  body.page-pedidos .module-filter-actions .btn,
  body.page-producao .module-filter-actions .btn,
  body.page-agenda .module-filter-actions .btn,
  body.page-clientes .module-filter-actions .btn,
  body.page-pacientes .module-filter-actions .btn,
  body.page-financeiro .entity-filters-actions .btn {
    flex: 1 1 0;
  }
}


/* ==========================================================================
   Origem consolidada: round23-producao-final.css
   ========================================================================== */
/* Rodada 23 — acabamento final da Produção
   Escopo isolado: somente body.page-producao */

body.page-producao .module-shell-producao {
  gap: 0;
}

body.page-producao .module-shell-producao .page-header {
  margin-bottom: 1rem !important;
}

body.page-producao .module-shell-producao .page-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
}

body.page-producao .module-shell-producao .page-actions .btn {
  min-height: 42px;
  padding-inline: 16px;
  border-radius: 12px;
}

body.page-producao .module-shell-producao .filter-card {
  border-radius: 18px;
  border: 1px solid #e2e8f0;
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.05);
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
}

body.page-producao .module-shell-producao .module-filter-grid--producao {
  grid-template-columns: minmax(220px, 1.2fr) minmax(180px, .9fr) auto;
  gap: 14px;
  align-items: end;
}

body.page-producao .module-shell-producao .prod-filter-group .form-label {
  font-size: 12px;
  font-weight: 700;
  color: #475569;
  margin-bottom: 6px;
}

body.page-producao .module-shell-producao .prod-filter-group .form-select {
  min-height: 44px;
  border-radius: 12px;
  border-color: #d7e2f0;
  box-shadow: none;
}

body.page-producao .module-shell-producao .module-filter-actions {
  display: flex;
  align-items: end;
  gap: 10px;
}

body.page-producao .module-shell-producao .module-filter-actions .btn {
  min-height: 44px;
  padding-inline: 16px;
  border-radius: 12px;
}

body.page-producao .summary-grid.module-summary-grid {
  margin-bottom: 18px !important;
}

body.page-producao .summary-grid.module-summary-grid .summary-kpi-card {
  min-height: 104px;
}

body.page-producao .summary-grid.module-summary-grid .summary-kpi-card .card-body {
  min-height: 104px;
  padding: 15px 16px 14px;
}

body.page-producao .summary-grid.module-summary-grid .summary-kpi-top {
  margin-bottom: 10px;
}

body.page-producao .summary-grid.module-summary-grid .summary-kpi-icon {
  width: 36px;
  height: 36px;
  border-radius: 11px;
  font-size: 13px;
}

body.page-producao .summary-grid.module-summary-grid .summary-kpi-value {
  font-size: clamp(1.15rem, 1.25vw, 1.7rem);
  line-height: 1.06;
}

body.page-producao .summary-grid.module-summary-grid .summary-kpi-sub {
  font-size: 12px;
}

body.page-producao .production-board-commercial {
  gap: 16px;
  align-items: stretch;
}

body.page-producao .production-board-commercial .production-column {
  border: 1px solid #e2e8f0;
  border-radius: 20px;
  background: linear-gradient(180deg, #f8fbff 0%, #ffffff 28%);
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.06);
  min-width: 300px;
}

body.page-producao .production-board-commercial .production-column-header {
  padding: 16px 18px 14px;
  background: linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
  border-bottom: 1px solid #e5edf7;
}

body.page-producao .production-board-commercial .production-column-title {
  font-size: 1.05rem;
  font-weight: 800;
  letter-spacing: -.02em;
}

body.page-producao .production-board-commercial .production-column-count {
  margin-top: 2px;
  font-size: 12px;
  color: #64748b;
}

body.page-producao .production-board-commercial .production-column-body {
  padding: 14px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-height: 100%;
}

body.page-producao .production-board-commercial .production-card {
  border-radius: 16px;
  border: 1px solid #dbe7f5;
  box-shadow: 0 10px 22px rgba(15, 23, 42, 0.05);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

body.page-producao .production-board-commercial .production-card:hover {
  transform: translateY(-1px);
  box-shadow: 0 14px 30px rgba(15, 23, 42, 0.08);
  border-color: #c9d9ee;
}

body.page-producao .production-board-commercial .production-card.is-late {
  border-color: #fecaca;
  box-shadow: 0 12px 26px rgba(239, 68, 68, 0.10);
}

body.page-producao .production-board-commercial .production-card::before {
  height: 3px;
}

body.page-producao .production-board-commercial .production-card-top,
body.page-producao .production-board-commercial .production-card-client,
body.page-producao .production-board-commercial .production-card-patient,
body.page-producao .production-board-commercial .production-card-service,
body.page-producao .production-board-commercial .production-card-meta,
body.page-producao .production-board-commercial .production-card-footer {
  padding-left: 14px;
  padding-right: 14px;
}

body.page-producao .production-board-commercial .production-card-top {
  padding-top: 12px;
  align-items: flex-start;
  gap: 8px;
}

body.page-producao .production-board-commercial .production-order-number a {
  font-size: 15px;
  font-weight: 800;
  letter-spacing: -.02em;
}

body.page-producao .production-board-commercial .production-card-top .badge {
  font-size: 11px;
  border-radius: 999px;
  padding: 5px 8px;
}

body.page-producao .production-board-commercial .production-card-client {
  font-size: 14px;
  font-weight: 700;
  color: #0f172a;
  line-height: 1.28;
  margin-top: 10px;
}

body.page-producao .production-board-commercial .production-card-patient {
  font-size: 12px;
  color: #64748b;
  line-height: 1.3;
  margin-top: 4px;
}

body.page-producao .production-board-commercial .production-card-service {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid #edf3fb;
  font-size: 13px;
  font-weight: 600;
  color: #334155;
  line-height: 1.35;
}

body.page-producao .production-board-commercial .production-card-meta {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px dashed #dbe7f5;
  gap: 10px;
}

body.page-producao .production-board-commercial .production-card-meta > div {
  padding: 0;
  min-height: auto;
}

body.page-producao .production-board-commercial .production-card-meta .meta-label {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: #94a3b8;
  margin-bottom: 3px;
  display: block;
}

body.page-producao .production-board-commercial .production-card-meta strong {
  font-size: 12px;
  color: #0f172a;
  line-height: 1.3;
}

body.page-producao .production-board-commercial .production-card-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding-top: 12px;
  padding-bottom: 14px;
}

body.page-producao .production-board-commercial .production-card-footer form {
  margin: 0;
}

body.page-producao .production-board-commercial .production-card-footer .btn,
body.page-producao .production-board-commercial .production-card-footer a.btn {
  min-height: 34px;
  padding: 6px 12px;
  border-radius: 10px;
  font-size: 12px;
  font-weight: 600;
  white-space: nowrap;
}

body.page-producao .production-board-commercial .production-empty {
  border-radius: 16px;
  min-height: 140px;
  display: grid;
  place-items: center;
  text-align: center;
  padding: 18px;
  font-size: 13px;
}

@media (max-width: 1199.98px) {
  body.page-producao .module-shell-producao .module-filter-grid--producao {
    grid-template-columns: 1fr 1fr;
  }

  body.page-producao .module-shell-producao .module-filter-actions {
    grid-column: 1 / -1;
  }

  body.page-producao .production-board-commercial .production-column {
    min-width: 280px;
  }
}

@media (max-width: 767.98px) {
  body.page-producao .module-shell-producao .page-actions {
    width: 100%;
  }

  body.page-producao .module-shell-producao .page-actions .btn {
    flex: 1 1 auto;
  }

  body.page-producao .module-shell-producao .module-filter-grid--producao {
    grid-template-columns: 1fr;
  }

  body.page-producao .module-shell-producao .module-filter-actions {
    flex-wrap: wrap;
  }

  body.page-producao .module-shell-producao .module-filter-actions .btn {
    flex: 1 1 auto;
  }

  body.page-producao .production-board-commercial {
    gap: 14px;
  }

  body.page-producao .production-board-commercial .production-column {
    min-width: 100%;
  }
}


/* ==========================================================================
   Origem consolidada: round24-agenda-form.css
   ========================================================================== */

/* ===== Round 24: Agenda + Pedido form actions (scoped) ===== */

body.page-pedido_new .form-actions-bar,
body.page-pedido_edit .form-actions-bar {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 12px;
  margin-top: 18px;
  padding: 0;
  background: transparent;
  border: 0;
}

body.page-pedido_new .form-actions-bar .btn,
body.page-pedido_edit .form-actions-bar .btn {
  min-width: 160px;
  min-height: 48px;
  padding: 0 18px;
  border-radius: 14px;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  white-space: nowrap;
}

body.page-pedido_new .form-actions-bar .form-submit-primary,
body.page-pedido_edit .form-actions-bar .form-submit-primary {
  box-shadow: 0 10px 24px rgba(37, 99, 235, 0.18);
}

body.page-pedido_new .form-actions-bar .form-cancel-secondary,
body.page-pedido_edit .form-actions-bar .form-cancel-secondary {
  background: #fff;
}

body.page-pedido_new .order-finance-box,
body.page-pedido_edit .order-finance-box {
  min-height: 68px;
  border-radius: 14px;
  background: #fafcff;
}

body.page-agenda .module-shell-agenda {
  --agenda-border: #d6e0ef;
  --agenda-soft: #f7faff;
}

body.page-agenda .module-shell-agenda .module-summary-grid .summary-kpi {
  min-height: 108px;
  padding: 18px 18px 16px;
  border-radius: 18px;
}

body.page-agenda .module-shell-agenda .module-summary-grid .summary-kpi-value {
  font-size: 2rem;
}

body.page-agenda .module-shell-agenda .module-filter-card-pro {
  border-radius: 20px;
  padding: 18px;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
  border: 1px solid var(--agenda-border);
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.04);
}

body.page-agenda .module-shell-agenda .module-filter-grid--agenda {
  grid-template-columns: minmax(200px, 1fr) minmax(220px, 1fr) auto;
  gap: 14px;
  align-items: end;
}

body.page-agenda .module-shell-agenda .agenda-range-box {
  min-height: 46px;
  display: flex;
  align-items: center;
  padding: 0 14px;
  border-radius: 14px;
  border: 1px solid var(--agenda-border);
  background: var(--agenda-soft);
  font-weight: 600;
  color: #334155;
}

body.page-agenda .module-shell-agenda .module-filter-actions {
  display: flex;
  gap: 10px;
  justify-content: flex-end;
}

body.page-agenda .module-shell-agenda .module-filter-actions .btn,
body.page-agenda .module-shell-agenda .module-view-switch .btn,
body.page-agenda .module-shell-agenda .toolbar .btn {
  min-height: 44px;
  min-width: 120px;
  padding: 0 16px;
  border-radius: 14px;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
}

body.page-agenda .module-shell-agenda .module-view-switch {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

body.page-agenda .module-shell-agenda .module-toolbar-row {
  margin: 14px 0 18px;
  padding: 0;
}

body.page-agenda .module-shell-agenda .toolbar {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

body.page-agenda .module-shell-agenda .stat-chip,
body.page-agenda .module-shell-agenda .dashboard-chip {
  min-height: 42px;
  padding: 0 14px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  font-weight: 700;
  background: #fff;
  border: 1px solid var(--agenda-border);
  color: #1e293b;
}

body.page-agenda .module-shell-agenda .module-table-card,
body.page-agenda .module-shell-agenda .calendar-day,
body.page-agenda .module-shell-agenda .month-day-card {
  border-radius: 20px;
  border: 1px solid var(--agenda-border);
  box-shadow: 0 10px 26px rgba(15, 23, 42, 0.04);
}

body.page-agenda .module-shell-agenda .module-table-head,
body.page-agenda .module-shell-agenda .day-head {
  padding-bottom: 14px;
  margin-bottom: 14px;
  border-bottom: 1px solid #e9eef6;
}

body.page-agenda .module-shell-agenda .entity-table thead th {
  font-size: 0.78rem;
  letter-spacing: .02em;
}

body.page-agenda .module-shell-agenda .entity-table tbody td {
  padding-top: 14px;
  padding-bottom: 14px;
  vertical-align: middle;
}

body.page-agenda .module-shell-agenda .calendar-item {
  border-radius: 14px;
  border: 1px solid #e6edf8;
  background: #fff;
  padding: 12px;
  box-shadow: 0 6px 18px rgba(15, 23, 42, 0.04);
}

body.page-agenda .module-shell-agenda .month-day-card.is-today,
body.page-agenda .module-shell-agenda .calendar-day.is-today {
  border-color: #93c5fd;
  background: linear-gradient(180deg, #f8fbff 0%, #fdfefe 100%);
}

body.page-agenda .module-shell-agenda .month-day-card .day-number {
  width: 36px;
  height: 36px;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  background: #eef4ff;
  color: #1d4ed8;
}

@media (max-width: 991.98px) {
  body.page-agenda .module-shell-agenda .module-filter-grid--agenda {
    grid-template-columns: 1fr;
  }

  body.page-agenda .module-shell-agenda .module-filter-actions {
    justify-content: stretch;
    flex-direction: column;
  }

  body.page-agenda .module-shell-agenda .module-filter-actions .btn,
  body.page-agenda .module-shell-agenda .module-view-switch .btn,
  body.page-agenda .module-shell-agenda .toolbar .btn,
  body.page-pedido_new .form-actions-bar .btn,
  body.page-pedido_edit .form-actions-bar .btn {
    width: 100%;
  }

  body.page-pedido_new .form-actions-bar,
  body.page-pedido_edit .form-actions-bar {
    flex-direction: column-reverse;
    align-items: stretch;
  }
}


/* ==========================================================================
   Origem consolidada: round25-financeiro-final.css
   ========================================================================== */
/* Rodada 25 — Financeiro final (escopo isolado) */

body.page-financeiro .module-shell-financeiro,
body.page-financeiro_receber .form-shell,
body.page-financeiro_receber .summary-grid {
  max-width: 100%;
}

body.page-financeiro .module-shell-financeiro .summary-grid,
body.page-financeiro_receber .compact-summary-grid {
  gap: 16px;
}

body.page-financeiro .module-shell-financeiro .summary-kpi,
body.page-financeiro_receber .compact-summary-grid .summary-box {
  border-radius: 18px;
  border: 1px solid #dbe5f3;
  background: #fff;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.04);
}

body.page-financeiro .module-shell-financeiro .summary-kpi {
  min-height: 124px;
  padding: 18px;
}

body.page-financeiro .module-shell-financeiro .summary-kpi .summary-kpi-value {
  font-size: 1.65rem;
  line-height: 1.1;
}

body.page-financeiro .module-shell-financeiro .summary-kpi .summary-kpi-sub,
body.page-financeiro_receber .compact-summary-grid .summary-label {
  color: #667085;
}

body.page-financeiro .module-filter-card {
  border-radius: 20px;
  border: 1px solid #dbe5f3;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
  box-shadow: 0 14px 36px rgba(15, 23, 42, 0.04);
  padding: 18px 20px;
}

body.page-financeiro .entity-filters-grid-financeiro {
  display: grid;
  grid-template-columns: minmax(240px, 1.4fr) minmax(180px, 1fr) auto;
  gap: 14px 16px;
  align-items: end;
}

body.page-financeiro .entity-filters-actions {
  display: inline-flex;
  gap: 10px;
  justify-content: flex-end;
  flex-wrap: wrap;
}

body.page-financeiro .entity-filters-actions .btn,
body.page-financeiro_receber .form-actions-bar .btn {
  min-width: 120px;
  min-height: 44px;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  font-weight: 600;
}

body.page-financeiro .financeiro-table-card {
  border-radius: 20px;
  border: 1px solid #dbe5f3;
  overflow: hidden;
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.05);
}

body.page-financeiro .financeiro-table-card thead th {
  background: #f8fbff;
  color: #5b7294;
  font-size: 0.82rem;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  border-bottom: 1px solid #dbe5f3;
  padding-top: 14px;
  padding-bottom: 14px;
}

body.page-financeiro .financeiro-table-card tbody td {
  padding-top: 14px;
  padding-bottom: 14px;
  vertical-align: middle;
}

body.page-financeiro .financeiro-table-card tbody tr {
  background: #fff;
  transition: background-color 0.18s ease, transform 0.18s ease;
}

body.page-financeiro .financeiro-table-card tbody tr:hover {
  background: #fbfdff;
}

body.page-financeiro .financeiro-table-card tbody tr.row-warning,
body.page-financeiro .financeiro-table-card tbody tr.table-danger {
  box-shadow: inset 4px 0 0 #f97316;
}

body.page-financeiro .financeiro-table-card tbody tr.row-danger {
  box-shadow: inset 4px 0 0 #ef4444;
}

body.page-financeiro .financeiro-table-card .badge {
  border-radius: 999px;
  padding: 0.42rem 0.7rem;
  font-weight: 700;
}

body.page-financeiro .financeiro-table-card .table-actions-inline {
  display: inline-flex;
  justify-content: flex-end;
  width: 100%;
}

body.page-financeiro .financeiro-table-card .table-actions-inline .btn {
  min-width: 108px;
  min-height: 38px;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  font-weight: 600;
}

body.page-financeiro_receber .compact-summary-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

body.page-financeiro_receber .compact-summary-grid .summary-box {
  padding: 16px 18px;
}

body.page-financeiro_receber .compact-summary-grid .summary-value {
  font-size: 1.55rem;
  line-height: 1.1;
}

body.page-financeiro_receber .form-shell .card {
  border-radius: 20px;
  border: 1px solid #dbe5f3;
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.05);
}

body.page-financeiro_receber .form-shell .card-body {
  padding: 22px;
}

body.page-financeiro_receber .form-section-header {
  margin-bottom: 18px;
}

body.page-financeiro_receber .form-actions-bar {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  margin-top: 18px;
}

body.page-financeiro_receber .form-actions-bar .btn-light {
  border: 1px solid #cfd9e8;
  background: #fff;
}

@media (max-width: 991.98px) {
  body.page-financeiro .entity-filters-grid-financeiro {
    grid-template-columns: 1fr 1fr;
  }

  body.page-financeiro .entity-filters-actions {
    grid-column: 1 / -1;
    justify-content: flex-start;
  }

  body.page-financeiro_receber .compact-summary-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767.98px) {
  body.page-financeiro .entity-filters-grid-financeiro {
    grid-template-columns: 1fr;
  }

  body.page-financeiro .entity-filters-actions,
  body.page-financeiro_receber .form-actions-bar {
    flex-direction: column-reverse;
    align-items: stretch;
  }

  body.page-financeiro .entity-filters-actions .btn,
  body.page-financeiro_receber .form-actions-bar .btn,
  body.page-financeiro .financeiro-table-card .table-actions-inline .btn {
    width: 100%;
  }
}


/* ==========================================================================
   Origem consolidada: round26-financeiro-polish.css
   ========================================================================== */
/* Rodada 26 — Financeiro polish (escopo isolado) */

body.page-financeiro .module-shell-financeiro .summary-grid {
  gap: 14px;
}

body.page-financeiro .module-shell-financeiro .summary-kpi {
  min-height: 110px;
  padding: 16px 18px;
}

body.page-financeiro .module-shell-financeiro .summary-kpi .summary-kpi-top {
  margin-bottom: 10px;
}

body.page-financeiro .module-shell-financeiro .summary-kpi .summary-kpi-icon {
  width: 40px;
  height: 40px;
  font-size: 1rem;
}

body.page-financeiro .module-shell-financeiro .summary-kpi .summary-kpi-value {
  font-size: 1.5rem;
}

body.page-financeiro .module-filter-card {
  padding: 14px 16px;
}

body.page-financeiro .entity-filters-grid-financeiro {
  grid-template-columns: minmax(240px, 1.5fr) minmax(180px, 0.95fr) auto;
  gap: 12px 14px;
}

body.page-financeiro .prod-filter-group {
  margin-bottom: 0;
}

body.page-financeiro .prod-filter-group .form-label {
  margin-bottom: 6px;
  font-size: 0.82rem;
}

body.page-financeiro .entity-filters-grid-financeiro .form-select,
body.page-financeiro .entity-filters-grid-financeiro .form-control {
  min-height: 40px;
  border-radius: 12px;
}

body.page-financeiro .entity-filters-actions {
  align-self: end;
  flex-wrap: nowrap;
}

body.page-financeiro .entity-filters-actions .btn {
  min-width: 110px;
  min-height: 40px;
  border-radius: 10px;
  padding: 0.45rem 0.95rem;
}

body.page-financeiro .financeiro-table-card thead th {
  padding-top: 12px;
  padding-bottom: 12px;
}

body.page-financeiro .financeiro-table-card tbody td {
  padding-top: 12px;
  padding-bottom: 12px;
}

body.page-financeiro .financeiro-table-card tbody tr.row-warning,
body.page-financeiro .financeiro-table-card tbody tr.table-danger,
body.page-financeiro .financeiro-table-card tbody tr.row-danger {
  background: #fff;
}

body.page-financeiro .financeiro-table-card tbody tr.row-warning,
body.page-financeiro .financeiro-table-card tbody tr.table-danger {
  box-shadow: inset 3px 0 0 #f97316;
}

body.page-financeiro .financeiro-table-card tbody tr.row-danger {
  box-shadow: inset 3px 0 0 #ef4444;
}

body.page-financeiro .financeiro-table-card .badge {
  min-width: 88px;
  text-align: center;
}

body.page-financeiro .financeiro-table-card td:nth-child(3),
body.page-financeiro .financeiro-table-card td:nth-child(4),
body.page-financeiro .financeiro-table-card td:nth-child(5),
body.page-financeiro .financeiro-table-card th:nth-child(3),
body.page-financeiro .financeiro-table-card th:nth-child(4),
body.page-financeiro .financeiro-table-card th:nth-child(5) {
  white-space: nowrap;
}

body.page-financeiro .financeiro-table-card .table-actions-inline .btn {
  min-width: 96px;
  min-height: 36px;
  border-radius: 10px;
  padding: 0.4rem 0.85rem;
  font-size: 0.82rem;
  line-height: 1.1;
}

body.page-financeiro .financeiro-table-card .table-actions-inline .btn-outline-success {
  border-color: #198754;
  color: #198754;
  background: #fff;
}

body.page-financeiro .financeiro-table-card .table-actions-inline .btn-outline-success:hover {
  background: #198754;
  color: #fff;
}

@media (max-width: 991.98px) {
  body.page-financeiro .entity-filters-grid-financeiro {
    grid-template-columns: 1fr 1fr;
  }

  body.page-financeiro .entity-filters-actions {
    grid-column: 1 / -1;
    flex-wrap: wrap;
  }
}

@media (max-width: 767.98px) {
  body.page-financeiro .module-shell-financeiro .summary-kpi {
    min-height: 96px;
  }

  body.page-financeiro .entity-filters-grid-financeiro {
    grid-template-columns: 1fr;
  }

  body.page-financeiro .entity-filters-actions {
    flex-direction: column-reverse;
    align-items: stretch;
  }

  body.page-financeiro .entity-filters-actions .btn,
  body.page-financeiro .financeiro-table-card .table-actions-inline .btn {
    width: 100%;
  }
}


/* ==========================================================================
   Origem consolidada: round27-dashboard-final.css
   ========================================================================== */
/* Rodada 27 — Dashboard final (escopo isolado) */
body.page-dashboard .dashboard-shell-pro{
  display:flex;
  flex-direction:column;
  gap:1.1rem;
}

body.page-dashboard .dashboard-kpi-grid-pro{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:1rem;
  margin-bottom:0 !important;
}

body.page-dashboard .dashboard-kpi-grid-pro .summary-kpi-card{
  border-radius:20px;
  border:1px solid #dbe5f2;
  box-shadow:0 12px 28px rgba(15, 23, 42, .05);
  overflow:hidden;
}

body.page-dashboard .dashboard-kpi-grid-pro .card-body{
  padding:1rem 1.1rem;
  min-height:118px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

body.page-dashboard .dashboard-kpi-grid-pro .summary-kpi-top{
  margin-bottom:.65rem;
  gap:.7rem;
}

body.page-dashboard .summary-kpi-icon{
  width:42px;
  height:42px;
  border-radius:14px;
  font-size:1rem;
}

body.page-dashboard .dashboard-kpi-grid-pro .summary-kpi-label{
  font-size:.95rem;
  color:#5b6f8c;
  font-weight:600;
}

body.page-dashboard .dashboard-kpi-grid-pro .summary-kpi-value{
  font-size:1.95rem;
  line-height:1.05;
  letter-spacing:-.03em;
  margin-bottom:.2rem;
}

body.page-dashboard .dashboard-kpi-grid-pro .summary-kpi-sub{
  font-size:.83rem;
  color:#7186a4;
}

body.page-dashboard .dashboard-row-main,
body.page-dashboard .dashboard-row-secondary{
  --bs-gutter-y:1rem;
}

body.page-dashboard .dashboard-panel-card{
  border-radius:22px;
  border:1px solid #dbe5f2;
  box-shadow:0 16px 34px rgba(15, 23, 42, .05);
  overflow:hidden;
  background:#fff;
}

body.page-dashboard .dashboard-panel-card .card-body{
  padding:1.2rem 1.25rem;
}

body.page-dashboard .dashboard-panel-title{
  font-size:1rem;
  font-weight:800;
  color:#13233d;
  margin-bottom:1rem;
}

body.page-dashboard .dashboard-panel-title i{
  color:#3867ff;
  margin-right:.35rem;
}

body.page-dashboard .dashboard-chip{
  border-radius:999px;
  padding:.35rem .65rem;
  background:#edf4ff;
  color:#3156c8;
  font-size:.74rem;
  font-weight:700;
  border:1px solid #d6e4ff;
}

body.page-dashboard .dashboard-alert-list{
  display:grid;
  gap:.7rem;
}

body.page-dashboard .dashboard-alert-item{
  border-radius:16px;
  padding:.8rem .95rem;
  border:1px solid #e5edf8;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  background:#fdfefe;
}

body.page-dashboard .dashboard-alert-item .dashboard-alert-label{
  font-size:.9rem;
  color:#29405e;
  font-weight:600;
}

body.page-dashboard .dashboard-alert-item .dashboard-alert-value{
  min-width:34px;
  height:34px;
  border-radius:12px;
  display:grid;
  place-items:center;
  font-size:1rem;
  font-weight:800;
  background:#fff;
  color:#14253f;
  border:1px solid rgba(20,37,63,.08);
}

body.page-dashboard .dashboard-alert-item.danger{background:#fff7f7;border-color:#f6d5d9;}
body.page-dashboard .dashboard-alert-item.warning{background:#fffaf2;border-color:#f3e2b5;}
body.page-dashboard .dashboard-alert-item.info{background:#f4f8ff;border-color:#d6e4ff;}
body.page-dashboard .dashboard-alert-item.success{background:#f2fbf7;border-color:#c9ecd8;}
body.page-dashboard .dashboard-alert-item.dark{background:#f8fafc;border-color:#e2e8f0;}

body.page-dashboard .dashboard-panel-card-agenda .card-body{
  min-height:100%;
}

body.page-dashboard .dashboard-day-list-limited{
  max-height:298px;
  overflow:auto;
  padding-right:.2rem;
}

body.page-dashboard .dashboard-day-item{
  border-radius:16px;
  border:1px solid #e5edf8;
  padding:.9rem 1rem;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
  background:#fff;
}

body.page-dashboard .dashboard-day-item + .dashboard-day-item{
  margin-top:.7rem;
}

body.page-dashboard .dashboard-day-title{
  font-size:.94rem;
  font-weight:700;
  color:#162742;
}

body.page-dashboard .dashboard-day-sub,
body.page-dashboard .dashboard-day-time{
  font-size:.82rem;
  color:#69809f;
}

body.page-dashboard .dashboard-day-side{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:.45rem;
  flex-shrink:0;
}

body.page-dashboard .dashboard-table-wrap{
  border:1px solid #e6edf7;
  border-radius:16px;
  overflow:hidden;
}

body.page-dashboard .dashboard-compact-table thead th{
  background:#f7f9fc;
  color:#60738f;
  font-size:.76rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.03em;
  border-bottom:1px solid #e6edf7;
  padding:.82rem .9rem;
}

body.page-dashboard .dashboard-compact-table tbody td{
  padding:.82rem .9rem;
  font-size:.9rem;
  vertical-align:middle;
  color:#162742;
  border-color:#eef3fa;
}

body.page-dashboard .dashboard-compact-table tbody tr:hover{
  background:#fbfdff;
}

body.page-dashboard .dashboard-link-strong{
  color:#2349c8;
  font-weight:800;
  text-decoration:none;
}

body.page-dashboard .dashboard-link-strong:hover{
  text-decoration:underline;
}

body.page-dashboard .dashboard-empty-state{
  min-height:190px;
  border:1px dashed #d6e1f1;
  border-radius:18px;
  color:#7388a4;
  background:linear-gradient(180deg,#fbfdff 0%,#f6f9fd 100%);
  display:grid;
  place-items:center;
  text-align:center;
  padding:1rem;
}

body.page-dashboard .dashboard-panel-card-wide .dashboard-empty-state,
body.page-dashboard .dashboard-panel-card-table .dashboard-empty-state{
  min-height:160px;
}

body.page-dashboard .dashboard-panel-card .btn.btn-sm{
  border-radius:10px;
  padding:.45rem .8rem;
  font-size:.8rem;
  font-weight:700;
}

body.page-dashboard .page-title-wrap{
  margin-bottom:.1rem;
}

body.page-dashboard .page-title-wrap .display-6,
body.page-dashboard h1.page-title,
body.page-dashboard .page-title{
  font-size:2rem;
  line-height:1.1;
}

@media (max-width: 1399.98px){
  body.page-dashboard .dashboard-kpi-grid-pro{grid-template-columns:repeat(3,minmax(0,1fr));}
}

@media (max-width: 991.98px){
  body.page-dashboard .dashboard-kpi-grid-pro{grid-template-columns:repeat(2,minmax(0,1fr));}
  body.page-dashboard .dashboard-panel-card .card-body{padding:1rem;}
}

@media (max-width: 575.98px){
  body.page-dashboard .dashboard-kpi-grid-pro{grid-template-columns:1fr;}
  body.page-dashboard .dashboard-day-item{flex-direction:column;align-items:flex-start;}
  body.page-dashboard .dashboard-day-side{align-items:flex-start;}
  body.page-dashboard .dashboard-panel-title{flex-direction:column;align-items:flex-start !important;}
}


/* ==========================================================================
   Origem consolidada: round28-servicos.css
   ========================================================================== */
body.page-servicos .module-filter-grid--servicos {
  grid-template-columns: minmax(260px, 2fr) minmax(180px, 0.8fr) auto;
}

body.page-servicos .servicos-table td,
body.page-servico_new .service-form-shell .card,
body.page-servico_edit .service-form-shell .card {
  border-color: rgba(15, 23, 42, 0.06);
}

body.page-servicos .servicos-table .avatar-mini {
  background: rgba(59, 130, 246, 0.12);
  color: #1d4ed8;
}

body.page-servicos .service-note {
  max-width: 560px;
  color: #475569;
  line-height: 1.45;
}

body.page-servicos .module-table-card,
body.page-servico_new .service-form-shell .card,
body.page-servico_edit .service-form-shell .card {
  box-shadow: 0 16px 40px rgba(15, 23, 42, 0.05);
}

body.page-servico_new .service-form-shell,
body.page-servico_edit .service-form-shell {
  max-width: 980px;
}

body.page-pedido_new #tipo_servico_id + .small-muted,
body.page-pedido_edit #tipo_servico_id + .small-muted {
  font-size: .83rem;
}

@media (max-width: 991.98px) {
  body.page-servicos .module-filter-grid--servicos {
    grid-template-columns: 1fr;
  }
}


/* ==========================================================================
   Origem consolidada: round29-precos.css
   ========================================================================== */
body.page-precos_servico .module-filter-grid--precos {
  display:grid;
  grid-template-columns: minmax(280px, 1.4fr) minmax(220px, 1fr) minmax(180px, .7fr) auto;
  gap: 1rem;
  align-items:end;
}
body.page-precos_servico .precos-servico-table td,
body.page-preco_servico_new .module-form-card .card,
body.page-preco_servico_edit .module-form-card .card {
  border-radius: 18px;
}
body.page-precos_servico .precos-servico-table .entity-note {
  max-width: 280px;
}
body.page-precos_servico .precos-servico-table .fw-semibold {
  white-space: nowrap;
}
body.page-pedido_new #tipo_servico_id + .small-muted a,
body.page-pedido_edit #tipo_servico_id + .small-muted a {
  font-weight: 600;
}
body.page-pedido_new .service-price-hint,
body.page-pedido_edit .service-price-hint {
  margin-top: .35rem;
  color: #64748b;
  font-size: .84rem;
}
@media (max-width: 992px) {
  body.page-precos_servico .module-filter-grid--precos { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
  body.page-precos_servico .module-filter-grid--precos { grid-template-columns: 1fr; }
}


/* ==========================================================================
   Origem consolidada: round31-orcamentos.css
   ========================================================================== */
body.page-orcamentos .orcamentos-table td,
body.page-orcamento_new .form-shell .card,
body.page-orcamento_edit .form-shell .card {
  border-radius: 18px;
}

body.page-orcamentos .orcamentos-table .badge {
  font-size: 12px;
}

body.page-orcamentos .table-actions form {
  margin: 0;
}

body.page-orcamentos .module-filter-grid--4cols {
  grid-template-columns: minmax(280px, 1.4fr) minmax(180px, .9fr) minmax(180px, .8fr) auto;
}

body.page-orcamento_new .form-shell,
body.page-orcamento_edit .form-shell {
  max-width: 1100px;
}

body.page-orcamento_new .form-section-title-strong,
body.page-orcamento_edit .form-section-title-strong {
  font-size: 1.05rem;
  margin-bottom: 1rem;
}

body.page-orcamentos .entity-table-card,
body.page-orcamento_new .form-shell .card,
body.page-orcamento_edit .form-shell .card {
  box-shadow: 0 10px 24px rgba(16,24,40,.04);
}

@media (max-width: 991.98px) {
  body.page-orcamentos .module-filter-grid--4cols {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 767.98px) {
  body.page-orcamentos .module-filter-grid--4cols {
    grid-template-columns: 1fr;
  }
}


/* ==========================================================================
   Origem consolidada: round32-showcase.css
   ========================================================================== */
/* Round 32 — polish for client presentation */

body.page-financeiro .module-shell-financeiro,
body.page-relatorios .module-shell-relatorios {
  max-width: 1480px;
}

body.page-financeiro .module-shell-financeiro .summary-grid,
body.page-relatorios .module-shell-relatorios .summary-grid {
  margin-bottom: 1.1rem !important;
}

body.page-financeiro .finance-filters-grid {
  grid-template-columns: minmax(260px, 2.2fr) minmax(180px, 1fr) auto;
  align-items: end;
  gap: 14px;
}

body.page-financeiro .finance-filters-actions,
body.page-relatorios .reports-filters-actions {
  display: flex;
  align-items: end;
  justify-content: flex-end;
  gap: 10px;
}

body.page-financeiro .finance-filters-actions .btn,
body.page-relatorios .reports-filters-actions .btn {
  min-width: 118px;
  height: 42px;
  border-radius: 12px;
}

body.page-financeiro .finance-table-card,
body.page-relatorios .reports-table-card,
body.page-relatorios .reports-panel-card {
  border-radius: 18px;
  overflow: hidden;
}

body.page-financeiro .finance-entity-table thead th,
body.page-relatorios .reports-mini-table thead th,
body.page-relatorios .reports-orders-table thead th {
  font-size: 12px;
  letter-spacing: .03em;
  text-transform: uppercase;
  color: #64748b;
  font-weight: 700;
}

body.page-financeiro .finance-entity-table tbody td,
body.page-relatorios .reports-mini-table tbody td,
body.page-relatorios .reports-orders-table tbody td {
  padding-top: 12px;
  padding-bottom: 12px;
  vertical-align: middle;
}

body.page-financeiro .finance-money-cell,
body.page-relatorios .reports-money-cell {
  text-align: right;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

body.page-financeiro .finance-action-btn {
  min-width: 92px;
  border-radius: 10px;
}

body.page-financeiro .finance-entity-table tbody tr.finance-row-overdue,
body.page-financeiro .finance-entity-table tbody tr.finance-row-alert {
  background: #fff;
  box-shadow: inset 4px 0 0 rgba(239, 68, 68, .72);
}

body.page-financeiro .finance-entity-table tbody tr:hover {
  background: #f8fbff;
}

body.page-relatorios .reports-summary-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

body.page-relatorios .reports-filter-card {
  margin-bottom: 1.1rem !important;
}

body.page-relatorios .reports-filters-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr)) auto;
  align-items: end;
  gap: 14px;
}

body.page-relatorios .reports-panels-row .card-body {
  padding: 18px 20px;
}

body.page-relatorios .reports-finance-list,
body.page-relatorios .reports-list-block {
  display: grid;
  gap: 12px;
}

body.page-relatorios .reports-finance-item,
body.page-relatorios .reports-list-item {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  padding: 12px 14px;
  border: 1px solid #e5edf7;
  border-radius: 14px;
  background: #fbfdff;
}

body.page-relatorios .reports-list-item-column {
  display: block;
}

body.page-relatorios .reports-list-item-column .small-muted + .small-muted {
  margin-top: 4px;
}

body.page-relatorios .reports-mini-table tbody tr:hover,
body.page-relatorios .reports-orders-table tbody tr:hover {
  background: #f8fbff;
}

body.page-relatorios .reports-orders-table td:nth-last-child(2),
body.page-relatorios .reports-orders-table td:nth-last-child(3) {
  white-space: nowrap;
}

body.page-relatorios .reports-orders-table td:first-child a {
  font-weight: 700;
}

body.page-relatorios .dashboard-panel-title {
  margin-bottom: 14px;
}

@media (max-width: 1199.98px) {
  body.page-relatorios .reports-summary-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  body.page-relatorios .reports-filters-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  body.page-financeiro .finance-filters-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.page-financeiro .finance-filters-actions,
  body.page-relatorios .reports-filters-actions {
    justify-content: stretch;
  }
}

@media (max-width: 767.98px) {
  body.page-relatorios .reports-summary-grid,
  body.page-relatorios .reports-filters-grid,
  body.page-financeiro .finance-filters-grid {
    grid-template-columns: 1fr;
  }

  body.page-financeiro .finance-filters-actions,
  body.page-relatorios .reports-filters-actions {
    flex-direction: column;
    align-items: stretch;
  }

  body.page-financeiro .finance-filters-actions .btn,
  body.page-relatorios .reports-filters-actions .btn {
    width: 100%;
  }
}


/* ==========================================================================
   Origem consolidada: round33-filter-inline.css
   ========================================================================== */
/* Round 33 — inline filters without overflow */

body.page-relatorios .reports-filter-card,
body.page-financeiro .filter-card {
  overflow: hidden;
}

body.page-relatorios .reports-filters-grid {
  display: grid;
  grid-template-columns: minmax(120px, 0.85fr) minmax(120px, 0.85fr) minmax(170px, 1.15fr) minmax(150px, 0.9fr) minmax(180px, 1fr) max-content;
  align-items: end;
  gap: 12px;
}

body.page-relatorios .reports-filters-actions,
body.page-financeiro .finance-filters-actions {
  display: grid;
  gap: 8px;
  min-width: 0;
}

body.page-relatorios .reports-filters-actions {
  grid-template-columns: repeat(2, minmax(92px, 1fr));
  width: fit-content;
  justify-self: end;
}

body.page-relatorios .reports-filters-actions .btn,
body.page-financeiro .finance-filters-actions .btn {
  min-width: 0;
  width: auto;
  max-width: 100%;
  height: 42px;
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

body.page-financeiro .finance-filters-grid {
  grid-template-columns: minmax(240px, 1.8fr) minmax(180px, 1fr) max-content;
  gap: 12px;
  align-items: end;
}

body.page-financeiro .finance-filters-actions {
  grid-template-columns: repeat(2, minmax(96px, 1fr));
  width: fit-content;
  justify-self: end;
}

@media (max-width: 1399.98px) {
  body.page-relatorios .reports-filters-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  body.page-relatorios .reports-filters-actions {
    grid-column: 1 / -1;
    justify-self: start;
  }
}

@media (max-width: 991.98px) {
  body.page-financeiro .finance-filters-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.page-financeiro .finance-filters-actions {
    grid-column: 1 / -1;
    justify-self: start;
  }
}

@media (max-width: 767.98px) {
  body.page-relatorios .reports-filters-grid,
  body.page-financeiro .finance-filters-grid {
    grid-template-columns: 1fr;
  }

  body.page-relatorios .reports-filters-actions,
  body.page-financeiro .finance-filters-actions {
    grid-column: auto;
    grid-template-columns: 1fr;
    width: 100%;
    justify-self: stretch;
  }

  body.page-relatorios .reports-filters-actions .btn,
  body.page-financeiro .finance-filters-actions .btn {
    width: 100%;
  }
}


/* ==========================================================================
   Origem consolidada: round34-premium.css
   ========================================================================== */
:root{
  --dp-border:#dbe4f0;
  --dp-muted:#64748b;
  --dp-soft:#f8fbff;
}

body{
  background:#f5f7fb;
}

.app-shell{
  min-height:100vh;
}

.sidebar{
  width:292px;
  min-height:100vh;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
  display:flex;
  flex-direction:column;
  box-shadow:6px 0 24px rgba(15,23,42,.03);
}

.sidebar-brand{
  display:flex;
  align-items:center;
  gap:14px;
  padding:10px 8px 18px;
  border-bottom:1px solid var(--dp-border);
}

.brand-logo-img{
  width:48px;
  height:48px;
  object-fit:contain;
  flex:0 0 auto;
}

.brand{
  font-size:1.1rem;
}

.sidebar-nav{
  flex:1 1 auto;
}

.sidebar .nav-link{
  display:flex;
  align-items:center;
  gap:12px;
  min-height:46px;
  padding:10px 14px;
  border-radius:14px;
}

.sidebar .nav-link i{
  width:18px;
  text-align:center;
}

.sidebar-footer{
  border-top:1px solid var(--dp-border);
}

.sidebar-footer-icon{
  width:28px;
  height:28px;
  object-fit:contain;
}

.topbar{
  background:#fff;
  min-height:78px;
}

.topbar-actions{
  flex-wrap:wrap;
}

.user-pill{
  background:#fff;
  border:1px solid var(--dp-border);
  border-radius:16px;
  padding:8px 12px;
  box-shadow:0 4px 18px rgba(15,23,42,.04);
}

.user-pill-icon{
  width:34px;
  height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  background:#eef2ff;
  color:#1d4ed8;
}

.user-pill-name{
  font-weight:700;
  line-height:1.1;
}

.topbar-logout{
  min-height:38px;
  border-radius:12px;
  font-weight:600;
}

@media (max-width: 991.98px){
  .sidebar{
    width:100%;
    min-height:auto;
  }
  .sidebar-footer{
    display:none;
  }
  .sidebar-brand{
    padding-bottom:12px;
  }
}

@media (max-width: 767.98px){
  .topbar{
    padding-left:1rem !important;
    padding-right:1rem !important;
  }
  .topbar-actions{
    width:100%;
    justify-content:space-between;
  }
  .user-pill{
    flex:1 1 auto;
  }
}


.sidebar-brand-wrap{
  padding: 6px 8px 16px;
  border-bottom: 1px solid var(--dp-border);
}

.sidebar-brand--hero{
  display:flex;
  align-items:center;
  justify-content:center;
  padding: 4px 8px 2px;
  border-bottom: 0;
  min-height: 84px;
}

.brand-logo-full{
  display:block;
  width:100%;
  width: 195px;
  max-width: 100%;
  height:auto;
  max-height: 62px;
  object-fit:contain;
}

.sidebar-section-label{
  padding: 0 12px 10px;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.08em;
  color:#7b8aa5;
}

.sidebar .nav-link{
  min-height:50px;
  padding:12px 16px;
  border-radius:16px;
  font-weight:600;
}

.sidebar .nav-link span{
  line-height:1.1;
}


/* ==========================================================================
   Tela de login consolidada de app/views/auth/login.php
   ========================================================================== */

        *{
            box-sizing:border-box;
        }

        html, body{
            margin:0;
            padding:0;
            width:100%;
            min-height:100%;
            font-family: Arial, Helvetica, sans-serif;
            background:#f8fafc;
            color:#0f172a;
        }

        body{
            min-height:100vh;
        }

        .login-page{
            min-height:100vh;
            width:100%;
            display:flex;
            align-items:center;
            justify-content:center;
            padding:28px;
            background:
                radial-gradient(circle at top left, rgba(37,99,235,.10), transparent 28%),
                radial-gradient(circle at bottom right, rgba(16,185,129,.08), transparent 26%),
                #f8fafc;
        }

        .login-shell{
            width:100%;
            max-width:1180px;
            margin:0 auto;
            display:grid;
            grid-template-columns: 1.08fr 0.92fr;
            gap:28px;
            align-items:stretch;
        }

        .login-brand{
            position:relative;
            overflow:hidden;
            background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
            border:1px solid #dbe2ea;
            border-radius:28px;
            box-shadow:0 18px 50px rgba(15,23,42,.07);
            padding:34px;
            min-height:660px;
            display:flex;
            flex-direction:column;
            justify-content:space-between;
        }

        .login-brand::after{
            content:"";
            position:absolute;
            right:-30px;
            bottom:-30px;
            width:190px;
            height:190px;
            background:radial-gradient(circle, rgba(37,99,235,.12), transparent 72%);
            pointer-events:none;
        }

        .version-badge{
            display:inline-flex;
            align-items:center;
            justify-content:center;
            height:30px;
            padding:0 12px;
            border-radius:999px;
            background:#eff6ff;
            color:#2563eb;
            font-size:12px;
            font-weight:700;
            width:max-content;
            margin-bottom:18px;
        }

        .brand-top{
            display:flex;
            gap:18px;
            align-items:center;
            margin-bottom:26px;
        }

        .brand-logo{
            width:76px;
            height:76px;
            border-radius:22px;
            background:linear-gradient(135deg,#eff6ff,#dbeafe);
            color:#fff;
            display:flex;
            align-items:center;
            justify-content:center;
            box-shadow:0 14px 34px rgba(37,99,235,.14);
            flex:0 0 auto;
            padding:10px;
        }

        
        .brand-logo-image img{
            width:100%;
            height:100%;
            object-fit:contain;
            filter:drop-shadow(0 8px 20px rgba(37,99,235,.18));
        }

        .brand-title{
            margin:0 0 6px;
            font-size:38px;
            line-height:1.02;
            letter-spacing:-0.03em;
            font-weight:800;
            color:#0f172a;
        }

        .brand-subtitle{
            color:#64748b;
            font-size:16px;
            line-height:1.5;
            max-width:560px;
        }

        .brand-features{
            display:flex;
            flex-direction:column;
            gap:14px;
            margin-top:12px;
        }

        .feature-card{
            display:flex;
            align-items:flex-start;
            gap:14px;
            background:#fff;
            border:1px solid #e2e8f0;
            border-radius:20px;
            padding:16px 18px;
        }

        .feature-icon{
            width:42px;
            height:42px;
            border-radius:14px;
            background:#eff6ff;
            color:#2563eb;
            display:flex;
            align-items:center;
            justify-content:center;
            font-size:16px;
            flex:0 0 auto;
        }

        .feature-title{
            font-size:16px;
            font-weight:700;
            margin-bottom:3px;
            color:#0f172a;
        }

        .feature-text{
            font-size:14px;
            line-height:1.5;
            color:#64748b;
        }

        .login-side{
            display:flex;
            align-items:center;
            justify-content:center;
        }

        .login-card{
            width:100%;
            max-width:460px;
            background:#fff;
            border:1px solid #dbe2ea;
            border-radius:28px;
            box-shadow:0 20px 60px rgba(15,23,42,.10);
            padding:32px 30px 28px;
        }

        .login-kicker{
            color:#2563eb;
            font-size:12px;
            font-weight:700;
            text-transform:uppercase;
            letter-spacing:.08em;
            margin-bottom:8px;
        }

        .login-title{
            margin:0 0 8px;
            font-size:34px;
            line-height:1.02;
            letter-spacing:-0.03em;
            font-weight:800;
            color:#0f172a;
        }

        .login-text{
            color:#64748b;
            font-size:15px;
            line-height:1.55;
            margin-bottom:22px;
        }

        .login-alert{
            background:#fef2f2;
            color:#991b1b;
            border:1px solid #fecaca;
            border-radius:16px;
            padding:12px 14px;
            font-size:14px;
            margin-bottom:16px;
        }

        .login-form{
            display:flex;
            flex-direction:column;
            gap:16px;
        }

        .field label{
            display:block;
            font-size:14px;
            font-weight:700;
            color:#1e293b;
            margin-bottom:8px;
        }

        .input-wrap{
            position:relative;
        }

        .input-icon{
            position:absolute;
            left:14px;
            top:50%;
            transform:translateY(-50%);
            color:#64748b;
            font-size:14px;
            pointer-events:none;
        }

        .input-wrap input{
            width:100%;
            height:52px;
            border-radius:16px;
            border:1px solid #cfd8e3;
            background:#fff;
            padding:0 16px 0 42px;
            font-size:15px;
            color:#0f172a;
            outline:none;
            transition:.18s ease;
        }

        .input-wrap input:focus{
            border-color:#94a3b8;
            box-shadow:0 0 0 4px rgba(148,163,184,.14);
        }

        .login-submit{
            margin-top:4px;
            height:52px;
            border:0;
            border-radius:16px;
            background:linear-gradient(135deg,#3b82f6,#2563eb);
            color:#fff;
            font-size:15px;
            font-weight:700;
            display:inline-flex;
            align-items:center;
            justify-content:center;
            gap:10px;
            cursor:pointer;
            transition:.18s ease;
        }

        .login-submit:hover{
            transform:translateY(-1px);
            box-shadow:0 12px 28px rgba(37,99,235,.24);
        }

        .login-note{
            margin-top:18px;
            text-align:center;
            font-size:14px;
            color:#64748b;
            line-height:1.5;
        }

        @media (max-width: 992px){
            .login-shell{
                grid-template-columns:1fr;
            }

            .login-brand{
                min-height:auto;
                padding:26px;
            }

            .login-card{
                max-width:100%;
            }
        }

        @media (max-width: 576px){
            .login-page{
                padding:16px;
            }

            .login-brand,
            .login-card{
                border-radius:22px;
                padding:22px 20px;
            }

            .brand-top{
                align-items:flex-start;
                 margin-bottom:14px;
            }

            .brand-logo{
                width:62px;
                height:62px;
                font-size:24px;
            }

            .brand-title{
                font-size:28px;
            }

            .login-title{
                font-size:28px;
            }
        }

        .login-submit{
    transition:.2s ease;
}

.login-submit:hover{
    transform:translateY(-2px);
    box-shadow:0 16px 32px rgba(37,99,235,.30);
}

.input-wrap input{
    background:#f9fafb;
}
.login-card{
    box-shadow:0 20px 60px rgba(15,23,42,.10);
}

.brand-logo-img{
    height:72px;
    width:auto;
    object-fit:contain;
    display:block;
}
.brand-top{
    display:flex;
    align-items:center;
    gap:18px;
    margin-bottom:14px;
}

.brand-title{
    margin:0 0 4px;
    font-size:38px;
    line-height:1.02;
    letter-spacing:-0.03em;
    font-weight:800;
    letter-spacing:-0.02em;
}

.brand-subtitle{
    font-size:16px;
    line-height:1.45;
    max-width:430px;
}
/* ===== LOGO + TOPO ===== */

.brand-top{
    display:flex;
    align-items:center;
    gap:20px;
    margin-bottom:16px;
}

.brand-logo-icon{
    height:130px;
    width:auto;
    object-fit:contain;
    display:block;
    filter: drop-shadow(0 10px 24px rgba(37,99,235,.25));
}

.brand-text{
    display:flex;
    flex-direction:column;
}

.brand-title{
    margin:0 0 4px;
    font-size:40px;
    line-height:1.02;
    letter-spacing:-0.03em;
    font-weight:800;
    color:#0f172a;
      margin-bottom:2px;
}

.brand-subtitle{
    font-size:16px;
    line-height:1.45;
    color:#64748b;
    max-width:440px;
}

/* ===== AJUSTE DE ESPAÇAMENTO ===== */

.brand-features{
    margin-top:12px;
}

.brand-top{
    margin-bottom:14px;
}

/* ===== CARD LOGIN MAIS PREMIUM ===== */

.login-card{
    box-shadow:0 22px 60px rgba(15,23,42,.10);
}

.feature-card{
    padding:18px 20px;
}

    
