:root{
  --primary:#1769e0;--primary-dark:#0f56bd;--primary-soft:#eaf2ff;
  --success:#16a34a;--danger:#dc2626;--warning:#d97706;--info:#0891b2;
  --bg:#f5f7fb;--surface:#fff;--surface-2:#f8fafc;--text:#162033;--muted:#667085;
  --border:#e4e9f0;--sidebar-w:280px;--sidebar-mini:82px;--radius:16px;
  --shadow:0 6px 22px rgba(15,23,42,.055);--shadow-lg:0 18px 50px rgba(15,23,42,.12)
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,Segoe UI,Roboto,Arial,sans-serif;font-size:15px;line-height:1.5}
a{color:var(--primary);text-decoration:none}a:hover{color:var(--primary-dark)}
button,input,select,textarea{font:inherit}img{max-width:100%}hr{border:0;border-top:1px solid var(--border);margin:20px 0}

/* Bootstrap-compatible utilities used by the existing PHP pages */
.container{width:min(1180px,calc(100% - 32px));margin:0 auto}.row{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px;margin:0}.row>*{padding:0;min-width:0}.g-1{gap:6px}.g-2{gap:10px}.g-3{gap:16px}.g-4{gap:20px}
.col-12{grid-column:span 12}.col-6{grid-column:span 6}.col-md-1{grid-column:span 1}.col-md-2{grid-column:span 2}.col-md-3{grid-column:span 3}.col-md-4{grid-column:span 4}.col-md-5{grid-column:span 5}.col-md-6{grid-column:span 6}.col-md-8{grid-column:span 8}.col-lg-4{grid-column:span 4}.col-lg-5{grid-column:span 5}.col-lg-6{grid-column:span 6}.col-lg-7{grid-column:span 7}.col-lg-10{grid-column:span 10}.col-xl-2{grid-column:span 2}.col-xl-8{grid-column:span 8}
.d-flex{display:flex}.d-grid{display:grid}.d-inline-flex{display:inline-flex}.d-none{display:none}.flex-column{flex-direction:column}.flex-wrap{flex-wrap:wrap}.justify-content-center{justify-content:center}.justify-content-between{justify-content:space-between}.justify-content-end{justify-content:flex-end}.align-items-center{align-items:center}.align-items-start{align-items:flex-start}.align-items-end{align-items:flex-end}.gap-1{gap:6px}.gap-2{gap:10px}.gap-3{gap:16px}.h-100{height:100%}.w-100{width:100%}.text-center{text-align:center}.text-end{text-align:right}.text-muted{color:var(--muted)!important}.text-danger{color:var(--danger)!important}.text-success{color:var(--success)!important}.text-primary{color:var(--primary)!important}.text-warning{color:var(--warning)!important}.text-info{color:var(--info)!important}.text-dark{color:#111827!important}.fw-bold{font-weight:800}.fw-semibold{font-weight:700}.fs-4{font-size:1.5rem}.fs-5{font-size:1.15rem}.lead{font-size:1.08rem;line-height:1.65}.small{font-size:.86rem}.mb-0{margin-bottom:0}.mb-1{margin-bottom:6px}.mb-2{margin-bottom:10px}.mb-3{margin-bottom:16px}.mb-4{margin-bottom:24px}.mt-3{margin-top:16px}.mt-4{margin-top:24px}.ms-2{margin-left:8px}.my-4{margin-block:24px}.m-1{margin:4px}.py-3{padding-block:16px}.py-4{padding-block:24px}.px-4{padding-inline:24px}.p-3{padding:16px}.p-4{padding:24px}.border{border:1px solid var(--border)!important}.border-0{border:0!important}.rounded-4{border-radius:16px!important}.shadow-sm{box-shadow:var(--shadow)!important}.text-decoration-none{text-decoration:none!important}.align-middle{vertical-align:middle}.d-lg-none{display:none}.d-sm-block{display:block}

/* Shell */
.app-shell{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-w);background:#fff;border-right:1px solid var(--border);position:fixed;inset:0 auto 0 0;padding:16px 12px;overflow:auto;z-index:1040;transition:.22s ease;box-shadow:8px 0 30px rgba(15,23,42,.035)}
.sidebar-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 8px 14px;border-bottom:1px solid #eef2f7}.brand{display:flex;align-items:center;min-width:0}.brand-logo{display:block;width:225px;height:auto}.brand-mark{display:none}.brand span{overflow:hidden;text-overflow:ellipsis}.nav{display:flex;flex-direction:column}.nav-link{color:#475569;border-radius:11px;padding:10px 12px;margin:2px 0;display:flex;align-items:center;gap:11px;min-height:44px;font-weight:650;white-space:nowrap;transition:.15s ease}.nav-link:hover{background:#f4f7fb;color:#0f172a}.nav-link.active{background:#edf4ff;color:var(--primary);box-shadow:inset 3px 0 0 var(--primary)}.nav-ico{width:25px;flex:0 0 25px;text-align:center;font-size:18px}.nav-text{overflow:hidden;text-overflow:ellipsis}.sidebar hr{margin:10px 6px}.main{margin-left:var(--sidebar-w);width:calc(100% - var(--sidebar-w));min-width:0}.topbar{min-height:72px;background:rgba(255,255,255,.98);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:8px 28px;position:sticky;top:0;z-index:1000;gap:20px}.topbar-left{display:flex;align-items:center;gap:12px;min-width:0}.topbar-user{display:flex;align-items:center;gap:11px}.user-avatar{width:40px;height:40px;border-radius:12px;background:var(--primary-soft);color:var(--primary);display:grid;place-items:center;font-weight:900}.user-meta{display:flex;flex-direction:column;line-height:1.15}.user-meta strong{font-size:14px}.user-meta small{color:var(--muted);margin-top:4px}.system-label{color:#475569;font-size:13px;font-weight:650}.content{padding:28px;max-width:1600px;margin:auto}.menu-toggle{width:42px;height:42px;padding:0;border-radius:11px!important;display:grid;place-items:center}.sidebar-collapsed .sidebar{width:var(--sidebar-mini);padding-inline:10px}.sidebar-collapsed .brand-logo,.sidebar-collapsed .nav-text{display:none}.sidebar-collapsed .brand{justify-content:center}.sidebar-collapsed .brand-mark{display:grid}.sidebar-collapsed .nav-link{justify-content:center;padding-inline:8px}.sidebar-collapsed .main{margin-left:var(--sidebar-mini);width:calc(100% - var(--sidebar-mini))}.sidebar-backdrop{display:none;position:fixed;inset:0;background:rgba(15,23,42,.45);z-index:1030}

/* Offline icons: no CDN/font dependency */
.bi{display:inline-grid;place-items:center;font-style:normal;font-size:1em;line-height:1}.bi::before{font-family:"Segoe UI Emoji","Apple Color Emoji","Noto Color Emoji",sans-serif}.bi-buildings-fill::before,.bi-buildings::before{content:"🏢"}.bi-bar-chart-fill::before{content:"📊"}.bi-people-fill::before{content:"👥"}.bi-file-earmark-text-fill::before{content:"📄"}.bi-cash-coin::before{content:"💰"}.bi-percent::before{content:"%"}.bi-check-circle-fill::before{content:"✅"}.bi-receipt::before{content:"🧾"}.bi-rocket-takeoff-fill::before{content:"🚀"}.bi-toggle-on::before{content:"🔘"}.bi-person-circle::before{content:"👤"}.bi-bank::before{content:"🏦"}.bi-calendar3::before{content:"📅"}.bi-paperclip::before{content:"📎"}.bi-gear-fill::before{content:"⚙️"}.bi-box-arrow-up-right::before{content:"↗️"}.bi-box-arrow-right::before{content:"🚪"}.bi-box-arrow-in-right::before{content:"➡️"}.bi-house-door-fill::before{content:"🏠"}.bi-person-plus-fill::before{content:"➕"}.bi-list::before{content:"☰"}.bi-x-lg::before{content:"×"}.bi-check-lg::before{content:"✓"}.bi-plus-lg::before{content:"+"}.bi-pencil-fill::before{content:"✏️"}.bi-trash-fill::before{content:"🗑️"}.bi-search::before{content:"🔎"}.bi-download::before{content:"⬇️"}.bi-eye-fill::before{content:"👁️"}

/* Global UI */
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.card.p-4{padding:24px}.stat-card{padding:20px;min-height:128px;position:relative}.stat-card::after{content:"";position:absolute;right:18px;top:18px;width:8px;height:8px;border-radius:50%;background:var(--primary)}.stat-value{font-size:27px;font-weight:900;letter-spacing:-.5px;margin-top:7px;overflow-wrap:anywhere}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:10px;padding:10px 14px;min-height:42px;font-weight:750;cursor:pointer;transition:.15s ease;text-decoration:none;white-space:nowrap}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--primary);color:#fff!important;border-color:var(--primary)}.btn-primary:hover{background:var(--primary-dark);border-color:var(--primary-dark)}.btn-success{background:var(--success);color:#fff!important}.btn-danger{background:var(--danger);color:#fff!important}.btn-warning{background:#f59e0b;color:#111!important}.btn-light{background:#fff;color:#334155;border-color:var(--border)}.btn-outline-primary{background:#fff;color:var(--primary)!important;border-color:#bfd6ff}.btn-outline-primary:hover{background:var(--primary-soft)}.btn-outline-danger{background:#fff;color:var(--danger)!important;border-color:#fecaca}.btn-outline-success{background:#fff;color:var(--success)!important;border-color:#bbf7d0}.btn-outline-secondary,.btn-outline-dark{background:#fff;color:#475569!important;border-color:var(--border)}.btn-sm{min-height:34px;padding:7px 10px;font-size:13px;border-radius:9px}.btn-lg{min-height:50px;padding:13px 18px;font-size:16px}
.form-label{display:block;font-weight:700;margin:0 0 7px;color:#344054}.form-control,.form-select{display:block;width:100%;border:1px solid #cfd7e3;background:#fff;color:#172033;border-radius:10px;padding:10px 12px;min-height:44px;outline:0;transition:.15s}.form-control:focus,.form-select:focus{border-color:#7eaeff;box-shadow:0 0 0 4px rgba(23,105,224,.10)}.form-control-sm{min-height:36px;padding:7px 10px;font-size:13px}.input-group{display:flex}.input-group>*{border-radius:0}.input-group>*:first-child{border-radius:10px 0 0 10px}.input-group>*:last-child{border-radius:0 10px 10px 0}.input-group-text{display:flex;align-items:center;padding:0 13px;background:#f8fafc;border:1px solid #cfd7e3;color:#667085}
.table-responsive{overflow:auto}.table{width:100%;border-collapse:separate;border-spacing:0;vertical-align:middle;background:#fff}.table th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#667085;background:#f8fafc;text-align:left;padding:12px;border-bottom:1px solid var(--border);white-space:nowrap}.table td{padding:13px 12px;border-bottom:1px solid #edf1f5;vertical-align:middle}.table tbody tr:hover{background:#fbfdff}.badge{display:inline-flex;align-items:center;gap:4px;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800}.bg-primary{background:#dbeafe!important;color:#1d4ed8}.bg-success{background:#dcfce7!important;color:#15803d}.bg-warning{background:#fef3c7!important;color:#92400e}.bg-danger{background:#fee2e2!important;color:#b91c1b}.bg-secondary{background:#e2e8f0!important;color:#475569}.bg-info{background:#cffafe!important;color:#0e7490}.bg-light{background:#f8fafc!important;color:#334155}.alert{border:1px solid;border-radius:12px;padding:13px 16px;margin-bottom:18px}.alert-info{background:#eff6ff;border-color:#bfdbfe;color:#1e40af}.alert-danger{background:#fef2f2;border-color:#fecaca;color:#991b1b}.alert-warning{background:#fffbeb;border-color:#fde68a;color:#92400e}.alert-secondary{background:#f8fafc;border-color:#e2e8f0;color:#475569}.d-grid.gap-2{gap:10px}.d-grid.gap-3{gap:16px}

/* Consistent page headings */
.content>h2:first-child,.content>h1:first-child{font-size:28px;line-height:1.15;margin:0 0 18px;font-weight:900;letter-spacing:-.4px}.content>.d-flex:first-child{margin-bottom:20px}.content>.d-flex:first-child h2,.content>.d-flex:first-child h3{margin:0;font-size:28px;line-height:1.15}.content>.d-flex:first-child p{margin:5px 0 0;color:var(--muted)}

/* Dashboard */
.dashboard-header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:22px}.page-title{font-size:30px;line-height:1.1;margin:0 0 5px;font-weight:900;letter-spacing:-.7px}.page-subtitle{color:var(--muted);margin:0}.dashboard-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}.dashboard-panels{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:16px;margin-top:16px}.dashboard-bottom{display:grid;grid-template-columns:minmax(360px,.85fr) minmax(0,1.45fr);gap:16px;margin-top:16px}.panel-title{font-size:17px;font-weight:850;margin:0 0 15px}.quick-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.quick-actions .btn{width:100%}.mini-chart{height:260px;display:flex;align-items:flex-end;gap:20px;padding:20px 8px 8px;border-bottom:1px solid var(--border);background:linear-gradient(180deg,#fff,#fbfdff)}.bar-wrap{height:100%;flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:8px}.bar{width:min(70px,65%);min-height:6px;background:linear-gradient(180deg,#66a5ff,#1769e0);border-radius:10px 10px 2px 2px}.bar-label{font-size:12px;color:var(--muted);font-weight:700}.bar-value{font-size:11px;color:#334155;font-weight:800;white-space:nowrap}.emoji-icon{display:inline-block;font-size:1.05em;vertical-align:-1px}
.dashboard-bottom form .btn{margin-top:2px}.dashboard-bottom .table-responsive{border:1px solid var(--border);border-radius:12px}.dashboard-bottom .table{margin:0}.dashboard-bottom .card{min-width:0}

/* Home/login */
.home-hero{min-height:100vh;display:flex;align-items:center;padding:40px 0;background:radial-gradient(circle at 10% 0%,rgba(23,105,224,.12),transparent 30%),linear-gradient(135deg,#f8fbff,#eef4ff)}.home-card{border:1px solid rgba(255,255,255,.7);border-radius:28px;padding:42px;box-shadow:var(--shadow-lg);background:rgba(255,255,255,.96)}.home-logo{width:min(420px,80vw);height:auto;display:block;margin:0 auto 16px}.home-feature{border:1px solid var(--border);border-radius:16px;padding:18px;text-align:center;background:#fff;height:100%;box-shadow:0 5px 15px rgba(15,23,42,.035)}.home-feature .feature-icon{font-size:30px;display:block;margin-bottom:6px}.btn-option{display:flex;align-items:center;justify-content:center;gap:10px}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:25px;background:radial-gradient(circle at top,#eff6ff,#f8fafc 55%,#eef2f7)}.login-card{max-width:440px;width:100%;padding:30px}.login-card h3{margin:0 0 6px}

/* People/plans/contracts/portal */
.people-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:18px}.person-card{background:#fff;border:1px solid var(--border);border-radius:20px;padding:24px;box-shadow:var(--shadow)}.person-name{font-size:22px;font-weight:900;color:#0f172a;margin:0 0 16px}.person-data{font-size:15px;line-height:1.5;color:#64748b;margin:9px 0;word-break:break-word}.person-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px}.btn-person{font-size:14px;font-weight:800;border-radius:11px;padding:10px 15px;min-width:120px}.plans-page{max-width:1100px;margin:0 auto;padding-bottom:38px}.plans-hero h2{font-weight:900;font-size:30px;line-height:1.05;color:#111;margin:4px 0 10px}.billing-toggle{background:#f1f5f9;border:1px solid var(--border);border-radius:12px;padding:5px;display:grid;grid-template-columns:1fr 1fr;gap:5px;max-width:680px;margin:0 auto 28px}.billing-toggle button{border:0;border-radius:9px;background:transparent;padding:11px 14px;font-weight:750;color:#334155}.billing-toggle button.active{background:#1769e0;color:#fff}.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;align-items:stretch}.price-card{background:#fff;border:1px solid var(--border);border-radius:18px;padding:26px 24px;box-shadow:var(--shadow)}.price-card.featured{border:2px solid #1769e0;box-shadow:0 14px 35px rgba(23,105,224,.12)}.plan-tag{display:inline-block;background:#eff6ff;color:#2354ef;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:800;margin-bottom:12px}.price-card h3{font-size:22px;font-weight:900;margin:0 0 20px;color:#111}.price-now{font-size:40px;line-height:1;font-weight:950;color:#111;margin-top:4px}.price-card ul{padding-left:20px;margin-bottom:24px}.price-card li{margin:9px 0;color:#334155;font-size:14px}.contract-page{background:#f5f7fb;padding:30px}.contract-paper{background:#fff;max-width:900px;margin:auto;padding:52px;border-radius:8px;box-shadow:var(--shadow);line-height:1.65}.contract-paper h1{text-align:center;font-size:22px;font-weight:800;margin-bottom:30px}.contract-paper h2{font-size:16px;font-weight:800;margin-top:22px}.print-actions{max-width:900px;margin:0 auto 20px;display:flex;gap:10px;justify-content:flex-end}.portal-hero{background:#fff;border-bottom:1px solid var(--border)}.whatsapp-float{position:fixed;right:28px;bottom:28px;width:58px;height:58px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#25d366;color:#fff!important;font-size:28px;text-decoration:none;box-shadow:0 8px 22px rgba(0,0,0,.22);z-index:1100}.manual-icl{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:14px;padding:16px}

/* Modal/collapse */
.modal{display:none;position:fixed;inset:0;z-index:2000;background:rgba(15,23,42,.55);padding:20px;overflow:auto}.modal.show{display:flex;align-items:center;justify-content:center}.modal-dialog{width:min(600px,100%);margin:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:100%}.modal-lg{width:min(900px,100%)}.modal-content{background:#fff;border-radius:18px;box-shadow:var(--shadow-lg);overflow:hidden}.modal-header,.modal-footer{padding:16px 20px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.modal-footer{border-top:1px solid var(--border);border-bottom:0;justify-content:flex-end;gap:8px}.modal-body{padding:20px}.modal-title{margin:0;font-weight:850}.btn-close{border:0;background:transparent;font-size:26px;line-height:1;cursor:pointer;color:#64748b}.collapse{display:none}.collapse.show{display:block}

@media(max-width:1199px){.dashboard-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.col-xl-2{grid-column:span 3}.col-xl-8{grid-column:span 12}}
@media(max-width:991px){.sidebar{transform:translateX(-105%);width:285px;box-shadow:0 18px 50px rgba(15,23,42,.18)}.sidebar.mobile-open{transform:translateX(0)}.sidebar-backdrop.show{display:block}.app-shell{display:block}.main,.sidebar-collapsed .main{margin-left:0;width:100%}.sidebar-collapsed .sidebar{width:285px}.sidebar-collapsed .brand-logo,.sidebar-collapsed .nav-text{display:block}.sidebar-collapsed .nav-link{justify-content:flex-start;padding:10px 12px}.topbar{min-height:66px;padding:11px 14px}.content{padding:20px}.dashboard-panels,.dashboard-bottom{grid-template-columns:1fr}.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-10{grid-column:span 12}.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-8{grid-column:span 6}.d-lg-none{display:inline-flex}.system-label{display:none}}
@media(max-width:700px){.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-header{align-items:flex-start;flex-direction:column}.page-title{font-size:25px}.content{padding:16px}.home-card{padding:25px 18px}.pricing-grid{grid-template-columns:1fr}.billing-toggle{grid-template-columns:1fr}.contract-paper{padding:24px}.print-actions{justify-content:center;flex-wrap:wrap}.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-8,.col-6{grid-column:span 12}.login-card{padding:24px}.topbar-user .user-meta small{display:none}.quick-actions{grid-template-columns:1fr}.table{min-width:680px}.brand-logo{width:210px}}
@media(max-width:420px){.dashboard-grid{grid-template-columns:1fr}.stat-card{min-height:105px}.stat-value{font-size:24px}.user-avatar{display:none}.topbar{padding-inline:10px}.content{padding:12px}}
@media print{body{background:#fff!important}.print-actions,.sidebar,.topbar,.sidebar-backdrop{display:none!important}.main{margin-left:0!important;width:100%!important}.contract-page{padding:0;background:#fff}.contract-paper{box-shadow:none;max-width:none;padding:0;border-radius:0}.no-print{display:none!important}}

/* Cobros y cuotas - interfaz específica */
.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:22px}.quota-head-actions{display:flex;gap:9px;flex-wrap:wrap}.quota-selector{display:grid;grid-template-columns:minmax(250px,1fr) minmax(320px,1.5fr);align-items:center;gap:22px;padding:20px 22px;margin-bottom:16px}.section-kicker{font-size:11px;font-weight:900;letter-spacing:.08em;color:#64748b;margin-bottom:4px}.quota-selector-title h2{font-size:18px;margin:0;font-weight:850}.quota-selector-form{min-width:0}.quota-contract{padding:22px;display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px}.quota-contract-main{display:flex;align-items:center;gap:15px;min-width:0}.quota-contract-icon{width:52px;height:52px;flex:0 0 52px;border-radius:15px;background:#edf4ff;display:grid;place-items:center;font-size:25px}.quota-contract h2{margin:0;font-size:22px;font-weight:900}.quota-contract p{margin:4px 0 0;color:var(--muted);white-space:normal}.quota-contract-meta{display:flex;gap:24px;flex-wrap:wrap}.quota-contract-meta div{display:flex;flex-direction:column;gap:2px;min-width:105px}.quota-contract-meta span{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:800}.quota-contract-meta strong{font-size:14px}.quota-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}.quota-stat{padding:18px 20px;min-height:125px;display:flex;flex-direction:column;justify-content:center}.quota-stat span{font-size:13px;font-weight:750;color:#64748b}.quota-stat strong{font-size:26px;line-height:1.15;margin:6px 0 4px;font-weight:950}.quota-stat small{color:#94a3b8}.quota-stat-success{border-top:4px solid var(--success)}.quota-stat-success strong{color:var(--success)}.quota-stat-warning{border-top:4px solid var(--warning)}.quota-stat-warning strong{color:var(--warning)}.quota-stat-primary{border-top:4px solid var(--primary)}.quota-stat-primary strong{color:var(--primary)}.quota-stat-info{border-top:4px solid var(--info)}.quota-stat-info strong{color:var(--info)}.quota-table-card{padding:0}.quota-table-head{padding:20px 22px;display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid var(--border)}.quota-table-head h2{margin:0;font-size:20px;font-weight:900}.quota-table-head p{margin:4px 0 0;color:var(--muted);font-size:13px}.quota-table-wrap{padding:0}.quota-table{min-width:780px}.quota-table th{padding:13px 16px}.quota-table td{padding:14px 16px}.quota-row-paid{background:#fbfffc}.quota-id{display:block;color:#94a3b8;font-size:11px;margin-top:3px}.quota-edit-form{display:contents}.quota-table .form-control,.quota-table .form-select{min-width:145px}.quota-table .form-control-sm{min-height:38px}.quota-table .form-select-sm{min-height:38px;padding:7px 32px 7px 10px}.quota-status-paid{border-color:#86efac;background:#f0fdf4;color:#166534}.quota-status-reported{border-color:#fcd34d;background:#fffbeb;color:#92400e}.quota-status-pending{border-color:#fecaca;background:#fef2f2;color:#991b1b}.amount-input{position:relative;min-width:145px}.amount-input>span{position:absolute;left:11px;top:50%;transform:translateY(-50%);font-weight:800;color:#64748b;z-index:1}.amount-input input{padding-left:27px}.empty-state{padding:48px 25px;text-align:center;margin-top:8px}.empty-state.compact{padding:35px 20px}.empty-state-icon{font-size:44px;margin-bottom:8px}.empty-state h2,.empty-state h3{margin:0 0 8px;font-weight:900}.empty-state p{max-width:620px;margin:0 auto 20px;color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:900px){.quota-selector{grid-template-columns:1fr}.quota-contract{align-items:flex-start;flex-direction:column}.quota-contract-meta{width:100%;padding-top:4px}.quota-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.page-head{align-items:flex-start;flex-direction:column}}
@media(max-width:560px){.quota-stats{grid-template-columns:1fr}.quota-head-actions{width:100%}.quota-head-actions .btn{flex:1}.quota-contract{padding:18px}.quota-contract-main{align-items:flex-start}.quota-contract h2{font-size:19px}.quota-contract-meta{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.quota-table-head{align-items:flex-start;flex-direction:column}.empty-state{padding:35px 16px}}

/* ===== Centro de notificaciones FLORMAT ===== */
.topbar-right{display:flex;align-items:center;gap:18px;position:relative}
.notification-wrap{position:relative}
.notification-btn{position:relative;width:46px;height:46px;border:1px solid #dbe3ef;border-radius:14px;background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 14px rgba(15,23,42,.06);transition:.18s ease}
.notification-btn:hover{transform:translateY(-1px);box-shadow:0 7px 18px rgba(15,23,42,.10)}
.notification-bell{font-size:21px;line-height:1}
.notification-count{position:absolute;top:-5px;right:-5px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#dc2626;color:#fff;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;border:2px solid #fff}
.notification-count.d-none{display:none}
.notification-panel{position:absolute;right:0;top:56px;width:390px;max-width:calc(100vw - 30px);background:#fff;border:1px solid #e5e7eb;border-radius:18px;box-shadow:0 20px 45px rgba(15,23,42,.16);z-index:1000;overflow:hidden}
.notification-panel-head{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;border-bottom:1px solid #edf1f5}
.notification-panel-head strong{display:block;font-size:16px}.notification-panel-head small{display:block;color:#64748b;margin-top:3px}
.notification-mark-all{border:0;background:none;color:#2563eb;font-weight:700;font-size:12px;cursor:pointer}
.notification-list{max-height:420px;overflow:auto}
.notification-item{display:flex;gap:12px;padding:14px 16px;text-decoration:none;color:inherit;border-bottom:1px solid #f0f2f5;transition:.15s ease}
.notification-item:hover{background:#f8fafc}.notification-item.unread{background:#eff6ff}
.notification-icon{width:38px;height:38px;min-width:38px;border-radius:12px;background:#eef2ff;display:flex;align-items:center;justify-content:center;font-size:18px}
.notification-icon.payment{background:#dcfce7}.notification-body{min-width:0}.notification-body strong{display:block;font-size:13px;color:#0f172a}.notification-body small{display:block;color:#475569;line-height:1.4;margin-top:3px}.notification-body time{display:block;color:#94a3b8;font-size:11px;margin-top:5px}
.notification-empty{padding:28px;text-align:center;color:#64748b}
.notification-see-all{display:block;text-align:center;padding:13px;color:#2563eb;font-weight:700;text-decoration:none;background:#fafcff}
.nav-notification-badge{display:inline-flex;align-items:center;justify-content:center;min-width:19px;height:19px;padding:0 5px;margin-left:4px;border-radius:999px;background:#dc2626;color:#fff;font-size:10px;font-weight:800}
.notifications-page-card{padding:0;overflow:hidden}.notification-page-item{display:flex;align-items:center;gap:15px;padding:18px;border-bottom:1px solid #edf1f5}.notification-page-item.unread{background:#eff6ff}.notification-page-body{flex:1;min-width:0}.notification-page-body strong{font-size:15px}.notification-page-body p{margin:4px 0;color:#475569}.notification-page-body time{font-size:12px;color:#94a3b8}.notification-page-actions{display:flex;gap:7px;flex-wrap:wrap}
@media(max-width:700px){.system-label{display:none}.topbar-right{margin-left:auto}.notification-panel{position:fixed;right:15px;top:72px}.notification-page-item{align-items:flex-start;flex-wrap:wrap}.notification-page-actions{width:100%;padding-left:53px}}

.portal-bank-data{background:var(--surface,#fff);border:1px solid var(--border,#e5e7eb);border-radius:12px;padding:10px 12px;height:100%;}
.portal-bank-data strong{word-break:break-all;}
.copy-bank{white-space:nowrap;}

/* FLORMAT PROPIEDADES - configuración */
.settings-grid{align-items:stretch}.settings-grid>.col-lg-6{min-width:0}.settings-grid .card{width:100%;box-sizing:border-box}.settings-grid .form-control{width:100%;box-sizing:border-box}
