.theme-toggle{border:1px solid var(--color-border);background:var(--color-surface);width:36px;height:36px;color:var(--color-heading);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.theme-toggle:hover{background:var(--color-surface-muted)}.page-shell{background:var(--color-bg);min-height:100vh;color:var(--color-text);flex-direction:column;display:flex}.page-shell-header{border-bottom:1px solid var(--color-border);background:var(--color-bg);justify-content:space-between;align-items:center;padding:1rem 1.5rem;display:flex}.page-shell-brand{color:var(--color-heading);font-family:var(--font-heading);align-items:center;gap:.6rem;font-size:1.2rem;font-weight:700;text-decoration:none;display:inline-flex}.page-shell-brand img{object-fit:cover;border-radius:50%;width:40px;height:40px}.page-shell-main{flex:1;width:100%;max-width:1000px;margin:0 auto;padding:2rem 1.5rem 3rem}.page-shell-main.is-narrow{max-width:480px}.page-shell-footer{text-align:center;color:var(--color-orbit-blue);padding:1rem 1.5rem;font-size:.75rem}.page-shell-footer p{margin:.2rem 0}.page-shell-footer a{color:inherit}.admin-nav{border-bottom:1px solid var(--color-border);flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem;padding-bottom:.75rem;display:flex}.admin-nav-item{border-radius:var(--radius-sm);color:var(--color-text);border:1px solid #0000;align-items:center;gap:.5rem;padding:.5rem .85rem;font-size:.85rem;font-weight:600;text-decoration:none;display:flex}.admin-nav-item:hover{background:var(--color-surface)}.admin-nav-item.is-active{background:var(--color-surface);border-color:var(--color-primary);color:var(--color-primary)}.admin-nav-icon{width:1.1rem;height:1.1rem;display:inline-flex}.admin-nav-icon svg{width:100%;height:100%}.freq-bar-chart{flex-direction:column;gap:.5rem;width:100%;max-width:420px;display:flex}.freq-bar-row{grid-template-columns:minmax(0,1fr) 2fr auto;align-items:center;gap:.6rem;font-size:.85rem;display:grid}.freq-bar-label{text-overflow:ellipsis;white-space:nowrap;color:var(--color-text);overflow:hidden}.freq-bar-track{background:var(--color-surface-muted);border-radius:999px;height:10px;overflow:hidden}.freq-bar-fill{border-radius:999px;height:100%}.freq-bar-count{color:var(--color-heading);text-align:right;min-width:1.5em;font-weight:700}.nom035-card{background:var(--color-surface);color:var(--color-text);border-radius:var(--radius-md);width:min(560px,90vw);padding:1.5rem}.nom035-card-title{color:var(--color-heading);margin:0 0 .25rem}.nom035-card-subtitle{color:var(--color-orbit-blue);margin:0 0 1.25rem;font-size:.9rem}.nom035-card-badge{border-radius:var(--radius-sm);margin-bottom:1rem;padding:.75rem 1rem;font-weight:700}.nom035-card-badge.is-clear{color:#1f7a4d;background:#1f7a4d26}.nom035-card-badge.is-exposed{color:#c0392b;background:#c0392b26}.nom035-card-detail{margin:0 0 1rem;font-size:.9rem;line-height:1.5}.nom035-card-footer{color:var(--color-orbit-blue);margin:0;font-size:.85rem}.symbol-color-picker{flex-direction:column;gap:1.5rem;display:flex}.scp-step h3{margin-bottom:.5rem;font-size:1rem}.scp-symbol-grid{grid-template-columns:repeat(8,1fr);gap:.4rem;display:grid}.scp-symbol{aspect-ratio:1;border-radius:var(--radius-sm);border:2px solid var(--color-border);background:var(--color-pure-white);color:var(--color-midnight-fox);cursor:pointer;justify-content:center;align-items:center;display:flex}.scp-symbol:disabled{opacity:.25;cursor:not-allowed}.scp-symbol.is-selected{border-color:var(--color-primary);background:var(--color-starlight-blue)}.scp-color-grid{grid-template-columns:repeat(8,1fr);gap:.4rem;display:grid}.scp-color{aspect-ratio:1;cursor:pointer;border:3px solid #0000;border-radius:50%}.scp-color:disabled{opacity:.2;cursor:not-allowed}.scp-color.is-selected{border-color:var(--color-graphite)}.scp-preview{align-items:center;gap:1rem;margin-top:.5rem;display:flex}.scp-preview-symbol{border:2px solid var(--color-border);border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;font-size:1.6rem;display:flex}.scp-confirm{border-radius:var(--radius-sm);background:var(--color-primary);color:var(--color-text-inverted);cursor:pointer;border:none;padding:.75rem 1.5rem;font-weight:600}.scp-confirm:disabled{background:var(--color-orbit-blue);opacity:.5;cursor:not-allowed}.afinigrama-card{background:var(--color-pure-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);flex-direction:column;align-items:center;padding:1rem;display:flex}.afinigrama-card-name{color:var(--color-heading);text-align:center;margin:.5rem 0 0;font-weight:700}.afinigrama-legend{color:var(--color-text);flex-wrap:wrap;justify-content:center;gap:.75rem 1.25rem;margin:0;padding:0;font-size:.85rem;list-style:none;display:flex}.afinigrama-legend li{align-items:center;gap:.4rem;display:inline-flex}.afinigrama-legend-swatch{border-radius:50%;flex-shrink:0;width:12px;height:12px}.affinity-freq-table{border-collapse:collapse;width:100%;max-width:360px;font-size:.9rem}.affinity-freq-table th,.affinity-freq-table td{text-align:left;border-bottom:1px solid var(--color-border);padding:.5rem .6rem}.affinity-freq-table th:not(:first-child),.affinity-freq-table td:not(:first-child){text-align:right}.affinity-freq-table thead th{color:var(--color-heading);text-transform:uppercase;letter-spacing:.03em;font-size:.75rem}.affinity-freq-table tfoot td{border-bottom:none;border-top:2px solid var(--color-border);font-weight:700}.affinity-freq-swatch{border-radius:50%;width:10px;height:10px;margin-right:.4rem;display:inline-block}.generic-freq-table{border-collapse:collapse;width:100%;max-width:420px;font-size:.9rem}.generic-freq-table th,.generic-freq-table td{text-align:left;border-bottom:1px solid var(--color-border);padding:.45rem .6rem}.generic-freq-table th:last-child,.generic-freq-table td:last-child{text-align:right}.generic-freq-table thead th{color:var(--color-heading);text-transform:uppercase;letter-spacing:.03em;font-size:.75rem}.sortable-trait-list{flex-direction:column;gap:.6rem;display:flex}.sortable-trait-hints{color:var(--color-orbit-blue);justify-content:space-between;font-size:.75rem;font-weight:600;display:flex}.sortable-trait-items{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.sortable-trait-row{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-pure-white);align-items:center;gap:.75rem;padding:.6rem .8rem;display:flex}.sortable-trait-row.is-dragging{box-shadow:var(--shadow-card);z-index:5}.sortable-trait-rank{background:var(--color-starlight-blue);width:24px;height:24px;color:var(--color-midnight-fox);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.8rem;font-weight:700;display:inline-flex}.sortable-trait-label{text-align:left;color:var(--color-text);flex:1}.sortable-trait-handle{cursor:grab;color:var(--color-orbit-blue);touch-action:none;background:0 0;border:none;padding:.25rem .4rem;font-size:1.1rem}.sortable-trait-handle:active{cursor:grabbing}.trait-autocomplete{position:relative}.trait-autocomplete-list{z-index:10;background:var(--color-pure-white);border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-card);max-height:220px;margin:0;padding:.25rem;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto}.trait-autocomplete-list button{text-align:left;border-radius:var(--radius-sm);cursor:pointer;width:100%;color:var(--color-text);background:0 0;border:none;padding:.5rem .6rem;font-size:.9rem;display:block}.trait-autocomplete-list button:hover{background:var(--color-surface-muted)}.thermo{justify-content:center;display:flex}.thermo-tube{border:3px solid var(--color-graphite);border-radius:var(--radius-lg);flex-direction:column;width:min(320px,90vw);display:flex;overflow:hidden}.thermo-segment{background:color-mix(in srgb, var(--segment-color) 18%, white);cursor:pointer;text-align:left;color:var(--color-text);border:none;border-bottom:1px solid #121b2e26;align-items:center;gap:.75rem;padding:.9rem 1rem;font-size:.95rem;display:flex}.thermo-segment:last-child{border-bottom:none}.thermo-bulb{background:var(--segment-color);border-radius:50%;flex-shrink:0;width:18px;height:18px}.thermo-segment.is-selected{background:var(--segment-color);color:var(--color-text-inverted);font-weight:700}.thermo-segment.is-selected .thermo-bulb{background:var(--color-pure-white);box-shadow:0 0 0 3px var(--segment-color)}.yes-no-row{margin-bottom:1.5rem}.yes-no-question{color:var(--color-text);margin-bottom:.6rem;font-size:.95rem}.yes-no-options{gap:.6rem;display:flex}.yes-no-option{border:2px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);cursor:pointer;flex:1 1 0;padding:.55rem .5rem;font-weight:700}.yes-no-option.is-selected.is-yes{color:var(--color-pure-white);background:#c0392b;border-color:#c0392b}.yes-no-option.is-selected.is-no{color:var(--color-pure-white);background:#1f7a4d;border-color:#1f7a4d}.nom035-progress{z-index:1;background:var(--color-bg);align-items:center;gap:.75rem;padding:.5rem 0;display:flex;position:sticky;top:.5rem}.nom035-progress-track{background:var(--color-border);border-radius:999px;flex:1;height:8px;overflow:hidden}.nom035-progress-fill{background:var(--color-primary);border-radius:999px;height:100%;transition:width .2s}.nom035-progress-label{color:var(--color-orbit-blue);white-space:nowrap;font-size:.8rem}.nom035-section-heading{border-bottom:1px solid var(--color-border);color:var(--color-heading);margin:0 0 1rem;padding-top:.5rem;padding-bottom:.5rem;font-size:1rem}.satisfaction-bar{margin-bottom:.9rem}.satisfaction-bar-head{color:var(--color-text);justify-content:space-between;margin-bottom:.3rem;font-size:.85rem;display:flex}.satisfaction-bar-head strong{font-weight:700}.satisfaction-bar-track{background:var(--color-surface-muted);border-radius:999px;height:14px;position:relative;overflow:hidden}.satisfaction-bar-fill{background:var(--color-primary);border-radius:999px;height:100%;transition:width .3s}.satisfaction-bar-target{background:var(--color-golden-star);width:2px;position:absolute;top:-3px;bottom:-3px}.satisfaction-card{background:var(--color-surface);color:var(--color-text);border-radius:var(--radius-md);width:min(560px,90vw);padding:1.5rem}.satisfaction-card-title{color:var(--color-heading);margin:0 0 .25rem}.satisfaction-card-subtitle{color:var(--color-orbit-blue);margin:0 0 1.25rem;font-size:.9rem}.satisfaction-card-summary{border-bottom:1px solid var(--color-border);gap:.75rem;margin-bottom:1.5rem;padding-bottom:1.25rem;display:grid}.satisfaction-card-domains{gap:.4rem;display:grid}.satisfaction-card-domains h4{color:var(--color-heading);margin:0 0 .5rem;font-size:.95rem}.likert-row{margin-bottom:1.5rem}.likert-question{color:var(--color-text);margin-bottom:.6rem;font-size:.95rem}.likert-options{flex-wrap:nowrap;gap:.4rem;padding-bottom:2px;display:flex;overflow-x:auto}.likert-option{border:2px solid color-mix(in srgb, var(--option-color) 55%, var(--color-border));border-radius:var(--radius-sm);background:color-mix(in srgb, var(--option-color) 22%, var(--color-surface));min-width:2.1rem;color:var(--color-text);cursor:pointer;flex-direction:column;flex:1 1 0;align-items:center;gap:.2rem;padding:.5rem .3rem;font-weight:700;display:flex}.likert-option.is-selected{background:var(--option-color);border-color:var(--option-color);color:var(--color-pure-white)}.likert-endpoints{color:var(--color-orbit-blue);justify-content:space-between;margin-top:.35rem;font-size:.75rem;display:flex}:root{--color-midnight-fox:#082653;--color-constellation-blue:#245a9b;--color-orbit-blue:#5f83b6;--color-starlight-blue:#c9daed;--color-nebula-purple:#7656a8;--color-nebula-mist:#d9cdea;--color-golden-star:#dca037;--color-fox-cream:#fcf4e8;--color-graphite:#121b2e;--color-pure-white:#fff;--gradient-cielo-conexiones:linear-gradient(135deg, var(--color-constellation-blue), var(--color-starlight-blue));--gradient-nebulosa-social:linear-gradient(135deg, var(--color-nebula-purple), var(--color-nebula-mist));--gradient-aurora-ideas:linear-gradient(135deg, var(--color-golden-star), var(--color-fox-cream));--color-bg:var(--color-pure-white);--color-surface:var(--color-fox-cream);--color-surface-muted:var(--color-starlight-blue);--color-text:var(--color-graphite);--color-text-inverted:var(--color-pure-white);--color-heading:var(--color-midnight-fox);--color-primary:var(--color-constellation-blue);--color-primary-hover:var(--color-midnight-fox);--color-accent:var(--color-nebula-purple);--color-highlight:var(--color-golden-star);--color-border:var(--color-starlight-blue);--affinity-5:#1f7a4d;--affinity-4:#7cb342;--affinity-3:#ccb400;--affinity-2:#e08300;--affinity-1:#c0392b;--radius-sm:8px;--radius-md:14px;--radius-lg:24px;--shadow-card:0 8px 24px #0826531f;--font-heading:"Georgia", "Times New Roman", serif;--font-body:system-ui, -apple-system, "Segoe UI", sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--color-bg:var(--color-graphite);--color-surface:var(--color-midnight-fox);--color-surface-muted:#1c3a63;--color-text:var(--color-fox-cream);--color-text-inverted:var(--color-graphite);--color-heading:var(--color-golden-star);--color-primary:var(--color-orbit-blue);--color-primary-hover:var(--color-starlight-blue);--color-accent:var(--color-nebula-mist);--color-highlight:var(--color-golden-star);--color-border:#2a4a72;--shadow-card:0 8px 24px #0006;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--color-bg:var(--color-graphite);--color-surface:var(--color-midnight-fox);--color-surface-muted:#1c3a63;--color-text:var(--color-fox-cream);--color-text-inverted:var(--color-graphite);--color-heading:var(--color-golden-star);--color-primary:var(--color-orbit-blue);--color-primary-hover:var(--color-starlight-blue);--color-accent:var(--color-nebula-mist);--color-highlight:var(--color-golden-star);--color-border:#2a4a72;--shadow-card:0 8px 24px #0006;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.card{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:1.5rem}.field{flex-direction:column;gap:.35rem;margin-bottom:1rem;display:flex}.field label{color:var(--color-heading);font-size:.85rem;font-weight:600}.input{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-pure-white);color:var(--color-text);padding:.65rem .85rem}.input:focus{outline:2px solid var(--color-primary);outline-offset:1px}.btn{border-radius:var(--radius-sm);cursor:pointer;border:none;justify-content:center;align-items:center;gap:.5rem;padding:.7rem 1.4rem;font-weight:600;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:var(--color-text-inverted)}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn-secondary{background:var(--color-surface);color:var(--color-heading);border:1px solid var(--color-border)}.btn-accent{background:var(--gradient-aurora-ideas);color:var(--color-midnight-fox)}.btn-link{color:var(--color-primary);cursor:pointer;background:0 0;border:none;padding:0;font-weight:600;text-decoration:underline}.error-text{color:#c0392b;font-size:.9rem}.helper-text{color:var(--color-orbit-blue);font-size:.9rem}.status-badge{text-transform:uppercase;letter-spacing:.03em;border-radius:999px;padding:.25rem .7rem;font-size:.75rem;font-weight:700;display:inline-block}.status-badge.open{background:var(--color-starlight-blue);color:var(--color-midnight-fox)}.status-badge.voting{background:var(--color-golden-star);color:var(--color-midnight-fox)}.status-badge.finished,.status-badge.closed{background:var(--color-nebula-mist);color:var(--color-nebula-purple)}.entity-list{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.entity-list-item{border:1px solid var(--color-border);border-radius:var(--radius-md);color:inherit;justify-content:space-between;align-items:center;padding:1rem;text-decoration:none;display:flex}.entity-list-item:hover{background:var(--color-surface)}.spinner-text{color:var(--color-orbit-blue)}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);line-height:1.5}#root{min-height:100vh}h1,h2,h3{font-family:var(--font-heading);color:var(--color-heading);margin:0 0 .5em}a{color:var(--color-primary)}button{font-family:inherit}input,select{font-family:inherit;font-size:1rem}
