/* Fuerza Católica — glass azul. Native scrolling and solid fallbacks first. */
:root{--bg:#050c20;--panel:#101e35;--panel-2:#14253d;--ink:#f1f7ff;--text:#f1f7ff;--muted:#b0c0d6;--line:rgba(191,218,255,.15);--accent:#59d8ff;--blue:#0672cb;--cyan:#03c3fa;--r:28px;--glass:linear-gradient(145deg,rgba(49,78,111,.7),rgba(10,26,49,.88));color-scheme:dark}
body{background:radial-gradient(ellipse at 10% 10%,#143559 0,transparent 45%),radial-gradient(ellipse at 100% 95%,#09304c 0,transparent 40%),#050c20;color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[role=button]:focus-visible{outline:3px solid #66dfff;outline-offset:3px}button:disabled{cursor:default;opacity:.55}svg{stroke-width:1.9}
.page-wrap{padding:0;min-height:100vh;min-height:100dvh}.app-frame{width:100%;height:100vh;height:100dvh;min-height:0!important;max-height:none;grid-template-columns:88px minmax(0,1fr);background:rgba(6,15,31,.6);border:0;border-radius:0;transition:grid-template-columns .22s ease}.app-main{height:100%;min-height:0;overflow:hidden}.topbar{flex:0 0 auto;min-height:68px;height:auto;padding:14px 24px;background:rgba(13,28,47,.86);border-bottom:1px solid var(--line)}.views{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:24px;scrollbar-gutter:stable;scroll-padding-block:20px}
.icon-rail{height:100%;min-height:0;overflow:hidden;padding:12px 8px;gap:12px;background:rgba(9,21,39,.92);border-right:1px solid var(--line)}.rail-nav{width:100%;flex:1 1 0;min-height:0;overflow-y:auto;overflow-x:hidden;gap:7px;padding:6px 6px 16px;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#355373 transparent}.rail-btn{flex:0 0 46px;width:48px;min-height:46px;border-radius:17px;color:#becde0}.rail-btn svg{width:23px;height:23px;flex-shrink:0}.rail-bottom{flex:0 0 auto;gap:8px}.brand-orb{flex:0 0 auto}.rail-expand270{margin:0 auto}.rail-label270{display:none}.rail-btn[data-tip]:before{display:none}.rail-btn.active,.rail-btn:hover{background:linear-gradient(130deg,rgba(62,192,245,.45),rgba(34,114,177,.28));border-color:rgba(142,222,255,.4);box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 6px 20px rgba(0,0,0,.12)}.rail-open270{grid-template-columns:234px minmax(0,1fr)}.rail-open270 .rail-nav{padding-right:24px}.rail-open270 .rail-btn:not(.rail-expand270){width:calc(100% - 22px);display:flex;gap:12px;justify-content:flex-start;padding:10px 12px;transform:translateX(var(--curve,0px))}.rail-open270 .rail-label270{display:block;font-size:12px;font-weight:600;white-space:nowrap}.rail-open270 .rail-bottom{width:100%;align-items:flex-start;padding-left:10px}.rail-open270 .rail-bottom .rail-btn{width:100%}.rail-open270 .brand-orb{align-self:flex-start;margin-left:12px}
.dash-card,.ranking-card,.news-card,.notification-card,.redeem-card,.product-card,.proposal-card,.event-item,.workspace-nav,.content-manager,.active-users-card,.chat-card,.about-card,.student-card,.security-card{background:var(--glass);border:1px solid var(--line);border-radius:26px;box-shadow:inset 0 1px 0 rgba(227,243,255,.12),0 12px 32px rgba(0,0,0,.12);color:var(--ink)}
.workspace-nav{padding:22px}.workspace-group,.workspace-switch select,.soft-btn,.points-pill,.account-pill,.icon-top,.search-pill{border-radius:16px;background:rgba(72,100,133,.18);color:#eaf5ff;border:1px solid var(--line);box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}.workspace-group.active,.primary-btn{background:linear-gradient(140deg,#167fc2,#12609b);border:1px solid rgba(150,225,255,.4);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.24),0 8px 24px rgba(0,40,75,.22)}.primary-btn,.soft-btn,.ghost-btn,.white-btn{min-height:44px;padding:11px 16px;border-radius:16px}.workspace-heading h1{font-size:clamp(23px,2.5vw,34px);letter-spacing:-1px}.workspace-mark{color:#c7eaff}.hero-card{background:radial-gradient(ellipse at 85% 20%,rgba(37,157,202,.35),transparent 52%),linear-gradient(125deg,#0a2246,#0a4373);box-shadow:inset 0 1px 0 rgba(255,255,255,.16)}.hero-kicker i{box-shadow:none}.hero-card:after{opacity:.35}.hero-copy h1{letter-spacing:-2px}.hero-copy p{color:#d6e5f6}.hero-logo{filter:none}.hero-logo img{max-width:100%}
input,select,textarea{min-width:0;max-width:100%;color:var(--ink)}.modal-card input,.modal-card select,.modal-card textarea,.fc-dialog input,.fc-dialog select,.fc-dialog textarea,.join-form input,.join-form select,.join-form textarea{width:100%;padding:12px 14px;border:1px solid #435775;border-radius:14px;background:#10213a;color:#f0f6ff;min-height:44px}.modal-card,.fc-dialog,.attendance-dialog{background:linear-gradient(145deg,#1b2e48,#0a182e);color:#f1f7ff;border:1px solid rgba(180,216,255,.3);border-radius:28px;box-shadow:0 30px 90px #0008;max-height:calc(100dvh - 32px);overflow-y:auto}.modal-card label,.modal-card h2,.modal-card h3,.join-form label,.join-form h2,.fc-dialog label{color:#edf5ff!important}.modal-card p,.modal-card small,.join-form small{color:#bbcde3!important}.modal{padding:16px;overflow-y:auto;align-items:center}.modal-card{min-height:0!important;margin:auto;max-height:calc(100dvh - 32px)!important}.fc-dialog::backdrop,.attendance-dialog::backdrop{background:rgba(1,7,20,.76);backdrop-filter:blur(7px)}.glass-dialog{width:min(620px,calc(100vw - 28px));padding:24px}.dialog-heading{gap:14px;display:flex;align-items:center;justify-content:space-between}.dialog-heading h2{font-size:24px;letter-spacing:-.6px}.dialog-heading>button{flex:0 0 auto}.glass-dialog label{display:grid;gap:8px}.glass-dialog p{line-height:1.6;color:#c6d8ee}.glass-dialog [role=alert]{color:#ffc9c9}.dialog-actions{display:flex;flex-wrap:wrap;gap:10px}.email-hint{display:block;color:#aacde5;font-size:12px;line-height:1.45;margin:6px 0 10px}.profile-card270{padding:24px;margin:16px 0}.profile-grid270{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.profile-grid270 dt{color:#a9bfd8;font-size:12px;margin-bottom:6px}.profile-grid270 dd{margin:0;overflow-wrap:anywhere;font-size:14px}.profile-grid270 small{font-size:11px;color:#b6cbe1}.annual-notice270{padding:14px;background:#133f5e;border-radius:14px}.inventory-actions{display:flex;gap:8px;flex-wrap:wrap}.inventory-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto auto}.inventory-row b,.inventory-row small{display:block;overflow-wrap:anywhere}.member-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.member-toolbar input{flex:1 1 200px}.member-toolbar select{flex:1 1 145px;width:auto;min-height:44px}.member-toolbar button{flex-shrink:0}.export-button{margin-left:auto;display:flex;align-items:center;gap:8px}.member-table-wrap{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}.member-table th,.member-table td{color:#e6f0ff}.notification-card.is-read{background:rgba(21,37,58,.68);border-color:rgba(191,218,255,.08)}.notification-card.is-read h3{color:#bfd0e4}.notification-card.unread{background:linear-gradient(120deg,#174467,#102b4a);border-color:#4484a7}.notification-card p{overflow-wrap:anywhere}.personal-qr{padding:16px!important;background:#fff!important;cursor:zoom-in;border:0;border-radius:20px;min-width:176px;box-sizing:content-box}.personal-qr canvas,.personal-qr img{max-width:100%;height:auto}.qr-large{padding:20px;background:white;display:table;margin:20px auto;border-radius:18px}.qr-large img,.qr-large canvas{max-width:100%;height:auto}#qrExpanded270{width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;border-radius:0;border:0;padding:calc(18px + env(safe-area-inset-top)) 24px calc(18px + env(safe-area-inset-bottom));text-align:center;background:#09162a}#qrExpanded270 .dialog-heading{max-width:650px;margin:auto}#qrActivity270{font-size:24px;color:white;font-weight:700;margin-bottom:8px}#qrTime270{margin:0}#qrExpiry270{font-size:13px}.push-card270{padding:18px;margin-bottom:18px}.push-actions270{display:flex;gap:10px;flex-wrap:wrap}.push-status270{color:#bfd1e8;line-height:1.55;font-size:13px}
.mobile-drawer{background:linear-gradient(145deg,rgba(25,48,75,.98),rgba(5,20,40,.97));color:#fff;display:flex;flex-direction:column;max-height:100dvh;border-right:1px solid var(--line);border-radius:0 30px 30px 0;padding-bottom:calc(18px + env(safe-area-inset-bottom))}.drawer-head{flex:0 0 auto}.drawer-links{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:10px 22px 24px 10px}.drawer-links button{border-radius:18px;min-height:46px;padding:12px 16px;color:#d5e6f6;margin-bottom:6px;transform:translateX(7px);width:calc(100% - 14px)}.drawer-links button.active{background:linear-gradient(125deg,#245c83,#193c60);color:#fff}.drawer-links button:nth-child(4n+2),.drawer-links button:nth-child(4n+3){transform:translateX(14px)}.drawer-links svg{width:24px;height:24px}#drawerLogin{flex:0 0 auto}.mobile-bottom{background:rgba(16,36,60,.94)!important;border:1px solid rgba(188,222,255,.25)!important;box-shadow:inset 0 1px 0 #ffffff20,0 10px 40px #0006;border-radius:26px!important}.mobile-bottom button{color:#baccdf;border-radius:19px!important}.mobile-bottom svg{width:24px;height:24px}.mobile-bottom button.active{background:rgba(80,161,212,.2);color:#fff}.mobile-bottom #mobileAddMember{background:linear-gradient(140deg,#2279a8a8,#195683)!important;color:#c7f2ff!important;border:1px solid #83dbff66}.mobile-bottom span{font-size:10px!important}
@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.topbar,.mobile-bottom,.workspace-nav{backdrop-filter:blur(24px) saturate(125%);-webkit-backdrop-filter:blur(24px) saturate(125%)}.mobile-bottom{background:rgba(20,39,63,.78)!important}.dash-card,.notification-card,.redeem-card{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}}
@media(min-width:821px){.app-frame{height:100dvh!important;min-height:0!important}.app-main{height:100%!important;min-height:0!important;display:flex!important}.icon-rail{display:flex!important}.views{overflow:auto!important;min-height:0!important;height:auto!important}.mobile-menu{display:none}.mobile-bottom{display:none!important}}
@media(min-width:821px) and (max-width:1100px){.views{padding:18px}.topbar{padding:12px 18px}.search-pill{min-width:0;width:42px;padding:10px}.search-pill span,.search-pill kbd,.brand-title>span{display:none}.home-grid,.student-grid,.vote-layout{grid-template-columns:minmax(0,1fr)}.hero-card{min-height:360px}.rail-open270{grid-template-columns:210px minmax(0,1fr)}.news-grid,.gallery-grid-v4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){.app-frame{display:block!important;min-height:100dvh!important;height:auto!important}.app-main{height:auto!important;min-height:100dvh!important;overflow:visible!important}.icon-rail{display:none!important}.topbar{position:sticky;top:0;padding:calc(10px + env(safe-area-inset-top)) 14px 10px;min-height:64px}.views{padding:18px 14px calc(120px + env(safe-area-inset-bottom))!important;overflow:visible!important}.mobile-menu{display:flex}.home-grid,.student-grid,.vote-layout,.internal-grid,.chat-layout{grid-template-columns:minmax(0,1fr)}.hero-card{padding:28px;min-height:360px}.hero-copy h1{font-size:clamp(38px,10vw,60px)}.profile-grid270{grid-template-columns:minmax(0,1fr)}.inventory-row{grid-template-columns:minmax(0,1fr) auto}.inventory-row>small{grid-column:1}.inventory-actions{grid-column:1/-1}.notification-card{grid-template-columns:38px minmax(0,1fr);padding:16px;gap:12px}.notification-card time{grid-column:2}.notification-icon{width:36px;height:36px}.mobile-bottom{position:fixed!important;bottom:calc(10px + env(safe-area-inset-bottom))!important;left:12px!important;right:12px!important;width:calc(100% - 24px)!important;padding:6px!important;min-height:66px;z-index:30}.mobile-bottom button{min-width:0;min-height:52px}.student-attendance-item{flex-wrap:wrap}.glass-dialog{padding:20px}.modal-card{width:100%!important}input,select,textarea{font-size:16px!important}.workspace-mark{display:none}}
@media(max-width:380px){.brand-title strong{font-size:12px}.top-actions{gap:5px}.points-pill{padding:0 7px}.account-pill b{display:none}.mobile-bottom{left:6px!important;right:6px!important;width:calc(100% - 12px)!important}.mobile-bottom span{font-size:9px!important}.hero-card{padding:22px}.hero-actions{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(prefers-reduced-transparency:reduce){.topbar,.mobile-bottom,.workspace-nav,.dash-card,.notification-card,.redeem-card{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:#10233c!important}}
#navTip270{position:fixed;left:98px;bottom:24px;background:#1b3855f2;border:1px solid #82c8ed70;border-radius:14px;padding:12px 18px;z-index:100;opacity:0;pointer-events:none;color:white;box-shadow:0 8px 30px #0005}#navTip270.visible{opacity:1}
@media(min-width:821px){.mobile-drawer{display:none!important}}
@media(max-width:820px){.mobile-drawer{background:linear-gradient(145deg,rgba(25,48,75,.98),rgba(5,20,40,.97))!important}.drawer-links button{border-radius:18px!important;font-size:13px!important;flex-shrink:0}}

.modal-layer{padding:16px!important;overflow-y:auto}.modal{background:linear-gradient(145deg,#1b2e48,#0a182e)!important;color:#f1f7ff!important;border:1px solid #789dbb66!important;border-radius:28px!important;max-height:calc(100dvh - 32px)!important;overflow:auto!important}.modal h2,.modal h3,.modal label{color:#edf5ff!important}.modal p,.modal small{color:#b9cde2!important}.modal input,.modal select,.modal textarea{color:#eef6ff!important;background:#10213a!important;border-color:#435775!important}.modal input{min-height:44px}.modal .input-with-icon{background:#10213a!important}.join-form{background:var(--glass)!important;color:#edf5ff!important}.join-form input,.join-form select{color:#edf5ff!important;background:#10213a!important}.join-form h2{color:#edf5ff!important}
