:root{--bg:#edf1dc;--panel:#fbfcf5;--panel2:#f5f7e9;--text:#172019;--muted:#647064;--green:#2ecc71;--red:#e53935;--line:rgba(40,63,39,.14);--radius:20px;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 88% 2%,rgba(255,255,255,.9),transparent 30%),linear-gradient(145deg,#f5f7e8 0,#edf1dc 48%,#e5ebce 100%);color:var(--text);font-family:Poppins,Arial,sans-serif;line-height:1.55}a{color:inherit;text-decoration:none}button,input{font:inherit}.portal-header{position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line);background:rgba(245,247,232,.9);backdrop-filter:blur(18px)}.portal-nav{max-width:var(--max);height:82px;margin:auto;padding:0 24px;display:flex;align-items:center;gap:28px}.portal-logo img{width:125px;display:block;border-radius:8px}.portal-label{padding-left:20px;border-left:1px solid var(--line);color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.14em}.portal-links{display:flex;align-items:center;gap:8px;margin-left:auto}.portal-links a{padding:10px 13px;border-radius:8px;color:#465247;font-size:11px;text-transform:uppercase;letter-spacing:.05em}.portal-links a:hover,.portal-links a.active{background:rgba(46,204,113,.12);color:#157844}.shell{max-width:var(--max);margin:auto;padding:64px 24px 100px}.eyebrow{margin:0 0 14px;color:#16824a;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.16em}h1{max-width:760px;margin:0;font-size:clamp(38px,5vw,64px);line-height:1.08;letter-spacing:-.045em}h1 span{color:#16824a}.intro{max-width:670px;margin:22px 0 0;color:var(--muted);font-size:15px}.hero-actions{display:flex;gap:12px;margin-top:30px}.btn{display:inline-flex;min-height:48px;padding:0 22px;align-items:center;justify-content:center;border:0;border-radius:9px;background:linear-gradient(135deg,#159c52,var(--green));color:#fff;font-size:12px;font-weight:600;text-transform:uppercase;cursor:pointer}.btn:hover{filter:brightness(1.08)}.btn.secondary{background:transparent;border:1px solid rgba(30,69,40,.28);color:#176c40}.btn.disabled{pointer-events:none;opacity:.35}.notice{margin:38px 0;padding:16px 18px;border-left:2px solid var(--green);background:rgba(255,255,255,.46);color:#526052;font-size:12px}.progress{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:45px 0}.progress-item{display:flex;gap:13px;align-items:center;padding:18px;border:1px solid var(--line);border-radius:14px;background:rgba(251,252,245,.88);box-shadow:0 8px 30px rgba(53,67,39,.04)}.progress-item span{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--line);border-radius:50%;color:var(--muted);font-size:11px}.progress-item small{display:block;color:var(--muted);font-size:9px;text-transform:uppercase}.progress-item b{font-size:12px}.progress-item.done,.progress-item.current{border-color:rgba(27,150,83,.32)}.progress-item.done span,.progress-item.current span{border-color:var(--green);color:#16824a}.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:38px}.grid.three{grid-template-columns:repeat(3,1fr)}.card{position:relative;padding:28px;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(145deg,var(--panel),var(--panel2));box-shadow:0 18px 50px rgba(53,67,39,.06);overflow:hidden}.card h2,.card h3{margin:5px 0 10px}.card p{color:var(--muted);font-size:13px}.card .status{display:inline-block;padding:5px 9px;border-radius:999px;background:rgba(46,204,113,.12);color:#16824a;font-size:9px;text-transform:uppercase}.card.locked:after{content:"";position:absolute;inset:0;background:rgba(236,241,218,.78);backdrop-filter:blur(3px)}.lock-message{position:absolute;z-index:2;inset:0;display:grid;place-content:center;padding:25px;text-align:center}.lock-message strong{font-size:20px}.lock-message p{max-width:320px}.form-card{max-width:780px;margin:38px 0;padding:32px;border:1px solid var(--line);border-radius:var(--radius);background:rgba(251,252,245,.92);box-shadow:0 18px 50px rgba(53,67,39,.06)}.form-step{display:flex;gap:12px;align-items:center;margin:28px 0 18px;padding-top:24px;border-top:1px solid var(--line)}.form-step:first-child{margin-top:0;padding-top:0;border:0}.form-step span{display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--green);border-radius:50%;color:#16824a;font-size:10px}.form-step b{font-size:13px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:15px}.field{display:grid;gap:7px;margin-bottom:16px}.field.full{grid-column:1/-1}.field label{color:#526052;font-size:10px;text-transform:uppercase}.field input{width:100%;height:50px;padding:0 14px;border:1px solid var(--line);border-radius:9px;background:#fff;color:#172019}.field input:focus{outline:2px solid var(--green)}.upload{padding:20px;border:1px dashed rgba(21,130,74,.38);border-radius:12px;background:#f7f9ed}.upload input{height:auto;padding:10px 0;background:transparent}.check{display:flex;gap:10px;margin:20px 0;color:var(--muted);font-size:11px}.document{display:grid;grid-template-columns:64px 1fr;gap:18px;align-items:center;margin:24px 0;padding:22px;border:1px solid var(--line);border-radius:14px;background:#f7f9ed}.pdf{display:grid;place-items:center;width:58px;height:76px;border:1px solid rgba(190,43,40,.45);color:#b92d2a;font-size:11px}.document p{margin:5px 0;color:var(--muted);font-size:11px}.menu-list{display:grid;gap:12px;margin-top:25px}.menu-row{display:flex;justify-content:space-between;gap:20px;padding:20px;border:1px solid var(--line);border-radius:12px;background:rgba(251,252,245,.9);box-shadow:0 10px 35px rgba(53,67,39,.04)}.menu-row small{color:#16824a;font-size:9px;text-transform:uppercase}.menu-row h3{margin:4px 0}.menu-row p{margin:0;color:var(--muted);font-size:11px}.price{white-space:nowrap;color:#16824a;font-weight:600}.portal-footer{border-top:1px solid var(--line);padding:25px;color:#687368;text-align:center;font-size:10px}.back{display:inline-block;margin-bottom:24px;color:var(--muted);font-size:12px}.mobile-menu{display:none;margin-left:auto;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.45);color:#172019;padding:9px 12px}@media(max-width:800px){.portal-label{display:none}.mobile-menu{display:block}.portal-links{display:none;position:absolute;top:82px;left:12px;right:12px;padding:12px;flex-direction:column;align-items:stretch;border:1px solid var(--line);border-radius:14px;background:#f7f9ed;box-shadow:0 18px 45px rgba(53,67,39,.12)}.portal-links.open{display:flex}.progress,.grid,.grid.three{grid-template-columns:1fr}.fields{grid-template-columns:1fr}.field.full{grid-column:auto}.shell{padding-top:42px}.hero-actions{flex-direction:column}.menu-row{display:block}.price{display:block;margin-top:12px}}

/* Activación de socios mediante código personal */
.access-shell{max-width:1040px}.member-access-card{display:grid;grid-template-columns:.8fr 1.2fr;gap:54px;align-items:center;margin-top:52px;padding:38px;border:1px solid rgba(40,63,39,.16);border-radius:24px;background:rgba(251,252,245,.88);box-shadow:0 24px 70px rgba(53,67,39,.08)}.member-access-card h2,.existing-login h2,.profile-activation h2{margin:0 0 10px;font-size:clamp(25px,3vw,36px);letter-spacing:-.035em}.member-access-card p,.existing-login p,.profile-activation p{color:var(--muted);font-size:13px}.code-form label{display:block;margin-bottom:9px;color:#526052;font-size:10px;text-transform:uppercase;letter-spacing:.08em}.code-entry{display:grid;grid-template-columns:1fr auto;gap:10px}.code-entry input{height:52px;padding:0 16px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--text);font-size:18px;font-weight:600;letter-spacing:.2em;text-transform:uppercase}.code-entry input:focus{outline:2px solid var(--green)}.form-message{min-height:20px;margin:10px 0 0!important;font-size:11px!important}.form-message.error{color:#a53935!important}.form-message.success{color:#16824a!important}.profile-activation{scroll-margin-top:110px;margin-top:26px;padding:38px;border:1px solid rgba(27,150,83,.26);border-radius:24px;background:rgba(255,255,255,.48)}.profile-activation[hidden]{display:none}.member-confirmation{padding-bottom:22px;border-bottom:1px solid var(--line)}.member-confirmation>p{margin:18px 0 2px}.member-confirmation h2{margin:0}.profile-activation .form-card{margin-bottom:0}.password-hint{margin-top:0}.existing-login{display:grid;grid-template-columns:.8fr 1.2fr;gap:54px;margin-top:26px;padding:38px;border-top:1px solid var(--line)}.compact-login{display:grid;grid-template-columns:1fr 1fr;gap:12px}.compact-login .field{margin:0}.compact-login .form-message,.compact-login .btn{grid-column:1/-1}.status{display:inline-block;padding:5px 9px;border-radius:999px;background:rgba(46,204,113,.12);color:#16824a;font-size:9px;text-transform:uppercase}

@media(max-width:800px){.member-access-card,.existing-login{grid-template-columns:1fr;gap:24px;padding:26px 22px}.code-entry{grid-template-columns:1fr}.profile-activation{padding:26px 20px}.compact-login{grid-template-columns:1fr}.compact-login .form-message,.compact-login .btn{grid-column:auto}}

/* Revisión y firma de documentos */
.legal-signing-form{max-width:900px}.legal-document-list{display:grid;gap:0}.legal-document{grid-template-columns:64px 1fr;margin:18px 0 10px}.legal-document:first-child{margin-top:0}.document-actions{display:flex;align-items:center;gap:18px;margin-top:16px}.document-actions .btn{min-height:40px;padding:0 16px;font-size:10px}.document-download{color:#176c40;font-size:11px;font-weight:600}.document-download:hover{text-decoration:underline}.document-check{margin:0 0 18px;padding-left:4px}

@media(max-width:620px){.legal-document{grid-template-columns:48px 1fr;padding:18px}.legal-document .pdf{width:46px;height:62px}.document-actions{align-items:flex-start;flex-direction:column;gap:10px}}

/* Registro real y confirmación de identidad */
[hidden]{display:none!important}.btn:disabled{cursor:wait;opacity:.62}.confirmation-panel h2{margin:18px 0 10px;font-size:clamp(26px,3vw,38px);letter-spacing:-.035em}.confirmation-panel>p{max-width:620px;color:var(--muted);font-size:13px}.confirmation-panel .btn{margin-top:12px}.identity-welcome{margin:0 0 24px;color:var(--muted);font-size:13px}.password-hint{margin:0 0 16px;color:var(--muted);font-size:11px}

/* Paso de pago de membresía */
.payment-shell{max-width:1000px}.payment-card{display:grid;grid-template-columns:.72fr 1.28fr;gap:0;margin-top:42px;border:1px solid var(--line);border-radius:24px;background:rgba(251,252,245,.92);box-shadow:0 24px 70px rgba(53,67,39,.08);overflow:hidden}.payment-summary{display:flex;flex-direction:column;justify-content:center;padding:42px;background:linear-gradient(145deg,#e1edc9,#f0f4df)}.payment-summary>p{margin:25px 0 6px;color:var(--muted);font-size:12px}.payment-summary>strong{font-size:clamp(28px,4vw,46px);line-height:1.08;letter-spacing:-.04em}.payment-copy{padding:42px}.payment-copy h2{margin:0 0 12px;font-size:clamp(25px,3vw,36px);letter-spacing:-.035em}.payment-copy>p{color:var(--muted);font-size:13px}.payment-copy .check{margin:25px 0}.payment-copy .form-message{margin-top:14px!important}

@media(max-width:760px){.payment-card{grid-template-columns:1fr}.payment-summary,.payment-copy{padding:28px 22px}}

.price-breakdown{display:grid;gap:10px;margin:26px 0 20px;padding:18px 0;border-top:1px solid rgba(40,63,39,.14);border-bottom:1px solid rgba(40,63,39,.14)}.price-breakdown>div{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:11px}.price-breakdown span{color:var(--muted)}.price-breakdown s{color:#647064}.discount-line strong{color:#16824a;font-size:15px}.payment-summary>small{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.12em}.preview-label{margin:0 0 9px!important;color:#16824a!important;font-size:9px!important;font-weight:600;text-transform:uppercase;letter-spacing:.12em}.payment-methods{display:grid;gap:16px;margin-top:28px}.payment-method{padding:25px;border:1px solid var(--line);border-radius:16px;background:#fff}.method-heading{display:flex;align-items:flex-start;gap:14px}.method-heading>span{display:grid;place-items:center;flex:0 0 auto;width:32px;height:32px;border:1px solid rgba(27,150,83,.36);border-radius:50%;color:#16824a;font-size:10px}.method-heading h3{margin:1px 0 5px;font-size:16px}.method-heading p{margin:0;color:var(--muted);font-size:11px}.card-preview-fields{margin-top:22px}.card-preview-fields input:disabled{background:#f3f5ed;color:#7c847c}.payment-method .btn{margin-top:6px}.transfer-placeholder{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:22px 0}.transfer-placeholder>div{padding:13px;border-radius:10px;background:#f3f6e9}.transfer-placeholder small{display:block;color:var(--muted);font-size:8px;text-transform:uppercase}.transfer-placeholder strong{font-size:11px}.verification-field{margin-top:18px}.payment-terms-preview{opacity:.62}

@media(max-width:620px){.transfer-placeholder{grid-template-columns:1fr}.payment-method{padding:20px 16px}}

/* Catálogo privado de variedades */
.catalog-hero{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:48px;align-items:end}.catalog-note{padding:24px;border:1px solid var(--line);border-radius:18px;background:rgba(251,252,245,.78);box-shadow:0 18px 50px rgba(53,67,39,.05)}.catalog-note span{color:#16824a;font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.14em}.catalog-note strong{display:block;margin:7px 0 8px;font-size:24px;letter-spacing:-.03em}.catalog-note p{margin:0;color:var(--muted);font-size:11px}.catalog-toolbar{display:flex;justify-content:space-between;align-items:center;margin:58px 0 18px;padding-bottom:14px;border-bottom:1px solid var(--line)}.catalog-toolbar p{margin:0;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.08em}.catalog-toolbar span{color:var(--muted);font-size:10px}.strain-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.strain-card{position:relative;min-height:300px;padding:28px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,rgba(251,252,245,.96),rgba(245,247,233,.9));box-shadow:0 15px 40px rgba(53,67,39,.05);overflow:hidden;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}.strain-card:hover{transform:translateY(-3px);border-color:rgba(27,150,83,.3);box-shadow:0 22px 48px rgba(53,67,39,.09)}.strain-number{position:absolute;right:22px;top:13px;color:rgba(23,32,25,.055);font-size:70px;font-weight:700;line-height:1}.strain-card .status{display:inline-block;padding:5px 9px;border-radius:999px;background:rgba(46,204,113,.12);color:#16824a;font-size:9px;text-transform:uppercase}.strain-type{margin:42px 0 5px;color:#16824a;font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.12em}.strain-card h2{max-width:78%;margin:0 0 12px;font-size:21px;letter-spacing:-.025em}.strain-description{max-width:440px;margin:0;color:var(--muted);font-size:12px}.strain-meta{display:flex;justify-content:space-between;align-items:center;margin-top:30px;padding-top:16px;border-top:1px solid var(--line);font-size:10px}.strain-meta span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.strain-meta strong{font-size:11px}.responsible-note{max-width:720px;margin:28px auto 0;color:var(--muted);font-size:10px;text-align:center}

@media(max-width:800px){.catalog-hero{grid-template-columns:1fr;gap:28px}.catalog-note{max-width:none}.catalog-toolbar{align-items:flex-start;gap:12px}.catalog-toolbar span{text-align:right}.strain-grid{grid-template-columns:1fr}.strain-card{min-height:280px}}

/* Administración privada */
.admin-shell{max-width:1240px}.admin-login{margin-inline:auto}.admin-login-form{margin-top:30px}.admin-login-form .btn,.admin-login-form .form-message{grid-column:1/-1}.admin-heading{display:flex;justify-content:space-between;align-items:end;gap:30px}.admin-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:42px 0}.admin-metrics article{padding:22px;border:1px solid var(--line);border-radius:16px;background:rgba(251,252,245,.9)}.admin-metrics small{display:block;color:var(--muted);font-size:9px;text-transform:uppercase}.admin-metrics strong{font-size:32px}.admin-filters{display:grid;gap:8px;margin-bottom:16px}.admin-filters label{color:var(--muted);font-size:10px;text-transform:uppercase}.admin-filters input{height:50px;padding:0 15px;border:1px solid var(--line);border-radius:10px;background:#fff}.admin-member-list{display:grid;gap:14px;margin-top:18px}.admin-member{padding:26px;border:1px solid var(--line);border-radius:18px;background:rgba(251,252,245,.94);box-shadow:0 15px 45px rgba(53,67,39,.05)}.admin-member-summary{display:flex;justify-content:space-between;gap:24px}.admin-member h2{margin:8px 0 3px;font-size:21px}.admin-member p{margin:0;color:var(--muted);font-size:11px}.admin-member-state{text-align:right}.admin-member-state small,.admin-details small{display:block;color:var(--muted);font-size:8px;text-transform:uppercase}.admin-details{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin:22px 0;padding:18px 0;border-block:1px solid var(--line)}.admin-details strong{font-size:11px}.admin-documents,.admin-actions{display:flex;flex-wrap:wrap;gap:9px}.admin-actions{margin-top:18px}.admin-actions .btn{min-height:40px;padding-inline:15px;font-size:9px}.document-link{padding:7px 10px;border:1px solid rgba(27,150,83,.25);border-radius:7px;background:transparent;color:#176c40;font-size:10px;cursor:pointer}.admin-empty{padding:35px;border:1px dashed var(--line);border-radius:16px;color:var(--muted);text-align:center;font-size:12px}#adminLogout{margin-left:auto}
.portal-links .admin-nav-link,.portal-nav>.admin-nav-link{border:1px solid rgba(27,150,83,.38);background:rgba(46,204,113,.1);color:#126f3e;font-weight:600}

@media(max-width:800px){.admin-heading{align-items:flex-start;flex-direction:column}.admin-metrics{grid-template-columns:repeat(2,1fr)}.admin-member-summary{display:block}.admin-member-state{margin-top:14px;text-align:left}.admin-details{grid-template-columns:repeat(2,1fr)}}
