/* =========================================================
   GESFINQ — Estilo OrcaApp (baseado em screenshots reais)
   Topbar horizontal com gradiente teal → azul escuro
   ========================================================= */

:root {
    --teal:          #05B8BE;
    --teal-dark:     #00456C;
    --teal-mid:      #0097A0;
    --green:         #6AD49B;
    --green-dark:    #4db87e;
    --blue:          #4A9FE0;
    --yellow:        #FFC107;
    --yellow-text:   #996600;
    --danger:        #e53935;
    --ink:           #3B3B3B;
    --ink-light:     #666;
    --muted:         #9aa3b0;
    --line:          #e8eaed;
    --field-bg:      #f0f1f3;
    --page:          #f2f4f6;
    --card:          #ffffff;
    --radius:        8px;
    --radius-lg:     12px;
    --shadow:        0 2px 8px rgba(0,0,0,.09);
    --shadow-md:     0 4px 16px rgba(0,0,0,.12);
    --stage:         1440px;
}

/* ── Reset & Base ── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html {
    font-size: 62.5%;
    -webkit-font-smoothing: antialiased;
}

html, body {
    width: 100%;
    height: 100%;
    overflow: hidden;
    font-family: 'Barlow', sans-serif;
    color: var(--ink);
    background: var(--page);
}

a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }

.material-symbols-rounded,
.material-icons {
    font-size: 2rem;
    line-height: 1;
    vertical-align: middle;
}

::-webkit-scrollbar { width: 5px; height: 5px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: rgba(0,0,0,.18); border-radius: 4px; }

/* =========================================================
   APP SHELL — Layout vertical (topbar + page)
   ========================================================= */

.app-shell {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

/* =========================================================
   TOPBAR — Gradiente teal → azul escuro (como OrcaApp)
   ========================================================= */

.topbar {
    width: 100%;
    height: 6rem;
    display: flex;
    align-items: center;
    gap: 0;
    flex-shrink: 0;
    background: linear-gradient(90deg, var(--teal) 0%, var(--teal-dark) 100%);
    padding: 0 2.4rem;
    position: relative;
    z-index: 200;
}

/* Logo */
.brand {
    display: flex;
    align-items: center;
    gap: .8rem;
    min-width: 12rem;
    color: #fff;
    font-size: 1.6rem;
    font-weight: 700;
    text-decoration: none;
    margin-right: 1.6rem;
}

.brand-icon {
    width: 3.2rem;
    height: 3.2rem;
    object-fit: contain;
    border-radius: 50%;
}

.brand-icon-fallback {
    width: 3.6rem;
    height: 3.6rem;
    border-radius: 50%;
    background: rgba(255,255,255,.9);
    display: grid;
    place-items: center;
    color: var(--teal-dark);
}

.brand-icon-fallback .material-symbols-rounded {
    font-size: 2.2rem;
}

/* Navegação principal */
.main-nav {
    display: flex;
    align-items: center;
    gap: .4rem;
    flex: 1;
}

.nav-item {
    display: inline-flex;
    align-items: center;
    gap: .6rem;
    height: 3.8rem;
    padding: 0 1.4rem;
    border-radius: var(--radius);
    font-size: 1.5rem;
    font-weight: 500;
    color: rgba(255,255,255,.88);
    white-space: nowrap;
    transition: background .15s;
}

.nav-item .material-symbols-rounded {
    font-size: 1.9rem;
    opacity: .85;
}

.nav-item:hover {
    background: rgba(255,255,255,.14);
    color: #fff;
}

.nav-item.is-active {
    background: rgba(255,255,255,.2);
    color: #fff;
    font-weight: 700;
}

/* Ações à direita */
.top-actions {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.icon-button {
    width: 3.6rem;
    height: 3.6rem;
    display: grid;
    place-items: center;
    color: rgba(255,255,255,.85);
    background: transparent;
    border: 0;
    border-radius: 50%;
    cursor: pointer;
    transition: background .15s;
}
.icon-button:hover { background: rgba(255,255,255,.14); color: #fff; }
.icon-button .material-symbols-rounded { font-size: 2.2rem; }

/* Avatar e conta */
.account { position: relative; }

.account-button {
    display: flex;
    align-items: center;
    gap: .8rem;
    background: transparent;
    border: 0;
    color: #fff;
    font-size: 1.45rem;
    font-weight: 600;
    cursor: pointer;
    padding: .4rem .8rem;
    border-radius: var(--radius);
    transition: background .15s;
}
.account-button:hover { background: rgba(255,255,255,.14); }

.account-button .material-symbols-rounded { font-size: 1.8rem; opacity: .8; }

.avatar {
    width: 3.8rem;
    height: 3.8rem;
    border-radius: 50%;
    background: rgba(255,255,255,.25);
    color: #fff;
    display: inline-grid;
    place-items: center;
    font-size: 1.4rem;
    font-weight: 800;
    flex-shrink: 0;
}

.account-menu, .proposal-menu {
    position: absolute;
    z-index: 400;
    display: none;
    padding: .6rem 0;
    background: #fff;
    border: 1px solid #e8eaed;
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-md);
    min-width: 22rem;
}

.account.is-open .account-menu,
.row-actions.is-open .proposal-menu,
.summary-actions.is-open .proposal-menu,
.send-menu.is-open .proposal-menu {
    display: block;
}

.account-menu {
    top: calc(100% + .8rem);
    right: 0;
}

.account-menu a, .proposal-menu a {
    min-height: 4.2rem;
    padding: 0 1.6rem;
    display: flex;
    align-items: center;
    gap: 1.2rem;
    font-size: 1.48rem;
    font-weight: 500;
    color: var(--ink);
}

.account-menu a:hover, .proposal-menu a:hover {
    background: #f5f7fb;
    color: var(--teal-dark);
}

.account-menu a .material-symbols-rounded,
.proposal-menu a .material-symbols-rounded {
    font-size: 1.9rem;
    color: var(--muted);
}

.proposal-menu .arrow { margin-left: auto; }

.proposal-menu {
    min-width: 27rem;
}

.proposal-menu a {
    min-height: 4.8rem;
    gap: 1.6rem;
    font-size: 1.55rem;
    font-weight: 400;
}

.proposal-menu a .material-symbols-rounded {
    font-size: 2.5rem;
    color: #96a3b5;
}

.proposal-menu .menu-separator {
    display: block;
    height: 1px;
    margin: .4rem 0;
    background: var(--line);
}

.proposal-menu a.copied::after {
    content: 'Copiado';
    margin-left: auto;
    color: var(--green);
    font-size: 1.2rem;
    font-weight: 600;
}

/* =========================================================
   PÁGINA — Área scrollável
   ========================================================= */

#main {
    flex: 1;
    min-height: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.page {
    flex: 1;
    min-height: 0;
    overflow: auto;
    background: var(--page);
}

/* Banda teal com título da página */
.page-hero {
    background: linear-gradient(90deg, var(--teal) 0%, var(--teal-dark) 100%);
    padding: 1.8rem 3.2rem 5.6rem;
    color: #fff;
}

.page-hero-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
}

.page-title {
    display: flex;
    align-items: center;
    gap: 1.2rem;
}

.page-title .material-symbols-rounded {
    font-size: 2.8rem;
    opacity: .9;
}

.page-title h1 {
    margin: 0;
    font-size: 2.2rem;
    font-weight: 700;
}

/* Botões dentro da banda teal */
.page-hero-actions {
    display: flex;
    align-items: center;
    gap: .8rem;
    flex-shrink: 0;
}

.page-hero-actions .soft-button {
    background: rgba(255,255,255,.15);
    color: rgba(255,255,255,.9);
    border: 1px solid rgba(255,255,255,.3);
}
.page-hero-actions .soft-button:hover {
    background: rgba(255,255,255,.25);
    color: #fff;
}

/* Conteúdo que sobrepõe a banda teal */
.page-content {
    padding: 0 3.2rem 4rem;
    margin-top: -4rem;
}

.stage {
    max-width: var(--stage);
    margin: 0 auto;
}

/* =========================================================
   BOTÕES
   ========================================================= */

.green-button, .blue-button, .soft-button, .danger-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .7rem;
    min-height: 3.8rem;
    padding: 0 1.6rem;
    border: 0;
    border-radius: var(--radius);
    font-size: 1.45rem;
    font-weight: 700;
    cursor: pointer;
    white-space: nowrap;
    transition: filter .15s, box-shadow .15s;
}

