.setup-shell,.login-shell{min-height:100vh;display:grid;place-items:center;padding:2rem 1rem;background:linear-gradient(145deg,var(--color-paper),var(--color-soft))}
.setup-card,.login-card{width:min(760px,100%);padding:clamp(1.5rem,4vw,3rem);border:1px solid var(--color-rule);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:0 24px 70px var(--color-shadow)}
.login-card{width:min(500px,100%)}
.setup-brand{display:inline-flex;margin-bottom:2.5rem}.setup-card h1,.login-card h1{font-size:clamp(2.25rem,5vw,4rem);max-width:12ch}.login-card>p:not(.hero-context){color:var(--color-muted);margin-bottom:1.5rem}
.form-stack,.review-form{display:grid;gap:1.5rem}.form-stack fieldset,.review-form>fieldset{display:grid;gap:1rem;padding:1.25rem;border:1px solid var(--color-rule);border-radius:var(--radius-md)}
.form-stack legend,.review-form>fieldset>legend{padding:0 .5rem;font-family:var(--font-display);font-size:1.2rem;font-weight:600}
.form-stack label,.review-form label,.admin-filters label{display:grid;gap:.45rem;color:var(--color-ink);font-size:.875rem;font-weight:600}
.form-stack input,.form-stack select,.review-form input,.review-form select,.review-form textarea,.admin-filters input,.admin-filters select{width:100%;min-height:48px;padding:.75rem;border:1px solid var(--color-rule);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-ink);font:inherit;font-weight:400}
.review-form textarea{resize:vertical;min-height:160px}.form-stack input:focus,.review-form input:focus,.review-form select:focus,.review-form textarea:focus,.admin-filters input:focus,.admin-filters select:focus{outline:3px solid color-mix(in oklch,var(--color-focus) 28%,transparent);border-color:var(--color-focus)}
.form-grid{display:grid;gap:1rem}.field-help{color:var(--color-muted);font-size:.75rem;font-weight:400}.optional{color:var(--color-muted);font-size:.75rem;font-weight:400}
.button-wide{width:100%;justify-content:center}.form-alert{padding:1rem 1.1rem;border-radius:var(--radius-sm);margin:1.25rem 0;font-size:.875rem}.form-alert ul{margin:.5rem 0 0;padding-left:1.2rem}.form-alert-error{border:1px solid var(--color-error);background:color-mix(in oklch,var(--color-error) 8%,var(--color-surface));color:var(--color-error)}.form-alert-success{border:1px solid var(--color-accent);background:var(--color-soft);color:var(--color-accent)}
.requirements{padding:1rem 1.25rem;margin:1.5rem 0;border-radius:var(--radius-md);background:var(--color-paper)}.requirements h2{font-size:1.15rem;margin-bottom:.75rem}.requirements p{margin:.35rem 0;color:var(--color-muted);font-size:.8rem}.status-dot{display:inline-block;width:.55rem;height:.55rem;margin-right:.5rem;border-radius:50%;background:var(--color-focus)}.status-ok{background:var(--color-accent)}
.submission-wrap{padding-bottom:5rem}.submission-intro{display:grid;gap:2rem;padding:3.5rem 0 2.5rem}.submission-intro h1{font-size:var(--text-display);max-width:12ch}.submission-intro>div>p:last-child{max-width:54ch;color:var(--color-muted);font-size:1.1rem}.submission-intro aside{align-self:end;padding:1.25rem;border-left:3px solid var(--color-accent);background:var(--color-soft)}.submission-intro aside ul{margin:.7rem 0 0;padding-left:1.1rem;color:var(--color-muted);font-size:.875rem}.review-form{max-width:800px}.review-form>fieldset{padding:clamp(1.1rem,3vw,2rem)}
.rating-picker{border:0;padding:0;margin:.5rem 0}.rating-picker legend{font-size:.875rem;font-family:var(--font-body);font-weight:600;margin-bottom:.5rem}.rating-picker>div{display:flex;flex-direction:row-reverse;justify-content:flex-end;gap:.2rem}.rating-picker input{position:absolute;width:1px;height:1px;min-height:0;padding:0;opacity:0;pointer-events:none}.rating-picker label{display:block;color:var(--color-rule);font-size:2.4rem;line-height:1;cursor:pointer}.rating-picker label:hover,.rating-picker label:hover~label,.rating-picker input:checked~label{color:var(--color-stars)}.rating-picker input:focus-visible+label{outline:3px solid var(--color-focus);outline-offset:3px}
.consent-check{grid-template-columns:auto 1fr!important;align-items:start;gap:.75rem!important;padding:1rem;background:var(--color-soft);border-radius:var(--radius-sm);font-weight:400!important}.consent-check input{width:20px;height:20px;min-height:0;margin-top:.1rem}.honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.success-panel{display:flex;gap:1.25rem;max-width:760px;padding:clamp(1.5rem,4vw,3rem);border:1px solid var(--color-accent);border-radius:var(--radius-lg);background:var(--color-soft)}.success-panel>span{display:grid;place-items:center;flex:0 0 3rem;height:3rem;border-radius:50%;background:var(--color-accent);color:var(--color-accent-ink);font-size:1.5rem}.success-panel h2{font-size:2rem}.success-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:1.5rem}.page-intro-with-action{display:flex;align-items:end;justify-content:space-between;gap:2rem}.intro-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:1rem}
@media(min-width:42rem){.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.submission-intro{grid-template-columns:minmax(0,1.4fr) minmax(260px,.7fr)}}
@media(max-width:39.99rem){.page-intro-with-action{align-items:start;flex-direction:column}.nav-links a[href="/sobre-las-resenas/"]{display:none}.submission-intro{padding-top:2rem}.success-panel{flex-direction:column}}
