/* Extensões educativas: compras, pedidos, banco simulado e inglês. */
.business-page { padding: 27px 0 12px; }
.business-layout { display: grid; grid-template-columns: minmax(270px, .8fr) minmax(0, 1.2fr); align-items: start; gap: 18px; }
.business-card { min-width: 0; padding: clamp(17px, 3vw, 26px); background: rgba(255,255,255,.92); border: 2px solid #f0c8dc; border-radius: 25px; box-shadow: var(--shadow-soft); }
.business-card h3 { margin: 0; color: var(--berry); font-family: 'Fredoka', sans-serif; font-size: 1.3rem; }
.business-card > p { margin: 6px 0 15px; color: #94617d; font-size: .82rem; font-weight: 800; line-height: 1.5; }
.business-field { display: grid; gap: 6px; min-width: 0; margin: 0 0 13px; }
.business-field label { color: var(--berry); font-size: .84rem; font-weight: 900; }
.business-field input, .business-field select, .business-field textarea { width: 100%; min-height: 45px; padding: 10px 12px; color: var(--plum); background: #fffafd; border: 2px solid #f4c9dc; border-radius: 14px; }
.business-field textarea { min-height: 84px; resize: vertical; }
.business-field small { color: #9b6b84; font-size: .72rem; font-weight: 800; line-height: 1.4; }
.business-two-col { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; }
.business-actions { display: flex; align-items: center; gap: 9px; flex-wrap: wrap; margin-top: 12px; }
.business-actions .primary-btn, .business-actions .secondary-btn { font-size: .84rem; }
.business-status { min-height: 22px; margin: 8px 0 0; color: #8c4b70; font-size: .78rem; font-weight: 900; }
.business-status.good { color: #278454; }
.business-status.warn { color: #ae5d16; }
.business-note { margin: 12px 0 0; padding: 11px 13px; color: #7e4c69; background: #fff7dc; border: 1px solid #f0d98f; border-radius: 14px; font-size: .76rem; font-weight: 800; line-height: 1.45; }
.operation-list { display: grid; gap: 10px; margin-top: 13px; }
.operation-card { display: grid; gap: 10px; padding: 15px; background: #fff9fc; border: 1px solid #f0d2e0; border-radius: 18px; }
.operation-card-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.operation-card h4 { margin: 0; color: var(--berry); font-family: 'Fredoka', sans-serif; font-size: 1.08rem; overflow-wrap: anywhere; }
.operation-card p { margin: 4px 0 0; color: #8a5c76; font-size: .78rem; font-weight: 800; line-height: 1.45; }
.operation-values { display: flex; gap: 8px; flex-wrap: wrap; }
.operation-chip { display: inline-flex; align-items: center; gap: 4px; padding: 6px 9px; color: #80526c; background: #fff; border: 1px solid #f1d5e1; border-radius: 999px; font-size: .72rem; font-weight: 900; }
.status-badge { flex: 0 0 auto; padding: 6px 10px; border-radius: 999px; font-size: .7rem; font-weight: 900; }
.status-requested { color: #875aa4; background: #f2eaff; }
.status-purchased, .status-pending { color: #9b6412; background: #fff3cf; }
.status-received, .status-delivered { color: #23754c; background: #e3f8eb; }
.status-paid, .status-packing { color: #a02e67; background: #ffe7f1; }
.status-shipped { color: #276a91; background: #e5f5ff; }
.operation-actions { display: flex; align-items: end; gap: 8px; flex-wrap: wrap; }
.operation-actions .secondary-btn, .operation-actions .danger-btn { padding: 8px 12px; font-size: .75rem; }
.operation-cost-field { width: min(170px, 100%); }
.operation-cost-field label { display: block; margin-bottom: 4px; color: #80526c; font-size: .69rem; font-weight: 900; }
.operation-cost-field input { width: 100%; min-height: 38px; padding: 7px 9px; color: var(--plum); background: #fff; border: 1px solid #e9c3d6; border-radius: 11px; }
.operations-empty { padding: 15px; color: #956981; background: #fff8fc; border: 1px dashed #ecc9da; border-radius: 16px; font-size: .83rem; font-weight: 800; line-height: 1.45; }
.business-metrics { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 11px; margin-bottom: 15px; }
.business-metric { padding: 14px; background: linear-gradient(145deg,#fff,#fff2f8); border: 1px solid #f0cada; border-radius: 18px; }
.business-metric:nth-child(2) { background: linear-gradient(145deg,#fff,#fff8dc); }
.business-metric:nth-child(3) { background: linear-gradient(145deg,#fff,#f2ecff); }
.business-metric span { display: block; color: #8f5674; font-size: .7rem; font-weight: 900; }
.business-metric strong { display: block; margin-top: 4px; color: var(--pink-700); font-family: 'Fredoka',sans-serif; font-size: clamp(1.15rem,2vw,1.55rem); }
.freight-result { min-height: 24px; margin: 0 0 12px; color: #7e4c69; font-size: .82rem; font-weight: 900; }
.cash-operation-panel { margin-top: 17px; padding: clamp(17px,3vw,25px); background: linear-gradient(145deg,#fff,#fff3f9 58%,#f2ecff); border: 2px solid #e9bfd4; border-radius: 25px; box-shadow: var(--shadow-soft); }
.cash-operation-panel h3 { margin: 0; color: var(--berry); font-family: 'Fredoka',sans-serif; font-size: 1.35rem; }
.cash-operation-panel > p { margin: 5px 0 14px; color: #94617d; font-size: .8rem; font-weight: 800; line-height: 1.45; }
.cash-transfer-form { display: flex; align-items: end; gap: 10px; flex-wrap: wrap; }
.cash-transfer-form .business-field { flex: 0 1 230px; margin: 0; }
.cash-transfer-form .primary-btn { min-height: 45px; padding: 10px 17px; font-size: .82rem; }
.loan-list, .bank-transaction-list { display: grid; gap: 10px; margin-top: 12px; }
.installment-row, .bank-transaction-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 13px; background: #fff9fc; border: 1px solid #f0d2e0; border-radius: 15px; }
.installment-row p, .bank-transaction-row p { margin: 2px 0 0; color: #94617d; font-size: .74rem; font-weight: 800; line-height: 1.35; }
.installment-row strong, .bank-transaction-row strong { color: var(--berry); font-size: .84rem; }
.installment-row .secondary-btn { flex: 0 0 auto; padding: 8px 11px; font-size: .74rem; }
.installment-paid { color: #23754c !important; }
.chat-layout { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(250px, .65fr); align-items: start; gap: 17px; }
.chat-card { min-width: 0; padding: clamp(15px,3vw,23px); background: rgba(255,255,255,.93); border: 2px solid #f0c8dc; border-radius: 25px; box-shadow: var(--shadow-soft); }
.chat-topline { display: flex; align-items: center; gap: 11px; padding-bottom: 13px; border-bottom: 1px solid #f2d8e4; }
.chat-avatar { display: grid; place-items: center; flex: 0 0 43px; width: 43px; height: 43px; color: #fff; background: linear-gradient(145deg,#ff8dbc,#ed4a92); border-radius: 50%; font-size: 1.3rem; }
.chat-topline h3 { margin: 0; color: var(--berry); font-family: 'Fredoka',sans-serif; font-size: 1.08rem; }
.chat-topline p { margin: 2px 0 0; color: #94617d; font-size: .72rem; font-weight: 800; }
.chat-messages { display: grid; align-content: start; gap: 10px; min-height: 310px; max-height: 480px; overflow-y: auto; margin: 13px 0; padding: 14px; background: linear-gradient(135deg,#fffafc,#f5f1ff); border: 1px solid #f0d8e4; border-radius: 18px; }
.chat-bubble { max-width: min(88%, 480px); padding: 11px 13px; border-radius: 16px; font-size: .86rem; font-weight: 800; line-height: 1.5; overflow-wrap: anywhere; }
.chat-bubble.client { justify-self: start; color: #71445e; background: #fff; border: 1px solid #ead6e0; border-bottom-left-radius: 5px; }
.chat-bubble.elisa { justify-self: end; color: #552443; background: #f9dcec; border: 1px solid #edbdd5; border-bottom-right-radius: 5px; }
.chat-bubble small { display: block; margin-bottom: 3px; color: #9b6b84; font-size: .65rem; font-weight: 900; }
.chat-compose { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: end; gap: 9px; }
.chat-compose textarea { width: 100%; min-height: 70px; padding: 10px 12px; color: var(--plum); background: #fff; border: 2px solid #f0c8dc; border-radius: 15px; resize: vertical; }
.chat-compose .primary-btn { min-height: 44px; padding: 10px 14px; font-size: .78rem; }
.chat-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 8px; flex-wrap: wrap; }
.chat-toolbar .secondary-btn, .chat-toolbar .danger-btn { padding: 8px 12px; font-size: .75rem; }
.teacher-hint { margin: 11px 0; padding: 12px 14px; color: #674484; background: #f4edff; border: 1px solid #ddc9f5; border-radius: 15px; font-size: .8rem; font-weight: 800; line-height: 1.5; }
.teacher-hint[hidden] { display: none !important; }
.chat-side-card { padding: 19px; background: linear-gradient(145deg,#fff,#f4eeff); border: 2px solid #ddc9f5; border-radius: 23px; }
.chat-side-card h3 { margin: 0 0 8px; color: var(--berry); font-family: 'Fredoka',sans-serif; font-size: 1.12rem; }
.chat-side-card p, .chat-side-card li { color: #805d92; font-size: .78rem; font-weight: 800; line-height: 1.5; }
.chat-side-card ul { padding-left: 19px; }
.chat-side-card .business-note { background: #fff; }
@media (max-width: 900px) {
  .business-layout, .chat-layout { grid-template-columns: 1fr; }
  .business-metrics { gap: 8px; }
}
@media (max-width: 650px) {
  .business-two-col { grid-template-columns: 1fr; gap: 0; }
  .business-metrics { grid-template-columns: 1fr; }
  .operation-card-top { flex-direction: column; }
  .operation-actions { align-items: stretch; flex-direction: column; }
  .operation-actions > button, .operation-actions .operation-cost-field { width: 100%; }
  .installment-row, .bank-transaction-row { align-items: flex-start; flex-direction: column; }
  .installment-row .secondary-btn { width: 100%; }
  .chat-compose { grid-template-columns: 1fr; }
  .chat-compose .primary-btn { width: 100%; }
  .cash-transfer-form { align-items: stretch; flex-direction: column; }
  .cash-transfer-form .business-field, .cash-transfer-form .primary-btn { width: 100%; }
}


/* Novos módulos: cartão educativo, extratos, histórico, pastas de marketing e estoque. */
.bank-section-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.bank-section-heading h3 { margin:0; color:var(--berry); font-family:'Fredoka',sans-serif; font-size:1.25rem; }
.bank-section-heading p { margin:4px 0 0; color:#94617d; font-size:.77rem; font-weight:800; line-height:1.45; }
.bank-section-heading .secondary-btn { flex:0 0 auto; padding:9px 13px; font-size:.77rem; }
.elisa-card-panel { display:grid; grid-template-columns:minmax(250px,.95fr) minmax(230px,1.05fr); align-items:center; gap:20px; margin:16px 0; padding:clamp(16px,3vw,25px); background:linear-gradient(135deg,#fff8fc,#f5efff); border:2px solid #efc9dc; border-radius:25px; box-shadow:var(--shadow-soft); }
.elisa-card { position:relative; display:flex; min-height:190px; flex-direction:column; justify-content:space-between; overflow:hidden; padding:20px; color:#fff; background:linear-gradient(135deg,#b84d86 0%,#8040a1 56%,#584098 100%); border:1px solid rgba(255,255,255,.48); border-radius:22px; box-shadow:0 13px 27px rgba(92,45,105,.22); isolation:isolate; }
.elisa-card::before { position:absolute; z-index:-1; inset:auto -50px -100px auto; width:220px; height:220px; content:""; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.17); border-radius:50%; }
.elisa-card-brand,.elisa-card-bottom { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.elisa-card-brand strong { font-family:'Fredoka',sans-serif; font-size:.88rem; letter-spacing:.04em; }
.elisa-card-brand span { padding:4px 7px; color:#74365e; background:#fff0bd; border-radius:999px; font-size:.56rem; font-weight:1000; letter-spacing:.08em; }
.elisa-card-chip { display:grid; grid-template-columns:repeat(2,12px); gap:3px; width:34px; height:28px; padding:5px; background:linear-gradient(145deg,#ffe8a3,#dfb95c); border:1px solid rgba(255,255,255,.72); border-radius:7px; }
.elisa-card-chip i { border:1px solid rgba(118,77,44,.5); border-radius:3px; }
.elisa-card-number { font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:clamp(1rem,2vw,1.25rem); font-weight:800; letter-spacing:.08em; white-space:nowrap; }
.elisa-card-bottom { align-items:flex-end; font-size:.68rem; letter-spacing:.04em; }
.elisa-card-bottom span { font-size:.64rem; font-weight:900; }
.elisa-card-bottom strong { text-align:right; font-size:.76rem; }
.elisa-card-name { position:absolute; bottom:42px; left:20px; color:rgba(255,255,255,.96); font-size:.72rem; font-weight:1000; letter-spacing:.12em; }
.elisa-card-watermark { position:absolute; top:49px; right:20px; color:rgba(255,255,255,.13); font-size:5rem; line-height:1; }
.elisa-card-controls > p:first-child { margin:0 0 9px; color:var(--berry); font-size:.87rem; font-weight:900; }
.elisa-card-controls .business-note { margin-top:12px; }
.card-mode-switch { display:flex; gap:8px; flex-wrap:wrap; }
.card-mode-switch button { min-height:42px; padding:9px 17px; color:#7f4a68; background:#fff; border:1.5px solid #e9bfd4; border-radius:999px; font:inherit; font-size:.82rem; font-weight:900; cursor:pointer; }
.card-mode-switch button.active,.card-mode-switch button[aria-pressed="true"] { color:#fff; background:var(--pink-700); border-color:var(--pink-700); }
.card-account-metrics { margin-top:12px; }
.card-bill-payment { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-top:13px; padding:13px; background:#fff7fb; border:1px solid #f0d2e0; border-radius:16px; }
.card-bill-payment strong { color:var(--berry); }
.card-bill-payment p { margin:3px 0 0; color:#94617d; font-size:.73rem; font-weight:800; }
.card-bill-payment .primary-btn { flex:0 0 auto; padding:9px 14px; font-size:.78rem; }
.inventory-card,.inventory-history-card { margin-top:17px; }
.inventory-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px; margin-top:14px; }
.inventory-item { display:grid; gap:10px; min-width:0; padding:15px; background:#fff9fc; border:1px solid #f0d2e0; border-radius:18px; }
.inventory-item .operation-card-top { align-items:flex-start; }
.inventory-quantity { color:var(--berry); font-family:'Fredoka',sans-serif; font-size:1.5rem; }
.inventory-in { color:#23754c!important; }
.inventory-out { color:#a02e67!important; }
.inventory-movement-row { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:11px 13px; background:#fff9fc; border:1px solid #f0d2e0; border-radius:15px; }
.inventory-movement-row p { margin:3px 0 0; color:#94617d; font-size:.73rem; font-weight:800; line-height:1.45; }
.operation-cost-field { display:grid; gap:4px; }
.operation-cost-field > span { color:#80526c; font-size:.69rem; font-weight:900; }
.operation-cost-field input,.operation-cost-field select { width:100%; min-height:38px; padding:7px 9px; color:var(--plum); background:#fff; border:1px solid #e9c3d6; border-radius:11px; }
.finance-products-list .finance-product-row { display:grid; grid-template-columns:1fr; align-items:stretch; gap:10px; }
.finance-product-name { margin:0; color:var(--berry); font-family:'Fredoka',sans-serif; font-size:1.08rem; overflow-wrap:anywhere; }
.finance-breakdown-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; }
.finance-product-metric { min-width:0; padding:10px; background:#fff; border:1px solid #f1d5e1; border-radius:13px; }
.finance-product-metric span { color:#9b6b84; font-size:.68rem; font-weight:900; }
.finance-product-metric strong { color:var(--pink-700); font-size:.87rem; overflow-wrap:anywhere; }
.finance-product-metric.finance-sale { background:#f1fff6; border-color:#c6e9d4; }
.finance-product-metric.finance-expense { background:#fff8e4; border-color:#f0dfa8; }
.finance-product-metric.finance-profit { background:#fff0f7; border-color:#f0c8dc; }
.finance-materials-metric { grid-column:span 2; }
.finance-materials-list { display:grid; gap:4px; margin:5px 0 0; padding-left:17px; color:#80526c; font-size:.72rem; font-weight:800; line-height:1.45; overflow-wrap:anywhere; }
.finance-purchase-reference { margin:0; padding:9px 11px; color:#80526c; background:#f4efff; border:1px dashed #d9c5ee; border-radius:12px; font-size:.72rem; font-weight:800; line-height:1.45; }
.pitch-workspace { display:grid; grid-template-columns:minmax(280px,.9fr) minmax(0,1.1fr); align-items:start; gap:16px; }
.pitch-editor > p,.pitch-history-panel > p { color:#94617d; font-size:.79rem; font-weight:800; line-height:1.5; }
.pitch-editor .field { margin:13px 0; }
.pitch-editor input,.pitch-editor select,.pitch-editor textarea { width:100%; min-height:44px; padding:10px 12px; color:var(--plum); background:#fffafd; border:2px solid #f4c9dc; border-radius:14px; }
.pitch-editor textarea { min-height:84px; resize:vertical; }
.pitch-history-panel { max-height:900px; overflow:auto; }
.pitch-products-list { display:grid; gap:10px; }
.pitch-history-entry { display:grid; gap:8px; padding:13px; background:#fff9fc; border:1px solid #f0d2e0; border-radius:16px; }
.pitch-history-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:8px; flex-wrap:wrap; }
.pitch-history-heading h4 { margin:0; color:var(--berry); font-family:'Fredoka',sans-serif; font-size:1rem; }
.pitch-history-heading time { color:#94617d; font-size:.68rem; font-weight:800; }
.pitch-history-profile,.pitch-history-copy { margin:0; color:#80526c; font-size:.77rem; font-weight:800; line-height:1.5; white-space:pre-wrap; overflow-wrap:anywhere; }
.pitch-history-entry .secondary-btn { justify-self:start; padding:8px 12px; font-size:.74rem; }
.marketing-folder-panel { grid-column:1/-1; min-width:0; padding:clamp(16px,3vw,23px); background:linear-gradient(145deg,#fff,#fff4f9); border:2px solid #f0c8dc; border-radius:24px; box-shadow:var(--shadow-soft); }
.marketing-folder-panel h3 { margin:0; color:var(--berry); font-family:'Fredoka',sans-serif; font-size:1.2rem; }
.marketing-folder-panel > div:first-child p { margin:4px 0 12px; color:#94617d; font-size:.76rem; font-weight:800; }
.marketing-product-folders { display:flex; gap:8px; overflow-x:auto; padding:2px 2px 9px; scrollbar-width:thin; }
.marketing-folder-btn { flex:0 0 auto; max-width:240px; overflow:hidden; padding:8px 12px; color:#80526c; background:#fff; border:1px solid #edc8db; border-radius:999px; font-size:.75rem; font-weight:900; text-overflow:ellipsis; white-space:nowrap; cursor:pointer; }
.marketing-folder-btn.active,.marketing-folder-btn[aria-pressed="true"] { color:#fff; background:var(--pink-700); border-color:var(--pink-700); }
.marketing-gallery { display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:11px; margin-top:8px; }
.marketing-gallery-empty { grid-column:1/-1; margin:0; padding:12px; color:#94617d; background:#fff9fc; border:1px dashed #edc8db; border-radius:14px; font-size:.77rem; font-weight:800; }
.marketing-gallery-card { display:grid; gap:8px; min-width:0; padding:9px; background:#fff; border:1px solid #f0d2e0; border-radius:15px; }
.marketing-gallery-card img { display:block; width:100%; aspect-ratio:4/5; object-fit:cover; background:#fff0f7; border-radius:10px; }
.marketing-gallery-details { display:grid; gap:4px; }
.marketing-gallery-details strong { color:var(--berry); font-size:.78rem; overflow-wrap:anywhere; }
.marketing-gallery-details time { color:#94617d; font-size:.66rem; font-weight:800; }
.marketing-gallery-details .secondary-btn { width:100%; padding:7px 9px; font-size:.69rem; }
.marketing-preview-actions { display:flex; align-items:center; gap:7px; flex-wrap:wrap; }
.marketing-preview-actions .primary-btn,.marketing-preview-actions .secondary-btn { min-height:40px; padding:8px 11px; font-size:.73rem; }
.teacher-hint { white-space:pre-line; }
@media (max-width:900px) {
  .pitch-workspace { grid-template-columns:1fr; }
  .elisa-card-panel { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
}
@media (max-width:650px) {
  .elisa-card-panel { grid-template-columns:1fr; }
  .inventory-list { grid-template-columns:1fr; }
  .finance-breakdown-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .finance-materials-metric { grid-column:span 2; }
  .bank-section-heading { align-items:stretch; flex-direction:column; }
  .bank-section-heading .secondary-btn { width:100%; }
  .card-bill-payment { align-items:stretch; flex-direction:column; }
  .card-bill-payment .primary-btn { width:100%; }
  .marketing-preview-heading { align-items:stretch; flex-direction:column; }
  .marketing-preview-actions { display:grid; grid-template-columns:1fr; width:100%; }
  .marketing-preview-actions button { width:100%; }
  .marketing-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:390px) {
  .finance-breakdown-grid { grid-template-columns:1fr; }
  .finance-materials-metric { grid-column:auto; }
  .marketing-gallery { grid-template-columns:1fr; }
  .elisa-card { padding:16px; }
  .elisa-card-number { letter-spacing:.04em; }
}

.inventory-order-recipe { white-space:normal; line-height:1.4; }
.inventory-order-note { margin:0; padding:8px 10px; color:#23754c!important; background:#e3f8eb; border-radius:11px; }


/* Configurações e backup portátil */
.backup-intro { margin-bottom: 15px; padding: 15px; }
.backup-stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.backup-stat { display:grid; gap:4px; min-width:0; padding:12px 14px; background:linear-gradient(145deg,#fff8fc,#fff); border:1px solid #f0c8dc; border-radius:16px; }
.backup-stat span { color:#94617d; font-size:.72rem; font-weight:800; }
.backup-stat strong { color:var(--pink-700); font-family:'Fredoka',sans-serif; font-size:1.45rem; }
.backup-intro .business-status { margin:10px 2px 0; }
.backup-workspace { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px; }
.backup-panel { display:flex; min-width:0; flex-direction:column; align-items:flex-start; gap:8px; padding:clamp(18px,3vw,25px); }
.backup-panel-icon { display:grid; width:48px; height:48px; place-items:center; background:#fff0f7; border:1px solid #f2c4da; border-radius:16px; font-size:1.5rem; }
.backup-panel .eyebrow { margin:2px 0 0; }
.backup-panel h3 { margin:0; color:var(--berry); font-family:'Fredoka',sans-serif; font-size:1.35rem; }
.backup-panel > p:not(.eyebrow):not(.backup-status) { margin:0 0 5px; color:#80526c; font-size:.82rem; font-weight:800; line-height:1.55; }
.backup-panel .primary-btn,.backup-panel .secondary-btn { min-height:46px; }
.backup-status { min-height:34px; margin:4px 0 0; color:#94617d; font-size:.75rem; font-weight:800; line-height:1.45; overflow-wrap:anywhere; }
.backup-file-label { display:inline-flex; align-items:center; justify-content:center; min-height:42px; padding:9px 14px; color:var(--pink-700); background:#fff; border:2px solid #f0b4d0; border-radius:999px; box-shadow:0 6px 14px rgba(181,27,93,.06); font-size:.8rem; font-weight:900; cursor:pointer; }
.backup-file-label:hover { transform:translateY(-1px); background:#fff7fc; }
.backup-file-input { width:100%; max-width:100%; color:#80526c; font-size:.75rem; }
.backup-file-input::file-selector-button { margin-right:8px; padding:7px 10px; color:var(--berry); background:#fff3f9; border:1px solid #f0c8dc; border-radius:10px; font:inherit; font-weight:900; cursor:pointer; }
.backup-file-name { max-width:100%; margin:0!important; color:#80526c!important; font-size:.73rem!important; overflow-wrap:anywhere; }
.backup-note { margin-top:15px; font-size:.78rem; line-height:1.55; }
@media (max-width:900px) {
  .backup-workspace { grid-template-columns:1fr; }
  .backup-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:650px) {
  .backup-panel .primary-btn,.backup-panel .secondary-btn,.backup-file-label { width:100%; }
  .backup-file-input { font-size:.68rem; }
  .backup-stats { gap:7px; }
  .backup-stat { padding:10px; }
}
