:root{font-family:system-ui,-apple-system,Segoe UI,sans-serif;color-scheme:dark;--bg:#101215;--text:#f7f7f6;--muted:#9b9fa6;--surface:#181b20;--stroke:#2b2e34;--red:#df2635;--red-deep:#a61120;--menu:#16191e;--heading:system-ui,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);min-width:320px;min-height:100vh;transition:background .3s,color .3s}
body:before{content:"";position:fixed;pointer-events:none;z-index:-1;inset:0;background:radial-gradient(ellipse 760px 410px at 60% -15%,rgba(183,28,44,.095),transparent 72%)}
button,a{-webkit-tap-highlight-color:transparent}
button{font:inherit;cursor:pointer}
button:focus-visible,a:focus-visible{outline:3px solid #e85664;outline-offset:4px}
svg{display:block;width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.app-shell{min-height:100vh;display:flex;flex-direction:column}
.topbar{height:106px;border-bottom:1px solid rgba(255,255,255,.065);background:rgba(17,19,22,.8)}
.topbar-inner{max-width:1450px;padding:0 55px;margin:auto;height:100%;display:flex;align-items:center;gap:24px}
.icon-button{border:1px solid var(--stroke);border-radius:14px;color:var(--text);display:grid;place-items:center;width:48px;height:48px;background:var(--surface);transition:background .18s,transform .18s,border-color .18s}
.icon-button:hover{background:#252830;border-color:#42464f}
.menu-trigger{flex-shrink:0}
.menu-trigger svg{width:22px;height:22px}
.brand{display:flex;align-items:center;gap:15px;color:inherit;text-decoration:none;min-width:0}
.brand-mark{width:74px;height:74px;border-radius:14px;background:#fff;display:grid;place-items:center;padding:5px;flex-shrink:0;overflow:hidden}
.brand-mark img{width:100%;height:100%;object-fit:contain}
.brand-copy{display:flex;flex-direction:column;gap:0;line-height:1.05}
.brand-kicker,.brand-place{text-transform:uppercase;letter-spacing:.21em;color:var(--muted);font-size:9px;font-weight:800}
.brand-copy strong{font-family:var(--heading);font-size:26px;letter-spacing:-.025em;font-weight:800;line-height:1.22;white-space:nowrap}
.brand-place{letter-spacing:.24em;font-size:9px;color:var(--red)}
.topbar-right{margin-left:auto;display:flex;align-items:center;gap:18px}
.member-label{font-size:12px;font-weight:600;color:#c9cbd0;display:flex;align-items:center;gap:10px;white-space:nowrap}
.online-indicator{width:7px;height:7px;background:var(--red);border-radius:50%;box-shadow:0 0 0 4px rgba(223,38,53,.13)}
.member-avatar{display:grid;place-items:center;width:43px;height:43px;border:1px solid #4c3338;border-radius:100%;background:linear-gradient(145deg,#4b1b23,#271a20);color:#fff;font-family:var(--heading);font-size:16px;font-weight:700}
.main-content{width:100%;max-width:1340px;margin:0 auto;padding:51px 55px 30px;flex:1}
.heading-row{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:28px}
.eyebrow{display:flex;align-items:center;gap:12px;font-size:10px;letter-spacing:.2em;font-weight:800;color:var(--red);margin:0 0 13px}
.eyebrow-line{width:22px;height:2px;background:var(--red)}
h1,h2,p{margin-top:0}
h1{font:700 clamp(30px,3.2vw,44px)/1.08 var(--heading);letter-spacing:-.035em;margin-bottom:9px}
.heading-dot{color:var(--red)}
.heading-row p{font-size:14px;line-height:1.5;color:var(--muted);margin:0}
.date-today{font-size:12px;color:var(--muted);padding-bottom:4px;white-space:nowrap}
.carousel{position:relative;border-radius:21px;overflow:hidden;min-height:500px;height:min(58vw,605px);max-height:605px;background:#25282d;box-shadow:0 26px 55px rgba(0,0,0,.16);isolation:isolate}
.carousel-track{position:absolute;inset:0}
.event-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .8s ease,visibility .8s ease;color:#fff}
.event-slide.active{opacity:1;visibility:visible;z-index:1}
.event-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 53%;transform:scale(1.015);transition:transform 9s ease;filter:saturate(.89) contrast(1.06)}
.event-slide.active .event-image{transform:scale(1.06)}
.event-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,11,14,.86) 0%,rgba(10,12,15,.56) 41%,rgba(10,12,15,.10) 77%),linear-gradient(0deg,rgba(7,8,11,.87),transparent 49%)}
.event-content{position:absolute;left:clamp(28px,6vw,80px);bottom:86px;max-width:min(630px,75%);z-index:2}
.event-tag{display:inline-flex;align-items:center;gap:8px;background:rgba(222,38,53,.17);border:1px solid rgba(255,137,146,.33);color:#fff;text-transform:uppercase;font-weight:800;font-size:10px;letter-spacing:.14em;padding:10px 13px;border-radius:7px;margin-bottom:23px;backdrop-filter:blur(8px)}
.tag-dot,.tiny-red-dot{display:inline-block;background:#ef3344;border-radius:50%;width:6px;height:6px;flex-shrink:0}
.event-date{display:flex;align-items:center;gap:11px;color:#d6d7da;letter-spacing:.15em;font-size:11px;font-weight:800;margin-bottom:8px}
.event-date span{width:4px;height:4px;background:#e64351;border-radius:50%}
.event-content h2{font:700 clamp(40px,5.2vw,70px)/1 var(--heading);letter-spacing:-.045em;margin:0 0 14px;text-wrap:balance}
.event-content p{font-size:16px;color:#e2e3e7;max-width:510px;line-height:1.5;margin-bottom:34px}
.event-bottom{display:flex;align-items:center;gap:30px;flex-wrap:wrap}
.event-location{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:#dcdde1}
.event-location svg{width:18px;height:18px;color:#ef6069}
.event-open{display:inline-flex;align-items:center;gap:14px;border:none;border-radius:8px;padding:13px 18px;background:#df2635;color:#fff;font-size:13px;font-weight:800;transition:background .2s,transform .2s}
.event-open:hover{background:#f13a49;transform:translateY(-2px)}
.event-open svg{width:17px;height:17px}
.carousel-arrow{position:absolute;z-index:3;top:50%;transform:translateY(-50%);width:45px;height:45px;display:grid;place-items:center;border-radius:50%;border:1px solid rgba(255,255,255,.30);background:rgba(11,13,16,.38);color:#fff;backdrop-filter:blur(9px);transition:background .2s}
.carousel-arrow:hover{background:rgba(223,38,53,.88)}
.carousel-prev{left:20px}.carousel-next{right:20px}
.carousel-arrow svg{width:20px;height:20px}
.carousel-footer{position:absolute;z-index:3;left:clamp(28px,6vw,80px);right:32px;bottom:27px;display:flex;justify-content:space-between;align-items:center}
.carousel-dots{display:flex;gap:7px;align-items:center}
.dot{padding:0;border:none;background:rgba(255,255,255,.45);height:5px;width:24px;border-radius:5px;transition:width .25s,background .25s}
.dot.active{background:#ef3444;width:44px}
.slide-counter{font-size:11px;font-weight:700;letter-spacing:.18em;color:rgba(255,255,255,.65)}
.slide-counter strong{color:#fff}
.below-carousel{display:flex;align-items:center;gap:14px;padding:25px 4px 8px}
.below-accent{width:2px;height:24px;background:var(--red)}
.below-carousel p{font-size:12px;color:var(--muted);margin:0}
.below-carousel strong{font-weight:700;color:var(--text)}
.app-footer{max-width:1340px;width:100%;padding:17px 55px 27px;display:flex;justify-content:space-between;gap:20px;margin:auto;color:#747982;font-size:10px}
.menu-scrim{position:fixed;inset:0;background:rgba(0,0,0,.55);backdrop-filter:blur(4px);z-index:11;opacity:0;transition:opacity .2s}
.menu-scrim.visible{opacity:1}
.side-menu{position:fixed;z-index:12;left:0;top:0;bottom:0;width:min(355px,91vw);background:var(--menu);border-right:1px solid var(--stroke);box-shadow:25px 0 80px rgba(0,0,0,.3);display:flex;flex-direction:column;transform:translateX(-102%);transition:transform .25s ease}
.side-menu.open{transform:translateX(0)}
.menu-head{display:flex;align-items:center;justify-content:space-between;padding:28px 24px 25px;border-bottom:1px solid var(--stroke)}
.menu-head-label{display:flex;flex-direction:column;gap:6px}
.menu-head-label small{font-size:9px;letter-spacing:.2em;color:var(--red);font-weight:800}
.menu-head-label strong{font-family:var(--heading);font-size:24px;letter-spacing:-.025em}
.close-menu{width:39px;height:39px;border-radius:11px}
.close-menu svg{width:17px;height:17px}
.menu-scroll{overflow-y:auto;flex:1;padding:18px 15px 25px;scrollbar-width:thin}
.nav-caption{font-size:10px;letter-spacing:.15em;color:#7f848d;font-weight:800;padding:8px 14px 10px}
.nav-group-caption{padding-top:29px}
.nav-item{width:100%;display:flex;align-items:center;gap:14px;border:0;background:none;color:#c3c5c9;padding:12px 13px;border-radius:10px;text-align:left;font-size:14px;font-weight:600;transition:background .16s,color .16s}
.nav-item:hover,.nav-item[aria-expanded=true]{background:rgba(255,255,255,.055);color:#fff}
.nav-item.selected{background:rgba(223,38,53,.12);color:#fff;border-left:3px solid var(--red);padding-left:10px}
.nav-icon{width:21px;font-size:21px;color:#999da5;display:inline-flex;align-items:center;justify-content:center;font-family:system-ui}
.nav-item.selected .nav-icon{color:#e34d5b}
.nav-chevron{margin-left:auto;transition:transform .2s;color:#80858d;font-size:20px;line-height:1}
.nav-expand[aria-expanded=true] .nav-chevron{transform:rotate(180deg)}
.nav-subitems{display:grid;grid-template-rows:0fr;transition:grid-template-rows .25s ease;overflow:hidden;padding-left:48px}
.nav-group.expanded .nav-subitems{grid-template-rows:1fr}
.nav-subitems:before{content:"";display:none}
.nav-subitems button{display:block;width:100%;text-align:left;color:#a4a8b0;background:none;border:none;padding:10px 8px;font-size:13px;min-height:35px}
.nav-subitems button:hover{color:#fff}
.nav-group:not(.expanded) .nav-subitems button{display:none}
.menu-foot{padding:19px 22px;border-top:1px solid var(--stroke);color:#9b9fa6;font-size:11px;display:flex;align-items:center;gap:11px}
.event-dialog{background:var(--surface);color:var(--text);border:1px solid var(--stroke);padding:40px;border-radius:22px;width:min(520px,calc(100% - 35px));box-shadow:0 30px 100px rgba(0,0,0,.35)}
.event-dialog::backdrop{background:rgba(0,0,0,.68);backdrop-filter:blur(5px)}
.dialog-close{float:right;width:38px;height:38px;margin:-15px -13px 15px 15px}
.dialog-eyebrow{font-weight:800;letter-spacing:.16em;font-size:10px;color:var(--red);margin-bottom:16px}
.event-dialog h2{font:700 35px/1.1 var(--heading);letter-spacing:-.025em;margin-bottom:13px}
.event-dialog p{color:var(--muted);line-height:1.55;font-size:14px}
.dialog-meta{display:grid;gap:9px;font-size:13px;font-weight:700;margin:22px 0;color:var(--text)}
.dialog-notice{padding:14px 15px;border-radius:10px;border:1px solid var(--stroke);background:rgba(124,130,142,.08);color:var(--muted);font-size:12px;line-height:1.5}
.toast{position:fixed;z-index:20;bottom:26px;left:50%;transform:translate(-50%,30px);opacity:0;pointer-events:none;max-width:min(90%,430px);text-align:center;padding:14px 20px;border:1px solid var(--stroke);background:var(--surface);color:var(--text);border-radius:12px;box-shadow:0 15px 60px rgba(0,0,0,.3);font-size:13px;font-weight:600;transition:opacity .25s,transform .25s}
.toast.show{opacity:1;transform:translate(-50%,0)}
body[data-theme=light]{color-scheme:light;--bg:#f6f6f5;--text:#17191d;--muted:#666b73;--surface:#fff;--stroke:#e0e1e3;--menu:#fff}
body[data-theme=light] .topbar{background:#fff;border-bottom:1px solid #e4e5e7}
body[data-theme=light] .member-label{color:#63666e}
body[data-theme=light] .icon-button:hover{background:#f3f3f4;border-color:#c8ccd0}
body[data-theme=light] .brand-mark{border:1px solid #eee}
body[data-theme=light] .nav-item,body[data-theme=light] .nav-item:hover,body[data-theme=light] .nav-item[aria-expanded=true]{color:#2a2d32}
body[data-theme=light] .nav-item:hover,body[data-theme=light] .nav-item[aria-expanded=true]{background:#f5f5f7}
body[data-theme=light] .nav-subitems button:hover{color:#d72130}
body[data-theme=light] .nav-item.selected{color:#b21625;background:#fff0f2}
body[data-theme=light] .nav-subitems button{color:#5d636b}
@media(max-width:920px){.topbar-inner{padding:0 25px}.main-content{padding:35px 25px 22px}.app-footer{padding:14px 25px 25px}.carousel{height:57vw;min-height:490px}.event-content{left:58px;bottom:85px;max-width:75%}.carousel-footer{left:58px}.brand-copy strong{font-size:23px}}
@media(max-width:650px){.topbar{height:82px}.topbar-inner{gap:11px;padding:0 16px}.menu-trigger{height:42px;width:42px;border-radius:11px}.brand{gap:9px}.brand-mark{width:49px;height:49px;border-radius:10px;padding:3px}.brand-kicker,.brand-place{font-size:7px;letter-spacing:.12em}.brand-copy strong{font-size:17px}.member-label{display:none}.member-avatar{width:35px;height:35px;font-size:13px}.main-content{padding:36px 15px 14px}.heading-row{margin:0 7px 24px}.heading-row h1{font-size:31px}.heading-row p{font-size:12px}.date-today{display:none}.eyebrow{font-size:8px;letter-spacing:.12em;margin-bottom:11px}.carousel{height:min(128vw,650px);min-height:520px;border-radius:17px}.event-image{object-position:58% center}.event-shade{background:linear-gradient(0deg,rgba(8,10,12,.96) 0%,rgba(8,10,12,.52) 50%,rgba(8,10,12,.10) 100%)}.event-content{left:26px;right:24px;max-width:none;bottom:92px}.event-tag{font-size:9px;padding:8px 9px;margin-bottom:17px}.event-date{font-size:10px}.event-content h2{font-size:43px;margin-bottom:11px}.event-content p{font-size:13px;margin-bottom:19px;line-height:1.45}.event-bottom{gap:20px}.event-location{font-size:11px}.event-open{padding:11px 14px;font-size:12px}.carousel-arrow{height:36px;width:36px;top:30%;border-radius:10px}.carousel-prev{left:14px}.carousel-next{right:14px}.carousel-footer{left:26px;right:24px;bottom:29px}.below-carousel{padding:21px 6px 4px}.below-carousel p{font-size:11px;line-height:1.45}.app-footer{padding:16px 20px 26px;font-size:9px;line-height:1.5;display:block}.app-footer span{display:block;margin-top:4px}.event-dialog{padding:28px}.event-dialog h2{font-size:29px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition-duration:.01ms!important}}

/* Management modules — follow the Motoclube Os Fenómenos visual identity. */
[hidden]{display:none!important}
.module-view{min-height:590px}
.module-heading{display:flex;justify-content:space-between;align-items:end;gap:28px;margin-bottom:26px}
.module-heading h1{margin-bottom:10px}
.module-heading p{font-size:14px;color:var(--muted);line-height:1.55;margin:0;max-width:560px}
.primary-action,.secondary-action{border:none;border-radius:10px;padding:13px 19px;font-size:13px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:9px;white-space:nowrap;transition:background .18s,transform .18s}
.primary-action{background:#df2635;color:#fff;box-shadow:0 8px 18px rgba(223,38,53,.12)}
.primary-action:hover{background:#ee3a48;transform:translateY(-1px)}
.primary-action:disabled{opacity:.56;cursor:wait}
.secondary-action{background:var(--surface);color:var(--text);border:1px solid var(--stroke)}
.secondary-action:hover{background:var(--stroke)}
.demo-banner{display:flex;align-items:center;gap:11px;color:var(--muted);font-size:12px;line-height:1.5;padding:14px 17px;border:1px solid var(--stroke);border-radius:10px;background:var(--surface);margin-bottom:22px}
.demo-banner .tiny-red-dot{width:7px;height:7px}
.module-panel{border:1px solid var(--stroke);border-radius:17px;background:var(--surface);overflow:hidden;min-height:285px}
.panel-topline{padding:24px 27px;border-bottom:1px solid var(--stroke);display:flex;justify-content:space-between;align-items:center;gap:20px}
.panel-topline strong{font:700 21px var(--heading)}
.panel-topline p{font-size:12px;color:var(--muted);margin:7px 0 0}
.search-field{display:flex;align-items:center;gap:9px;padding:0 13px;border:1px solid var(--stroke);border-radius:10px;background:var(--bg);min-width:275px;max-width:100%;height:44px}
.search-field svg{width:17px;height:17px;color:var(--muted);flex:none}
.search-field input{flex:1;min-width:0;outline:0;border:none;background:transparent;color:var(--text);font:500 12px 'DM Sans',sans-serif}
.search-field:focus-within{border-color:var(--red)}
.members-table-wrap{width:100%;overflow-x:auto}
.members-table{width:100%;border-collapse:collapse;min-width:750px}
.members-table th{color:var(--muted);text-align:left;text-transform:uppercase;font-weight:800;font-size:10px;letter-spacing:.08em;padding:17px 19px;background:rgba(127,127,127,.035)}
.members-table td{border-top:1px solid var(--stroke);padding:17px 19px;font-size:13px;vertical-align:middle}
.members-table tr:hover td{background:rgba(127,127,127,.025)}
.members-table .cell-number{color:var(--muted);font-size:12px;font-weight:700}
.member-name{font-weight:800;font-size:14px;margin-bottom:4px}
.member-subline{color:var(--muted);font-size:11px}
.adult-label{color:var(--muted);font-size:12px!important}
.category-pill{padding:6px 10px;border:1px solid var(--stroke);border-radius:7px;display:inline-block;font-size:11px;font-weight:700;background:var(--bg)}
.status-pill{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;font-size:11px;font-weight:800;border-radius:50px}
.status-pill.is-active{color:#4fca94;background:rgba(39,165,105,.11)}
.status-pill.is-inactive{color:var(--muted);background:rgba(127,127,127,.12)}
.status-dot{width:6px;height:6px;border-radius:50%;background:currentColor}
.table-action{border:1px solid var(--stroke);background:transparent;color:var(--text);padding:9px 12px;border-radius:8px;font-size:12px;font-weight:800}
.table-action:hover{border-color:var(--red);color:var(--red)}
.actions-th{text-align:right}
.members-table td:last-child{text-align:right}
.empty-state{text-align:center;color:var(--muted);padding:42px 22px;font-size:13px}
.nav-subitems button.selected{color:#fb666f;font-weight:800}
body[data-theme=light] .nav-subitems button.selected{color:#d52130}
.event-manager-intro{padding:25px 28px;background:var(--surface);border:1px solid var(--stroke);border-radius:14px;margin:20px 0 19px;display:flex;justify-content:space-between;align-items:center;gap:30px}
.event-manager-intro strong,.fallback-settings strong{font-family:var(--heading);font-size:19px}
.event-manager-intro p,.fallback-settings p{max-width:680px;color:var(--muted);font-size:12px;line-height:1.7;margin:7px 0 0}
.event-manager-count{border:1px solid rgba(223,38,53,.35);border-radius:20px;color:#ef4f5e;font-weight:800;font-size:11px;padding:9px 12px;white-space:nowrap}
.event-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:25px}
.manager-card{background:var(--surface);border:1px solid var(--stroke);border-radius:16px;overflow:hidden;min-width:0}
.manager-card>img{width:100%;height:215px;object-fit:cover;display:block}
.manager-details{padding:21px 23px 22px}
.manager-date{font-size:10px;font-weight:800;color:var(--red);text-transform:uppercase;letter-spacing:.09em}
.manager-card h3{font-family:var(--heading);font-size:23px;line-height:1.17;margin:9px 0 8px;letter-spacing:-.02em}
.manager-card p{color:var(--muted);font-size:12px;margin:0 0 23px}
.manager-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--stroke);padding-top:19px}
.featured-switch{display:flex;align-items:center;gap:9px;cursor:pointer;font-size:12px;font-weight:800}
.featured-switch input,.check-field input{width:17px;height:17px;accent-color:#df2635;cursor:pointer}
.fallback-settings{border:1px solid var(--stroke);border-radius:15px;background:var(--surface);padding:24px 27px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.fallback-actions{display:flex;align-items:center;gap:15px}
.fallback-actions img{width:85px;height:58px;object-fit:cover;border-radius:8px;border:1px solid var(--stroke)}
.file-action{cursor:pointer}
.form-dialog{width:min(680px,calc(100vw - 28px));max-height:min(92vh,820px);overflow-y:auto;color:var(--text);background:var(--surface);border:1px solid var(--stroke);border-radius:19px;padding:31px;box-shadow:0 30px 95px rgba(0,0,0,.42)}
.form-dialog::backdrop{background:rgba(0,0,0,.70);backdrop-filter:blur(5px)}
.form-dialog-top{display:flex;justify-content:space-between;align-items:start;gap:15px;margin-bottom:22px}
.form-dialog-top h2{font:800 30px var(--heading);letter-spacing:-.03em;margin:0}
.form-dialog-top .dialog-eyebrow{margin-bottom:9px}
.dialog-x{flex-shrink:0;width:34px;height:34px;font-size:26px;line-height:1;border-radius:9px}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.form-field{display:flex;flex-direction:column;gap:8px;margin-bottom:17px}
.form-field>span{font-size:12px;font-weight:800}
.form-field input,.form-field select,.form-field textarea{width:100%;min-height:44px;background:var(--bg);border:1px solid var(--stroke);border-radius:9px;padding:11px 13px;color:var(--text);font:500 13px 'DM Sans',sans-serif}
.form-field textarea{resize:vertical;min-height:85px}
.form-field input[type=file]{padding:9px}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:2px solid rgba(223,38,53,.45);outline-offset:0;border-color:var(--red)}
.form-field small{color:var(--muted);font-size:11px;line-height:1.5}
.form-feedback{color:#ff767e;background:rgba(223,38,53,.07);border:1px solid rgba(223,38,53,.32);border-radius:7px;padding:10px 13px;font-size:12px}
.form-buttons{display:flex;justify-content:flex-end;align-items:center;gap:11px;margin-top:12px;border-top:1px solid var(--stroke);padding-top:22px}
.check-field{display:flex;gap:13px;align-items:flex-start;padding:15px;margin:6px 0 20px;border:1px solid var(--stroke);border-radius:10px;cursor:pointer}
.check-field span{display:flex;flex-direction:column;gap:5px}
.check-field strong{font-size:13px}
.check-field small{font-size:11px;color:var(--muted)}
.event-slide.openable{cursor:pointer}
.event-slide:not(.active){pointer-events:none}
@media(max-width:800px){.event-cards{grid-template-columns:1fr}.fallback-settings{align-items:flex-start}.members-table th,.members-table td{padding-left:13px;padding-right:13px}}
@media(max-width:650px){.module-view{min-height:520px}.module-heading{align-items:flex-start;flex-direction:column;gap:18px}.module-heading h1{font-size:34px}.module-heading p{font-size:12px}.module-heading .primary-action{width:100%}.demo-banner{font-size:11px;padding:12px}.panel-topline{padding:19px 16px;align-items:stretch;flex-direction:column;gap:16px}.search-field{width:100%;min-width:0}.event-manager-intro{padding:20px;align-items:flex-start;flex-direction:column;gap:15px}.manager-card>img{height:195px}.manager-details{padding:19px}.manager-card h3{font-size:21px}.manager-actions{align-items:flex-start;flex-wrap:wrap}.fallback-settings{padding:19px;flex-direction:column}.fallback-actions{width:100%;justify-content:space-between}.form-dialog{padding:21px 18px;border-radius:14px}.form-dialog-top h2{font-size:26px}.form-grid{grid-template-columns:1fr;gap:0}.form-buttons{flex-direction:column-reverse}.form-buttons button{width:100%}}

/* Installed local application: login, digital wallet and bar control. */
.auth-screen{min-height:100vh;padding:24px;display:grid;place-items:center;background:radial-gradient(circle at 50% -25%,rgba(223,38,53,.21),transparent 50%),#101215}
.auth-panel{width:min(460px,100%);border:1px solid #33353b;border-radius:23px;background:#191b20;box-shadow:0 30px 90px rgba(0,0,0,.28);padding:38px;color:#f6f6f6}
.auth-brand{text-align:center;margin-bottom:28px}
.auth-brand img{width:106px;height:106px;object-fit:contain;border-radius:14px;background:#fff;padding:6px;display:block;margin:0 auto 21px}
.auth-brand small{font-size:10px;letter-spacing:.2em;font-weight:800;color:#d9404f}
.auth-brand h1{font-size:34px;margin:9px 0}
.auth-brand p{margin:0;color:#a3a7ae;font-size:13px}
.auth-form h2{font:700 24px/1.1 var(--heading);margin:0 0 22px}
.auth-form p{font-size:12px;line-height:1.6;color:#aeb1b8}
.auth-form .form-field input{background:#101215;border-color:#393b41;color:#fff}
.auth-form .form-field span{color:#f2f2f3}
.auth-form .primary-action{margin-top:9px}
.full-width{width:100%}
.auth-footnote{text-align:center;color:#8e939b;font-size:10px;line-height:1.5;margin:25px 0 0}
.auth-panel .form-feedback{margin:18px 0 0}
.nav-item.selected:not([data-go=home]){color:#fff;background:rgba(223,38,53,.12)}
.sales-panel,.access-panel,.redeem-panel{padding:29px}
.sales-panel .form-grid,.access-panel .form-grid{margin-bottom:7px}
.access-panel h2{font-family:var(--heading);font-size:22px;margin-bottom:24px}
.product-chips{display:flex;flex-wrap:wrap;gap:12px;margin:16px 0}
.product-chips .category-pill{padding:12px 17px;background:var(--surface)}
.credential-output{border-top:1px solid var(--stroke);padding-top:25px;margin-top:29px}
.credential-output strong{font-size:16px}
.credential-output p{font-size:12px;color:var(--muted);line-height:1.6}
.credential-output code{display:block;padding:18px;margin:14px 0;white-space:pre-wrap;overflow-wrap:anywhere;color:#fff;background:#2b2226;border-radius:10px;font-size:13px}
.wallet-info{border:1px solid var(--stroke);border-radius:10px;padding:15px 18px;color:var(--muted);background:var(--surface);font-size:12px;display:flex;gap:12px;align-items:center;line-height:1.5;margin:20px 0 25px}
.wallet-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.wallet-card{border:1px solid var(--stroke);border-radius:17px;background:var(--surface);padding:30px;min-width:0}
.wallet-icon{font-size:39px;display:inline-block;line-height:1;margin-bottom:21px}
.wallet-card h3{font:750 25px/1.2 var(--heading);margin:0 0 8px}
.wallet-card p{color:var(--muted);font-size:13px;margin:0 0 25px}
.wallet-card p strong{color:var(--text);font-size:15px}
.stepper-controls{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:9px;background:var(--bg);border:1px solid var(--stroke);border-radius:12px}
.stepper-controls span{font-size:23px;font-weight:800;font-variant-numeric:tabular-nums}
.stepper-controls button{background:var(--surface);color:var(--text);border:1px solid var(--stroke);border-radius:9px;width:45px;height:44px;font-size:23px}
.stepper-controls button:hover:not(:disabled){background:var(--red);color:#fff}
.stepper-controls button:disabled{opacity:.28;cursor:default}
.wallet-footer{border:1px solid var(--stroke);background:var(--surface);border-radius:14px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:21px 26px;margin-top:26px}
.wallet-footer p{font-size:14px;font-weight:800;margin:0}
.qr-dialog{text-align:center;max-width:480px}
.qr-dialog .form-dialog-top{text-align:left}
.qr-dialog #qrImage{width:min(320px,100%);display:block;margin:10px auto 18px;padding:15px;border-radius:13px;background:#fff}
#qrContents{font-size:15px;font-weight:800;line-height:1.5}
.qr-expiry{margin:16px 0;color:#e94c5b;font-weight:800;font-size:13px}
.qr-dialog small{font-size:11px;line-height:1.5;color:var(--muted);display:block}
.redeem-panel{max-width:760px}
.redeem-panel .form-buttons{border-top:0}
.redeem-panel .form-field input{font-family:monospace}
.redeem-result{padding:18px;border-radius:10px;border:1px solid var(--stroke);margin-top:20px;font-size:14px;font-weight:700;line-height:1.6}
.redeem-success{color:#71e4ae;background:rgba(49,173,107,.11);border-color:rgba(49,173,107,.35)}
.redeem-error{color:#ff929a;background:rgba(223,38,53,.1);border-color:rgba(223,38,53,.35)}
#cameraPreview{width:100%;border-radius:12px;max-height:380px;object-fit:cover;margin-top:19px;background:#111}
body[data-theme=light] .nav-item.selected:not([data-go=home]){color:#ac1523;background:#fbedef}
body[data-theme=light] .credential-output code{color:#fefefe}
@media(max-width:850px){.wallet-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.auth-screen{padding:12px}.auth-panel{padding:27px 21px}.wallet-grid{grid-template-columns:1fr;gap:13px}.wallet-card{padding:24px}.wallet-footer{align-items:stretch;flex-direction:column}.sales-panel,.access-panel,.redeem-panel{padding:18px}.redeem-panel .form-buttons{gap:12px}}

/* Gestão avançada: quotas, vendas, notificações e relatórios. */
.spaced-panel{margin-top:22px}
.section-heading{font:800 23px/1.2 var(--heading);margin:0 0 23px}
.form-hint{font-size:12px;line-height:1.7;color:var(--muted);margin:10px 0 0}
.inline-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}
.inline-actions .table-action{white-space:nowrap}
.compact-form{padding:23px 27px 27px}
.compact-form>.form-field{max-width:680px}
.product-editor{display:grid;grid-template-columns:1.25fr 1fr minmax(110px,.7fr) auto auto auto;align-items:center;gap:14px;
  padding:16px 18px;border:1px solid var(--stroke);border-radius:12px;background:var(--surface);width:100%}
.product-editor strong{font-size:13px}
.sale-cart{margin:19px 0 14px;border:1px solid var(--stroke);padding:0 15px;border-radius:13px;background:var(--bg)}
.sale-cart:empty{display:none}
.cart-title{display:block;padding:16px 2px 4px;font-size:15px}
.cart-total{display:flex;justify-content:space-between;align-items:center;padding:18px 3px;border-top:1px solid var(--stroke);font-size:13px}
.cart-total strong{font-size:17px}
.product-editor .form-field{margin:0}
.product-editor .form-field input{min-height:40px}
.inline-check{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700}
.inline-check input{accent-color:var(--red);width:17px;height:17px}
.wallet-family-select{max-width:370px}
.summary-list{padding:3px 23px}
.summary-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 3px;border-bottom:1px solid var(--stroke);font-size:13px}
.summary-row:last-child{border-bottom:0}
.summary-row>div{min-width:0}
.summary-row strong{display:block;font-size:13px;line-height:1.3}
.summary-row small{display:block;margin-top:5px;font-size:11px;color:var(--muted);line-height:1.5}
.summary-row>span{white-space:nowrap;font-size:13px;font-weight:800}

/* Ficha única de sócio: mesma identidade visual no modo claro e escuro. */
.member-dossier{width:min(1080px,calc(100vw - 28px));max-height:94vh;padding:33px}
.member-dossier-title{font-size:11px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--red);border-bottom:1px solid var(--stroke);padding-bottom:11px;margin:20px 0}
.member-photo-panel{display:flex;align-items:center;gap:24px;margin-bottom:24px}
.member-photo-thumb{flex:0 0 126px;width:126px;height:126px;border:2px dashed rgba(223,38,53,.5);border-radius:18px;background:linear-gradient(135deg,rgba(223,38,53,.16),rgba(127,127,127,.07));display:grid;place-items:center;overflow:hidden}
.member-photo-thumb img{width:100%;height:100%;object-fit:cover}
.member-photo-thumb span{font-size:56px;font-weight:900;color:var(--red)}
.member-photo-control{flex:1;min-width:0}
.member-photo-control .form-field{margin:0 0 9px}
.member-photo-control small{display:block;margin:9px 0;color:var(--muted);font-size:11px}
.member-access-toggle{margin-top:6px;background:rgba(223,38,53,.045)}
.member-access-status{font-size:12px;color:var(--muted);margin:-10px 0 14px 4px}
.member-access-status strong,.member-access-status small{display:block}.member-access-status small{margin-top:5px;line-height:1.45}
.member-credentials{margin-bottom:12px}
.member-dossier-sections{border-top:2px solid var(--stroke);padding-top:6px;margin-top:30px}
.dossier-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}
.dossier-card{min-width:0;padding:22px;border:1px solid var(--stroke);border-radius:14px;background:var(--bg)}
.dossier-card-wide{grid-column:1 / -1}
.dossier-card h3{font-size:17px;margin:0 0 17px;font-weight:850}
.dossier-card-head{display:flex;justify-content:space-between;align-items:start;gap:15px;flex-wrap:wrap}
.dossier-card-head h3{margin-top:5px}
.dossier-lines{max-height:310px;overflow-y:auto;scrollbar-width:thin}
.dossier-lines>div{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;border-bottom:1px solid var(--stroke);padding:10px 0;font-size:12px;line-height:1.45}
.dossier-lines>div:last-child{border:0}
.dossier-lines>div>span{color:var(--muted);flex:1;min-width:0}
.dossier-lines>div>strong{max-width:54%;text-align:right;overflow-wrap:anywhere}
.dossier-empty{font-size:12px;color:var(--muted);line-height:1.55}
.dossier-subhead{display:block;font-size:12px;margin:17px 0 7px}
.dossier-inline-form{padding:17px 0 15px;margin-top:17px;border-top:1px solid var(--stroke)}
.dossier-inline-form>strong{display:block;font-size:13px;margin-bottom:14px}
.dossier-inline-form .form-field{margin-bottom:12px}
.dossier-inline-form .form-grid{gap:10px}
.dossier-link{background:transparent;border:0;padding:0;color:var(--red);font-size:12px;font-weight:800;text-align:right}
.dossier-link:hover{text-decoration:underline}
.member-table-person{display:flex;align-items:center;gap:12px}
.member-table-person img,.member-table-person>span{flex-shrink:0;width:40px;height:40px;border-radius:11px;object-fit:cover;border:1px solid var(--stroke)}
.member-table-person>span{display:grid;place-items:center;color:var(--red);background:rgba(223,38,53,.09);font-size:17px;font-weight:900}
.permission-overrides,.permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 14px;margin:0 0 18px}
.permission-override{display:grid;grid-template-columns:1fr minmax(145px,.8fr);align-items:center;gap:10px;font-size:11px;font-weight:750}
.permission-override select{min-height:36px;border:1px solid var(--stroke);border-radius:8px;background:var(--bg);color:var(--text);padding:6px 8px}
.profile-list{display:grid;gap:12px;margin-top:22px}
.profile-card{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid var(--stroke);border-radius:12px;padding:16px;background:var(--bg)}
.profile-card strong,.profile-card small{display:block}.profile-card small{color:var(--muted);font-size:11px;margin-top:4px}
.profile-card-edit{display:grid;align-items:start}.profile-card-edit .form-field{margin:0}.profile-card-edit .permission-grid{margin:4px 0}
.annual-due-list{display:grid;gap:16px}
.annual-due-card{border:1px solid var(--stroke);border-radius:14px;background:var(--bg);padding:17px}
.annual-due-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:14px}
.annual-due-head strong,.annual-due-head small{display:block}.annual-due-head small{color:var(--muted);font-size:11px;margin-top:4px}
.due-totals{text-align:right;font-size:11px;color:var(--muted)}.due-totals strong{font-size:14px;color:var(--text);margin-top:4px}
.month-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
.month-tile{min-width:0;border:1px solid var(--stroke);border-radius:10px;background:var(--surface);color:var(--text);padding:10px 7px;cursor:pointer;text-align:center}
.month-tile strong,.month-tile span,.month-tile small{display:block}.month-tile strong{font-size:12px}.month-tile span{font-size:10px;margin:5px 0}.month-tile small{font-size:9px;color:var(--muted)}
.month-tile.is-paid{border-color:rgba(49,173,107,.5);background:rgba(49,173,107,.1)}.month-tile.is-paid span{color:#33bd85;font-weight:800}
.month-tile.is-due{border-color:rgba(223,38,53,.35)}.month-tile.is-due span{color:#e5515e;font-weight:800}.month-tile:disabled{cursor:default;opacity:1}
@media(max-width:780px){.member-dossier{padding:22px 18px}.dossier-grid{grid-template-columns:1fr}.member-photo-thumb{width:100px;height:100px;flex-basis:100px}.member-photo-panel{gap:13px}.member-photo-control .form-field span{font-size:11px}}
@media(max-width:460px){.member-photo-panel{align-items:flex-start}.member-photo-thumb{width:78px;height:78px;flex-basis:78px;border-radius:12px}.member-photo-thumb span{font-size:34px}.member-dossier{padding:17px 13px}.dossier-card{padding:17px 13px}.dossier-lines>div{flex-direction:column;gap:4px}.dossier-lines>div>strong{max-width:100%;text-align:left}.dossier-card-head{flex-direction:column}}
.movement-value.positive{color:#33bd85}.movement-value.negative{color:#e5515e}
.filter-toolbar{display:flex;align-items:end;gap:16px;flex-wrap:wrap;background:var(--surface);padding:20px 24px;border-radius:14px;border:1px solid var(--stroke)}
.filter-toolbar .form-field{margin:0;flex:1;min-width:160px;max-width:250px}
.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:14px;margin:22px 0}
.stat-card{border:1px solid var(--stroke);border-radius:14px;padding:23px;background:var(--surface)}
.stat-card span{display:block;text-transform:uppercase;font-size:10px;font-weight:800;color:var(--muted);letter-spacing:.1em;margin-bottom:12px}
.stat-card strong{font:800 26px/1.15 var(--heading);font-variant-numeric:tabular-nums}
.notice-text{font-size:12px;color:var(--text);line-height:1.6;margin:9px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}
.notice-unread{border-left:3px solid var(--red);padding-left:12px}
.audit-target{font-size:10px!important;color:var(--muted);max-width:145px;overflow:hidden;text-overflow:ellipsis}
@media(max-width:850px){.product-editor{grid-template-columns:1fr 1fr}.product-editor strong{grid-column:1 / -1}.month-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:650px){.compact-form{padding:18px}.inline-actions{gap:6px}.inline-actions .secondary-action{font-size:11px;padding:10px}
  .summary-list{padding:2px 15px}.summary-row{align-items:flex-start;flex-wrap:wrap}.filter-toolbar{padding:17px}
  .filter-toolbar .form-field,.filter-toolbar button{width:100%;max-width:none}.product-editor{grid-template-columns:1fr 1fr;gap:11px}.permission-overrides,.permission-grid{grid-template-columns:1fr}.month-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.annual-due-head{align-items:flex-start;flex-direction:column}.due-totals{text-align:left}}
