:root{--ink:#17332d;--green:#245742;--green-2:#36705a;--orange:#e97828;--orange-2:#f5a04c;--blue:#277b88;--cream:#f7f1e7;--paper:#fffdf8;--sand:#e9d8bd;--line:#ded8cd;--muted:#6d7772;--danger:#a94438;--success:#287454;--shadow:0 18px 50px rgba(30,54,43,.1);--radius:20px;--serif:Georgia,'Times New Roman',serif;--sans:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.55}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}img{max-width:100%}.skip-link{position:fixed;left:1rem;top:-5rem;z-index:999;background:#fff;padding:.7rem 1rem;border-radius:8px}.skip-link:focus{top:1rem}.eyebrow{display:block;color:var(--orange);font-size:.72rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.eyebrow.light{color:#f7c792}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.04}h1{font-size:clamp(2.2rem,4vw,4.5rem)}h2{font-size:clamp(1.45rem,2.4vw,2.35rem)}h3{font-size:1.3rem}.button{align-items:center;background:var(--orange);border:1px solid var(--orange);border-radius:999px;color:#fff;display:inline-flex;font-weight:750;gap:.85rem;justify-content:center;padding:.82rem 1.35rem;transition:.25s transform,.25s box-shadow,.25s background}.button:hover{background:#cf641b;box-shadow:0 10px 24px rgba(205,97,25,.2);transform:translateY(-2px)}.button.secondary,.button.ghost{background:transparent;border-color:var(--line);color:var(--ink)}.button.ghost{border-color:rgba(35,84,66,.35)}.button.secondary:hover,.button.ghost:hover{background:#fff}.button.cream{background:var(--cream);border-color:var(--cream);color:var(--green)}.button.small{font-size:.85rem;padding:.55rem 1rem}.button.block{width:100%}.text-link{color:var(--green);font-weight:750}.text-button{background:none;border:0;color:var(--green);font-weight:750;padding:0}.round-link,.round-back,.icon-button{align-items:center;background:transparent;border:1px solid var(--line);border-radius:999px;display:inline-flex;height:42px;justify-content:center;min-width:42px;padding:0 .9rem}.round-back{font-size:1.2rem;padding:0;width:42px}.brand{align-items:center;display:flex;gap:.8rem}.brand strong{font-family:var(--serif);font-size:1.45rem;font-weight:600;line-height:1}.brand small{display:block;font-size:.61rem;font-weight:700;letter-spacing:.13em;margin-top:.25rem;text-transform:uppercase}.brand-mark{align-items:center;background:var(--orange);border-radius:50%;display:inline-flex;height:42px;justify-content:center;position:relative;width:42px}.brand-mark i{background:#fff9ee;border-radius:50%;height:7px;position:absolute;width:7px}.brand-mark i:nth-child(1){transform:translate(-7px,3px)}.brand-mark i:nth-child(2){transform:translate(7px,3px)}.brand-mark i:nth-child(3){transform:translate(0,-7px)}.brand-mark.large{height:58px;width:58px}.public-header{align-items:center;background:var(--cream);display:flex;height:88px;justify-content:space-between;padding:0 clamp(1.2rem,4vw,5rem);position:relative;z-index:20}.public-header nav{display:flex;gap:2.2rem}.public-header nav a{font-size:.86rem;font-weight:700}.header-actions{align-items:center;display:flex;gap:1.3rem}.public-footer{align-items:center;background:#193d33;color:#fff;display:flex;justify-content:space-between;padding:2.5rem clamp(1.5rem,5vw,6rem)}.public-footer p{color:#b8cbc4;margin:0}.language-picker{display:flex;gap:.3rem}.language-picker button{background:transparent;border:0;border-radius:10px;color:inherit;font-size:.75rem;font-weight:800;padding:.5rem}.language-picker button:hover{background:rgba(255,255,255,.1)}
.hero{background:#f6eddf;min-height:680px;overflow:hidden;position:relative}.hero-copy{display:flex;flex-direction:column;justify-content:center;min-height:680px;padding:4rem 0 5rem max(5vw,calc((100vw - 1420px)/2));position:relative;width:47%;z-index:3}.hero h1{font-size:clamp(3.1rem,5.2vw,6rem);letter-spacing:-.04em;margin:.65rem 0 1.35rem}.hero h1 em{color:var(--orange);font-weight:400}.hero-copy>p{color:#53635e;font-family:var(--serif);font-size:1.25rem;max-width:520px}.hero-actions{display:flex;gap:.7rem;margin-top:1rem}.hero-note{align-items:center;display:flex;gap:.5rem;margin-top:3rem;text-transform:uppercase;letter-spacing:.12em}.orange-dot{background:var(--orange);border:4px solid #f4c18c;border-radius:50%;height:18px;width:18px}.hero-art{background-image:linear-gradient(90deg,#f6eddf 0%,transparent 12%),url("../img/soller-community-hero.4d7cf596fd41.webp");background-position:center right;background-repeat:no-repeat;background-size:cover;height:100%;position:absolute;right:0;top:0;width:72%}.sun-orbit{border:1px solid rgba(232,120,40,.23);border-radius:50%;position:absolute}.sun-orbit.one{height:340px;left:-170px;top:80px;width:340px}.sun-orbit.two{height:210px;left:-105px;top:145px;width:210px}.public-section{margin:auto;max-width:1420px;padding:6rem clamp(1.3rem,4vw,4rem)}.intro-strip{align-items:start;border-bottom:1px solid var(--line);display:grid;gap:3rem;grid-template-columns:60px 1fr 1fr}.section-number{color:var(--orange);font-family:var(--serif);font-size:1.5rem}.intro-strip h2{font-size:clamp(2rem,4vw,4rem);margin:.5rem 0}.intro-strip>p{color:var(--muted);font-size:1.05rem;max-width:500px}.section-heading{align-items:end;display:flex;justify-content:space-between;margin-bottom:2.5rem}.section-heading h2{font-size:clamp(2rem,3vw,3.4rem);margin:.4rem 0 0}.editorial-grid{display:grid;gap:1rem;grid-template-columns:repeat(3,1fr)}.story-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);min-height:270px;padding:2rem;position:relative;transition:.25s}.story-card:hover{box-shadow:var(--shadow);transform:translateY(-4px)}.story-card h3{font-size:1.65rem;margin:.8rem 0}.story-card p{color:var(--muted)}.story-card small{color:var(--muted)}.story-card .tag,.tag{color:var(--orange);font-size:.67rem;font-style:normal;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.event-story{display:grid;gap:1.3rem;grid-column:span 2;grid-template-columns:90px 1fr}.story-index{color:var(--orange);font-family:var(--serif);font-size:4rem;line-height:.8}.story-index small{display:block;font-family:var(--sans);font-size:.7rem;font-weight:800;letter-spacing:.16em;margin-top:.7rem;text-align:center;text-transform:uppercase}.notice-story{background:#eaf1e6}.membership-cta{align-items:center;background:var(--green);border-radius:36px;color:#fff;display:grid;gap:2.5rem;grid-template-columns:130px 1fr auto;margin:1rem auto 6rem;max-width:1290px;overflow:hidden;padding:3.4rem;position:relative}.membership-cta h2{font-size:clamp(2rem,3.5vw,3.7rem);margin:.4rem 0}.membership-cta p{color:#c8d9d1;max-width:650px}.citrus-seal{align-items:center;border:1px solid rgba(255,255,255,.35);border-radius:50%;display:flex;flex-direction:column;height:120px;justify-content:center;outline:1px dashed rgba(255,255,255,.4);outline-offset:-8px;width:120px}.citrus-seal strong{color:var(--orange);font-size:1.5rem}.citrus-seal span,.citrus-seal small{font-size:.65rem;font-weight:800;letter-spacing:.18em}.reveal{opacity:1;transform:none;transition:.7s ease}.reveal.visible{opacity:1;transform:none}
.app-shell{background:#f5f3ee}.sidebar{background:#1e4e40;color:#fff;display:flex;flex-direction:column;height:100vh;left:0;padding:1.5rem 1rem;position:fixed;top:0;width:250px;z-index:30}.sidebar .brand{padding:.2rem .55rem 1.7rem}.side-nav{display:flex;flex:1;flex-direction:column;gap:.2rem;overflow-y:auto}.side-nav a{align-items:center;border-radius:12px;color:#c7d8d1;display:flex;font-weight:650;gap:.8rem;padding:.7rem .8rem;transition:.2s}.side-nav a span{align-items:center;display:flex;font-size:1.05rem;justify-content:center;width:24px}.side-nav a:hover,.side-nav a.active{background:rgba(255,255,255,.09);color:#fff}.side-nav .scan-link{background:var(--orange);color:#fff;margin:.4rem 0}.sidebar-foot{align-items:center;border-top:1px solid rgba(255,255,255,.13);display:grid;gap:.6rem;grid-template-columns:38px 1fr auto;padding:.9rem .3rem 0}.avatar{align-items:center;background:#f1b779;border-radius:50%;color:#263c35;display:flex;font-family:var(--serif);font-weight:700;height:38px;justify-content:center;width:38px}.avatar.small{height:34px;width:34px}.user-meta{min-width:0}.user-meta strong,.user-meta small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-meta strong{font-size:.82rem}.user-meta small{color:#aac1b7;font-size:.68rem}.sidebar-foot .icon-button{border-color:rgba(255,255,255,.15);color:#fff;height:34px;min-width:34px;padding:0}.app-main{margin-left:250px;min-height:100vh;padding:1px 0 4rem}.mobile-head,.mobile-dock{display:none}.page-wrap{margin:0 auto;max-width:1440px;padding:2.2rem 3rem}.page-wrap.narrow{max-width:940px}.page-heading{align-items:end;display:flex;justify-content:space-between;margin:1rem 0 2.1rem}.page-heading h1{font-size:clamp(2.3rem,4vw,4rem);letter-spacing:-.04em;margin:.35rem 0 .4rem}.page-heading p{color:var(--muted);margin:0}.page-heading.centered{justify-content:center;text-align:center}.surface{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:1.6rem}.surface-head{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.2rem}.surface-head h2{font-size:1.6rem;margin:.2rem 0 0}.section-space{margin-top:1.2rem}.toast-stack{display:grid;gap:.5rem;position:fixed;right:1.5rem;top:1.5rem;width:min(400px,calc(100vw - 2rem));z-index:100}.toast{align-items:center;background:#fff;border-left:4px solid var(--green);border-radius:12px;box-shadow:var(--shadow);display:flex;justify-content:space-between;padding:.9rem 1rem;transition:.4s}.toast.error{border-color:var(--danger)}.toast button{background:none;border:0;font-size:1.3rem}.toast.leaving{opacity:0;transform:translateX(110%)}
.dashboard-hello{align-items:end;display:flex;justify-content:space-between;margin:1.2rem 0 2rem}.dashboard-hello h1{font-size:clamp(2.4rem,4vw,4.2rem);margin:.3rem 0}.dashboard-hello p{color:var(--muted);margin:0}.metric-grid{display:grid;gap:1rem;grid-template-columns:repeat(4,1fr);margin-bottom:1rem}.metric-card{align-items:center;background:#fff;border:1px solid var(--line);border-radius:18px;display:flex;gap:1rem;min-height:130px;padding:1.35rem}.metric-icon{align-items:center;background:#eef2ed;border-radius:50%;display:flex;font-size:1.35rem;height:46px;justify-content:center;width:46px}.metric-card.citrus .metric-icon{background:#fff0e3;color:var(--orange)}.metric-card.green .metric-icon{background:#e2f0e7;color:var(--green)}.metric-card.sand .metric-icon{background:#f2e9d9}.metric-card.blue .metric-icon{background:#e1f0f2;color:var(--blue)}.metric-card small,.metric-card em,.metric-card a{display:block;font-size:.7rem;font-style:normal}.metric-card>div>small{color:var(--muted);font-weight:750;text-transform:uppercase}.metric-card strong{display:block;font-family:var(--serif);font-size:2.4rem;line-height:1;margin:.25rem 0}.metric-card em{color:var(--muted)}.metric-card a{color:var(--green);font-weight:750}.dashboard-grid{display:grid;gap:1rem;grid-template-columns:1fr 1fr 1fr}.span-2{grid-column:span 2}.event-rows{display:grid}.event-row{align-items:center;border-top:1px solid #ece8df;display:grid;gap:1rem;grid-template-columns:58px 1fr auto auto;padding:1rem 0}.event-row:first-child{border-top:0}.event-row time{background:#f5ece0;border-radius:12px;padding:.5rem;text-align:center}.event-row time strong,.event-row time small{display:block}.event-row time strong{color:var(--orange);font-family:var(--serif);font-size:1.55rem;line-height:1}.event-row time small{text-transform:uppercase}.event-row h3{font-family:var(--sans);font-size:.9rem;font-weight:750;margin:0}.event-row p{color:var(--muted);font-size:.75rem;margin:0}.quick-grid{display:grid;gap:.55rem}.quick-action{align-items:center;background:#f5f3ee;border-radius:13px;display:grid;gap:.7rem;grid-template-columns:40px 1fr auto;padding:.85rem}.quick-action>span{align-items:center;background:#fff;border-radius:10px;display:flex;height:40px;justify-content:center}.quick-action strong,.quick-action small{display:block}.quick-action strong{font-size:.82rem}.quick-action small{color:var(--muted);font-size:.68rem}.quick-action.primary{background:#e9f0e9}.compact-table{display:grid}.compact-row{align-items:center;border-top:1px solid #ece8df;display:grid;gap:.7rem;grid-template-columns:10px 1fr auto;padding:.8rem 0}.compact-row:first-child{border-top:0}.compact-row strong,.compact-row small{display:block}.compact-row strong{font-size:.8rem}.compact-row small,.compact-row time{color:var(--muted);font-size:.67rem}.status-dot{background:var(--muted);border-radius:50%;height:8px;width:8px}.status-dot.ok{background:var(--success)}.status-dot.warn{background:var(--orange)}.empty-state{align-items:center;color:var(--muted);display:flex;flex-direction:column;grid-column:1/-1;justify-content:center;min-height:150px;padding:2rem;text-align:center}.empty-state>span{color:var(--orange);font-size:2rem}.member-home-grid{display:grid;gap:1rem;grid-template-columns:1.4fr 1fr;margin-bottom:1rem}.mini-pass{background:linear-gradient(135deg,#235743,#173c33);border-radius:22px;color:#fff;display:flex;flex-direction:column;justify-content:space-between;min-height:300px;overflow:hidden;padding:1.8rem;position:relative}.mini-pass:after{background:radial-gradient(circle,var(--orange) 0 35%,transparent 37%);content:"";height:250px;opacity:.18;position:absolute;right:-70px;top:-70px;width:250px}.mini-pass-top{align-items:center;display:flex;justify-content:space-between}.mini-pass-top small{letter-spacing:.15em}.mini-pass h2{font-size:2.3rem;margin:.35rem 0}.mini-pass p{color:#c4d6cf}.status-panel{display:flex;flex-direction:column}.big-status{align-items:center;border-radius:15px;display:flex;gap:.8rem;margin:1rem 0;padding:1rem}.big-status span{align-items:center;border-radius:50%;display:flex;height:34px;justify-content:center;width:34px}.big-status.success{background:#e5f0e8;color:var(--success)}.big-status.success span{background:var(--success);color:#fff}.big-status.warning{background:#fff0de;color:#94531f}.big-status.warning span{background:var(--orange);color:#fff}.status-panel .text-link{margin-top:auto}
.filter-bar{align-items:center;background:#ebe7de;border-radius:15px;display:flex;gap:.6rem;margin-bottom:1rem;padding:.7rem}.filter-bar.multi{flex-wrap:wrap}.filter-bar input,.filter-bar select{background:#fff;border:1px solid transparent;border-radius:10px;min-height:42px;padding:.55rem .75rem}.search-field{align-items:center;background:#fff;border-radius:10px;display:flex;flex:1;min-width:240px;padding-left:.7rem}.search-field input{border:0;flex:1;outline:0}.table-surface{overflow:hidden;padding:0}.data-table{min-width:780px}.table-surface{overflow-x:auto}.table-head,.table-row{align-items:center;display:grid;gap:1rem;grid-template-columns:1.5fr 1.2fr .7fr .7fr 30px;padding:.85rem 1.2rem}.table-head{background:#f1eee7;color:var(--muted);font-size:.66rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.table-row{border-top:1px solid #ebe7df;font-size:.82rem;min-height:66px;transition:.2s}.table-row:hover{background:#f9f6f0}.table-row strong,.table-row small{display:block}.table-row small{color:var(--muted);font-size:.69rem}.person-cell{align-items:center;display:flex;gap:.7rem}.person-cell i{align-items:center;background:#e5eee6;border-radius:50%;display:flex;font-style:normal;font-weight:750;height:38px;justify-content:center;width:38px}.data-table.simple .table-head,.data-table.simple .table-row{grid-template-columns:1fr 1fr 1fr 1fr 90px}.badge{background:#eee;border-radius:999px;color:#555;display:inline-flex;font-family:var(--sans);font-size:.63rem;font-style:normal;font-weight:800;letter-spacing:.04em;padding:.28rem .55rem;text-transform:uppercase}.badge.active,.badge.paid,.badge.published,.badge.success{background:#dfeee5;color:#236345}.badge.pending,.badge.draft,.badge.in_progress{background:#fff0d8;color:#995d20}.badge.inactive,.badge.cancelled,.badge.rejected,.badge.failure,.badge.denied{background:#f5e2df;color:#9d4035}.badge.blocked{background:#e9e5e3;color:#493c38}.profile-head{align-items:center;background:linear-gradient(110deg,#e9eee5,#f7eee2);border-radius:22px;display:grid;gap:1.2rem;grid-template-columns:44px 76px 1fr auto;margin:1rem 0 1rem;padding:1.8rem}.profile-head h1{font-size:2.6rem;margin:.25rem 0}.profile-avatar{align-items:center;background:var(--green);border:5px solid rgba(255,255,255,.65);border-radius:50%;color:#fff;display:flex;font-family:var(--serif);font-size:1.6rem;height:76px;justify-content:center;width:76px}.profile-avatar.partner{background:var(--blue)}.profile-actions{display:flex;gap:.5rem}.profile-grid{display:grid;gap:1rem;grid-template-columns:1fr 1fr 1fr}.detail-grid{display:grid;gap:1.4rem;grid-template-columns:1fr 1fr}.detail-grid.one{grid-template-columns:1fr}.detail-grid .span-2{grid-column:span 2}.detail-grid dt{color:var(--muted);font-size:.64rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.detail-grid dd{font-size:.9rem;margin:.25rem 0 0}.detail-grid pre{background:#f1eee8;border-radius:10px;max-width:100%;overflow:auto;padding:1rem}.danger-zone{background:#f5ebe7;border:1px solid #ead5cf;border-radius:15px;margin-bottom:2rem;padding:1rem}.danger-zone summary{cursor:pointer;font-weight:750}.danger-zone>div{display:grid;gap:.6rem;margin-top:1rem}.danger-zone form{display:flex;gap:.6rem}.danger-zone input,.danger-zone select{background:#fff;border:1px solid var(--line);border-radius:10px;padding:.6rem;flex:1}
.card-page{max-width:900px}.digital-card{background:linear-gradient(135deg,#f8efe0 0 58%,#efdfc3 58%);border:1px solid #d8c7ad;border-radius:30px;box-shadow:0 30px 80px rgba(48,65,55,.17);margin:1rem auto;max-width:780px;overflow:hidden;padding:2rem;position:relative}.digital-card:before{border:1px solid rgba(35,84,66,.15);border-radius:50%;content:"";height:340px;position:absolute;right:-130px;top:-130px;width:340px}.digital-card header{align-items:center;display:flex;gap:.7rem;position:relative}.digital-card header div strong,.digital-card header div small{display:block}.digital-card header div strong{font-family:var(--serif);font-size:1.3rem}.digital-card header div small{font-size:.55rem;letter-spacing:.14em}.digital-card header em{font-size:.65rem;font-style:normal;font-weight:800;letter-spacing:.2em;margin-left:auto}.digital-card section{align-items:end;display:grid;gap:2rem;grid-template-columns:1fr 170px;min-height:310px;position:relative}.card-person>span{font-size:.65rem;text-transform:uppercase}.card-person h2{font-size:2.8rem;margin:.4rem 0 1.5rem}.card-person dl{display:flex;gap:2rem}.card-person dt{color:var(--muted);font-size:.6rem;text-transform:uppercase}.card-person dd{font-weight:750;margin:0}.card-qr{background:#fff;border-radius:18px;padding:12px;text-align:center}.card-qr img{display:block}.card-qr small{font-size:.6rem;letter-spacing:.12em}.digital-card footer{border-top:1px solid rgba(36,87,66,.2);display:flex;font-size:.65rem;font-weight:700;justify-content:space-between;letter-spacing:.13em;margin-top:1.5rem;padding-top:1rem;text-transform:uppercase}.card-security{color:var(--muted);font-size:.75rem;text-align:center}.event-card-grid{display:grid;gap:1rem;grid-template-columns:repeat(3,1fr)}.event-card{background:#fff;border:1px solid var(--line);border-radius:20px;display:grid;grid-template-columns:85px 1fr;overflow:hidden;transition:.25s}.event-card:hover{box-shadow:var(--shadow);transform:translateY(-4px)}.event-date{background:#f3e8d8;padding:1.4rem .5rem;text-align:center}.event-date strong{color:var(--orange);display:block;font-family:var(--serif);font-size:3rem;line-height:1}.event-date small{text-transform:uppercase}.event-body{padding:1.4rem}.event-body h2{font-size:1.65rem;margin:.7rem 0}.event-body p{color:var(--muted);font-size:.82rem}.event-body dl{display:flex;gap:1rem}.event-body dl div{display:flex;gap:.3rem}.event-body dd{font-size:.7rem;margin:0}.event-card footer{align-items:center;border-top:1px solid var(--line);display:flex;font-size:.68rem;gap:.8rem;grid-column:1/-1;padding:.8rem 1rem}.event-card footer a{font-size:1rem;margin-left:auto}.event-hero{align-items:start;background:linear-gradient(115deg,#1e5141,#2c6754);border-radius:24px;color:#fff;display:grid;gap:1.4rem;grid-template-columns:44px 1fr auto;margin-top:1rem;padding:2.5rem}.event-hero h1{font-size:clamp(2.7rem,5vw,5rem);margin:.6rem 0}.event-hero p{color:#cbdad4;max-width:800px}.event-hero .round-back{border-color:rgba(255,255,255,.3)}.event-hero .button.secondary{border-color:rgba(255,255,255,.3);color:#fff}.event-facts{display:flex;flex-wrap:wrap;gap:.8rem}.event-facts span{background:rgba(255,255,255,.1);border-radius:999px;font-size:.73rem;padding:.4rem .7rem}.event-admin-strip{align-items:center;background:#f1e5d4;border-radius:16px;display:flex;justify-content:space-between;margin-top:1rem;padding:1rem 1.3rem}.event-admin-strip small,.event-admin-strip strong{display:block}.event-admin-strip strong{font-family:var(--serif);font-size:2rem}
.scanner-page{background:#173f35;color:#fff;min-height:calc(100vh - 1px);padding:2rem 3rem}.scanner-head{align-items:center;display:grid;gap:1rem;grid-template-columns:44px 1fr auto;margin:0 auto 2rem;max-width:1250px}.scanner-head .round-back{border-color:rgba(255,255,255,.2)}.scanner-head h1{font-size:2.7rem;margin:.15rem 0}.live-pill{align-items:center;background:rgba(255,255,255,.1);border-radius:999px;display:flex;font-size:.7rem;gap:.4rem;padding:.45rem .7rem}.live-pill i{animation:pulse 1.3s infinite;background:#67d69b;border-radius:50%;height:7px;width:7px}.scanner-layout{display:grid;gap:1.2rem;grid-template-columns:1.5fr .8fr;margin:auto;max-width:1250px}.scanner-camera{background:#0d2721;border:1px solid rgba(255,255,255,.1);border-radius:24px;min-height:590px;overflow:hidden;position:relative}.camera-top{align-items:center;background:rgba(6,26,21,.75);display:flex;gap:1rem;justify-content:space-between;padding:1rem;position:relative;z-index:5}.camera-top label{font-size:.7rem;font-weight:800;text-transform:uppercase}.camera-top select{background:#fff;border:0;border-radius:10px;color:var(--ink);max-width:480px;padding:.6rem;width:70%}#reader{height:490px;overflow:hidden}#reader video{height:490px!important;object-fit:cover;width:100%!important}.camera-placeholder{align-items:center;color:#b5c8c0;display:flex;flex-direction:column;height:490px;justify-content:center;text-align:center}.camera-placeholder>span{font-size:4rem}.camera-placeholder h2{color:#fff}.scan-frame{inset:23% 27% 14%;pointer-events:none;position:absolute}.scan-frame i{border-color:var(--orange);border-style:solid;height:45px;position:absolute;width:45px}.scan-frame i:nth-child(1){border-width:4px 0 0 4px;left:0;top:0}.scan-frame i:nth-child(2){border-width:4px 4px 0 0;right:0;top:0}.scan-frame i:nth-child(3){border-width:0 0 4px 4px;bottom:0;left:0}.scan-frame i:nth-child(4){border-width:0 4px 4px 0;bottom:0;right:0}.camera-hint{background:rgba(0,0,0,.5);border-radius:999px;bottom:1rem;font-size:.7rem;left:50%;padding:.45rem .8rem;position:absolute;transform:translateX(-50%)}.scan-result{background:#fff;border-radius:24px;color:var(--ink);min-height:590px;padding:1.6rem}.scan-waiting,.scan-feedback{align-items:center;display:flex;flex-direction:column;height:100%;justify-content:center;text-align:center}.scan-waiting p,.scan-feedback p{color:var(--muted)}.pulse-ring{align-items:center;animation:softPulse 2s infinite;background:#e5eee8;border-radius:50%;color:var(--green);display:flex;font-size:2rem;height:90px;justify-content:center;width:90px}.scan-feedback>span{align-items:center;background:#e7efe8;border-radius:50%;display:flex;font-size:2rem;height:70px;justify-content:center;width:70px}.scan-feedback.success>span{background:var(--success);color:#fff}.scan-feedback.error>span{background:var(--danger);color:#fff}.scan-member{display:flex;flex-direction:column;height:100%}.scan-person{align-items:center;border-bottom:1px solid var(--line);display:flex;gap:1rem;padding-bottom:1.3rem}.scan-person i{align-items:center;background:var(--green);border-radius:50%;color:#fff;display:flex;font-style:normal;font-weight:800;height:60px;justify-content:center;width:60px}.scan-person small{color:var(--orange);font-size:.7rem;font-weight:800}.scan-person h2{margin:.2rem 0}.scan-member dl{display:grid;gap:1rem;margin:1.5rem 0}.scan-member dl div{display:flex;justify-content:space-between}.scan-member dt{color:var(--muted)}.scan-member dd{font-weight:750;margin:0}.scan-member .button{margin-top:auto}.retry-scan{margin-top:1rem}.scan-alert{background:#f6e4df;border-radius:12px;color:var(--danger);font-weight:700;padding:1rem}.manual-entry{margin:1rem auto;max-width:1250px}.manual-entry summary{color:#c5d5ce;cursor:pointer;font-size:.75rem}.manual-entry form{display:flex;gap:.5rem;margin-top:.7rem}.manual-entry input{border:0;border-radius:10px;flex:1;padding:.7rem}.document-grid{display:grid;gap:.8rem;grid-template-columns:1fr 1fr}.document-card{align-items:center;background:#fff;border:1px solid var(--line);border-radius:17px;display:grid;gap:1rem;grid-template-columns:56px 1fr 44px;padding:1.2rem;transition:.2s}.document-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.file-icon{align-items:center;background:#fae8d9;border-radius:12px;color:var(--orange);display:flex;font-size:.7rem;font-weight:900;height:56px;justify-content:center}.document-card h2{font-family:var(--sans);font-size:1rem;font-weight:750;margin:.35rem 0}.document-card p,.document-card small{color:var(--muted);font-size:.72rem}.document-card p{margin-bottom:.3rem}.partner-grid{display:grid;gap:1rem;grid-template-columns:repeat(3,1fr)}.partner-card{align-items:center;background:#fff;border:1px solid var(--line);border-radius:18px;display:grid;gap:1rem;grid-template-columns:62px 1fr auto;padding:1.3rem;transition:.2s}.partner-card:hover{box-shadow:var(--shadow);transform:translateY(-3px)}.partner-monogram{align-items:center;background:var(--blue);border-radius:16px;color:#fff;display:flex;font-family:var(--serif);font-size:2rem;height:62px;justify-content:center}.partner-card h2{font-size:1.3rem;margin:.5rem 0 .3rem}.partner-card p,.partner-card small{color:var(--muted);font-size:.72rem}.task-list{display:grid}.task-row{align-items:center;border-top:1px solid var(--line);display:grid;gap:.8rem;grid-template-columns:10px 1fr auto 30px;padding:.8rem 0}.task-row:first-child{border-top:0}.task-row strong,.task-row small{display:block}.task-row small{color:var(--muted)}.task-row select{border:1px solid var(--line);border-radius:8px;padding:.35rem}.audit-table .table-head,.audit-table .table-row{grid-template-columns:1fr 1.5fr 1fr 1fr .7fr}.form-surface{padding:2rem}.form-stack{display:grid;gap:1.4rem}.form-grid{display:grid;gap:1rem 1.2rem;grid-template-columns:1fr 1fr}.field{display:flex;flex-direction:column;gap:.35rem}.field label{font-size:.75rem;font-weight:750}.field label span{color:var(--orange)}.field input:not([type=checkbox]),.field select,.field textarea{background:#fff;border:1px solid #cbc8c0;border-radius:10px;min-height:44px;padding:.65rem .75rem;transition:.2s}.field textarea{min-height:90px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--orange);box-shadow:0 0 0 3px rgba(233,120,40,.12);outline:0}.check-field{align-items:start;display:grid;gap:.6rem;grid-template-columns:18px 1fr}.field-error,.form-errors{color:var(--danger)}.form-errors{background:#f8e5e1;border-radius:10px;padding:.75rem}.form-actions{align-items:center;border-top:1px solid var(--line);display:flex;gap:1rem;padding-top:1.2rem}.privacy-note{background:#eaf1e7;border-radius:13px;margin-top:1.5rem;padding:1rem}.privacy-note p{color:var(--muted);font-size:.75rem;margin:0}.auth-layout{display:grid;grid-template-columns:1.1fr .9fr;min-height:100vh}.auth-visual{background-image:linear-gradient(0deg,rgba(17,55,43,.62),rgba(17,55,43,.1)),url("../img/soller-community-hero.4d7cf596fd41.webp");background-position:67% center;background-size:cover;color:#fff;display:flex;flex-direction:column;justify-content:space-between;padding:3rem}.back-link{font-weight:700}.auth-quote{max-width:580px}.auth-quote blockquote{font-family:var(--serif);font-size:clamp(2.5rem,4vw,5rem);line-height:1;margin:1rem 0}.auth-panel{background:var(--paper);display:flex;flex-direction:column;justify-content:center;padding:4rem clamp(2rem,6vw,7rem)}.login-panel{padding-left:clamp(3rem,7vw,9rem);padding-right:clamp(3rem,7vw,9rem)}.form-heading h1,.form-heading h2{font-size:clamp(2.2rem,3.5vw,3.7rem);margin:.5rem 0}.form-heading>p{color:var(--muted)}.form-heading .brand-mark{margin-bottom:2rem}.login-form{margin-top:1rem}.login-extras{display:flex;font-size:.75rem;justify-content:space-between}.login-help{align-items:center;background:#f1eee7;border-radius:13px;display:flex;gap:.8rem;margin-top:2rem;padding:.8rem}.login-help>span{align-items:center;border:1px solid var(--line);border-radius:50%;display:flex;height:32px;justify-content:center;width:32px}.login-help p{font-size:.72rem;margin:0}.language-picker.centered{color:var(--muted);justify-content:center;margin-top:1.5rem}.join-layout{grid-template-columns:.8fr 1.2fr}.join-visual{background-position:72% center}.auth-panel .step-pill{background:#e7efe8;border-radius:999px;color:var(--green);display:inline-block;font-size:.65rem;font-weight:800;padding:.3rem .6rem;text-transform:uppercase}.simple-auth{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:2rem}.auth-box{max-width:540px;padding:3rem;width:100%}.auth-box h1{font-size:2.7rem;margin:.5rem 0}.auth-box>p{color:var(--muted)}.success-page{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:70vh;padding:3rem;text-align:center}.success-page h1{font-size:clamp(2.5rem,5vw,5rem);max-width:900px}.success-page p{color:var(--muted);font-size:1.05rem;max-width:670px}.success-mark{align-items:center;background:var(--green);border-radius:50%;color:#fff;display:flex;font-family:var(--serif);font-size:1.6rem;height:76px;justify-content:center;margin-bottom:1.5rem;width:76px}.success-mark.warning{background:var(--orange)}.alert{border-radius:12px;padding:1rem}.alert.warning{background:#fff0dc;color:#8a541e}.alert.error{background:#f8e2df;color:var(--danger)}
@keyframes pulse{50%{opacity:.35}}@keyframes softPulse{50%{box-shadow:0 0 0 18px rgba(36,87,66,.04)}}
@media(max-width:1100px){.metric-grid{grid-template-columns:1fr 1fr}.dashboard-grid{grid-template-columns:1fr 1fr}.dashboard-grid>.span-2{grid-column:span 1}.event-card-grid,.partner-grid{grid-template-columns:1fr 1fr}.profile-grid{grid-template-columns:1fr 1fr}.profile-grid>.span-2{grid-column:span 1}.hero-copy{width:58%}.editorial-grid{grid-template-columns:1fr 1fr}.membership-cta{margin-left:1rem;margin-right:1rem}.auth-layout{grid-template-columns:1fr 1fr}.scan-frame{inset:25% 20% 16%}}
@media(max-width:800px){body.app-shell{padding-bottom:76px}.sidebar{display:none}.app-main{margin-left:0;padding-top:62px}.mobile-head{align-items:center;background:#1e4e40;color:#fff;display:flex;height:62px;justify-content:space-between;left:0;padding:0 1rem;position:fixed;right:0;top:0;z-index:30}.brand.compact .brand-mark{height:34px;width:34px}.mobile-dock{align-items:end;background:#fff;border-top:1px solid var(--line);bottom:0;display:grid;grid-template-columns:repeat(5,1fr);height:72px;left:0;padding-bottom:env(safe-area-inset-bottom);position:fixed;right:0;z-index:40}.mobile-dock a,.mobile-dock button{align-items:center;background:none;border:0;display:flex;flex-direction:column;font-size:1.15rem;gap:.1rem;height:100%;justify-content:center;width:100%}.mobile-dock small{font-size:.58rem}.mobile-dock .dock-scan span{align-items:center;background:var(--orange);border:5px solid #fff;border-radius:50%;color:#fff;display:flex;height:54px;justify-content:center;margin-top:-25px;width:54px}.public-header{height:70px;padding:0 1rem}.public-header nav,.public-header .text-link{display:none}.public-header .brand small{display:none}.hero{min-height:760px}.hero-copy{justify-content:flex-start;min-height:auto;padding:4.5rem 1.2rem 0;width:100%}.hero h1{font-size:3.35rem}.hero-copy>p{font-size:1rem;max-width:88%}.hero-art{background-image:linear-gradient(180deg,#f6eddf 0%,transparent 25%),url("../img/soller-community-hero.4d7cf596fd41.webp");background-position:72% center;height:54%;top:auto;width:100%;bottom:0}.hero-actions{align-items:flex-start;flex-direction:column}.hero-note{margin-top:1.2rem}.public-section{padding:4rem 1.2rem}.intro-strip{grid-template-columns:40px 1fr}.intro-strip>p{grid-column:2}.editorial-grid{grid-template-columns:1fr}.event-story{grid-column:span 1;grid-template-columns:64px 1fr}.story-index{font-size:3rem}.membership-cta{grid-template-columns:1fr;margin-bottom:3rem;padding:2rem}.citrus-seal{height:90px;width:90px}.public-footer{align-items:flex-start;flex-direction:column;gap:1.5rem}.page-wrap{padding:1.2rem}.page-heading,.dashboard-hello{align-items:flex-start;gap:1rem}.page-heading h1,.dashboard-hello h1{font-size:2.6rem}.metric-grid{grid-template-columns:1fr 1fr}.dashboard-grid{grid-template-columns:1fr}.dashboard-grid>.span-2{grid-column:auto}.member-home-grid{grid-template-columns:1fr}.profile-head{grid-template-columns:44px 60px 1fr;padding:1rem}.profile-avatar{height:60px;width:60px}.profile-actions{grid-column:1/-1}.profile-head h1{font-size:1.8rem}.profile-grid{grid-template-columns:1fr}.profile-grid>.span-2{grid-column:auto}.danger-zone form{align-items:stretch;flex-direction:column}.event-card-grid,.partner-grid,.document-grid{grid-template-columns:1fr}.event-hero{grid-template-columns:44px 1fr;padding:1.4rem}.event-hero>.button{grid-column:2}.event-hero h1{font-size:2.7rem}.scanner-page{min-height:calc(100vh - 134px);padding:1rem}.scanner-head{grid-template-columns:44px 1fr}.scanner-head .live-pill{display:none}.scanner-layout{grid-template-columns:1fr}.scanner-camera{height:auto;min-height:520px}#reader,#reader video{height:430px;min-height:430px}.scan-result{min-height:430px}.scan-frame{inset:24% 15% 15%}.digital-card{border-radius:20px;padding:1.2rem}.digital-card section{gap:1rem;grid-template-columns:1fr 125px;min-height:270px}.card-person h2{font-size:1.7rem}.card-person dl{flex-direction:column;gap:.5rem}.form-grid{grid-template-columns:1fr}.form-grid>.span-2{grid-column:auto}.auth-layout{grid-template-columns:1fr}.auth-visual{min-height:35vh;padding:1.5rem}.auth-quote blockquote{font-size:2.4rem}.auth-panel{padding:2rem 1.3rem}.join-visual{min-height:300px}.table-surface{margin-left:-1.2rem;margin-right:-1.2rem;border-radius:0}.filter-bar{align-items:stretch;flex-direction:column}.search-field{min-width:0}.toast-stack{right:1rem;top:4.5rem}.data-table{min-width:720px}}

/* Identidad Estiradors: pasteles cálidos, piedra, mantequilla y terracota. */
:root {
  --ink: #493f36;
  --green: #786858;
  --green-2: #91806d;
  --orange: #c8754e;
  --orange-2: #d9906c;
  --blue: #8d7a68;
  --cream: #f5ead5;
  --paper: #fffaf1;
  --sand: #e7d7ba;
  --line: #d8cbb8;
  --muted: #776e65;
  --success: #7f8568;
  --shadow: 0 18px 50px rgba(93, 73, 49, .1);
}

body,
.app-shell {
  background: #f6efe3;
}

.brand-logo,
.hero-logo,
.auth-logo,
.card-brand-logo,
.pass-logo,
.cta-logo {
  display: block;
  height: auto;
  object-fit: contain;
}

.header-logo {
  width: 68px;
}

.sidebar-logo {
  flex: 0 0 auto;
  width: 60px;
}

.mobile-logo {
  width: 48px;
}

.footer-logo {
  width: 92px;
}

.footer-brand {
  align-items: center;
  display: flex;
  gap: 1.25rem;
}

.public-header {
  background: #fbf1d9;
  border-bottom: 1px solid rgba(100, 80, 57, .12);
}

.public-header nav a {
  position: relative;
}

.public-header nav a:after {
  background: var(--orange);
  bottom: -.45rem;
  content: "";
  height: 2px;
  left: 0;
  position: absolute;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .2s ease;
  width: 100%;
}

.public-header nav a:hover:after {
  transform: scaleX(1);
}

.public-footer,
.sidebar,
.mobile-head {
  background: #8a7664;
}

.public-footer p,
.sidebar .side-nav a,
.sidebar .user-meta small {
  color: #fff8eb;
}

.sidebar .brand {
  border-bottom: 1px solid rgba(255, 248, 235, .24);
  margin-bottom: .8rem;
  padding-bottom: 1.2rem;
}

.side-nav a:hover,
.side-nav a.active {
  background: rgba(255, 248, 235, .17);
  color: #fffaf0;
}

.side-nav .scan-link {
  background: #eadba1;
  color: #493f36;
}

.sidebar .side-nav .scan-link,
.sidebar .side-nav .scan-link span {
  color: #493f36;
}

.avatar {
  background: #eadba1;
  color: #493f36;
}

.hero {
  background: #f5e8c4;
  min-height: 670px;
}

.hero-copy {
  min-height: 670px;
  padding-right: 2rem;
  width: 49%;
}

.hero-logo {
  margin-bottom: 1rem;
  width: 124px;
}

.hero h1 {
  font-size: clamp(3rem, 4.9vw, 5.7rem);
}

.hero-copy > p {
  color: #5f5847;
}

.hero-art {
  background-image: linear-gradient(90deg, #f5e8c4 0%, rgba(245, 232, 196, .84) 12%, rgba(245, 232, 196, 0) 32%), url("../img/estiradors-festa-aerial.40ba1a5ebb2e.webp");
  background-position: 53% center;
  width: 61%;
}

.sun-orbit {
  border-color: rgba(200, 117, 78, .25);
}

.notice-story,
.quick-action.primary,
.privacy-note,
.auth-panel .step-pill {
  background: #f1e4bb;
}

.membership-cta {
  background: #dccbb7;
  border: 1px solid #c9b59e;
  color: var(--ink);
}

.membership-cta p {
  color: #66594d;
}

.cta-logo-wrap {
  align-items: center;
  background: #eadb9d;
  border-radius: 24px;
  display: flex;
  height: 124px;
  justify-content: center;
  padding: .55rem;
  transform: rotate(-2deg);
  width: 124px;
}

.cta-logo {
  width: 112px;
}

.button.cream {
  background: #fff8e9;
  border-color: #fff8e9;
  color: #493f36;
}

.button.ghost {
  border-color: rgba(68, 57, 25, .32);
}

.text-link,
.text-button,
.metric-card a {
  color: #a85d3f;
}

.toast {
  border-left-color: #d9c884;
}

.metric-icon,
.metric-card.green .metric-icon,
.metric-card.blue .metric-icon,
.person-cell i,
.pulse-ring,
.scan-feedback > span {
  background: #eee0b9;
  color: #5c5044;
}

.metric-card.sand .metric-icon,
.event-row time,
.event-date,
.file-icon {
  background: #f6ead0;
}

.mini-pass {
  background: linear-gradient(135deg, #dfcfba, #cbb49b);
  border: 1px solid #bda58b;
  color: #493f36;
}

.mini-pass:after {
  background: radial-gradient(circle, #f2df9f 0 35%, transparent 37%);
  opacity: .3;
}

.mini-pass p {
  color: #6b5d50;
}

.pass-logo {
  position: relative;
  width: 80px;
  z-index: 2;
}

.big-status.success,
.badge.active,
.badge.paid,
.badge.published,
.badge.success {
  background: #f2e9ad;
  color: #5f591c;
}

.profile-head {
  background: linear-gradient(110deg, #f2e7ad, #fbf5dd);
}

.profile-avatar,
.profile-avatar.partner,
.partner-monogram,
.scan-person i {
  background: #9b8069;
}

.digital-card {
  background: linear-gradient(135deg, #fbf2d8 0 58%, #ead9a6 58%);
  border-color: #d7c394;
  box-shadow: 0 30px 80px rgba(91, 70, 47, .14);
}

.digital-card:before,
.digital-card footer {
  border-color: rgba(71, 60, 22, .2);
}

.card-brand-logo {
  width: 72px;
}

.event-hero {
  background: linear-gradient(115deg, #dac8b3, #c9af95);
  border: 1px solid #bda289;
  color: var(--ink);
}

.event-hero p {
  color: #66594d;
}

.event-hero .round-back,
.event-hero .button.secondary {
  border-color: rgba(73, 63, 54, .32);
  color: var(--ink);
}

.event-admin-strip {
  background: #f1e5ad;
}

.scanner-page {
  background: #7d6e62;
}

.scanner-camera {
  background: #4f463e;
  border-color: rgba(255, 248, 235, .2);
}

.camera-top {
  background: rgba(79, 70, 62, .88);
}

.live-pill i {
  background: #eadba1;
}

.camera-placeholder,
.manual-entry summary {
  color: #fff4e4;
}

.auth-visual {
  background-image: linear-gradient(0deg, rgba(92, 75, 62, .72), rgba(92, 75, 62, .18)), url("../img/estiradors-festa-aerial.40ba1a5ebb2e.webp");
  background-position: 52% center;
}

.auth-logo {
  margin-bottom: 1.2rem;
  width: 138px;
}

.auth-panel .step-pill {
  color: #695e19;
}

.success-mark {
  background: #eadba1;
  color: #493f36;
}

.membership-cta .eyebrow.light {
  color: #9f6047;
}

.auth-visual .eyebrow.light {
  color: #ffe4c9;
}

.language-switcher {
  align-items: center;
  background: rgba(255, 250, 241, .78);
  border: 1px solid var(--line);
  border-radius: 12px;
  display: flex;
  gap: .2rem;
  margin: 0;
  padding: .2rem;
}

.language-switcher .language-option {
  align-items: center;
  background: transparent;
  border: 1px solid transparent;
  border-radius: 8px;
  display: flex;
  height: 30px;
  justify-content: center;
  padding: .3rem;
  width: 36px;
}

.language-switcher .language-option img {
  border-radius: 2px;
  box-shadow: 0 0 0 1px rgba(73, 63, 54, .12);
  display: block;
  height: 14px;
  object-fit: cover;
  width: 22px;
}

.language-switcher .language-option:hover {
  background: #f3e6ca;
  border-color: #cfbda7;
}

.language-switcher .language-option.is-active {
  background: #fffaf1;
  border-color: var(--orange);
  box-shadow: 0 1px 4px rgba(92, 72, 49, .12);
}

.language-switcher-sidebar {
  align-self: flex-start;
  background: rgba(255, 250, 241, .15);
  border-color: rgba(255, 248, 235, .3);
  margin: .7rem .3rem;
}

.language-switcher-mobile {
  background: rgba(255, 250, 241, .16);
  border-color: rgba(255, 248, 235, .3);
}

.language-switcher-footer {
  background: rgba(255, 250, 241, .16);
  border-color: rgba(255, 248, 235, .3);
}

@media (max-width: 800px) {
  .header-logo {
    width: 52px;
  }

  .public-header .brand {
    gap: .45rem;
  }

  .public-header .brand > span {
    display: none;
  }

  .header-actions {
    gap: .55rem;
  }

  .language-switcher-header .language-option,
  .language-switcher-mobile .language-option {
    height: 28px;
    padding: .25rem;
    width: 31px;
  }

  .hero {
    min-height: 810px;
  }

  .hero-copy {
    min-height: auto;
    padding: 2rem 1.2rem 0;
    width: 100%;
  }

  .hero-logo {
    margin-bottom: .6rem;
    width: 92px;
  }

  .hero h1 {
    font-size: 2.8rem;
  }

  .hero-copy > p {
    max-width: 100%;
  }

  .hero-art {
    background-image: linear-gradient(180deg, #f5e8c4 0%, rgba(245, 232, 196, .2) 24%, transparent 48%), url("../img/estiradors-festa-aerial.40ba1a5ebb2e.webp");
    background-position: 50% center;
    bottom: 0;
    height: 40%;
    top: auto;
    width: 100%;
  }

  .cta-logo-wrap {
    height: 104px;
    width: 104px;
  }

  .cta-logo {
    width: 94px;
  }

  .footer-brand {
    align-items: flex-start;
  }

  .footer-logo {
    width: 72px;
  }

  .card-brand-logo {
    width: 58px;
  }
}
@media(max-width:480px){.metric-grid{grid-template-columns:1fr}.metric-card{min-height:100px}.dashboard-hello{flex-direction:column}.dashboard-hello>.button{width:100%}.profile-actions{flex-direction:column}.digital-card section{grid-template-columns:1fr}.card-qr{margin:auto;width:155px}.digital-card footer{font-size:.5rem}.event-card{grid-template-columns:70px 1fr}.event-body{padding:1rem}.camera-top{align-items:stretch;flex-direction:column}.camera-top select{max-width:none;width:100%}.login-extras{align-items:flex-start;flex-direction:column;gap:.5rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}.reveal{opacity:1;transform:none}.live-pill i,.pulse-ring{animation:none}}

/* Community participation: proposals, volunteers, partners and shared memories */
.public-community-page { padding-bottom: 5rem; }
.public-partner-grid,.proposal-grid,.volunteer-grid,.album-grid,.moderation-grid { display:grid; gap:1.25rem; }
.public-partner-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.public-partner-card { align-items:center; background:#fffaf1; border:1px solid var(--line); border-radius:24px; display:flex; gap:1.4rem; min-height:220px; padding:1.5rem; box-shadow:var(--shadow); }
.public-partner-card img { background:#fff; border-radius:18px; height:120px; object-fit:contain; padding:.75rem; width:120px; }
.public-partner-card h2,.proposal-card h2,.volunteer-card h2,.album-card h2 { font-family:var(--font-serif); font-size:1.55rem; margin:.45rem 0; }
.public-partner-card p { color:var(--muted); line-height:1.65; }
.partner-monogram.large { border-radius:18px; flex:0 0 110px; font-size:2.6rem; height:110px; width:110px; }

.proposal-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.proposal-card { color:var(--ink); display:flex; flex-direction:column; justify-content:space-between; min-height:240px; padding:1.5rem; transition:transform .25s ease,box-shadow .25s ease; }
.proposal-card:hover,.volunteer-card:hover,.album-card:hover { box-shadow:0 24px 55px rgba(91,70,47,.14); transform:translateY(-4px); }
.proposal-card .badge { float:right; }
.proposal-card p,.proposal-detail p,.response-card p { color:var(--muted); line-height:1.7; }
.proposal-detail,.response-card { margin-bottom:1.25rem; padding:1.8rem; }
.response-card { background:#f4ead0; border-color:#decfb4; }
.rating-stars { color:#d8cdb9; font-size:1.35rem; letter-spacing:.08em; }
.rating-stars .filled { color:#ce7a4e; }
.rating-stars.large { font-size:2rem; margin-top:1.5rem; }

.volunteer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.volunteer-card { align-items:flex-start; color:var(--ink); display:grid; gap:1.1rem; grid-template-columns:64px 1fr auto; min-height:220px; padding:1.5rem; transition:transform .25s ease,box-shadow .25s ease; }
.volunteer-icon { align-items:center; background:#f1e2a9; border-radius:18px; display:flex; font-size:1.8rem; height:60px; justify-content:center; }
.volunteer-card p,.volunteer-story>p { color:var(--muted); line-height:1.65; }
.volunteer-meta { display:flex; flex-wrap:wrap; gap:.5rem 1rem; margin-top:1rem; }
.volunteer-meta span { color:#74685d; font-size:.8rem; }
.volunteer-detail-grid { display:grid; gap:1.25rem; grid-template-columns:minmax(0,1.5fr) minmax(260px,.7fr); }
.volunteer-story,.volunteer-action { padding:1.6rem; }
.volunteer-action { align-self:start; background:#fbf0d5; }
.volunteer-action form+small,.volunteer-action .button+form { display:block; margin-top:.8rem; }

.inbox-strip { display:grid; gap:.8rem; grid-template-columns:repeat(3,1fr); margin:0 0 1.25rem; }
.inbox-strip a { align-items:center; background:#f4ead7; border:1px solid #dfcfb8; border-radius:18px; color:var(--ink); display:grid; gap:.2rem .8rem; grid-template-columns:42px auto 1fr; padding:.8rem 1rem; }
.inbox-strip a>span { align-items:center; background:#eadba1; border-radius:12px; display:flex; grid-row:1/3; height:40px; justify-content:center; }
.inbox-strip strong { font-size:1.2rem; }
.inbox-strip small { color:var(--muted); }
.member-participate-grid { display:grid; gap:1rem; grid-template-columns:repeat(3,1fr); margin:1.25rem 0; }
.participate-card { align-items:center; color:var(--ink); display:grid; gap:1rem; grid-template-columns:48px 1fr auto; padding:1rem; }
.participate-card>span { align-items:center; background:#f0e1ae; border-radius:14px; display:flex; font-size:1.25rem; height:48px; justify-content:center; }
.participate-card small { color:var(--muted); display:block; margin-top:.25rem; }

.album-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.album-card { background:#fffaf1; border:1px solid var(--line); border-radius:24px; color:var(--ink); overflow:hidden; transition:transform .25s ease,box-shadow .25s ease; }
.album-cover { align-items:center; background:linear-gradient(135deg,#efdfa8,#d9b99e); display:flex; height:230px; justify-content:center; overflow:hidden; }
.album-cover img { height:100%; object-fit:cover; transition:transform .5s ease; width:100%; }
.album-card:hover .album-cover img { transform:scale(1.035); }
.album-cover span { color:#8c6d55; font-size:3rem; }
.album-card>div:last-child { padding:1.25rem; }
.album-card p { color:var(--muted); line-height:1.55; }
.photo-grid { columns:3 260px; column-gap:1rem; }
.photo-card { background:#fffaf1; border:1px solid var(--line); border-radius:18px; break-inside:avoid; margin:0 0 1rem; overflow:hidden; }
.photo-card button { background:none; border:0; cursor:zoom-in; display:block; padding:0; width:100%; }
.photo-card img { display:block; height:auto; width:100%; }
.photo-card figcaption { align-items:center; color:var(--muted); display:flex; font-size:.82rem; gap:.6rem; justify-content:space-between; padding:.7rem .9rem; }
.pending-photo { border-style:dashed; opacity:.8; }
.gallery-dialog { background:#493f36; border:0; border-radius:20px; color:#fffaf1; max-height:92vh; max-width:min(1100px,94vw); padding:1rem; }
.gallery-dialog::backdrop { background:rgba(55,45,38,.86); backdrop-filter:blur(8px); }
.gallery-dialog img { display:block; max-height:80vh; max-width:100%; object-fit:contain; }
.gallery-dialog button { background:#fffaf1; border:0; border-radius:50%; cursor:pointer; font-size:1.3rem; height:38px; position:absolute; right:1.2rem; top:1.2rem; width:38px; }
.gallery-dialog p { margin:.7rem .3rem 0; }
.moderation-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.moderation-card { display:grid; gap:1rem; grid-template-columns:220px 1fr; overflow:hidden; padding:0; }
.moderation-card>img { height:100%; min-height:260px; object-fit:cover; width:100%; }
.moderation-card>div { padding:1.25rem 1.25rem 1.25rem 0; }
.moderation-actions { display:grid; gap:.65rem; grid-template-columns:1fr 1fr; margin-top:1rem; }
.moderation-actions input { grid-column:1/-1; }

.community-window { background:#f4ead3; }
.home-album-grid { display:grid; gap:1rem; grid-template-columns:repeat(3,1fr); }
.home-album-card { border-radius:20px; color:#fffaf1; min-height:260px; overflow:hidden; position:relative; }
.home-album-card:after { background:linear-gradient(transparent,rgba(63,49,40,.82)); content:""; inset:0; position:absolute; }
.home-album-card img { height:100%; inset:0; object-fit:cover; position:absolute; width:100%; }
.home-album-card>div { bottom:0; display:flex; flex-direction:column; padding:1.25rem; position:absolute; z-index:1; }
.home-album-card strong { font-family:var(--font-serif); font-size:1.45rem; }
.quiet-community-card { align-items:center; background:#ead9b9; border-radius:20px; color:var(--ink); display:flex; gap:1rem; min-height:180px; padding:1.5rem; }
.quiet-community-card span { font-size:2rem; }
.partner-thanks { align-items:center; display:grid; gap:3rem; grid-template-columns:1fr 1.15fr; }
.partner-thanks h2 { font-family:var(--font-serif); font-size:clamp(2rem,4vw,3.3rem); margin:.5rem 0; }
.partner-thanks p { color:var(--muted); line-height:1.65; }
.home-partner-cloud { display:flex; flex-wrap:wrap; gap:.75rem; }
.home-partner-cloud span { align-items:center; background:#fffaf1; border:1px solid var(--line); border-radius:999px; display:flex; gap:.6rem; padding:.65rem 1rem; }
.home-partner-cloud img { height:28px; object-fit:contain; width:42px; }

@media(max-width:1000px){.public-partner-grid,.album-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.moderation-card{grid-template-columns:170px 1fr}.member-participate-grid{grid-template-columns:1fr}.public-header nav a:nth-child(n+4){display:none}}
@media(max-width:700px){.public-partner-grid,.proposal-grid,.volunteer-grid,.album-grid,.moderation-grid,.home-album-grid,.inbox-strip{grid-template-columns:1fr}.public-partner-card{align-items:flex-start;flex-direction:column}.volunteer-detail-grid,.partner-thanks{grid-template-columns:1fr}.moderation-card{grid-template-columns:1fr}.moderation-card>img{height:240px;min-height:0}.moderation-card>div{padding:0 1rem 1rem}.photo-grid{columns:2 150px}.inbox-strip a{grid-template-columns:42px auto 1fr}.home-album-card{min-height:220px}}