.green-button {
    color: #fff;
    background: var(--green);
    box-shadow: 0 2px 8px rgba(106,212,155,.3);
}
.green-button:hover { filter: brightness(1.06); }

.blue-button {
    color: #fff;
    background: var(--blue);
    box-shadow: 0 2px 8px rgba(74,159,224,.3);
}
.blue-button:hover { filter: brightness(1.08); }

.soft-button {
    color: var(--ink-light);
    background: #eef0f3;
    box-shadow: none;
    font-weight: 500;
}
.soft-button:hover { background: #e2e4e8; }

.danger-button {
    color: #e53935;
    background: #ffeaea;
    border: 1px solid #ffc4c4;
    box-shadow: none;
    min-height: 3.4rem;
    font-weight: 500;
}
.danger-button:hover { background: #ffd6d6; }

/* =========================================================
   CARDS
   ========================================================= */

.orca-card {
    background: var(--card);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow);
    overflow: hidden;
    height: 100%;
}

.card-pad { padding: 2rem 2.4rem; }

.card-head {
    min-height: 6rem;
    padding: 0 2.4rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.6rem;
    border-bottom: 1px solid var(--line);
}

.card-head h2 {
    font-size: 1.7rem;
    font-weight: 600;
    color: #1a2b3c;
}

.table-actions {
    display: flex;
    align-items: center;
    gap: .8rem;
}

/* =========================================================
   TOOLBAR DE PÁGINA (busca, filtros, novo)
   ========================================================= */

.page-toolbar {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1.6rem;
}

.search-box {
    display: flex;
    align-items: center;
    height: 4rem;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    overflow: hidden;
    flex: 1;
    max-width: 44rem;
    box-shadow: var(--shadow);
}

.search-box input {
    width: 100%;
    height: 100%;
    border: 0;
    outline: 0;
    background: transparent;
    color: var(--ink);
    padding: 0 1.4rem;
    font-size: 1.45rem;
}
.search-box input::placeholder { color: var(--muted); }
.search-box .material-symbols-rounded {
    width: 4.2rem;
    text-align: center;
    color: var(--muted);
    font-size: 1.9rem;
}

/* =========================================================
   STATUS CHIPS (baseados nos screenshots reais)
   ========================================================= */

.status-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 2.6rem;
    padding: 0 1.2rem;
    border-radius: 10rem;
    font-size: 1.28rem;
    font-weight: 700;
    white-space: nowrap;
    background: #e8eaed;
    color: #666;
}

