:root{--color-primary: #2563eb;--color-bg: #f8fafc;--color-text: #0f172a;--color-border: #e2e8f0;--color-error: #dc2626}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--color-bg);color:var(--color-text)}.app-shell{display:flex;flex-direction:column;min-height:100vh}.app-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;background:#fff;border-bottom:1px solid var(--color-border)}.brand{font-weight:700;font-size:1.2rem;color:var(--color-primary);text-decoration:none}.app-header nav{display:flex;gap:1.5rem;align-items:center}.app-header nav a,.link-button{text-decoration:none;color:var(--color-text);background:none;border:none;font-size:1rem;cursor:pointer}.app-main{flex:1;padding:2rem;max-width:900px;margin:0 auto;width:100%}.app-footer{padding:1rem 2rem;text-align:center;border-top:1px solid var(--color-border);background:#fff}.app-footer a{color:#64748b;font-size:.9rem}.page-narrow{max-width:420px;margin:0 auto}.form{display:flex;flex-direction:column;gap:1rem}.form label{display:flex;flex-direction:column;gap:.3rem;font-size:.9rem}.form input,.form select{padding:.6rem;border:1px solid var(--color-border);border-radius:6px;font-size:1rem}button{padding:.7rem 1.2rem;background:var(--color-primary);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:1rem}.secondary-button{background:#fff;color:var(--color-primary);border:1px solid var(--color-primary)}.button-link{display:inline-block;margin-bottom:1.5rem;padding:.6rem 1rem;background:var(--color-primary);color:#fff;text-decoration:none;border-radius:6px}.form-error{color:var(--color-error);font-size:.9rem}.form-success{color:#16a34a;font-size:.9rem}.test-list{list-style:none;padding:0}.test-list li{padding:.8rem 0;border-bottom:1px solid var(--color-border)}.step-table,.results-table{width:100%;border-collapse:collapse;margin-bottom:1rem}.step-table th,.step-table td,.results-table th,.results-table td{border:1px solid var(--color-border);padding:.5rem;text-align:left;font-size:.9rem}.step-table input{width:90px;padding:.3rem}.hint{background:#fef9c3;padding:.8rem;border-radius:6px;font-size:.9rem}.consent-box{background:#fff;border:1px solid var(--color-border);border-radius:8px;padding:1.2rem;margin:1rem 0}.checkbox-label{flex-direction:row!important;align-items:flex-start;gap:.6rem!important}.checkbox-label input[type=checkbox]{margin-top:.2rem;width:auto}.pending-link-item{border-top:1px solid var(--color-border);padding-top:.8rem;margin-top:.8rem}.pending-link-item:first-of-type{border-top:none;padding-top:0;margin-top:0}
