/* Sistema Cielo de CoolTurismo, adaptado a una herramienta del grupo Parque Serenidad.
   Login azul y navegación contextual; tablas en superficies opacas para legibilidad. */
@font-face{font-family:Inter;src:url('/ruedaps-assets/inter-latin.woff2') format('woff2');font-weight:100 900;font-display:swap}
:root{--ink:#0f1f3d;--muted:#50627e;--accent:#2563c7;--line:#dbe5f1;--surface:#fff;--canvas:#f7fafd;--navy:#1e3a6e;--ease:cubic-bezier(.23,1,.32,1);font-family:Inter,system-ui,sans-serif;color:var(--ink);font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:linear-gradient(180deg,#7cb8f0 0%,#3b82e0 45%,#1e3a6e 100%);background-attachment:fixed;min-height:100dvh}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a{color:inherit}h1,h2,h3,p{margin:0}h1,h2,h3{text-wrap:balance}h1{font-size:2rem;letter-spacing:-.035em;line-height:1.15}h2{font-size:1.2rem;letter-spacing:-.02em}h3{font-size:1rem}p{line-height:1.55}input,select,textarea{min-width:0;width:100%;border:1px solid #bfcee1;border-radius:10px;background:white;color:var(--ink);min-height:48px;padding:12px 14px}textarea{resize:vertical;min-height:84px}input::placeholder,textarea::placeholder{color:#5b6b85}label{display:block;font-size:.86rem;font-weight:600;margin:0 0 8px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #14274e;outline-offset:3px}.sidebar button:focus-visible{outline-color:white}input:focus-visible{outline:3px solid #2563c7;outline-offset:2px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 20px;border:0;border-radius:999px;background:var(--accent);color:white;font-weight:600;font-size:.88rem;white-space:nowrap;transition:transform 140ms var(--ease),background-color 160ms ease}.btn:active{transform:scale(.97)}.btn.secondary{background:#edf3fb;color:#1e3a6e}.btn.danger{color:#a31d25;background:#fff0f0}.btn.small{min-height:44px;padding:8px 14px}.btn.full{width:100%}.text-button{border:0;background:none;color:var(--accent);padding:10px 8px;min-height:44px;font-weight:600}.muted{color:var(--muted)}.money{font-variant-numeric:tabular-nums;white-space:nowrap}.error{color:#991b1b;background:#fff1f1;border-radius:10px;padding:12px 14px;font-size:.9rem}.field{margin-bottom:20px}.help{font-size:.82rem;color:var(--muted);line-height:1.5;margin-top:6px}.stack{display:grid;gap:20px}.brand{display:flex;align-items:center;gap:12px}.brand-mark{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;color:#1e3a6e;background:white;font-weight:800;letter-spacing:-.04em;font-size:1rem}.brand-name{font-weight:700;font-size:1.02rem;letter-spacing:-.025em}.brand-sub{font-size:.73rem;opacity:.85;margin-top:3px}.login{min-height:100dvh;display:grid;place-items:center;padding:36px 20px}.login-layout{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center;width:min(920px,100%)}.login-story{color:white}.login-story .brand{margin-bottom:56px}.login-story h1{font-size:3.5rem;line-height:1.06;letter-spacing:-.04em;max-width:8ch}.login-story>p{max-width:32ch;margin-top:22px;color:#fff;font-size:1rem}.cycle-label{display:inline-flex;gap:16px;align-items:center;font-size:.84rem;margin-top:36px;padding-top:20px;border-top:1px solid rgba(255,255,255,.35)}.login-card{background:white;border-radius:16px;padding:36px;box-shadow:0 8px 32px rgba(20,39,78,.12)}.login-card h2{font-size:1.5rem}.login-card .intro{margin:10px 0 28px}.login-bottom{margin-top:22px;font-size:.8rem;color:var(--muted);line-height:1.6}.password-wrap{position:relative}.password-wrap input{padding-right:82px}.password-wrap .text-button{position:absolute;right:4px;top:2px;font-size:.75rem}.sidebar{position:fixed;inset:0 auto 0 0;width:238px;padding:32px 18px 20px;display:flex;flex-direction:column;color:white;background:rgba(20,39,78,.45);border-right:1px solid rgba(255,255,255,.2);backdrop-filter:blur(20px)}.sidebar .brand{margin:0 10px 36px}.nav{display:grid;gap:5px}.nav button{display:flex;align-items:center;gap:12px;width:100%;padding:13px 16px;min-height:48px;color:#fff;border:0;border-radius:12px;background:transparent;text-align:left;font-weight:500;font-size:.93rem;transition:background-color 150ms ease}.nav button[aria-current="page"]{background:rgba(255,255,255,.2)}.nav-key{width:22px;font-size:.8rem;opacity:.8}.sidebar-foot{margin-top:auto;padding:24px 12px 0}.sidebar-foot p{font-size:.8rem;color:#fff;line-height:1.65}.sidebar-foot strong{display:block;font-weight:600}.workspace{margin-left:238px;min-height:100dvh;padding:28px 32px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;color:white;margin-bottom:26px}.topbar .cycle{font-size:.84rem;color:white}.account{display:flex;align-items:center;gap:10px}.avatar{width:38px;height:38px;display:grid;place-items:center;background:rgba(255,255,255,.2);border-radius:50%;font-weight:600;font-size:.8rem}.account-name{font-size:.85rem}.topbar .text-button{color:white}.main-panel{max-width:1240px;margin:auto;background:var(--canvas);border-radius:16px;min-height:calc(100dvh - 130px);padding:34px 38px 28px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}.page-heading p{font-size:.88rem;color:var(--muted);margin-top:10px}.month-filter{min-width:185px;max-width:220px}.month-filter label{font-size:.75rem;margin-bottom:5px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;padding:22px 0 28px;border-bottom:1px solid var(--line)}.stat p{font-size:.79rem;color:var(--muted)}.stat strong{display:block;font-weight:650;font-size:1.65rem;margin-top:10px;letter-spacing:-.04em}.stat small{display:block;color:var(--muted);font-size:.75rem;margin-top:7px}.overview{display:grid;grid-template-columns:1.15fr 1fr;gap:32px;margin-top:32px}.section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;gap:16px}.spotlight{background:#e9f1ff;padding:26px;border-radius:12px}.spotlight .recipient{font-size:1.9rem;letter-spacing:-.035em;font-weight:650;margin:18px 0 8px}.spotlight .amount{font-size:1.3rem;font-weight:600;margin-bottom:18px}.spotlight .explanation{font-size:.85rem;color:#334e75}.spotlight .actions{margin-top:22px}.personal-list{margin:0}.personal-list div{display:flex;justify-content:space-between;gap:14px;padding:16px 0;border-bottom:1px solid var(--line);font-size:.87rem}.personal-list dt{color:var(--muted)}.personal-list dd{margin:0;font-weight:600;text-align:right}.rules{margin-top:32px;padding-top:24px;border-top:1px solid var(--line);font-size:.85rem;color:var(--muted);max-width:75ch}.rules strong{color:var(--ink)}.table-wrap{overflow:auto;background:white;border-radius:12px;border:1px solid var(--line)}table{border-collapse:collapse;width:100%;font-size:.84rem}caption{text-align:left;padding:18px 20px;font-weight:600}th,td{padding:17px 20px;text-align:left;border-bottom:1px solid var(--line);vertical-align:middle}thead th{background:#f0f5fb;font-size:.75rem;font-weight:600;color:#405473}tbody tr:last-child td,tbody tr:last-child th{border-bottom:0}tbody th{font-weight:550}tfoot th,tfoot td{background:#f7fafd;font-weight:650;border-top:1px solid var(--line);border-bottom:0}.cell-name{display:flex;align-items:center;gap:12px}.cell-name .avatar{background:#edf3fb;color:#385c91;width:34px;height:34px;flex-shrink:0}.cell-name small{display:block;font-size:.73rem;color:var(--muted);margin-top:5px;font-weight:400}.badge{display:inline-flex;align-items:center;min-height:26px;padding:4px 9px;border-radius:999px;font-size:.72rem;font-weight:600;white-space:nowrap;background:#edf2f8;color:#465670}.badge.pagado,.badge.entregado{background:#e8f6ee;color:#17643c}.badge.pendiente{background:#fff1df;color:#82500a}.badge.parcial,.badge.listo{background:#e9f1ff;color:#1e519c}.badge.exento{background:#f0edf8;color:#655384}.table-note{margin-top:15px;font-size:.81rem;color:var(--muted);max-width:75ch}.ledger{margin-top:32px}.ledger h2{margin-bottom:16px}.empty{padding:26px 20px;color:var(--muted);font-size:.86rem;line-height:1.6}.balance{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;background:#eaf2ff;border-radius:12px;margin-bottom:22px}.balance p{font-size:.83rem;color:#335580}.balance strong{font-size:1.1rem;display:block;margin-top:6px}.balance .balance-side{text-align:right}.notice{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:60;max-width:calc(100% - 32px);background:#14274e;color:white;padding:14px 22px;border-radius:12px;box-shadow:0 4px 8px #14274e26;font-size:.87rem}.notice[hidden]{display:none}.boot{min-height:100dvh;display:grid;place-items:center;color:white}dialog{width:min(470px,calc(100% - 32px));max-height:calc(100dvh - 40px);border:0;border-radius:16px;padding:28px;color:var(--ink)}dialog::backdrop{background:rgba(15,31,61,.5)}dialog h2{margin-bottom:10px}dialog .intro{font-size:.86rem;color:var(--muted);margin-bottom:24px}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.skip-link{position:fixed;left:16px;top:-80px;z-index:70;background:white;color:#14274e;padding:12px 18px;border-radius:8px}.skip-link:focus{top:16px}.settings{max-width:580px}.settings h2{margin-bottom:18px}.settings-block+.settings-block{margin-top:32px;border-top:1px solid var(--line);padding-top:28px}.settings .help{margin-bottom:20px}.mobile-brand{display:none}.secret{padding:16px;background:#edf3fb;border-radius:10px;overflow-wrap:anywhere}.secret strong{display:block;font-family:monospace;font-size:1rem;margin:10px 0}.retry{padding:24px}.voided{color:var(--muted)}.voided .money{text-decoration:line-through}
@media(hover:hover) and (pointer:fine){.btn:hover{background:#1e519c}.btn.secondary:hover{background:#dbeafe}.btn.danger:hover{background:#ffe0e0}.nav button:hover{background:rgba(255,255,255,.12)}.text-button:hover{text-decoration:underline}}
@media(max-width:1100px){.sidebar{width:205px}.workspace{margin-left:205px;padding:24px}.main-panel{padding:28px}.overview{gap:24px}th,td{padding:16px}.account-name{display:none}}
@media(max-width:800px){.sidebar{position:relative;width:auto;padding:18px 20px 10px;border-right:0;backdrop-filter:none;background:rgba(20,39,78,.5)}.sidebar .brand{margin:0 0 16px}.sidebar-foot{display:none}.nav{display:flex;gap:4px;overflow:auto}.nav button{white-space:nowrap;padding:10px 12px;min-height:44px;width:auto;flex-shrink:0;font-size:.83rem}.nav-key{display:none}.workspace{margin:0;padding:16px}.topbar{margin-bottom:16px}.main-panel{padding:24px;min-height:calc(100dvh - 225px)}.stats{gap:20px}.stat strong{font-size:1.25rem}.overview{grid-template-columns:1fr;gap:28px}.login-layout{grid-template-columns:1fr;max-width:430px;gap:28px}.login-story .brand{margin-bottom:26px}.login-story h1{font-size:2.5rem;max-width:12ch}.login-story>p,.cycle-label{display:none}.login-card{padding:28px}.page-heading{align-items:flex-start}.table-wrap{margin:0}.account-name{display:block}}
@media(max-width:540px){h1{font-size:1.65rem}.main-panel{padding:22px 16px}.page-heading{flex-direction:column;gap:18px}.month-filter{width:100%;max-width:none}.stats{grid-template-columns:1fr;gap:0;padding:0;border-bottom:0}.stat{display:grid;grid-template-columns:1fr auto;align-items:center;padding:16px 0;border-bottom:1px solid var(--line)}.stat strong{margin:0;font-size:1.18rem}.stat small{grid-column:1/-1;font-size:.73rem}.overview{margin-top:26px}.spotlight{padding:22px}.spotlight .recipient{font-size:1.6rem}.topbar .cycle{font-size:.73rem}.account-name{display:none}.account{gap:5px}.topbar .text-button{font-size:.8rem}.table-wrap table{min-width:590px}.balance{padding:16px}.balance strong{font-size:1rem}dialog{padding:24px}.sidebar{padding:18px 16px 10px}.workspace{padding:12px}.rules{margin-top:26px}.login-story h1{font-size:2.3rem}.login{padding:24px 18px}.login-card{padding:24px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.table-wrap:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.badge.complemento_pendiente{color:#82500a;background:#fff1df}
#operation-content .personal-list{margin:16px 0}
#operation-content h3{font-size:1rem;margin:24px 0 10px}
#operation-content ul{padding-left:20px;line-height:1.7}
#operation-content .help{overflow-wrap:anywhere}
@media(max-width:540px){#member-form .form-actions,#confirm-member-form .form-actions{flex-direction:column-reverse;align-items:stretch}#member-form .form-actions .btn,#confirm-member-form .form-actions .btn{width:100%}}
/* Cielo conserva sus azules; el telón se profundiza para que el texto blanco pase AA. */
body{background-image:linear-gradient(180deg,#396ca1 0%,#2563c7 45%,#1e3a6e 100%)}
@media(max-width:540px){.nav button{padding:10px 8px;font-size:.8rem}.brand-name{font-size:.94rem}}
@media(max-width:350px){.nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}.nav button{justify-content:center}}
@media(prefers-reduced-transparency:reduce){.sidebar{background:#1e3a6e;backdrop-filter:none}}
@media print{body{background:white}.sidebar,.topbar,.btn,.text-button,.month-filter,.notice,dialog,.skip-link{display:none!important}.workspace{margin:0;padding:0}.main-panel{padding:0;min-height:0}.table-wrap{overflow:visible}.table-wrap table{min-width:0}th,td{padding:10px;font-size:10px}.overview{display:block}.stats{display:flex;gap:32px}.stat{display:block}thead{display:table-header-group}tr{break-inside:avoid}.page-heading{margin-bottom:18px}}
