/* ═══════════════════════════════════════════
   Interbrisa Admin — Estilos globales
   admin.css
═══════════════════════════════════════════ */


*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{--navy:#0a1628;--navy2:#111f38;--blue:#1a56db;--blue-light:#3b82f6;--accent:#00c2e0;--white:#fff;--gray:#64748b;--gray-light:#f1f5f9;--green:#10b981;--green-light:#d1fae5;--red:#ef4444;--red-light:#fee2e2;--yellow:#f59e0b;--yellow-light:#fef3c7}
html,body{height:100%;font-family:'DM Sans',sans-serif;background:var(--navy);color:var(--white);overflow-x:hidden}
#loader{display:none!important}
.spinner{width:36px;height:36px;border:3px solid rgba(255,255,255,0.1);border-top-color:var(--accent);border-radius:50%;animation:spin 0.8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
#loader p{color:rgba(255,255,255,0.5);font-size:0.85rem}
#login-screen{position:fixed;inset:0;background:var(--navy);display:flex;align-items:center;justify-content:center;z-index:1000;flex-direction:column}
#login-screen::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 80% 60% at 50% 40%,rgba(26,86,219,0.25) 0%,transparent 70%)}
.login-card{position:relative;z-index:2;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.12);border-radius:24px;padding:3rem 2.5rem;width:100%;max-width:380px;text-align:center}
.login-logo{font-family:'Playfair Display',serif;font-size:1.8rem;color:var(--white);margin-bottom:0.3rem}
.login-logo{color:#c0392b}
.login-sub{color:rgba(255,255,255,0.5);font-size:0.85rem;margin-bottom:1.5rem}
.login-input{width:100%;background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.15);border-radius:10px;padding:0.9rem 1.2rem;color:var(--white);font-family:'DM Sans',sans-serif;font-size:1rem;outline:none;transition:border-color 0.2s;margin-bottom:0.8rem}
.login-input:focus{border-color:var(--accent)}
.login-input::placeholder{color:rgba(255,255,255,0.3)}
.login-btn{width:100%;background:linear-gradient(135deg,var(--blue),var(--accent));border:none;border-radius:10px;padding:0.9rem;color:var(--white);font-family:'DM Sans',sans-serif;font-size:1rem;font-weight:600;cursor:pointer;transition:opacity 0.2s}
.login-btn:hover{opacity:0.9}
.login-error{color:#f87171;font-size:0.85rem;margin-top:0.5rem;display:none}
#app{display:none;flex-direction:column}
.top-nav{background:rgba(10,22,40,0.98);backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,0.08);padding:0.8rem 1.5rem;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:50}
.top-nav-title{font-family:'Playfair Display',serif;font-size:1.1rem}
.top-nav-title span{color:var(--accent)}
.nav-right{display:flex;align-items:center;gap:0.7rem}
.sync-indicator{font-size:0.72rem;color:rgba(255,255,255,0.4);display:flex;align-items:center;gap:0.3rem}
.sync-dot{width:7px;height:7px;border-radius:50%;background:var(--green)}
.sync-dot.syncing{background:var(--yellow);animation:pulse 1s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:0.4}}
.logout-btn{background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.12);border-radius:8px;padding:0.35rem 0.8rem;color:rgba(255,255,255,0.7);font-size:0.78rem;cursor:pointer}
.summary{padding:1.2rem 1.5rem;display:grid;grid-template-columns:1fr 1fr 1fr;gap:0.8rem}
.sum-card{background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.1);border-radius:14px;padding:1rem;text-align:center}
.sum-label{font-size:0.68rem;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;margin-bottom:0.4rem}
.sum-amount{font-family:'Playfair Display',serif;font-size:1.2rem;font-weight:700}
.sum-card.cobrar .sum-label{color:var(--green)}.sum-card.cobrar .sum-amount{color:var(--green)}
.sum-card.pagar .sum-label{color:#f87171}.sum-card.pagar .sum-amount{color:#f87171}
.sum-card.balance .sum-label{color:var(--accent)}.sum-card.balance .sum-amount{color:var(--accent)}
.main-tabs{display:flex;padding:0 1.5rem;gap:0.5rem;border-bottom:1px solid rgba(255,255,255,0.08);overflow-x:auto;margin-top:0}
.main-tab{padding:0.65rem 1rem;font-size:0.82rem;font-weight:500;color:rgba(255,255,255,0.5);cursor:pointer;border-bottom:2px solid transparent;transition:all 0.2s;white-space:nowrap}
.main-tab.active{color:var(--accent);border-bottom-color:var(--accent)}
.tab-content{display:none}
.tab-content.active{display:block}
.content{padding:1rem 1.5rem}
.add-btn{width:auto;display:inline-flex;align-items:center;gap:0.5rem;background:linear-gradient(135deg,var(--blue),var(--accent));border:none;border-radius:10px;padding:0.65rem 1.4rem;color:var(--white);font-family:'DM Sans',sans-serif;font-size:0.87rem;font-weight:600;cursor:pointer;margin-bottom:1.1rem;transition:opacity 0.2s,transform 0.1s}
.add-btn:hover{opacity:0.9;transform:translateY(-1px)}
.list-toolbar{display:flex;align-items:center;gap:0.7rem;margin-bottom:1.1rem}
.list-toolbar .add-btn{margin-bottom:0;flex-shrink:0}
.list-toolbar .search-box{margin-bottom:0;flex:1}
.cot-obs-preview{font-size:0.76rem;color:rgba(255,255,255,0.38);margin-top:0.22rem;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.save-line-btn{background:rgba(0,194,224,0.15);border:1px solid rgba(0,194,224,0.35);color:var(--accent);border-radius:6px;padding:0.28rem 0.55rem;font-size:0.72rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:all 0.15s;flex-shrink:0}
.save-line-btn:hover{background:rgba(0,194,224,0.25)}
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.75);z-index:200;display:none;align-items:flex-end;justify-content:center}
.modal-overlay.open{display:flex}
.modal{background:#111f38;border-radius:24px 24px 0 0;padding:1.8rem 1.5rem 2.5rem;width:100%;max-width:580px;max-height:92vh;overflow-y:auto}
.modal h3{font-family:'Playfair Display',serif;font-size:1.2rem;margin-bottom:1.3rem;color:var(--white)}
.form-group{display:flex;flex-direction:column;gap:0.35rem;margin-bottom:0.9rem}
.form-group label{font-size:0.8rem;font-weight:500;color:rgba(255,255,255,0.6)}
.form-group input,.form-group select,.form-group textarea{background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.15);border-radius:10px;padding:0.75rem 1rem;color:var(--white);font-family:'DM Sans',sans-serif;font-size:0.9rem;outline:none;transition:border-color 0.2s;width:100%}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--accent)}
.form-group input::placeholder,.form-group textarea::placeholder{color:rgba(255,255,255,0.3)}
.form-group select option{background:#111f38}
select option{background:#111f38;color:#fff}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:0.8rem}
.form-row3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0.8rem}
.modal-actions{display:flex;gap:0.8rem;margin-top:1.3rem}
.btn-save{flex:1;background:linear-gradient(135deg,var(--blue),var(--accent));border:none;border-radius:10px;padding:0.85rem;color:var(--white);font-family:'DM Sans',sans-serif;font-size:0.9rem;font-weight:600;cursor:pointer}
.btn-cancel{flex:1;background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.15);border-radius:10px;padding:0.85rem;color:var(--white);font-family:'DM Sans',sans-serif;font-size:0.9rem;cursor:pointer}
.item-list{display:flex;flex-direction:column;gap:0.7rem}
.item-card{background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.09);border-radius:14px;padding:1rem 1.1rem;transition:transform 0.2s}
.item-card:hover{transform:translateY(-1px)}
.item-top{display:flex;justify-content:space-between;align-items:flex-start;gap:0.8rem}
.item-name{font-weight:600;font-size:0.92rem;color:var(--white)}
.item-concept{font-size:0.8rem;color:rgba(255,255,255,0.5);margin-top:0.15rem}
.item-amount{font-family:'Playfair Display',serif;font-size:1.15rem;font-weight:700;white-space:nowrap}
.item-amount.cobrar{color:var(--green)}.item-amount.pagar{color:#f87171}
.item-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:0.7rem;flex-wrap:wrap;gap:0.4rem}
.item-date{font-size:0.76rem;color:rgba(255,255,255,0.4)}
.item-actions{display:flex;gap:0.4rem}
.badge{font-size:0.68rem;font-weight:600;padding:0.2rem 0.6rem;border-radius:50px;text-transform:uppercase;letter-spacing:0.05em}
.badge.pendiente{background:var(--yellow-light);color:#92400e}
.badge.cobrado,.badge.pagado{background:var(--green-light);color:#065f46}
.badge.vencido{background:var(--red-light);color:#991b1b}
.badge.borrador{background:#e0e7ff;color:#3730a3}
.badge.en_proceso{background:#fef3c7;color:#92400e}
.badge.completada{background:#d1fae5;color:#065f46}
.badge.cancelada{background:#fee2e2;color:#991b1b}
.badge.urgente{background:#fee2e2;color:#991b1b}
.badge.normal{background:#e0e7ff;color:#3730a3}
.badge.baja{background:#f1f5f9;color:#64748b}
.badge.enviada{background:#dbeafe;color:#1e40af}
.action-btn{background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.12);border-radius:7px;padding:0.28rem 0.65rem;color:rgba(255,255,255,0.7);font-size:0.73rem;cursor:pointer;transition:all 0.2s}
.action-btn:hover{background:rgba(255,255,255,0.15);color:var(--white)}
.action-btn.danger{border-color:rgba(239,68,68,0.3);color:#f87171}
.action-btn.danger:hover{background:rgba(239,68,68,0.15)}
.action-btn.success{border-color:rgba(16,185,129,0.3);color:var(--green)}
.action-btn.success:hover{background:rgba(16,185,129,0.15)}
.action-btn.pdf{border-color:rgba(0,194,224,0.3);color:var(--accent)}
.action-btn.pdf:hover{background:rgba(0,194,224,0.15)}
.empty{text-align:center;padding:2.5rem 1rem;color:rgba(255,255,255,0.3)}
.empty .empty-icon{font-size:2.5rem;margin-bottom:0.8rem;display:block}
.filter-bar{display:flex;gap:0.4rem;margin-bottom:0.9rem;overflow-x:auto;padding-bottom:0.2rem}
.filter-btn{padding:0.35rem 0.8rem;border-radius:50px;font-size:0.78rem;font-weight:500;cursor:pointer;border:1px solid rgba(255,255,255,0.15);background:transparent;color:rgba(255,255,255,0.6);white-space:nowrap;transition:all 0.2s}
.filter-btn.active{background:var(--blue);border-color:var(--blue);color:var(--white)}
.search-box{width:100%;background:rgba(255,255,255,0.07);border:1px solid rgba(255,255,255,0.12);border-radius:10px;padding:0.65rem 1rem;color:var(--white);font-family:'DM Sans',sans-serif;font-size:0.88rem;outline:none;margin-bottom:0.9rem}
.search-box::placeholder{color:rgba(255,255,255,0.3)}
.search-box:focus{border-color:var(--accent)}
/* Cotizaciones items editor */
.cot-items{border:1px solid rgba(255,255,255,0.15);border-radius:10px;overflow:hidden;margin-bottom:0.9rem}
.cot-item-row{display:grid;grid-template-columns:0.55fr 3fr 0.5fr 0.9fr auto;gap:0.3rem;padding:0.45rem 0.55rem;border-bottom:1px solid rgba(255,255,255,0.08);align-items:center}
.cot-item-row:last-child{border-bottom:none}
.cot-item-row input{background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.1);border-radius:7px;padding:0.42rem 0.55rem;color:var(--white);font-family:'DM Sans',sans-serif;font-size:0.84rem;outline:none;width:100%;transition:border-color .15s}
.cot-item-row input:focus{border-color:var(--accent);background:rgba(0,194,224,0.06)}
.cot-item-row input:nth-child(2){font-size:0.86rem} /* descripción más legible */
.cot-item-header{background:rgba(255,255,255,0.06);font-size:0.7rem;font-weight:600;color:rgba(255,255,255,0.5);letter-spacing:0.05em}
.cot-total-row{display:flex;justify-content:flex-end;gap:1rem;padding:0.6rem 0.9rem;background:rgba(255,255,255,0.04);border-top:1px solid rgba(255,255,255,0.1);font-size:0.85rem}
.cot-total-label{color:rgba(255,255,255,0.6)}
.cot-total-val{color:var(--white);font-weight:600;min-width:100px;text-align:right}
.add-item-btn{background:rgba(255,255,255,0.06);border:1px dashed rgba(255,255,255,0.2);border-radius:8px;padding:0.5rem;color:rgba(255,255,255,0.5);font-size:0.82rem;cursor:pointer;width:100%;margin-bottom:0.9rem;transition:all 0.2s}
.add-item-btn:hover{background:rgba(255,255,255,0.1);color:var(--white)}
.del-item-btn{background:none;border:none;color:#f87171;cursor:pointer;font-size:1rem;padding:0 0.2rem}
.section-divider{font-size:0.75rem;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;color:rgba(255,255,255,0.4);margin:1rem 0 0.5rem;border-bottom:1px solid rgba(255,255,255,0.08);padding-bottom:0.3rem}
/* DASHBOARD */
.dash-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:0.8rem;margin-bottom:1.2rem}
.kpi-card{background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.09);border-radius:16px;padding:1.2rem 1.1rem;position:relative;overflow:hidden;transition:border-color .2s}
.kpi-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;pointer-events:none}
.kpi-card.green::before{background:var(--green)}.kpi-card.red::before{background:#f87171}
.kpi-card.accent::before{background:var(--accent)}.kpi-card.yellow::before{background:var(--yellow)}
.kpi-card.blue::before{background:#60a5fa}
/* ── DASHBOARD ── */
.dash-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:1.3rem;gap:1rem;flex-wrap:wrap}
.dash-greeting{font-family:'Playfair Display',serif;font-size:1.3rem;color:var(--white);font-weight:700;letter-spacing:-0.01em}
.dash-date{font-size:0.73rem;color:rgba(255,255,255,0.33);margin-top:0.18rem}
.dash-kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:0.65rem;margin-bottom:0.75rem}
.kpi-card{background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);border-radius:13px;padding:0.95rem 0.85rem;position:relative;overflow:hidden;transition:border-color .18s,background .18s}
.kpi-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;pointer-events:none}
.kpi-card.green::before{background:var(--green)}.kpi-card.red::before{background:#f87171}
.kpi-card.accent::before{background:var(--accent)}.kpi-card.yellow::before{background:var(--yellow)}
.kpi-card.blue::before{background:#60a5fa}
.kpi-card[onclick]:hover{border-color:rgba(255,255,255,0.2);background:rgba(255,255,255,0.07);cursor:pointer}
.kpi-icon{font-size:1.1rem;margin-bottom:0.45rem;display:block}
.kpi-val{font-family:'Playfair Display',serif;font-size:1.18rem;font-weight:700;color:var(--white);line-height:1;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kpi-val.green{color:var(--green)}.kpi-val.red{color:#f87171}.kpi-val.accent{color:var(--accent)}.kpi-val.yellow{color:var(--yellow)}
.kpi-label{font-size:0.64rem;color:rgba(255,255,255,0.42);margin-top:0.28rem;font-weight:600;letter-spacing:0.05em;text-transform:uppercase;display:block}
.kpi-sub{font-size:0.6rem;color:rgba(255,255,255,0.25);margin-top:0.06rem;display:block}
/* Cuentas */
.dash-cuentas-row{display:flex;gap:0.55rem;flex-wrap:wrap;margin-bottom:0.85rem}
.cuenta-pill{flex:1;min-width:120px;background:rgba(255,255,255,0.035);border:1px solid rgba(255,255,255,0.07);border-radius:9px;padding:0.55rem 0.8rem;display:flex;justify-content:space-between;align-items:center;gap:0.5rem}
.cuenta-pill-label{font-size:0.68rem;color:rgba(255,255,255,0.4)}
.cuenta-pill-val{font-family:'Playfair Display',serif;font-weight:700;font-size:0.9rem}
/* Main layout */
.dash-main{display:grid;grid-template-columns:1.6fr 1fr;gap:0.75rem;margin-bottom:0.85rem;align-items:start}
.dash-card{background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);border-radius:13px;padding:1.05rem}
.dash-card-title{font-size:0.67rem;font-weight:700;letter-spacing:0.09em;text-transform:uppercase;color:rgba(255,255,255,0.36);margin-bottom:0.8rem}
.dash-right{display:flex;flex-direction:column;gap:0.65rem}
.dash-mini{background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);border-radius:11px;padding:0.85rem}
.dash-mini-title{font-size:0.64rem;font-weight:700;letter-spacing:0.09em;text-transform:uppercase;color:rgba(255,255,255,0.32);margin-bottom:0.6rem}
.dash-mini-stat{display:flex;align-items:baseline;gap:0.5rem;margin-bottom:0.3rem}
.dash-mini-num{font-family:'Playfair Display',serif;font-size:1.45rem;font-weight:700;line-height:1}
.dash-mini-label{font-size:0.74rem;color:rgba(255,255,255,0.43)}
/* Lists */
.dash-list{display:flex;flex-direction:column;gap:0.3rem;max-height:185px;overflow-y:auto}
.dash-list-item{display:flex;justify-content:space-between;align-items:center;padding:0.4rem 0.58rem;background:rgba(255,255,255,0.04);border-radius:7px;font-size:0.77rem}
.dli-name{color:var(--white);font-weight:500;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dli-val{color:var(--accent);font-weight:700;white-space:nowrap;margin-left:0.45rem;font-size:0.78rem;font-family:'Playfair Display',serif}
.dli-badge{font-size:0.61rem;padding:0.09rem 0.4rem;border-radius:50px;margin-left:0.32rem;white-space:nowrap}
.dli-date{color:rgba(255,255,255,0.32);font-size:0.68rem;margin-left:0.32rem}
.dash-empty{color:rgba(255,255,255,0.22);font-size:0.77rem;text-align:center;padding:0.8rem 0}
/* OT stats */
.ot-stat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0.4rem}
.ot-stat{text-align:center;padding:0.5rem 0.35rem;background:rgba(255,255,255,0.04);border-radius:7px}
.ot-stat .ot-num{font-family:'Playfair Display',serif;font-size:1.35rem;font-weight:700}
.ot-stat .ot-lbl{font-size:0.6rem;color:rgba(255,255,255,0.38);text-transform:uppercase;letter-spacing:0.04em;margin-top:0.08rem}
/* Rentabilidad */
.dash-rent{background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);border-radius:13px;padding:1.05rem;margin-bottom:0.85rem}
.rent-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0.9rem}
.rent-col-title{font-size:0.63rem;font-weight:700;letter-spacing:0.09em;text-transform:uppercase;color:rgba(255,255,255,0.33);margin-bottom:0.7rem;padding-bottom:0.42rem;border-bottom:1px solid rgba(255,255,255,0.08)}
.rent-row{display:flex;justify-content:space-between;align-items:center;padding:0.35rem 0;border-bottom:1px solid rgba(255,255,255,0.05);font-size:0.79rem}
.rent-row:last-child{border-bottom:none}
.rent-row.total{padding-top:0.5rem;margin-top:0.22rem;border-top:1px solid rgba(255,255,255,0.11);border-bottom:none;font-weight:700}
.rent-label{color:rgba(255,255,255,0.52)}.rent-val{font-family:'Playfair Display',serif;font-weight:700}
.rent-val.income{color:var(--green)}.rent-val.expense{color:#f87171}.rent-val.neutral{color:rgba(255,255,255,0.32)}
.rent-divider{height:1px;background:rgba(255,255,255,0.07);margin:.28rem 0}
.rent-ot-item{display:grid;grid-template-columns:1fr auto auto auto;gap:.42rem .85rem;align-items:center;padding:.42rem .58rem;border-bottom:1px solid rgba(255,255,255,0.05);font-size:.77rem}
.rent-ot-item:last-child{border-bottom:none}
.rent-ot-name{color:var(--white);font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rent-ot-num{font-size:.63rem;color:rgba(255,255,255,0.33);margin-top:.08rem}
.rent-ot-col{text-align:right;font-size:.77rem;white-space:nowrap}
.rent-ot-header{display:grid;grid-template-columns:1fr auto auto auto;gap:.42rem .85rem;padding:.26rem .58rem;font-size:.63rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:rgba(255,255,255,0.33);border-bottom:1px solid rgba(255,255,255,0.09)}
.imp-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:0.65rem;margin-bottom:0.9rem}
@media(max-width:768px){
  .dash-kpis{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:600px){
  .dash-kpis{grid-template-columns:repeat(2,1fr)}
  .dash-main{grid-template-columns:1fr}
  .rent-grid{grid-template-columns:1fr}
  .ot-stat-grid{grid-template-columns:repeat(2,1fr)}
  .rent-ot-item{grid-template-columns:1fr auto}.rent-ot-item .rent-ot-col:nth-child(3){display:none}.rent-ot-header .rent-ot-col:nth-child(3){display:none}
  .dash-header{flex-direction:column}
}
@media(min-width:600px){.modal{border-radius:22px;margin-bottom:2rem}.modal-overlay{align-items:center}}

/* ── UTILIDADES ── */
.mb-0{margin-bottom:0}
.mb-05{margin-bottom:0.5rem}
.mb-08{margin-bottom:0.8rem}
.mb-1{margin-bottom:1rem}
.mb-12{margin-bottom:1.2rem}
.mt-1{margin-top:1rem}
.op-60{opacity:0.6}
.op-70{opacity:0.7}
.text-hint{font-size:0.82rem;color:rgba(255,255,255,0.5);margin-bottom:1.2rem}
.btn-secondary{background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.2)}
.chart-box{position:relative;height:160px;width:100%}
.chart-box-tall{position:relative;height:180px;width:100%}
.chart-box-sm{position:relative;height:130px}
.totals-col{display:flex;flex-direction:column;align-items:flex-end;gap:0.3rem}
.fw-600{font-size:1rem;font-weight:600}
.fw-700{font-size:1rem;font-weight:700}
.readonly-input{opacity:0.6;background:rgba(255,255,255,0.03)}

.fw-600-lg{font-size:1rem;font-weight:600}
.fw-700-lg{font-size:1rem;font-weight:700}
.mb-05{margin-bottom:0.5rem}
.mb-06{margin-bottom:0.6rem}
.mt-08{margin-top:0.8rem}
.text-muted{color:rgba(255,255,255,0.5)}
.text-red{color:#c0392b}
.text-yellow{color:#f59e0b}
.rel-mb06{position:relative;margin-bottom:0.6rem}
.modal-sm{max-width:400px}
