:root{--color-primary:#852066;--color-primary-dark:#54003f;--color-primary-tint:#9c6481;--color-primary-pale:#efdfea;--color-navy:#282f44;--color-text:#212121;--color-muted:#757575;--color-border:#e0e0e0;--color-bg:#f8f8f8;--color-surface:#fff;--color-blush:#f2c9bf;--color-green:#e0efbf;--color-yellow:#fde9bf;--color-sky:#d9f1fc;--color-pink:#d550ac;--font-heading:"Poppins", "Segoe UI", system-ui, sans-serif;--font-body:"Libre Franklin", "Segoe UI", system-ui, sans-serif;--radius:.25rem;--shadow:0 1px 3px #282f4414, 0 4px 14px #282f440f}*{box-sizing:border-box}html,body,#root{min-height:100vh;margin:0;padding:0}body{font-family:var(--font-body);color:var(--color-text);background:var(--color-bg);font-size:16px;line-height:1.55}h1,h2,h3{font-family:var(--font-heading);color:var(--color-navy);margin:0 0 .5rem;font-weight:700;line-height:1.2}h1{font-size:2rem}h2{font-size:1.35rem}a{color:var(--color-primary)}.site-header{background:var(--color-surface);border-bottom:1px solid var(--color-border);z-index:10;justify-content:space-between;align-items:center;height:64px;padding:0 1.5rem;display:flex;position:sticky;top:0}.wordmark{font-family:var(--font-heading);color:var(--color-navy);align-items:center;gap:.6rem;font-size:1.2rem;font-weight:700;text-decoration:none;display:flex}.wordmark .dot{background:var(--color-primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;font-size:1rem;display:inline-flex}.wordmark .product{color:var(--color-primary)}.site-nav{align-items:center;gap:1.25rem;display:flex}.site-nav a{color:var(--color-navy);font-weight:500;text-decoration:none}.site-nav a:hover{color:var(--color-primary)}.site-nav .nav-user{color:var(--color-muted);font-size:.9rem}.nav-logout{cursor:pointer;color:var(--color-primary);font-weight:500;text-decoration:underline}main.page{max-width:960px;margin:0 auto;padding:2.5rem 1.5rem 4rem}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;display:flex}.page-head .sub{color:var(--color-muted);margin:.25rem 0 0}button,.btn{font-family:var(--font-body);border-radius:var(--radius);border:1px solid var(--color-primary);background-color:var(--color-primary);color:#fff;cursor:pointer;align-items:center;gap:.4rem;padding:.55rem 1.1rem;font-size:.95rem;font-weight:600;text-decoration:none;transition:background-color .12s,border-color .12s;display:inline-flex}button:hover,.btn:hover{background-color:var(--color-primary-dark);border-color:var(--color-primary-dark)}button:disabled,.btn[aria-disabled=true]{background-color:var(--color-primary-tint);border-color:var(--color-primary-tint);cursor:not-allowed}.btn-secondary{background-color:var(--color-surface);color:var(--color-primary);border:1px solid var(--color-primary)}.btn-secondary:hover{background-color:var(--color-primary-pale);border-color:var(--color-primary)}.btn-danger{background-color:var(--color-surface);color:#a33;border-color:#c99}.btn-danger:hover{background-color:#fbeeee;border-color:#a33}.card{background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow);border-radius:.5rem;padding:1.5rem}table.data{border-collapse:collapse;background:var(--color-surface);border:1px solid var(--color-border);width:100%;box-shadow:var(--shadow);border-radius:.5rem;overflow:hidden}table.data th{font-family:var(--font-heading);text-transform:uppercase;letter-spacing:.05em;color:var(--color-muted);text-align:left;border-bottom:1px solid var(--color-border);background:#fcfcfc;padding:.75rem 1rem;font-size:.8rem;font-weight:600}table.data td{border-bottom:1px solid var(--color-border);vertical-align:middle;padding:.8rem 1rem}table.data tr:last-child td{border-bottom:none}tr.row-link{cursor:pointer}tr.row-link:hover td{background:var(--color-primary-pale)}.chip{color:var(--color-navy);border-radius:999px;padding:.15rem .7rem;font-size:.8rem;font-weight:600;display:inline-block}.chip-open,.chip-submitted{background:var(--color-green)}.chip-invited{background:var(--color-yellow)}.chip-closed{background:var(--color-border);color:var(--color-muted)}.field{margin-bottom:1.1rem}.field label{color:var(--color-navy);margin-bottom:.35rem;font-weight:600;display:block}.field .hint{color:var(--color-muted);font-size:.85rem;font-weight:400}input[type=text],input[type=email],input[type=date],textarea{width:100%;font-family:var(--font-body);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text);padding:.55rem .7rem;font-size:1rem}input:focus,textarea:focus{outline:2px solid var(--color-primary);outline-offset:1px;border-color:var(--color-primary)}textarea{resize:vertical;min-height:6rem}.error-text{color:#a33;border-radius:var(--radius);background:#fbeeee;border:1px solid #ecc;margin:.75rem 0;padding:.6rem .9rem}.login-wrap{justify-content:center;align-items:center;min-height:calc(100vh - 64px);padding:2rem 1rem;display:flex}.login-card{text-align:center;width:100%;max-width:400px}.login-card .logo{background:var(--color-primary);color:#fff;width:64px;height:64px;font-family:var(--font-heading);border-radius:50%;justify-content:center;align-items:center;margin-bottom:1rem;font-size:1.8rem;font-weight:700;display:inline-flex}.login-card h1{margin-bottom:.25rem}.login-card .tagline{color:var(--color-muted);margin:0 0 1.5rem}.login-card form{text-align:left}.login-card button{justify-content:center;width:100%;margin-top:.5rem}.banner-warn{background:var(--color-yellow);border-radius:var(--radius);color:var(--color-navy);border:1px solid #e8cf8a;margin-bottom:1.25rem;padding:.7rem 1rem}.toggle-group{border:1px solid var(--color-primary);border-radius:var(--radius);display:inline-flex;overflow:hidden}.toggle-group button{background:var(--color-surface);color:var(--color-primary);border:none;border-radius:0}.toggle-group button.active{background:var(--color-primary);color:#fff}.answer-card{background:var(--color-surface);border:1px solid var(--color-border);border-left:4px solid var(--color-primary-tint);border-radius:var(--radius);white-space:pre-wrap;margin-bottom:.75rem;padding:.9rem 1.1rem}.question-block{margin-bottom:2.25rem}.flag-list{margin:.5rem 0 0;padding-left:1.25rem}.flag-list li{margin-bottom:.4rem}.flag-reason{background:var(--color-blush);color:var(--color-navy);border-radius:999px;margin-left:.4rem;padding:.05rem .6rem;font-size:.75rem;font-weight:600;display:inline-block}.q-label{color:var(--color-navy);margin-bottom:.4rem;font-weight:600;display:block}.q-number{color:var(--color-pink);font-family:var(--font-heading);margin-bottom:.15rem;font-size:.85rem;font-weight:600;display:inline-block}.intro-note{background:var(--color-sky);border-radius:var(--radius);color:var(--color-navy);margin-bottom:1.5rem;padding:.7rem 1rem}.empty-state{text-align:center;color:var(--color-muted);padding:3rem 1rem}.center-note{text-align:center;padding:3rem 1rem}.actions-row{flex-wrap:wrap;gap:.6rem;margin:1.25rem 0;display:flex}.meta-grid{color:var(--color-muted);flex-wrap:wrap;gap:2rem;margin-bottom:1.25rem;display:flex}.meta-grid strong{color:var(--color-navy);font-family:var(--font-heading);text-transform:uppercase;letter-spacing:.05em;font-size:.8rem;display:block}.subtext{color:var(--color-muted);font-size:.85rem;display:block}.typeahead{position:relative}.typeahead-menu{z-index:10;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow);max-height:16rem;margin:.2rem 0 0;padding:.25rem;list-style:none;position:absolute;left:0;right:0;overflow-y:auto}.typeahead-item{width:100%;font:inherit;text-align:left;border-radius:var(--radius);cursor:pointer;background:0 0;border:0;justify-content:space-between;gap:.75rem;padding:.45rem .6rem;display:flex}.typeahead-item:hover,.typeahead-item.active{background:var(--color-primary-pale)}.picked-email{margin:.3rem 0 0}.typeahead-name{color:var(--color-navy);font-weight:600}.typeahead-email{color:var(--color-muted);font-size:.85rem}.reviewer-chips{flex-wrap:wrap;gap:.4rem;margin-bottom:.45rem;display:flex}.chip-reviewer{background:var(--color-primary-pale);align-items:center;gap:.3rem;display:inline-flex}.chip-remove{color:var(--color-primary-dark);cursor:pointer;background:0 0;border:0;padding:0 .1rem;font-size:1rem;line-height:1}
