:root{
  --bg:#060b12;--panel:#0b111b;--panel-2:#0e1622;--ink:#eaf8ff;--muted:#8fa6b5;--line:rgba(255,255,255,.08);
  --blue:#0b8ed8;--blue-2:#1276e7;--cyan:#18c7d6;--cyan-2:#5ae3df;--navy:#0c2b60;
  --white:#f8fbfd;--card:#f7fbfd;--dark:#0a1623;--soft:#dcebf0;--shadow:0 24px 80px rgba(0,0,0,.45);--r:28px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,sans-serif;background:radial-gradient(circle at 15% 25%,rgba(13,143,216,.13),transparent 31%),radial-gradient(circle at 85% 78%,rgba(24,199,214,.10),transparent 29%),#04070d;color:var(--ink);min-height:100vh;overflow-x:hidden}.svg-sprite{position:absolute;width:0;height:0;overflow:hidden}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.background-orbit{position:fixed;border-radius:50%;filter:blur(1px);pointer-events:none}.orbit-a{width:420px;height:420px;left:-180px;top:15%;background:radial-gradient(circle,rgba(9,143,217,.12),transparent 68%)}.orbit-b{width:500px;height:500px;right:-220px;bottom:-120px;background:radial-gradient(circle,rgba(23,199,214,.10),transparent 68%)}button,input,select,textarea{font:inherit}button{cursor:pointer}.page-wrap{min-height:100vh;padding:34px;display:flex;align-items:center;justify-content:center}.app-frame{width:min(1480px,100%);height:min(900px,calc(100vh - 68px));min-height:720px;display:grid;grid-template-columns:88px 1fr;background:linear-gradient(180deg,#0a1019,#07101a);border:1px solid rgba(255,255,255,.16);border-radius:32px;box-shadow:var(--shadow),0 0 0 6px rgba(255,255,255,.018);overflow:hidden;position:relative}.icon-rail{background:#080d14;border-right:1px solid var(--line);padding:18px 14px;display:flex;flex-direction:column;align-items:center;gap:22px;z-index:10}.brand-orb{width:54px;height:54px;border-radius:18px;padding:0;border:0;overflow:hidden;background:#fff;box-shadow:0 8px 28px rgba(14,146,211,.20)}.brand-orb img{width:100%;height:100%;object-fit:cover}.rail-nav{display:flex;flex-direction:column;gap:8px;flex:1}.rail-btn{width:48px;height:48px;border-radius:16px;border:1px solid transparent;background:transparent;color:#78909f;display:grid;place-items:center;position:relative;transition:.2s}.rail-btn:hover,.rail-btn.active{color:#fff;background:linear-gradient(145deg,rgba(21,160,214,.28),rgba(24,199,214,.13));border-color:rgba(42,198,222,.22);box-shadow:inset 0 0 18px rgba(17,178,216,.08)}.rail-btn.active:after{content:"";position:absolute;left:-15px;width:3px;height:22px;border-radius:3px;background:linear-gradient(var(--cyan),var(--blue))}.rail-btn[data-tip]:before{content:attr(data-tip);position:absolute;left:62px;top:50%;transform:translateY(-50%) translateX(-5px);background:#111a25;color:#dff8ff;padding:7px 9px;border-radius:8px;border:1px solid var(--line);white-space:nowrap;font-size:11px;opacity:0;pointer-events:none;transition:.18s;z-index:50}.rail-btn[data-tip]:hover:before{opacity:1;transform:translateY(-50%) translateX(0)}.rail-bottom{display:flex;flex-direction:column;gap:9px;align-items:center}.profile-dot{width:42px;height:42px;border-radius:14px;border:1px solid rgba(255,255,255,.12);background:linear-gradient(145deg,#0d8fd5,#18c7d6);color:#fff;font-weight:800}.app-main{min-width:0;display:flex;flex-direction:column}.topbar{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 22px;border-bottom:1px solid var(--line);background:rgba(7,13,21,.76);backdrop-filter:blur(16px);z-index:5}.top-left,.top-actions{display:flex;align-items:center;gap:12px}.mobile-menu{display:none;background:transparent;border:0;color:#fff}.brand-title{display:flex;align-items:center;gap:10px}.brand-title strong{font-family:Manrope;font-size:15px;letter-spacing:-.2px}.brand-title span{font-size:11px;color:#7f94a4;border-left:1px solid var(--line);padding-left:10px}.search-pill,.points-pill,.account-pill,.icon-top{height:40px;border:1px solid var(--line);background:#0b141f;color:#9cb2c0;border-radius:13px;display:flex;align-items:center;gap:8px;padding:0 12px}.search-pill{min-width:225px;justify-content:flex-start}.search-pill span{font-size:11px;flex:1;text-align:left}.search-pill kbd{font-size:9px;background:#111e2a;border:1px solid var(--line);border-radius:6px;padding:3px 6px;color:#6f899a}.points-pill{color:#caedf3}.points-pill svg{color:var(--cyan)}.points-pill b{font-size:12px}.points-pill span{font-size:9px;color:#7591a0}.icon-top{width:40px;padding:0;justify-content:center;position:relative}.icon-top i{position:absolute;width:7px;height:7px;border-radius:50%;background:var(--cyan);right:8px;top:8px;border:2px solid #0b141f}.account-pill{padding:0 12px 0 6px;color:#d8f0f6}.account-pill span{width:29px;height:29px;border-radius:10px;background:linear-gradient(135deg,var(--blue),var(--cyan));display:grid;place-items:center;font-size:9px;font-weight:800;color:#fff}.account-pill b{font-size:10px}.views{flex:1;min-height:0;overflow:auto;padding:18px}.views::-webkit-scrollbar{width:8px}.views::-webkit-scrollbar-thumb{background:#183044;border-radius:10px}.view{display:none;animation:fade .24s ease}.view.active{display:block}@keyframes fade{from{opacity:.4;transform:translateY(4px)}to{opacity:1;transform:none}}.home-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(280px,.62fr);gap:14px}.hero-card{min-height:440px;background:radial-gradient(circle at 83% 16%,rgba(53,220,229,.27),transparent 33%),linear-gradient(125deg,#0d355c 0%,#0b72c5 43%,#11bfcf 100%);border-radius:26px;position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.12);display:flex;padding:44px}.hero-card:before{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(2,11,24,.58),transparent 56%)}.hero-card:after{content:"";position:absolute;width:480px;height:480px;border:1px solid rgba(255,255,255,.09);border-radius:50%;right:-115px;top:-165px;box-shadow:0 0 0 45px rgba(255,255,255,.025),0 0 0 95px rgba(255,255,255,.018)}.hero-copy{position:relative;z-index:2;max-width:650px;display:flex;flex-direction:column;justify-content:center}.hero-kicker,.eyebrow{font-size:9px;letter-spacing:1.4px;font-weight:800;color:#7ee9eb}.hero-kicker{display:flex;align-items:center;gap:8px}.hero-kicker i{width:7px;height:7px;border-radius:50%;background:#69fff3;box-shadow:0 0 15px #69fff3}.hero-copy h1{font:800 clamp(45px,5vw,74px)/.93 Manrope;margin:20px 0 18px;letter-spacing:-3.8px;color:#fff}.hero-copy h1 em,.join-copy h1 em{font-style:normal;color:#78f0ed}.hero-copy p{max-width:600px;font-size:13px;line-height:1.65;color:#cce2ec;margin:0}.hero-actions{display:flex;gap:9px;margin-top:26px}.primary-btn,.ghost-btn,.white-btn,.soft-btn{min-height:42px;border-radius:13px;border:0;padding:0 15px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:700;font-size:10px;transition:.18s}.primary-btn{background:linear-gradient(135deg,#0c90d8,#1ac8d5);color:#fff;box-shadow:0 10px 28px rgba(8,145,206,.22)}.primary-btn:hover{transform:translateY(-1px);filter:brightness(1.07)}.ghost-btn{background:rgba(255,255,255,.10);color:#e9fbff;border:1px solid rgba(255,255,255,.16)}.white-btn{background:#f7fbfd;color:#0a3048}.soft-btn{background:#0d1a27;border:1px solid var(--line);color:#bed5df}.full{width:100%}.hero-stats{display:flex;gap:30px;margin-top:42px}.hero-stats div{display:flex;flex-direction:column}.hero-stats strong{font:800 18px Manrope}.hero-stats span{font-size:9px;color:#b8d4df;margin-top:3px}.hero-logo{position:absolute;right:28px;bottom:25px;z-index:2;display:flex;align-items:center;gap:10px;color:#e7ffff}.hero-logo img{width:68px;height:68px;border-radius:50%;object-fit:cover;box-shadow:0 10px 35px rgba(0,0,0,.25)}.hero-logo span{font-size:8px;letter-spacing:2.5px;writing-mode:vertical-rl;transform:rotate(180deg);opacity:.75}.home-side{display:grid;grid-template-rows:104px 1fr;gap:14px}.mini-card,.activity-card,.calendar-card,.form-card,.dash-card,.member-table-wrap{border:1px solid var(--line);background:linear-gradient(180deg,#0d1621,#09121c);border-radius:22px}.mini-card{padding:16px}.mini-label{font-size:8px;letter-spacing:1.2px;font-weight:800;color:#6c8b9d}.search-card button{width:100%;height:45px;border-radius:13px;border:1px solid var(--line);background:#f4f9fb;color:#556c79;display:flex;align-items:center;gap:9px;padding:0 12px;margin-top:12px;font-size:10px}.next-event{padding:18px;position:relative;overflow:hidden}.next-event:after{content:"";position:absolute;width:150px;height:150px;border-radius:50%;background:rgba(24,199,214,.11);right:-55px;bottom:-55px}.mini-head,.card-top,.dash-title{display:flex;align-items:center;justify-content:space-between}.mini-head span{font-size:8px;color:#7895a5;font-weight:800}.mini-head i{font-style:normal;font-size:8px;color:#6ee4e5}.event-art{width:72px;height:72px;border-radius:18px;background:linear-gradient(145deg,#0c91d9,#20c9d4);display:flex;flex-direction:column;align-items:center;justify-content:center;margin-top:24px;box-shadow:0 12px 30px rgba(8,142,205,.2)}.event-art span{font:800 28px Manrope}.event-art small{font-size:8px;letter-spacing:1px}.next-event h3{font:800 18px Manrope;margin:16px 0 4px}.next-event p{font-size:10px;color:#829bab}.text-btn{border:0;background:transparent;color:#7ce9e6;padding:0;display:flex;align-items:center;gap:5px;font-size:9px;font-weight:700;margin-top:18px}.home-bottom{display:grid;grid-template-columns:1.15fr 1.15fr .7fr;gap:14px;margin-top:14px}.activity-card{min-height:228px;padding:20px}.feature-proposal{background:radial-gradient(circle at 95% 20%,rgba(18,126,231,.15),transparent 35%),linear-gradient(160deg,#0d1825,#0a121d)}.card-top{font-size:8px;color:#7c95a4}.badge{font-size:7px;letter-spacing:.8px;color:#71e6e8;background:rgba(24,199,214,.1);border:1px solid rgba(24,199,214,.16);padding:5px 7px;border-radius:8px;font-weight:800}.feature-proposal h2{font:800 25px/1.05 Manrope;margin:20px 0 8px}.feature-proposal p{font-size:10px;color:#829bab;line-height:1.5;max-width:340px}.progress{height:5px;border-radius:5px;background:#142535;overflow:hidden;margin:20px 0}.progress span{display:block;height:100%;background:linear-gradient(90deg,var(--blue),var(--cyan));border-radius:5px}.quick-actions{display:flex;flex-direction:column;gap:2px}.quick-actions>button{border:0;background:transparent;color:#dfeef3;display:grid;grid-template-columns:38px 1fr 18px;align-items:center;gap:10px;text-align:left;padding:10px 4px;border-radius:12px}.quick-actions>button:hover{background:#101d29}.action-icon{width:36px;height:36px;border-radius:11px;background:rgba(16,151,212,.14);display:grid;place-items:center;color:#55dfe1}.quick-actions b{font-size:10px;display:block}.quick-actions small{font-size:8px;color:#728c9c;display:block;margin-top:3px}.quick-actions>button>svg{width:14px;color:#607b8d}.credits-card{cursor:pointer;background:linear-gradient(145deg,#0c2d4c,#0b7eba 55%,#14b6bf);position:relative;overflow:hidden}.credits-card:after{content:"";position:absolute;width:180px;height:180px;border:1px solid rgba(255,255,255,.14);border-radius:50%;right:-80px;top:-75px}.credits-card .card-top svg{color:#8bf5ef}.credit-number{margin-top:24px;display:flex;align-items:flex-end;gap:6px}.credit-number strong{font:800 39px Manrope}.credit-number span{font-size:9px;margin-bottom:7px;color:#cce9ef}.credits-card p{font-size:9px;line-height:1.5;color:#c0dce5}.reward-preview{position:absolute;left:18px;right:18px;bottom:16px;padding:9px;background:rgba(4,15,28,.3);border:1px solid rgba(255,255,255,.12);border-radius:12px;display:flex;align-items:center;gap:9px}.reward-shirt{width:32px;height:32px;border-radius:10px;background:#fff;color:#0e86ce;display:grid;place-items:center;font-weight:900}.reward-preview div{display:flex;flex-direction:column}.reward-preview b{font-size:9px}.reward-preview small{font-size:7px;color:#bbdbe5;margin-top:2px}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:18px 6px 24px}.section-head.compact{padding-top:8px}.section-head h1,.join-copy h1,.gate-card h1,.student-head h1{font:800 43px Manrope;margin:7px 0 7px;letter-spacing:-2px}.section-head p,.join-copy>p,.gate-card p,.student-head p{font-size:11px;line-height:1.6;color:#7f99a9;margin:0;max-width:600px}.filters{display:flex;gap:7px;margin-bottom:14px}.filters button{border:1px solid var(--line);background:#0b141f;color:#7894a4;border-radius:10px;padding:8px 11px;font-size:9px}.filters button.active{color:#fff;background:#0f7fb8;border-color:#168fc8}.proposal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.proposal-card{min-height:252px;border-radius:22px;padding:20px;background:linear-gradient(160deg,#0d1723,#09111a);border:1px solid var(--line);display:flex;flex-direction:column}.proposal-card .proposal-meta{display:flex;justify-content:space-between;align-items:center}.proposal-status{font-size:7px;font-weight:800;letter-spacing:.7px;padding:5px 7px;border-radius:8px;background:rgba(24,199,214,.10);color:#64e2e4}.proposal-card h3{font:800 20px/1.1 Manrope;margin:22px 0 8px}.proposal-card p{font-size:9px;line-height:1.55;color:#7d97a7;margin:0}.proposal-footer{margin-top:auto;display:flex;align-items:center;justify-content:space-between;padding-top:18px}.proposal-footer span{font-size:9px;color:#8eabb9}.support-btn{border:1px solid rgba(29,200,214,.24);background:rgba(24,199,214,.08);color:#75ecec;border-radius:10px;padding:8px 10px;font-size:8px;font-weight:800}.agenda-layout{display:grid;grid-template-columns:minmax(360px,.9fr) 1.1fr;gap:14px}.calendar-card{padding:22px}.calendar-title{display:flex;align-items:center;justify-content:space-between}.calendar-title button{width:32px;height:32px;border:1px solid var(--line);border-radius:10px;background:#0c1723;color:#8aa2b0}.calendar-title b{font-size:11px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);text-align:center}.week{margin:24px 0 10px}.week span{font-size:8px;color:#637e8e;font-weight:800}.days{gap:5px}.days span{aspect-ratio:1;border-radius:11px;display:grid;place-items:center;position:relative;font-size:9px;color:#c5d9e2}.days .muted{color:#3d5667}.days .event-day{background:#0d2637;color:#fff}.days .event-day.active{background:linear-gradient(145deg,#0b8ed8,#18c7d6)}.days .event-day i{position:absolute;width:4px;height:4px;border-radius:50%;background:#46e7e2;bottom:5px}.event-list{display:flex;flex-direction:column;gap:10px}.event-item{min-height:116px;border-radius:18px;border:1px solid var(--line);background:#0b141e;padding:15px;display:grid;grid-template-columns:56px 1fr auto;align-items:center;gap:14px}.event-date{width:56px;height:64px;border-radius:14px;background:linear-gradient(145deg,#0e76bd,#13bfc9);display:flex;flex-direction:column;align-items:center;justify-content:center}.event-date b{font:800 21px Manrope}.event-date span{font-size:7px;letter-spacing:1px}.event-item h3{font:800 14px Manrope;margin:0 0 5px}.event-item p{font-size:9px;color:#7792a1;margin:0}.event-item small{font-size:8px;color:#5ee4e2;display:block;margin-top:8px}.event-item button{border:1px solid var(--line);background:#f2f7f9;color:#113047;border-radius:10px;padding:9px 11px;font-size:8px;font-weight:800}.balance-box{min-width:140px;padding:11px 14px;border-radius:14px;border:1px solid var(--line);background:#0b151f}.balance-box span{font-size:7px;color:#6f8b9a}.balance-box strong{display:flex;align-items:center;gap:7px;margin-top:5px;font:800 20px Manrope}.balance-box svg{color:#56dfdf}.shop-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.product-card{border-radius:22px;border:1px solid var(--line);background:#0b141f;overflow:hidden}.product-art{height:180px;display:grid;place-items:center;position:relative;background:radial-gradient(circle at 50% 42%,rgba(42,207,218,.28),transparent 34%),linear-gradient(145deg,#0b2541,#0b75b7 54%,#11b9c2)}.product-art span{width:88px;height:88px;border-radius:24px;background:#fff;color:#0d89cf;display:grid;place-items:center;font:900 28px Manrope;transform:rotate(-4deg);box-shadow:0 18px 35px rgba(0,0,0,.22)}.product-body{padding:16px}.product-body h3{font:800 13px Manrope;margin:0 0 5px}.product-body p{font-size:8px;color:#738f9e;margin:0}.product-buy{display:flex;align-items:center;justify-content:space-between;margin-top:15px}.product-buy b{font-size:10px;color:#79ebe9}.product-buy button{border:0;background:#eaf6f8;color:#0d3750;border-radius:9px;padding:8px 10px;font-size:8px;font-weight:800}.product-buy button:disabled{opacity:.42;cursor:not-allowed}.join-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:36px;min-height:650px;align-items:center;padding:24px}.join-copy h1{font-size:58px;line-height:.94}.join-copy>p{font-size:12px;max-width:470px}.join-points{display:flex;flex-direction:column;gap:14px;margin-top:30px}.join-points>div{display:flex;align-items:flex-start;gap:12px}.join-points>div>span{width:34px;height:34px;border-radius:11px;background:rgba(24,199,214,.12);color:#5fe6e4;display:grid;place-items:center;font:800 9px Manrope}.join-points p{margin:0;display:flex;flex-direction:column}.join-points b{font-size:10px}.join-points small{font-size:8px;color:#738f9e;margin-top:3px}.form-card{padding:24px;background:#f7fbfd;color:#163244}.form-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.form-title span{font:800 16px Manrope}.form-title small{font-size:8px;color:#78909e}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-grid .wide{grid-column:1/-1}.form-card label,.form-modal label{display:flex;flex-direction:column;gap:6px}.form-card label>span,.form-modal label>span{font-size:8px;font-weight:800;color:#587180}.form-card input,.form-card select,.form-modal input,.form-modal select,.form-modal textarea{width:100%;border:1px solid #dbe6ea;border-radius:11px;background:#fff;color:#173648;padding:0 11px;outline:none}.form-card input,.form-card select,.form-modal input,.form-modal select{height:42px}.form-modal textarea{padding-top:10px;resize:vertical}.form-card input:focus,.form-card select:focus,.form-modal input:focus,.form-modal select:focus,.form-modal textarea:focus{border-color:#2dbed0;box-shadow:0 0 0 3px rgba(22,196,214,.10)}.checkline{display:grid!important;grid-template-columns:18px 1fr;align-items:flex-start;gap:8px!important;margin:17px 0}.checkline input{width:16px!important;height:16px!important}.checkline span{font-size:8px!important;line-height:1.45;font-weight:500!important}.gate-card{min-height:610px;border-radius:26px;border:1px solid var(--line);background:radial-gradient(circle at 50% 28%,rgba(24,199,214,.16),transparent 28%),linear-gradient(180deg,#0d1722,#09111a);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px}.gate-card img{width:92px;height:92px;border-radius:50%;margin-bottom:25px}.gate-card h1{font-size:42px}.gate-card p{max-width:500px}.gate-card .primary-btn{margin-top:20px}.hidden{display:none!important}.student-dashboard,.mvp-dashboard{padding:12px}.student-head{display:flex;align-items:flex-end;justify-content:space-between;padding:15px 4px 24px}.credit-wallet{min-width:200px;border-radius:18px;padding:16px;background:linear-gradient(145deg,#0d3458,#0b8ccb 55%,#14bfc8);box-shadow:0 18px 40px rgba(5,121,173,.2)}.credit-wallet>span,.credit-wallet>small{font-size:8px;color:#c6e9ef}.credit-wallet strong{display:flex;align-items:center;gap:8px;font:800 30px Manrope;margin:5px 0}.student-grid{display:grid;grid-template-columns:1.5fr .7fr .8fr;gap:13px}.dash-card{padding:18px;min-height:238px}.wide-card{grid-column:auto}.dash-title span{font-size:9px;font-weight:800}.dash-title small{font-size:8px;color:#6f8b9a}.action-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:17px}.action-grid button{height:82px;border-radius:14px;border:1px solid var(--line);background:#0c1824;color:#dbeaf0;display:grid;grid-template-columns:30px 1fr;text-align:left;align-items:center;padding:12px}.action-grid button svg{grid-row:1/3;color:#54dfe0}.action-grid b{font-size:9px}.action-grid small{font-size:7px;color:#6e8a9a}.level-ring{width:122px;height:122px;border-radius:50%;margin:22px auto 8px;background:conic-gradient(var(--cyan) 0 62%,#172838 62%);display:grid;place-items:center;position:relative}.level-ring:after{content:"";position:absolute;inset:10px;border-radius:50%;background:#0b151f}.level-ring span{z-index:2;display:flex;align-items:baseline}.level-ring b{font:800 23px Manrope}.level-ring small{font-size:8px;color:#688596}.center-note{text-align:center;font-size:8px;color:#6e8b9b;line-height:1.5}.transactions{display:flex;flex-direction:column;margin-top:12px}.transaction{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:9px 0}.transaction div{display:flex;flex-direction:column}.transaction b{font-size:8px}.transaction small{font-size:7px;color:#6c8899;margin-top:2px}.transaction strong{font-size:9px;color:#62e0df}.transaction.negative strong{color:#eab46b}.mvp-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:13px}.mvp-stats article{border:1px solid var(--line);background:#0b141f;border-radius:16px;padding:15px;display:flex;flex-direction:column}.mvp-stats span{font-size:8px;color:#6f8b9a}.mvp-stats strong{font:800 24px Manrope;margin:7px 0 3px}.mvp-stats small{font-size:7px;color:#557181}.member-toolbar{display:grid;grid-template-columns:1fr 180px auto;gap:8px;margin-bottom:10px}.member-search{height:42px;border:1px solid var(--line);border-radius:12px;background:#0b141f;display:flex;align-items:center;padding:0 11px;gap:8px}.member-search svg{color:#617d8d}.member-search input{flex:1;background:transparent;border:0;color:#d9eaf0;outline:none;font-size:9px}.member-toolbar select{border:1px solid var(--line);background:#0b141f;color:#8ea7b5;border-radius:12px;padding:0 10px;font-size:9px}.member-table-wrap{overflow:auto;border-radius:16px}.member-table{width:100%;border-collapse:collapse;min-width:800px}.member-table th{text-align:left;font-size:7px;letter-spacing:.7px;color:#587787;text-transform:uppercase;padding:12px;background:#0d1925}.member-table td{border-top:1px solid var(--line);padding:12px;font-size:8px;color:#8ea5b2}.person{display:flex;align-items:center;gap:9px}.person-avatar{width:34px;height:34px;border-radius:10px;background:linear-gradient(145deg,#0d8fd5,#16c2ce);display:grid;place-items:center;color:#fff;font-weight:800}.person div{display:flex;flex-direction:column}.person b{font-size:9px;color:#d9e8ee}.person small{font-size:7px;color:#607d8d;margin-top:2px}.contact-actions{display:flex;gap:5px}.contact-actions a{width:26px;height:26px;border-radius:8px;border:1px solid var(--line);display:grid;place-items:center;color:#74a0b2}.contact-actions svg{width:13px}.table-open{border:0;background:transparent;color:#5ee0df;font-size:8px}.modal-layer{position:fixed;z-index:200;inset:0;display:none;align-items:center;justify-content:center;padding:20px}.modal-layer.show{display:flex}.modal-backdrop{position:absolute;inset:0;background:rgba(1,5,10,.72);backdrop-filter:blur(8px)}.modal{position:relative;z-index:2;width:min(520px,96vw);border:1px solid rgba(255,255,255,.12);background:#0b141e;color:#e9f5f8;border-radius:24px;box-shadow:var(--shadow);padding:26px}.modal-close{position:absolute;right:15px;top:15px;width:34px;height:34px;border-radius:10px;border:1px solid var(--line);background:#111d28;color:#8da6b4;display:grid;place-items:center}.login-brand{display:flex;align-items:center;gap:11px}.login-brand img{width:48px;height:48px;border-radius:14px}.login-brand div{display:flex;flex-direction:column}.login-brand span{font-size:9px;font-weight:800;letter-spacing:.9px}.login-brand small{font-size:8px;color:#678393;margin-top:3px}.modal h2{font:800 27px Manrope;margin:24px 0 8px}.modal>p{font-size:9px;line-height:1.5;color:#7892a1}.role-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}.role-card{min-height:150px;border-radius:16px;border:1px solid var(--line);background:#0e1924;color:#e6f3f7;text-align:left;padding:17px;display:flex;flex-direction:column}.role-card>span{width:38px;height:38px;border-radius:11px;background:rgba(24,199,214,.11);color:#63e2e2;display:grid;place-items:center}.role-card b{font:800 13px Manrope;margin-top:20px}.role-card small{font-size:8px;color:#6f8999;line-height:1.45;margin-top:5px}.role-card:hover{border-color:rgba(24,199,214,.35);background:#101f2b}.demo-note{margin-top:12px;padding:9px 11px;border-radius:10px;background:#0c1a25;color:#668393;font-size:8px;text-align:center}.form-modal{background:#f7fbfd;color:#183446}.form-modal .modal-close{background:#fff;color:#67808f;border-color:#dae5e9}.form-modal h2{color:#163244}.form-modal>p{color:#77909e}.form-modal form{display:flex;flex-direction:column;gap:12px;margin-top:18px}.form-modal .eyebrow{color:#0a91be}.duplicate-alert{padding:11px;border-radius:11px;background:#fff2db;border:1px solid #ebd099;color:#76521c;font-size:8px;line-height:1.5}.search-overlay{position:fixed;z-index:190;inset:0;background:rgba(0,4,8,.65);backdrop-filter:blur(7px);display:none;align-items:flex-start;justify-content:center;padding-top:12vh}.search-overlay.show{display:flex}.search-box{width:min(650px,92vw);border:1px solid rgba(255,255,255,.12);border-radius:20px;background:#0b141e;box-shadow:var(--shadow);overflow:hidden}.search-input{height:58px;display:flex;align-items:center;gap:10px;padding:0 16px;border-bottom:1px solid var(--line)}.search-input input{flex:1;border:0;outline:0;background:transparent;color:#e4f2f6}.search-input kbd{font-size:8px;color:#658293;border:1px solid var(--line);padding:4px 6px;border-radius:6px}.search-results{padding:10px}.search-result{width:100%;border:0;background:transparent;color:#dceaf0;border-radius:10px;padding:11px;text-align:left;display:flex;justify-content:space-between}.search-result:hover{background:#101d29}.search-result b{font-size:9px}.search-result span{font-size:8px;color:#658293}.toast{position:fixed;z-index:300;right:28px;bottom:28px;min-width:300px;max-width:380px;padding:12px;border-radius:14px;border:1px solid rgba(255,255,255,.1);background:#0a1722;box-shadow:var(--shadow);display:flex;gap:10px;align-items:center;transform:translateY(130%);opacity:0;transition:.28s}.toast.show{transform:none;opacity:1}.toast>span{width:34px;height:34px;border-radius:10px;background:linear-gradient(145deg,var(--blue),var(--cyan));display:grid;place-items:center}.toast div{display:flex;flex-direction:column}.toast b{font-size:9px}.toast small{font-size:8px;color:#7892a1;margin-top:3px}.mobile-bottom,.drawer-backdrop,.mobile-drawer{display:none}
@media(max-width:1120px){.home-grid{grid-template-columns:1fr}.home-side{grid-template-columns:.45fr 1fr;grid-template-rows:auto}.search-card{min-height:170px}.home-bottom{grid-template-columns:1fr 1fr}.credits-card{grid-column:1/-1;min-height:190px}.proposal-grid{grid-template-columns:1fr 1fr}.shop-grid{grid-template-columns:1fr 1fr}.student-grid{grid-template-columns:1fr 1fr}.student-grid .wide-card{grid-column:1/-1}.mvp-stats{grid-template-columns:1fr 1fr}}
@media(max-width:820px){body{background:#060b12}.page-wrap{padding:0}.app-frame{height:auto;min-height:100vh;border-radius:0;border:0;grid-template-columns:1fr}.icon-rail{display:none}.topbar{height:62px;padding:0 13px;position:sticky;top:0}.mobile-menu{display:grid;place-items:center;width:34px;height:34px}.brand-title strong{font-size:12px}.brand-title span{display:none}.search-pill,.points-pill span,.account-pill b{display:none}.search-pill{min-width:40px;width:40px;padding:0;justify-content:center}.points-pill{padding:0 9px}.account-pill{padding:0 5px}.views{padding:12px 12px 84px;overflow:visible}.home-grid{display:block}.hero-card{min-height:500px;padding:29px 22px}.hero-copy h1{font-size:52px;letter-spacing:-3px}.hero-copy p{font-size:11px}.hero-stats{gap:19px}.hero-logo{right:20px;bottom:18px}.hero-logo img{width:54px;height:54px}.home-side{display:grid;grid-template-columns:1fr 1fr;margin-top:12px}.search-card{min-height:160px}.home-bottom{grid-template-columns:1fr}.credits-card{grid-column:auto}.proposal-grid,.shop-grid{grid-template-columns:1fr}.agenda-layout,.join-grid{grid-template-columns:1fr}.join-grid{padding:10px}.join-copy h1{font-size:45px}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.section-head{align-items:flex-start;flex-direction:column}.section-head h1,.student-head h1{font-size:35px}.agenda-layout{grid-template-columns:1fr}.student-head{align-items:flex-start;flex-direction:column;gap:16px}.credit-wallet{width:100%}.student-grid{grid-template-columns:1fr}.student-grid .wide-card{grid-column:auto}.mvp-stats{grid-template-columns:1fr 1fr}.member-toolbar{grid-template-columns:1fr}.member-toolbar select{height:42px}.mobile-bottom{position:fixed;display:grid;z-index:100;left:0;right:0;bottom:0;height:70px;grid-template-columns:repeat(5,1fr);background:rgba(7,13,21,.96);backdrop-filter:blur(16px);border-top:1px solid var(--line);padding:0 5px}.mobile-bottom button{border:0;background:transparent;color:#6f8796;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:7px}.mobile-bottom svg{width:18px}.mobile-bottom button.active{color:#64e2e2}.mobile-bottom .mobile-create{transform:translateY(-8px)}.mobile-bottom .mobile-create>span{width:44px;height:44px;border-radius:15px;background:linear-gradient(145deg,var(--blue),var(--cyan));color:#fff;display:grid;place-items:center;box-shadow:0 8px 25px rgba(16,163,211,.25)}.mobile-bottom .mobile-create small{color:#7691a0}.drawer-backdrop.show{display:block;position:fixed;z-index:120;inset:0;background:rgba(0,4,9,.7)}.mobile-drawer{display:flex;position:fixed;z-index:130;left:0;top:0;bottom:0;width:min(84vw,330px);background:#08111b;border-right:1px solid var(--line);padding:16px;flex-direction:column;transform:translateX(-103%);transition:.25s}.mobile-drawer.show{transform:none}.drawer-head{display:flex;align-items:center;justify-content:space-between}.drawer-brand{display:flex;align-items:center;gap:9px}.drawer-brand img{width:45px;height:45px;border-radius:14px}.drawer-brand span{display:flex;flex-direction:column}.drawer-brand b{font-size:10px}.drawer-brand small{font-size:7px;color:#6d8999}.drawer-head>button{width:34px;height:34px;border-radius:10px;border:1px solid var(--line);background:#0e1924;color:#809aaa}.drawer-links{display:flex;flex-direction:column;gap:5px;margin-top:25px;flex:1}.drawer-links button{height:45px;border:0;background:transparent;color:#8ba3b0;border-radius:11px;display:flex;align-items:center;gap:11px;padding:0 11px;text-align:left;font-size:9px}.drawer-links button:hover{background:#0e1b27;color:#fff}.role-grid{grid-template-columns:1fr}.toast{left:12px;right:12px;bottom:82px;min-width:0}}
@media(max-width:480px){.home-side{grid-template-columns:1fr}.hero-card{min-height:540px}.hero-copy h1{font-size:46px}.hero-actions{flex-direction:column}.hero-actions button{width:100%}.hero-stats{display:grid;grid-template-columns:1fr 1fr}.hero-logo{opacity:.85}.event-item{grid-template-columns:52px 1fr}.event-item>button{grid-column:2;width:max-content}.calendar-card{padding:15px}.mvp-stats{grid-template-columns:1fr 1fr}.section-head .primary-btn{width:100%}.filters{overflow:auto}.shop-grid{grid-template-columns:1fr}.toast{bottom:78px}}

/* ===== V4+ extensions: preserve original V4 visual language ===== */
.phase-badge{display:inline-flex;margin-top:10px;padding:7px 11px;border-radius:999px;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--line);background:rgba(255,255,255,.08);color:var(--text)}
.phase-badge.white-side{background:rgba(255,255,255,.9);color:#111827;border-color:#fff}.phase-badge.oro{background:rgba(214,166,57,.18);color:#f3c869;border-color:rgba(214,166,57,.45)}.phase-badge.plata{background:rgba(190,204,218,.14);color:#d9e3ed;border-color:rgba(190,204,218,.38)}.phase-badge.cobre{background:rgba(185,111,65,.16);color:#dc9b72;border-color:rgba(185,111,65,.4)}.phase-badge.directiva{background:rgba(0,157,224,.16);color:#77d8ff;border-color:rgba(0,157,224,.42)}
.section-subhead{margin:34px 0 14px}.section-subhead h2{margin:5px 0 0;font-size:1.35rem}
.redeem-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.redeem-card{background:var(--panel-2);border:1px solid var(--line);border-radius:22px;padding:16px}.redeem-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.redeem-card h4{margin:0 0 5px}.redeem-card p{margin:0;color:var(--muted);font-size:.86rem}.status-chip{display:inline-flex;padding:6px 9px;border-radius:999px;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;background:rgba(255,196,87,.1);color:#ffc457;border:1px solid rgba(255,196,87,.25)}.status-chip.done{background:rgba(53,214,151,.1);color:#5ee2a9;border-color:rgba(53,214,151,.25)}
.vote-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.6fr);gap:18px}.ranking-card{background:var(--panel);border:1px solid var(--line);border-radius:26px;padding:16px}.rank-row{display:grid;grid-template-columns:56px 1fr auto;align-items:center;gap:14px;padding:16px;border-radius:18px;border-bottom:1px solid var(--line)}.rank-row:last-child{border-bottom:0}.rank-pos{width:44px;height:44px;border-radius:14px;background:rgba(0,157,224,.1);color:var(--accent);display:grid;place-items:center;font-weight:900}.rank-row h3{margin:0 0 4px;font-size:1rem}.rank-row p{margin:0;color:var(--muted);font-size:.84rem}.vote-count{text-align:right}.vote-count b{display:block;font-size:1.15rem}.vote-count small{color:var(--muted)}
.news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.news-card{background:var(--panel);border:1px solid var(--line);border-radius:24px;padding:18px;min-height:190px;display:flex;flex-direction:column}.news-card .mini-label{margin-bottom:10px}.news-card h3{margin:0 0 8px}.news-card p{margin:0;color:var(--muted);line-height:1.55}.news-card small{margin-top:auto;padding-top:18px;color:var(--muted)}
.gallery-grid-v4{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.gallery-card-v4{position:relative;min-height:240px;border-radius:26px;overflow:hidden;border:1px solid var(--line);background:linear-gradient(145deg,rgba(0,157,224,.15),rgba(255,255,255,.02));padding:18px;display:flex;align-items:flex-end}.gallery-art{position:absolute;inset:0;display:grid;place-items:center;font-size:4.4rem;opacity:.55}.gallery-info{position:relative;z-index:2;padding:14px;border-radius:18px;background:rgba(8,13,22,.68);backdrop-filter:blur(15px);width:100%}.gallery-info small{color:var(--accent)}.gallery-info h3{margin:5px 0 5px}.gallery-info p{margin:0;color:#b7c2d2;font-size:.84rem}
.notification-feed{display:grid;gap:12px}.notification-card{display:grid;grid-template-columns:48px 1fr auto;gap:14px;align-items:flex-start;background:var(--panel);border:1px solid var(--line);border-radius:22px;padding:15px 16px}.notification-icon{width:44px;height:44px;border-radius:14px;background:rgba(0,157,224,.1);display:grid;place-items:center;font-size:1.15rem}.notification-card h3{margin:1px 0 5px;font-size:.98rem}.notification-card p{margin:0;color:var(--muted);font-size:.86rem}.notification-card time{color:var(--muted);font-size:.76rem}
.chat-layout{display:grid;grid-template-columns:270px minmax(0,1fr);gap:18px;min-height:580px}.active-users-card,.chat-card{background:var(--panel);border:1px solid var(--line);border-radius:26px;padding:16px}.active-user-row{display:flex;align-items:center;gap:11px;padding:12px 8px;border-bottom:1px solid var(--line)}.active-user-row:last-child{border-bottom:0}.online-dot{width:8px;height:8px;background:#4ee2a4;border-radius:50%;box-shadow:0 0 0 4px rgba(78,226,164,.08)}.active-user-row b{display:block;font-size:.88rem}.active-user-row small{color:var(--muted)}.chat-card{display:flex;flex-direction:column}.chat-messages{flex:1;overflow:auto;display:flex;flex-direction:column;gap:10px;padding:6px}.chat-bubble{max-width:75%;padding:11px 13px;border-radius:16px 16px 16px 5px;background:var(--panel-2);border:1px solid var(--line)}.chat-bubble.self{margin-left:auto;border-radius:16px 16px 5px 16px;background:rgba(0,157,224,.12);border-color:rgba(0,157,224,.28)}.chat-bubble small{display:block;color:var(--muted);font-size:.7rem;margin-bottom:4px}.chat-bubble p{margin:0;font-size:.9rem;line-height:1.45}.chat-compose{display:grid;grid-template-columns:1fr auto;gap:10px;padding-top:12px;border-top:1px solid var(--line)}.chat-compose input{background:var(--panel-2);border:1px solid var(--line);border-radius:15px;padding:0 14px;color:var(--text);outline:none}
.internal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:18px}.internal-wide{grid-column:1/-1}.phase-list{display:grid;gap:10px}.phase-user{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:12px;border-radius:16px;background:var(--panel-2);border:1px solid var(--line)}.phase-user-main{display:flex;align-items:center;gap:10px}.phase-user-main .person-avatar{flex:0 0 auto}.phase-user-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.phase-user-controls select,.gift-form select,.gift-form input{background:var(--panel-2);border:1px solid var(--line);color:var(--text);border-radius:12px;padding:10px 11px;outline:none}.phase-user-controls button{border:1px solid var(--line);background:transparent;color:var(--text);border-radius:12px;padding:9px 10px}.gift-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.gift-form #giftReason,.gift-form button{grid-column:1/-1}.gift-form .hidden-field{display:none}.inventory-list{display:grid;gap:10px}.inventory-row{display:grid;grid-template-columns:1.4fr 1fr auto auto;gap:12px;align-items:center;padding:13px;border-radius:16px;background:var(--panel-2);border:1px solid var(--line)}.inventory-row b{font-size:.9rem}.inventory-row small{color:var(--muted)}.inventory-row button{border:1px solid var(--line);background:transparent;color:var(--text);border-radius:11px;padding:8px 9px}
.role-grid{grid-template-columns:repeat(3,1fr)}
@media(max-width:1150px){.news-grid,.gallery-grid-v4,.redeem-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.vote-layout,.chat-layout{grid-template-columns:1fr}.internal-grid{grid-template-columns:1fr}.internal-wide{grid-column:auto}.gift-form{grid-template-columns:1fr}.gift-form #giftReason,.gift-form button{grid-column:auto}.role-grid{grid-template-columns:1fr}}
@media(max-width:760px){.news-grid,.gallery-grid-v4,.redeem-grid{grid-template-columns:1fr}.rank-row{grid-template-columns:44px 1fr}.vote-count{grid-column:2;text-align:left}.chat-layout{min-height:500px}.inventory-row{grid-template-columns:1fr 1fr}.inventory-row .status-chip{justify-self:start}.phase-user{grid-template-columns:1fr}.phase-user-controls{justify-content:flex-start}.chat-bubble{max-width:88%}}

/* ===== Definitive edition: preserve V4 layout, add iPhone-like glass and complete modules ===== */
:root{--text:var(--ink);--accent:var(--cyan)}
.topbar,.mini-card,.activity-card,.calendar-card,.form-card,.dash-card,.member-table-wrap,.ranking-card,.news-card,.active-users-card,.chat-card,.redeem-card,.project-card-v4,.representative-card,.document-row-v4,.activate-card,.explore-tile{
  background:linear-gradient(180deg,rgba(17,30,43,.72),rgba(7,18,29,.68));
  backdrop-filter:blur(22px) saturate(135%);-webkit-backdrop-filter:blur(22px) saturate(135%);
  border-color:rgba(255,255,255,.10);box-shadow:inset 0 1px 0 rgba(255,255,255,.045)
}
.app-frame{background:linear-gradient(180deg,rgba(10,16,25,.94),rgba(7,16,26,.92));backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}
.icon-rail{background:rgba(8,13,20,.78);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
.home-explore-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:14px}
.explore-tile{border:1px solid var(--line);border-radius:20px;min-height:86px;padding:14px;color:var(--ink);display:grid;grid-template-columns:42px 1fr 18px;align-items:center;gap:11px;text-align:left}
.explore-tile:hover{transform:translateY(-2px);border-color:rgba(24,199,214,.23)}
.explore-tile>.explore-icon{width:42px;height:42px;border-radius:14px;background:linear-gradient(145deg,rgba(11,142,216,.26),rgba(24,199,214,.17));display:grid;place-items:center;color:#7ce9e6}
.explore-tile>b,.explore-tile span b{display:block;font-size:.82rem}.explore-tile small{display:block;color:#7f9aaa;font-size:.68rem;margin-top:3px}.explore-tile>svg{color:#527384;width:16px}
.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.project-card-v4{border:1px solid var(--line);border-radius:24px;padding:18px}.project-top,.project-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px}.project-top small{color:var(--muted)}.project-card-v4 h3{font:800 1.12rem Manrope;margin:14px 0 8px}.project-card-v4 p{margin:0;color:var(--muted);line-height:1.55}.project-card-v4 .progress{margin:18px 0 10px}.project-bottom b{font-size:.8rem;color:#cbeef3}.project-bottom .text-btn{margin:0}
.representative-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.representative-card{border:1px solid var(--line);border-radius:24px;padding:18px;display:flex;flex-direction:column;align-items:flex-start}.representative-avatar{width:58px;height:58px;border-radius:18px;background:linear-gradient(145deg,var(--blue),var(--cyan));display:grid;place-items:center;font:800 1rem Manrope;margin-bottom:12px}.representative-card h3{margin:12px 0 4px}.representative-card>p{margin:0;color:var(--muted);font-size:.82rem}.representative-contact{display:grid;gap:8px;margin-top:16px;width:100%}.representative-contact a{border:1px solid var(--line);border-radius:12px;padding:9px 10px;color:#bcdce5;display:flex;align-items:center;gap:8px;font-size:.75rem}.representative-contact svg{width:16px}
.document-list{display:grid;gap:12px}.document-row-v4{border:1px solid var(--line);border-radius:21px;padding:14px;display:grid;grid-template-columns:50px 1fr auto;gap:14px;align-items:center}.document-icon{width:48px;height:48px;border-radius:15px;background:rgba(24,199,214,.10);display:grid;place-items:center;color:#77e8e8}.document-row-v4 h3{margin:5px 0 3px;font-size:.95rem}.document-row-v4 p{margin:0;color:var(--muted);font-size:.76rem}
.orientation-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:16px}.orientation-form{display:grid;gap:10px}.orientation-form select,.orientation-form input,.orientation-form textarea,.phase-filter{background:#0d1a27;border:1px solid var(--line);border-radius:13px;color:var(--ink);padding:11px 12px;outline:none}.orientation-form textarea{resize:vertical}.contact-big-list{display:grid;gap:10px}.contact-big-list a,.contact-big-list button{border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.025);color:var(--ink);padding:12px;display:grid;grid-template-columns:38px 1fr;align-items:center;gap:11px;text-align:left}.contact-big-list svg{width:20px;color:#79e5e6}.contact-big-list b{display:block}.contact-big-list small{display:block;color:var(--muted);margin-top:2px}
.activate-card{border:1px solid var(--line);border-radius:18px;padding:14px;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px}.activate-card b,.activate-card small{display:block}.activate-card small{color:var(--muted);font-size:.75rem;margin-top:3px}
.mini-redeems{display:grid;gap:8px}.mini-redeem{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px;border-radius:13px;background:#0d1a27;border:1px solid var(--line)}.mini-redeem b,.mini-redeem small{display:block}.mini-redeem b{font-size:.8rem}.mini-redeem small{font-size:.7rem;color:var(--muted);margin-top:2px}
.rank-metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:12px 0 16px}.rank-metrics article{background:rgba(12,26,40,.72);border:1px solid var(--line);border-radius:16px;padding:12px}.rank-metrics b{display:block;font:800 1.1rem Manrope}.rank-metrics span{font-size:.67rem;color:var(--muted)}
.phase-filter{width:100%;margin:0 0 10px}
.member-toolbar{grid-template-columns:minmax(240px,1.6fr) minmax(145px,.55fr) minmax(145px,.55fr) auto}
@media(max-width:1250px){.home-explore-grid,.representative-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rank-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.member-toolbar{grid-template-columns:1fr 1fr}}
@media(max-width:880px){.project-grid,.orientation-layout{grid-template-columns:1fr}.document-row-v4{grid-template-columns:44px 1fr}.document-row-v4 .soft-btn{grid-column:2;width:max-content}.member-toolbar{grid-template-columns:1fr}.rank-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.home-explore-grid,.representative-grid{grid-template-columns:1fr}.activate-card{align-items:flex-start;flex-direction:column}.document-row-v4{grid-template-columns:40px 1fr}.project-grid{grid-template-columns:1fr}}


/* ===== Premium V2 overrides ===== */
:root{--glass:rgba(12,27,43,.60);--glass-2:rgba(12,26,42,.78);--glass-line:rgba(168,220,255,.12);--premium-shadow:0 24px 70px rgba(0,8,18,.32)}
html,body{min-height:100%;overflow-x:hidden;overflow-y:auto}
body{background:radial-gradient(circle at 18% 16%,rgba(0,119,255,.17),transparent 34%),radial-gradient(circle at 82% 84%,rgba(17,199,214,.11),transparent 32%),linear-gradient(145deg,#02060c 0%,#06111d 46%,#03101b 100%)}
.page-wrap{min-height:100vh;padding:16px;align-items:flex-start;justify-content:stretch}
.app-frame{width:100%;max-width:none;height:auto;min-height:calc(100vh - 32px);border-radius:28px;background:linear-gradient(180deg,rgba(8,17,28,.92),rgba(5,14,23,.96));box-shadow:var(--premium-shadow),inset 0 1px 0 rgba(255,255,255,.03);overflow:hidden}
.app-main{min-height:calc(100vh - 32px)}
.views{overflow:visible;min-height:auto;padding:24px 26px 34px}
.topbar{position:sticky;top:0;height:72px;background:rgba(6,15,25,.70);backdrop-filter:blur(28px) saturate(130%);-webkit-backdrop-filter:blur(28px) saturate(130%);border-bottom-color:rgba(255,255,255,.07)}
.icon-rail{background:linear-gradient(180deg,rgba(5,12,21,.86),rgba(5,14,24,.72));backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-right-color:rgba(255,255,255,.07)}
.brand-orb{width:58px;height:58px;border-radius:17px;background:#078fdc;padding:0;box-shadow:0 12px 30px rgba(0,126,222,.22),inset 0 0 0 1px rgba(255,255,255,.12)}
.brand-orb img{object-fit:cover;transform:scale(1.01)}
.rail-btn{border-radius:14px}.rail-btn:hover,.rail-btn.active{background:rgba(13,148,229,.15);border-color:rgba(59,184,255,.18);box-shadow:none}
.search-pill,.points-pill,.account-pill,.icon-top{background:rgba(12,27,43,.64);backdrop-filter:blur(18px);border-color:rgba(255,255,255,.08);border-radius:14px}
.account-pill{min-width:112px;justify-content:flex-start}.account-pill b{font-size:10px}
.mini-card,.activity-card,.calendar-card,.form-card,.dash-card,.member-table-wrap,.proposal-card,.product-card,.news-card,.ranking-card,.chat-card,.active-users-card,.project-card-v4,.representative-card,.document-row-v4,.notification-card,.redeem-card,.gallery-card-v4{background:linear-gradient(180deg,rgba(15,31,48,.68),rgba(8,21,35,.72));backdrop-filter:blur(22px) saturate(120%);-webkit-backdrop-filter:blur(22px) saturate(120%);border-color:var(--glass-line);box-shadow:0 16px 42px rgba(0,8,18,.16);border-radius:18px}
.hero-card{min-height:480px;border-radius:22px;background:radial-gradient(circle at 80% 18%,rgba(27,203,229,.21),transparent 30%),radial-gradient(circle at 16% 80%,rgba(0,112,255,.20),transparent 36%),linear-gradient(125deg,#08233d 0%,#0a4d86 47%,#087bb4 100%);box-shadow:0 28px 80px rgba(0,18,40,.30)}
.hero-copy h1{font-size:clamp(52px,5.5vw,82px);letter-spacing:-4.3px}.hero-copy p{font-size:14px}
.hero-logo img{width:78px;height:78px;border-radius:18px}.hero-logo span{display:none}
.section-head h1,.student-head h1{letter-spacing:-1.2px}.section-head p{max-width:720px;line-height:1.65}
.primary-btn,.ghost-btn,.white-btn,.soft-btn{border-radius:12px}.primary-btn{background:linear-gradient(135deg,#087ee5,#12b8dd);box-shadow:0 10px 28px rgba(0,128,220,.18)}
.student-head{background:linear-gradient(135deg,rgba(9,48,82,.78),rgba(8,94,142,.44));border:1px solid rgba(255,255,255,.09);padding:24px;border-radius:20px;box-shadow:0 20px 55px rgba(0,10,25,.18)}
.credit-wallet{background:linear-gradient(145deg,#0d6fb3,#14b7d4);border:1px solid rgba(255,255,255,.14);box-shadow:0 14px 40px rgba(4,121,190,.20)}
.student-grid{gap:14px}.student-grid .dash-card{padding:18px}.action-grid{grid-template-columns:repeat(3,1fr)}
.security-card{display:flex;flex-direction:column;gap:14px}.security-body{display:flex;gap:12px;align-items:center}.security-body div{display:flex;flex-direction:column;gap:3px}.security-body small{font-size:8px;color:#7893a2}.security-icon{width:42px;height:42px;border-radius:13px;background:rgba(17,180,220,.10);color:#65e1eb;display:grid;place-items:center}
.premium-login{background:linear-gradient(180deg,rgba(10,24,39,.96),rgba(6,16,27,.98));backdrop-filter:blur(28px);border:1px solid rgba(255,255,255,.10)}
.credential-form{display:flex;flex-direction:column;gap:12px;margin-top:18px}.credential-form label{display:flex;flex-direction:column;gap:7px}.credential-form label>span{font-size:8px;text-transform:uppercase;letter-spacing:.7px;color:#7593a4}.credential-form input,.credential-form select{height:46px;border-radius:12px;border:1px solid rgba(255,255,255,.10);background:#0b1724;color:#eaf8ff;padding:0 13px;outline:none}.input-with-icon{display:flex;align-items:center;gap:9px;height:46px;border-radius:12px;border:1px solid rgba(255,255,255,.10);background:#0b1724;padding:0 12px}.input-with-icon input{flex:1;height:auto;border:0;background:transparent;padding:0}.input-with-icon svg{color:#6f91a4}.demo-credentials{margin-top:13px;border:1px solid rgba(255,255,255,.08);border-radius:11px;padding:10px 12px;color:#7e9bad;font-size:8px}.demo-credentials summary{cursor:pointer;color:#9bb9c8}.demo-credentials p{line-height:1.7}
.party-dashboard{max-width:920px}.party-head{align-items:end}.party-tabs{display:flex;gap:7px;padding:5px;background:rgba(8,20,34,.72);border:1px solid rgba(255,255,255,.08);border-radius:14px}.party-tabs button{border:0;background:transparent;color:#7994a4;padding:10px 18px;border-radius:10px;font-size:10px;font-weight:800}.party-tabs button.active{background:linear-gradient(135deg,#087ee5,#10b9dc);color:#fff}.party-list{display:flex;flex-direction:column;gap:10px;margin-top:18px}.party-code-card{min-height:76px;border:1px solid rgba(255,255,255,.09);background:linear-gradient(180deg,rgba(14,31,49,.74),rgba(8,21,34,.74));border-radius:16px;padding:16px 18px;display:flex;align-items:center;justify-content:space-between;gap:14px}.party-code-card code{font:800 18px Manrope;letter-spacing:2px;color:#eefcff}.party-code-card small{display:block;margin-top:5px;color:#668697;font-size:8px}.party-code-card button{border:0;border-radius:11px;background:rgba(16,174,219,.14);color:#69e5ec;padding:10px 12px;font-size:9px;font-weight:800}.party-code-card.claimed{opacity:.58}.party-code-card.claimed button{display:none}
.admin-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:14px}.account-list{display:flex;flex-direction:column;gap:8px}.account-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:12px;background:rgba(8,20,33,.46)}.account-row>div{display:flex;flex-direction:column;gap:4px}.account-row b{font-size:9px}.account-row small{font-size:8px;color:#6f8a9b}.account-row span{font-size:8px;color:#6ee0e5}.account-row button{border:0;background:transparent;color:#79dfe5;font-size:8px}
.premium-gate{max-width:650px;margin:30px auto}.premium-gate img{border-radius:18px}
.product-art{background:linear-gradient(145deg,rgba(5,126,213,.24),rgba(16,200,215,.10))}
@media(max-width:1100px){.app-frame{grid-template-columns:78px 1fr}.home-grid{grid-template-columns:1fr}.home-side{grid-template-columns:1fr 1fr;grid-template-rows:auto}.home-bottom{grid-template-columns:1fr 1fr}.credits-card{grid-column:1/-1}.admin-grid{grid-template-columns:1fr}.action-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){body{background:linear-gradient(180deg,#040911,#07131f)}.page-wrap{padding:0}.app-frame{min-height:100vh;border-radius:0}.app-main{min-height:100vh}.topbar{height:66px;padding:0 12px;background:rgba(5,14,24,.76);backdrop-filter:blur(30px) saturate(140%);-webkit-backdrop-filter:blur(30px) saturate(140%)}.views{padding:14px 12px 92px}.hero-card{min-height:520px;border-radius:20px;padding:30px 22px}.hero-copy h1{font-size:50px;line-height:.94}.hero-copy p{font-size:11px}.home-side{grid-template-columns:1fr}.home-bottom{grid-template-columns:1fr}.student-head{padding:20px;border-radius:18px}.credit-wallet{width:100%;border-radius:17px}.student-grid{grid-template-columns:1fr}.action-grid{grid-template-columns:1fr 1fr}.party-head{align-items:flex-start}.party-tabs{width:100%}.party-tabs button{flex:1}.party-code-card{align-items:flex-start;flex-direction:column}.party-code-card code{font-size:17px}.mobile-bottom{height:74px;background:rgba(5,14,24,.80);backdrop-filter:blur(30px) saturate(140%);-webkit-backdrop-filter:blur(30px) saturate(140%);border-top-color:rgba(255,255,255,.08);padding-bottom:env(safe-area-inset-bottom)}.mobile-drawer{background:rgba(5,14,24,.95);backdrop-filter:blur(30px)}.modal-layer{align-items:flex-end;padding:0}.modal{width:100%;max-width:none;border-radius:24px 24px 0 0;padding:24px 20px calc(24px + env(safe-area-inset-bottom));max-height:92vh;overflow:auto}.search-overlay{padding-top:8vh}.search-box{width:calc(100% - 24px)}.top-actions{gap:6px}.account-pill{min-width:40px;width:40px;padding:0;justify-content:center}.account-pill b{display:none}}


/* ===== Mobile layout hotfix V2.2 ===== */
@media (max-width:820px){
  html,body{width:100%;max-width:100%;margin:0;overflow-x:hidden!important;-webkit-text-size-adjust:100%}
  body{min-width:0!important}
  .page-wrap{display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;padding:0!important;margin:0!important}
  .app-frame{display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;min-height:100dvh!important;height:auto!important;margin:0!important;border:0!important;border-radius:0!important;overflow:visible!important;grid-template-columns:none!important}
  .icon-rail{display:none!important}
  .app-main{display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;min-height:100dvh!important;margin:0!important;overflow:visible!important}
  .topbar{width:100%!important;max-width:100%!important;left:0!important;right:0!important;padding-left:max(12px,env(safe-area-inset-left))!important;padding-right:max(12px,env(safe-area-inset-right))!important}
  .views{display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;padding:14px max(12px,env(safe-area-inset-right)) calc(96px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))!important;overflow-x:hidden!important;overflow-y:visible!important}
  .view,.view.active,.home-grid,.home-side,.home-bottom,.proposal-grid,.shop-grid,.student-grid,.agenda-layout,.join-grid,.project-grid,.orientation-layout,.news-grid,.gallery-grid-v4,.redeem-grid,.vote-layout,.chat-layout,.internal-grid,.admin-grid{width:100%!important;max-width:100%!important;min-width:0!important}
  .home-grid,.home-side,.home-bottom,.proposal-grid,.shop-grid,.student-grid,.agenda-layout,.join-grid,.project-grid,.orientation-layout,.news-grid,.gallery-grid-v4,.redeem-grid,.vote-layout,.chat-layout,.internal-grid,.admin-grid{grid-template-columns:minmax(0,1fr)!important}
  .hero-card,.mini-card,.activity-card,.calendar-card,.form-card,.dash-card,.member-table-wrap,.proposal-card,.product-card,.news-card,.ranking-card,.chat-card,.active-users-card,.project-card-v4,.representative-card,.document-row-v4,.notification-card,.redeem-card,.gallery-card-v4,.student-head,.credit-wallet{width:100%!important;max-width:100%!important;min-width:0!important}
  .hero-card{min-height:auto!important;padding:30px 20px 28px!important}
  .hero-copy{width:100%!important;max-width:100%!important;min-width:0!important}
  .hero-copy h1{font-size:clamp(40px,12vw,54px)!important;line-height:.94!important;letter-spacing:-2.8px!important;overflow-wrap:anywhere}
  .hero-copy p{max-width:100%!important;font-size:12px!important;line-height:1.55!important}
  .hero-actions{width:100%!important;flex-wrap:wrap!important}
  .hero-actions button{max-width:100%!important}
  .hero-stats{width:100%!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important;margin-top:28px!important}
  .hero-logo{position:static!important;margin-top:24px!important;justify-content:flex-start!important}
  .hero-logo img{width:62px!important;height:62px!important;border-radius:16px!important}
  .home-side{display:grid!important;margin-top:12px!important;gap:12px!important}
  .home-bottom{display:grid!important;gap:12px!important}
  .quick-actions>button{min-width:0!important}
  .section-head,.student-head,.party-head{width:100%!important;max-width:100%!important;min-width:0!important}
  .section-head h1,.student-head h1{font-size:clamp(30px,9vw,40px)!important;line-height:1!important}
  .member-table-wrap,.table-wrap{overflow-x:auto!important;-webkit-overflow-scrolling:touch!important}
  table{min-width:720px!important}
  img,video,canvas,svg{max-width:100%}
  input,select,textarea,button{max-width:100%}
  .mobile-bottom{display:grid!important;width:100%!important;left:0!important;right:0!important;bottom:0!important;min-width:0!important;height:calc(74px + env(safe-area-inset-bottom))!important;padding:0 max(6px,env(safe-area-inset-right)) env(safe-area-inset-bottom) max(6px,env(safe-area-inset-left))!important;grid-template-columns:repeat(5,minmax(0,1fr))!important}
  .mobile-bottom button{min-width:0!important;overflow:hidden!important}
  .mobile-bottom button small,.mobile-bottom button>span:not(:first-child){white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
  .party-code-card{width:100%!important;max-width:100%!important;overflow:hidden!important}
  .party-code-card code{max-width:100%!important;white-space:normal!important;overflow-wrap:anywhere!important}
}

@media (max-width:430px){
  .topbar{height:60px!important}
  .views{padding-top:10px!important}
  .hero-card{padding:26px 18px 24px!important;border-radius:18px!important}
  .hero-copy h1{font-size:clamp(38px,12.5vw,50px)!important}
  .hero-stats{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}
  .hero-stats strong{font-size:16px!important}
  .hero-stats span{font-size:7px!important}
  .action-grid{grid-template-columns:1fr!important}
  .search-pill{display:none!important}
  .points-pill{height:38px!important}
  .account-pill{height:38px!important}
}

/* ===== Premium V2.3 · Quiénes somos + gobernanza de créditos + QR ===== */
.rail-nav{overflow-y:auto;overflow-x:visible;scrollbar-width:none;padding:2px 0}.rail-nav::-webkit-scrollbar{display:none}
.about-hero{min-height:430px;border-radius:26px;padding:42px;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);gap:28px;align-items:center;background:radial-gradient(circle at 82% 18%,rgba(36,209,219,.18),transparent 34%),linear-gradient(145deg,rgba(12,30,49,.96),rgba(7,17,28,.96));border:1px solid rgba(255,255,255,.08);overflow:hidden;position:relative}
.about-hero:after{content:"";position:absolute;width:430px;height:430px;border-radius:50%;border:1px solid rgba(255,255,255,.06);right:-140px;top:-130px;box-shadow:0 0 0 50px rgba(255,255,255,.018),0 0 0 105px rgba(255,255,255,.012)}
.about-copy{position:relative;z-index:2}.about-copy h1{font:800 clamp(42px,5vw,72px)/.95 Manrope;margin:16px 0 18px;letter-spacing:-3px}.about-copy h1 em{font-style:normal;color:#74ece9}.about-copy p{max-width:720px;color:#a7becb;font-size:13px;line-height:1.75}.about-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.instagram-cta svg{width:17px;height:17px}.about-logo-card{position:relative;z-index:2;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.035);backdrop-filter:blur(18px);border-radius:24px;padding:22px;display:flex;flex-direction:column;align-items:center;gap:16px}.about-logo-card img{width:min(220px,100%);aspect-ratio:1;border-radius:24px;object-fit:cover;box-shadow:0 22px 55px rgba(0,0,0,.28)}.about-logo-card span{font-size:8px;letter-spacing:2px;color:#78a0b3}
.about-values-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:14px}.about-value{border:1px solid rgba(255,255,255,.075);background:linear-gradient(180deg,rgba(13,27,42,.88),rgba(8,18,29,.88));border-radius:20px;padding:20px}.about-value>span{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:11px;background:rgba(23,199,214,.1);color:#72e3e7;font-size:9px;font-weight:800}.about-value h3{font:800 16px Manrope;margin:18px 0 8px}.about-value p{margin:0;color:#7f98a8;font-size:10px;line-height:1.55}.about-links-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:14px}
.governance-card{background:radial-gradient(circle at 95% 10%,rgba(18,126,231,.09),transparent 30%),linear-gradient(180deg,#0d1621,#09121c)}.review-list,.attendance-approval-list,.student-attendance-list{display:flex;flex-direction:column;gap:10px}.review-row,.attendance-row,.student-attendance-item,.attendance-empty,.review-empty{border:1px solid rgba(255,255,255,.08);background:rgba(8,21,34,.54);border-radius:16px;padding:14px}.review-row,.attendance-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center}.review-row h4,.attendance-row h4,.student-attendance-item h4{margin:8px 0 4px;font:800 13px Manrope}.review-row p,.attendance-row p,.student-attendance-item p{margin:0;color:#839dab;font-size:9px;line-height:1.5}.review-row small,.attendance-row small,.student-attendance-item small,.attendance-empty small{display:block;margin-top:6px;color:#668697;font-size:8px}.review-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.review-actions button{border:1px solid rgba(255,255,255,.09);border-radius:10px;padding:9px 11px;font-size:8px;font-weight:800}.review-actions .approve{background:rgba(35,207,169,.12);color:#72efcf}.review-actions .reject{background:rgba(255,92,92,.08);color:#ff9f9f}.attendance-toolbar{margin-bottom:10px}.attendance-toolbar input{width:100%;height:42px;border-radius:12px;border:1px solid rgba(255,255,255,.08);background:#0a1723;color:#eaf8ff;padding:0 12px;outline:none}.attendance-row.scanned{border-color:rgba(40,213,221,.55);box-shadow:0 0 0 2px rgba(24,199,214,.08),0 10px 32px rgba(8,145,206,.12)}.status-chip.rejected{background:rgba(255,92,92,.09);border-color:rgba(255,92,92,.16);color:#ffaaa9}
.student-attendance-item{display:grid;grid-template-columns:minmax(0,1fr) 118px;gap:14px;align-items:center}.personal-qr{width:112px;min-height:112px;border-radius:14px;background:#fff;padding:2px;display:grid;place-items:center;overflow:hidden}.personal-qr img,.personal-qr canvas{max-width:108px!important;max-height:108px!important}.qr-fallback{display:flex;flex-direction:column;align-items:center;gap:6px;color:#0a1623;text-align:center}.qr-fallback svg{width:42px;height:42px}.qr-fallback small{font-size:6px;word-break:break-all;color:#17344c}.attendance-empty{display:flex;flex-direction:column;gap:4px}.attendance-card-user{grid-column:span 2}.event-item button.registered{background:rgba(24,199,214,.09);color:#72e7e6;border-color:rgba(24,199,214,.18)}
@media(max-width:1100px){.about-values-grid,.about-links-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.about-hero{grid-template-columns:1fr}.attendance-card-user{grid-column:auto}}
@media(max-width:820px){.about-hero{min-height:auto;padding:26px 20px;border-radius:20px;grid-template-columns:1fr}.about-copy h1{font-size:clamp(38px,11vw,52px);letter-spacing:-2.4px}.about-logo-card{padding:16px}.about-logo-card img{width:150px}.about-values-grid,.about-links-grid{grid-template-columns:1fr 1fr}.review-row,.attendance-row{grid-template-columns:1fr}.review-actions{justify-content:flex-start}.student-attendance-item{grid-template-columns:1fr}.personal-qr{width:116px}.attendance-card-user{grid-column:auto}.instagram-cta{width:100%}.about-actions .ghost-btn{width:100%}}
@media(max-width:480px){.about-values-grid,.about-links-grid{grid-template-columns:1fr}.student-attendance-item{padding:12px}.personal-qr{width:112px;min-height:112px}.review-actions button{flex:1}.attendance-row small{overflow-wrap:anywhere}.rail-nav{overflow:visible}}

/* V2.3.2 · Party asignado por Admin */
.admin-wide{grid-column:1/-1}.party-admin-card{overflow:hidden}.party-admin-help{margin:0 0 14px;color:#7893a3;font-size:9px;line-height:1.65}.party-admin-form{display:grid;grid-template-columns:1.15fr .7fr 1.2fr auto;gap:9px;align-items:center}.party-admin-form .full{width:auto;white-space:nowrap}.party-admin-summary{display:flex;align-items:baseline;gap:7px;margin:17px 0 10px;color:#6f899a;font-size:8px}.party-admin-summary b{font-size:18px;color:#eafcff}.party-admin-list{max-height:360px;overflow:auto;padding-right:3px}.party-admin-row button{border:1px solid rgba(255,255,255,.08);background:rgba(238,83,104,.08);color:#ff9bac;border-radius:9px;padding:8px 10px;font-size:8px;font-weight:800}.party-code-card.assigned{opacity:1}.party-code-card.assigned .status-chip{flex:0 0 auto}.party-code-card.party-empty{opacity:1}.party-code-card.party-empty b{display:block;color:#eafcff;font-size:11px;margin-bottom:5px}
@media(max-width:820px){.party-admin-form{grid-template-columns:minmax(0,1fr)}.party-admin-form .full{width:100%}.party-admin-row{grid-template-columns:minmax(0,1fr) auto}.party-code-card.assigned{flex-direction:row;align-items:center}.party-code-card.assigned code{font-size:15px}}

/* V2.3.3 · Party carga masiva + copia individual */
.bulk-party-form{display:flex;flex-direction:column;gap:10px}.party-bulk-controls{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(150px,.65fr);gap:9px}.bulk-party-form textarea{width:100%;min-height:150px;resize:vertical;border:1px solid rgba(255,255,255,.09);background:rgba(6,18,30,.78);color:#eafcff;border-radius:14px;padding:14px 15px;font:700 12px/1.65 Manrope;letter-spacing:.5px;outline:none}.bulk-party-form textarea:focus{border-color:rgba(31,194,221,.45);box-shadow:0 0 0 3px rgba(23,190,216,.08)}.bulk-party-form textarea::placeholder{color:#567183;font-weight:600;letter-spacing:0}.party-bulk-footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.party-bulk-footer small{color:#6f899a;font-size:8px}.party-copy-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;min-height:72px}.party-copy-row code{overflow-wrap:anywhere}.party-copy-check{display:flex!important;align-items:center;gap:10px!important;background:transparent!important;padding:6px 4px!important;color:#9cb0bb!important;border:0!important;min-width:118px;justify-content:flex-start;font-size:10px!important}.party-copy-check.copied{color:#5edbe7!important}.party-checkbox{display:grid;place-items:center;width:31px;height:31px;flex:0 0 31px;border:2px solid #607382;border-radius:6px;background:rgba(255,255,255,.02);font:900 20px/1 Manrope;color:#fff}.party-copy-check.copied .party-checkbox{border-color:#16b9dc;background:linear-gradient(135deg,#0788e8,#11bdd8);box-shadow:0 8px 20px rgba(11,174,218,.18)}
@media(max-width:820px){.party-bulk-controls{grid-template-columns:1fr}.party-bulk-footer{align-items:stretch;flex-direction:column}.party-bulk-footer .primary-btn{width:100%}.party-copy-row{grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;flex-direction:unset!important}.party-copy-check{min-width:108px!important}.party-checkbox{width:30px;height:30px;flex-basis:30px}.bulk-party-form textarea{min-height:180px;font-size:11px}}
@media(max-width:480px){.party-copy-row{gap:10px;padding:14px}.party-copy-row code{font-size:13px!important;letter-spacing:.8px}.party-copy-check{min-width:94px!important;gap:7px!important;font-size:8px!important}.party-checkbox{width:28px;height:28px;flex-basis:28px}}


/* Party V2.3.4 — selección previa y copia por lote */
.party-selection-bar{margin-top:18px;padding:12px 14px;border:1px solid rgba(255,255,255,.08);background:rgba(8,22,36,.62);border-radius:15px;display:flex;align-items:center;justify-content:space-between;gap:14px;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.party-selection-bar>div{min-width:0}.party-selection-bar b{display:block;color:#eafcff;font-size:10px}.party-selection-bar small{display:block;margin-top:3px;color:#6f899a;font-size:8px;line-height:1.45}.party-copy-selected{width:auto!important;min-width:154px;padding:11px 15px!important}.party-copy-selected:disabled{opacity:.38;cursor:not-allowed;filter:saturate(.45)}
.party-copy-row{grid-template-columns:auto minmax(0,1fr)!important;justify-content:unset!important}.party-copy-row.selected{border-color:rgba(30,193,220,.34);background:linear-gradient(180deg,rgba(12,43,62,.86),rgba(8,25,39,.82));box-shadow:0 10px 28px rgba(4,153,203,.08)}
.party-select-check{border:0!important;background:transparent!important;padding:4px!important;display:grid!important;place-items:center;align-self:center;cursor:pointer}.party-select-check .party-checkbox{border-color:#607382;background:rgba(255,255,255,.02)}.party-select-check.selected .party-checkbox{border-color:#16b9dc;background:linear-gradient(135deg,#0788e8,#11bdd8);box-shadow:0 8px 20px rgba(11,174,218,.18)}
.party-code-content{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:18px}.party-code-content code{min-width:0;overflow-wrap:anywhere}.party-copy-status{flex:0 0 auto;margin:0!important;padding:6px 9px;border-radius:999px;font-size:8px!important;font-weight:800}.party-copy-status.pending{color:#879ca8;background:rgba(255,255,255,.045)}.party-copy-status.copied{color:#5edbe7;background:rgba(16,174,219,.12)}
@media(max-width:820px){.party-selection-bar{align-items:stretch;flex-direction:column}.party-copy-selected{width:100%!important}.party-copy-row{grid-template-columns:auto minmax(0,1fr)!important;align-items:center!important}.party-code-content{align-items:flex-start;flex-direction:column;gap:7px}.party-copy-status{padding:5px 8px}.party-select-check{min-width:36px!important}.party-select-check .party-checkbox{width:30px;height:30px;flex-basis:30px}}
@media(max-width:480px){.party-selection-bar{margin-top:14px;padding:11px 12px}.party-code-content code{font-size:13px!important;letter-spacing:.8px}.party-select-check .party-checkbox{width:28px;height:28px;flex-basis:28px}}


/* V2.3.7 · administración destructiva solo Admin */
.account-row-actions{display:flex!important;flex-direction:row!important;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.account-row-actions .danger-action,.danger-action{color:#ff9f9f!important}
.member-row-actions{display:flex;gap:6px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.member-row-actions .danger-action{border-color:rgba(255,92,92,.18)!important;background:rgba(255,92,92,.07)!important;color:#ff9f9f!important}

/* V2.3.9 · comunidad en MySQL: notificaciones, chat, universidad, galería y solicitudes */
.notification-top{position:relative}.notification-count{position:absolute;right:-5px;top:-6px;min-width:17px;height:17px;padding:0 4px;border-radius:999px;display:grid;place-items:center;background:#12b8dd;color:#04111c;font:900 7px Manrope;border:2px solid #07131f;box-shadow:0 5px 14px rgba(11,184,221,.28)}.notification-top>i{position:absolute;right:6px;top:7px;width:7px;height:7px;border-radius:50%;background:#55e3ec;box-shadow:0 0 0 3px rgba(52,207,228,.12)}.notification-card.unread{border-color:rgba(41,197,225,.28);background:linear-gradient(180deg,rgba(12,43,62,.78),rgba(8,24,38,.78))}.notification-card.unread:before{content:'';width:5px;height:5px;border-radius:50%;background:#4be0e8;position:absolute;left:10px;top:10px}.notification-card{position:relative}.notification-card time{white-space:nowrap}
.live-chip{display:inline-flex;align-items:center;gap:7px;border:1px solid rgba(255,255,255,.08);background:rgba(8,25,38,.62);padding:8px 10px;border-radius:999px;color:#7e9aaa;font-size:8px;font-weight:800}.live-chip i{width:7px;height:7px;border-radius:50%;background:#44d7bf;box-shadow:0 0 0 4px rgba(68,215,191,.08)}.chat-empty{min-height:220px;display:grid;place-items:center;align-content:center;gap:5px;text-align:center;color:#8aa4b2}.chat-empty b{color:#e9f8ff;font:800 12px Manrope}.chat-empty small{font-size:8px}.chat-bubble{position:relative}.chat-delete{position:absolute;right:8px;top:7px;width:20px;height:20px;border:0;border-radius:50%;background:rgba(255,255,255,.05);color:#78909e;font-size:13px;line-height:1}.chat-delete:hover{background:rgba(255,92,92,.10);color:#ff9f9f}
.news-card.has-image{padding:0;overflow:hidden}.news-image{height:170px;overflow:hidden;background:#091522}.news-image img{width:100%;height:100%;object-fit:cover;display:block}.news-card-body{padding:18px}.news-card:not(.has-image) .news-card-body{padding:0}.gallery-card-v4.has-photo{padding:0;overflow:hidden}.gallery-photo{height:210px;overflow:hidden;background:#091522}.gallery-photo img{width:100%;height:100%;object-fit:cover;display:block}.gallery-info time{display:block;margin-top:8px;color:#5f7e90;font-size:8px}.gallery-art svg{width:34px;height:34px;color:#57ddea}
.file-field{display:flex!important;flex-direction:column;gap:7px}.file-field>span{color:#7593a4;font-size:8px;text-transform:uppercase;letter-spacing:.6px}.file-field input[type=file]{height:auto!important;padding:10px!important;font-size:8px!important}.interest-row select{min-width:132px;height:38px;border-radius:10px;border:1px solid rgba(255,255,255,.08);background:#0a1723;color:#dff5ff;padding:0 9px;font-size:8px;outline:none}.join-requests-card{grid-column:1/-1}
@media(max-width:820px){.notification-count{right:-3px;top:-4px}.section-head .live-chip{margin-top:10px}.news-image{height:190px}.gallery-photo{height:230px}.interest-row select{width:100%;min-width:0}.chat-layout{grid-template-columns:1fr!important}.active-users-card{max-height:240px;overflow:auto}.chat-delete{opacity:.85}}

/* v2.3.9.1 — Panel Admin unificado */
.admin-internal-mount{margin-top:28px}
.admin-internal-mount .directiva-dashboard{display:block}
.admin-internal-mount .section-head.compact{padding-top:4px}
.admin-internal-mount #internalRoleTitle::after{content:' · Gestión general';font-weight:600;opacity:.55;font-size:.55em}
.directiva-dashboard-home:empty{display:none}

/* V2.3.9.3 · corrección estructural de vistas */
.views > .view{width:100%;min-width:0;max-width:100%}
#adminDashboard,#directivaDashboardHome,#directivaDashboard,#adminInternalMount{width:100%;min-width:0;max-width:100%}

/* V2.4.0 · módulos restantes conectados a MySQL */
.request-history-card{grid-column:1/-1}.request-history-list{display:flex;flex-direction:column;gap:8px;margin-top:14px}.request-history-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 13px;border:1px solid rgba(255,255,255,.07);border-radius:13px;background:rgba(8,22,35,.52)}.request-history-row>div{display:flex;flex-direction:column;gap:4px;min-width:0}.request-history-row b{font-size:9px;color:#eaf8ff;overflow-wrap:anywhere}.request-history-row small{font-size:7px;color:#678595}.manager-list{display:flex;flex-direction:column;gap:7px;margin-top:14px;max-height:250px;overflow:auto;padding-right:3px}.manager-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 11px;border:1px solid rgba(255,255,255,.07);border-radius:12px;background:rgba(7,20,32,.52)}.manager-row>div{display:flex;flex-direction:column;gap:3px;min-width:0}.manager-row b{font-size:8px;color:#e3f3f8;overflow-wrap:anywhere}.manager-row small{font-size:7px;color:#6f8999}.manager-row button{border:0;background:transparent;font-size:8px;font-weight:800;padding:7px 8px}.review-row select{min-width:132px;height:38px;border-radius:10px;border:1px solid rgba(255,255,255,.08);background:#0a1723;color:#dff5ff;padding:0 9px;font-size:8px;outline:none}.content-form-grid{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px!important}.content-file-wide{grid-column:1/-1}.document-link{text-decoration:none;white-space:nowrap}.representative-photo{width:66px;height:66px;border-radius:18px;object-fit:cover;display:block;margin-bottom:12px;border:1px solid rgba(255,255,255,.10)}
@media(max-width:820px){.request-history-row{align-items:flex-start;flex-direction:column}.review-row{grid-template-columns:minmax(0,1fr)!important}.review-row select{width:100%;min-width:0}.manager-row{align-items:flex-start}.content-form-grid{grid-template-columns:minmax(0,1fr)!important}.content-file-wide{grid-column:auto}.document-row-v4{grid-template-columns:auto minmax(0,1fr)!important}.document-row-v4 .document-link,.document-row-v4>.status-chip{grid-column:2;width:max-content;max-width:100%}}

/* ==========================================================================\n   V2.5.0 · FUERZA PREMIUM UI — RETOQUE VISUAL SIN CAMBIAR ESTRUCTURA\n   Desktop full-screen + mobile-first iOS/Android.\n   ========================================================================== */
:root{
  --bg:#02060b;
  --panel:#07111d;
  --panel-2:#0a1725;
  --panel-3:#0d1d2c;
  --ink:#f4fbff;
  --muted:#8ea7b8;
  --line:rgba(151,211,255,.12);
  --line-strong:rgba(86,207,239,.24);
  --blue:#0788e8;
  --blue-2:#176bf6;
  --cyan:#13c6df;
  --cyan-2:#6cf4ee;
  --navy:#071b38;
  --glass:rgba(8,23,38,.72);
  --glass-soft:rgba(10,28,45,.54);
  --shadow:0 24px 70px rgba(0,8,20,.34);
  --shadow-soft:0 12px 34px rgba(0,8,20,.22);
  --glow:0 0 0 1px rgba(41,202,235,.08),0 14px 42px rgba(0,132,216,.10);
  --r:24px;
}
html{background:var(--bg);overscroll-behavior-y:none}
body{
  background:
    radial-gradient(900px 560px at 18% -10%,rgba(10,124,242,.15),transparent 68%),
    radial-gradient(760px 520px at 96% 12%,rgba(15,205,223,.09),transparent 70%),
    linear-gradient(180deg,#02070d 0%,#040b13 100%);
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-feature-settings:"cv02","cv03","cv04","cv11";
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
button,input,select,textarea{font-family:inherit}
button{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:2px solid rgba(83,224,244,.78);outline-offset:2px}
::selection{background:rgba(17,190,224,.28);color:#fff}
.background-orbit{filter:blur(24px);opacity:.72}
.orbit-a{width:620px;height:620px;left:-260px;top:-100px;background:radial-gradient(circle,rgba(12,118,244,.16),transparent 70%)}
.orbit-b{width:660px;height:660px;right:-300px;bottom:-220px;background:radial-gradient(circle,rgba(10,211,219,.10),transparent 70%)}

/* Full screen real en PC */
.page-wrap{width:100%;min-height:100dvh;padding:0;display:block}
.app-frame{
  width:100vw;max-width:none;height:100dvh;min-height:720px;margin:0;
  grid-template-columns:92px minmax(0,1fr);
  border:0;border-radius:0;box-shadow:none;
  background:linear-gradient(180deg,rgba(4,11,19,.98),rgba(4,12,21,.995));
}
.icon-rail{
  padding:20px 14px 18px;gap:20px;
  background:linear-gradient(180deg,rgba(4,13,23,.96),rgba(4,11,18,.92));
  border-right:1px solid rgba(108,194,237,.10);
  box-shadow:14px 0 40px rgba(0,7,17,.18);
  backdrop-filter:blur(28px) saturate(135%);
}
.brand-orb{
  width:58px;height:58px;border-radius:18px;
  background:linear-gradient(145deg,#0b96ee,#14cbe0);
  box-shadow:0 14px 34px rgba(0,140,230,.22),inset 0 0 0 1px rgba(255,255,255,.14);
}
.brand-orb img{border-radius:17px}
.rail-nav{gap:6px}
.rail-btn{
  width:52px;height:52px;border-radius:16px;color:#6f899c;
  transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease;
}
.rail-btn:hover{transform:translateY(-1px);color:#dffaff;background:rgba(20,93,142,.16);border-color:rgba(96,210,239,.13)}
.rail-btn.active{
  color:#effeff;background:linear-gradient(145deg,rgba(10,132,228,.34),rgba(14,203,219,.16));
  border-color:rgba(83,218,240,.24);box-shadow:0 10px 26px rgba(0,128,213,.11),inset 0 0 22px rgba(33,198,231,.06)
}
.rail-btn.active:after{left:-15px;width:3px;height:24px;background:linear-gradient(180deg,#59f1f0,#0788e8);box-shadow:0 0 12px rgba(48,220,242,.42)}
.profile-dot{width:44px;height:44px;border-radius:14px;box-shadow:0 10px 26px rgba(0,154,218,.14)}

.app-main{height:100dvh;min-height:0;overflow:hidden}
.topbar{
  height:76px;min-height:76px;padding:0 clamp(18px,2.2vw,34px);
  background:rgba(4,13,23,.70);border-bottom:1px solid rgba(141,207,241,.09);
  backdrop-filter:blur(26px) saturate(145%);-webkit-backdrop-filter:blur(26px) saturate(145%);
  box-shadow:0 12px 38px rgba(0,7,18,.14)
}
.brand-title strong{font-family:Manrope,Inter,sans-serif;font-size:15px;font-weight:800;letter-spacing:-.35px;color:#f2fbff}
.brand-title span{font-size:10px;color:#66849a;border-color:rgba(255,255,255,.08)}
.search-pill,.points-pill,.account-pill,.icon-top{
  height:44px;border-color:rgba(137,205,241,.11);background:rgba(9,24,38,.66);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025),0 10px 28px rgba(0,8,18,.12);
  backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)
}
.search-pill{min-width:250px;border-radius:14px}.search-pill:hover,.points-pill:hover,.icon-top:hover,.account-pill:hover{border-color:rgba(72,211,239,.22);background:rgba(10,31,48,.78)}
.points-pill svg,.icon-top svg{filter:drop-shadow(0 0 6px rgba(27,206,229,.18))}
.account-pill span{width:31px;height:31px;border-radius:10px;box-shadow:0 7px 18px rgba(0,150,222,.16)}

.views{
  flex:1;min-height:0;overflow:auto;padding:clamp(18px,2.1vw,30px);
  scrollbar-gutter:stable;
}
.views::-webkit-scrollbar{width:7px}.views::-webkit-scrollbar-track{background:transparent}.views::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#174160,#0d314b);border-radius:999px}
.view{max-width:1800px;margin:0 auto}

/* Tipografía y jerarquía */
.hero-copy h1,.section-head h1,.student-head h1,.gate-card h1,.join-copy h1{font-family:Manrope,Inter,sans-serif;font-weight:800;letter-spacing:-.045em}
.section-head{margin-bottom:22px;gap:18px}
.section-head h1{font-size:clamp(32px,3vw,48px);line-height:.98;margin:7px 0 8px}
.section-head p{font-size:11px;color:#7f9bad;line-height:1.7}
.eyebrow,.hero-kicker{letter-spacing:.16em;font-weight:800;color:#65e9eb}

/* Sistema glass premium */
.mini-card,.activity-card,.calendar-card,.form-card,.dash-card,.member-table-wrap,.proposal-card,.product-card,.news-card,.ranking-card,.chat-card,.active-users-card,.project-card-v4,.representative-card,.document-row-v4,.notification-card,.redeem-card,.gallery-card-v4,.student-head,.credit-wallet,.gate-card,.search-box,.modal{
  border-color:rgba(146,211,244,.10);
  background:linear-gradient(155deg,rgba(12,31,49,.84),rgba(5,18,31,.76));
  box-shadow:var(--shadow-soft),inset 0 1px 0 rgba(255,255,255,.028);
  backdrop-filter:blur(22px) saturate(125%);-webkit-backdrop-filter:blur(22px) saturate(125%);
}
.dash-card,.mini-card,.activity-card,.proposal-card,.product-card,.news-card,.ranking-card,.chat-card,.active-users-card,.gallery-card-v4,.redeem-card,.project-card-v4,.representative-card{border-radius:20px}
.dash-card:hover,.proposal-card:hover,.product-card:hover,.news-card:hover,.gallery-card-v4:hover,.project-card-v4:hover,.representative-card:hover{border-color:rgba(75,211,237,.18)}
.dash-title span,.mini-head span{font-family:Manrope,Inter,sans-serif;font-weight:800;letter-spacing:-.01em;color:#eaf8ff}
.dash-title small{color:#66869b}

/* Hero: misma estructura, visual más premium */
.home-grid{gap:16px}
.hero-card{
  min-height:min(560px,58vh);border-radius:24px;padding:clamp(34px,4vw,64px);
  background:
    radial-gradient(600px 420px at 91% 4%,rgba(91,237,238,.18),transparent 66%),
    radial-gradient(540px 420px at 10% 100%,rgba(10,91,245,.24),transparent 64%),
    linear-gradient(128deg,#07192d 0%,#07386b 42%,#0877a8 100%);
  border:1px solid rgba(111,220,244,.18);
  box-shadow:0 34px 90px rgba(0,28,68,.28),inset 0 1px 0 rgba(255,255,255,.06);
}
.hero-card:before{background:linear-gradient(100deg,rgba(1,8,18,.66) 0%,rgba(2,18,34,.24) 56%,rgba(1,10,22,.08) 100%)}
.hero-card:after{opacity:.65;border-color:rgba(135,237,246,.10);box-shadow:0 0 0 50px rgba(255,255,255,.018),0 0 0 105px rgba(255,255,255,.012)}
.hero-copy{max-width:760px}
.hero-copy h1{font-size:clamp(48px,5.3vw,86px);line-height:.91;letter-spacing:-.055em;margin:22px 0 19px;text-wrap:balance}
.hero-copy h1 em{background:linear-gradient(90deg,#74f5ee,#58d8f5);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-copy p{font-size:14px;line-height:1.72;color:#c5dce8;max-width:610px}
.primary-btn,.white-btn,.ghost-btn,.soft-btn{
  min-height:44px;border-radius:13px;font-weight:800;letter-spacing:-.01em;
  transition:transform .16s ease,filter .16s ease,background .16s ease,border-color .16s ease,box-shadow .16s ease
}
.primary-btn{background:linear-gradient(135deg,#0b86f4,#14c6de);box-shadow:0 12px 28px rgba(2,139,219,.18),inset 0 1px 0 rgba(255,255,255,.17)}
.primary-btn:hover{transform:translateY(-1px);box-shadow:0 14px 32px rgba(2,139,219,.24)}
.ghost-btn,.soft-btn{background:rgba(8,27,43,.58);border:1px solid rgba(145,215,245,.12)}
.hero-stats{gap:34px}.hero-stats strong{font-size:20px}.hero-stats span{color:#9db8c8}
.hero-logo img{border-radius:18px;box-shadow:0 14px 40px rgba(0,7,20,.32)}

/* Tienda premium */
.shop-grid{gap:16px}.product-card{overflow:hidden;position:relative}
.product-art{position:relative;min-height:180px;overflow:hidden;background:linear-gradient(145deg,rgba(6,90,172,.28),rgba(12,199,216,.08))}
.product-art.has-product-image{padding:0}
.product-art img{width:100%;height:100%;min-height:180px;max-height:230px;object-fit:cover;display:block;transition:transform .35s ease}
.product-card:hover .product-art img{transform:scale(1.025)}
.product-art>span{font-family:Manrope,Inter,sans-serif;font-weight:800;letter-spacing:.12em}
.product-stock{position:absolute;right:12px;top:12px;padding:6px 9px;border-radius:999px;background:rgba(3,13,24,.70);border:1px solid rgba(255,255,255,.10);backdrop-filter:blur(12px);color:#a8c7d5!important;font-size:7px!important}
.product-body{padding:18px}.product-body h3{font-family:Manrope,Inter,sans-serif;font-size:16px;letter-spacing:-.02em}.product-body p{min-height:42px;line-height:1.55}.product-buy b{font-size:12px;color:#73e9ed}.product-buy button{min-height:38px;border-radius:11px}

/* Gestión de merch */
.merch-manager-card{overflow:hidden}
.manager-help{margin:8px 0 18px;color:#7592a5;font-size:9px;line-height:1.65;max-width:900px}
.merch-create-form{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(150px,.45fr) minmax(130px,.38fr) minmax(180px,.55fr);gap:10px;padding:16px;border:1px solid rgba(111,207,241,.10);border-radius:17px;background:rgba(5,20,33,.48)}
.merch-create-form textarea{grid-column:1/3}.merch-file-field{grid-column:3/5}.merch-create-submit{grid-column:1/-1}
.merch-manager-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:22px 0 10px}.merch-manager-heading>div{display:flex;flex-direction:column;gap:3px}.merch-manager-heading b{font-size:10px}.merch-manager-heading small{font-size:8px;color:#6e899b}.merch-manager-heading>span{min-width:34px;height:28px;border-radius:10px;display:grid;place-items:center;background:rgba(17,187,220,.11);border:1px solid rgba(50,207,233,.15);font:800 10px Manrope;color:#6ee7eb}
.merch-manager-list{display:flex;flex-direction:column;gap:10px}
.merch-edit-card{display:grid;grid-template-columns:180px minmax(0,1fr);gap:14px;padding:12px;border:1px solid rgba(126,205,240,.09);border-radius:17px;background:rgba(6,21,34,.52)}
.merch-edit-preview{position:relative;height:148px;border-radius:14px;overflow:hidden;display:grid;place-items:center;background:linear-gradient(145deg,rgba(9,116,204,.22),rgba(11,195,216,.08));border:1px solid rgba(255,255,255,.05)}
.merch-edit-preview img{width:100%;height:100%;object-fit:cover}.merch-edit-preview>span{font:800 12px Manrope;letter-spacing:.1em;color:#72dfe9}.merch-edit-preview i{position:absolute;left:9px;top:9px;padding:5px 7px;border-radius:999px;font:800 7px Inter;font-style:normal;backdrop-filter:blur(10px)}.merch-edit-preview i.active{background:rgba(26,195,155,.16);border:1px solid rgba(57,227,181,.18);color:#7af1cf}.merch-edit-preview i.inactive{background:rgba(255,146,115,.12);border:1px solid rgba(255,151,120,.15);color:#ffb19a}
.merch-edit-fields{min-width:0;display:flex;flex-direction:column;gap:9px}.merch-edit-top{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px}.merch-code{display:flex;align-items:center;padding:0 10px;border-radius:11px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.06);font:800 7px Manrope;letter-spacing:.08em;color:#708c9e}.merch-edit-fields>textarea{min-height:62px}.merch-edit-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.merch-edit-grid label{display:flex;flex-direction:column;gap:6px}.merch-edit-grid label>span{font-size:7px;text-transform:uppercase;letter-spacing:.08em;color:#6d899d}.merch-edit-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px}.merch-image-button{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 14px;border-radius:12px;border:1px solid rgba(139,210,242,.10);background:rgba(7,24,39,.62);color:#b8d5e1;font-size:8px;font-weight:800;cursor:pointer}.merch-image-button input{position:absolute;inset:0;opacity:0;cursor:pointer}

/* Controles premium — importante para casillas y formularios */
.gift-form input,.gift-form select,.gift-form textarea,.orientation-form input,.orientation-form select,.orientation-form textarea,.merch-create-form input,.merch-create-form select,.merch-create-form textarea,.merch-edit-fields input,.merch-edit-fields select,.merch-edit-fields textarea,.member-toolbar select,.member-search,.attendance-toolbar input,.interest-row select,.review-row select,.phase-filter,.credential-form input,.credential-form select,.input-with-icon{
  border:1px solid rgba(140,207,240,.11)!important;background:rgba(6,22,36,.72)!important;color:#effaff!important;border-radius:13px!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.02)!important;
}
.gift-form input,.gift-form select,.orientation-form input,.orientation-form select,.merch-create-form input,.merch-create-form select,.merch-edit-fields input,.merch-edit-fields select,.phase-filter{min-height:44px;padding:0 12px}
.gift-form textarea,.orientation-form textarea,.merch-create-form textarea,.merch-edit-fields textarea{padding:11px 12px;resize:vertical}
input::placeholder,textarea::placeholder{color:#557489!important;opacity:1}
select{color-scheme:dark}
input[type="checkbox"],input[type="radio"]{accent-color:#12c4df;min-width:20px;min-height:20px}
.file-field input[type=file]{border-radius:12px!important;background:rgba(5,19,31,.7)!important;color:#89a4b5!important}

/* Listas y estados */
.account-row,.inventory-row,.review-row,.manager-row,.request-history-row,.student-attendance-item,.attendance-approval-item,.phase-user{
  border-color:rgba(133,205,239,.09)!important;background:rgba(6,20,33,.50)!important;border-radius:14px!important
}
.status-chip{border-radius:999px!important;padding:6px 9px!important;font-weight:800!important}
.member-table th{background:rgba(9,28,44,.92);color:#64859a}.member-table td{border-color:rgba(255,255,255,.05)}
.member-table tbody tr:hover{background:rgba(13,89,132,.08)}

/* Mi Fuerza */
.student-head{padding:26px;border-radius:22px;background:radial-gradient(460px 220px at 86% 0%,rgba(21,200,220,.12),transparent 70%),linear-gradient(140deg,rgba(7,36,65,.92),rgba(7,76,111,.55));box-shadow:0 26px 70px rgba(0,16,38,.22)}
.credit-wallet{min-width:220px;border-radius:18px;background:linear-gradient(145deg,#0b66ad,#12b5d1);box-shadow:0 16px 42px rgba(1,120,190,.20)}
.action-grid button{min-height:86px;border-radius:15px;background:rgba(7,24,38,.62);border-color:rgba(128,204,238,.09)}
.action-grid button:hover{background:rgba(8,40,60,.72);border-color:rgba(62,213,235,.18)}

/* Mobile first: iOS y Android con targets amplios, sin controles trabados */
@media(max-width:820px){
  html,body{min-height:100%;background:#030912;overscroll-behavior-x:none}
  body{padding:0;overflow-x:hidden}
  .page-wrap{min-height:100dvh}
  .app-frame{display:block!important;width:100%!important;height:auto!important;min-height:100dvh!important;border-radius:0!important;overflow:visible!important}
  .app-main{display:block!important;width:100%!important;height:auto!important;min-height:100dvh!important;overflow:visible!important}
  .icon-rail{display:none!important}
  .topbar{
    position:sticky;top:0;z-index:90;width:100%;height:auto!important;min-height:64px!important;
    padding:8px max(12px,env(safe-area-inset-right)) 8px max(12px,env(safe-area-inset-left))!important;
    background:rgba(3,12,21,.76);border-bottom:1px solid rgba(118,207,240,.10);
    backdrop-filter:blur(28px) saturate(155%);-webkit-backdrop-filter:blur(28px) saturate(155%);
  }
  .top-left,.top-actions{gap:7px}.mobile-menu{width:40px;height:40px;border-radius:13px;background:rgba(8,28,44,.50);border:1px solid rgba(132,204,239,.09)}
  .brand-title strong{font-size:12px}.brand-title span{display:none}
  .search-pill{display:none!important}.points-pill,.icon-top,.account-pill{height:40px!important;border-radius:12px}.points-pill{padding:0 10px}.points-pill span{display:none}.account-pill{width:40px!important;min-width:40px!important;padding:0!important;justify-content:center}.account-pill span{width:30px;height:30px}.account-pill b{display:none!important}.icon-top{width:40px!important;padding:0!important}
  .views{padding:14px max(12px,env(safe-area-inset-right)) calc(96px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))!important;overflow:visible!important}
  .view{max-width:none!important}.section-head{margin-bottom:16px}.section-head h1,.student-head h1{font-size:clamp(30px,9vw,42px)!important;letter-spacing:-.045em!important}.section-head p{font-size:10px!important;line-height:1.6!important}
  .hero-card{min-height:auto!important;padding:30px 20px 26px!important;border-radius:20px!important;background:radial-gradient(420px 260px at 90% 0%,rgba(79,239,239,.14),transparent 66%),radial-gradient(380px 280px at 0% 100%,rgba(10,90,245,.24),transparent 66%),linear-gradient(132deg,#071a31,#084d78 62%,#087c99)!important}
  .hero-copy h1{font-size:clamp(42px,12vw,58px)!important;line-height:.92!important;letter-spacing:-.055em!important;margin:18px 0 16px!important}.hero-copy p{font-size:12px!important;line-height:1.62!important}
  .hero-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important}.hero-actions button{width:100%!important;min-height:48px!important}.hero-stats{margin-top:26px!important;gap:8px!important}.hero-stats strong{font-size:17px!important}.hero-stats span{font-size:7px!important}
  .hero-logo{position:static!important;margin-top:22px!important;justify-content:flex-start!important}.hero-logo img{width:58px!important;height:58px!important;border-radius:17px!important}
  .home-side,.home-bottom,.student-grid,.internal-grid,.admin-grid,.proposal-grid,.shop-grid,.agenda-layout,.join-grid,.project-grid,.orientation-layout,.news-grid,.gallery-grid-v4,.redeem-grid,.vote-layout,.chat-layout{grid-template-columns:minmax(0,1fr)!important;gap:12px!important}
  .mini-card,.activity-card,.calendar-card,.form-card,.dash-card,.member-table-wrap,.proposal-card,.product-card,.news-card,.ranking-card,.chat-card,.active-users-card,.project-card-v4,.representative-card,.document-row-v4,.notification-card,.redeem-card,.gallery-card-v4,.student-head,.credit-wallet{border-radius:18px!important}
  .dash-card{padding:16px!important;min-height:0}.dash-title{gap:10px}.dash-title span{font-size:10px}.dash-title small{font-size:7px;text-align:right}
  .action-grid{grid-template-columns:1fr!important;gap:8px!important}.action-grid button{height:auto!important;min-height:78px!important;padding:14px!important;border-radius:15px!important}.action-grid b{font-size:10px!important}.action-grid small{font-size:8px!important;line-height:1.45!important}
  .student-head{padding:20px!important;align-items:stretch!important}.credit-wallet{width:100%!important;min-width:0!important}
  .product-art{min-height:190px}.product-art img{min-height:190px;max-height:260px}.product-body h3{font-size:17px}.product-body p{min-height:0;font-size:10px;line-height:1.6}.product-buy{align-items:center}.product-buy button{min-height:44px;padding:0 15px}
  /* inputs a 16px evita el zoom automático de Safari iOS */
  input,select,textarea{font-size:16px!important;line-height:1.25!important}
  .gift-form input,.gift-form select,.orientation-form input,.orientation-form select,.merch-create-form input,.merch-create-form select,.merch-edit-fields input,.merch-edit-fields select,.credential-form input,.credential-form select,.input-with-icon,.member-toolbar select,.attendance-toolbar input,.interest-row select,.review-row select,.phase-filter{min-height:52px!important;border-radius:15px!important;padding-left:13px!important;padding-right:13px!important}
  .gift-form textarea,.orientation-form textarea,.merch-create-form textarea,.merch-edit-fields textarea{min-height:96px!important;border-radius:15px!important;padding:13px!important}
  .primary-btn,.ghost-btn,.white-btn,.soft-btn,.table-open,.review-actions button,.inventory-row button,.manager-row button{min-height:48px!important;border-radius:14px!important;font-size:11px!important;padding:0 14px!important}
  .checkline{grid-template-columns:26px minmax(0,1fr)!important;align-items:center!important}.checkline input,input[type="checkbox"],input[type="radio"]{width:22px!important;height:22px!important;min-width:22px!important;min-height:22px!important}
  .file-field input[type=file]{min-height:52px!important;padding:12px!important}
  .member-toolbar{grid-template-columns:minmax(0,1fr)!important;gap:8px!important}.member-search{height:52px!important;border-radius:15px!important}.member-search input{font-size:16px!important}
  .member-table-wrap{overflow-x:auto!important;-webkit-overflow-scrolling:touch!important;scroll-snap-type:x proximity}.member-table{min-width:760px!important}
  .review-row,.inventory-row,.manager-row,.request-history-row,.student-attendance-item,.attendance-approval-item,.phase-user,.account-row{padding:13px!important;border-radius:15px!important}
  .party-code-card{border-radius:16px!important;padding:14px!important;min-height:72px!important}.party-code-card code{font-size:15px!important;letter-spacing:.08em!important}.party-selection-bar{border-radius:16px!important;padding:13px!important}.party-select-check{min-width:44px!important;min-height:44px!important}.party-select-check .party-checkbox{width:32px!important;height:32px!important;border-radius:8px!important}
  .bulk-party-form textarea{min-height:190px!important;font-size:16px!important}
  .modal-layer{padding:0!important;align-items:flex-end!important}.modal{width:100%!important;max-width:none!important;max-height:92dvh!important;border-radius:24px 24px 0 0!important;padding:22px 18px calc(22px + env(safe-area-inset-bottom))!important;overflow:auto!important}.modal-close{width:42px!important;height:42px!important;border-radius:13px!important}.modal h2{font-size:28px!important}
  .mobile-drawer{width:min(88vw,360px)!important;padding:calc(16px + env(safe-area-inset-top)) 16px calc(16px + env(safe-area-inset-bottom))!important;background:rgba(3,13,23,.97)!important;backdrop-filter:blur(28px)!important;-webkit-backdrop-filter:blur(28px)!important}.drawer-links{gap:4px!important;overflow:auto}.drawer-links button{min-height:48px!important;border-radius:13px!important;font-size:10px!important}.drawer-brand img{width:48px!important;height:48px!important;border-radius:15px!important}
  .mobile-bottom{
    height:calc(72px + env(safe-area-inset-bottom))!important;padding:0 max(6px,env(safe-area-inset-right)) env(safe-area-inset-bottom) max(6px,env(safe-area-inset-left))!important;
    background:rgba(3,13,23,.84)!important;border-top:1px solid rgba(120,204,238,.10)!important;
    backdrop-filter:blur(30px) saturate(160%)!important;-webkit-backdrop-filter:blur(30px) saturate(160%)!important;
    box-shadow:0 -14px 38px rgba(0,8,18,.18)
  }
  .mobile-bottom button{min-height:54px!important;border-radius:13px!important;font-size:7px!important}.mobile-bottom button.active{color:#6af0ee!important}.mobile-bottom .mobile-create{transform:translateY(-7px)!important}.mobile-bottom .mobile-create>span{width:48px!important;height:48px!important;border-radius:16px!important;box-shadow:0 10px 28px rgba(0,155,225,.28),inset 0 1px 0 rgba(255,255,255,.16)!important}
  .merch-create-form{grid-template-columns:minmax(0,1fr)!important;padding:13px!important;border-radius:16px!important}.merch-create-form textarea,.merch-file-field,.merch-create-submit{grid-column:auto!important}.merch-edit-card{grid-template-columns:minmax(0,1fr)!important;padding:11px!important}.merch-edit-preview{height:210px!important}.merch-edit-grid{grid-template-columns:1fr 1fr!important}.merch-edit-top{grid-template-columns:minmax(0,1fr)!important}.merch-code{min-height:38px!important;width:max-content;max-width:100%}.merch-edit-actions{align-items:stretch!important;flex-direction:column!important}.merch-image-button,.merch-edit-actions .primary-btn{width:100%!important;min-height:50px!important}.merch-image-button{font-size:11px!important}
  .notification-card time{white-space:normal}
}

/* iPhone / Safari: respeta notch e isla dinámica cuando el navegador expone safe-area */
@supports (-webkit-touch-callout:none){
  @media(max-width:820px){
    .topbar{padding-top:max(9px,env(safe-area-inset-top))!important;min-height:calc(64px + max(0px,env(safe-area-inset-top)))!important}
    .mobile-drawer{padding-top:max(20px,calc(env(safe-area-inset-top) + 12px))!important}
    .search-overlay{padding-top:max(9vh,calc(env(safe-area-inset-top) + 58px))!important}
    .toast{bottom:calc(82px + env(safe-area-inset-bottom))!important}
  }
}

/* Android/coarse pointer: targets grandes y feedback táctil visible */
@media(max-width:820px) and (pointer:coarse){
  button:active,.rail-btn:active,.drawer-links button:active,.action-grid button:active,.product-buy button:active{transform:scale(.985)!important;filter:brightness(1.06)}
  select,input,textarea,button{touch-action:manipulation}
}

@media(max-width:430px){
  .views{padding-top:10px!important}
  .hero-actions{grid-template-columns:minmax(0,1fr)!important}
  .hero-copy h1{font-size:clamp(40px,12.8vw,52px)!important}
  .hero-stats{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .hero-stats strong{font-size:16px!important}.hero-stats span{font-size:7px!important}
  .merch-edit-grid{grid-template-columns:minmax(0,1fr)!important}
  .section-head .primary-btn{width:100%!important}
}

@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}


/* ===== Fuerza Católica V2.5.1 · mobile usability polish ===== */
/* Mantiene estructura y datos; corrige navegación táctil, logo, login y solapes. */
@media (max-width:820px){
  /* navegación inferior: destinos más usados y taps robustos */
  .mobile-bottom{
    z-index:1000!important;
    pointer-events:auto!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    gap:2px!important;
    isolation:isolate;
  }
  .mobile-bottom button{
    position:relative!important;
    z-index:2!important;
    pointer-events:auto!important;
    touch-action:manipulation!important;
    -webkit-tap-highlight-color:transparent!important;
    user-select:none!important;
    -webkit-user-select:none!important;
    min-width:0!important;
    min-height:58px!important;
    padding:5px 2px 6px!important;
    border:0!important;
    background:transparent!important;
    color:#6f8796!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:4px!important;
    font-size:7px!important;
  }
  .mobile-bottom button>svg{width:19px!important;height:19px!important;pointer-events:none!important}
  .mobile-bottom button>span{pointer-events:none!important}
  .mobile-bottom button.active{color:#6af0ee!important;background:rgba(31,188,220,.055)!important}
  .mobile-bottom .mobile-focus{transform:none!important}
  .mobile-bottom .mobile-focus-icon{
    width:42px!important;height:34px!important;border-radius:13px!important;
    display:grid!important;place-items:center!important;
    background:linear-gradient(145deg,rgba(8,132,221,.38),rgba(21,199,214,.25))!important;
    border:1px solid rgba(94,222,237,.16)!important;
    box-shadow:0 8px 22px rgba(0,128,205,.16),inset 0 1px 0 rgba(255,255,255,.10)!important;
  }
  .mobile-bottom .mobile-focus-icon svg{width:19px!important;height:19px!important}
  .mobile-bottom .mobile-focus.active .mobile-focus-icon{
    background:linear-gradient(145deg,#087ee5,#18c5d5)!important;
    color:white!important;box-shadow:0 10px 26px rgba(0,155,225,.28)!important;
  }

  /* logo del hero: arriba a la derecha, proporción intacta */
  .hero-card{position:relative!important;padding-top:34px!important}
  .hero-logo{
    position:absolute!important;top:20px!important;right:18px!important;bottom:auto!important;left:auto!important;
    width:62px!important;height:62px!important;margin:0!important;padding:0!important;display:block!important;z-index:4!important;
  }
  .hero-logo img{
    width:62px!important;height:62px!important;max-width:62px!important;max-height:62px!important;
    object-fit:contain!important;object-position:center!important;border-radius:17px!important;
    box-shadow:0 12px 30px rgba(0,8,22,.25)!important;display:block!important;
  }
  .hero-logo span{display:none!important}
  .hero-kicker{padding-right:76px!important;min-height:24px!important}

  /* tarjeta Mi Fuerza del inicio: ningún texto/producto se superpone */
  .credits-card{
    display:flex!important;flex-direction:column!important;align-items:stretch!important;
    gap:12px!important;min-height:255px!important;height:auto!important;padding:20px!important;
  }
  .credits-card:after{pointer-events:none!important}
  .credits-card .credit-number{position:relative!important;z-index:2!important;margin:12px 0 0!important}
  .credits-card>p{position:relative!important;z-index:2!important;margin:0!important;line-height:1.55!important;min-height:auto!important;max-width:92%!important}
  .credits-card .reward-preview{
    position:relative!important;left:auto!important;right:auto!important;bottom:auto!important;top:auto!important;
    z-index:2!important;width:100%!important;margin:4px 0 0!important;padding:11px!important;
    min-height:58px!important;display:flex!important;align-items:center!important;gap:10px!important;
  }
  .credits-card .reward-shirt{flex:0 0 38px!important;width:38px!important;height:38px!important;border-radius:11px!important}
  .credits-card .reward-preview div{min-width:0!important}
  .credits-card .reward-preview b,.credits-card .reward-preview small{position:static!important;display:block!important;white-space:normal!important}

  /* Login móvil centrado como escritorio, sin convertirlo en bottom sheet */
  #loginModal.modal-layer{
    align-items:center!important;justify-content:center!important;
    padding:max(18px,env(safe-area-inset-top)) 16px max(18px,env(safe-area-inset-bottom))!important;
  }
  #loginModal .modal{
    width:min(520px,calc(100vw - 32px))!important;max-width:520px!important;
    max-height:min(88dvh,720px)!important;border-radius:24px!important;
    padding:26px 20px!important;overflow:auto!important;
    box-shadow:0 34px 90px rgba(0,0,0,.48),0 0 0 1px rgba(119,216,241,.05)!important;
  }

  /* Mejora de clic/tap general en tarjetas que navegan */
  [data-view],[data-action],.explore-tile,.quick-actions>button{
    touch-action:manipulation!important;-webkit-tap-highlight-color:transparent!important;
  }
}

@media (max-width:480px){
  .hero-logo{top:18px!important;right:16px!important;width:58px!important;height:58px!important}
  .hero-logo img{width:58px!important;height:58px!important;max-width:58px!important;max-height:58px!important}
  .hero-kicker{padding-right:68px!important}
  .credits-card{min-height:245px!important;padding:18px!important}
  #loginModal .modal{width:calc(100vw - 24px)!important;padding:24px 18px!important}
}


/* ===== Fuerza Católica V2.5.2 · premium interaction + branding ===== */
/* El avatar inferior del rail se conserva en DOM para la lógica, pero se oculta solo en escritorio. */
@media (min-width:821px){
  .icon-rail .profile-dot{display:none!important}
  .rail-bottom{padding-bottom:10px!important}
}

/* Firma premium, discreta y consistente en escritorio/móvil. */
.creator-credit{
  margin:28px 4px 4px;padding:18px 20px;min-height:72px;
  display:grid;grid-template-columns:minmax(30px,1fr) auto minmax(30px,1fr);align-items:center;gap:18px;
  border:1px solid rgba(120,213,238,.10);border-radius:18px;
  background:linear-gradient(180deg,rgba(8,24,39,.54),rgba(5,16,28,.46));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 16px 40px rgba(0,8,18,.10);
  backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)
}
.creator-credit-line{height:1px;background:linear-gradient(90deg,transparent,rgba(37,196,226,.38));border-radius:999px}
.creator-credit-copy{text-align:center;display:flex;flex-direction:column;align-items:center;gap:3px;line-height:1.1}
.creator-credit-copy small{font-size:7px;letter-spacing:1.65px;font-weight:800;color:#5e91a8}
.creator-credit-copy strong{font:800 13px Manrope;color:#eafcff;letter-spacing:.1px}
.creator-credit-copy span{font-size:7.5px;color:#7494a5;letter-spacing:.25px}
.creator-credit-mark{justify-self:end;width:30px;height:30px;border-radius:10px;display:grid;place-items:center;font:800 9px Manrope;color:#dffbff;background:linear-gradient(145deg,rgba(8,126,229,.30),rgba(24,197,213,.18));border:1px solid rgba(91,220,235,.14)}

/* Respuesta táctil rápida y uniforme en iOS/Android. */
@media (max-width:820px), (pointer:coarse){
  html{scroll-behavior:auto!important}
  button,a,[role="button"],[data-view],[data-action],.explore-tile,.product-card,.party-code-card{
    -webkit-tap-highlight-color:transparent!important;touch-action:manipulation!important;
  }
  button,a,[role="button"],[data-view],[data-action],.explore-tile,.quick-actions>button,.action-grid button,
  .party-tabs button,.party-select-check,.support-btn,.product-buy button,.text-btn,.table-open,.review-actions button,
  .manager-row button,.instagram-cta{
    transition:transform 80ms ease,filter 80ms ease,background-color 100ms ease,border-color 100ms ease,box-shadow 100ms ease!important;
    will-change:transform;
  }
  button:active,a:active,[role="button"]:active,[data-view]:active,[data-action]:active,.explore-tile:active,.quick-actions>button:active,
  .action-grid button:active,.party-tabs button:active,.party-select-check:active,.support-btn:active,.product-buy button:active,
  .text-btn:active,.table-open:active,.review-actions button:active,.manager-row button:active,.instagram-cta:active{
    transform:scale(.975)!important;filter:brightness(1.10)!important
  }
  .party-tabs button{min-height:46px!important;transition:background 90ms ease,color 90ms ease,transform 70ms ease!important}
  .party-tabs button.active{box-shadow:0 8px 22px rgba(0,155,225,.20),inset 0 1px 0 rgba(255,255,255,.12)!important}
  select,input,textarea{touch-action:manipulation!important}
  .creator-credit{margin:22px 0 4px;padding:16px 14px;grid-template-columns:24px minmax(0,1fr) 24px;gap:10px;border-radius:16px}
  .creator-credit-copy small{font-size:6.5px;letter-spacing:1.35px}.creator-credit-copy strong{font-size:12px}.creator-credit-copy span{font-size:7px}
  .creator-credit-mark{width:26px;height:26px;border-radius:9px;font-size:8px}
}

@media (max-width:430px){
  .creator-credit{grid-template-columns:1fr;padding:15px 12px;gap:7px}
  .creator-credit-line,.creator-credit-mark{display:none}
}


/* ===== Fuerza Católica V2.5.3 · identidad visual de agrupaciones + firma refinada ===== */
/* Colores de identificación aplicados a texto renderizado en toda la plataforma. */
.faction-keyword{
  font-weight:750;
  transition:color 120ms ease,text-shadow 120ms ease;
}
.faction-keyword.faction-brown{
  color:#c18a5b!important;
  text-shadow:0 0 14px rgba(159,101,58,.12);
}
.faction-keyword.faction-purple{
  color:#bb7cff!important;
  text-shadow:0 0 14px rgba(150,79,231,.13);
}
.faction-keyword.faction-yellow{
  color:#f3d45d!important;
  text-shadow:0 0 13px rgba(235,198,58,.10);
}

/* Crédito de autor: más pequeño, editorial y discreto. */
.creator-credit-copy strong{
  font-family:"Cormorant Garamond",Georgia,"Times New Roman",serif!important;
  font-size:11px!important;
  font-weight:600!important;
  font-style:italic!important;
  line-height:1!important;
  letter-spacing:1.05px!important;
  text-transform:uppercase;
  color:#dff8ff!important;
  opacity:.92;
}
@media(max-width:820px){
  .creator-credit-copy strong{font-size:10.5px!important;letter-spacing:.95px!important}
  .faction-keyword{text-shadow:none}
}
@media(max-width:430px){
  .creator-credit-copy strong{font-size:10px!important;letter-spacing:.85px!important}
}

/* ===== V2.5.4 · Calendario Fuerza interactivo ===== */
.interactive-calendar{overflow:hidden}
.calendar-title>div{display:flex;flex-direction:column;align-items:center;gap:3px;min-width:0}.calendar-title>div b{font:800 15px Manrope;color:#edfaff;letter-spacing:-.2px}.calendar-title>div small{font-size:8px;color:#6e8b9c}.calendar-title button{transition:transform .14s ease,background .14s ease,border-color .14s ease;color:#b7d8e6}.calendar-title button:hover{background:rgba(18,173,220,.12);border-color:rgba(63,216,235,.26);color:#fff}.calendar-title button:active{transform:scale(.92)}
.agenda-month-chip{white-space:nowrap}.agenda-month-chip span{pointer-events:none}
.calendar-month-strip{display:flex;gap:6px;margin-top:18px;padding:3px 1px 4px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain;scroll-snap-type:x proximity}.calendar-month-strip::-webkit-scrollbar{display:none}.calendar-month-strip button{flex:0 0 auto;min-width:48px;height:30px;border-radius:10px;border:1px solid rgba(255,255,255,.06);background:rgba(8,22,36,.56);color:#617f91;font:800 8px Manrope;letter-spacing:.55px;scroll-snap-align:center;transition:background .12s ease,color .12s ease,border-color .12s ease,transform .12s ease}.calendar-month-strip button:hover{color:#c9edf6;border-color:rgba(60,206,230,.18)}.calendar-month-strip button:active{transform:scale(.95)}.calendar-month-strip button.active{color:#efffff;border-color:rgba(69,224,237,.28);background:linear-gradient(135deg,rgba(11,126,216,.46),rgba(17,196,215,.30));box-shadow:0 8px 22px rgba(6,135,193,.14)}
.calendar-grid.days{gap:6px}.calendar-day{appearance:none;-webkit-appearance:none;aspect-ratio:1;border:1px solid transparent;border-radius:12px;display:grid;place-items:center;position:relative;background:transparent;color:#c5d9e2;font-size:9px;padding:0;min-width:0;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:transform .11s ease,background .14s ease,border-color .14s ease,color .14s ease,box-shadow .14s ease}.calendar-day>span{pointer-events:none}.calendar-day:hover{background:rgba(255,255,255,.035);border-color:rgba(255,255,255,.055)}.calendar-day:active{transform:scale(.92)}.calendar-day.muted{color:#3d5667}.calendar-day.event-day{background:linear-gradient(180deg,rgba(12,45,68,.9),rgba(9,31,49,.88));border-color:rgba(43,185,218,.13);color:#f5feff;font-weight:800}.calendar-day.event-day:hover{border-color:rgba(55,211,233,.28);background:linear-gradient(180deg,rgba(12,56,83,.96),rgba(9,38,58,.92))}.calendar-day.event-day i{position:absolute;width:5px;height:5px;border-radius:50%;background:#46e7e2;bottom:6px;box-shadow:0 0 10px rgba(70,231,226,.55)}.calendar-day.event-day em{position:absolute;top:4px;right:5px;min-width:14px;height:14px;padding:0 3px;border-radius:999px;background:rgba(18,184,221,.18);color:#77eef0;font:800 7px Manrope;font-style:normal;display:grid;place-items:center}.calendar-day.today{border-color:rgba(255,255,255,.16)}.calendar-day.today:after{content:'';position:absolute;inset:4px;border-radius:9px;border:1px solid rgba(255,255,255,.08);pointer-events:none}.calendar-day.selected{background:linear-gradient(145deg,#0b8ed8,#18c7d6)!important;border-color:rgba(139,251,255,.42)!important;color:#fff!important;box-shadow:0 10px 25px rgba(8,152,209,.22)}.calendar-day.selected i{background:#fff;box-shadow:none}
.calendar-legend{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding-top:13px;border-top:1px solid rgba(255,255,255,.055)}.calendar-legend>span{display:flex;align-items:center;gap:7px;color:#668697;font-size:8px}.calendar-legend>span i{width:6px;height:6px;border-radius:50%;background:#46e7e2;box-shadow:0 0 9px rgba(70,231,226,.35)}.calendar-legend button{border:0;background:transparent;color:#68dfe6;font-size:8px;font-weight:800;padding:7px 0;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.calendar-day-summary{margin-top:14px;padding:14px;border:1px solid rgba(67,212,233,.13);border-radius:16px;background:linear-gradient(180deg,rgba(10,35,53,.76),rgba(7,24,38,.82));box-shadow:inset 0 1px 0 rgba(255,255,255,.025)}.calendar-summary-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px}.calendar-summary-head .eyebrow{text-transform:capitalize}.calendar-summary-head h3{margin:4px 0 0;font:800 15px Manrope;color:#eefcff}.calendar-summary-head>button{width:30px;height:30px;border-radius:10px;border:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.035);color:#88a6b5;font-size:19px;line-height:1;touch-action:manipulation}.calendar-summary-list{display:flex;flex-direction:column;gap:8px}.calendar-summary-item{display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:11px;align-items:center;padding:11px;border-radius:13px;border:1px solid rgba(255,255,255,.055);background:rgba(6,19,31,.48)}.calendar-summary-time{height:42px;border-radius:11px;background:linear-gradient(145deg,rgba(9,118,190,.34),rgba(17,191,206,.22));display:grid;place-items:center;color:#dffcff;font:800 9px Manrope}.calendar-summary-copy{min-width:0}.calendar-summary-copy b{display:block;font:800 10px Manrope;color:#f1fcff}.calendar-summary-copy p{margin:4px 0 0;color:#7693a4;font-size:8px;line-height:1.45;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.calendar-summary-copy small{display:block;margin-top:5px;color:#5edfe3;font-size:7px}.calendar-summary-item>button{border:1px solid rgba(255,255,255,.08);background:#f1f8fa;color:#103049;border-radius:10px;padding:9px 10px;font-size:8px;font-weight:800;white-space:nowrap;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.calendar-summary-item>button.registered{background:rgba(24,199,214,.10);color:#72e7e6;border-color:rgba(24,199,214,.18)}

@media(max-width:820px){
  .agenda-layout{display:flex!important;flex-direction:column!important;gap:12px!important}
  .interactive-calendar{padding:17px!important;border-radius:20px!important}
  .calendar-title button{width:40px!important;height:40px!important;border-radius:13px!important;font-size:20px!important}
  .calendar-title>div b{font-size:16px}.calendar-title>div small{font-size:8px}
  .calendar-month-strip{margin-top:15px;gap:7px;padding-bottom:7px}.calendar-month-strip button{min-width:54px;height:34px;font-size:8px}
  .week{margin:17px 0 8px!important}.week span{font-size:8px!important}
  .calendar-grid.days{gap:5px!important}.calendar-day{border-radius:11px!important;font-size:10px!important;min-height:42px!important;aspect-ratio:auto!important}.calendar-day.event-day i{bottom:5px}.calendar-day.event-day em{top:3px;right:4px}
  .calendar-legend{margin-top:12px}.calendar-legend button{min-height:38px;padding:0 4px}
  .calendar-day-summary{padding:12px;border-radius:15px}.calendar-summary-item{grid-template-columns:48px minmax(0,1fr);gap:10px;padding:11px}.calendar-summary-item>button{grid-column:1/-1;width:100%;min-height:42px;font-size:9px}.calendar-summary-time{height:42px}.calendar-summary-copy b{font-size:10px}.calendar-summary-copy p{font-size:8px}.calendar-summary-copy small{font-size:7px}
  .event-item{touch-action:manipulation}.event-item>button{min-height:42px!important;padding:10px 13px!important}
}
@media(max-width:480px){
  .interactive-calendar{padding:15px!important}.calendar-month-strip button{min-width:50px}.calendar-grid.days{gap:4px!important}.calendar-day{min-height:40px!important}.calendar-day.event-day i{width:4px;height:4px}.calendar-day-summary{margin-top:12px}.calendar-summary-head h3{font-size:14px}
}

/* ===== V2.5.5 · ajuste fino móvil del resumen de Agenda ===== */
@media(max-width:820px){
  /* La hora debe conservarse completa (ej. 4:30 PM / 10:30 PM) sin comprimirse. */
  .calendar-summary-item{
    grid-template-columns:minmax(82px,auto) minmax(0,1fr)!important;
    column-gap:12px!important;
    align-items:center!important;
  }
  .calendar-summary-time{
    width:100%!important;
    min-width:82px!important;
    height:44px!important;
    padding:0 10px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    white-space:nowrap!important;
    font-size:10px!important;
    line-height:1!important;
    letter-spacing:.01em!important;
  }
  .calendar-summary-item>button{
    grid-column:1/-1!important;
    min-height:44px!important;
  }
  .calendar-summary-head>button{
    width:40px!important;
    height:40px!important;
    min-width:40px!important;
    min-height:40px!important;
  }
  .calendar-month-strip button{
    min-height:40px!important;
  }
  .calendar-legend button,
  .event-item>button{
    min-height:44px!important;
  }
}
@media(max-width:430px){
  .calendar-summary-item{
    grid-template-columns:minmax(78px,auto) minmax(0,1fr)!important;
    gap:10px!important;
  }
  .calendar-summary-time{
    min-width:78px!important;
    padding:0 8px!important;
    font-size:9.5px!important;
  }
}

/* ===== V2.5.6 · Agenda móvil: CTA general alineado y premium ===== */
@media(max-width:820px){
  /* La tarjeta general mantiene fecha, información y acción en una misma línea visual. */
  .event-item{
    grid-template-columns:56px minmax(0,1fr) auto!important;
    grid-template-rows:auto!important;
    align-items:center!important;
    column-gap:12px!important;
    row-gap:8px!important;
    padding:14px!important;
  }
  .event-item>.event-date{
    grid-column:1!important;
    grid-row:1!important;
    align-self:center!important;
    justify-self:start!important;
  }
  .event-item>div:nth-child(2){
    grid-column:2!important;
    grid-row:1!important;
    min-width:0!important;
    align-self:center!important;
  }
  .event-item>button{
    grid-column:3!important;
    grid-row:1!important;
    align-self:center!important;
    justify-self:end!important;
    width:auto!important;
    min-width:108px!important;
    max-width:132px!important;
    min-height:48px!important;
    padding:0 15px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    border-radius:13px!important;
    line-height:1.2!important;
    white-space:normal!important;
  }
}
@media(max-width:430px){
  .event-item{
    grid-template-columns:54px minmax(0,1fr) auto!important;
    column-gap:9px!important;
    padding:12px!important;
  }
  .event-item>.event-date{
    width:54px!important;
    height:62px!important;
  }
  .event-item>button{
    min-width:96px!important;
    max-width:112px!important;
    min-height:48px!important;
    padding:0 10px!important;
    font-size:8px!important;
  }
}
@media(max-width:350px){
  /* En pantallas excepcionalmente estrechas evitamos comprimir el contenido. */
  .event-item{
    grid-template-columns:54px minmax(0,1fr)!important;
  }
  .event-item>button{
    grid-column:1/-1!important;
    grid-row:2!important;
    width:100%!important;
    max-width:none!important;
    min-height:46px!important;
  }
}

/* Ficha única de miembros · v2.5.7 */
dialog.member-detail{position:fixed;inset:0;margin:auto;width:min(640px,calc(100% - 24px));max-height:85dvh;overflow:auto;padding:28px;border:1px solid #224252;border-radius:24px;background:#091b29;color:#edf8ff;box-sizing:border-box;}
dialog.member-detail:not([open]){display:none;}dialog.member-detail::backdrop{background:rgb(0 8 16 / .8);}
.member-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:24px 0;}.member-detail-grid dt{font-size:14px;color:#8eafbf;}.member-detail-grid dd{margin:4px 0 0;overflow-wrap:anywhere;font-size:16px;}.member-detail-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:end;}.member-detail-actions label{display:grid;gap:8px;}.member-detail-actions select{padding:12px;color:#eef9ff;background:#102b3a;border:1px solid #325065;border-radius:12px;}.member-detail-actions .primary-btn{white-space:normal;min-height:44px;}
@media(max-width:480px){.member-detail-grid{grid-template-columns:1fr;}dialog.member-detail{padding:24px 20px;}.member-detail-actions>*{width:100%;}}

/* v2.5.8: formularios táctiles, diálogos y credenciales. Sin cambiar la identidad visual. */
.fc-dialog{position:fixed;inset:0;margin:auto;width:min(620px,calc(100% - 28px));max-height:calc(100dvh - 32px);overflow:auto;overscroll-behavior:contain;border:1px solid #264454;border-radius:22px;padding:30px 24px;background:#091b29;color:#edf8ff;box-shadow:0 24px 80px #0009;box-sizing:border-box;}
.fc-dialog:not([open]){display:none;}.fc-dialog::backdrop{background:#020b14cc;}.fc-dialog h2{font-size:26px;line-height:1.2;padding-right:30px;margin:12px 0 20px;}.fc-dialog p{font-size:15px;line-height:1.5;overflow-wrap:anywhere;}.fc-dialog label{display:grid;gap:8px;margin:16px 0;font-size:15px;}.fc-dialog input{min-width:0;max-width:100%;width:100%;min-height:48px;background:#061522;color:#effaff;border:1px solid #315367;border-radius:12px;padding:12px;font-size:16px;}.fc-dialog input[readonly]{user-select:text;-webkit-user-select:text;}.fc-dialog .modal-close{position:absolute;right:12px;top:12px;min-width:44px;min-height:44px;font-size:24px;}
body:has(.fc-dialog[open]){overflow:hidden;}
.dialog-actions{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0;}.dialog-actions>*{min-height:46px;white-space:normal;text-align:center;justify-content:center;text-decoration:none;}.dialog-note{color:#9cb8c8;}.form-feedback{padding:12px 14px;background:#351b24;border:1px solid #7e3c4e;color:#ffe4e8;border-radius:12px;line-height:1.5;font-size:15px;overflow-wrap:anywhere;}.form-feedback:empty{display:none;}#credentialsCopyStatus{color:#8ee9e7;}#sessionError{color:#ffb6be;}
#joinForm .form-grid>label,#memberForm .form-grid>label{min-width:0;}#joinForm input,#joinForm select,#memberForm input,#memberForm select{font-size:16px;min-height:46px;max-width:100%;}#joinForm input[type=checkbox],#memberForm input[type=checkbox]{min-height:20px;width:20px;height:20px;flex:0 0 20px;}#joinForm .checkline,#memberForm .checkline{align-items:flex-start;line-height:1.5;font-size:14px;}#joinForm input[type=date],#memberForm input[type=date]{width:100%;min-width:0;box-sizing:border-box;color-scheme:dark;appearance:none;-webkit-appearance:none;}#joinForm input[type=date]::-webkit-date-and-time-value,#memberForm input[type=date]::-webkit-date-and-time-value{text-align:left;}
#memberModal{overflow:auto;overscroll-behavior:contain;}#memberModal .modal{max-height:calc(100dvh - 28px);overflow:auto;}.member-toolbar{flex-wrap:wrap;}.member-toolbar>*{min-width:0;}.member-toolbar input,.member-toolbar select{font-size:16px;}.member-row-actions button{min-height:44px;}.account-row small{overflow-wrap:anywhere;}
@media(max-width:820px){
  #joinForm .form-grid,#memberForm .form-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;}
  #joinForm .form-grid .wide,#memberForm .form-grid .wide{grid-column:auto;}
  #joinForm,#memberModal .modal{padding:22px 16px!important;}
  #memberModal .modal{max-height:calc(100dvh - env(safe-area-inset-top) - 12px)!important;padding-bottom:calc(24px + env(safe-area-inset-bottom))!important;}
  .fc-dialog,dialog.member-detail{width:calc(100% - 24px);max-height:calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom));padding:28px 18px;border-radius:20px;}
  .dialog-actions{display:grid;grid-template-columns:1fr;}.dialog-actions>*{width:100%;font-size:16px;}.member-toolbar{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:10px!important;}.member-toolbar>*{width:100%!important;max-width:100%;min-height:44px;}
  .member-table-wrap{overflow:visible!important;}#memberRows{display:block;} .member-table-wrap table{min-width:0!important;width:100%;display:block;}.member-table-wrap thead{display:none;}#memberRows tr{display:block;padding:16px 12px;border-bottom:1px solid #244051;}#memberRows td{display:block;padding:6px 0;white-space:normal!important;border:0;overflow-wrap:anywhere;font-size:15px;}#memberRows td:nth-child(2)::before{content:'Carrera: ';color:#93b0c0;}#memberRows td:nth-child(3)::before{content:'Año/ciclo: ';color:#93b0c0;}#memberRows td:nth-child(5)::before{content:'Registrado por: ';color:#93b0c0;}#memberRows .person{align-items:flex-start;}#memberRows .person>div{min-width:0;}#memberRows .person small{font-size:14px;}#memberRows .member-row-actions{display:flex;gap:10px;flex-wrap:wrap;}#memberRows .table-open{padding:10px 12px;font-size:14px;}
  .account-row{flex-wrap:wrap;gap:12px;}.account-row>div{min-width:0;max-width:100%;}.account-row-actions{flex-wrap:wrap;}
}
