:root{--bg: #fbfaf5;--surface: #ffffff;--surface-soft: #f3f8f6;--text: #17211d;--muted: #52645e;--green: #3f7f2f;--lime: #97bd14;--blue: #3a9fbb;--orange: #ee9718;--yellow: #f4c600;--red: #b81832;--border: #d8e1dc;--shadow: 0 18px 48px rgba(23, 33, 29, .11);--card-shadow: 0 10px 28px rgba(23, 33, 29, .08);color:var(--text);background:var(--bg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;min-width:320px;background:var(--bg)}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,video:focus-visible{outline:3px solid var(--blue);outline-offset:3px}.topbar{align-items:center;background:#fbfaf5f5;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;min-height:76px;padding:12px clamp(16px,4vw,56px);position:sticky;top:0;z-index:20}.brand{background:transparent;border:0;padding:0}.brand img{display:block;height:clamp(38px,6vw,54px);width:auto}.icon-button{align-items:center;background:var(--green);border:0;border-radius:8px;color:#fff;display:none;height:44px;justify-content:center;width:44px}.nav{align-items:center;display:flex;gap:6px}.nav button{background:transparent;border:0;border-radius:8px;color:var(--muted);font-weight:800;min-height:44px;padding:0 12px}.nav .active{background:var(--surface-soft);color:var(--green)}.screen{min-height:calc(100vh - 76px);padding:clamp(18px,3.5vw,46px) clamp(16px,5vw,80px)}.hero-screen{align-items:center;display:grid;gap:clamp(28px,5vw,72px);grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr)}.eyebrow{align-items:center;color:var(--green);display:inline-flex;font-size:.82rem;font-weight:900;gap:8px;letter-spacing:0;margin:0 0 14px;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1{color:var(--text);font-size:clamp(2.35rem,6vw,5.4rem);letter-spacing:0;line-height:.98;margin-bottom:20px}h2{color:var(--text);font-size:clamp(2rem,4vw,4.1rem);letter-spacing:0;line-height:1.02;margin-bottom:16px}h3{color:var(--text);font-size:1.35rem;letter-spacing:0;line-height:1.15;margin-bottom:10px}p{color:var(--muted);font-size:1.04rem;line-height:1.65}.hero-copy>p:not(.eyebrow){font-size:clamp(1.08rem,1.5vw,1.25rem);max-width:680px;text-align:justify}.hero-actions{display:flex;flex-wrap:wrap;gap:18px;justify-content:center;margin-top:36px;max-width:680px}.button,.activity-card button{align-items:center;border:0;border-radius:8px;display:inline-flex;font-size:clamp(1.16rem,1.45vw,1.34rem);font-weight:950;gap:10px;justify-content:center;min-height:72px;padding:0 36px}.button svg{flex:0 0 auto}.button.primary,.activity-card button{background:var(--card-accent, var(--green));color:#fff;box-shadow:0 16px 34px #3f7f2f42}.button.secondary{box-shadow:var(--card-shadow)}.button.secondary{background:var(--surface-soft);color:var(--green)}.hero-media{display:grid;gap:18px}.hero-media>img{aspect-ratio:16 / 5.1;border-radius:18px;box-shadow:var(--shadow);display:block;object-fit:cover;object-position:center 31%;width:100%}.video-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;overflow:hidden;padding:0;box-shadow:var(--card-shadow)}.video-shell{position:relative}.video-card video{aspect-ratio:16 / 9;background:#111;display:block;height:100%;object-fit:cover;width:100%}.play-indicator{align-items:center;background:#ffffffe0;border:1px solid rgba(255,255,255,.72);border-radius:999px;box-shadow:0 16px 36px #17211d38;color:var(--green);display:inline-flex;height:86px;justify-content:center;left:50%;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);transition:transform .18s ease,background .18s ease;width:86px}.video-card:hover .play-indicator{background:#fff;transform:translate(-50%,-50%) scale(1.12)}.section-title{max-width:900px;margin-bottom:34px}.story-grid,.activity-grid,.news-grid{display:grid;gap:18px;grid-template-columns:repeat(3,minmax(0,1fr))}.story-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.story-card,.activity-card,.timeline article,.news-grid article,.portal-sidebar,.module-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:var(--card-shadow);padding:clamp(18px,3vw,26px)}.story-card.large{grid-column:auto}.mission-card{border-top:6px solid var(--green);grid-column:auto}.project-impact{display:grid;gap:20px;grid-template-columns:repeat(2,minmax(0,1fr))}.impact-panel{align-items:end;border-radius:26px;box-shadow:var(--shadow);display:flex;min-height:500px;overflow:hidden;padding:clamp(28px,4.5vw,58px);position:relative}.impact-panel:before{border:1px solid rgba(255,255,255,.34);border-radius:22px;content:"";inset:16px;pointer-events:none;position:absolute}.mission-panel{background:linear-gradient(135deg,#17211ddb,#3f7f2ff0),url(/assets/media/rally-3.jpg) center / cover;color:#fff}.vision-panel{background:linear-gradient(135deg,#17211de0,#3a9fbbf0),url(/assets/media/itaso-video-poster.jpg) center / cover;color:#fff}.impact-panel div{max-width:760px;position:relative;z-index:1}.impact-label{color:#ffffffdb;font-size:.84rem;font-weight:950;margin-bottom:12px;text-transform:uppercase}.impact-panel h3{color:#fff;font-size:clamp(2.7rem,5.6vw,5.4rem);line-height:.94;margin-bottom:26px}.impact-panel p{color:#fffffff0;font-size:clamp(1.1rem,1.38vw,1.24rem);line-height:1.6;text-align:justify}.impact-image{border-radius:26px;box-shadow:var(--shadow);min-height:500px;overflow:hidden}.impact-image.tall{min-height:560px}.impact-image img{display:block;height:100%;object-fit:cover;object-position:center;width:100%}.project-media-grid{display:grid;gap:18px;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:18px}.media-card{aspect-ratio:4 / 3;background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:var(--card-shadow);overflow:hidden}.media-card.wide{aspect-ratio:16 / 9;grid-column:span 2}.media-card img,.media-card video{display:block;height:100%;object-fit:cover;object-position:center;width:100%}.team-grid{display:grid;gap:18px;grid-template-columns:repeat(4,minmax(0,1fr))}.team-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:var(--card-shadow);overflow:hidden}.team-card img{aspect-ratio:4 / 3;display:block;object-fit:cover;object-position:center top;width:100%}.team-card div{padding:16px}.team-card .career{color:var(--green);font-weight:850}.site-footer{align-items:center;background:linear-gradient(180deg,var(--bg) 0%,var(--bg) 50%,#fff 100%);border-top:1px solid var(--border);display:flex;gap:24px;justify-content:space-between;padding:18px clamp(16px,5vw,80px)}.footer-brand{align-items:center;display:grid;gap:8px;justify-items:center;width:min(260px,45vw)}.site-footer img{display:block;height:76px;max-width:220px;object-fit:contain;object-position:center;width:100%}.social-links{display:flex;gap:10px;justify-content:center}.social-links span{align-items:center;background:var(--surface-soft);border:1px solid var(--border);border-radius:999px;color:var(--green);display:inline-flex;height:38px;justify-content:center;width:38px}.x-social{font-family:Arial,Helvetica,sans-serif;font-size:1.02rem;font-weight:900;line-height:1}.footer-university{justify-items:center}.footer-university img{height:86px;max-width:270px;object-fit:contain;object-position:center}.footer-university .social-links span{background:#eef5ff;border-color:#c9d9f2;color:#1f4f8f}.story-card.blue{border-top:6px solid var(--blue)}.story-card.green{border-top:6px solid var(--lime)}.story-card.red{border-top:6px solid var(--red)}.yellow,.blue,.green,.red{background:var(--surface);color:var(--text)}.activity-card{--card-accent: var(--green);--card-soft: #edf7eb;background:linear-gradient(180deg,#ffffffd1,#fffffff5),var(--card-soft);border-top:8px solid var(--card-accent);display:flex;flex-direction:column;min-height:260px}.activity-card.orange{--card-accent: var(--orange);--card-soft: #fff3df}.activity-card.green{--card-accent: var(--lime);--card-soft: #f1f8dc}.activity-card.blue{--card-accent: var(--blue);--card-soft: #e4f5f9}.activity-card.yellow{--card-accent: var(--yellow);--card-soft: #fff8d6}.activity-card.yellow button{color:var(--text)}.activity-card.red{--card-accent: var(--red);--card-soft: #fde7eb}.activity-card.sky{--card-accent: #77cce0;--card-soft: #e7f8fb}.activity-card svg{color:var(--card-accent)}.news-grid svg{color:var(--green);height:32px;margin-bottom:18px;width:32px}.activity-card svg{height:32px;margin-bottom:18px;width:32px}.activity-card p{flex:1}.activity-card button{align-self:flex-start;margin-top:14px}.timeline{display:grid;gap:16px;max-width:940px}.timeline article{border-left:6px solid var(--blue)}.timeline strong,.timeline span{display:block}.timeline strong{color:var(--text);font-size:1.45rem;margin-bottom:6px}.timeline span{color:var(--muted)}.calculator-screen{background:radial-gradient(circle at 12% 16%,rgba(238,151,24,.14),transparent 28%),radial-gradient(circle at 92% 8%,rgba(58,159,187,.16),transparent 28%),var(--bg)}.calculator-form-card,.sugar-counter,.calculator-result{background:var(--surface);border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow);margin:0 auto;max-width:1100px;padding:clamp(22px,4vw,44px)}.calculator-form-card{display:grid;gap:30px;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}.calculator-form-card form{display:grid;gap:18px}.calculator-form-card label{color:var(--text);display:grid;font-size:1.02rem;font-weight:900;gap:8px}.calculator-form-card small{color:var(--muted);font-weight:750}.calculator-form-card input{border:1px solid var(--border);border-radius:10px;color:var(--text);font-size:1.2rem;min-height:58px;padding:0 14px}.calculator-form-card #edad{background:#ffe1d7}.calculator-form-card #peso{background:#fff5c4}.calculator-form-card #Altura{background:#dff3ff}.calculator-form-card label span{background:#fde7eb;border-radius:8px;color:var(--red);font-size:.92rem;padding:8px 10px}.calculator-actions,.calculator-toolbar{display:flex;flex-wrap:wrap;gap:12px}.calculator-actions{justify-content:flex-end;margin-top:8px}.calculator-actions.centered{justify-content:center}.calculator-toolbar{justify-content:center;margin-bottom:28px}.button:disabled,.beverage-controls button:disabled{cursor:not-allowed;opacity:.48}.sugar-counter h3,.calculator-result h3{text-align:center}.beverage-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin:28px 0}.beverage-card{align-items:center;background:#f6f8f5;border:1px solid var(--border);border-radius:14px;box-shadow:var(--card-shadow);display:grid;gap:12px;justify-items:center;min-height:220px;padding:14px}.beverage-card img{height:130px;object-fit:contain;width:100%}.beverage-card strong{color:var(--text);font-size:1.5rem}.beverage-controls{display:flex;gap:8px}.beverage-controls button{align-items:center;border:0;border-radius:8px;color:#fff;display:inline-flex;height:40px;justify-content:center;width:40px}.beverage-controls button:first-child{background:var(--blue)}.beverage-controls button:nth-child(2){background:tomato}.beverage-controls button:nth-child(3){background:var(--yellow);color:var(--text)}.brand-fill img{max-width:170px}.calculator-result{text-align:center}.sugar-total{align-items:baseline;color:var(--blue);display:flex;gap:14px;justify-content:center;margin:8px 0 24px}.sugar-total strong{font-size:clamp(5rem,12vw,9rem);line-height:.9}.sugar-total span{font-size:clamp(2rem,5vw,4.5rem);font-weight:900}.result-warning,.result-healthy{border-radius:12px;color:#fff;display:inline-block;font-size:1.25rem;font-weight:850;margin:0 auto 34px;max-width:760px;padding:14px 18px}.result-warning{background:var(--red)}.result-healthy{background:#80cfa6}.memory-screen{background:linear-gradient(135deg,#ee9718eb,#b81832e6);color:#fff;min-height:auto}.memory-menu,.memory-game{margin:0 auto;max-width:min(1440px,100%);width:100%}.memory-game{display:grid;grid-template-rows:auto 1fr auto;min-height:calc(100vh - 140px)}.memory-menu{align-items:center;display:flex;flex-direction:column;min-height:calc(100vh - 170px);justify-content:center;text-align:center}.memory-menu h2{color:#fff;font-size:clamp(3rem,8vw,6.2rem);margin:28px 0 18px}.memory-menu p{color:#fffffff0;font-size:clamp(1.1rem,2vw,1.45rem);max-width:900px}.level-options{display:grid;gap:18px;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:34px;width:min(760px,100%)}.level-card{align-items:center;background:#fff3;border:1px solid rgba(255,255,255,.35);border-radius:16px;color:#fff;display:grid;font-size:1.35rem;font-weight:950;gap:12px;justify-items:center;min-height:150px;padding:22px;transition:transform .18s ease,background .18s ease,box-shadow .18s ease}.level-card:hover{background:#ffffff47;box-shadow:0 18px 42px #17211d38;transform:translateY(-4px)}.level-card small{color:#ffffffd1;font-size:.95rem;font-weight:850}.memory-toolbar{align-items:center;display:grid;gap:16px;grid-template-columns:1fr auto 1fr;margin-bottom:26px}.memory-toolbar h2{color:#fff;margin:0;text-align:center}.memory-toolbar .button:first-child{justify-self:start}.memory-toolbar .button:last-child{justify-self:end}.memory-board{align-content:start;--memory-card-size: 104px;--memory-columns: 9;display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:0 auto;perspective:1000px;width:min(100%,calc((var(--memory-card-size) * var(--memory-columns)) + (10px * (var(--memory-columns) - 1))))}.memory-card{aspect-ratio:3 / 4;background:transparent;border:0;flex:0 0 var(--memory-card-size);padding:0;position:relative;transform-style:preserve-3d}.memory-board.l1{--memory-card-size: 148px;--memory-columns: 9}.memory-board.l2{--memory-card-size: 128px;--memory-columns: 10}.memory-board.l3{--memory-card-size: 108px;--memory-columns: 12}.memory-side{backface-visibility:hidden;border-radius:12px;box-shadow:0 10px 22px #17211d2e;inset:0;overflow:hidden;position:absolute;transition:transform .42s ease}.memory-side img{display:block;height:100%;object-fit:cover;width:100%}.memory-front{transform:rotateY(0)}.memory-back{background:#fff;transform:rotateY(180deg)}.memory-card.flipped .memory-front{transform:rotateY(180deg)}.memory-card.flipped .memory-back{transform:rotateY(360deg)}.memory-win{background:#fff;border-radius:18px;box-shadow:var(--shadow);color:var(--text);margin:28px auto 0;max-width:720px;padding:28px;text-align:center}.memory-win h3{font-size:2.4rem}.wheel-screen{background:radial-gradient(circle at 12% 15%,rgba(151,189,20,.26),transparent 28%),radial-gradient(circle at 85% 20%,rgba(58,159,187,.22),transparent 30%),linear-gradient(180deg,#fffdf5,#f3f8f6);display:grid;grid-template-rows:auto minmax(0,1fr);min-height:calc(100vh - 76px);overflow:hidden;padding-bottom:18px;padding-top:18px}.wheel-header{align-items:center;display:grid;gap:14px;grid-template-columns:auto 1fr auto;margin-bottom:14px}.wheel-header h2{font-size:clamp(2.2rem,4.5vw,4.2rem);margin-bottom:0;text-align:center}.wheel-layout{display:grid;gap:14px;grid-template-columns:minmax(420px,1fr) minmax(320px,.76fr) minmax(250px,.52fr);min-height:0}.wheel-panel,.plate-panel,.food-bank{background:#ffffffe0;border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow)}.wheel-panel{align-items:center;display:grid;gap:18px;grid-template-columns:minmax(280px,.92fr) minmax(180px,.62fr);min-height:0;padding:clamp(16px,2vw,24px)}.wheel-stage{display:grid;justify-items:center;position:relative}.wheel-pointer{border-left:18px solid transparent;border-right:18px solid transparent;border-top:34px solid var(--red);filter:drop-shadow(0 8px 10px rgba(23,33,29,.22));left:50%;position:absolute;top:-4px;transform:translate(-50%);z-index:2}.food-wheel{align-items:center;background:transparent;border:0;border-radius:999px;display:grid;justify-items:center;padding:8px;position:relative;--label-radius: min(17vh, 148px);width:min(46vh,420px,100%)}.wheel-disc{aspect-ratio:1;background:#fff;border:8px solid #fff;border-radius:999px;box-shadow:0 20px 46px #17211d2e;display:grid;overflow:hidden;position:relative;transition:transform .95s cubic-bezier(.2,.8,.2,1);width:100%}.wheel-disc img{height:100%;object-fit:cover;width:100%}.wheel-label{color:#fff;font-size:clamp(.68rem,.82vw,.9rem);font-weight:950;left:50%;position:absolute;text-shadow:0 2px 8px rgba(23,33,29,.28);top:50%;transform:translate(-50%,-50%) rotate(var(--label-angle)) translateY(calc(-1 * var(--label-radius))) rotate(var(--label-counter));transform-origin:center;white-space:nowrap;z-index:1}.wheel-center{align-items:center;background:#fff;border:6px solid var(--surface-soft);border-radius:999px;box-shadow:0 14px 28px #17211d33;color:var(--green);display:inline-flex;font-size:1rem;font-weight:950;height:82px;justify-content:center;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:82px;z-index:3}.wheel-status{border-left:10px solid var(--active-color);display:grid;gap:7px;padding:12px 0 12px 16px}.wheel-status span,.wheel-status small{color:var(--muted);font-weight:850}.wheel-status strong{color:var(--text);font-size:clamp(1.8rem,3vw,3rem);line-height:.95}.wheel-status p{margin-bottom:0}.plate-panel{display:grid;gap:10px;min-height:0;padding:clamp(14px,2vw,20px)}.plate-panel h3{text-align:center}.plate-target{align-items:center;background:#f8fbf7;border:2px dashed #c9d8cf;border-radius:18px;display:grid;height:100%;justify-items:center;min-height:0;overflow:hidden;position:relative;transition:border-color .18s ease,box-shadow .18s ease}.plate-target.is-success{border-color:#38842bb3;box-shadow:inset 0 0 0 4px #38842b1a}.plate-target.is-error{border-color:#d0374db8;box-shadow:inset 0 0 0 4px #d0374d1a}.plate-target.is-warning{border-color:#f2a224b8;box-shadow:inset 0 0 0 4px #f2a2241f}.plate-target>img{height:92%;object-fit:contain;opacity:.42;width:92%}.plate-zones{inset:4%;pointer-events:none;position:absolute;z-index:2}.plate-zone{border:2px solid transparent;border-radius:999px;pointer-events:auto;position:absolute;transition:background .16s ease,border-color .16s ease,transform .16s ease}.plate-zone:hover{background:#ffffff2e;border-color:#ffffffd1;transform:scale(1.03)}.zone-verduras{height:46%;left:50%;top:6%;transform:translate(-50%);width:42%}.zone-frutas{height:44%;right:5%;top:27%;width:42%}.zone-cereales{height:42%;left:8%;top:28%;width:38%}.zone-leguminosas{bottom:5%;height:41%;left:16%;width:36%}.zone-animal{bottom:5%;height:41%;right:14%;width:38%}.plate-foods{inset:0;pointer-events:none;position:absolute;z-index:3}.placed-food{height:clamp(42px,4vw,58px);object-fit:contain;position:absolute;transform:translate(-50%,-50%);width:clamp(42px,4vw,58px)}.food-verduras{left:50%;top:28%}.food-frutas{left:73%;top:48%}.food-cereales{left:29%;top:48%}.food-leguminosas{left:39%;top:72%}.food-animal{left:62%;top:72%}.wheel-feedback{border-radius:12px;font-weight:900;margin:0;padding:10px 12px;text-align:center}.wheel-feedback.success{background:#38842b1f;color:var(--green)}.wheel-feedback.error{background:#d0374d1f;color:var(--red)}.wheel-feedback.warning{background:#f2a22424;color:#8a5409}.food-drag-preview{align-items:center;background:#fff;border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow);color:var(--text);display:inline-flex;gap:8px;left:-999px;padding:8px 10px;pointer-events:none;position:fixed;top:-999px;z-index:9999}.food-drag-preview img{height:46px;object-fit:contain;width:46px}.food-drag-preview span{font-weight:900}.food-bank{display:grid;gap:8px;grid-template-columns:1fr;margin-top:0;min-height:0;overflow:auto;padding:12px}.food-group{display:grid;gap:6px}.food-group h3{border-bottom:3px solid var(--group-color);font-size:.86rem;margin-bottom:0;padding-bottom:4px}.food-group>div{display:grid;gap:6px;grid-template-columns:repeat(2,minmax(0,1fr))}.food-chip{align-items:center;background:#fff;border:1px solid var(--border);border-radius:10px;display:flex;gap:6px;min-height:42px;padding:5px 7px;text-align:left}.food-chip img{height:30px;object-fit:contain;width:30px}.food-chip span{color:var(--text);font-size:.92rem;font-weight:850}.portal-screen{background:#f2f7f4}.login-screen{align-items:center;display:grid;justify-content:center}.login-card{background:var(--surface);border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow);display:grid;gap:14px;max-width:460px;padding:clamp(24px,4vw,42px);width:min(100%,460px)}.login-card h2{font-size:clamp(2rem,4vw,3rem)}.login-card p{margin-bottom:0}.login-card label{color:var(--text);display:grid;font-weight:800;gap:6px}.login-card input{border:1px solid var(--border);border-radius:8px;min-height:46px;padding:8px 10px}.password-field{display:flex;position:relative;width:100%}.password-field input{padding-right:48px;width:100%}.password-field button{align-items:center;background:transparent;border:0;color:var(--green);display:flex;height:44px;justify-content:center;position:absolute;right:0;top:1px;width:44px}.text-button{background:transparent;border:0;color:var(--green);font:inherit;font-weight:850;padding:0;text-decoration:underline}.portal-title p{max-width:780px}.role-picker{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px}.role-picker button,.filters button{background:var(--surface);border:1px solid var(--border);border-radius:999px;color:var(--text);font-weight:850;min-height:44px;padding:0 14px}.role-picker .active,.filters .active{background:var(--green);border-color:var(--green);color:#fff}.portal-layout{display:grid;gap:18px;grid-template-columns:280px 1fr}.portal-sidebar{align-self:start;position:sticky;top:96px}.portal-sidebar span{background:var(--surface-soft);border-radius:999px;color:var(--green);display:inline-flex;font-weight:850;margin:6px 6px 0 0;padding:8px 10px}.portal-content{display:grid;gap:18px}.management-heading,.user-row,.user-row-actions,.management-actions,.role-admin,.role-admin form,.role-tags,.assigned-roles,.role-checkboxes{align-items:center;display:flex}.management-heading,.role-admin{justify-content:space-between;gap:18px}.management-heading p{margin-bottom:0}.user-count,.status,.assigned-roles em,.role-tags>span{border-radius:999px;font-size:.82rem;font-style:normal;font-weight:850;padding:6px 10px}.user-count,.assigned-roles em{background:#e6f2ce;color:#315d25}.management-notice{background:#e4f3f8;border-left:4px solid var(--blue);border-radius:8px;color:var(--text);font-weight:700;margin:18px 0 0;padding:10px 12px}.simulation-notice{background:#fff4d7;border-left:4px solid var(--orange);border-radius:8px;color:#654200;font-size:.92rem;font-weight:750;line-height:1.45;margin:0 0 16px;padding:10px 12px}.management-layout{display:grid;gap:18px;grid-template-columns:minmax(260px,.78fr) minmax(0,1.22fr);margin-top:18px}.user-form,.user-list,.role-admin{background:var(--surface-soft);border:1px solid var(--border);border-radius:12px;padding:18px}.user-form,.user-list{display:grid;align-content:start;gap:12px}.user-form h4,.user-list h4,.role-admin h4{font-size:1.05rem;margin:0}.user-form>label,.role-admin label{color:var(--text);display:grid;font-size:.9rem;font-weight:800;gap:6px}.user-form input,.user-form select,.role-admin input{background:#fff;border:1px solid #bdccc3;border-radius:8px;color:var(--text);min-height:42px;padding:8px 10px}.user-form fieldset{border:1px solid #bdccc3;border-radius:8px;margin:0;padding:10px}.user-form legend{color:var(--muted);font-size:.9rem;font-weight:800;padding:0 4px}.role-checkboxes{align-items:flex-start;flex-direction:column;gap:6px}.role-checkboxes label{align-items:center;color:var(--text);display:flex;font-size:.92rem;gap:8px;text-transform:capitalize}.assigned-roles em,.role-tags>span{text-transform:capitalize}.management-actions{align-items:stretch;flex-wrap:wrap;gap:8px}.user-management .button{font-size:.94rem;min-height:42px;padding:0 15px}.user-row{align-items:flex-start;background:#fff;border:1px solid var(--border);border-radius:9px;justify-content:space-between;padding:12px}.user-row strong,.user-row span{display:block}.user-row>div:first-child{min-width:0}.user-row>div:first-child>span{color:var(--muted);font-size:.86rem;overflow-wrap:anywhere}.assigned-roles{flex-wrap:wrap;gap:5px;margin-top:8px}.user-row-actions{flex-wrap:wrap;gap:6px;justify-content:flex-end}.user-row-actions button,.role-tags button{background:#fff;border:1px solid var(--border);border-radius:7px;color:var(--green);font-size:.82rem;font-weight:800;min-height:32px;padding:0 8px}.status{background:#f7e7e9;color:var(--red)}.status.active{background:#e6f2ce;color:#315d25}.user-row-actions .danger-button{align-items:center;color:var(--red);display:inline-flex;justify-content:center;padding:0;width:32px}.empty-state{margin:0}.role-admin{align-items:end;margin-top:18px}.role-tags{flex-wrap:wrap;gap:7px;margin-top:10px}.role-tags>span{align-items:center;background:#e4f3f8;color:#266779;display:inline-flex;gap:5px}.role-tags button{align-items:center;background:transparent;border:0;color:inherit;display:inline-flex;min-height:auto;padding:0}.role-admin form{align-items:end;gap:8px}.module-card h3{align-items:center;display:flex;gap:10px}.module-card h3 svg,.compact-list svg,.security-list svg{color:var(--green)}.searchbox{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:8px;display:flex;gap:10px;min-height:48px;padding:0 14px}.searchbox input{background:transparent;border:0;color:var(--text);min-width:0;outline:0;width:100%}.filters{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.compact-list,.pipeline,.security-list{display:grid;gap:10px}.compact-list p,.pipeline span,.security-list p{align-items:center;background:var(--surface-soft);border-radius:8px;display:flex;gap:10px;margin:0;padding:12px 14px}.indicator-grid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.indicator-grid article{background:var(--surface-soft);border-radius:10px;padding:16px}.indicator-grid span,.indicator-grid strong,.indicator-grid small{display:block}.indicator-grid strong{color:var(--text);font-size:2rem;line-height:1;margin:8px 0}.chat-preview{background:var(--surface-soft);border-radius:12px;padding:14px}.chat-preview p,.chat-preview strong{border-radius:10px;display:block;padding:12px}.chat-preview p{background:#dff1f6;color:var(--text)}.chat-preview strong{background:#e6f2ce}@media(max-width:980px){.icon-button{display:inline-flex}.nav{background:var(--surface);border-bottom:1px solid var(--border);display:none;flex-direction:column;left:0;padding:14px 16px 18px;position:absolute;right:0;top:76px}.nav.open{display:flex}.nav button{justify-content:flex-start;text-align:left;width:100%}.hero-screen,.calculator-form-card,.portal-layout,.management-layout,.story-grid,.project-impact,.project-media-grid,.activity-grid,.news-grid,.team-grid,.indicator-grid{grid-template-columns:1fr}.story-card.large,.media-card.wide{grid-column:auto}.portal-sidebar{position:static}.role-admin{align-items:stretch;flex-direction:column}.site-footer{align-items:center;flex-direction:column}.footer-university{justify-items:center}.footer-brand{width:min(280px,100%)}.calculator-actions{justify-content:stretch}.calculator-actions .button,.calculator-toolbar .button{flex:1 1 220px}.level-options,.memory-toolbar,.wheel-header,.wheel-layout,.wheel-panel{grid-template-columns:1fr}.memory-toolbar .button:first-child,.memory-toolbar .button:last-child,.wheel-header .button{justify-self:stretch}.wheel-header h2{text-align:left}.food-bank{grid-template-columns:repeat(2,minmax(0,1fr))}.memory-game{min-height:auto}.memory-toolbar .button{min-height:54px}.memory-board,.memory-board.l1{--memory-card-size: 82px;--memory-columns: 7}.memory-board.l2{--memory-card-size: 72px;--memory-columns: 8}.memory-board.l3{--memory-card-size: 62px;--memory-columns: 9}}@media(max-width:560px){.brand img{max-width:178px}.screen{min-height:auto;padding-top:20px}.memory-screen{padding:12px 10px 18px}h1{font-size:2.55rem}h2{font-size:2rem}.hero-media>img{aspect-ratio:16 / 7}.button,.hero-actions{width:100%}.management-heading,.user-row,.user-row-actions,.role-admin form{align-items:stretch;flex-direction:column}.user-row-actions{align-self:stretch}.user-row-actions .status,.user-row-actions button{text-align:center;width:100%}.user-row-actions .danger-button{width:100%}.button{min-height:64px}.memory-toolbar{gap:8px;margin-bottom:12px}.memory-toolbar h2{font-size:1.55rem}.memory-toolbar .button{font-size:.98rem;min-height:44px;padding:0 14px}.beverage-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.beverage-card{min-height:190px;padding:12px}.beverage-card img{height:96px}.beverage-controls button{height:36px;width:36px}.sugar-total{align-items:center;flex-direction:column;gap:0}.memory-board{gap:5px;width:min(100%,calc((var(--memory-card-size) * var(--memory-columns)) + (5px * (var(--memory-columns) - 1))))}.memory-board.l1{--memory-card-size: 58px;--memory-columns: 5}.memory-board.l2{--memory-card-size: 52px;--memory-columns: 5}.memory-board.l3{--memory-card-size: 44px;--memory-columns: 6}.memory-side{border-radius:8px}.wheel-screen{overflow:visible;padding-left:12px;padding-right:12px}.wheel-header h2{font-size:2.2rem}.wheel-layout,.wheel-panel{grid-template-columns:1fr}.food-wheel{--label-radius: min(29vw, 104px);width:min(78vw,300px)}.wheel-center{font-size:1rem;height:84px;width:84px}.wheel-label{font-size:.72rem}.wheel-status strong{font-size:2.4rem}.plate-target{aspect-ratio:4 / 3}.plate-foods img{height:44px;width:44px}.food-bank{overflow:visible;padding:12px}.food-group>div{grid-template-columns:repeat(2,minmax(0,1fr))}.food-chip{min-height:48px}}
