:root{color-scheme:light;--bg-main: #f7f3e8;--bg-soft: #efe8d6;--bg-card: #fffaf0;--green-dark: #1f4d3a;--green-main: #2f6b4f;--green-soft: #5f8f72;--cream: #f7f3e8;--cream-light: #fffaf0;--gold-soft: #c9a45c;--text-main: #173629;--text-muted: #5f6f66;--border-soft: rgba(31, 77, 58, .16);--shadow-soft: 0 18px 50px rgba(31, 77, 58, .14);--danger: #9b4f3f;--danger-bg: rgba(155, 79, 63, .1);--success: #2f6b4f;--success-bg: rgba(47, 107, 79, .1);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg-main);color:var(--text-main)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:linear-gradient(180deg,#f7f3e8f5,#efe8d6fa),radial-gradient(circle at top right,rgba(95,143,114,.2),transparent 30rem)}body,button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:disabled{cursor:not-allowed;opacity:.68}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.site-header{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:1fr auto;gap:.85rem;align-items:center;padding:.8rem 1rem;border-bottom:1px solid var(--border-soft);background:#fffaf0d6;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 10px 30px #1f4d3a14}.brand,.admin-brand{display:inline-flex;align-items:center;gap:.75rem;min-width:0;color:var(--green-dark);font-weight:850}.brand img,.admin-brand img,.site-footer img,.admin-login img{width:52px;height:52px;border:1px solid rgba(31,77,58,.12);border-radius:8px;background:var(--cream-light);box-shadow:0 12px 26px #1f4d3a21}.brand span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.site-header nav{grid-column:1 / -1;display:flex;gap:.65rem;overflow-x:auto;color:var(--green-main);scrollbar-width:none}.site-header nav a{flex:0 0 auto;padding:.55rem .35rem;font-size:.92rem;font-weight:750;transition:color .16s ease,background .16s ease}.site-header nav a:hover{color:var(--green-dark)}.header-cta,.primary-button,.secondary-button,.table-button,.logout-button,.icon-button{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;border-radius:8px;cursor:pointer;font-weight:850;line-height:1}.header-cta,.primary-button{min-height:44px;padding:.82rem 1.05rem;border:1px solid rgba(31,77,58,.22);background:linear-gradient(135deg,var(--green-dark) 0%,var(--green-main) 100%);color:var(--cream-light);box-shadow:0 12px 28px #1f4d3a33;transition:transform .16s ease,box-shadow .16s ease,filter .16s ease}.primary-button:hover,.header-cta:hover{filter:brightness(1.04);transform:translateY(-1px);box-shadow:0 16px 34px #1f4d3a3d}.secondary-button{min-height:44px;padding:.82rem 1.05rem;border:1px solid rgba(47,107,79,.38);background:#fffaf0b8;color:var(--green-dark);transition:background .16s ease,border-color .16s ease,color .16s ease}.secondary-button:hover{border-color:#1f4d3a8c;background:#efe8d6d1;color:var(--green-dark)}.compact{min-height:40px;padding:.72rem .82rem;font-size:.93rem}.hero{position:relative;isolation:isolate;display:grid;gap:2.2rem;align-items:center;min-height:min(760px,calc(100vh - 72px));padding:5rem 1rem 4rem;overflow:hidden;background:radial-gradient(circle at 78% 10%,rgba(95,143,114,.24),transparent 26rem),radial-gradient(circle at 12% 24%,rgba(201,164,92,.16),transparent 24rem),linear-gradient(135deg,#fffaf0b3,#efe8d6b8);color:var(--text-main)}.hero:before{content:"";position:absolute;inset:0;z-index:-2;pointer-events:none;background-image:linear-gradient(rgba(31,77,58,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(31,77,58,.045) 1px,transparent 1px);background-size:58px 58px;-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.72),transparent 82%);mask-image:linear-gradient(180deg,rgba(0,0,0,.72),transparent 82%)}.hero:after{content:"";position:absolute;inset:auto 0 0;z-index:-1;height:38%;pointer-events:none;background:linear-gradient(180deg,transparent,rgba(247,243,232,.88))}.hero-copy{max-width:820px}.eyebrow{margin:0 0 .8rem;color:var(--gold-soft);font-size:.78rem;font-weight:900;letter-spacing:0;text-transform:uppercase}.hero h1{margin:0;max-width:980px;color:var(--green-dark);font-size:4.5rem;line-height:1;letter-spacing:0}.hero h1 span{color:var(--green-main);text-shadow:0 12px 32px rgba(31,77,58,.14)}.hero-copy>p:not(.eyebrow){max-width:700px;margin:1.25rem 0 0;color:var(--text-muted);font-size:1.16rem;line-height:1.65}.hero-actions,.card-actions,.admin-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.45rem}.hero-media{position:relative;display:grid;grid-template-columns:repeat(3,minmax(74px,1fr));gap:1rem;align-items:end;padding-top:5.2rem}.hero-emblem{position:absolute;top:0;left:50%;display:grid;justify-items:center;gap:.6rem;width:min(190px,42vw);transform:translate(-50%);color:var(--green-dark);font-size:.8rem;font-weight:850;text-align:center}.hero-emblem img{width:86px;height:86px;border:1px solid rgba(31,77,58,.14);border-radius:8px;background:var(--cream-light);box-shadow:0 0 0 5px #fffaf09e,0 18px 38px #1f4d3a33}.hero-media>img{width:100%;border:1px solid rgba(31,77,58,.2);border-radius:8px;background:var(--cream-light);box-shadow:0 24px 44px #1f4d3a2e,0 0 0 8px #fffaf047}.hero-media>img:nth-of-type(2){transform:translateY(-1rem)}.section{position:relative;padding:5rem 1rem}.section:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 92% 0%,rgba(95,143,114,.08),transparent 24rem),linear-gradient(180deg,rgba(255,250,240,.3),transparent 42%)}.section-heading{position:relative;max-width:780px;margin-bottom:1.7rem}.section-heading h2,.pickup-copy h2{margin:0;color:var(--green-dark);font-size:2.55rem;line-height:1.08;letter-spacing:0}.section-heading h2:after,.pickup-copy h2:after,.admin-heading h1:after{content:"";display:block;width:74px;height:3px;margin-top:.85rem;border-radius:999px;background:linear-gradient(90deg,var(--green-main),var(--gold-soft))}.book-grid,.plans-grid{position:relative;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:1rem}.book-card,.plan-card,.stat-card,.admin-editor,.pickup-admin-item,.admin-login form,.admin-auth-card{border:1px solid var(--border-soft);border-radius:8px;background:linear-gradient(180deg,#ffffff6b,#fffaf0b8),var(--bg-card);box-shadow:var(--shadow-soft)}.book-card{overflow:hidden}.cover-wrap{display:grid;place-items:center;aspect-ratio:4 / 4.65;padding:1.4rem;background:radial-gradient(circle at 50% 58%,rgba(95,143,114,.22),transparent 58%),linear-gradient(180deg,#efe8d6eb,#fffaf0d9)}.cover-wrap img{width:min(78%,280px);height:auto;border-radius:8px;object-fit:contain;box-shadow:0 24px 42px #1f4d3a38,0 0 0 7px #fffaf052}.book-card-body,.plan-card{padding:1.15rem}.status-badge{display:inline-flex;width:fit-content;margin-bottom:.85rem;padding:.4rem .65rem;border:1px solid rgba(47,107,79,.28);border-radius:999px;background:#2f6b4f1a;color:var(--green-dark);font-size:.78rem;font-weight:900}.status-in_editing{border-color:#c9a45c6b;background:#c9a45c21;color:#7a6132}.status-ready_for_print{border-color:#2f6b4f6b;background:#2f6b4f1f}.book-card h3,.plan-card h3{margin:0;color:var(--green-dark);font-size:1.24rem}.book-card p,.plan-card p,.pickup-copy p,.faq-list p,.site-footer p,.admin-heading p,.pickup-admin-item span{color:var(--text-muted);line-height:1.65}.book-subtitle{margin:.35rem 0 0;color:var(--green-main)!important;font-weight:850}.progress-block{margin-top:1rem}.progress-row{display:flex;justify-content:space-between;gap:1rem;color:var(--green-dark);font-size:.9rem;font-weight:850}.progress-track{height:10px;margin-top:.5rem;overflow:hidden;border:1px solid rgba(31,77,58,.12);border-radius:999px;background:#1f4d3a14}.progress-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--green-dark),var(--green-main),var(--green-soft));box-shadow:0 0 18px #2f6b4f47}.plans-section,.faq-section,.partner-section{background:#efe8d66b}.plan-card{position:relative;display:grid;align-content:start;gap:.75rem;overflow:hidden}.plan-card:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,#2f6b4f52,#c9a45cb8)}.plan-card.recommended{border-color:#2f6b4f61;background:linear-gradient(180deg,#2f6b4f14,#fffaf0db),var(--cream-light)}.plan-card.recommended:before{background:linear-gradient(90deg,var(--green-dark),var(--green-main))}.recommended-badge{justify-self:start;padding:.35rem .58rem;border-radius:999px;background:var(--green-main);color:var(--cream-light);font-size:.74rem;font-weight:900}.plan-icon{display:inline-grid;width:48px;height:48px;place-items:center;border:1px solid rgba(47,107,79,.24);border-radius:8px;background:#2f6b4f14;color:var(--green-dark)}.paypal-placeholder{display:grid;min-height:58px;place-items:center;margin-top:.5rem;border:1px dashed rgba(47,107,79,.34);border-radius:8px;background:#fffaf0a8;color:var(--green-dark);font-weight:850}.plan-price{color:var(--green-dark)!important;font-size:1.25rem;font-weight:900}.participation-modal,.participation-form,.subscription-confirm,.success-panel{display:grid;gap:1rem}.success-panel{padding:1rem;border:1px solid rgba(47,107,79,.24);border-radius:8px;background:var(--success-bg)}.success-panel h3,.success-panel p{margin:0}.success-panel strong{color:var(--green-dark)}.paypal-label{margin:0;color:var(--green-dark);font-weight:900}.paypal-buttons{min-height:48px}.pickup-section{overflow:hidden;background:radial-gradient(circle at right,rgba(95,143,114,.12),transparent 32rem),var(--cream-light)}.pickup-copy{position:relative;max-width:900px}.pickup-copy p{font-size:1.08rem}.claim-form{position:relative;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:1rem;max-width:1080px;padding:1rem;border:1px solid var(--border-soft);border-radius:8px;background:#fffaf0cc;box-shadow:var(--shadow-soft)}.payment-panel,.claim-session-banner,.partner-access-box,.partner-card{position:relative;max-width:1080px;border:1px solid var(--border-soft);border-radius:8px;background:linear-gradient(180deg,#ffffff6b,#fffaf0c7),var(--cream-light);box-shadow:var(--shadow-soft)}.payment-panel{display:grid;gap:1.2rem;padding:1rem}.locked-copy{display:grid;grid-template-columns:auto 1fr;gap:.8rem;align-items:start;color:var(--text-muted)}.locked-copy svg,.partner-access-box svg{color:var(--green-main);filter:drop-shadow(0 8px 12px rgba(31,77,58,.12))}.locked-copy p{margin:0;line-height:1.65}.payment-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:1rem}.partner-public-grid{position:relative;display:grid;grid-template-columns:minmax(0,1.6fr) minmax(min(100%,280px),.7fr);gap:1rem;align-items:start}.partner-access-box{display:grid;gap:.85rem;padding:1rem}.partner-access-box h3,.partner-card h3{margin:0;color:var(--green-dark)}.partner-access-box p,.partner-card p,.locked-note{margin:0;color:var(--text-muted);line-height:1.65}.payment-actions{display:flex;flex-wrap:wrap;gap:.8rem;align-items:end}.payment-id-field{flex:1 1 260px}.field-hint,.payment-reference{color:var(--text-muted);font-size:.88rem;font-weight:700}.payment-reference{align-self:center;margin:0;padding:.75rem .9rem;border:1px solid rgba(47,107,79,.2);border-radius:8px;background:#efe8d6a3}.claim-session-banner{display:flex;flex-wrap:wrap;gap:.85rem;align-items:center;justify-content:space-between;margin-bottom:1rem;padding:1rem}.claim-session-banner p{flex:1 1 280px;margin:0;color:var(--text-muted);line-height:1.65}.claim-session-banner span{display:inline-flex;padding:.45rem .7rem;border:1px solid rgba(47,107,79,.3);border-radius:999px;background:#2f6b4f1a;color:var(--green-dark);font-size:.84rem;font-weight:900}.partner-dashboard{position:relative;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:1rem}.partner-card{display:grid;align-content:start;gap:.9rem;padding:1rem}.partner-card dl{display:grid;gap:.65rem;margin:0}.partner-card dl div{display:grid;gap:.2rem}.partner-card dt{color:var(--text-muted);font-size:.78rem;font-weight:900;text-transform:uppercase}.partner-card dd{margin:0;color:var(--green-dark);font-weight:800;overflow-wrap:anywhere}.partner-book-cover{width:min(150px,48vw);border:1px solid rgba(31,77,58,.18);border-radius:8px;box-shadow:0 16px 32px #1f4d3a2e,0 0 0 6px #fffaf057}.pickup-card{grid-column:1 / -1}.pickup-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:1rem}.locked-note{padding:.85rem;border:1px solid rgba(201,164,92,.24);border-radius:8px;background:#c9a45c1a}.partner-logout{margin-top:1rem}label{display:grid;gap:.45rem;color:var(--green-dark);font-weight:800}input,select,textarea{width:100%;min-height:44px;border:1px solid rgba(31,77,58,.22);border-radius:8px;background:#fffaf0e6;color:var(--text-main);padding:.75rem;outline:0;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}select option{background:var(--cream-light);color:var(--text-main)}input:focus,select:focus,textarea:focus{border-color:var(--green-main);background:#fffdf8;box-shadow:0 0 0 3px #2f6b4f24}input:disabled,select:disabled,textarea:disabled{cursor:not-allowed;opacity:.7}textarea{resize:vertical}.full-span,.form-message{grid-column:1 / -1}.form-submit{width:fit-content}.form-message{margin:0;padding:1rem;border:1px solid rgba(47,107,79,.22);border-radius:8px;background:var(--success-bg);color:var(--success);font-weight:800}.form-message.error{border-color:#9b4f3f3d;background:var(--danger-bg);color:var(--danger)}.faq-list{position:relative;display:grid;gap:.75rem;max-width:920px}details{border:1px solid var(--border-soft);border-radius:8px;background:#fffaf0d1;padding:1rem;box-shadow:0 12px 30px #1f4d3a14}summary{cursor:pointer;color:var(--green-dark);font-weight:900}.site-footer{display:grid;justify-items:center;gap:.35rem;padding:2.5rem 1rem;border-top:1px solid var(--border-soft);background:#fffaf0c7;text-align:center}.site-footer p{margin:0}.modal-backdrop{position:fixed;inset:0;z-index:40;display:grid;place-items:center;padding:1rem;background:#17362975;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.preview-modal{width:min(100%,980px);max-height:min(88vh,900px);overflow:auto;border:1px solid rgba(31,77,58,.2);border-radius:8px;background:radial-gradient(circle at top right,rgba(95,143,114,.12),transparent 18rem),var(--cream-light);padding:1rem;box-shadow:0 24px 70px #1f4d3a3d}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.modal-header h2{margin:0;color:var(--green-dark)}.icon-button{width:44px;height:44px;border:1px solid rgba(47,107,79,.28);background:#fffaf0d1;color:var(--green-dark)}.preview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:.9rem}.preview-grid img{width:100%;border:1px solid rgba(31,77,58,.14);border-radius:8px;background:#fffdf8;box-shadow:0 20px 40px #1f4d3a2e,0 0 0 7px #fffaf057}.admin-shell{display:grid;min-height:100vh;background:radial-gradient(circle at top right,rgba(95,143,114,.18),transparent 28rem),linear-gradient(180deg,var(--bg-main) 0%,var(--bg-soft) 100%)}.admin-sidebar{display:grid;gap:1rem;align-content:start;padding:1rem;border-right:1px solid var(--border-soft);background:#fffaf0c7;color:var(--text-main)}.admin-brand{color:var(--green-dark)}.admin-sidebar nav{display:grid;gap:.35rem}.admin-sidebar button,.logout-button{justify-content:flex-start;min-height:42px;padding:.7rem .8rem;border:1px solid transparent;background:transparent;color:var(--text-muted)}.admin-sidebar button.active,.admin-sidebar button:hover,.logout-button:hover{border-color:#2f6b4f38;background:#2f6b4f14;color:var(--green-dark)}.admin-content{min-width:0;padding:1.5rem}.admin-heading{margin-bottom:1rem}.admin-heading h1{margin:0;color:var(--green-dark)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1rem}.stat-card{padding:1rem}.stat-card span{color:var(--text-muted);font-weight:800}.stat-card strong{display:block;margin-top:.5rem;color:var(--green-dark);font-size:2.1rem}.admin-table-wrap{overflow-x:auto;border:1px solid var(--border-soft);border-radius:8px;background:#fffaf0db;box-shadow:var(--shadow-soft)}table{width:100%;min-width:760px;border-collapse:collapse}th,td{padding:.8rem;border-bottom:1px solid rgba(31,77,58,.1);color:var(--text-muted);text-align:left;vertical-align:top}th{color:var(--green-dark);font-size:.8rem;text-transform:uppercase}.table-button{min-height:36px;padding:.45rem .65rem;border:1px solid rgba(47,107,79,.28);background:#2f6b4f14;color:var(--green-dark)}.admin-editor{display:grid;gap:.9rem;max-width:780px;margin-top:1rem;padding:1rem}.admin-editor h2{margin:0;color:var(--green-dark)}.admin-login{display:grid;min-height:100vh;place-items:center;padding:1rem;background:radial-gradient(circle at top,rgba(95,143,114,.2),transparent 28rem),linear-gradient(180deg,var(--bg-main) 0%,var(--bg-soft) 100%)}.admin-login form,.admin-auth-card{display:grid;width:min(100%,360px);gap:1rem;padding:1.25rem}.admin-auth-card h1,.admin-auth-card p{margin:0}.admin-auth-card p{color:var(--text-muted);font-weight:800}.admin-login h1{margin:0;color:var(--green-dark)}.admin-error,.admin-note{padding:.85rem 1rem;border-radius:8px;font-weight:800}.admin-error{border:1px solid rgba(155,79,63,.24);background:var(--danger-bg);color:var(--danger)}.admin-note{border:1px solid rgba(47,107,79,.22);background:var(--success-bg);color:var(--success)}.pickup-admin-list{display:grid;gap:1rem}.pickup-admin-item{display:grid;gap:1rem;padding:1rem}.pickup-admin-item>div{display:grid;gap:.2rem}.pickup-admin-item strong{color:var(--green-dark)}@media(min-width:760px){.site-header{grid-template-columns:minmax(230px,auto) 1fr auto;padding-inline:2rem}.site-header nav{grid-column:auto;justify-content:center}.hero{grid-template-columns:minmax(0,1.04fr) minmax(300px,.72fr);padding-inline:2rem}.hero-copy{order:-1}.section{padding-inline:2rem}.admin-shell{grid-template-columns:250px minmax(0,1fr)}}@media(min-width:1100px){.site-header,.hero,.section{padding-inline:4rem}}@media(max-width:860px){.partner-public-grid{grid-template-columns:1fr}}@media(max-width:640px){.site-header{padding:.7rem 1rem}.brand img{width:46px;height:46px}.hero{min-height:auto;padding-top:3.4rem}.hero h1{font-size:2.55rem}.section-heading h2,.pickup-copy h2{font-size:2rem}.hero-copy>p:not(.eyebrow){font-size:1.05rem}.admin-content{padding:1rem}}@media(max-width:520px){.header-cta{padding-inline:.8rem}.hero-actions a,.card-actions button,.form-submit{width:100%}.section{padding:3.25rem 1rem}}