.status-Criado    { background: #FFF3CD; color: #856404; }
.status-Enviado   { background: #CCF2F4; color: #006570; }
.status-Aprovado  { background: #D1F5D3; color: #1e6e22; }
.status-Reprovado { background: #F8D7DA; color: #842029; }
.status-Cancelado { background: #e8eaed; color: #555; }

/* =========================================================
   LISTA / TABELA
   ========================================================= */

.list-table { width: 100%; }

.list-head, .list-row {
    display: grid;
    align-items: center;
    column-gap: 1.4rem;
}

.list-head {
    min-height: 5rem;
    padding: 0 2.4rem;
    color: var(--ink-light);
    font-size: 1.3rem;
    font-weight: 700;
    border-bottom: 1px solid var(--line);
    background: #fafbfc;
}

.list-row {
    min-height: 7.4rem;
    padding: 0 2.4rem;
    border-bottom: 1px solid #f0f3f7;
    transition: background .12s;
}
.list-row:last-child { border-bottom: 0; }
.list-row:hover { background: #f8fafb; }

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

.list-title {
    color: #1a2b3c;
    font-size: 1.55rem;
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.list-subtitle {
    margin-top: .2rem;
    color: var(--muted);
    font-size: 1.35rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.date-col { color: var(--muted); font-size: 1.45rem; }
.value { color: var(--ink-light); font-size: 1.55rem; font-weight: 600; }

/* Colunas por página */
.proposals .list-head, .proposals .list-row {
    grid-template-columns: 3.6rem 4.8rem minmax(0,2fr) minmax(0,1fr) 12rem 12rem 11rem 5rem;
}
.clients .list-head, .clients .list-row {
    grid-template-columns: 4.8rem minmax(0,1.6fr) 18rem 14rem 12rem 5rem;
}
.products .list-head, .products .list-row {
    grid-template-columns: 4.8rem minmax(0,1.5fr) 14rem 14rem 14rem 5rem;
}

/* Ações */
.row-actions {
    position: relative;
    display: flex;
    justify-content: flex-end;
}

.dots {
    width: 3.6rem;
    height: 3.6rem;
    display: grid;
    place-items: center;
    border: 0;
    background: transparent;
    color: var(--ink-light);
    cursor: pointer;
    border-radius: 50%;
    transition: background .15s;
}
.dots:hover { background: #eef0f3; }

.row-actions .proposal-menu { right: 0; top: 3.6rem; }
.proposal-menu.compact { min-width: 16rem; }

/* Footer tabela */
.table-footer {
    min-height: 5.6rem;
    padding: 0 2.4rem;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 1.8rem;
    color: var(--ink-light);
    font-size: 1.4rem;
    border-top: 1px solid var(--line);
}

.pager-button {
    width: 3rem;
    height: 3rem;
    border: 0;
    background: transparent;
    color: var(--muted);
    cursor: pointer;
    border-radius: 50%;
    display: grid;
    place-items: center;
    transition: background .15s;
}
.pager-button:hover { background: #eef0f3; }

.items-per-page {
    display: flex;
    align-items: center;
    gap: .6rem;
    font-size: 1.38rem;
    color: var(--ink-light);
}

.items-per-page select {
    height: 3.2rem;
    border: 1px solid var(--line);
    border-radius: 5px;
    padding: 0 .8rem;
    font-size: 1.35rem;
    background: #fff;
    color: var(--ink);
    cursor: pointer;
}

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

.dashboard-grid {
    display: grid;
    grid-template-columns: minmax(0,1.8fr) 28rem 28rem;
    gap: 2rem;
    align-items: stretch;
}

/* Card recente */
.recent-card {
    min-width: 0;
    display: flex;
    flex-direction: column;
}
.recent-list {
    width: 100%;
    flex: 1;
}
.recent-card .table-footer { margin-top: auto; }

.recent-head, .recent-row {
    display: flex;
    align-items: center;
    gap: 1.2rem;
    min-width: 0;
}

.recent-head {
    height: 4.8rem;
    padding: 0 2.4rem;
    color: var(--ink-light);
    font-size: 1.28rem;
    font-weight: 700;
    border-bottom: 1px solid var(--line);
    background: #fafbfc;
}

.recent-row {
    min-height: 7.2rem;
    padding: .8rem 2.4rem;
    border-bottom: 1px solid #f0f3f7;
    transition: background .12s;
}
.recent-row:last-child { border-bottom: 0; }
.recent-row:hover { background: #f8fafb; }

.recent-id, .rh-id   { width: 4.8rem; flex: 0 0 4.8rem; }
.recent-budget, .rh-budget { flex: 1 1 0; min-width: 18rem; }
.recent-status, .rh-status { width: 9.6rem; flex: 0 0 9.6rem; }
.recent-value, .rh-value   { width: 11rem; flex: 0 0 11rem; }
.recent-updated, .rh-updated { width: 10rem; flex: 0 0 10rem; }
.recent-actions, .rh-actions { width: 4rem; flex: 0 0 4rem; margin-left: auto; }

.recent-title {
    color: #1a2b3c;
    font-size: 1.52rem;
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.recent-subtitle {
    margin-top: .2rem;
    color: var(--muted);
    font-size: 1.35rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.recent-value { color: var(--ink-light); font-size: 1.45rem; font-weight: 600; }
.recent-updated { color: var(--muted); font-size: 1.38rem; }
.sort-icon { font-size: 1.4rem; }

/* Card de métricas */
.metric-card {
    min-height: 32rem;
    padding: 2.2rem 2.4rem;
    display: flex;
    flex-direction: column;
}

.metric-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1.2rem;
}

.metric-title {
    color: var(--ink-light);
    font-size: 1.42rem;
    font-weight: 600;
}

.metric-value {
    margin-top: 1.2rem;
    color: #1a2b3c;
    font-size: 3.2rem;
    font-weight: 700;
    line-height: 1;
}

.metric-value small {
    color: var(--muted);
    font-size: 1.5rem;
    font-weight: 500;
    margin-right: .4rem;
}

.metric-caption {
    margin-top: .6rem;
    color: var(--muted);
    font-size: 1.38rem;
}

.select-pill {
    height: 3.2rem;
    padding: 0 1rem;
    border: 1px solid var(--line);
    border-radius: 10rem;
    color: var(--ink-light);
    background: #fff;
    font-size: 1.32rem;
    cursor: pointer;
}

/* Canvas gráficos */
.chart-canvas-wrap {
    min-height: 16rem;
    flex: 1;
    margin-top: 2.8rem;
    display: flex;
    align-items: flex-end;
    justify-content: center;
}

.bar-canvas-wrap { margin-top: 2.4rem; }
.dashboard-canvas { display: block; width: 100%; box-sizing: border-box; }

/* =========================================================
   FORMULÁRIOS
   ========================================================= */

.form-grid {
    display: grid;
    grid-template-columns: minmax(0,1fr) 30rem;
    gap: 2rem;
    align-items: stretch;
}

.form-stack {
    display: grid;
    gap: 1.4rem;
    align-self: stretch;
}

.form-card, .summary-card {
    background: var(--card);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow);
    overflow: hidden;
    height: 100%;
}

.form-card-title {
    min-height: 5.2rem;
    padding: 0 2rem;
    display: flex;
    align-items: center;
    gap: 1rem;
    font-size: 1.62rem;
    font-weight: 700;
    color: #1a2b3c;
    border-bottom: 1px solid var(--line);
    white-space: nowrap;
    overflow: hidden;
}

.form-card-title .material-symbols-rounded { color: var(--teal-dark); flex-shrink: 0; }

.form-body { padding: 1.8rem 2rem; }

.fields {
    display: grid;
    grid-template-columns: repeat(12,1fr);
    gap: 1rem;
}

.field { display: grid; gap: .4rem; }

.lookup-field {
    display: flex;
    align-items: stretch;
    gap: .6rem;
}

.lookup-field input {
    min-width: 0;
    flex: 1;
}

.lookup-button {
    min-height: 0;
    min-width: 7.8rem;
    padding: 0 1.2rem;
    box-shadow: none;
    white-space: nowrap;
}

.lookup-button:disabled {
    opacity: .7;
    cursor: progress;
}

.field label {
    color: var(--ink-light);
    font-size: 1.28rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .3px;
}

.field input,
.field select,
.field textarea {
    width: 100%;
    height: 4.2rem;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    outline: 0;
    background: var(--field-bg);
    color: #2b3847;
    padding: 0 1.2rem;
    font-size: 1.5rem;
    font-weight: 500;
    transition: border-color .15s, box-shadow .15s;
}
.field input:focus, .field select:focus, .field textarea:focus {
    border-color: var(--teal);
    box-shadow: 0 0 0 3px rgba(5,184,190,.12);
    background: #fff;
}

.field textarea { height: 9rem; padding-top: 1rem; resize: vertical; }

.col-1{grid-column:span 1}.col-2{grid-column:span 2}.col-3{grid-column:span 3}
.col-4{grid-column:span 4}.col-5{grid-column:span 5}.col-6{grid-column:span 6}
.col-7{grid-column:span 7}.col-8{grid-column:span 8}.col-9{grid-column:span 9}
.col-10{grid-column:span 10}.col-11{grid-column:span 11}.col-12{grid-column:span 12}

.field-action { align-content: end; }
.full-button { width: 100%; }

/* Itens do orçamento */
.item-row {
    display: grid;
    grid-template-columns: 14rem minmax(0,1fr) 9rem 11rem 3.8rem;
    gap: .8rem;
    margin-bottom: .8rem;
    padding: .8rem 1rem;
    background: #f8fafb;
    border: 1px solid var(--line);
    border-radius: var(--radius);
}

.item-row select,
.item-row input {
    height: 3.8rem;
    border: 1px solid var(--line);
    border-radius: 5px;
    background: #fff;
    padding: 0 1rem;
    font-size: 1.45rem;
    outline: 0;
    color: #2b3847;
}
.item-row select:focus, .item-row input:focus {
    border-color: var(--teal);
    box-shadow: 0 0 0 2px rgba(5,184,190,.12);
}

.add-item {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .8rem;
    width: 100%;
    height: 4rem;
    margin-top: .8rem;
    border: 2px dashed var(--green);
    border-radius: var(--radius);
    color: var(--green-dark);
    background: rgba(106,212,155,.06);
    font-size: 1.45rem;
    font-weight: 700;
    cursor: pointer;
    transition: background .15s;
}
.add-item:hover { background: rgba(106,212,155,.15); }

/* Card de resumo */
.summary-card {
    position: sticky;
    top: 1.6rem;
    align-self: stretch;
}

.summary-card .form-body { padding: 1.8rem; }

.summary-title { margin: 0 0 1.6rem; font-size: 1.9rem; font-weight: 600; color: #1a2b3c; }

.summary-lines {
    margin: 1.4rem 0;
    padding-top: 1.4rem;
    border-top: 1px solid var(--line);
    display: grid;
    gap: 1rem;
}

.summary-line, .summary-total {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    font-size: 1.48rem;
    color: var(--ink-light);
}

.summary-line strong { color: var(--ink); font-weight: 600; }

.summary-total {
    padding-top: 1.4rem;
    border-top: 2px solid var(--line);
    font-size: 2.2rem;
    font-weight: 700;
    color: var(--ink);
}

.summary-total strong:last-child { color: var(--teal-dark); }

.summary-actions {
    position: relative;
    display: grid;
    gap: .8rem;
    margin-top: 1.6rem;
}

.summary-actions .proposal-menu,
.send-menu .proposal-menu {
    right: 0;
    bottom: calc(100% + .8rem);
    top: auto;
    min-width: 27rem;
}

.history-wrap {
    max-width: 118rem;
    margin: 0 auto;
}

.history-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    margin-bottom: 2rem;
}

.history-head h2 {
    margin: 0;
    font-size: 2.8rem;
    font-weight: 600;
    color: #344055;
}

.history-head p {
    margin: .3rem 0 0;
    font-size: 1.6rem;
    color: var(--muted);
}

.history-card {
    min-height: 42rem;
    padding: 2.4rem 2.8rem;
    border: 1px solid #dbe2ec;
    border-radius: 1.2rem;
    background: #fff;
}

.history-line {
    position: relative;
    display: grid;
    grid-template-columns: 4.8rem 1fr;
    gap: 1.6rem;
    padding: 0 0 2.6rem;
}

.history-line:not(:last-child)::before {
    content: '';
    position: absolute;
    left: 2.35rem;
    top: 4.8rem;
    bottom: 0;
    width: 1px;
    background: #dfe5ee;
}

.history-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 4.8rem;
    height: 4.8rem;
    border: 1px solid #5bdc9a;
    border-radius: 50%;
    color: #2dd47a;
    background: #fff;
    font-size: 2.8rem;
}

.history-line strong {
    display: block;
    margin-top: .2rem;
    font-size: 1.8rem;
    font-weight: 600;
    color: #344055;
}

.history-line span:not(.history-icon) {
    display: block;
    font-size: 1.6rem;
    color: #a2aab6;
}

.send-menu { position: relative; }

.send-menu .blue-button,
.summary-actions > .green-button { min-height: 4.2rem; width: 100%; }

/* =========================================================
   CONFIGURAÇÕES
   ========================================================= */

.settings-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
    align-items: stretch;
}

.check-line {
    display: flex;
    align-items: center;
    gap: .8rem;
    color: var(--ink-light);
    font-size: 1.45rem;
    font-weight: 600;
}

.template-preview-grid {
    margin-top: 1.8rem;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.4rem;
}

.template-preview-card {
    min-height: 12rem;
    padding: 1.6rem;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: #fff;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 1.2rem;
}

.template-preview-card strong {
    color: #1a2b3c;
    font-size: 1.6rem;
    font-weight: 700;
}

.template-preview-card span {
    color: var(--muted);
    font-size: 1.35rem;
    line-height: 1.35;
}

.template-preview-card.is-active {
    border-color: var(--green);
    box-shadow: 0 0 0 3px rgba(106,212,155,.22);
}

.template-preview-card.cftv { border-top: 4px solid #143763; }
.template-preview-card.security { border-top: 4px solid #263f91; }
.template-preview-card.modern { border-top: 4px solid #18b7c8; }

.logo-model-box {
    width: 13rem;
    height: 13rem;
    margin-bottom: 1rem;
    border: 1px dashed #d4dbe5;
    border-radius: var(--radius);
    background: #fff;
    display: grid;
    place-items: center;
    overflow: hidden;
}

.logo-model-box img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.logo-model-box span {
    color: var(--muted);
    font-weight: 700;
}

/* =========================================================
   PERFIL / TIME / LOGS
   ========================================================= */

.section-title {
    margin-bottom: 1.8rem;
}

.section-title h2 {
    margin: 0;
    color: #3a4757;
    font-size: 2.8rem;
    font-weight: 700;
}

.section-title p {
    margin: .2rem 0 0;
    color: var(--muted);
    font-size: 1.55rem;
}

.section-title.with-action {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
}

.activity-intro {
    margin: .4rem 0 1.8rem;
}

.activity-intro p {
    margin: 0;
}

.profile-header {
    margin-bottom: 2rem;
    display: flex;
    align-items: center;
    gap: 1.4rem;
}

.profile-avatar {
    width: 5rem;
    height: 5rem;
    border-radius: 50%;
    background: #8e44ad;
    color: #fff;
    display: grid;
    place-items: center;
    font-size: 1.5rem;
    font-weight: 800;
}

.profile-header h2 {
    margin: 0;
    color: #334155;
    font-size: 1.8rem;
    font-weight: 700;
}

.profile-header p {
    margin: .3rem 0 0;
    color: var(--muted);
    font-size: 1.35rem;
}

.profile-section { margin-bottom: 2rem; }

.form-card-title small {
    display: block;
    margin-top: .1rem;
    color: #9aa3ad;
    font-size: 1.12rem;
    font-weight: 500;
}

.form-card-title .blue-button {
    margin-left: auto;
    min-height: 3.8rem;
}

.profile-form-grid {
    grid-template-columns: 12rem repeat(9, 1fr);
    align-items: center;
}

.profile-form-grid .profile-label {
    grid-column: span 1;
    color: #1f2937;
    font-size: 1.32rem;
}

.profile-form-grid .field {
    grid-column: span 9;
}

.activity-card {
    max-width: 105rem;
    padding: 3rem 2.6rem;
}

.activity-list {
    position: relative;
    display: grid;
    gap: 2.6rem;
}

.activity-list::before {
    content: "";
    position: absolute;
    left: 2.45rem;
    top: 1.8rem;
    bottom: 1.8rem;
    width: 1px;
    background: #dfe5ec;
}

.activity-item {
    position: relative;
    display: grid;
    grid-template-columns: 5rem 1fr;
    gap: 1.4rem;
    align-items: start;
}

.activity-icon {
    position: relative;
    z-index: 1;
    width: 5rem;
    height: 5rem;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: #fff;
    border: 1px solid var(--green);
    color: var(--green);
}

.activity-icon.is-purple { border-color: #a78bfa; color: #8b5cf6; }
.activity-icon.is-red { border-color: #fb7185; color: #e11d48; }
.activity-icon.is-green { border-color: var(--green); color: var(--green); }

.activity-icon .material-symbols-rounded { font-size: 2.8rem; }

.activity-copy {
    display: grid;
    gap: .1rem;
}

.activity-copy strong {
    color: #334155;
    font-size: 1.65rem;
    font-weight: 700;
    text-transform: capitalize;
}

.activity-copy span {
    color: #334155;
    font-size: 1.55rem;
}

.activity-copy small {
    color: #a0a7b2;
    font-size: 1.45rem;
}

.team-card { padding: 0; }

.team-list { width: 100%; }

.team-row {
    min-height: 7.4rem;
    padding: 1.2rem 2rem;
    display: grid;
    grid-template-columns: 5rem minmax(0,1fr) 16rem 12rem 5rem;
    align-items: center;
    gap: 1.4rem;
    border-bottom: 1px solid var(--line);
}

.team-row:last-child { border-bottom: 0; }
.team-avatar { background: var(--teal-dark); }

.team-main {
    display: grid;
    min-width: 0;
}

.team-main strong {
    color: #1f2937;
    font-size: 1.55rem;
    font-weight: 700;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.team-main span,
.team-row > span:not(.avatar):not(.status-chip) {
    color: var(--muted);
    font-size: 1.35rem;
}

.empty-state {
    min-height: 12rem;
    padding: 3rem;
    display: grid;
    place-items: center;
    color: #1f2937;
    font-size: 1.8rem;
}

.empty-state .material-symbols-rounded {
    display: block;
    margin-bottom: .8rem;
    color: #cbd5e1;
    font-size: 4.8rem;
}

/* =========================================================
   MODAIS
   ========================================================= */

.modal-backdrop {
    position: fixed;
    inset: 0;
    z-index: 500;
    display: none;
    align-items: flex-start;
    justify-content: center;
    padding-top: 8rem;
    background: rgba(10,20,40,.4);
    backdrop-filter: blur(2px);
}

.modal-backdrop.is-open { display: flex; }

.modal-panel {
    width: min(72rem, calc(100vw - 3.2rem));
    max-height: calc(100vh - 12rem);
    overflow: auto;
    background: #fff;
    border-radius: var(--radius-lg);
    box-shadow: 0 20px 60px rgba(0,0,0,.25);
    position: relative;
}

.modal-head {
    min-height: 5.6rem;
    padding: 0 2.4rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid var(--line);
}

.modal-head h2 {
    font-size: 1.8rem;
    font-weight: 600;
    color: #1a2b3c;
}

.modal-close {
    width: 3.4rem;
    height: 3.4rem;
    border: 0;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: #f0f3f7;
    color: var(--ink-light);
    cursor: pointer;
    text-decoration: none;
}
.modal-close:hover { background: #e0e4ea; }

.modal-body { padding: 2rem 2.4rem; }
.modal-panel .form-body { padding-top: 2rem; }
.modal-panel .fields { row-gap: 1.2rem; }

.modal-actions {
    display: flex;
    justify-content: flex-end;
    gap: 1rem;
    padding-top: .8rem;
}

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

.login-page {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--teal) 0%, var(--teal-dark) 100%);
}

.login-card {
    width: 42rem;
    background: #fff;
    border-radius: var(--radius-lg);
    padding: 4.4rem 3.8rem;
    box-shadow: 0 24px 60px rgba(0,0,0,.22);
}

.login-logo { margin-bottom: 3rem; text-align: center; }
.login-logo img { width: 16rem; max-width: 80%; height: auto; }

.login-card .field { margin-bottom: 1.4rem; }

.login-card .field label {
    color: var(--ink-light);
    font-weight: 600;
    text-transform: none;
}

.login-card .field input {
    background: #f5f7fb;
    border-color: #dde3ed;
}

.login-card button[type="submit"] {
    width: 100%;
    height: 4.8rem;
    margin-top: 2.4rem;
    border: 0;
    border-radius: var(--radius);
    color: #fff;
    background: var(--green);
    font-size: 1.7rem;
    font-weight: 700;
    cursor: pointer;
    box-shadow: 0 4px 16px rgba(106,212,155,.38);
    transition: filter .15s;
}
.login-card button[type="submit"]:hover { filter: brightness(1.06); }

.error-box {
    margin-bottom: 1.4rem;
    padding: 1rem 1.4rem;
    color: #c62828;
    background: #fdecea;
    border-radius: var(--radius);
    font-size: 1.42rem;
    border-left: 3px solid #e53935;
}

/* =========================================================
   RESPONSIVO
   ========================================================= */

@media (max-width: 1280px) {
    .dashboard-grid { grid-template-columns: 1fr 1fr; }
    .recent-card { grid-column: 1 / -1; }
}

@media (max-width: 1024px) {
    .form-grid { grid-template-columns: 1fr; }
    .settings-grid { grid-template-columns: 1fr; }
    .dashboard-grid { grid-template-columns: 1fr; }
    .recent-card { grid-column: auto; }
    .orca-card, .form-card, .summary-card { height: auto; }
    .summary-card { position: static; }

    .proposals .list-head, .proposals .list-row,
    .clients .list-head, .clients .list-row,
    .products .list-head, .products .list-row {
        grid-template-columns: 4.8rem minmax(0,1fr) 4rem;
        row-gap: .6rem;
    }
    .list-row > :nth-child(n+3):not(:last-child) { grid-column: 2/3; }
    .row-actions { grid-column: 3; grid-row: 1/span 2; }
    .list-head { display: none; }
    .recent-head { display: none; }
    .recent-row { flex-wrap: wrap; }
    .recent-budget { flex: 1 1 calc(100% - 5.6rem); max-width: none; }
    .recent-status, .recent-value, .recent-updated { margin-left: 5.6rem; }
    .profile-form-grid { grid-template-columns: 1fr; }
    .profile-form-grid .profile-label,
    .profile-form-grid .field { grid-column: 1 / -1; }
    .profile-form-grid .profile-label { margin-top: .6rem; font-weight: 700; }
    .team-row { grid-template-columns: 5rem minmax(0,1fr) 4rem; }
    .team-row > span:not(.avatar):not(.status-chip) { grid-column: 2; }
    .team-row .status-chip { grid-column: 2; justify-self: start; }
    .team-row .row-actions { grid-column: 3; grid-row: 1 / span 3; }
    .section-title.with-action { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 768px) {
    .account-name, .brand strong { display: none; }
    .main-nav { overflow-x: auto; }
    .page-hero { padding: 1.6rem 1.6rem 5rem; }
    .page-content { padding: 0 1.6rem 3rem; }
    .topbar { padding: 0 1.2rem; gap: 0; }
    .item-row { grid-template-columns: 1fr 1fr; }
    .item-row input[name*="[name]"] { grid-column: 1/-1; }
    .search-box { max-width: none; }
}

/* =========================================================
   UTILITÁRIOS
   ========================================================= */

.wide-card { overflow: hidden; }
.info-card { padding: 2rem 2.4rem; display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.info-copy { display: flex; align-items: center; gap: 2rem; }
.info-copy .material-symbols-rounded { color: var(--muted); font-size: 3.6rem; }
.info-copy h3 { margin: 0 0 .4rem; font-size: 1.8rem; font-weight: 600; }
.info-copy p { margin: 0; color: var(--muted); font-size: 1.6rem; }

/* Gesfinq feature layer - filters, products, imports and reports */
.subpage-head,.report-actions{width:min(128rem,calc(100vw - 4.8rem));margin:0 auto 1.6rem;display:flex;align-items:flex-end;justify-content:space-between;gap:1.6rem}.subpage-head h2{margin:0;font-size:1.8rem;font-weight:700;color:#354052}.subpage-head p{margin:0;font-size:1.45rem;color:#93a0b7}.subpage-actions,.report-actions{justify-content:flex-end}.product-card{width:min(128rem,calc(100vw - 4.8rem));margin:0 auto;padding:1.6rem 0 0;overflow:visible}.product-card-toolbar{display:flex;justify-content:flex-end;padding:0 2.8rem 1.6rem}.pill-search{width:25rem;height:3.2rem;display:flex;align-items:center;gap:.8rem;padding:0 1.2rem;border:1px solid #9dafc8;border-radius:2rem;color:#92a0b7}.pill-search input{width:100%;border:0;outline:0;background:transparent;font:inherit}.product-table{border-top:1px solid var(--line)}.product-head,.product-row{display:grid;grid-template-columns:4.8rem 8rem 10rem minmax(22rem,1fr) 12rem 14rem 4.8rem;align-items:center;min-height:6.2rem;padding:0 2.8rem;border-bottom:1px solid var(--line);column-gap:1.6rem}.product-head{min-height:5.2rem;color:#626b79;font-size:1.25rem;font-weight:600}.product-row strong{font-size:1.45rem;font-weight:500;color:#1f2f46}.product-thumb{width:4.6rem;height:4.6rem;display:grid;place-items:center;border-radius:.7rem;background:#f0f0f0;color:#b3bac7;overflow:hidden}.product-thumb img{width:100%;height:100%;object-fit:cover}.empty-table{padding:3rem;text-align:center;color:var(--muted);font-size:1.5rem}.filter-menu{position:relative}.filter-menu.is-open .filter-panel{display:block}.filter-panel{position:absolute;right:0;top:calc(100% + .8rem);z-index:460;display:none;width:34rem;padding:0 2.4rem 1.8rem;border-radius:.4rem;background:#fff;box-shadow:0 4px 16px rgba(20,30,50,.2)}.filter-panel h3{margin:0 -2.4rem 1.6rem;padding:1.6rem 2.4rem;border-bottom:1px solid var(--line);font-size:1.7rem;font-weight:500;color:#354052}.filter-panel label{display:block;margin:0 0 1.2rem;color:#3d4757;font-size:1.35rem}.filter-panel select,.filter-panel input{width:100%;height:4.2rem;margin-top:.7rem;padding:0 1.2rem;border:0;border-radius:.4rem;outline:0;background:#ececec;color:#56657a;font:inherit}.filter-split{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.2rem}.filter-actions{display:flex;justify-content:flex-end;gap:1rem;padding-top:.4rem}.teal-soft{background:rgba(255,255,255,.18);color:#fff}.product-modal-panel{width:min(59rem,calc(100vw - 3.2rem))}.product-form{display:grid;grid-template-columns:14rem 1fr;gap:2.2rem}.upload-column p{margin:.8rem 0 0;display:flex;align-items:center;gap:.4rem;color:#6f7988;font-size:1.1rem}.image-drop{height:13.8rem;display:grid;place-items:center;text-align:center;border-radius:.6rem;background:#efefef;color:#9aa3b3;cursor:pointer}.image-drop input{display:none}.image-drop .material-symbols-rounded{font-size:4.2rem}.product-fields{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:1.2rem}.char-count{float:right;margin-top:.3rem;color:#8d96a6;font-size:1rem}.switch-line{grid-column:1/-1;display:flex;align-items:center;gap:1rem;color:#1f2f46}.product-modal-actions{grid-column:1/-1}.import-page{width:min(128rem,calc(100vw - 4.8rem));margin:0 auto}.import-card{display:grid;grid-template-columns:13rem 1fr;gap:2.4rem;padding:2.8rem 2rem;border-radius:.7rem;background:#fff}.import-steps{display:grid;gap:1.4rem}.step{display:grid;grid-template-columns:3.2rem 1fr;gap:1.2rem;align-items:center;color:#96a3bb;font-size:1.25rem}.step b{width:2.8rem;height:2.8rem;display:grid;place-items:center;border:1px solid #98a9c2;border-radius:50%;font-weight:500}.step.active{color:#005b8d;font-weight:700}.step.active b{border-color:#005b8d;color:#005b8d}.import-drop{min-height:24rem;display:grid;place-items:center;text-align:center;border:1px dashed #9ec7f4;border-radius:.8rem;background:#e9f5ff;color:#91a1ba;cursor:pointer}.import-drop input{display:none}.import-drop .material-symbols-rounded{display:block;font-size:5rem}.import-actions{grid-column:2;display:flex;justify-content:flex-end;gap:1.6rem}.import-result{grid-column:2;color:var(--green);font-weight:600}.reports-grid{width:min(128rem,calc(100vw - 4.8rem));margin:0 auto 1.6rem;display:grid;grid-template-columns:2fr 1fr 1fr;gap:1.4rem}.report-main-card,.report-small-card{min-height:21.5rem;border:1px solid #d8dde5;border-radius:1.2rem;background:#fff;padding:1.4rem}.report-main-card{grid-row:span 2}.report-main-card h3,.report-small-card h3{margin:0;font-size:1.55rem;font-weight:500}.report-big{display:flex;justify-content:space-around;align-items:baseline;min-height:7rem;color:#686868}.report-big span,.report-small-card b{font-size:3rem;font-weight:700}.report-big strong,.report-small-card strong{font-size:2.8rem;color:#686868}.report-chart{height:23rem;margin:1rem 0 0;border-left:1px solid #e1e4ea;border-bottom:1px solid #e1e4ea;display:flex;align-items:flex-end;justify-content:center}.report-chart i{width:1rem;border-radius:1rem;background:#ffcb24}.report-small-card{display:grid;align-content:start;justify-items:center;gap:2rem}.report-table-card{width:min(128rem,calc(100vw - 4.8rem));margin:0 auto}.report-row{grid-template-columns:4.8rem minmax(0,1.6fr) 20rem 12rem 14rem 14rem 4.8rem!important}
@media (max-width:900px){.subpage-head,.report-actions,.product-card,.import-page,.reports-grid,.report-table-card{width:calc(100vw - 2.4rem)}.reports-grid{grid-template-columns:1fr}.product-head,.product-row{grid-template-columns:4rem 5rem minmax(0,1fr) 4rem}.product-head span:nth-child(3),.product-head span:nth-child(5),.product-head span:nth-child(6),.product-row>span:nth-child(3),.product-row>span:nth-child(5),.product-row>span:nth-child(6){display:none}.product-form,.import-card{grid-template-columns:1fr}.import-actions{grid-column:1}.filter-panel{right:auto;left:0;width:min(34rem,calc(100vw - 3rem))}}

/* Bugfix layer - dropdowns above cards and unclipped menus */
.orca-card,
.wide-card,
.list-table,
.product-card,
.report-table-card {
    overflow: visible !important;
}
.row-actions,
.summary-actions,
.send-menu,
.filter-menu {
    z-index: 30;
}
.proposal-menu.is-floating {
    position: fixed !important;
    right: auto !important;
    bottom: auto !important;
    z-index: 3000 !important;
    display: block !important;
    max-height: calc(100vh - 2rem);
    overflow-y: auto;
}
.filter-panel {
    z-index: 2800 !important;
}
.modal-panel .field label,
.product-modal-panel .field label {
    position: static !important;
    display: block;
    margin: 0 0 .35rem;
    line-height: 1.2;
}
.product-modal-panel .field input,
.product-modal-panel .field select,
.product-modal-panel .field textarea,
.modal-panel .field input,
.modal-panel .field select,
.modal-panel .field textarea {
    position: relative;
    z-index: 1;
}
.product-modal-panel .char-count {
    display: block;
    float: none;
    text-align: right;
}

.modal-panel.large{width:min(96rem,calc(100vw - 3.2rem));}.modal-backdrop.is-open{display:flex;}.wide-card .row-actions .soft-button{min-height:3.2rem;padding:0 .9rem;}


/* =========================================================
   RELATÓRIOS — Layout idêntico ao OrcaApp
   ========================================================= */

.rpt-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
    gap: 1.6rem;
    align-items: start;
}

/* Card grande — Total + gráfico */
.rpt-chart-card {
    background: #fff;
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow);
    overflow: hidden;
}

.rpt-card-head {
    padding: 1.8rem 2.2rem 1rem;
}

.rpt-card-title {
    font-size: 1.55rem;
    font-weight: 600;
    color: #1a2b3c;
}

/* Linha de stats (count + valor) */
.rpt-stats-row {
    display: flex;
    align-items: flex-start;
    gap: 4.4rem;
    padding: .6rem 2.2rem 1.4rem;
}

.rpt-stat {
    display: flex;
    flex-direction: column;
    gap: .4rem;
}

.rpt-big-num {
    font-size: 4.4rem;
    font-weight: 700;
    color: var(--ink);
    line-height: 1;
}

.rpt-big-val {
    font-size: 3.6rem;
    font-weight: 700;
    color: var(--ink);
    line-height: 1;
}

.rpt-big-val sup {
    font-size: 1.4rem;
    font-weight: 500;
    color: var(--muted);
    vertical-align: super;
    margin-right: .2rem;
}

.rpt-pct {
    font-size: 1.38rem;
    font-weight: 600;
    color: #2e9e5e;
}

/* Área do gráfico */
.rpt-chart-area {
    padding: 0 2.2rem 1.8rem;
    height: 26rem;
    position: relative;
}

.rpt-chart-area canvas {
    display: block;
    width: 100%;
    height: 100%;
}

/* Grid 2x2 de cards menores */
.rpt-metrics-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.2rem;
}

.rpt-small-card {
    background: #fff;
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow);
    padding: 2rem 2.2rem 2.2rem;
    display: flex;
    flex-direction: column;
    gap: .8rem;
}

.rpt-small-title {
    font-size: 1.5rem;
    font-weight: 600;
    color: #1a2b3c;
}

.rpt-small-count {
    font-size: 4rem;
    font-weight: 700;
    color: var(--ink);
    line-height: 1;
    margin-top: .4rem;
}

.rpt-small-value {
    font-size: 2.6rem;
    font-weight: 700;
    color: var(--muted);
    line-height: 1;
}

.rpt-small-value sup {
    font-size: 1.2rem;
    font-weight: 500;
    vertical-align: super;
    margin-right: .2rem;
}

@media (max-width: 1024px) {
    .rpt-grid { grid-template-columns: 1fr; }
    .rpt-metrics-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 640px) {
    .rpt-metrics-grid { grid-template-columns: 1fr; }
}

/* Gesfinq v4 hard layout fixes */
.page-toolbar,.subpage-head,.report-actions{width:min(128rem,calc(100vw - 4.8rem));margin:0 auto 1.6rem;display:flex;align-items:center;justify-content:space-between;gap:1.6rem}.page-toolbar{align-items:center}.proposal-toolbar{margin-top:0}.search-box{height:5rem;background:#fff;border-radius:.8rem;box-shadow:0 2px 12px rgba(20,30,50,.08);display:flex;align-items:center;gap:1rem;padding:0 1.4rem}.search-box input{border:0;outline:0;background:transparent;width:100%;font:500 1.7rem/1.4 Barlow,Arial,sans-serif;color:#354052}.filter-menu{position:relative;z-index:60}.filter-panel{position:absolute!important;right:0!important;top:calc(100% + .8rem)!important;display:none!important;width:34rem!important;padding:0 2.4rem 1.8rem!important;border:0!important;border-radius:.4rem!important;background:#fff!important;box-shadow:0 4px 16px rgba(20,30,50,.22)!important;z-index:3000!important;color:#354052!important}.filter-menu.is-open .filter-panel{display:block!important}.filter-panel h3{margin:0 -2.4rem 1.6rem!important;padding:1.6rem 2.4rem!important;border-bottom:1px solid #e4e7ec!important;font-size:1.7rem!important;font-weight:500!important}.filter-panel label{display:block!important;margin:0 0 1.2rem!important;font-size:1.35rem!important;font-weight:400!important;color:#3d4757!important}.filter-panel select,.filter-panel input{width:100%!important;height:4.2rem!important;margin-top:.7rem!important;padding:0 1.2rem!important;border:0!important;border-radius:.4rem!important;background:#ececec!important;outline:0!important;color:#56657a!important;font:400 1.4rem/1.4 Barlow,Arial,sans-serif!important}.filter-split{display:grid!important;grid-template-columns:1fr 1fr!important;gap:1rem!important}.filter-actions{display:flex!important;justify-content:flex-end!important;gap:1rem!important;padding-top:.6rem!important}.subpage-head{align-items:flex-end}.subpage-head h2{margin:0;font-size:1.8rem;font-weight:700;color:#354052}.subpage-head p{margin:.2rem 0 0;font-size:1.45rem;color:#93a0b7}.subpage-actions{display:flex;align-items:center;gap:.4rem}.product-card,.report-table-card{width:min(128rem,calc(100vw - 4.8rem));margin:0 auto;overflow:visible!important}.product-card{padding:1.6rem 0 0}.product-card-toolbar{display:flex;justify-content:flex-end;padding:0 2.8rem 1.6rem}.pill-search{width:25rem;height:3.2rem;display:flex;align-items:center;gap:.8rem;padding:0 1.2rem;border:1px solid #9dafc8;border-radius:2rem;background:#fff;color:#92a0b7}.pill-search input{width:100%;border:0;outline:0;background:transparent;font:400 1.35rem/1.4 Barlow,Arial,sans-serif}.product-table{border-top:1px solid #e4e7ec}.product-head,.product-row{display:grid!important;grid-template-columns:4.8rem 8rem 10rem minmax(22rem,1fr) 12rem 14rem 4.8rem!important;align-items:center!important;min-height:6.2rem!important;padding:0 2.8rem!important;border-bottom:1px solid #e4e7ec!important;column-gap:1.6rem!important}.product-head{min-height:5.2rem!important;color:#626b79!important;font-size:1.25rem!important;font-weight:600!important}.product-row strong{font-size:1.45rem;font-weight:500;color:#1f2f46;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.product-thumb{width:4.6rem;height:4.6rem;display:grid;place-items:center;border-radius:.7rem;background:#f0f0f0;color:#b3bac7;overflow:hidden}.product-thumb img{width:100%;height:100%;object-fit:cover}.empty-table{padding:3rem;text-align:center;color:#8f9bad;font-size:1.5rem}.reports-grid{width:min(128rem,calc(100vw - 4.8rem));margin:0 auto 1.6rem;display:grid!important;grid-template-columns:2fr 1fr 1fr;gap:1.4rem}.report-main-card,.report-small-card{min-height:21.5rem;border:1px solid #d8dde5;border-radius:1.2rem;background:#fff;padding:1.4rem;box-shadow:0 2px 10px rgba(20,30,50,.06)}.report-main-card{grid-row:span 2}.report-main-card h3,.report-small-card h3{margin:0;font-size:1.55rem;font-weight:500}.report-big{display:flex;justify-content:space-around;align-items:baseline;min-height:7rem;color:#686868}.report-big span,.report-small-card b{font-size:3rem;font-weight:700}.report-big strong,.report-small-card strong{font-size:2.8rem;color:#686868}.report-chart{height:23rem;margin:1rem 0 0;border-left:1px solid #e1e4ea;border-bottom:1px solid #e1e4ea;display:flex;align-items:flex-end;justify-content:center}.report-chart i{width:1rem;border-radius:1rem;background:#ffcb24}.report-small-card{display:grid;align-content:start;justify-items:center;gap:2rem}.report-row{grid-template-columns:4.8rem minmax(0,1.6fr) 20rem 12rem 14rem 14rem 4.8rem!important}.list-title,.list-subtitle{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.proposal-menu{max-height:min(72vh,56rem);overflow:auto}.row-actions,.summary-actions,.send-menu{overflow:visible!important}.orca-card,.wide-card,.list-table{overflow:visible!important}
